diff --git a/Agda.cabal b/Agda.cabal
--- a/Agda.cabal
+++ b/Agda.cabal
@@ -1,5 +1,5 @@
 name:            Agda
-version:         2.2.8
+version:         2.2.10
 cabal-version:   >= 1.8 && < 2
 build-type:      Simple
 license:         OtherLicense
@@ -34,13 +34,16 @@
   Note also that this library does not follow the package versioning
   policy, because the library is only intended to be used by the Emacs
   mode and the Agda-executable package.
-tested-with:        GHC == 6.12.1, GHC == 6.12.3
+tested-with:        GHC == 6.12.1, GHC == 6.12.3, GHC == 7.0.1
 extra-source-files: src/full/Agda/undefined.h
                     README
                     doc/release-notes/*.txt
 data-dir:           src/data
 data-files:         Agda.css
                     emacs-mode/*.el
+                    EpicInclude/AgdaPrelude.e
+                    EpicInclude/stdagda.c
+                    EpicInclude/stdagda.h
 
 source-repository head
   type:     darcs
@@ -49,7 +52,7 @@
 source-repository this
   type:     darcs
   location: http://code.haskell.org/Agda/
-  tag:      2.2.8
+  tag:      2.2.10
 
 flag use-locale
   description:
@@ -57,16 +60,24 @@
     of the IO going to/from stdin and stdout. (Note that source files
     must always be encoded using UTF8.)
 
+flag epic
+  default: False
+  manual:  True
+  description:
+    Install the Epic compiler.
+
 library
   hs-source-dirs:   src/full
   if flag(use-locale)
-    build-depends:  base == 4.2.*
+    build-depends:  base >= 4.2 && < 4.4
   else
     build-depends:  base == 4.1.*,
                     utf8-string == 0.3.*
-  build-depends:    mtl >= 1.1 && < 2,
-                    QuickCheck >= 2.1.0.2 && < 2.2,
-                    haskell-src >= 1.0.1.1 && < 2,
+  if flag(epic)
+    build-depends:  epic >= 0.1.7 && < 0.2
+  build-depends:    mtl == 2.0.*,
+                    QuickCheck >= 2.3 && < 2.5,
+                    haskell-src-exts >= 1.9.6 && < 1.10,
                     containers >= 0.1.0 && < 1,
                     pretty >= 1 && < 2,
                     directory >= 1.0 && < 1.2,
@@ -77,17 +88,28 @@
                     zlib >= 0.4.0.1 && < 1,
                     filepath >= 1.1 && < 2,
                     process >= 1.0.1.0 && < 2,
-                    haskeline >= 0.3 && < 0.7,
+                    haskeline >= 0.6.3.2 && < 0.7,
                     xhtml == 3000.2.*,
-                    syb == 0.1.*,
-                    Cabal >= 1.8.0.2 && < 1.9
+                    syb >= 0.1 && < 0.3
   build-tools:      happy >= 1.15 && < 2,
                     alex >= 2.0.1 && < 3
   extensions:       CPP
   exposed-modules:  Agda.Main
+                    Agda.ImpossibleTest
                     Agda.Interaction.BasicOps
                     Agda.Interaction.GhciTop
                     Agda.Compiler.HaskellTypes
+                    Agda.Compiler.Epic.AuxAST
+                    Agda.Compiler.Epic.Compiler
+                    Agda.Compiler.Epic.CompileState
+                    Agda.Compiler.Epic.ConstructorIrrelevancy
+                    Agda.Compiler.Epic.Erasure
+                    Agda.Compiler.Epic.Epic
+                    Agda.Compiler.Epic.Forcing
+                    Agda.Compiler.Epic.FromAgda
+                    Agda.Compiler.Epic.LambdaLift
+                    Agda.Compiler.Epic.NatDetection
+                    Agda.Compiler.Epic.Primitive
                     Agda.Compiler.MAlonzo.Compiler
                     Agda.Compiler.MAlonzo.Encode
                     Agda.Compiler.MAlonzo.Misc
@@ -285,7 +307,7 @@
   main-is:          Main.hs
   other-modules:    Paths_Agda
   if flag(use-locale)
-    build-depends:  base == 4.2.*
+    build-depends:  base >= 4.2 && < 4.4
   else
     build-depends:  base == 4.1.*,
                     utf8-string == 0.3.*
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2005-2010 Ulf Norell, Nils Anders Danielsson, Catarina
+Copyright (c) 2005-2011 Ulf Norell, Nils Anders Danielsson, Catarina
 Coquand, Makoto Takeyama, Andreas Abel, Karl Mehltretter, Marcin
 Benke, Darin Morrison.
 
diff --git a/README b/README
--- a/README
+++ b/README
@@ -7,6 +7,7 @@
 * Installing Agda
 * Configuring the Emacs mode
 * Prerequisites
+* Installing the Epic backend's dependencies
 * Installing a suitable version of Emacs under Windows
 
 ------------------------------------------------------------------------
@@ -131,6 +132,55 @@
   apt-get install zlib1g-dev libncurses5-dev
 
 as root to get the correct files installed.
+
+------------------------------------------------------------------------
+Installing the Epic backend's dependencies
+------------------------------------------------------------------------
+
+The Epic backend is experimental and requires that the Epic program is
+installed. You can install this program by giving the epic flag to
+cabal:
+
+* When installing from Hackage:
+
+    cabal update
+    cabal install Agda -fepic
+    cabal install Agda-executable
+    agda-mode setup
+
+* When installing using a source tar ball, following the instructions
+  in 2a) above:
+
+    cabal update
+    cabal install -fepic
+    agda-mode setup
+    cd src/main
+    cabal install
+
+* When installing using a source tar ball, following the instructions
+  in 2b) above:
+
+    make CABAL_OPTIONS="--global -fepic" install
+
+  (The Makefile specifies CABAL_OPTIONS=--global by default; feel free
+  to omit --global.)
+
+You can also install Epic directly:
+
+  cabal install epic
+
+Note that Epic depends on other software:
+
+  The Boehm garbage collector:
+    http://www.hpl.hp.com/personal/Hans_Boehm/gc/
+  The GNU Multiple Precision Arithmetic Library:
+    http://gmplib.org/
+  GCC, the GNU Compiler Collection:
+    http://gcc.gnu.org/
+
+For more information about Epic:
+
+  http://www.cs.st-andrews.ac.uk/~eb/epic.php
 
 ------------------------------------------------------------------------
 Installing a suitable version of Emacs under Windows
diff --git a/dist/build/Agda/Syntax/Parser/Lexer.hs b/dist/build/Agda/Syntax/Parser/Lexer.hs
--- a/dist/build/Agda/Syntax/Parser/Lexer.hs
+++ b/dist/build/Agda/Syntax/Parser/Lexer.hs
@@ -1,6 +1,7 @@
 {-# OPTIONS -fglasgow-exts -cpp #-}
 {-# LINE 1 "src/full/Agda/Syntax/Parser/Lexer.x" #-}
 
+{-# OPTIONS_GHC -fno-warn-deprecated-flags #-}
 {-| The lexer is generated by Alex (<http://www.haskell.org/alex>) and is an
     adaptation of GHC's lexer. The main lexing function 'lexer' is called by
     the "Agda.Syntax.Parser.Parser" to get the next token from the input.
@@ -48,19 +49,19 @@
 import GlaExts
 #endif
 alex_base :: AlexAddr
-alex_base = AlexA# "\xf7\xff\xff\xff\x6c\x00\x00\x00\xc8\x00\x00\x00\x3c\x01\x00\x00\x40\x01\x00\x00\x44\x01\x00\x00\x4b\x01\x00\x00\x70\x00\x00\x00\x73\x00\x00\x00\x76\x00\x00\x00\x7a\x00\x00\x00\x7d\x00\x00\x00\x94\x00\x00\x00\xa3\xff\xff\xff\x81\x00\x00\x00\x82\x00\x00\x00\x68\x01\x00\x00\xa1\xff\xff\xff\x48\x01\x00\x00\xa0\xff\xff\xff\x49\x01\x00\x00\x9f\xff\xff\xff\x4f\x01\x00\x00\x9b\xff\xff\xff\x50\x01\x00\x00\x8f\xff\xff\xff\x51\x01\x00\x00\xa8\xff\xff\xff\x53\x01\x00\x00\x9d\xff\xff\xff\x54\x01\x00\x00\xa9\xff\xff\xff\x55\x01\x00\x00\xaa\xff\xff\xff\x57\x01\x00\x00\x91\xff\xff\xff\x58\x01\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\xff\xff\xff\xa6\xff\xff\xff\xb1\xff\xff\xff\x16\x00\x00\x00\xb3\xff\xff\xff\x23\x00\x00\x00\x30\x00\x00\x00\x32\x00\x00\x00\x18\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x75\x00\x00\x00\xa0\x00\x00\x00\xb0\x00\x00\x00\xa6\x00\x00\x00\xb8\x00\x00\x00\x6f\x01\x00\x00\x75\x01\x00\x00\x9a\x01\x00\x00\xbe\x01\x00\x00\xc4\x01\x00\x00\xcd\x01\x00\x00\xd6\x01\x00\x00\xdc\x01\x00\x00\xf4\x01\x00\x00\xf9\x01\x00\x00\xfe\x01\x00\x00\x06\x02\x00\x00\x16\x02\x00\x00\x22\x02\x00\x00\x28\x02\x00\x00\x2e\x02\x00\x00\x34\x02\x00\x00\x40\x02\x00\x00\x4c\x02\x00\x00\x52\x02\x00\x00\x5a\x02\x00\x00\x74\x02\x00\x00\x7a\x02\x00\x00\x7f\x02\x00\x00\x9b\x02\x00\x00\xa1\x02\x00\x00\xa6\x02\x00\x00\xab\x02\x00\x00\xc3\x02\x00\x00\xc8\x02\x00\x00\xcd\x02\x00\x00\xd2\x02\x00\x00\xfc\x02\x00\x00\x01\x03\x00\x00\x07\x03\x00\x00\x0c\x03\x00\x00\x24\x03\x00\x00\x29\x03\x00\x00\x2e\x03\x00\x00\x33\x03\x00\x00\x4c\x03\x00\x00\x54\x03\x00\x00\x59\x03\x00\x00\x5e\x03\x00\x00\x64\x03\x00\x00\x7c\x03\x00\x00\x81\x03\x00\x00\x86\x03\x00\x00\x8b\x03\x00\x00\xa3\x03\x00\x00\xa8\x03\x00\x00\xad\x03\x00\x00\xb2\x03\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x9c\x00\x00\x00\xd4\x03\x00\x00\x9d\x00\x00\x00\x45\x04\x00\x00\xb6\x04\x00\x00\x27\x05\x00\x00\x98\x05\x00\x00\x09\x06\x00\x00\x65\x06\x00\x00\x88\x00\x00\x00\xc1\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x07\x00\x00\x79\x07\x00\x00\xd5\x07\x00\x00\x31\x08\x00\x00\x8d\x08\x00\x00\xe9\x08\x00\x00\x45\x09\x00\x00\xa1\x09\x00\x00\xfd\x09\x00\x00\x59\x0a\x00\x00\xb5\x0a\x00\x00\x11\x0b\x00\x00\x6d\x0b\x00\x00\xc9\x0b\x00\x00\x25\x0c\x00\x00\x81\x0c\x00\x00\xdd\x0c\x00\x00\x39\x0d\x00\x00\x95\x0d\x00\x00\xf1\x0d\x00\x00\x4d\x0e\x00\x00\xa9\x0e\x00\x00\x05\x0f\x00\x00\x61\x0f\x00\x00\xbd\x0f\x00\x00\x19\x10\x00\x00\x75\x10\x00\x00\xd1\x10\x00\x00\x2d\x11\x00\x00\x89\x11\x00\x00\xe5\x11\x00\x00\x41\x12\x00\x00\x9d\x12\x00\x00\xf9\x12\x00\x00\x55\x13\x00\x00\xb1\x13\x00\x00\x0d\x14\x00\x00\x69\x14\x00\x00\xc5\x14\x00\x00\x21\x15\x00\x00\x7d\x15\x00\x00\xd9\x15\x00\x00\x35\x16\x00\x00\x91\x16\x00\x00\xed\x16\x00\x00\x49\x17\x00\x00\xa5\x17\x00\x00\x01\x18\x00\x00\x5d\x18\x00\x00\xb9\x18\x00\x00\x15\x19\x00\x00\x71\x19\x00\x00\xcd\x19\x00\x00\x29\x1a\x00\x00\x85\x1a\x00\x00\xe1\x1a\x00\x00\x3d\x1b\x00\x00\x99\x1b\x00\x00\xf5\x1b\x00\x00\x51\x1c\x00\x00\xad\x1c\x00\x00\x09\x1d\x00\x00\x65\x1d\x00\x00\xc1\x1d\x00\x00\x1d\x1e\x00\x00\x79\x1e\x00\x00\xd5\x1e\x00\x00\x31\x1f\x00\x00\x8d\x1f\x00\x00\xe9\x1f\x00\x00\x45\x20\x00\x00\xa1\x20\x00\x00\xfd\x20\x00\x00\x59\x21\x00\x00\xb5\x21\x00\x00\x11\x22\x00\x00\x6d\x22\x00\x00\xc9\x22\x00\x00\x25\x23\x00\x00\x81\x23\x00\x00\xdd\x23\x00\x00\x39\x24\x00\x00\x95\x24\x00\x00\xf1\x24\x00\x00\x4d\x25\x00\x00\xa9\x25\x00\x00\x05\x26\x00\x00\x61\x26\x00\x00\xbd\x26\x00\x00\x19\x27\x00\x00\x75\x27\x00\x00\xd1\x27\x00\x00\x2d\x28\x00\x00\x89\x28\x00\x00\xe5\x28\x00\x00\x41\x29\x00\x00\x9d\x29\x00\x00\xf9\x29\x00\x00\x55\x2a\x00\x00\xb1\x2a\x00\x00\x0d\x2b\x00\x00\x69\x2b\x00\x00\xc5\x2b\x00\x00\x21\x2c\x00\x00\x7d\x2c\x00\x00\xd9\x2c\x00\x00\x35\x2d\x00\x00\x91\x2d\x00\x00\xed\x2d\x00\x00\x49\x2e\x00\x00\xa5\x2e\x00\x00\x01\x2f\x00\x00\x5d\x2f\x00\x00\xb9\x2f\x00\x00\x15\x30\x00\x00\x71\x30\x00\x00\xcd\x30\x00\x00\x29\x31\x00\x00\x85\x31\x00\x00\xe1\x31\x00\x00\x3d\x32\x00\x00\x99\x32\x00\x00\xf5\x32\x00\x00\x51\x33\x00\x00\xad\x33\x00\x00\x09\x34\x00\x00\x65\x34\x00\x00\xc1\x34\x00\x00\x1d\x35\x00\x00\x79\x35\x00\x00\xd5\x35\x00\x00\x31\x36\x00\x00\x8d\x36\x00\x00\xe9\x36\x00\x00\x45\x37\x00\x00\xa1\x37\x00\x00\xfd\x37\x00\x00\x59\x38\x00\x00\xb5\x38\x00\x00\x11\x39\x00\x00\x6d\x39\x00\x00\xc9\x39\x00\x00\x25\x3a\x00\x00\x81\x3a\x00\x00\xdd\x3a\x00\x00\x39\x3b\x00\x00\x95\x3b\x00\x00\xf1\x3b\x00\x00\x4d\x3c\x00\x00\xa9\x3c\x00\x00\x00\x00\x00\x00\x3f\x00\x00\x00\x05\x3d\x00\x00\x61\x3d\x00\x00\xbd\x3d\x00\x00\x19\x3e\x00\x00\x75\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\xd1\x3e\x00\x00\x2d\x3f\x00\x00\x89\x3f\x00\x00\xe5\x3f\x00\x00\x41\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x40\x00\x00\xf9\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x41\x00\x00\xb1\x41\x00\x00\x0d\x42\x00\x00\x69\x42\x00\x00\xc5\x42\x00\x00\x21\x43\x00\x00\x7d\x43\x00\x00\xd9\x43\x00\x00\x35\x44\x00\x00\x91\x44\x00\x00\xed\x44\x00\x00\x49\x45\x00\x00\xa5\x45\x00\x00\x01\x46\x00\x00\x5d\x46\x00\x00\xb9\x46\x00\x00\x15\x47\x00\x00\x71\x47\x00\x00\xcd\x47\x00\x00\x29\x48\x00\x00\x85\x48\x00\x00\xe1\x48\x00\x00\x3d\x49\x00\x00\x99\x49\x00\x00\xf5\x49\x00\x00\x51\x4a\x00\x00\xad\x4a\x00\x00\x09\x4b\x00\x00\x65\x4b\x00\x00\xc1\x4b\x00\x00\x1d\x4c\x00\x00\x79\x4c\x00\x00\xd5\x4c\x00\x00\x31\x4d\x00\x00\x8d\x4d\x00\x00"#
+alex_base = AlexA# "\xf7\xff\xff\xff\x6c\x00\x00\x00\xc8\x00\x00\x00\x3c\x01\x00\x00\x40\x01\x00\x00\x44\x01\x00\x00\x4b\x01\x00\x00\x70\x00\x00\x00\x74\x00\x00\x00\x78\x00\x00\x00\x7c\x00\x00\x00\x7d\x00\x00\x00\x81\x00\x00\x00\x48\x01\x00\x00\x49\x01\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x53\x01\x00\x00\x51\x01\x00\x00\x54\x01\x00\x00\x55\x01\x00\x00\x57\x01\x00\x00\xfb\xff\xff\xff\x00\x00\x00\x00\xfc\xff\xff\xff\xfd\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\xff\xff\xff\x9b\xff\xff\xff\xa6\xff\xff\xff\x90\xff\xff\xff\xa9\xff\xff\xff\x9e\xff\xff\xff\xaa\xff\xff\xff\xab\xff\xff\xff\x92\xff\xff\xff\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\xee\xff\xff\xff\x9a\x00\x00\x00\xa0\x00\x00\x00\xa6\x00\x00\x00\xab\x00\x00\x00\xb8\x00\x00\x00\x69\x01\x00\x00\x6f\x01\x00\x00\x75\x01\x00\x00\x7b\x01\x00\x00\x99\x01\x00\x00\x9e\x01\x00\x00\xcc\x01\x00\x00\xd1\x01\x00\x00\xde\x01\x00\x00\xe9\x01\x00\x00\xee\x01\x00\x00\xf6\x01\x00\x00\xfb\x01\x00\x00\x07\x02\x00\x00\x13\x02\x00\x00\x1f\x02\x00\x00\x24\x02\x00\x00\x3c\x02\x00\x00\x48\x02\x00\x00\x4d\x02\x00\x00\x59\x02\x00\x00\x65\x02\x00\x00\x6b\x02\x00\x00\x71\x02\x00\x00\x77\x02\x00\x00\x83\x02\x00\x00\x90\x02\x00\x00\x95\x02\x00\x00\xad\x02\x00\x00\xb4\x02\x00\x00\xbc\x02\x00\x00\xce\x02\x00\x00\xd4\x02\x00\x00\xdc\x02\x00\x00\xe6\x02\x00\x00\xee\x02\x00\x00\xf4\x02\x00\x00\xfe\x02\x00\x00\x0d\x03\x00\x00\x16\x03\x00\x00\x1b\x03\x00\x00\x33\x03\x00\x00\x38\x03\x00\x00\x43\x03\x00\x00\x55\x03\x00\x00\x5d\x03\x00\x00\x66\x03\x00\x00\x6e\x03\x00\x00\x75\x03\x00\x00\x80\x03\x00\x00\x86\x03\x00\x00\x8e\x03\x00\x00\x98\x03\x00\x00\x9e\x03\x00\x00\xb0\x03\x00\x00\xb6\x03\x00\x00\x00\x00\x00\x00\xe5\xff\xff\xff\x09\x00\x00\x00\xcd\x03\x00\x00\x0a\x00\x00\x00\x3e\x04\x00\x00\xaf\x04\x00\x00\x20\x05\x00\x00\x91\x05\x00\x00\x02\x06\x00\x00\x5e\x06\x00\x00\xe8\xff\xff\xff\xba\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x07\x00\x00\x72\x07\x00\x00\xce\x07\x00\x00\x2a\x08\x00\x00\x86\x08\x00\x00\xe2\x08\x00\x00\x3e\x09\x00\x00\x9a\x09\x00\x00\xf6\x09\x00\x00\x52\x0a\x00\x00\xae\x0a\x00\x00\x0a\x0b\x00\x00\x66\x0b\x00\x00\xc2\x0b\x00\x00\x1e\x0c\x00\x00\x7a\x0c\x00\x00\xd6\x0c\x00\x00\x32\x0d\x00\x00\x8e\x0d\x00\x00\xea\x0d\x00\x00\x46\x0e\x00\x00\xa2\x0e\x00\x00\xfe\x0e\x00\x00\x5a\x0f\x00\x00\xb6\x0f\x00\x00\x12\x10\x00\x00\x6e\x10\x00\x00\xca\x10\x00\x00\x26\x11\x00\x00\x82\x11\x00\x00\xde\x11\x00\x00\x3a\x12\x00\x00\x96\x12\x00\x00\xf2\x12\x00\x00\x4e\x13\x00\x00\xaa\x13\x00\x00\x06\x14\x00\x00\x62\x14\x00\x00\xbe\x14\x00\x00\x1a\x15\x00\x00\x76\x15\x00\x00\xd2\x15\x00\x00\x2e\x16\x00\x00\x8a\x16\x00\x00\xe6\x16\x00\x00\x42\x17\x00\x00\x9e\x17\x00\x00\xfa\x17\x00\x00\x56\x18\x00\x00\xb2\x18\x00\x00\x0e\x19\x00\x00\x6a\x19\x00\x00\xc6\x19\x00\x00\x22\x1a\x00\x00\x7e\x1a\x00\x00\xda\x1a\x00\x00\x36\x1b\x00\x00\x92\x1b\x00\x00\xee\x1b\x00\x00\x4a\x1c\x00\x00\xa6\x1c\x00\x00\x02\x1d\x00\x00\x5e\x1d\x00\x00\xba\x1d\x00\x00\x16\x1e\x00\x00\x72\x1e\x00\x00\xce\x1e\x00\x00\x2a\x1f\x00\x00\x86\x1f\x00\x00\xe2\x1f\x00\x00\x3e\x20\x00\x00\x9a\x20\x00\x00\xf6\x20\x00\x00\x52\x21\x00\x00\xae\x21\x00\x00\x0a\x22\x00\x00\x66\x22\x00\x00\xc2\x22\x00\x00\x1e\x23\x00\x00\x7a\x23\x00\x00\xd6\x23\x00\x00\x32\x24\x00\x00\x8e\x24\x00\x00\xea\x24\x00\x00\x46\x25\x00\x00\xa2\x25\x00\x00\xfe\x25\x00\x00\x5a\x26\x00\x00\xb6\x26\x00\x00\x12\x27\x00\x00\x6e\x27\x00\x00\xca\x27\x00\x00\x26\x28\x00\x00\x82\x28\x00\x00\xde\x28\x00\x00\x3a\x29\x00\x00\x96\x29\x00\x00\xf2\x29\x00\x00\x4e\x2a\x00\x00\xaa\x2a\x00\x00\x06\x2b\x00\x00\x62\x2b\x00\x00\xbe\x2b\x00\x00\x1a\x2c\x00\x00\x76\x2c\x00\x00\xd2\x2c\x00\x00\x2e\x2d\x00\x00\x8a\x2d\x00\x00\xe6\x2d\x00\x00\x42\x2e\x00\x00\x9e\x2e\x00\x00\xfa\x2e\x00\x00\x56\x2f\x00\x00\xb2\x2f\x00\x00\x0e\x30\x00\x00\x6a\x30\x00\x00\xc6\x30\x00\x00\x22\x31\x00\x00\x7e\x31\x00\x00\xda\x31\x00\x00\x36\x32\x00\x00\x92\x32\x00\x00\xee\x32\x00\x00\x4a\x33\x00\x00\xa6\x33\x00\x00\x02\x34\x00\x00\x5e\x34\x00\x00\xba\x34\x00\x00\x16\x35\x00\x00\x72\x35\x00\x00\xce\x35\x00\x00\x2a\x36\x00\x00\x86\x36\x00\x00\xe2\x36\x00\x00\x3e\x37\x00\x00\x9a\x37\x00\x00\xf6\x37\x00\x00\x52\x38\x00\x00\xae\x38\x00\x00\x0a\x39\x00\x00\x66\x39\x00\x00\xc2\x39\x00\x00\x1e\x3a\x00\x00\x7a\x3a\x00\x00\xd6\x3a\x00\x00\x32\x3b\x00\x00\x8e\x3b\x00\x00\xea\x3b\x00\x00\x46\x3c\x00\x00\xa2\x3c\x00\x00\x00\x00\x00\x00\xa7\xff\xff\xff\xfe\x3c\x00\x00\x5a\x3d\x00\x00\xb6\x3d\x00\x00\x12\x3e\x00\x00\x6e\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x65\x00\x00\x00\x00\x00\x00\x00\xca\x3e\x00\x00\x26\x3f\x00\x00\x82\x3f\x00\x00\xde\x3f\x00\x00\x3a\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x40\x00\x00\xf2\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x41\x00\x00\xaa\x41\x00\x00\x06\x42\x00\x00\x62\x42\x00\x00\xbe\x42\x00\x00\x1a\x43\x00\x00\x76\x43\x00\x00\xd2\x43\x00\x00\x2e\x44\x00\x00\x8a\x44\x00\x00\xe6\x44\x00\x00\x42\x45\x00\x00\x9e\x45\x00\x00\xfa\x45\x00\x00\x56\x46\x00\x00\xb2\x46\x00\x00\x0e\x47\x00\x00\x6a\x47\x00\x00\xc6\x47\x00\x00\x22\x48\x00\x00\x7e\x48\x00\x00\xda\x48\x00\x00\x36\x49\x00\x00\x92\x49\x00\x00\xee\x49\x00\x00\x4a\x4a\x00\x00\xa6\x4a\x00\x00\x02\x4b\x00\x00\x5e\x4b\x00\x00\xba\x4b\x00\x00\x16\x4c\x00\x00\x72\x4c\x00\x00\xce\x4c\x00\x00\x2a\x4d\x00\x00\x86\x4d\x00\x00"#
 
 alex_table :: AlexAddr
-alex_table = AlexA# "\x00\x00\x80\x00\x35\x00\x35\x00\x35\x00\x11\x00\x13\x00\x15\x00\x17\x00\x19\x00\x1b\x00\x1d\x00\x1f\x00\x21\x00\x09\x00\x23\x00\x26\x00\xff\xff\x29\x00\x2d\x00\x2e\x00\x2f\x00\x31\x00\x35\x00\x4f\x01\x31\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x30\x01\x2a\x01\x2b\x01\x4f\x01\x4f\x01\x4f\x01\x7f\x00\x22\x01\x4f\x01\x32\x01\x33\x01\x33\x01\x33\x01\x33\x01\x33\x01\x33\x01\x33\x01\x33\x01\x33\x01\x25\x01\x24\x01\x4f\x01\x26\x01\x4f\x01\x28\x01\x2e\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\xef\x00\x4f\x01\x4f\x01\xeb\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x2d\x01\x4f\x01\x4f\x01\x27\x01\x4f\x01\xe4\x00\x4f\x01\xc5\x00\xbf\x00\x4f\x01\x91\x00\x4f\x01\x12\x01\x87\x00\x4f\x01\x4f\x01\x85\x00\xbb\x00\x4f\x01\xb0\x00\xa4\x00\x01\x01\x9b\x00\x07\x01\x4f\x01\x0c\x01\x4f\x01\x8c\x00\x4f\x01\x4f\x01\x4f\x01\x38\x00\x29\x01\x2f\x01\x4f\x01\x81\x00\x35\x00\x35\x00\x35\x00\x2a\x00\x10\x00\x10\x00\x10\x00\x0f\x00\x0f\x00\x0f\x00\x0b\x00\x0b\x00\x0b\x00\xff\xff\x0c\x00\x0c\x00\x0c\x00\x0b\x00\x0b\x00\x0b\x00\xff\xff\x35\x00\x0f\x00\x0f\x00\x0f\x00\x10\x00\x30\x00\x32\x00\x0f\x00\x33\x00\x2b\x00\x0b\x00\x34\x00\x37\x00\x7e\x00\x0c\x00\x73\x00\x20\x01\x0b\x00\xff\xff\x0c\x00\x0c\x00\x0c\x00\x0f\x00\x35\x00\x35\x00\x35\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x75\x00\x00\x00\x23\x01\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x01\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x2c\x00\x3a\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0d\x00\xff\xff\x00\x00\x80\x00\x35\x00\x35\x00\x35\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x74\x00\x35\x00\x4f\x01\x31\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x30\x01\x2a\x01\x2b\x01\x4f\x01\x4f\x01\x4f\x01\x7f\x00\x22\x01\x4f\x01\x32\x01\x33\x01\x33\x01\x33\x01\x33\x01\x33\x01\x33\x01\x33\x01\x33\x01\x33\x01\x25\x01\x24\x01\x4f\x01\x26\x01\x4f\x01\x28\x01\x2e\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\xef\x00\x4f\x01\x4f\x01\xeb\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x2d\x01\x4f\x01\x4f\x01\x27\x01\x4f\x01\xe4\x00\x4f\x01\xc5\x00\xbf\x00\x4f\x01\x91\x00\x4f\x01\x12\x01\x87\x00\x4f\x01\x4f\x01\x85\x00\xbb\x00\x4f\x01\xb0\x00\xa4\x00\x01\x01\x9b\x00\x07\x01\x4f\x01\x0c\x01\x4f\x01\x8c\x00\x4f\x01\x4f\x01\x4f\x01\x38\x00\x29\x01\x2f\x01\x4f\x01\x35\x00\x35\x00\x35\x00\x80\x00\x35\x00\x35\x00\x35\x00\x82\x00\x35\x00\x35\x00\x35\x00\xff\xff\xff\xff\xff\xff\x36\x00\x36\x00\x36\x00\x36\x00\xff\xff\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x36\x00\x00\x00\x7e\x00\x3e\x00\x00\x00\x00\x00\x7e\x00\xff\xff\x10\x00\x10\x00\x10\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x4f\x00\xff\xff\x6c\x00\x00\x00\x00\x00\x00\x00\x60\x00\xff\xff\x00\x00\x6f\x00\x00\x00\x00\x00\x41\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x1a\x01\x00\x00\x1e\x00\x74\x00\x18\x00\x22\x00\xff\xff\x74\x00\x24\x00\x00\x00\x1a\x00\x74\x00\x00\x00\x00\x00\x00\x00\x20\x00\x0e\x00\x00\x00\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x44\x00\x00\x00\x43\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x45\x00\xff\xff\x00\x00\x00\x00\x00\x00\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x00\x00\x00\x00\x00\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\xff\xff\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x52\x00\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x55\x00\x54\x00\xff\xff\x00\x00\x56\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x58\x00\x00\x00\x59\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x5e\x00\x00\x00\x00\x00\x00\x00\x5d\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x63\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x64\x00\x66\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x69\x00\xff\xff\x68\x00\x00\x00\x67\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x65\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x6b\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x79\x00\x71\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x00\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\x7b\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\xff\xff\x79\x00\x00\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x00\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\x7b\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\xff\xff\x79\x00\x00\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x00\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\x7b\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\x00\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\xff\xff\x79\x00\x00\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7b\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x00\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x00\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\xff\xff\x7a\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x00\x00\x00\x78\x00\x78\x00\x78\x00\x78\x00\x00\x00\x00\x00\x00\x00\x78\x00\x78\x00\x78\x00\x78\x00\x00\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x00\x00\x78\x00\x78\x00\x78\x00\x78\x00\x00\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x7c\x00\x78\x00\x78\x00\x7d\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\xff\xff\x78\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x00\x00\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x00\x00\x00\x00\x78\x00\x78\x00\x78\x00\x78\x00\x00\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x78\x00\x00\x00\x78\x00\x78\x00\x78\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x00\x78\x00\x78\x00\x78\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x00\x7a\x00\x78\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x00\x00\x00\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x00\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x00\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x00\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x00\x00\x7a\x00\x50\x01\x7a\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x76\x00\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x2c\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x83\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x84\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xd5\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xb5\x00\x86\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x88\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x89\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x8a\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x8b\x00\x94\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x8d\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x8e\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x8f\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x90\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xf4\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x92\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x93\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x95\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x96\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x97\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x98\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xc9\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x18\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x99\x00\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x9a\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x9c\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x9d\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x9e\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x9f\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xa0\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xa1\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xa2\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xa3\x00\x50\x01\x50\x01\xac\x00\x50\x01\x50\x01\x1f\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xa5\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xa6\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xa7\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xa8\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xa9\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xaa\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xe8\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xab\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xad\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xae\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xaf\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xb1\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xb2\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xb3\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xb4\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xb6\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xb7\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xb8\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xb9\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xba\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xdc\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xbc\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xbd\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xbe\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xc0\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xc1\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xc2\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xc3\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xd2\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xc4\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xc6\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xc7\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xc8\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xca\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xcb\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xcc\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xcd\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xce\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xcf\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xd0\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xd1\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xd6\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xd7\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xd3\x00\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xd4\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xd8\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xd9\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xda\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xdb\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xdd\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xde\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xdf\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xe0\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xe1\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xe2\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xe3\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xe5\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xe6\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xe7\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\xf5\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xe9\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xea\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xec\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xed\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xee\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xf0\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xf1\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xf2\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xf3\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xf8\x00\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\xf6\x00\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\xf7\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xf9\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xfa\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xfb\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xfc\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xfd\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xfe\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\xff\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x02\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x03\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x04\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x05\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x06\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x08\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x09\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x0a\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x0b\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x0d\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x0e\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x0f\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x10\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x11\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x13\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x14\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x15\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x16\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x17\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x1b\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x1c\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x1d\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x1e\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x51\x01\x50\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x00\x00\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x51\x01\x50\x01\x51\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x4f\x01\x50\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x01\x50\x01\x4f\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x47\x01\x50\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x4c\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x4c\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x39\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x47\x01\x50\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x4c\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x4c\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x47\x01\x50\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x4c\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x4c\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x47\x01\x50\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x38\x01\x38\x01\x38\x01\x38\x01\x37\x01\x38\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x38\x01\x38\x01\x38\x01\x38\x01\x37\x01\x38\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x4e\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x47\x01\x50\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x38\x01\x38\x01\x38\x01\x38\x01\x37\x01\x38\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x38\x01\x38\x01\x38\x01\x38\x01\x37\x01\x38\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x4d\x01\x50\x01\x4d\x01\x47\x01\x50\x01\x35\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x36\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x38\x01\x38\x01\x38\x01\x38\x01\x37\x01\x38\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x38\x01\x38\x01\x38\x01\x38\x01\x37\x01\x38\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x47\x01\x50\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x38\x01\x38\x01\x38\x01\x38\x01\x37\x01\x38\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x38\x01\x38\x01\x38\x01\x38\x01\x37\x01\x38\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x49\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x49\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x48\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x49\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x49\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x3c\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x49\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x49\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x4a\x01\x50\x01\x4a\x01\x52\x01\x50\x01\x3e\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x40\x01\x40\x01\x40\x01\x40\x01\x3d\x01\x40\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x40\x01\x40\x01\x40\x01\x40\x01\x3d\x01\x40\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x40\x01\x40\x01\x40\x01\x40\x01\x3d\x01\x40\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x40\x01\x40\x01\x40\x01\x40\x01\x3d\x01\x40\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x4b\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x3f\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x40\x01\x40\x01\x40\x01\x40\x01\x3d\x01\x40\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x40\x01\x40\x01\x40\x01\x40\x01\x3d\x01\x40\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x40\x01\x40\x01\x40\x01\x40\x01\x3d\x01\x40\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x40\x01\x40\x01\x40\x01\x40\x01\x3d\x01\x40\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x4b\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x4e\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x4f\x01\x50\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x00\x00\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x3a\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x4f\x01\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x53\x01\x4f\x01\x4f\x01\x54\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x50\x01\x4f\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x40\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x4a\x01\x50\x01\x4a\x01\x52\x01\x50\x01\x41\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x41\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x42\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x43\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x4d\x01\x50\x01\x4d\x01\x52\x01\x50\x01\x44\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x44\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x52\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x50\x01\x00\x00\x50\x01\x51\x01\x50\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x00\x00\x51\x01\x51\x01\x51\x01\x51\x01\x52\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x51\x01\x4f\x01\x51\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x00\x00\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x53\x01\x4f\x01\x4f\x01\x54\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x01\x4f\x01\x4f\x01\x4f\x01\x00\x00\x4f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x01\x51\x01\x4f\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x00\x00\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x51\x01\x00\x00\x51\x01\x00\x00\x51\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
+alex_table = AlexA# "\x00\x00\x75\x00\x26\x00\x26\x00\x26\x00\x17\x00\xff\xff\x1a\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x1c\x00\x25\x00\x28\x00\x68\x00\xff\xff\xff\xff\x6a\x00\x0e\x01\x26\x00\x44\x01\x26\x01\x44\x01\x44\x01\x44\x01\x44\x01\x25\x01\x1f\x01\x20\x01\x44\x01\x44\x01\x44\x01\x74\x00\x17\x01\x44\x01\x27\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x1a\x01\x19\x01\x44\x01\x1b\x01\x44\x01\x1d\x01\x23\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\xe4\x00\x44\x01\x44\x01\xe0\x00\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x22\x01\x44\x01\x44\x01\x1c\x01\x44\x01\xd9\x00\x44\x01\xba\x00\xb4\x00\x44\x01\x86\x00\x44\x01\x07\x01\x7c\x00\x44\x01\x44\x01\x7a\x00\xb0\x00\x44\x01\xa5\x00\x99\x00\xf6\x00\x90\x00\xfc\x00\x44\x01\x01\x01\x44\x01\x81\x00\x44\x01\x44\x01\x44\x01\x29\x00\x1e\x01\x24\x01\x44\x01\x76\x00\x26\x00\x26\x00\x26\x00\x1b\x00\x0b\x00\x0b\x00\x0b\x00\xff\xff\x09\x00\x09\x00\x09\x00\xff\xff\x09\x00\x09\x00\x09\x00\xff\xff\xff\xff\x0b\x00\x0b\x00\x0b\x00\xff\xff\x26\x00\x26\x00\x26\x00\x26\x00\x0b\x00\x18\x01\x15\x01\x16\x01\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x73\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x1d\x00\x2b\x00\x00\x00\xff\xff\x0a\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x26\x00\x26\x00\x26\x00\x00\x00\x00\x00\xff\xff\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x0d\x00\x69\x00\x26\x00\x44\x01\x26\x01\x44\x01\x44\x01\x44\x01\x44\x01\x25\x01\x1f\x01\x20\x01\x44\x01\x44\x01\x44\x01\x74\x00\x17\x01\x44\x01\x27\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x28\x01\x1a\x01\x19\x01\x44\x01\x1b\x01\x44\x01\x1d\x01\x23\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\xe4\x00\x44\x01\x44\x01\xe0\x00\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x22\x01\x44\x01\x44\x01\x1c\x01\x44\x01\xd9\x00\x44\x01\xba\x00\xb4\x00\x44\x01\x86\x00\x44\x01\x07\x01\x7c\x00\x44\x01\x44\x01\x7a\x00\xb0\x00\x44\x01\xa5\x00\x99\x00\xf6\x00\x90\x00\xfc\x00\x44\x01\x01\x01\x44\x01\x81\x00\x44\x01\x44\x01\x44\x01\x29\x00\x1e\x01\x24\x01\x44\x01\x26\x00\x26\x00\x26\x00\x75\x00\x26\x00\x26\x00\x26\x00\x77\x00\x26\x00\x26\x00\x26\x00\xff\xff\xff\xff\xff\xff\x27\x00\x27\x00\x27\x00\x27\x00\xff\xff\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\x26\x00\xff\xff\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x27\x00\x00\x00\x73\x00\x2f\x00\x00\x00\x00\x00\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x39\x00\x40\x00\xff\xff\x61\x00\x00\x00\x00\x00\x00\x00\x55\x00\xff\xff\x00\x00\x64\x00\x00\x00\x00\x00\x32\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x0f\x01\x00\x00\x12\x00\x69\x00\x14\x00\xff\xff\x15\x00\x69\x00\x00\x00\x10\x00\xff\xff\x69\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\xff\xff\x00\x00\x00\x00\x3c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x49\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x4d\x00\x00\x00\xff\xff\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x4e\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x52\x00\xff\xff\x00\x00\x53\x00\x00\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x59\x00\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\x54\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x5f\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x00\x00\x00\x6e\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x63\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x70\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\xff\xff\x6e\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x00\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x70\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\xff\xff\x6e\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x00\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x70\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x00\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\x6e\x00\xff\xff\x6e\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x00\x00\x00\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x70\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x00\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x00\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\xff\xff\x6f\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x00\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x00\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x00\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x71\x00\x6d\x00\x6d\x00\x72\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\xff\xff\x6d\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x00\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x00\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6d\x00\x6d\x00\x6d\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6f\x00\x6d\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x00\x00\x00\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x00\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x00\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x00\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x00\x00\x6f\x00\x45\x01\x6f\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x6b\x00\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x21\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x78\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x79\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xca\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xaa\x00\x7b\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x7d\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x7e\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x7f\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x80\x00\x89\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x82\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x83\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x84\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x85\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xe9\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x87\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x88\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x8a\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x8b\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x8c\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x8d\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xbe\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x0d\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x8e\x00\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x8f\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x91\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x92\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x93\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x94\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x95\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x96\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x97\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x98\x00\x45\x01\x45\x01\xa1\x00\x45\x01\x45\x01\x14\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x9a\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x9b\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x9c\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x9d\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x9e\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x9f\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xdd\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xa0\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xa2\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xa3\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xa4\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xa6\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xa7\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xa8\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xa9\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xab\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xac\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xad\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xae\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xaf\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xd1\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xb1\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xb2\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xb3\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xb5\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xb6\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xb7\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xb8\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xc7\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xb9\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xbb\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xbc\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xbd\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xbf\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xc0\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xc1\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xc2\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xc3\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xc4\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xc5\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xc6\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xcb\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xcc\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xc8\x00\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xc9\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xcd\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xce\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xcf\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xd0\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xd2\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xd3\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xd4\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xd5\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xd6\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xd7\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xd8\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xda\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xdb\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xdc\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\xea\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xde\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xdf\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xe1\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xe2\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xe3\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xe5\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xe6\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xe7\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xe8\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xed\x00\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\xeb\x00\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\xec\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xee\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xef\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xf0\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xf1\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xf2\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xf3\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xf4\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xf5\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xf7\x00\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xf8\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xf9\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xfa\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xfb\x00\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xfd\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xfe\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\xff\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x02\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x03\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x04\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x05\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x06\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x08\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x09\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x0a\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x0b\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x0c\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x10\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x11\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x12\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x13\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x46\x01\x45\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x46\x01\x45\x01\x46\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x44\x01\x45\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x45\x01\x44\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x3c\x01\x45\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x41\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x41\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x2e\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x3c\x01\x45\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x41\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x41\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x3c\x01\x45\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x29\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x41\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x41\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x3c\x01\x45\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2c\x01\x2d\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2c\x01\x2d\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x43\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x3c\x01\x45\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2c\x01\x2d\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2c\x01\x2d\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x42\x01\x45\x01\x42\x01\x3c\x01\x45\x01\x2a\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x2b\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2c\x01\x2d\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2c\x01\x2d\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x3c\x01\x45\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2c\x01\x2d\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2c\x01\x2d\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x2d\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x3e\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x3e\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x3d\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x3e\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x3e\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x31\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x3e\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x3e\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x3f\x01\x45\x01\x3f\x01\x47\x01\x45\x01\x33\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x35\x01\x35\x01\x35\x01\x35\x01\x32\x01\x35\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x35\x01\x35\x01\x35\x01\x35\x01\x32\x01\x35\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x35\x01\x35\x01\x35\x01\x35\x01\x32\x01\x35\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x35\x01\x35\x01\x35\x01\x35\x01\x32\x01\x35\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x40\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x34\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x35\x01\x35\x01\x35\x01\x35\x01\x32\x01\x35\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x35\x01\x35\x01\x35\x01\x35\x01\x32\x01\x35\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x35\x01\x35\x01\x35\x01\x35\x01\x32\x01\x35\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x35\x01\x35\x01\x35\x01\x35\x01\x32\x01\x35\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x40\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x43\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x44\x01\x45\x01\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x00\x00\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x2f\x01\x30\x01\x30\x01\x30\x01\x30\x01\x30\x01\x30\x01\x30\x01\x30\x01\x30\x01\x44\x01\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x48\x01\x44\x01\x44\x01\x49\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x45\x01\x44\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x35\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x3f\x01\x45\x01\x3f\x01\x47\x01\x45\x01\x36\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x36\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x37\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x38\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x42\x01\x45\x01\x42\x01\x47\x01\x45\x01\x39\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x39\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x3a\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x3b\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x47\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x45\x01\x00\x00\x45\x01\x46\x01\x45\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x47\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x46\x01\x44\x01\x46\x01\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x00\x00\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x48\x01\x44\x01\x44\x01\x49\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x44\x01\x44\x01\x44\x01\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x46\x01\x44\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x46\x01\x00\x00\x46\x01\x00\x00\x46\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
 
 alex_check :: AlexAddr
-alex_check = AlexA# "\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x62\x00\x65\x00\x67\x00\x69\x00\x6e\x00\x7b\x00\x63\x00\x6f\x00\x64\x00\x7d\x00\x65\x00\x0a\x00\x0a\x00\x0a\x00\x65\x00\x6e\x00\x64\x00\x63\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0b\x00\x0c\x00\x0d\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x20\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x7b\x00\x6f\x00\x20\x00\x64\x00\x7d\x00\x20\x00\x65\x00\x23\x00\x2d\x00\x20\x00\x2d\x00\x21\x00\x20\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0a\x00\x2d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x6f\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x2d\x00\xff\xff\x2e\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x2e\x00\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\x5c\x00\x23\x00\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\x5c\x00\x20\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\xff\xff\x7b\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0a\x00\x0a\x00\x20\x00\x0a\x00\x0a\x00\x0a\x00\x20\x00\x0a\x00\x0a\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x20\x00\xff\xff\x2d\x00\x23\x00\xff\xff\xff\xff\x2d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\x43\x00\x20\x00\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x20\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x4f\x00\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\x67\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x63\x00\x7b\x00\x69\x00\x64\x00\x20\x00\x7b\x00\x65\x00\xff\xff\x6e\x00\x7b\x00\xff\xff\xff\xff\xff\xff\x6f\x00\x5c\x00\xff\xff\x7b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x7b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x7d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7d\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x50\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\x49\x00\xff\xff\x54\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x4f\x00\x20\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x49\x00\xff\xff\xff\xff\xff\xff\x55\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\x4c\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x49\x00\x20\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4e\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x50\x00\x49\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x45\x00\x4c\x00\x20\x00\xff\xff\x44\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x44\x00\xff\xff\x41\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x50\x00\xff\xff\xff\xff\xff\xff\x59\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x45\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x4d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x50\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x4f\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x52\x00\x53\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x42\x00\x20\x00\x49\x00\xff\xff\x53\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x45\x00\x4c\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x41\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\x21\x00\x4e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x0a\x00\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x0a\x00\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x0a\x00\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x0a\x00\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x0a\x00\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\x60\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\x60\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\x60\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
+alex_check = AlexA# "\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0a\x00\x0a\x00\x65\x00\x6e\x00\x64\x00\x7b\x00\x63\x00\x6f\x00\x64\x00\x7d\x00\x65\x00\x23\x00\x2d\x00\x0a\x00\x0a\x00\x2d\x00\x6f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x20\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x2e\x00\x21\x00\x2e\x00\x20\x00\xff\xff\xff\xff\xff\xff\x20\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x20\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\x5c\x00\x23\x00\xff\xff\x20\x00\x5c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x20\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x65\x00\x7b\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0a\x00\x0a\x00\x20\x00\x0a\x00\x0a\x00\x0a\x00\x20\x00\x0a\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x20\x00\xff\xff\x2d\x00\x23\x00\xff\xff\xff\xff\x2d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\xff\xff\xff\xff\x42\x00\x43\x00\x20\x00\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x20\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x4f\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\xff\xff\x69\x00\xff\xff\x74\x00\xff\xff\x63\x00\x7b\x00\x64\x00\x20\x00\x65\x00\x7b\x00\xff\xff\x6e\x00\x20\x00\x7b\x00\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x7b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x49\x00\xff\xff\xff\xff\xff\xff\x7d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x53\x00\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\x20\x00\xff\xff\xff\xff\x4c\x00\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x49\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x4f\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\xff\xff\xff\xff\x4d\x00\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x49\x00\x20\x00\x50\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x44\x00\x45\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x41\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x54\x00\xff\xff\x20\x00\xff\xff\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x41\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x54\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x50\x00\x59\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\x20\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x50\x00\x20\x00\xff\xff\x49\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\x4f\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x52\x00\x53\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x20\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x20\x00\x54\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x20\x00\x53\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x49\x00\x42\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x4c\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\x20\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x45\x00\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x0a\x00\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x0a\x00\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x0a\x00\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x0a\x00\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x0a\x00\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\x60\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\x60\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\x60\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
 
 alex_deflt :: AlexAddr
-alex_deflt = AlexA# "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x27\x00\xff\xff\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\x72\x00\xff\xff\xff\xff\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
+alex_deflt = AlexA# "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\xff\xff\xff\xff\x6c\x00\x6c\x00\x6c\x00\x6c\x00\x6c\x00\x6c\x00\x6c\x00\x6c\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
 
-alex_accept = listArray (0::Int,340) [[],[(AlexAccPred  (alex_action_25) ( not' eof ))],[],[(AlexAcc (alex_action_28))],[],[(AlexAcc (alex_action_27))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40))],[],[(AlexAccPred  (alex_action_0) (alexRightContext 37))],[(AlexAccPred  (alex_action_0) (alexRightContext 37)),(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_0) (alexRightContext 37))],[(AlexAccPred  (alex_action_0) (alexRightContext 37)),(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccSkip)],[(AlexAccPred  (alex_action_1) (alexRightContext 40)),(AlexAcc (alex_action_2))],[],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAccPred  (alex_action_4) ( inState code ))],[],[],[],[],[],[],[],[],[],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAcc (alex_action_7))],[(AlexAcc (alex_action_76))],[(AlexAccPred  (alex_action_20) ( not' (followedBy '#') ))],[(AlexAcc (alex_action_8))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_9))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_10))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_11))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_12))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_14))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_13))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_15))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_16))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_17))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_18))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_19))],[(AlexAccPred  (alex_action_20) ( not' (followedBy '#') ))],[],[(AlexAccPred  (alex_action_21) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof ))],[(AlexAccPred  (alex_action_21) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof )),(AlexAcc (alex_action_82))],[(AlexAccPred  (alex_action_21) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof ))],[(AlexAccPred  (alex_action_21) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof )),(AlexAcc (alex_action_82))],[(AlexAccPred  (alex_action_21) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof )),(AlexAcc (alex_action_82))],[(AlexAccPred  (alex_action_21) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof )),(AlexAcc (alex_action_82))],[(AlexAccPred  (alex_action_21) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof ))],[(AlexAccPred  (alex_action_21) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof ))],[(AlexAccPred  (alex_action_21) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof ))],[],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_23))],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAcc (alex_action_29))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_30))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_31))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_32))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_33))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_34))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_35))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_36))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_37))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_38))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_40))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_41))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_42))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_43))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_44))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_46))],[(AlexAcc (alex_action_47))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_48))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_49))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_50))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_51))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_52))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_53))],[(AlexAcc (alex_action_53))],[(AlexAcc (alex_action_53))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_54))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_55))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_56))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_57))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_58))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_59))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_60))],[],[(AlexAcc (alex_action_61))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_62))],[(AlexAcc (alex_action_63))],[(AlexAcc (alex_action_64))],[],[(AlexAcc (alex_action_65))],[(AlexAcc (alex_action_66))],[(AlexAcc (alex_action_67))],[(AlexAcc (alex_action_68))],[(AlexAcc (alex_action_69))],[(AlexAcc (alex_action_70))],[(AlexAcc (alex_action_71))],[(AlexAcc (alex_action_72))],[(AlexAcc (alex_action_73))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_75))],[(AlexAcc (alex_action_77))],[(AlexAcc (alex_action_78))],[(AlexAcc (alex_action_79))],[(AlexAcc (alex_action_80))],[(AlexAcc (alex_action_80))],[(AlexAcc (alex_action_80))],[(AlexAcc (alex_action_80))],[(AlexAcc (alex_action_80))],[(AlexAcc (alex_action_80))],[(AlexAcc (alex_action_80))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[],[],[]]
-{-# LINE 191 "src/full/Agda/Syntax/Parser/Lexer.x" #-}
+alex_accept = listArray (0::Int,329) [[],[(AlexAccPred  (alex_action_26) ( not' eof ))],[],[(AlexAcc (alex_action_29))],[],[(AlexAcc (alex_action_28))],[],[(AlexAccPred  (alex_action_1) (alexRightContext 25))],[(AlexAccPred  (alex_action_0) (alexRightContext 22)),(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_0) (alexRightContext 22)),(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[],[(AlexAccSkip)],[(AlexAccPred  (alex_action_1) (alexRightContext 25)),(AlexAcc (alex_action_2))],[],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAccPred  (alex_action_4) ( inState code ))],[],[],[],[],[],[],[],[],[],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAcc (alex_action_7))],[(AlexAcc (alex_action_77))],[(AlexAccPred  (alex_action_21) ( not' (followedBy '#') ))],[(AlexAcc (alex_action_8))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_9))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_10))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_11))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_12))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_14))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_13))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_15))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_16))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_17))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_18))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_20))],[(AlexAccPred  (alex_action_21) ( not' (followedBy '#') ))],[],[(AlexAccPred  (alex_action_22) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof ))],[(AlexAccPred  (alex_action_22) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof )),(AlexAcc (alex_action_83))],[(AlexAccPred  (alex_action_22) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof ))],[(AlexAccPred  (alex_action_22) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof )),(AlexAcc (alex_action_83))],[(AlexAccPred  (alex_action_22) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof )),(AlexAcc (alex_action_83))],[(AlexAccPred  (alex_action_22) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof )),(AlexAcc (alex_action_83))],[(AlexAccPred  (alex_action_22) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof ))],[(AlexAccPred  (alex_action_22) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof ))],[(AlexAccPred  (alex_action_22) ( keepComments .&&. (followedBy '\n' .||. eof) )),(AlexAccSkipPred  ( followedBy '\n' .||. eof ))],[],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_24))],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAcc (alex_action_30))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_31))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_32))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_33))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_34))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_35))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_36))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_37))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_38))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_40))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_41))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_42))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_43))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_44))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_46))],[(AlexAcc (alex_action_47))],[(AlexAcc (alex_action_48))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_49))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_50))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_51))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_52))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_53))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_54))],[(AlexAcc (alex_action_54))],[(AlexAcc (alex_action_54))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_55))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_56))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_57))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_58))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_59))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_60))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_61))],[],[(AlexAcc (alex_action_62))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_63))],[(AlexAcc (alex_action_64))],[(AlexAcc (alex_action_65))],[],[(AlexAcc (alex_action_66))],[(AlexAcc (alex_action_67))],[(AlexAcc (alex_action_68))],[(AlexAcc (alex_action_69))],[(AlexAcc (alex_action_70))],[(AlexAcc (alex_action_71))],[(AlexAcc (alex_action_72))],[(AlexAcc (alex_action_73))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_75))],[(AlexAcc (alex_action_76))],[(AlexAcc (alex_action_78))],[(AlexAcc (alex_action_79))],[(AlexAcc (alex_action_80))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_82))],[],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_83))],[],[],[]]
+{-# LINE 193 "src/full/Agda/Syntax/Parser/Lexer.x" #-}
 
 
 -- | This is the initial state for parsing a literate file. Code blocks
@@ -156,71 +157,72 @@
 alex_action_12 =  keyword KwCOMPILED_DATA 
 alex_action_13 =  keyword KwCOMPILED_TYPE 
 alex_action_14 =  keyword KwCOMPILED 
-alex_action_15 =  keyword KwIMPORT 
-alex_action_16 =  keyword KwIMPOSSIBLE 
-alex_action_17 =  keyword KwETA 
-alex_action_18 =  keyword KwLINE 
-alex_action_19 =  withInterval $ TokString 
-alex_action_20 =  nestedComment 
-alex_action_21 =  withInterval TokComment 
-alex_action_23 =  begin bol_ 
-alex_action_25 =  offsideRule 
-alex_action_27 =  endWith newLayoutContext 
-alex_action_28 =  emptyLayout 
-alex_action_29 =  keyword KwLet 
-alex_action_30 =  keyword KwIn 
-alex_action_31 =  keyword KwWhere 
-alex_action_32 =  keyword KwField 
-alex_action_33 =  keyword KwWith 
-alex_action_34 =  keyword KwRewrite 
-alex_action_35 =  keyword KwPostulate 
-alex_action_36 =  keyword KwPrimitive 
-alex_action_37 =  keyword KwOpen 
-alex_action_38 =  keyword KwImport 
-alex_action_39 =  keyword KwModule 
-alex_action_40 =  keyword KwData 
-alex_action_41 =  keyword KwCoData 
-alex_action_42 =  keyword KwRecord 
-alex_action_43 =  keyword KwConstructor 
-alex_action_44 =  keyword KwInfix 
-alex_action_45 =  keyword KwInfixL 
-alex_action_46 =  keyword KwInfixR 
-alex_action_47 =  keyword KwMutual 
-alex_action_48 =  keyword KwAbstract 
-alex_action_49 =  keyword KwPrivate 
-alex_action_50 =  keyword KwSet 
-alex_action_51 =  keyword KwProp 
-alex_action_52 =  keyword KwForall 
-alex_action_53 =  withInterval' (read . drop 3) TokSetN 
-alex_action_54 =  keyword KwQuoteGoal 
-alex_action_55 =  keyword KwQuote 
-alex_action_56 =  keyword KwSyntax 
-alex_action_57 =  keyword KwUsing 
-alex_action_58 =  keyword KwHiding 
-alex_action_59 =  keyword KwRenaming 
-alex_action_60 =  endWith $ keyword KwTo 
-alex_action_61 =  keyword KwPublic 
-alex_action_62 =  hole 
-alex_action_63 =  symbol SymEllipsis 
-alex_action_64 =  symbol SymDot 
-alex_action_65 =  symbol SymSemi 
-alex_action_66 =  symbol SymColon 
-alex_action_67 =  symbol SymEqual 
-alex_action_68 =  symbol SymUnderscore 
-alex_action_69 =  symbol SymQuestionMark 
-alex_action_70 =  symbol SymBar 
-alex_action_71 =  symbol SymOpenParen 
-alex_action_72 =  symbol SymCloseParen 
-alex_action_73 =  symbol SymArrow 
-alex_action_74 =  symbol SymLambda 
-alex_action_75 =  symbol SymAs 
-alex_action_76 =  symbol SymOpenBrace 
-alex_action_77 =  symbol SymCloseBrace 
-alex_action_78 =  litChar 
-alex_action_79 =  litString 
-alex_action_80 =  literal LitInt 
-alex_action_81 =  literal LitFloat 
-alex_action_82 =  identifier 
+alex_action_15 =  keyword KwCOMPILED_EPIC 
+alex_action_16 =  keyword KwIMPORT 
+alex_action_17 =  keyword KwIMPOSSIBLE 
+alex_action_18 =  keyword KwETA 
+alex_action_19 =  keyword KwLINE 
+alex_action_20 =  withInterval $ TokString 
+alex_action_21 =  nestedComment 
+alex_action_22 =  withInterval TokComment 
+alex_action_24 =  begin bol_ 
+alex_action_26 =  offsideRule 
+alex_action_28 =  endWith newLayoutContext 
+alex_action_29 =  emptyLayout 
+alex_action_30 =  keyword KwLet 
+alex_action_31 =  keyword KwIn 
+alex_action_32 =  keyword KwWhere 
+alex_action_33 =  keyword KwField 
+alex_action_34 =  keyword KwWith 
+alex_action_35 =  keyword KwRewrite 
+alex_action_36 =  keyword KwPostulate 
+alex_action_37 =  keyword KwPrimitive 
+alex_action_38 =  keyword KwOpen 
+alex_action_39 =  keyword KwImport 
+alex_action_40 =  keyword KwModule 
+alex_action_41 =  keyword KwData 
+alex_action_42 =  keyword KwCoData 
+alex_action_43 =  keyword KwRecord 
+alex_action_44 =  keyword KwConstructor 
+alex_action_45 =  keyword KwInfix 
+alex_action_46 =  keyword KwInfixL 
+alex_action_47 =  keyword KwInfixR 
+alex_action_48 =  keyword KwMutual 
+alex_action_49 =  keyword KwAbstract 
+alex_action_50 =  keyword KwPrivate 
+alex_action_51 =  keyword KwSet 
+alex_action_52 =  keyword KwProp 
+alex_action_53 =  keyword KwForall 
+alex_action_54 =  withInterval' (read . drop 3) TokSetN 
+alex_action_55 =  keyword KwQuoteGoal 
+alex_action_56 =  keyword KwQuote 
+alex_action_57 =  keyword KwSyntax 
+alex_action_58 =  keyword KwUsing 
+alex_action_59 =  keyword KwHiding 
+alex_action_60 =  keyword KwRenaming 
+alex_action_61 =  endWith $ keyword KwTo 
+alex_action_62 =  keyword KwPublic 
+alex_action_63 =  hole 
+alex_action_64 =  symbol SymEllipsis 
+alex_action_65 =  symbol SymDot 
+alex_action_66 =  symbol SymSemi 
+alex_action_67 =  symbol SymColon 
+alex_action_68 =  symbol SymEqual 
+alex_action_69 =  symbol SymUnderscore 
+alex_action_70 =  symbol SymQuestionMark 
+alex_action_71 =  symbol SymBar 
+alex_action_72 =  symbol SymOpenParen 
+alex_action_73 =  symbol SymCloseParen 
+alex_action_74 =  symbol SymArrow 
+alex_action_75 =  symbol SymLambda 
+alex_action_76 =  symbol SymAs 
+alex_action_77 =  symbol SymOpenBrace 
+alex_action_78 =  symbol SymCloseBrace 
+alex_action_79 =  litChar 
+alex_action_80 =  litString 
+alex_action_81 =  literal LitInt 
+alex_action_82 =  literal LitFloat 
+alex_action_83 =  identifier 
 {-# LINE 1 "templates/GenericTemplate.hs" #-}
 {-# LINE 1 "templates/GenericTemplate.hs" #-}
 {-# LINE 1 "<built-in>" #-}
@@ -235,9 +237,9 @@
 -- -----------------------------------------------------------------------------
 -- INTERNALS and main scanner engine
 
-{-# LINE 35 "templates/GenericTemplate.hs" #-}
+{-# LINE 37 "templates/GenericTemplate.hs" #-}
 
-{-# LINE 45 "templates/GenericTemplate.hs" #-}
+{-# LINE 47 "templates/GenericTemplate.hs" #-}
 
 
 data AlexAddr = AlexA# Addr#
@@ -322,17 +324,17 @@
 
 				   AlexError input'
 
-	(AlexLastSkip input len, _) ->
+	(AlexLastSkip input'' len, _) ->
 
 
 
-		AlexSkip input len
+		AlexSkip input'' len
 
-	(AlexLastAcc k input len, _) ->
+	(AlexLastAcc k input''' len, _) ->
 
 
 
-		AlexToken input len k
+		AlexToken input''' len k
 
 
 -- Push the input through the DFA, remembering the most recent accepting
@@ -351,12 +353,12 @@
 
 
 	let
-		base   = alexIndexInt32OffAddr alex_base s
-		(I# (ord_c)) = ord c
-		offset = (base +# ord_c)
-		check  = alexIndexInt16OffAddr alex_check offset
+		!(base) = alexIndexInt32OffAddr alex_base s
+		!((I# (ord_c))) = ord c
+		!(offset) = (base +# ord_c)
+		!(check)  = alexIndexInt16OffAddr alex_check offset
 		
-		new_s = if (offset >=# 0#) && (check ==# ord_c)
+		!(new_s) = if (offset >=# 0#) && (check ==# ord_c)
 			  then alexIndexInt16OffAddr alex_table offset
 			  else alexIndexInt16OffAddr alex_deflt s
 	in
@@ -371,11 +373,11 @@
 	check_accs [] = last_acc
 	check_accs (AlexAcc a : _) = AlexLastAcc a input (I# (len))
 	check_accs (AlexAccSkip : _)  = AlexLastSkip  input (I# (len))
-	check_accs (AlexAccPred a pred : rest)
-	   | pred user orig_input (I# (len)) input
+	check_accs (AlexAccPred a predx : rest)
+	   | predx user orig_input (I# (len)) input
 	   = AlexLastAcc a input (I# (len))
-	check_accs (AlexAccSkipPred pred : rest)
-	   | pred user orig_input (I# (len)) input
+	check_accs (AlexAccSkipPred predx : rest)
+	   | predx user orig_input (I# (len)) input
 	   = AlexLastSkip input (I# (len))
 	check_accs (_ : rest) = check_accs rest
 
diff --git a/dist/build/Agda/Syntax/Parser/Parser.hs b/dist/build/Agda/Syntax/Parser/Parser.hs
--- a/dist/build/Agda/Syntax/Parser/Parser.hs
+++ b/dist/build/Agda/Syntax/Parser/Parser.hs
@@ -1,4106 +1,4207 @@
-{-# OPTIONS -fglasgow-exts -cpp #-}
-{-# OPTIONS -fno-warn-incomplete-patterns #-}
-{-| The parser is generated by Happy (<http://www.haskell.org/happy>).
--}
-module Agda.Syntax.Parser.Parser (
-      moduleParser
-    , exprParser
-    , tokensParser
-    , tests
-    ) where
-
-import Control.Arrow
-import Control.Monad
-import Control.Monad.State
-import Data.Char
-import Data.List
-import Data.Maybe
-import qualified Data.Traversable as T
-
-import Agda.Syntax.Position hiding (tests)
-import Agda.Syntax.Parser.Monad
-import Agda.Syntax.Parser.Lexer
-import Agda.Syntax.Parser.Tokens
-import Agda.Syntax.Concrete
-import Agda.Syntax.Concrete.Name
-import Agda.Syntax.Concrete.Pretty
-import Agda.Syntax.Common
-import Agda.Syntax.Fixity
-import Agda.Syntax.Notation
-import Agda.Syntax.Literal
-
-import Agda.Utils.Monad
-import Agda.Utils.QuickCheck
-import Agda.Utils.TestHelpers
-#if __GLASGOW_HASKELL__ >= 503
-import Data.Array
-#else
-import Array
-#endif
-#if __GLASGOW_HASKELL__ >= 503
-import GHC.Exts
-#else
-import GlaExts
-#endif
-
--- parser produced by Happy Version 1.17
-
-newtype HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63 = HappyAbsSyn HappyAny
-#if __GLASGOW_HASKELL__ >= 607
-type HappyAny = GHC.Exts.Any
-#else
-type HappyAny = forall a . a
-#endif
-happyIn6 :: ([Token]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn6 x = unsafeCoerce# x
-{-# INLINE happyIn6 #-}
-happyOut6 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Token])
-happyOut6 x = unsafeCoerce# x
-{-# INLINE happyOut6 #-}
-happyIn7 :: ([Token]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn7 x = unsafeCoerce# x
-{-# INLINE happyIn7 #-}
-happyOut7 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Token])
-happyOut7 x = unsafeCoerce# x
-{-# INLINE happyOut7 #-}
-happyIn8 :: (Token) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn8 x = unsafeCoerce# x
-{-# INLINE happyIn8 #-}
-happyOut8 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Token)
-happyOut8 x = unsafeCoerce# x
-{-# INLINE happyOut8 #-}
-happyIn9 :: (()) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn9 x = unsafeCoerce# x
-{-# INLINE happyIn9 #-}
-happyOut9 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (())
-happyOut9 x = unsafeCoerce# x
-{-# INLINE happyOut9 #-}
-happyIn10 :: (([Pragma], [Declaration])) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn10 x = unsafeCoerce# x
-{-# INLINE happyIn10 #-}
-happyOut10 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (([Pragma], [Declaration]))
-happyOut10 x = unsafeCoerce# x
-{-# INLINE happyOut10 #-}
-happyIn11 :: t11 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn11 x = unsafeCoerce# x
-{-# INLINE happyIn11 #-}
-happyOut11 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t11
-happyOut11 x = unsafeCoerce# x
-{-# INLINE happyOut11 #-}
-happyIn12 :: t12 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn12 x = unsafeCoerce# x
-{-# INLINE happyIn12 #-}
-happyOut12 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t12
-happyOut12 x = unsafeCoerce# x
-{-# INLINE happyOut12 #-}
-happyIn13 :: t13 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn13 x = unsafeCoerce# x
-{-# INLINE happyIn13 #-}
-happyOut13 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t13
-happyOut13 x = unsafeCoerce# x
-{-# INLINE happyOut13 #-}
-happyIn14 :: (()) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn14 x = unsafeCoerce# x
-{-# INLINE happyIn14 #-}
-happyOut14 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (())
-happyOut14 x = unsafeCoerce# x
-{-# INLINE happyOut14 #-}
-happyIn15 :: (Integer) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn15 x = unsafeCoerce# x
-{-# INLINE happyIn15 #-}
-happyOut15 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Integer)
-happyOut15 x = unsafeCoerce# x
-{-# INLINE happyOut15 #-}
-happyIn16 :: (Name) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn16 x = unsafeCoerce# x
-{-# INLINE happyIn16 #-}
-happyOut16 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Name)
-happyOut16 x = unsafeCoerce# x
-{-# INLINE happyOut16 #-}
-happyIn17 :: ([Name]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn17 x = unsafeCoerce# x
-{-# INLINE happyIn17 #-}
-happyOut17 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Name])
-happyOut17 x = unsafeCoerce# x
-{-# INLINE happyOut17 #-}
-happyIn18 :: (Arg Name) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn18 x = unsafeCoerce# x
-{-# INLINE happyIn18 #-}
-happyOut18 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Arg Name)
-happyOut18 x = unsafeCoerce# x
-{-# INLINE happyOut18 #-}
-happyIn19 :: ([Arg Name]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn19 x = unsafeCoerce# x
-{-# INLINE happyIn19 #-}
-happyOut19 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Arg Name])
-happyOut19 x = unsafeCoerce# x
-{-# INLINE happyOut19 #-}
-happyIn20 :: ([Arg Name]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn20 x = unsafeCoerce# x
-{-# INLINE happyIn20 #-}
-happyOut20 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Arg Name])
-happyOut20 x = unsafeCoerce# x
-{-# INLINE happyOut20 #-}
-happyIn21 :: (QName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn21 x = unsafeCoerce# x
-{-# INLINE happyIn21 #-}
-happyOut21 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (QName)
-happyOut21 x = unsafeCoerce# x
-{-# INLINE happyOut21 #-}
-happyIn22 :: (QName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn22 x = unsafeCoerce# x
-{-# INLINE happyIn22 #-}
-happyOut22 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (QName)
-happyOut22 x = unsafeCoerce# x
-{-# INLINE happyOut22 #-}
-happyIn23 :: (Name) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn23 x = unsafeCoerce# x
-{-# INLINE happyIn23 #-}
-happyOut23 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Name)
-happyOut23 x = unsafeCoerce# x
-{-# INLINE happyOut23 #-}
-happyIn24 :: ([Name]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn24 x = unsafeCoerce# x
-{-# INLINE happyIn24 #-}
-happyOut24 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Name])
-happyOut24 x = unsafeCoerce# x
-{-# INLINE happyOut24 #-}
-happyIn25 :: ([Name]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn25 x = unsafeCoerce# x
-{-# INLINE happyIn25 #-}
-happyOut25 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Name])
-happyOut25 x = unsafeCoerce# x
-{-# INLINE happyOut25 #-}
-happyIn26 :: ([String]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn26 x = unsafeCoerce# x
-{-# INLINE happyIn26 #-}
-happyOut26 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([String])
-happyOut26 x = unsafeCoerce# x
-{-# INLINE happyOut26 #-}
-happyIn27 :: (QName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn27 x = unsafeCoerce# x
-{-# INLINE happyIn27 #-}
-happyOut27 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (QName)
-happyOut27 x = unsafeCoerce# x
-{-# INLINE happyOut27 #-}
-happyIn28 :: (Expr) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn28 x = unsafeCoerce# x
-{-# INLINE happyIn28 #-}
-happyOut28 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Expr)
-happyOut28 x = unsafeCoerce# x
-{-# INLINE happyOut28 #-}
-happyIn29 :: t29 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn29 x = unsafeCoerce# x
-{-# INLINE happyIn29 #-}
-happyOut29 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t29
-happyOut29 x = unsafeCoerce# x
-{-# INLINE happyOut29 #-}
-happyIn30 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn30 x = unsafeCoerce# x
-{-# INLINE happyIn30 #-}
-happyOut30 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
-happyOut30 x = unsafeCoerce# x
-{-# INLINE happyOut30 #-}
-happyIn31 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn31 x = unsafeCoerce# x
-{-# INLINE happyIn31 #-}
-happyOut31 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
-happyOut31 x = unsafeCoerce# x
-{-# INLINE happyOut31 #-}
-happyIn32 :: t32 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn32 x = unsafeCoerce# x
-{-# INLINE happyIn32 #-}
-happyOut32 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t32
-happyOut32 x = unsafeCoerce# x
-{-# INLINE happyOut32 #-}
-happyIn33 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn33 x = unsafeCoerce# x
-{-# INLINE happyIn33 #-}
-happyOut33 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
-happyOut33 x = unsafeCoerce# x
-{-# INLINE happyOut33 #-}
-happyIn34 :: t34 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn34 x = unsafeCoerce# x
-{-# INLINE happyIn34 #-}
-happyOut34 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t34
-happyOut34 x = unsafeCoerce# x
-{-# INLINE happyOut34 #-}
-happyIn35 :: ([(Name, Expr)]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn35 x = unsafeCoerce# x
-{-# INLINE happyIn35 #-}
-happyOut35 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([(Name, Expr)])
-happyOut35 x = unsafeCoerce# x
-{-# INLINE happyOut35 #-}
-happyIn36 :: ([(Name, Expr)]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn36 x = unsafeCoerce# x
-{-# INLINE happyIn36 #-}
-happyOut36 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([(Name, Expr)])
-happyOut36 x = unsafeCoerce# x
-{-# INLINE happyOut36 #-}
-happyIn37 :: ((Name, Expr)) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn37 x = unsafeCoerce# x
-{-# INLINE happyIn37 #-}
-happyOut37 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ((Name, Expr))
-happyOut37 x = unsafeCoerce# x
-{-# INLINE happyOut37 #-}
-happyIn38 :: t38 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn38 x = unsafeCoerce# x
-{-# INLINE happyIn38 #-}
-happyOut38 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t38
-happyOut38 x = unsafeCoerce# x
-{-# INLINE happyOut38 #-}
-happyIn39 :: t39 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn39 x = unsafeCoerce# x
-{-# INLINE happyIn39 #-}
-happyOut39 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t39
-happyOut39 x = unsafeCoerce# x
-{-# INLINE happyOut39 #-}
-happyIn40 :: ([TypedBindings]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn40 x = unsafeCoerce# x
-{-# INLINE happyIn40 #-}
-happyOut40 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypedBindings])
-happyOut40 x = unsafeCoerce# x
-{-# INLINE happyOut40 #-}
-happyIn41 :: (TypedBindings) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn41 x = unsafeCoerce# x
-{-# INLINE happyIn41 #-}
-happyOut41 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (TypedBindings)
-happyOut41 x = unsafeCoerce# x
-{-# INLINE happyOut41 #-}
-happyIn42 :: ([TypedBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn42 x = unsafeCoerce# x
-{-# INLINE happyIn42 #-}
-happyOut42 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypedBinding])
-happyOut42 x = unsafeCoerce# x
-{-# INLINE happyOut42 #-}
-happyIn43 :: ([TypedBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn43 x = unsafeCoerce# x
-{-# INLINE happyIn43 #-}
-happyOut43 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypedBinding])
-happyOut43 x = unsafeCoerce# x
-{-# INLINE happyOut43 #-}
-happyIn44 :: (TypedBinding) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn44 x = unsafeCoerce# x
-{-# INLINE happyIn44 #-}
-happyOut44 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (TypedBinding)
-happyOut44 x = unsafeCoerce# x
-{-# INLINE happyOut44 #-}
-happyIn45 :: ([LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn45 x = unsafeCoerce# x
-{-# INLINE happyIn45 #-}
-happyOut45 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([LamBinding])
-happyOut45 x = unsafeCoerce# x
-{-# INLINE happyOut45 #-}
-happyIn46 :: (([LamBinding], Hiding)) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn46 x = unsafeCoerce# x
-{-# INLINE happyIn46 #-}
-happyOut46 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (([LamBinding], Hiding))
-happyOut46 x = unsafeCoerce# x
-{-# INLINE happyOut46 #-}
-happyIn47 :: ([Either Hiding LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn47 x = unsafeCoerce# x
-{-# INLINE happyIn47 #-}
-happyOut47 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Either Hiding LamBinding])
-happyOut47 x = unsafeCoerce# x
-{-# INLINE happyOut47 #-}
-happyIn48 :: ([LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn48 x = unsafeCoerce# x
-{-# INLINE happyIn48 #-}
-happyOut48 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([LamBinding])
-happyOut48 x = unsafeCoerce# x
-{-# INLINE happyOut48 #-}
-happyIn49 :: ([LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn49 x = unsafeCoerce# x
-{-# INLINE happyIn49 #-}
-happyOut49 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([LamBinding])
-happyOut49 x = unsafeCoerce# x
-{-# INLINE happyOut49 #-}
-happyIn50 :: ([LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn50 x = unsafeCoerce# x
-{-# INLINE happyIn50 #-}
-happyOut50 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([LamBinding])
-happyOut50 x = unsafeCoerce# x
-{-# INLINE happyOut50 #-}
-happyIn51 :: ([LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn51 x = unsafeCoerce# x
-{-# INLINE happyIn51 #-}
-happyOut51 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([LamBinding])
-happyOut51 x = unsafeCoerce# x
-{-# INLINE happyOut51 #-}
-happyIn52 :: ((Maybe AsName, ImportDirective)) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn52 x = unsafeCoerce# x
-{-# INLINE happyIn52 #-}
-happyOut52 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ((Maybe AsName, ImportDirective))
-happyOut52 x = unsafeCoerce# x
-{-# INLINE happyOut52 #-}
-happyIn53 :: (ImportDirective) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn53 x = unsafeCoerce# x
-{-# INLINE happyIn53 #-}
-happyOut53 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (ImportDirective)
-happyOut53 x = unsafeCoerce# x
-{-# INLINE happyOut53 #-}
-happyIn54 :: (ImportDirective) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn54 x = unsafeCoerce# x
-{-# INLINE happyIn54 #-}
-happyOut54 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (ImportDirective)
-happyOut54 x = unsafeCoerce# x
-{-# INLINE happyOut54 #-}
-happyIn55 :: (ImportDirective) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn55 x = unsafeCoerce# x
-{-# INLINE happyIn55 #-}
-happyOut55 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (ImportDirective)
-happyOut55 x = unsafeCoerce# x
-{-# INLINE happyOut55 #-}
-happyIn56 :: ((UsingOrHiding , Range)) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn56 x = unsafeCoerce# x
-{-# INLINE happyIn56 #-}
-happyOut56 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ((UsingOrHiding , Range))
-happyOut56 x = unsafeCoerce# x
-{-# INLINE happyOut56 #-}
-happyIn57 :: (([Renaming] , Range)) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn57 x = unsafeCoerce# x
-{-# INLINE happyIn57 #-}
-happyOut57 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (([Renaming] , Range))
-happyOut57 x = unsafeCoerce# x
-{-# INLINE happyOut57 #-}
-happyIn58 :: ([Renaming]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn58 x = unsafeCoerce# x
-{-# INLINE happyIn58 #-}
-happyOut58 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Renaming])
-happyOut58 x = unsafeCoerce# x
-{-# INLINE happyOut58 #-}
-happyIn59 :: (Renaming) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn59 x = unsafeCoerce# x
-{-# INLINE happyIn59 #-}
-happyOut59 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Renaming)
-happyOut59 x = unsafeCoerce# x
-{-# INLINE happyOut59 #-}
-happyIn60 :: (ImportedName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn60 x = unsafeCoerce# x
-{-# INLINE happyIn60 #-}
-happyOut60 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (ImportedName)
-happyOut60 x = unsafeCoerce# x
-{-# INLINE happyOut60 #-}
-happyIn61 :: (ImportedName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn61 x = unsafeCoerce# x
-{-# INLINE happyIn61 #-}
-happyOut61 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (ImportedName)
-happyOut61 x = unsafeCoerce# x
-{-# INLINE happyOut61 #-}
-happyIn62 :: ([ImportedName]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn62 x = unsafeCoerce# x
-{-# INLINE happyIn62 #-}
-happyOut62 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([ImportedName])
-happyOut62 x = unsafeCoerce# x
-{-# INLINE happyOut62 #-}
-happyIn63 :: t63 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn63 x = unsafeCoerce# x
-{-# INLINE happyIn63 #-}
-happyOut63 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t63
-happyOut63 x = unsafeCoerce# x
-{-# INLINE happyOut63 #-}
-happyIn64 :: (LHS) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn64 x = unsafeCoerce# x
-{-# INLINE happyIn64 #-}
-happyOut64 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (LHS)
-happyOut64 x = unsafeCoerce# x
-{-# INLINE happyOut64 #-}
-happyIn65 :: ([Pattern]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn65 x = unsafeCoerce# x
-{-# INLINE happyIn65 #-}
-happyOut65 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Pattern])
-happyOut65 x = unsafeCoerce# x
-{-# INLINE happyOut65 #-}
-happyIn66 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn66 x = unsafeCoerce# x
-{-# INLINE happyIn66 #-}
-happyOut66 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
-happyOut66 x = unsafeCoerce# x
-{-# INLINE happyOut66 #-}
-happyIn67 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn67 x = unsafeCoerce# x
-{-# INLINE happyIn67 #-}
-happyOut67 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
-happyOut67 x = unsafeCoerce# x
-{-# INLINE happyOut67 #-}
-happyIn68 :: (WhereClause) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn68 x = unsafeCoerce# x
-{-# INLINE happyIn68 #-}
-happyOut68 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (WhereClause)
-happyOut68 x = unsafeCoerce# x
-{-# INLINE happyOut68 #-}
-happyIn69 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn69 x = unsafeCoerce# x
-{-# INLINE happyIn69 #-}
-happyOut69 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
-happyOut69 x = unsafeCoerce# x
-{-# INLINE happyOut69 #-}
-happyIn70 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn70 x = unsafeCoerce# x
-{-# INLINE happyIn70 #-}
-happyOut70 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut70 x = unsafeCoerce# x
-{-# INLINE happyOut70 #-}
-happyIn71 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn71 x = unsafeCoerce# x
-{-# INLINE happyIn71 #-}
-happyOut71 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
-happyOut71 x = unsafeCoerce# x
-{-# INLINE happyOut71 #-}
-happyIn72 :: ([Arg Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn72 x = unsafeCoerce# x
-{-# INLINE happyIn72 #-}
-happyOut72 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Arg Declaration])
-happyOut72 x = unsafeCoerce# x
-{-# INLINE happyOut72 #-}
-happyIn73 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn73 x = unsafeCoerce# x
-{-# INLINE happyIn73 #-}
-happyOut73 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut73 x = unsafeCoerce# x
-{-# INLINE happyOut73 #-}
-happyIn74 :: (RHS) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn74 x = unsafeCoerce# x
-{-# INLINE happyIn74 #-}
-happyOut74 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (RHS)
-happyOut74 x = unsafeCoerce# x
-{-# INLINE happyOut74 #-}
-happyIn75 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn75 x = unsafeCoerce# x
-{-# INLINE happyIn75 #-}
-happyOut75 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut75 x = unsafeCoerce# x
-{-# INLINE happyOut75 #-}
-happyIn76 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn76 x = unsafeCoerce# x
-{-# INLINE happyIn76 #-}
-happyOut76 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut76 x = unsafeCoerce# x
-{-# INLINE happyOut76 #-}
-happyIn77 :: (Name) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn77 x = unsafeCoerce# x
-{-# INLINE happyIn77 #-}
-happyOut77 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Name)
-happyOut77 x = unsafeCoerce# x
-{-# INLINE happyOut77 #-}
-happyIn78 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn78 x = unsafeCoerce# x
-{-# INLINE happyIn78 #-}
-happyOut78 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut78 x = unsafeCoerce# x
-{-# INLINE happyOut78 #-}
-happyIn79 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn79 x = unsafeCoerce# x
-{-# INLINE happyIn79 #-}
-happyOut79 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
-happyOut79 x = unsafeCoerce# x
-{-# INLINE happyOut79 #-}
-happyIn80 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn80 x = unsafeCoerce# x
-{-# INLINE happyIn80 #-}
-happyOut80 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut80 x = unsafeCoerce# x
-{-# INLINE happyOut80 #-}
-happyIn81 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn81 x = unsafeCoerce# x
-{-# INLINE happyIn81 #-}
-happyOut81 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut81 x = unsafeCoerce# x
-{-# INLINE happyOut81 #-}
-happyIn82 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn82 x = unsafeCoerce# x
-{-# INLINE happyIn82 #-}
-happyOut82 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut82 x = unsafeCoerce# x
-{-# INLINE happyOut82 #-}
-happyIn83 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn83 x = unsafeCoerce# x
-{-# INLINE happyIn83 #-}
-happyOut83 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut83 x = unsafeCoerce# x
-{-# INLINE happyOut83 #-}
-happyIn84 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn84 x = unsafeCoerce# x
-{-# INLINE happyIn84 #-}
-happyOut84 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut84 x = unsafeCoerce# x
-{-# INLINE happyOut84 #-}
-happyIn85 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn85 x = unsafeCoerce# x
-{-# INLINE happyIn85 #-}
-happyOut85 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut85 x = unsafeCoerce# x
-{-# INLINE happyOut85 #-}
-happyIn86 :: ([String]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn86 x = unsafeCoerce# x
-{-# INLINE happyIn86 #-}
-happyOut86 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([String])
-happyOut86 x = unsafeCoerce# x
-{-# INLINE happyOut86 #-}
-happyIn87 :: ([HoleName]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn87 x = unsafeCoerce# x
-{-# INLINE happyIn87 #-}
-happyOut87 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([HoleName])
-happyOut87 x = unsafeCoerce# x
-{-# INLINE happyOut87 #-}
-happyIn88 :: (HoleName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn88 x = unsafeCoerce# x
-{-# INLINE happyIn88 #-}
-happyOut88 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (HoleName)
-happyOut88 x = unsafeCoerce# x
-{-# INLINE happyOut88 #-}
-happyIn89 :: (String) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn89 x = unsafeCoerce# x
-{-# INLINE happyIn89 #-}
-happyOut89 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (String)
-happyOut89 x = unsafeCoerce# x
-{-# INLINE happyOut89 #-}
-happyIn90 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn90 x = unsafeCoerce# x
-{-# INLINE happyIn90 #-}
-happyOut90 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut90 x = unsafeCoerce# x
-{-# INLINE happyOut90 #-}
-happyIn91 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn91 x = unsafeCoerce# x
-{-# INLINE happyIn91 #-}
-happyOut91 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
-happyOut91 x = unsafeCoerce# x
-{-# INLINE happyOut91 #-}
-happyIn92 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn92 x = unsafeCoerce# x
-{-# INLINE happyIn92 #-}
-happyOut92 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut92 x = unsafeCoerce# x
-{-# INLINE happyOut92 #-}
-happyIn93 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn93 x = unsafeCoerce# x
-{-# INLINE happyIn93 #-}
-happyOut93 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut93 x = unsafeCoerce# x
-{-# INLINE happyOut93 #-}
-happyIn94 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn94 x = unsafeCoerce# x
-{-# INLINE happyIn94 #-}
-happyOut94 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut94 x = unsafeCoerce# x
-{-# INLINE happyOut94 #-}
-happyIn95 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn95 x = unsafeCoerce# x
-{-# INLINE happyIn95 #-}
-happyOut95 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
-happyOut95 x = unsafeCoerce# x
-{-# INLINE happyOut95 #-}
-happyIn96 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn96 x = unsafeCoerce# x
-{-# INLINE happyIn96 #-}
-happyOut96 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut96 x = unsafeCoerce# x
-{-# INLINE happyOut96 #-}
-happyIn97 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn97 x = unsafeCoerce# x
-{-# INLINE happyIn97 #-}
-happyOut97 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
-happyOut97 x = unsafeCoerce# x
-{-# INLINE happyOut97 #-}
-happyIn98 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn98 x = unsafeCoerce# x
-{-# INLINE happyIn98 #-}
-happyOut98 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
-happyOut98 x = unsafeCoerce# x
-{-# INLINE happyOut98 #-}
-happyIn99 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn99 x = unsafeCoerce# x
-{-# INLINE happyIn99 #-}
-happyOut99 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
-happyOut99 x = unsafeCoerce# x
-{-# INLINE happyOut99 #-}
-happyIn100 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn100 x = unsafeCoerce# x
-{-# INLINE happyIn100 #-}
-happyOut100 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
-happyOut100 x = unsafeCoerce# x
-{-# INLINE happyOut100 #-}
-happyIn101 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn101 x = unsafeCoerce# x
-{-# INLINE happyIn101 #-}
-happyOut101 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
-happyOut101 x = unsafeCoerce# x
-{-# INLINE happyOut101 #-}
-happyIn102 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn102 x = unsafeCoerce# x
-{-# INLINE happyIn102 #-}
-happyOut102 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
-happyOut102 x = unsafeCoerce# x
-{-# INLINE happyOut102 #-}
-happyIn103 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn103 x = unsafeCoerce# x
-{-# INLINE happyIn103 #-}
-happyOut103 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
-happyOut103 x = unsafeCoerce# x
-{-# INLINE happyOut103 #-}
-happyIn104 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn104 x = unsafeCoerce# x
-{-# INLINE happyIn104 #-}
-happyOut104 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
-happyOut104 x = unsafeCoerce# x
-{-# INLINE happyOut104 #-}
-happyIn105 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn105 x = unsafeCoerce# x
-{-# INLINE happyIn105 #-}
-happyOut105 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
-happyOut105 x = unsafeCoerce# x
-{-# INLINE happyOut105 #-}
-happyIn106 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn106 x = unsafeCoerce# x
-{-# INLINE happyIn106 #-}
-happyOut106 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
-happyOut106 x = unsafeCoerce# x
-{-# INLINE happyOut106 #-}
-happyIn107 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn107 x = unsafeCoerce# x
-{-# INLINE happyIn107 #-}
-happyOut107 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
-happyOut107 x = unsafeCoerce# x
-{-# INLINE happyOut107 #-}
-happyIn108 :: ([TypeSignature]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn108 x = unsafeCoerce# x
-{-# INLINE happyIn108 #-}
-happyOut108 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypeSignature])
-happyOut108 x = unsafeCoerce# x
-{-# INLINE happyOut108 #-}
-happyIn109 :: ([TypeSignature]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn109 x = unsafeCoerce# x
-{-# INLINE happyIn109 #-}
-happyOut109 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypeSignature])
-happyOut109 x = unsafeCoerce# x
-{-# INLINE happyOut109 #-}
-happyIn110 :: ([Arg TypeSignature]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn110 x = unsafeCoerce# x
-{-# INLINE happyIn110 #-}
-happyOut110 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Arg TypeSignature])
-happyOut110 x = unsafeCoerce# x
-{-# INLINE happyOut110 #-}
-happyIn111 :: ([Arg TypeSignature]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn111 x = unsafeCoerce# x
-{-# INLINE happyIn111 #-}
-happyOut111 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Arg TypeSignature])
-happyOut111 x = unsafeCoerce# x
-{-# INLINE happyOut111 #-}
-happyIn112 :: ([Constructor]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn112 x = unsafeCoerce# x
-{-# INLINE happyIn112 #-}
-happyOut112 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Constructor])
-happyOut112 x = unsafeCoerce# x
-{-# INLINE happyOut112 #-}
-happyIn113 :: ((Maybe Name, [Declaration])) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn113 x = unsafeCoerce# x
-{-# INLINE happyIn113 #-}
-happyOut113 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ((Maybe Name, [Declaration]))
-happyOut113 x = unsafeCoerce# x
-{-# INLINE happyOut113 #-}
-happyIn114 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn114 x = unsafeCoerce# x
-{-# INLINE happyIn114 #-}
-happyOut114 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
-happyOut114 x = unsafeCoerce# x
-{-# INLINE happyOut114 #-}
-happyIn115 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn115 x = unsafeCoerce# x
-{-# INLINE happyIn115 #-}
-happyOut115 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
-happyOut115 x = unsafeCoerce# x
-{-# INLINE happyOut115 #-}
-happyIn116 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyIn116 x = unsafeCoerce# x
-{-# INLINE happyIn116 #-}
-happyOut116 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
-happyOut116 x = unsafeCoerce# x
-{-# INLINE happyOut116 #-}
-happyInTok :: Token -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
-happyInTok x = unsafeCoerce# x
-{-# INLINE happyInTok #-}
-happyOutTok :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> Token
-happyOutTok x = unsafeCoerce# x
-{-# INLINE happyOutTok #-}
-
-
-happyActOffsets :: HappyAddr
-happyActOffsets = HappyA# "\x00\x00\xac\x03\x17\x04\x00\x00\x24\x02\xb5\x00\xfc\x03\x0b\x04\x00\x00\x0b\x04\x03\x04\x00\x00\xf3\x03\x00\x00\x00\x00\x00\x00\x00\x00\x56\x01\x1e\x03\xac\x03\xf8\x03\x00\x00\xfd\xff\x00\x04\xfb\x03\x00\x00\x00\x00\x30\x01\xef\x03\x00\x00\x00\x00\xf0\x03\x00\x00\x00\x00\xea\x00\xfb\x02\xda\x02\x00\x00\x00\x00\x00\x00\xea\x03\xee\xff\xf7\x03\xf2\x03\xf6\x03\xee\x03\xf1\x03\x00\x00\xec\x03\xeb\x03\x00\x00\x00\x00\x00\x00\xea\x00\xac\x03\x00\x00\xe9\x03\xea\x00\x00\x00\x8b\x03\x68\x03\x00\x00\xb1\x02\x90\x02\x19\x04\x88\x00\x47\x03\xe7\x03\x88\x00\xcf\x03\xcf\x03\xd7\x03\xda\x03\x0f\x04\x00\x00\xcf\x03\x00\x00\x00\x00\x00\x00\x00\x00\x47\x03\xcf\x03\xf0\x03\x00\x00\x00\x00\xe4\x03\xe4\x03\x00\x00\xe4\x03\x00\x00\xfa\xff\x70\x02\x70\x02\xe6\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x03\x00\x00\x00\x00\x88\x00\xac\x00\xf0\x03\x70\x02\x00\x00\xb4\x01\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x03\x00\x00\x00\x00\xcf\x03\x47\x03\xd5\x03\xce\x03\xc3\x03\x00\x00\xcd\x03\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x03\x00\x00\x00\x00\x47\x03\x47\x03\xc0\x03\x00\x00\xcb\x03\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x03\x00\x00\x47\x03\x67\x02\x85\x02\x00\x00\xac\x00\xf0\x03\x06\x01\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x03\x00\x00\xb7\x03\xb1\x03\xaf\x03\x1b\x03\xa4\x03\x88\x00\xdc\x03\x88\x00\x9d\x03\x99\x03\x00\x00\x00\x00\x00\x00\xb0\x03\x00\x00\x06\x01\x00\x00\xc8\x03\x2a\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\xae\x03\x00\x00\xa8\x00\xd1\x03\xa1\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x03\xa5\x03\xc5\x00\x92\x03\x92\x03\x92\x03\x22\x01\xa3\x03\x87\x03\x87\x03\x87\x03\x97\x03\x97\x03\x97\x03\x86\x03\x8f\x03\x93\x06\x00\x00\x00\x00\x47\x03\x00\x00\x00\x00\x7e\x03\x78\x03\x7c\x03\x77\x03\x77\x03\x77\x03\x77\x03\xb2\x03\xf0\x03\x96\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x95\x00\x95\x00\x7b\x03\x00\x00\x88\x00\x88\x00\x88\x00\x88\x00\x70\x03\x7a\x03\x00\x00\x00\x00\x29\x00\x47\x03\xad\x03\x47\x03\x47\x03\x67\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x03\x74\x03\x00\x00\x6e\x03\x72\x03\x64\x03\x6d\x03\x75\x03\x91\x03\x00\x00\x00\x00\x65\x03\x00\x00\x00\x00\x71\x03\x58\x03\x58\x03\x88\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x03\x00\x00\x00\x00\x6c\x03\x54\x03\x69\x03\x88\x00\x28\x00\x63\x03\x5f\x03\x5e\x03\x61\x03\x95\x00\x00\x00\x00\x00\x00\x00\xf7\xff\x00\x00\x00\x00\x55\x03\x00\x00\x4c\x03\xf0\x03\x6f\x03\x44\x03\x00\x00\x3d\x03\x3b\x03\x46\x03\x00\x00\x42\x03\x3a\x03\x38\x03\x00\x00\x00\x00\x36\x03\x34\x03\x33\x03\x00\x00\x00\x00\x31\x03\x00\x00\x31\x03\x00\x00\xde\x00\x85\x02\x47\x03\x47\x03\x47\x03\x43\x03\x47\x03\x3c\x03\x2b\x03\x85\x02\x67\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x01\x00\x00\x3e\x03\x21\x00\x3e\x03\x27\x03\x37\x03\x00\x00\x47\x03\x06\x01\x00\x00\x62\x03\x5d\x03\x5a\x03\x21\x00\x32\x03\x00\x00\xde\x00\x2c\x03\x00\x00\xec\x00\xe8\xff\x1a\x03\x00\x00\x20\x03\x00\x00\x19\x03\x00\x00\x00\x00\x00\x00\x16\x03\x00\x00\xe8\xff\x14\x03\x09\x03\x00\x00\x09\x03\x47\x03\x00\x00\xde\x00\x00\x00\x13\x03\x13\x03\x13\x03\x00\x00\x06\x01\x47\x03\x00\x00\xf5\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x02\x00\x00\x00\x00\x00\x00\xe5\x02\x00\x00\x00\x00\x00\x00\xfd\x02\xde\x00\x00\x00\xf9\x02\x00\x00\x00\x00\xde\x00\xf4\x02\xf4\x02\x1b\x00\x9d\x01\x85\x02\x00\x00\x21\x00\x00\x00\x85\x02\xd9\x02\x00\x00\x00\x00\x21\x00\xe8\x02\x00\x00\x85\x02\x00\x00\x21\x00\x00\x00\x00\x00"#
-
-happyGotoOffsets :: HappyAddr
-happyGotoOffsets = HappyA# "\x74\x02\x8f\x06\x0f\x00\xf2\x02\x0e\x03\x79\x01\x00\x00\x07\x03\x00\x00\x06\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x01\x7a\x06\x00\x00\x00\x00\xc3\x01\x0e\x00\x00\x00\x00\x00\x00\x00\xc1\x01\xe6\x02\x00\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x31\x01\x78\x04\x5d\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x02\x65\x06\x00\x00\x00\x00\x4b\x01\x00\x00\xb5\x04\xa1\x04\x00\x00\x50\x06\x3b\x06\x00\x00\x0b\x03\x26\x06\x00\x00\xfe\x02\x93\x04\xfa\x03\x34\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x11\x06\xd8\x03\x23\x00\x00\x00\x00\x00\x2d\x00\x2c\x00\x00\x00\x06\x00\x00\x00\xf0\x02\x7a\x02\x62\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\x02\x00\x00\x00\x00\xcc\x02\xb8\x04\x33\x00\x07\x02\x00\x00\xef\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x01\xfc\x05\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x04\x00\x00\x00\x00\xd2\x05\xbd\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x00\x00\xa8\x05\x37\x01\x84\x02\x00\x00\x11\x03\x32\x00\xf6\x04\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x02\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x02\xdc\x02\xc1\x02\x00\x00\x92\x02\x00\x00\xc8\x02\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\xe1\x04\x00\x00\xd8\x00\x93\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x02\xd2\x02\x00\x00\x00\x00\x8b\x02\x9b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1c\x00\xf4\x01\xbc\x02\xbb\x02\xaa\x02\x9c\x02\x19\x00\x98\x02\x96\x02\x91\x02\x0d\x00\x0c\x00\x0b\x00\x8d\x02\x57\x02\x00\x00\x00\x00\x00\x00\x23\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x02\x73\x02\x71\x02\x0e\x02\xde\x01\xc5\x02\x18\x02\x00\x00\x00\x00\x00\x00\xb6\x01\x00\x00\xb0\x01\x0e\x01\x00\x00\x00\x00\x69\x02\xe3\x01\x5b\x01\x33\x01\x0f\x02\x00\x00\x00\x00\x00\x00\xd6\x01\x93\x05\xd0\x01\x7e\x05\x69\x05\xe8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\xf6\x01\x00\x00\x00\x00\x00\x00\xe7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xc2\x01\x89\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x0a\x00\x87\x01\x17\x00\x0c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\x36\x00\x00\x00\x00\x00\x00\x00\x6c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x01\x9f\x02\x3f\x01\x65\x01\x00\x00\x00\x00\x50\x01\x00\x00\x00\x00\x00\x00\x48\x01\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x3b\x00\x00\x00\x27\x00\x04\x02\x3f\x05\x2a\x05\x15\x05\x05\x00\x00\x05\x00\x00\x90\x00\xfe\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x09\x00\x23\x01\x12\x01\xb8\x00\x00\x00\x00\x00\xeb\x04\xcc\x04\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x00\xf2\x00\x00\x00\x12\x02\x00\x00\x00\x00\xdf\x00\x40\x03\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x00\x00\xf1\x02\x00\x00\x9a\x00\x00\x00\x3a\x00\xd6\x04\x00\x00\x18\x00\x00\x00\x03\x00\x16\x00\x15\x00\x00\x00\x78\x01\xbc\x04\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x01\x00\x00\x00\x00\x00\x00\x00\x00\x61\x01\xff\xff\x04\x00\x1f\x00\x4a\x00\xdc\x01\x00\x00\x61\x00\x00\x00\x63\x01\x52\x00\x00\x00\x00\x00\x47\x00\xfe\xff\x00\x00\xe7\x00\x00\x00\x10\x00\x00\x00\x00\x00"#
-
-happyDefActions :: HappyAddr
-happyDefActions = HappyA# "\xfa\xff\x00\x00\xb6\xff\x00\x00\xfc\xff\x00\x00\x00\x00\xb6\xff\xb3\xff\xb6\xff\x9d\xff\x83\xff\x00\x00\x90\xff\x8f\xff\x8d\xff\x8c\xff\x00\x00\x87\xff\x00\x00\x00\x00\x6d\xff\x6b\xff\xb6\xff\x00\x00\x7f\xff\x7e\xff\x00\x00\x00\x00\x7d\xff\x7c\xff\x00\x00\x80\xff\x81\xff\x00\x00\x00\x00\x00\x00\xab\xff\x9e\xff\x82\xff\x00\x00\x9d\xff\x00\x00\x00\x00\x8d\xff\x00\x00\x68\xff\x78\xff\x00\x00\x00\x00\x77\xff\x9b\xff\x52\xff\x5d\xff\x00\x00\x89\xff\x61\xff\x5e\xff\x9a\xff\x00\x00\x00\x00\x75\xff\x00\x00\x00\x00\x00\x00\x56\xff\x00\x00\x00\x00\x57\xff\x00\x00\x00\x00\x73\xff\x00\x00\x00\x00\x6c\xff\x00\x00\x6e\xff\x93\xff\x8b\xff\x84\xff\x00\x00\x00\x00\x00\x00\xb5\xff\xb4\xff\xb6\xff\xb6\xff\xfa\xfe\xb6\xff\xf5\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xf9\xff\xf8\xff\xf7\xff\xf6\xff\xf5\xff\xf4\xff\xf3\xff\xf2\xff\xf1\xff\xf0\xff\xef\xff\xee\xff\xed\xff\xec\xff\xeb\xff\xea\xff\xe9\xff\xe8\xff\xe7\xff\xe6\xff\xe5\xff\xe4\xff\xe3\xff\xe2\xff\xe1\xff\xe0\xff\xdf\xff\xde\xff\xdd\xff\xdc\xff\xdb\xff\xda\xff\xd9\xff\xd5\xff\xd4\xff\xd8\xff\xd7\xff\xd6\xff\xd3\xff\xd2\xff\xd1\xff\xd0\xff\xcf\xff\xce\xff\xcd\xff\xcc\xff\xcb\xff\xca\xff\xc9\xff\xc8\xff\xc7\xff\xc6\xff\xc5\xff\xc4\xff\xc3\xff\xc2\xff\xc1\xff\xc0\xff\xbf\xff\xbe\xff\xbd\xff\xbc\xff\xbb\xff\xba\xff\xb9\xff\xb8\xff\xb7\xff\x96\xff\x9d\xff\x9c\xff\x53\xff\x48\xff\x01\xff\x00\x00\xb2\xff\x00\x00\xf9\xfe\xf8\xfe\x76\xff\x8e\xff\x00\x00\x91\xff\x97\xff\x87\xff\x00\x00\xb6\xff\x00\x00\x00\x00\x72\xff\x71\xff\x00\x00\x59\xff\x5a\xff\x92\xff\x58\xff\x00\x00\x5b\xff\x5c\xff\x60\xff\x62\xff\x8a\xff\x5f\xff\x6a\xff\x79\xff\x00\x00\x69\xff\x7b\xff\x00\x00\x00\x00\x00\x00\x63\xff\x64\xff\x66\xff\x67\xff\x86\xff\x51\xff\x00\x00\x74\xff\x00\x00\x00\x00\xb6\xff\x88\xff\x48\xff\x01\xff\x48\xff\xfd\xfe\x50\xff\x4e\xff\x4c\xff\x49\xff\x4a\xff\x00\x00\x00\x00\x00\x00\x48\xff\x00\x00\x53\xff\x00\x00\x53\xff\x00\x00\x96\xff\x95\xff\xed\xfe\x55\xff\xb6\xff\x54\xff\x48\xff\x4d\xff\xad\xff\x00\x00\x3d\xff\x4b\xff\x02\xff\x00\xff\xfc\xfe\x00\x00\xb6\xff\xaf\xff\x9d\xff\x33\xff\x18\xff\xd5\xfe\x2e\xff\x2c\xff\x2b\xff\x2a\xff\x29\xff\x2d\xff\x28\xff\x27\xff\x26\xff\x25\xff\x24\xff\x1e\xff\x23\xff\x21\xff\x22\xff\x20\xff\x1f\xff\xf6\xfe\xf4\xfe\xf3\xfe\xf1\xfe\xf2\xfe\xee\xfe\xf0\xfe\xef\xfe\xb6\xff\xb6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\xff\x00\x00\x00\x00\x00\x00\xb6\xff\xb6\xff\xb6\xff\x00\x00\x37\xff\x00\x00\x6f\xff\x70\xff\x00\x00\x7a\xff\x65\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\xff\x00\x00\x00\x00\x0d\xff\x0e\xff\x0f\xff\x00\x00\xac\xff\x00\x00\x00\x00\x00\x00\x10\xff\x53\xff\x53\xff\x53\xff\x53\xff\x00\x00\x00\x00\x0b\xff\x0c\xff\x31\xff\x00\x00\x35\xff\x00\x00\x00\x00\x00\x00\xd9\xfe\xb0\xff\xb1\xff\xae\xff\x3f\xff\x3b\xff\x00\x00\x3c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x43\xff\x00\x00\xad\xff\x4f\xff\x00\x00\xd7\xfe\xf7\xfe\xb6\xff\x00\x00\x00\x00\xad\xff\x45\xff\x41\xff\x46\xff\x3e\xff\x47\xff\x00\x00\xd6\xfe\x1d\xff\x32\xff\x39\xff\x00\x00\x19\xff\x1a\xff\xb6\xff\x00\x00\xb6\xff\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb6\xff\x98\xff\x13\xff\x12\xff\x11\xff\x00\x00\x07\xff\x05\xff\x00\x00\x03\xff\x37\xff\x85\xff\x35\xff\x96\xff\x94\xff\x00\x00\x96\xff\x00\x00\xe6\xfe\x00\x00\x00\x00\x00\x00\xe7\xfe\xe8\xfe\x00\x00\x96\xff\x00\x00\x38\xff\x36\xff\x00\x00\x06\xff\x00\x00\x99\xff\x00\x00\xb6\xff\x00\x00\x00\x00\x00\x00\xb6\xff\x00\x00\x00\x00\x00\x00\xb6\xff\x00\x00\x30\xff\x34\xff\x3a\xff\x44\xff\x42\xff\x40\xff\x00\x00\xd8\xfe\xb6\xff\x00\x00\xb6\xff\xa9\xff\x00\x00\xe3\xfe\x00\x00\x48\xff\xfb\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xb6\xff\xa7\xff\xa3\xff\x00\x00\xe0\xfe\x00\x00\x00\x00\x0a\xff\x09\xff\x00\x00\xea\xfe\x00\x00\xeb\xfe\xec\xfe\xe9\xfe\x00\x00\x08\xff\xa5\xff\x00\x00\x00\x00\xa8\xff\x00\x00\x00\x00\xa4\xff\x00\x00\xe2\xfe\xb6\xff\xb6\xff\xb6\xff\xff\xfe\x48\xff\x00\x00\xaa\xff\x00\x00\xe5\xfe\x2f\xff\xe4\xfe\x1c\xff\xfe\xfe\x00\x00\xde\xfe\x17\xff\x16\xff\x00\x00\x15\xff\xe1\xfe\x1b\xff\x00\x00\xa1\xff\xa6\xff\x00\x00\x04\xff\xa2\xff\x9f\xff\xb6\xff\xb6\xff\x00\x00\x00\x00\xb6\xff\xa0\xff\x00\x00\xdd\xfe\xb6\xff\x00\x00\xdf\xfe\x14\xff\x00\x00\xb6\xff\xda\xfe\xb6\xff\xdc\xfe\x00\x00\xdb\xfe"#
-
-happyCheck :: HappyAddr
-happyCheck = HappyA# "\xff\xff\x03\x00\x03\x00\x09\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x05\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x04\x00\x05\x00\x2d\x00\x06\x00\x03\x00\x03\x00\x03\x00\x03\x00\x00\x00\x03\x00\x0a\x00\x30\x00\x03\x00\x03\x00\x00\x00\x0a\x00\x35\x00\x0c\x00\x06\x00\x0e\x00\x30\x00\x40\x00\x0a\x00\x0b\x00\x03\x00\x03\x00\x0a\x00\x37\x00\x03\x00\x03\x00\x0a\x00\x0f\x00\x0c\x00\x37\x00\x0e\x00\x39\x00\x40\x00\x0f\x00\x0f\x00\x40\x00\x41\x00\x0a\x00\x0a\x00\x0a\x00\x1c\x00\x0a\x00\x0f\x00\x0f\x00\x54\x00\x0a\x00\x0b\x00\x57\x00\x11\x00\x12\x00\x5a\x00\x37\x00\x38\x00\x39\x00\x06\x00\x1c\x00\x1c\x00\x06\x00\x1d\x00\x1e\x00\x1f\x00\x0a\x00\x0a\x00\x0b\x00\x3c\x00\x30\x00\x0f\x00\x42\x00\x40\x00\x0a\x00\x3c\x00\x3d\x00\x59\x00\x41\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x06\x00\x59\x00\x42\x00\x40\x00\x67\x00\x6e\x00\x6e\x00\x6b\x00\x6e\x00\x6e\x00\x6c\x00\x6d\x00\x6c\x00\x6d\x00\x6c\x00\x6c\x00\x6c\x00\x6c\x00\x6c\x00\x6c\x00\x66\x00\x66\x00\x69\x00\x67\x00\x6a\x00\x6a\x00\x68\x00\x66\x00\x66\x00\x3a\x00\x59\x00\x59\x00\x55\x00\x55\x00\x3f\x00\x40\x00\x50\x00\x41\x00\x43\x00\x53\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x0a\x00\x0b\x00\x0a\x00\x0a\x00\x54\x00\x06\x00\x56\x00\x57\x00\x58\x00\x0a\x00\x0a\x00\x5b\x00\x53\x00\x5d\x00\x0f\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x0a\x00\x0b\x00\x0c\x00\x31\x00\x0e\x00\x0a\x00\x2f\x00\x08\x00\x09\x00\x37\x00\x0a\x00\x39\x00\x0a\x00\x0b\x00\x0f\x00\x0f\x00\x31\x00\x3a\x00\x40\x00\x37\x00\x37\x00\x39\x00\x39\x00\x37\x00\x09\x00\x1e\x00\x1f\x00\x41\x00\x1c\x00\x3a\x00\x0f\x00\x40\x00\x40\x00\x2f\x00\x3f\x00\x40\x00\x53\x00\x08\x00\x43\x00\x35\x00\x45\x00\x46\x00\x08\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x0a\x00\x03\x00\x06\x00\x40\x00\x54\x00\x07\x00\x56\x00\x57\x00\x58\x00\x0a\x00\x3e\x00\x5b\x00\x03\x00\x5d\x00\x0f\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x40\x00\x41\x00\x34\x00\x35\x00\x36\x00\x0a\x00\x2d\x00\x34\x00\x35\x00\x36\x00\x0f\x00\x0a\x00\x0b\x00\x0c\x00\x13\x00\x0e\x00\x03\x00\x0a\x00\x39\x00\x0a\x00\x19\x00\x1a\x00\x31\x00\x1c\x00\x11\x00\x40\x00\x11\x00\x12\x00\x37\x00\x3a\x00\x39\x00\x24\x00\x39\x00\x26\x00\x3f\x00\x40\x00\x06\x00\x40\x00\x43\x00\x40\x00\x45\x00\x46\x00\x23\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x2d\x00\x14\x00\x0a\x00\x54\x00\x0a\x00\x56\x00\x57\x00\x58\x00\x0a\x00\x11\x00\x5b\x00\x11\x00\x5d\x00\x0f\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x23\x00\x0a\x00\x23\x00\x53\x00\x27\x00\x28\x00\x29\x00\x39\x00\x11\x00\x15\x00\x2d\x00\x2c\x00\x2d\x00\x31\x00\x40\x00\x0a\x00\x14\x00\x0a\x00\x03\x00\x37\x00\x0f\x00\x39\x00\x07\x00\x0a\x00\x11\x00\x0c\x00\x23\x00\x0e\x00\x40\x00\x3a\x00\x19\x00\x1a\x00\x29\x00\x1c\x00\x3f\x00\x40\x00\x2d\x00\x14\x00\x43\x00\x3c\x00\x45\x00\x46\x00\x23\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x2d\x00\x33\x00\x3b\x00\x54\x00\x36\x00\x56\x00\x57\x00\x58\x00\x0a\x00\x0a\x00\x5b\x00\x0a\x00\x5d\x00\x0f\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x01\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x06\x00\x07\x00\x08\x00\x09\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x0a\x00\x1e\x00\x08\x00\x09\x00\x52\x00\x53\x00\x0a\x00\x11\x00\x12\x00\x0f\x00\x27\x00\x28\x00\x29\x00\x11\x00\x12\x00\x2c\x00\x2d\x00\x0a\x00\x0a\x00\x54\x00\x31\x00\x32\x00\x57\x00\x34\x00\x11\x00\x5a\x00\x37\x00\x5c\x00\x39\x00\x5e\x00\x0a\x00\x3c\x00\x0c\x00\x3e\x00\x0e\x00\x40\x00\x41\x00\x03\x00\x43\x00\x00\x00\x01\x00\x07\x00\x23\x00\x22\x00\x23\x00\x06\x00\x07\x00\x08\x00\x09\x00\x2a\x00\x2b\x00\x0a\x00\x2d\x00\x08\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x11\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x0a\x00\x1e\x00\x0a\x00\x03\x00\x0a\x00\x0f\x00\x10\x00\x07\x00\x23\x00\x03\x00\x27\x00\x28\x00\x29\x00\x07\x00\x3c\x00\x2c\x00\x2d\x00\x2c\x00\x2d\x00\x0a\x00\x31\x00\x32\x00\x3e\x00\x34\x00\x0f\x00\x10\x00\x37\x00\x0a\x00\x39\x00\x3d\x00\x0a\x00\x3c\x00\x0c\x00\x3e\x00\x0e\x00\x40\x00\x41\x00\x15\x00\x43\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x01\x00\x51\x00\x52\x00\x53\x00\x0a\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0f\x00\x10\x00\x0a\x00\x00\x00\x01\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x11\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x0a\x00\x1e\x00\x15\x00\x03\x00\x15\x00\x0f\x00\x10\x00\x07\x00\x23\x00\x15\x00\x27\x00\x28\x00\x29\x00\x01\x00\x3b\x00\x2c\x00\x2d\x00\x2c\x00\x2d\x00\x0a\x00\x31\x00\x32\x00\x09\x00\x34\x00\x0a\x00\x0a\x00\x37\x00\x09\x00\x39\x00\x09\x00\x12\x00\x11\x00\x11\x00\x3e\x00\x0a\x00\x40\x00\x41\x00\x0a\x00\x43\x00\x1b\x00\x1c\x00\x1d\x00\x0f\x00\x2a\x00\x40\x00\x41\x00\x01\x00\x2e\x00\x0a\x00\x23\x00\x23\x00\x27\x00\x28\x00\x29\x00\x1b\x00\x1c\x00\x29\x00\x2d\x00\x2c\x00\x2d\x00\x2d\x00\x31\x00\x32\x00\x12\x00\x34\x00\x0a\x00\x0a\x00\x37\x00\x3d\x00\x39\x00\x3a\x00\x0a\x00\x1b\x00\x1c\x00\x1d\x00\x0a\x00\x40\x00\x41\x00\x11\x00\x43\x00\x0f\x00\x03\x00\x0a\x00\x06\x00\x27\x00\x28\x00\x29\x00\x01\x00\x14\x00\x11\x00\x2d\x00\x44\x00\x1b\x00\x1c\x00\x31\x00\x32\x00\x23\x00\x34\x00\x0a\x00\x33\x00\x37\x00\x38\x00\x39\x00\x14\x00\x12\x00\x2c\x00\x2d\x00\x23\x00\x0a\x00\x40\x00\x41\x00\x01\x00\x43\x00\x1b\x00\x1c\x00\x1d\x00\x2c\x00\x2d\x00\x0a\x00\x0a\x00\x01\x00\x0c\x00\x0d\x00\x0f\x00\x10\x00\x27\x00\x28\x00\x29\x00\x31\x00\x32\x00\x33\x00\x2d\x00\x0a\x00\x03\x00\x03\x00\x31\x00\x32\x00\x12\x00\x34\x00\x11\x00\x02\x00\x37\x00\x2a\x00\x39\x00\x3a\x00\x0a\x00\x1b\x00\x1c\x00\x1d\x00\x40\x00\x40\x00\x41\x00\x11\x00\x43\x00\x2a\x00\x01\x00\x3b\x00\x23\x00\x27\x00\x28\x00\x29\x00\x0a\x00\x0b\x00\x0c\x00\x2d\x00\x2b\x00\x3b\x00\x2d\x00\x31\x00\x32\x00\x23\x00\x34\x00\x12\x00\x38\x00\x37\x00\x38\x00\x39\x00\x40\x00\x2b\x00\x3a\x00\x2d\x00\x1b\x00\x1c\x00\x40\x00\x41\x00\x2a\x00\x43\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x27\x00\x28\x00\x29\x00\x01\x00\x40\x00\x0a\x00\x2d\x00\x0c\x00\x0d\x00\x3a\x00\x31\x00\x32\x00\x33\x00\x34\x00\x33\x00\x36\x00\x37\x00\x40\x00\x39\x00\x3f\x00\x12\x00\x40\x00\x2f\x00\x2a\x00\x03\x00\x40\x00\x41\x00\x03\x00\x43\x00\x1b\x00\x1c\x00\x1d\x00\x03\x00\x2f\x00\x40\x00\x2a\x00\x01\x00\x03\x00\x40\x00\x30\x00\x2a\x00\x27\x00\x28\x00\x29\x00\x40\x00\x3f\x00\x04\x00\x2d\x00\x3f\x00\x42\x00\x3f\x00\x31\x00\x32\x00\x12\x00\x34\x00\x42\x00\x42\x00\x37\x00\x42\x00\x39\x00\x3f\x00\x36\x00\x1b\x00\x1c\x00\x3f\x00\x42\x00\x40\x00\x41\x00\x34\x00\x43\x00\x2a\x00\x01\x00\x2f\x00\x2f\x00\x27\x00\x28\x00\x29\x00\x2f\x00\x2a\x00\x40\x00\x2d\x00\x2a\x00\x0f\x00\x40\x00\x31\x00\x32\x00\x2a\x00\x34\x00\x12\x00\x0d\x00\x37\x00\x3b\x00\x39\x00\x3a\x00\x2e\x00\x40\x00\x38\x00\x1b\x00\x1c\x00\x40\x00\x41\x00\x38\x00\x43\x00\x38\x00\x01\x00\x40\x00\x2e\x00\x40\x00\x04\x00\x27\x00\x28\x00\x29\x00\x3b\x00\x3b\x00\x05\x00\x2d\x00\x42\x00\x42\x00\x3f\x00\x31\x00\x32\x00\x12\x00\x34\x00\x42\x00\x2a\x00\x37\x00\x38\x00\x39\x00\x36\x00\x40\x00\x1b\x00\x1c\x00\x1d\x00\x43\x00\x40\x00\x41\x00\x2a\x00\x43\x00\x2a\x00\x01\x00\x30\x00\x40\x00\x27\x00\x28\x00\x29\x00\x05\x00\x0f\x00\x2a\x00\x2d\x00\x2a\x00\x42\x00\x3f\x00\x31\x00\x32\x00\x03\x00\x34\x00\x12\x00\x0a\x00\x37\x00\x40\x00\x39\x00\x37\x00\x0f\x00\x37\x00\x0c\x00\x1b\x00\x1c\x00\x40\x00\x41\x00\x37\x00\x43\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x40\x00\x27\x00\x28\x00\x29\x00\x2e\x00\x3a\x00\x2e\x00\x2d\x00\x3a\x00\x30\x00\x2a\x00\x31\x00\x32\x00\x12\x00\x34\x00\x0a\x00\x1f\x00\x37\x00\x42\x00\x39\x00\x0f\x00\x36\x00\x1b\x00\x1c\x00\x13\x00\x2a\x00\x40\x00\x41\x00\x02\x00\x43\x00\x19\x00\x1a\x00\x3b\x00\x1c\x00\x40\x00\x28\x00\x29\x00\x33\x00\x02\x00\x33\x00\x2d\x00\x24\x00\x2e\x00\x26\x00\x31\x00\x32\x00\x38\x00\x38\x00\x2f\x00\x2f\x00\x37\x00\x3a\x00\x39\x00\x2a\x00\x33\x00\x3a\x00\x0a\x00\x44\x00\x40\x00\x40\x00\x41\x00\x0f\x00\x43\x00\x39\x00\x2a\x00\x13\x00\x44\x00\x35\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x44\x00\x2a\x00\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x0a\x00\x26\x00\xff\xff\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x0a\x00\x26\x00\xff\xff\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x19\x00\x1a\x00\xff\xff\x1c\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x13\x00\xff\xff\xff\xff\x24\x00\xff\xff\x26\x00\x19\x00\x1a\x00\xff\xff\x1c\x00\xff\xff\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x24\x00\x0a\x00\x26\x00\x13\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\x19\x00\x1a\x00\xff\xff\x1c\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x24\x00\xff\xff\x26\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
-
-happyTable :: HappyAddr
-happyTable = HappyA# "\x00\x00\xd6\x00\xf7\x01\xa9\x00\xaf\x01\xd6\x00\xe9\x01\xf6\x01\x61\x01\x05\x00\x61\x01\xa9\x00\x48\x00\x48\x00\x48\x00\x48\x00\x48\x00\x48\x00\x05\x00\x06\x00\x07\x00\xd2\x01\x06\x02\x9e\x01\xe5\x01\xe5\x01\xa6\x01\x53\x01\x41\x01\x55\x01\xcc\x00\x48\x01\x48\x01\x53\x01\xbf\x01\x53\x00\xc0\x01\xfe\x01\xc1\x01\x9d\x01\x26\x00\xb4\x01\xb5\x01\xa4\x01\x76\x01\x0a\x00\x86\x01\xaa\x00\xaa\x00\xbf\x01\x0b\x00\xc0\x01\x46\x00\xc1\x01\x4c\x00\x87\x01\x77\x01\x5a\x01\x26\x00\x27\x00\x0a\x00\x0a\x00\xb5\x00\xad\x00\x33\x00\x0b\x00\x0b\x00\x55\x00\xb4\x01\xed\x01\x56\x00\x7e\x01\x9d\x01\x57\x00\x56\x01\x57\x01\x58\x01\x04\x02\xda\x00\xda\x00\xfb\x01\xb6\x00\xb7\x00\xb8\x00\xfd\x00\xb4\x01\xb5\x01\x54\x01\xa5\x01\x0b\x00\xeb\x01\x26\x00\xff\x01\x54\x01\x55\x01\x08\x00\xb6\x01\xfe\x00\x0e\x00\x0f\x00\x10\x00\xaf\x00\x12\x00\x02\x02\x08\x00\xc2\x01\x26\x00\xa7\x01\x03\x02\xf8\x01\xea\x01\xd7\x00\xd7\x00\x62\x01\xb9\x01\x62\x01\x63\x01\xe1\x01\xa9\x01\x3a\x01\x3b\x01\x3c\x01\x49\x00\xe6\x01\xe6\x01\x9f\x01\xa7\x01\xe7\x01\xe8\x01\x42\x01\x49\x01\x4a\x01\xff\x00\xab\x00\xac\x00\xf8\x00\xdb\x00\x00\x01\x01\x01\xc5\x01\xe2\x01\x02\x01\xc6\x01\x03\x01\x04\x01\xfc\x01\x05\x01\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\xb4\x01\xb5\x01\x55\x01\x55\x01\x0d\x01\xb0\x01\x0e\x01\x0f\x01\x10\x01\xfd\x00\xd2\x01\x11\x01\xf0\x01\x12\x01\x0b\x00\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\xfe\x00\x0e\x00\x0f\x00\x10\x00\xaf\x00\x12\x00\xe3\x00\xe4\x00\xe5\x00\x3b\x00\xe6\x00\xb5\x00\xcb\x00\x5b\x00\x5c\x00\x46\x00\x0a\x00\x47\x00\xb4\x01\xde\x01\x5d\x00\x0b\x00\x3b\x00\xd3\x00\x26\x00\x56\x01\x56\x01\xab\x01\x5a\x01\x86\x01\xa9\x00\x2c\x01\xb8\x00\xb6\x01\x3d\x00\xff\x00\x48\x01\x26\x00\x87\x01\x50\x01\x00\x01\x01\x01\xce\x01\x5b\x01\x02\x01\x53\x00\x03\x01\x04\x01\x5b\x01\x05\x01\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\xd2\x01\x05\x02\xd7\x01\xe7\x00\x0d\x01\xfb\x00\x0e\x01\x0f\x01\x10\x01\xfd\x00\x5e\x00\x11\x01\xd6\x01\x12\x01\x0b\x00\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\xfe\x00\x0e\x00\x0f\x00\x10\x00\xaf\x00\x12\x00\x26\x00\x27\x00\xac\x01\x5d\x01\x5e\x01\x0a\x00\xc4\x01\x5c\x01\x5d\x01\x5e\x01\x0b\x00\xe3\x00\xe4\x00\xe5\x00\x2a\x00\xe6\x00\xdf\x01\x33\x00\xc5\x01\x33\x00\xb1\x00\x10\x00\x3b\x00\xb2\x00\x34\x00\x26\x00\x7e\x01\x7f\x01\x3c\x00\xff\x00\x3d\x00\x2d\x00\xd4\x01\x2e\x00\x6e\x01\x01\x01\xe0\x01\x26\x00\x02\x01\x26\x00\x03\x01\x04\x01\xe7\x00\x05\x01\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\xa5\x01\xe9\x00\xc9\x01\x33\x00\x0d\x01\x33\x00\x0e\x01\x0f\x01\x10\x01\xfd\x00\x34\x00\x11\x01\x34\x00\x12\x01\x0b\x00\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\xfe\x00\x0e\x00\x0f\x00\x10\x00\xaf\x00\x12\x00\x35\x00\x33\x00\xe7\x00\xc7\x01\x36\x00\x37\x00\x38\x00\x48\x00\x34\x00\x92\x01\x39\x00\x79\x01\xe9\x00\x3b\x00\x26\x00\x0a\x00\x95\x01\x33\x00\x00\x02\x46\x00\x0b\x00\x47\x00\x01\x02\xbf\x01\x34\x00\xc0\x01\x35\x00\xf9\x01\x26\x00\xff\x00\x4e\x00\x10\x00\xc1\x00\xb2\x00\x00\x01\x01\x01\x39\x00\x97\x01\x02\x01\x98\x01\x03\x01\x04\x01\xe7\x00\x05\x01\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\x7a\x01\xe9\x00\x51\x00\x99\x01\x0d\x01\x52\x00\x0e\x01\x0f\x01\x10\x01\x0a\x00\xa8\x01\x11\x01\xad\x01\x12\x01\x0b\x00\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x53\x01\x18\x00\x4e\x00\x10\x00\x4f\x00\x12\x00\x1b\x01\x1c\x01\x1d\x01\x5c\x00\xe4\x01\xde\x00\xdf\x00\xe0\x00\xe1\x00\x1e\x01\x1f\x01\x20\x01\x21\x01\xfe\x01\x22\x01\x23\x01\x24\x01\x25\x01\x26\x01\x27\x01\x28\x01\x1a\x00\x1b\x00\x33\x00\x29\x01\x5b\x00\x5c\x00\x9b\x01\x84\x01\x33\x00\x7e\x01\x80\x01\x5d\x00\x1d\x00\x1e\x00\x1f\x00\x7e\x01\x81\x01\x2a\x01\x20\x00\x33\x00\xae\x01\x55\x00\x21\x00\x22\x00\x56\x00\x23\x00\x34\x00\x57\x00\x3f\x00\x58\x00\x40\x00\x59\x00\xbf\x01\x54\x01\xc0\x01\x2b\x01\xf2\x01\x26\x00\x27\x00\xfa\x01\x28\x00\x53\x01\x18\x00\xfb\x00\x41\x00\x4a\x00\x16\x00\x1b\x01\x1c\x01\x1d\x01\x5c\x00\x42\x00\x43\x00\x33\x00\x44\x00\x65\x01\x1e\x01\x1f\x01\x20\x01\x21\x01\x34\x00\x22\x01\x23\x01\x24\x01\x25\x01\x26\x01\x27\x01\x28\x01\x1a\x00\x1b\x00\xa3\x00\x29\x01\x69\x01\xb2\x01\x6b\x01\xa4\x00\xa7\x00\xb3\x01\xe7\x00\xbd\x01\x1d\x00\x1e\x00\x1f\x00\xbe\x01\x71\x01\x2a\x01\x20\x00\x7b\x01\xe9\x00\xa3\x00\x21\x00\x22\x00\x74\x01\x23\x00\xa4\x00\xd9\x00\x3f\x00\x78\x01\x40\x00\x89\x01\xbf\x01\x54\x01\xc0\x01\x2b\x01\xd5\x01\x26\x00\x27\x00\x8a\x01\x28\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\x18\x00\x82\x01\x83\x01\x84\x01\xa3\x00\x1b\x01\x1c\x01\x1d\x01\x5c\x00\xa4\x00\xa5\x00\x33\x00\x28\x00\x04\x00\x1e\x01\x1f\x01\x20\x01\x21\x01\x34\x00\x22\x01\x23\x01\x24\x01\x25\x01\x26\x01\x27\x01\x28\x01\x1a\x00\x1b\x00\xa3\x00\x29\x01\x8c\x01\xfa\x00\x8d\x01\xa4\x00\xa6\x00\xfb\x00\xe7\x00\x8e\x01\x1d\x00\x1e\x00\x1f\x00\x18\x00\x37\x01\x2a\x01\x20\x00\x7c\x01\xe9\x00\x39\x01\x21\x00\x22\x00\x3d\x01\x23\x00\x33\x00\x33\x00\x3f\x00\x3f\x01\x40\x00\x40\x01\x19\x00\x34\x00\x34\x00\x2b\x01\x43\x01\x26\x00\x27\x00\x0a\x00\x28\x00\x1a\x00\x1b\x00\x1c\x00\x0b\x00\x0a\x00\x26\x00\x27\x00\x18\x00\xfd\x00\x44\x01\xe7\x00\x35\x00\x1d\x00\x1e\x00\x1f\x00\x4f\x00\x88\x01\xc4\x00\x20\x00\xee\x00\xe9\x00\x39\x00\x21\x00\x22\x00\x19\x00\x23\x00\x45\x01\x46\x01\x24\x00\x4d\x01\x25\x00\x30\x00\x33\x00\x1a\x00\x1b\x00\x1c\x00\x0a\x00\x26\x00\x27\x00\x34\x00\x28\x00\x0b\x00\x50\x01\x33\x00\x51\x01\x1d\x00\x1e\x00\x1f\x00\x18\x00\xec\x00\x34\x00\x20\x00\x4b\x01\x87\x01\x88\x01\x21\x00\x22\x00\xe7\x00\x23\x00\xf1\x00\xf6\x00\x24\x00\x33\x00\x25\x00\xea\x00\x19\x00\xf0\x00\xe9\x00\xe7\x00\x40\x00\x26\x00\x27\x00\x04\x00\x28\x00\x1a\x00\x1b\x00\x1c\x00\xe8\x00\xe9\x00\xa3\x00\xbf\x01\x18\x00\xcf\x01\xef\x01\xa4\x00\xa7\x00\x1d\x00\x1e\x00\x1f\x00\xf2\x00\xe0\x00\xe1\x00\x20\x00\x33\x00\x53\x00\x54\x00\x21\x00\x22\x00\x19\x00\x23\x00\x34\x00\x5e\x00\x24\x00\x0a\x00\x25\x00\x30\x00\x33\x00\x1a\x00\x1b\x00\x1c\x00\x26\x00\x26\x00\x27\x00\x34\x00\x28\x00\x0a\x00\x18\x00\xf5\x01\x41\x00\x1d\x00\x1e\x00\x1f\x00\xe3\x00\xe4\x00\xe5\x00\x20\x00\xba\x00\xf6\x01\x44\x00\x21\x00\x22\x00\x41\x00\x23\x00\x19\x00\xf2\x01\x24\x00\x33\x00\x25\x00\x26\x00\xbd\x00\xf4\x01\x44\x00\x1a\x00\x1b\x00\x26\x00\x27\x00\x0a\x00\x28\x00\xf9\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\x1d\x00\x1e\x00\x1f\x00\x18\x00\x26\x00\xbf\x01\x20\x00\xcf\x01\xd0\x01\xef\x01\x21\x00\x22\x00\x85\xff\x23\x00\xce\x01\x85\xff\x3f\x00\x87\x01\x40\x00\xcd\x01\x19\x00\x87\x01\xd5\x01\x0a\x00\xd9\x01\x26\x00\x27\x00\xda\x01\x28\x00\x1a\x00\x1b\x00\x1c\x00\xdb\x01\xde\x01\x26\x00\x0a\x00\x18\x00\xb2\x01\x26\x00\xb8\x01\x0a\x00\x1d\x00\x1e\x00\x1f\x00\x87\x01\xc9\x01\x73\x01\x20\x00\xcb\x01\xec\x00\xcc\x01\x21\x00\x22\x00\x19\x00\x23\x00\x8c\x01\xec\x00\x24\x00\x97\x01\x25\x00\x94\x01\x39\x01\x1a\x00\x1b\x00\x95\x01\xec\x00\x26\x00\x27\x00\x9b\x01\x28\x00\x0a\x00\x18\x00\xa1\x01\xa2\x01\x1d\x00\x1e\x00\x1f\x00\xa3\x01\x0a\x00\x26\x00\x20\x00\x0a\x00\x60\x01\x26\x00\x21\x00\x22\x00\x0a\x00\x23\x00\x19\x00\x67\x01\x3f\x00\x65\x01\x40\x00\xc0\x00\x68\x01\x26\x00\x69\x01\x1a\x00\x1b\x00\x26\x00\x27\x00\x6b\x01\x28\x00\x6d\x01\x18\x00\x26\x00\x6e\x01\x26\x00\x73\x01\x1d\x00\x1e\x00\x1f\x00\x78\x01\x7e\x01\x4f\x01\x20\x00\x8c\x01\x91\x01\x90\x01\x21\x00\x22\x00\x19\x00\x23\x00\x92\x01\x0a\x00\x3f\x00\xc1\x00\x40\x00\x39\x01\x26\x00\x1a\x00\x1b\x00\x1c\x00\x3f\x01\x26\x00\x27\x00\x0a\x00\x28\x00\x0a\x00\x18\x00\x4d\x01\x26\x00\x1d\x00\x1e\x00\x1f\x00\x4f\x01\x60\x01\x0a\x00\x20\x00\x0a\x00\xec\x00\xee\x00\x21\x00\x22\x00\xf0\x00\x23\x00\x19\x00\x0a\x00\x24\x00\x26\x00\x25\x00\xf4\x00\x0b\x00\xf5\x00\xe5\x00\x1a\x00\x1b\x00\x26\x00\x27\x00\xf6\x00\x28\x00\xae\x00\x0f\x00\x10\x00\xaf\x00\x12\x00\x26\x00\x1d\x00\x1e\x00\x1f\x00\x2e\x01\x2f\x01\xd4\x00\x20\x00\xd5\x00\xd6\x00\x0a\x00\x21\x00\x22\x00\x19\x00\x23\x00\x0a\x00\xa3\x00\x3f\x00\xec\x00\x40\x00\x0b\x00\x52\x00\x1a\x00\x1b\x00\xb9\x00\x0a\x00\x26\x00\x27\x00\xb4\x00\x28\x00\xb1\x00\x10\x00\xb5\x00\xb2\x00\x26\x00\x1e\x00\x1f\x00\xbc\x00\xbf\x00\xc3\x00\x20\x00\x2d\x00\xc8\x00\x2e\x00\x21\x00\x22\x00\xc6\x00\xc7\x00\x97\xff\xcb\x00\x3f\x00\xc9\x00\x40\x00\x0a\x00\x4d\x00\xca\x00\x0a\x00\xff\xff\x26\x00\x26\x00\x27\x00\x0b\x00\x28\x00\x48\x00\x0a\x00\x2a\x00\xff\xff\x53\x00\xce\x00\x0d\x00\x0e\x00\x2c\x00\x10\x00\x11\x00\x12\x00\xff\xff\x0a\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\xcf\x00\x2f\x01\x2e\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x00\x00\xce\x00\x0d\x00\x0e\x00\x2c\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\xcf\x00\xd0\x00\x2e\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x0d\x00\x0e\x00\x2c\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x2d\x00\x0a\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x30\x00\x0d\x00\x0e\x00\x2c\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x31\x00\x0a\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\xb1\x00\x10\x00\x00\x00\xb2\x00\x0b\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\x31\x00\x00\x00\x2e\x00\xb1\x00\x10\x00\x00\x00\xb2\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x2d\x00\x0a\x00\x2e\x00\x2a\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\xb1\x00\x10\x00\x00\x00\xb2\x00\xe3\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x31\x00\x00\x00\x2e\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xec\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\xdb\x01\xde\x00\xdf\x00\xe0\x00\xe1\x00\x00\x00\xdc\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x60\x01\xde\x00\xdf\x00\xe0\x00\xe1\x00\x00\x00\xb8\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\xf7\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\x00\x00\xba\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x29\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x31\x01\x32\x01\x33\x01\x34\x01\x35\x01\x36\x01\x37\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-
-happyReduceArr = array (3, 298) [
-	(3 , happyReduce_3),
-	(4 , happyReduce_4),
-	(5 , happyReduce_5),
-	(6 , happyReduce_6),
-	(7 , happyReduce_7),
-	(8 , happyReduce_8),
-	(9 , happyReduce_9),
-	(10 , happyReduce_10),
-	(11 , happyReduce_11),
-	(12 , happyReduce_12),
-	(13 , happyReduce_13),
-	(14 , happyReduce_14),
-	(15 , happyReduce_15),
-	(16 , happyReduce_16),
-	(17 , happyReduce_17),
-	(18 , happyReduce_18),
-	(19 , happyReduce_19),
-	(20 , happyReduce_20),
-	(21 , happyReduce_21),
-	(22 , happyReduce_22),
-	(23 , happyReduce_23),
-	(24 , happyReduce_24),
-	(25 , happyReduce_25),
-	(26 , happyReduce_26),
-	(27 , happyReduce_27),
-	(28 , happyReduce_28),
-	(29 , happyReduce_29),
-	(30 , happyReduce_30),
-	(31 , happyReduce_31),
-	(32 , happyReduce_32),
-	(33 , happyReduce_33),
-	(34 , happyReduce_34),
-	(35 , happyReduce_35),
-	(36 , happyReduce_36),
-	(37 , happyReduce_37),
-	(38 , happyReduce_38),
-	(39 , happyReduce_39),
-	(40 , happyReduce_40),
-	(41 , happyReduce_41),
-	(42 , happyReduce_42),
-	(43 , happyReduce_43),
-	(44 , happyReduce_44),
-	(45 , happyReduce_45),
-	(46 , happyReduce_46),
-	(47 , happyReduce_47),
-	(48 , happyReduce_48),
-	(49 , happyReduce_49),
-	(50 , happyReduce_50),
-	(51 , happyReduce_51),
-	(52 , happyReduce_52),
-	(53 , happyReduce_53),
-	(54 , happyReduce_54),
-	(55 , happyReduce_55),
-	(56 , happyReduce_56),
-	(57 , happyReduce_57),
-	(58 , happyReduce_58),
-	(59 , happyReduce_59),
-	(60 , happyReduce_60),
-	(61 , happyReduce_61),
-	(62 , happyReduce_62),
-	(63 , happyReduce_63),
-	(64 , happyReduce_64),
-	(65 , happyReduce_65),
-	(66 , happyReduce_66),
-	(67 , happyReduce_67),
-	(68 , happyReduce_68),
-	(69 , happyReduce_69),
-	(70 , happyReduce_70),
-	(71 , happyReduce_71),
-	(72 , happyReduce_72),
-	(73 , happyReduce_73),
-	(74 , happyReduce_74),
-	(75 , happyReduce_75),
-	(76 , happyReduce_76),
-	(77 , happyReduce_77),
-	(78 , happyReduce_78),
-	(79 , happyReduce_79),
-	(80 , happyReduce_80),
-	(81 , happyReduce_81),
-	(82 , happyReduce_82),
-	(83 , happyReduce_83),
-	(84 , happyReduce_84),
-	(85 , happyReduce_85),
-	(86 , happyReduce_86),
-	(87 , happyReduce_87),
-	(88 , happyReduce_88),
-	(89 , happyReduce_89),
-	(90 , happyReduce_90),
-	(91 , happyReduce_91),
-	(92 , happyReduce_92),
-	(93 , happyReduce_93),
-	(94 , happyReduce_94),
-	(95 , happyReduce_95),
-	(96 , happyReduce_96),
-	(97 , happyReduce_97),
-	(98 , happyReduce_98),
-	(99 , happyReduce_99),
-	(100 , happyReduce_100),
-	(101 , happyReduce_101),
-	(102 , happyReduce_102),
-	(103 , happyReduce_103),
-	(104 , happyReduce_104),
-	(105 , happyReduce_105),
-	(106 , happyReduce_106),
-	(107 , happyReduce_107),
-	(108 , happyReduce_108),
-	(109 , happyReduce_109),
-	(110 , happyReduce_110),
-	(111 , happyReduce_111),
-	(112 , happyReduce_112),
-	(113 , happyReduce_113),
-	(114 , happyReduce_114),
-	(115 , happyReduce_115),
-	(116 , happyReduce_116),
-	(117 , happyReduce_117),
-	(118 , happyReduce_118),
-	(119 , happyReduce_119),
-	(120 , happyReduce_120),
-	(121 , happyReduce_121),
-	(122 , happyReduce_122),
-	(123 , happyReduce_123),
-	(124 , happyReduce_124),
-	(125 , happyReduce_125),
-	(126 , happyReduce_126),
-	(127 , happyReduce_127),
-	(128 , happyReduce_128),
-	(129 , happyReduce_129),
-	(130 , happyReduce_130),
-	(131 , happyReduce_131),
-	(132 , happyReduce_132),
-	(133 , happyReduce_133),
-	(134 , happyReduce_134),
-	(135 , happyReduce_135),
-	(136 , happyReduce_136),
-	(137 , happyReduce_137),
-	(138 , happyReduce_138),
-	(139 , happyReduce_139),
-	(140 , happyReduce_140),
-	(141 , happyReduce_141),
-	(142 , happyReduce_142),
-	(143 , happyReduce_143),
-	(144 , happyReduce_144),
-	(145 , happyReduce_145),
-	(146 , happyReduce_146),
-	(147 , happyReduce_147),
-	(148 , happyReduce_148),
-	(149 , happyReduce_149),
-	(150 , happyReduce_150),
-	(151 , happyReduce_151),
-	(152 , happyReduce_152),
-	(153 , happyReduce_153),
-	(154 , happyReduce_154),
-	(155 , happyReduce_155),
-	(156 , happyReduce_156),
-	(157 , happyReduce_157),
-	(158 , happyReduce_158),
-	(159 , happyReduce_159),
-	(160 , happyReduce_160),
-	(161 , happyReduce_161),
-	(162 , happyReduce_162),
-	(163 , happyReduce_163),
-	(164 , happyReduce_164),
-	(165 , happyReduce_165),
-	(166 , happyReduce_166),
-	(167 , happyReduce_167),
-	(168 , happyReduce_168),
-	(169 , happyReduce_169),
-	(170 , happyReduce_170),
-	(171 , happyReduce_171),
-	(172 , happyReduce_172),
-	(173 , happyReduce_173),
-	(174 , happyReduce_174),
-	(175 , happyReduce_175),
-	(176 , happyReduce_176),
-	(177 , happyReduce_177),
-	(178 , happyReduce_178),
-	(179 , happyReduce_179),
-	(180 , happyReduce_180),
-	(181 , happyReduce_181),
-	(182 , happyReduce_182),
-	(183 , happyReduce_183),
-	(184 , happyReduce_184),
-	(185 , happyReduce_185),
-	(186 , happyReduce_186),
-	(187 , happyReduce_187),
-	(188 , happyReduce_188),
-	(189 , happyReduce_189),
-	(190 , happyReduce_190),
-	(191 , happyReduce_191),
-	(192 , happyReduce_192),
-	(193 , happyReduce_193),
-	(194 , happyReduce_194),
-	(195 , happyReduce_195),
-	(196 , happyReduce_196),
-	(197 , happyReduce_197),
-	(198 , happyReduce_198),
-	(199 , happyReduce_199),
-	(200 , happyReduce_200),
-	(201 , happyReduce_201),
-	(202 , happyReduce_202),
-	(203 , happyReduce_203),
-	(204 , happyReduce_204),
-	(205 , happyReduce_205),
-	(206 , happyReduce_206),
-	(207 , happyReduce_207),
-	(208 , happyReduce_208),
-	(209 , happyReduce_209),
-	(210 , happyReduce_210),
-	(211 , happyReduce_211),
-	(212 , happyReduce_212),
-	(213 , happyReduce_213),
-	(214 , happyReduce_214),
-	(215 , happyReduce_215),
-	(216 , happyReduce_216),
-	(217 , happyReduce_217),
-	(218 , happyReduce_218),
-	(219 , happyReduce_219),
-	(220 , happyReduce_220),
-	(221 , happyReduce_221),
-	(222 , happyReduce_222),
-	(223 , happyReduce_223),
-	(224 , happyReduce_224),
-	(225 , happyReduce_225),
-	(226 , happyReduce_226),
-	(227 , happyReduce_227),
-	(228 , happyReduce_228),
-	(229 , happyReduce_229),
-	(230 , happyReduce_230),
-	(231 , happyReduce_231),
-	(232 , happyReduce_232),
-	(233 , happyReduce_233),
-	(234 , happyReduce_234),
-	(235 , happyReduce_235),
-	(236 , happyReduce_236),
-	(237 , happyReduce_237),
-	(238 , happyReduce_238),
-	(239 , happyReduce_239),
-	(240 , happyReduce_240),
-	(241 , happyReduce_241),
-	(242 , happyReduce_242),
-	(243 , happyReduce_243),
-	(244 , happyReduce_244),
-	(245 , happyReduce_245),
-	(246 , happyReduce_246),
-	(247 , happyReduce_247),
-	(248 , happyReduce_248),
-	(249 , happyReduce_249),
-	(250 , happyReduce_250),
-	(251 , happyReduce_251),
-	(252 , happyReduce_252),
-	(253 , happyReduce_253),
-	(254 , happyReduce_254),
-	(255 , happyReduce_255),
-	(256 , happyReduce_256),
-	(257 , happyReduce_257),
-	(258 , happyReduce_258),
-	(259 , happyReduce_259),
-	(260 , happyReduce_260),
-	(261 , happyReduce_261),
-	(262 , happyReduce_262),
-	(263 , happyReduce_263),
-	(264 , happyReduce_264),
-	(265 , happyReduce_265),
-	(266 , happyReduce_266),
-	(267 , happyReduce_267),
-	(268 , happyReduce_268),
-	(269 , happyReduce_269),
-	(270 , happyReduce_270),
-	(271 , happyReduce_271),
-	(272 , happyReduce_272),
-	(273 , happyReduce_273),
-	(274 , happyReduce_274),
-	(275 , happyReduce_275),
-	(276 , happyReduce_276),
-	(277 , happyReduce_277),
-	(278 , happyReduce_278),
-	(279 , happyReduce_279),
-	(280 , happyReduce_280),
-	(281 , happyReduce_281),
-	(282 , happyReduce_282),
-	(283 , happyReduce_283),
-	(284 , happyReduce_284),
-	(285 , happyReduce_285),
-	(286 , happyReduce_286),
-	(287 , happyReduce_287),
-	(288 , happyReduce_288),
-	(289 , happyReduce_289),
-	(290 , happyReduce_290),
-	(291 , happyReduce_291),
-	(292 , happyReduce_292),
-	(293 , happyReduce_293),
-	(294 , happyReduce_294),
-	(295 , happyReduce_295),
-	(296 , happyReduce_296),
-	(297 , happyReduce_297),
-	(298 , happyReduce_298)
-	]
-
-happy_n_terms = 69 :: Int
-happy_n_nonterms = 111 :: Int
-
-happyReduce_3 = happySpecReduce_1  0# happyReduction_3
-happyReduction_3 happy_x_1
-	 =  case happyOut7 happy_x_1 of { happy_var_1 -> 
-	happyIn6
-		 (reverse happy_var_1
-	)}
-
-happyReduce_4 = happySpecReduce_2  1# happyReduction_4
-happyReduction_4 happy_x_2
-	happy_x_1
-	 =  case happyOut7 happy_x_1 of { happy_var_1 -> 
-	case happyOut8 happy_x_2 of { happy_var_2 -> 
-	happyIn7
-		 (happy_var_2 : happy_var_1
-	)}}
-
-happyReduce_5 = happySpecReduce_0  1# happyReduction_5
-happyReduction_5  =  happyIn7
-		 ([]
-	)
-
-happyReduce_6 = happySpecReduce_1  2# happyReduction_6
-happyReduction_6 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwLet happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwLet happy_var_1
-	)}
-
-happyReduce_7 = happySpecReduce_1  2# happyReduction_7
-happyReduction_7 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwIn happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwIn happy_var_1
-	)}
-
-happyReduce_8 = happySpecReduce_1  2# happyReduction_8
-happyReduction_8 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwWhere happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwWhere happy_var_1
-	)}
-
-happyReduce_9 = happySpecReduce_1  2# happyReduction_9
-happyReduction_9 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwWith happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwWith happy_var_1
-	)}
-
-happyReduce_10 = happySpecReduce_1  2# happyReduction_10
-happyReduction_10 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwRewrite happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwRewrite happy_var_1
-	)}
-
-happyReduce_11 = happySpecReduce_1  2# happyReduction_11
-happyReduction_11 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPostulate happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwPostulate happy_var_1
-	)}
-
-happyReduce_12 = happySpecReduce_1  2# happyReduction_12
-happyReduction_12 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPrimitive happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwPrimitive happy_var_1
-	)}
-
-happyReduce_13 = happySpecReduce_1  2# happyReduction_13
-happyReduction_13 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwOpen happy_var_1
-	)}
-
-happyReduce_14 = happySpecReduce_1  2# happyReduction_14
-happyReduction_14 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwImport happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwImport happy_var_1
-	)}
-
-happyReduce_15 = happySpecReduce_1  2# happyReduction_15
-happyReduction_15 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwUsing happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwUsing happy_var_1
-	)}
-
-happyReduce_16 = happySpecReduce_1  2# happyReduction_16
-happyReduction_16 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwHiding happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwHiding happy_var_1
-	)}
-
-happyReduce_17 = happySpecReduce_1  2# happyReduction_17
-happyReduction_17 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwRenaming happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwRenaming happy_var_1
-	)}
-
-happyReduce_18 = happySpecReduce_1  2# happyReduction_18
-happyReduction_18 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwTo happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwTo happy_var_1
-	)}
-
-happyReduce_19 = happySpecReduce_1  2# happyReduction_19
-happyReduction_19 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPublic happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwPublic happy_var_1
-	)}
-
-happyReduce_20 = happySpecReduce_1  2# happyReduction_20
-happyReduction_20 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwModule happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwModule happy_var_1
-	)}
-
-happyReduce_21 = happySpecReduce_1  2# happyReduction_21
-happyReduction_21 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwData happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwData happy_var_1
-	)}
-
-happyReduce_22 = happySpecReduce_1  2# happyReduction_22
-happyReduction_22 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwCoData happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwCoData happy_var_1
-	)}
-
-happyReduce_23 = happySpecReduce_1  2# happyReduction_23
-happyReduction_23 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwRecord happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwRecord happy_var_1
-	)}
-
-happyReduce_24 = happySpecReduce_1  2# happyReduction_24
-happyReduction_24 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwConstructor happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwConstructor happy_var_1
-	)}
-
-happyReduce_25 = happySpecReduce_1  2# happyReduction_25
-happyReduction_25 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwField happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwField happy_var_1
-	)}
-
-happyReduce_26 = happySpecReduce_1  2# happyReduction_26
-happyReduction_26 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfix happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwInfix happy_var_1
-	)}
-
-happyReduce_27 = happySpecReduce_1  2# happyReduction_27
-happyReduction_27 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfixL happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwInfixL happy_var_1
-	)}
-
-happyReduce_28 = happySpecReduce_1  2# happyReduction_28
-happyReduction_28 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfixR happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwInfixR happy_var_1
-	)}
-
-happyReduce_29 = happySpecReduce_1  2# happyReduction_29
-happyReduction_29 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwMutual happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwMutual happy_var_1
-	)}
-
-happyReduce_30 = happySpecReduce_1  2# happyReduction_30
-happyReduction_30 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwAbstract happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwAbstract happy_var_1
-	)}
-
-happyReduce_31 = happySpecReduce_1  2# happyReduction_31
-happyReduction_31 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPrivate happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwPrivate happy_var_1
-	)}
-
-happyReduce_32 = happySpecReduce_1  2# happyReduction_32
-happyReduction_32 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwProp happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwProp happy_var_1
-	)}
-
-happyReduce_33 = happySpecReduce_1  2# happyReduction_33
-happyReduction_33 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwSet happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwSet happy_var_1
-	)}
-
-happyReduce_34 = happySpecReduce_1  2# happyReduction_34
-happyReduction_34 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwForall happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwForall happy_var_1
-	)}
-
-happyReduce_35 = happySpecReduce_1  2# happyReduction_35
-happyReduction_35 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwSyntax happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwSyntax happy_var_1
-	)}
-
-happyReduce_36 = happySpecReduce_1  2# happyReduction_36
-happyReduction_36 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwOPTIONS happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwOPTIONS happy_var_1
-	)}
-
-happyReduce_37 = happySpecReduce_1  2# happyReduction_37
-happyReduction_37 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwBUILTIN happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwBUILTIN happy_var_1
-	)}
-
-happyReduce_38 = happySpecReduce_1  2# happyReduction_38
-happyReduction_38 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwIMPORT happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwIMPORT happy_var_1
-	)}
-
-happyReduce_39 = happySpecReduce_1  2# happyReduction_39
-happyReduction_39 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwCOMPILED happy_var_1
-	)}
-
-happyReduce_40 = happySpecReduce_1  2# happyReduction_40
-happyReduction_40 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_DATA happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwCOMPILED_DATA happy_var_1
-	)}
-
-happyReduce_41 = happySpecReduce_1  2# happyReduction_41
-happyReduction_41 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_TYPE happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwCOMPILED_TYPE happy_var_1
-	)}
-
-happyReduce_42 = happySpecReduce_1  2# happyReduction_42
-happyReduction_42 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwIMPOSSIBLE happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwIMPOSSIBLE happy_var_1
-	)}
-
-happyReduce_43 = happySpecReduce_1  2# happyReduction_43
-happyReduction_43 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwETA happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwETA happy_var_1
-	)}
-
-happyReduce_44 = happySpecReduce_1  2# happyReduction_44
-happyReduction_44 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwQuoteGoal happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwQuoteGoal happy_var_1
-	)}
-
-happyReduce_45 = happySpecReduce_1  2# happyReduction_45
-happyReduction_45 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwQuote happy_var_1) -> 
-	happyIn8
-		 (TokKeyword KwQuote happy_var_1
-	)}
-
-happyReduce_46 = happySpecReduce_1  2# happyReduction_46
-happyReduction_46 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSetN happy_var_1) -> 
-	happyIn8
-		 (TokSetN happy_var_1
-	)}
-
-happyReduce_47 = happySpecReduce_1  2# happyReduction_47
-happyReduction_47 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokTeX happy_var_1) -> 
-	happyIn8
-		 (TokTeX happy_var_1
-	)}
-
-happyReduce_48 = happySpecReduce_1  2# happyReduction_48
-happyReduction_48 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokComment happy_var_1) -> 
-	happyIn8
-		 (TokComment happy_var_1
-	)}
-
-happyReduce_49 = happySpecReduce_1  2# happyReduction_49
-happyReduction_49 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymEllipsis happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymEllipsis happy_var_1
-	)}
-
-happyReduce_50 = happySpecReduce_1  2# happyReduction_50
-happyReduction_50 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymDot happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymDot happy_var_1
-	)}
-
-happyReduce_51 = happySpecReduce_1  2# happyReduction_51
-happyReduction_51 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymSemi happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymSemi happy_var_1
-	)}
-
-happyReduce_52 = happySpecReduce_1  2# happyReduction_52
-happyReduction_52 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymColon happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymColon happy_var_1
-	)}
-
-happyReduce_53 = happySpecReduce_1  2# happyReduction_53
-happyReduction_53 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymEqual happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymEqual happy_var_1
-	)}
-
-happyReduce_54 = happySpecReduce_1  2# happyReduction_54
-happyReduction_54 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymUnderscore happy_var_1
-	)}
-
-happyReduce_55 = happySpecReduce_1  2# happyReduction_55
-happyReduction_55 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymQuestionMark happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymQuestionMark happy_var_1
-	)}
-
-happyReduce_56 = happySpecReduce_1  2# happyReduction_56
-happyReduction_56 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymArrow happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymArrow happy_var_1
-	)}
-
-happyReduce_57 = happySpecReduce_1  2# happyReduction_57
-happyReduction_57 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymLambda happy_var_1
-	)}
-
-happyReduce_58 = happySpecReduce_1  2# happyReduction_58
-happyReduction_58 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymAs happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymAs happy_var_1
-	)}
-
-happyReduce_59 = happySpecReduce_1  2# happyReduction_59
-happyReduction_59 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymBar happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymBar happy_var_1
-	)}
-
-happyReduce_60 = happySpecReduce_1  2# happyReduction_60
-happyReduction_60 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymOpenParen happy_var_1
-	)}
-
-happyReduce_61 = happySpecReduce_1  2# happyReduction_61
-happyReduction_61 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymCloseParen happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymCloseParen happy_var_1
-	)}
-
-happyReduce_62 = happySpecReduce_1  2# happyReduction_62
-happyReduction_62 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymOpenBrace happy_var_1
-	)}
-
-happyReduce_63 = happySpecReduce_1  2# happyReduction_63
-happyReduction_63 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymCloseBrace happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymCloseBrace happy_var_1
-	)}
-
-happyReduce_64 = happySpecReduce_1  2# happyReduction_64
-happyReduction_64 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenVirtualBrace happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymOpenVirtualBrace happy_var_1
-	)}
-
-happyReduce_65 = happySpecReduce_1  2# happyReduction_65
-happyReduction_65 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymCloseVirtualBrace happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymCloseVirtualBrace happy_var_1
-	)}
-
-happyReduce_66 = happySpecReduce_1  2# happyReduction_66
-happyReduction_66 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymVirtualSemi happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymVirtualSemi happy_var_1
-	)}
-
-happyReduce_67 = happySpecReduce_1  2# happyReduction_67
-happyReduction_67 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymOpenPragma happy_var_1
-	)}
-
-happyReduce_68 = happySpecReduce_1  2# happyReduction_68
-happyReduction_68 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymClosePragma happy_var_1) -> 
-	happyIn8
-		 (TokSymbol SymClosePragma happy_var_1
-	)}
-
-happyReduce_69 = happySpecReduce_1  2# happyReduction_69
-happyReduction_69 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokId happy_var_1) -> 
-	happyIn8
-		 (TokId happy_var_1
-	)}
-
-happyReduce_70 = happySpecReduce_1  2# happyReduction_70
-happyReduction_70 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokQId happy_var_1) -> 
-	happyIn8
-		 (TokQId happy_var_1
-	)}
-
-happyReduce_71 = happySpecReduce_1  2# happyReduction_71
-happyReduction_71 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokString happy_var_1) -> 
-	happyIn8
-		 (TokString happy_var_1
-	)}
-
-happyReduce_72 = happySpecReduce_1  2# happyReduction_72
-happyReduction_72 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> 
-	happyIn8
-		 (TokLiteral happy_var_1
-	)}
-
-happyReduce_73 = happySpecReduce_0  3# happyReduction_73
-happyReduction_73  =  happyIn9
-		 (()
-	)
-
-happyReduce_74 = happySpecReduce_2  3# happyReduction_74
-happyReduction_74 happy_x_2
-	happy_x_1
-	 =  happyIn9
-		 (()
-	)
-
-happyReduce_75 = happySpecReduce_2  4# happyReduction_75
-happyReduction_75 happy_x_2
-	happy_x_1
-	 =  case happyOut11 happy_x_1 of { happy_var_1 -> 
-	happyIn10
-		 (happy_var_1
-	)}
-
-happyReduce_76 = happySpecReduce_1  5# happyReduction_76
-happyReduction_76 happy_x_1
-	 =  case happyOut95 happy_x_1 of { happy_var_1 -> 
-	happyIn11
-		 (([], happy_var_1)
-	)}
-
-happyReduce_77 = happySpecReduce_3  5# happyReduction_77
-happyReduction_77 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut98 happy_x_2 of { happy_var_2 -> 
-	case happyOut11 happy_x_3 of { happy_var_3 -> 
-	happyIn11
-		 (let (ps,m) = happy_var_3 in (happy_var_2 : ps, m)
-	)}}
-
-happyReduce_78 = happySpecReduce_1  6# happyReduction_78
-happyReduction_78 happy_x_1
-	 =  happyIn12
-		 (()
-	)
-
-happyReduce_79 = happyMonadReduce 1# 6# happyReduction_79
-happyReduction_79 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (( popContext)
-	) (\r -> happyReturn (happyIn12 r))
-
-happyReduce_80 = happySpecReduce_1  7# happyReduction_80
-happyReduction_80 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymSemi happy_var_1) -> 
-	happyIn13
-		 (happy_var_1
-	)}
-
-happyReduce_81 = happySpecReduce_2  7# happyReduction_81
-happyReduction_81 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_2 of { (TokSymbol SymVirtualSemi happy_var_2) -> 
-	happyIn13
-		 (happy_var_2
-	)}
-
-happyReduce_82 = happyMonadReduce 0# 8# happyReduction_82
-happyReduction_82 (happyRest) tk
-	 = happyThen (( pushLexState imp_dir)
-	) (\r -> happyReturn (happyIn14 r))
-
-happyReduce_83 = happyMonadReduce 1# 9# happyReduction_83
-happyReduction_83 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> 
-	( case happy_var_1 of {
-		     LitInt _ n	-> return $ fromIntegral n;
-		     _		-> fail $ "Expected integer"
-		   })}
-	) (\r -> happyReturn (happyIn15 r))
-
-happyReduce_84 = happyMonadReduce 1# 10# happyReduction_84
-happyReduction_84 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (TokId happy_var_1) -> 
-	( mkName happy_var_1)}
-	) (\r -> happyReturn (happyIn16 r))
-
-happyReduce_85 = happySpecReduce_2  11# happyReduction_85
-happyReduction_85 happy_x_2
-	happy_x_1
-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
-	case happyOut17 happy_x_2 of { happy_var_2 -> 
-	happyIn17
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_86 = happySpecReduce_1  11# happyReduction_86
-happyReduction_86 happy_x_1
-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
-	happyIn17
-		 ([happy_var_1]
-	)}
-
-happyReduce_87 = happySpecReduce_2  12# happyReduction_87
-happyReduction_87 happy_x_2
-	happy_x_1
-	 =  case happyOut16 happy_x_2 of { happy_var_2 -> 
-	happyIn18
-		 (Arg NotHidden Irrelevant happy_var_2
-	)}
-
-happyReduce_88 = happySpecReduce_1  12# happyReduction_88
-happyReduction_88 happy_x_1
-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
-	happyIn18
-		 (defaultArg happy_var_1
-	)}
-
-happyReduce_89 = happySpecReduce_2  13# happyReduction_89
-happyReduction_89 happy_x_2
-	happy_x_1
-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
-	case happyOut19 happy_x_2 of { happy_var_2 -> 
-	happyIn19
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_90 = happySpecReduce_1  13# happyReduction_90
-happyReduction_90 happy_x_1
-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
-	happyIn19
-		 ([happy_var_1]
-	)}
-
-happyReduce_91 = happySpecReduce_2  14# happyReduction_91
-happyReduction_91 happy_x_2
-	happy_x_1
-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
-	case happyOut20 happy_x_2 of { happy_var_2 -> 
-	happyIn20
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_92 = happySpecReduce_1  14# happyReduction_92
-happyReduction_92 happy_x_1
-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
-	happyIn20
-		 ([happy_var_1]
-	)}
-
-happyReduce_93 = happyReduce 4# 14# happyReduction_93
-happyReduction_93 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut19 happy_x_2 of { happy_var_2 -> 
-	case happyOut20 happy_x_4 of { happy_var_4 -> 
-	happyIn20
-		 (map hide happy_var_2 ++ happy_var_4
-	) `HappyStk` happyRest}}
-
-happyReduce_94 = happySpecReduce_3  14# happyReduction_94
-happyReduction_94 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut19 happy_x_2 of { happy_var_2 -> 
-	happyIn20
-		 (map hide happy_var_2
-	)}
-
-happyReduce_95 = happyReduce 5# 14# happyReduction_95
-happyReduction_95 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut17 happy_x_3 of { happy_var_3 -> 
-	case happyOut20 happy_x_5 of { happy_var_5 -> 
-	happyIn20
-		 (map (Arg Hidden Irrelevant) happy_var_3 ++ happy_var_5
-	) `HappyStk` happyRest}}
-
-happyReduce_96 = happyReduce 4# 14# happyReduction_96
-happyReduction_96 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut17 happy_x_3 of { happy_var_3 -> 
-	happyIn20
-		 (map (Arg Hidden Irrelevant) happy_var_3
-	) `HappyStk` happyRest}
-
-happyReduce_97 = happyMonadReduce 1# 15# happyReduction_97
-happyReduction_97 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (TokQId happy_var_1) -> 
-	( mkQName happy_var_1)}
-	) (\r -> happyReturn (happyIn21 r))
-
-happyReduce_98 = happySpecReduce_1  15# happyReduction_98
-happyReduction_98 happy_x_1
-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
-	happyIn21
-		 (QName happy_var_1
-	)}
-
-happyReduce_99 = happySpecReduce_1  16# happyReduction_99
-happyReduction_99 happy_x_1
-	 =  case happyOut21 happy_x_1 of { happy_var_1 -> 
-	happyIn22
-		 (happy_var_1
-	)}
-
-happyReduce_100 = happySpecReduce_1  17# happyReduction_100
-happyReduction_100 happy_x_1
-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
-	happyIn23
-		 (happy_var_1
-	)}
-
-happyReduce_101 = happySpecReduce_1  17# happyReduction_101
-happyReduction_101 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> 
-	happyIn23
-		 (Name (getRange happy_var_1) [Hole]
-	)}
-
-happyReduce_102 = happySpecReduce_2  18# happyReduction_102
-happyReduction_102 happy_x_2
-	happy_x_1
-	 =  case happyOut23 happy_x_1 of { happy_var_1 -> 
-	case happyOut24 happy_x_2 of { happy_var_2 -> 
-	happyIn24
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_103 = happySpecReduce_1  18# happyReduction_103
-happyReduction_103 happy_x_1
-	 =  case happyOut23 happy_x_1 of { happy_var_1 -> 
-	happyIn24
-		 ([happy_var_1]
-	)}
-
-happyReduce_104 = happyMonadReduce 1# 19# happyReduction_104
-happyReduction_104 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut31 happy_x_1 of { happy_var_1 -> 
-	(
-    let getName (Ident (QName x)) = Just x
-	getName (Underscore r _)  = Just (Name r [Hole])
-	getName _		  = Nothing
-    in
-    case partition isJust $ map getName happy_var_1 of
-	(good, []) -> return $ map fromJust good
-	_	   -> fail $ "expected sequence of bound identifiers")}
-	) (\r -> happyReturn (happyIn25 r))
-
-happyReduce_105 = happySpecReduce_0  20# happyReduction_105
-happyReduction_105  =  happyIn26
-		 ([]
-	)
-
-happyReduce_106 = happySpecReduce_2  20# happyReduction_106
-happyReduction_106 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokString happy_var_1) -> 
-	case happyOut26 happy_x_2 of { happy_var_2 -> 
-	happyIn26
-		 (snd happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_107 = happyMonadReduce 1# 21# happyReduction_107
-happyReduction_107 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (TokString happy_var_1) -> 
-	( fmap QName (mkName happy_var_1))}
-	) (\r -> happyReturn (happyIn27 r))
-
-happyReduce_108 = happySpecReduce_2  22# happyReduction_108
-happyReduction_108 happy_x_2
-	happy_x_1
-	 =  case happyOut38 happy_x_1 of { happy_var_1 -> 
-	case happyOut28 happy_x_2 of { happy_var_2 -> 
-	happyIn28
-		 (Pi happy_var_1 happy_var_2
-	)}}
-
-happyReduce_109 = happySpecReduce_3  22# happyReduction_109
-happyReduction_109 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut48 happy_x_2 of { happy_var_2 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn28
-		 (forallPi happy_var_2 happy_var_3
-	)}}
-
-happyReduce_110 = happySpecReduce_3  22# happyReduction_110
-happyReduction_110 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut33 happy_x_1 of { happy_var_1 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn28
-		 (Fun (fuseRange happy_var_1 happy_var_3) (RawApp (getRange happy_var_1) happy_var_1) happy_var_3
-	)}}
-
-happyReduce_111 = happySpecReduce_1  22# happyReduction_111
-happyReduction_111 happy_x_1
-	 =  case happyOut29 happy_x_1 of { happy_var_1 -> 
-	happyIn28
-		 (happy_var_1
-	)}
-
-happyReduce_112 = happyMonadReduce 1# 23# happyReduction_112
-happyReduction_112 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut30 happy_x_1 of { happy_var_1 -> 
-	( case happy_var_1 of
-		      { [e]    -> return e
-		      ; e : es -> return $ WithApp (fuseRange e es) e es
-		      ; []     -> fail "impossible: empty with expressions"
-		      })}
-	) (\r -> happyReturn (happyIn29 r))
-
-happyReduce_113 = happySpecReduce_3  24# happyReduction_113
-happyReduction_113 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut33 happy_x_1 of { happy_var_1 -> 
-	case happyOut30 happy_x_3 of { happy_var_3 -> 
-	happyIn30
-		 (RawApp (getRange happy_var_1) happy_var_1 :  happy_var_3
-	)}}
-
-happyReduce_114 = happySpecReduce_1  24# happyReduction_114
-happyReduction_114 happy_x_1
-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> 
-	happyIn30
-		 ([RawApp (getRange happy_var_1) happy_var_1]
-	)}
-
-happyReduce_115 = happySpecReduce_1  25# happyReduction_115
-happyReduction_115 happy_x_1
-	 =  case happyOut32 happy_x_1 of { happy_var_1 -> 
-	happyIn31
-		 ([happy_var_1]
-	)}
-
-happyReduce_116 = happySpecReduce_2  25# happyReduction_116
-happyReduction_116 happy_x_2
-	happy_x_1
-	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
-	case happyOut31 happy_x_2 of { happy_var_2 -> 
-	happyIn31
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_117 = happySpecReduce_3  26# happyReduction_117
-happyReduction_117 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> 
-	case happyOut45 happy_x_2 of { happy_var_2 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn32
-		 (Lam (fuseRange happy_var_1 happy_var_3) happy_var_2 happy_var_3
-	)}}}
-
-happyReduce_118 = happySpecReduce_2  26# happyReduction_118
-happyReduction_118 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> 
-	case happyOut46 happy_x_2 of { happy_var_2 -> 
-	happyIn32
-		 (let (bs, h) = happy_var_2; r = fuseRange happy_var_1 bs in
-                                     if null bs then AbsurdLam r h else
-                                     Lam r bs (AbsurdLam r h)
-	)}}
-
-happyReduce_119 = happyReduce 4# 26# happyReduction_119
-happyReduction_119 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwLet happy_var_1) -> 
-	case happyOut114 happy_x_2 of { happy_var_2 -> 
-	case happyOut28 happy_x_4 of { happy_var_4 -> 
-	happyIn32
-		 (Let (fuseRange happy_var_1 happy_var_4) happy_var_2 happy_var_4
-	) `HappyStk` happyRest}}}
-
-happyReduce_120 = happySpecReduce_1  26# happyReduction_120
-happyReduction_120 happy_x_1
-	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
-	happyIn32
-		 (happy_var_1
-	)}
-
-happyReduce_121 = happyReduce 4# 26# happyReduction_121
-happyReduction_121 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteGoal happy_var_1) -> 
-	case happyOut16 happy_x_2 of { happy_var_2 -> 
-	case happyOut28 happy_x_4 of { happy_var_4 -> 
-	happyIn32
-		 (QuoteGoal (getRange (happy_var_1,happy_var_4)) happy_var_2 happy_var_4
-	) `HappyStk` happyRest}}}
-
-happyReduce_122 = happySpecReduce_1  27# happyReduction_122
-happyReduction_122 happy_x_1
-	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
-	happyIn33
-		 ([happy_var_1]
-	)}
-
-happyReduce_123 = happySpecReduce_2  27# happyReduction_123
-happyReduction_123 happy_x_2
-	happy_x_1
-	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
-	case happyOut33 happy_x_2 of { happy_var_2 -> 
-	happyIn33
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_124 = happySpecReduce_1  28# happyReduction_124
-happyReduction_124 happy_x_1
-	 =  case happyOut21 happy_x_1 of { happy_var_1 -> 
-	happyIn34
-		 (Ident happy_var_1
-	)}
-
-happyReduce_125 = happySpecReduce_1  28# happyReduction_125
-happyReduction_125 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> 
-	happyIn34
-		 (Lit happy_var_1
-	)}
-
-happyReduce_126 = happySpecReduce_1  28# happyReduction_126
-happyReduction_126 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymQuestionMark happy_var_1) -> 
-	happyIn34
-		 (QuestionMark (getRange happy_var_1) Nothing
-	)}
-
-happyReduce_127 = happySpecReduce_1  28# happyReduction_127
-happyReduction_127 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> 
-	happyIn34
-		 (Underscore (getRange happy_var_1) Nothing
-	)}
-
-happyReduce_128 = happySpecReduce_1  28# happyReduction_128
-happyReduction_128 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwProp happy_var_1) -> 
-	happyIn34
-		 (Prop (getRange happy_var_1)
-	)}
-
-happyReduce_129 = happySpecReduce_1  28# happyReduction_129
-happyReduction_129 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwSet happy_var_1) -> 
-	happyIn34
-		 (Set (getRange happy_var_1)
-	)}
-
-happyReduce_130 = happySpecReduce_1  28# happyReduction_130
-happyReduction_130 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwQuote happy_var_1) -> 
-	happyIn34
-		 (Quote (getRange happy_var_1)
-	)}
-
-happyReduce_131 = happySpecReduce_1  28# happyReduction_131
-happyReduction_131 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSetN happy_var_1) -> 
-	happyIn34
-		 (SetN (getRange (fst happy_var_1)) (snd happy_var_1)
-	)}
-
-happyReduce_132 = happySpecReduce_3  28# happyReduction_132
-happyReduction_132 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> 
-	case happyOut28 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (TokSymbol SymCloseBrace happy_var_3) -> 
-	happyIn34
-		 (HiddenArg (fuseRange happy_var_1 happy_var_3) (unnamed happy_var_2)
-	)}}}
-
-happyReduce_133 = happyReduce 5# 28# happyReduction_133
-happyReduction_133 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> 
-	case happyOut16 happy_x_2 of { happy_var_2 -> 
-	case happyOut28 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (TokSymbol SymCloseBrace happy_var_5) -> 
-	happyIn34
-		 (HiddenArg (fuseRange happy_var_1 happy_var_5) (named (show happy_var_2) happy_var_4)
-	) `HappyStk` happyRest}}}}
-
-happyReduce_134 = happySpecReduce_3  28# happyReduction_134
-happyReduction_134 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> 
-	case happyOut28 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (TokSymbol SymCloseParen happy_var_3) -> 
-	happyIn34
-		 (Paren (fuseRange happy_var_1 happy_var_3) happy_var_2
-	)}}}
-
-happyReduce_135 = happySpecReduce_2  28# happyReduction_135
-happyReduction_135 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> 
-	case happyOutTok happy_x_2 of { (TokSymbol SymCloseBrace happy_var_2) -> 
-	happyIn34
-		 (let r = fuseRange happy_var_1 happy_var_2 in HiddenArg r $ unnamed $ Absurd r
-	)}}
-
-happyReduce_136 = happySpecReduce_2  28# happyReduction_136
-happyReduction_136 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> 
-	case happyOutTok happy_x_2 of { (TokSymbol SymCloseParen happy_var_2) -> 
-	happyIn34
-		 (Absurd (fuseRange happy_var_1 happy_var_2)
-	)}}
-
-happyReduce_137 = happySpecReduce_3  28# happyReduction_137
-happyReduction_137 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
-	case happyOut34 happy_x_3 of { happy_var_3 -> 
-	happyIn34
-		 (As (fuseRange happy_var_1 happy_var_3) happy_var_1 happy_var_3
-	)}}
-
-happyReduce_138 = happySpecReduce_2  28# happyReduction_138
-happyReduction_138 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymDot happy_var_1) -> 
-	case happyOut34 happy_x_2 of { happy_var_2 -> 
-	happyIn34
-		 (Dot (fuseRange happy_var_1 happy_var_2) happy_var_2
-	)}}
-
-happyReduce_139 = happyReduce 4# 28# happyReduction_139
-happyReduction_139 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwRecord happy_var_1) -> 
-	case happyOut35 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (TokSymbol SymCloseBrace happy_var_4) -> 
-	happyIn34
-		 (Rec (getRange (happy_var_1,happy_var_4)) happy_var_3
-	) `HappyStk` happyRest}}}
-
-happyReduce_140 = happySpecReduce_0  29# happyReduction_140
-happyReduction_140  =  happyIn35
-		 ([]
-	)
-
-happyReduce_141 = happySpecReduce_1  29# happyReduction_141
-happyReduction_141 happy_x_1
-	 =  case happyOut36 happy_x_1 of { happy_var_1 -> 
-	happyIn35
-		 (happy_var_1
-	)}
-
-happyReduce_142 = happySpecReduce_1  30# happyReduction_142
-happyReduction_142 happy_x_1
-	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
-	happyIn36
-		 ([happy_var_1]
-	)}
-
-happyReduce_143 = happySpecReduce_3  30# happyReduction_143
-happyReduction_143 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
-	case happyOut36 happy_x_3 of { happy_var_3 -> 
-	happyIn36
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_144 = happySpecReduce_3  31# happyReduction_144
-happyReduction_144 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn37
-		 ((happy_var_1, happy_var_3)
-	)}}
-
-happyReduce_145 = happySpecReduce_2  32# happyReduction_145
-happyReduction_145 happy_x_2
-	happy_x_1
-	 =  case happyOut39 happy_x_1 of { happy_var_1 -> 
-	happyIn38
-		 (happy_var_1
-	)}
-
-happyReduce_146 = happySpecReduce_1  33# happyReduction_146
-happyReduction_146 happy_x_1
-	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
-	happyIn39
-		 ({-TeleBind-} happy_var_1
-	)}
-
-happyReduce_147 = happySpecReduce_2  34# happyReduction_147
-happyReduction_147 happy_x_2
-	happy_x_1
-	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
-	case happyOut40 happy_x_2 of { happy_var_2 -> 
-	happyIn40
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_148 = happySpecReduce_1  34# happyReduction_148
-happyReduction_148 happy_x_1
-	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
-	happyIn40
-		 ([happy_var_1]
-	)}
-
-happyReduce_149 = happySpecReduce_3  35# happyReduction_149
-happyReduction_149 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> 
-	case happyOut42 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (TokSymbol SymCloseParen happy_var_3) -> 
-	happyIn41
-		 (TypedBindings (fuseRange happy_var_1 happy_var_3) (Arg NotHidden Relevant happy_var_2)
-	)}}}
-
-happyReduce_150 = happySpecReduce_3  35# happyReduction_150
-happyReduction_150 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> 
-	case happyOut42 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (TokSymbol SymCloseBrace happy_var_3) -> 
-	happyIn41
-		 (TypedBindings (fuseRange happy_var_1 happy_var_3) (Arg Hidden    Relevant happy_var_2)
-	)}}}
-
-happyReduce_151 = happySpecReduce_1  36# happyReduction_151
-happyReduction_151 happy_x_1
-	 =  case happyOut44 happy_x_1 of { happy_var_1 -> 
-	happyIn42
-		 ([happy_var_1]
-	)}
-
-happyReduce_152 = happySpecReduce_3  36# happyReduction_152
-happyReduction_152 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut44 happy_x_1 of { happy_var_1 -> 
-	case happyOut43 happy_x_3 of { happy_var_3 -> 
-	happyIn42
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_153 = happySpecReduce_1  37# happyReduction_153
-happyReduction_153 happy_x_1
-	 =  case happyOut42 happy_x_1 of { happy_var_1 -> 
-	happyIn43
-		 (happy_var_1
-	)}
-
-happyReduce_154 = happySpecReduce_3  37# happyReduction_154
-happyReduction_154 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
-	case happyOut43 happy_x_3 of { happy_var_3 -> 
-	happyIn43
-		 (TNoBind happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_155 = happySpecReduce_1  37# happyReduction_155
-happyReduction_155 happy_x_1
-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
-	happyIn43
-		 ([TNoBind happy_var_1]
-	)}
-
-happyReduce_156 = happySpecReduce_3  38# happyReduction_156
-happyReduction_156 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut25 happy_x_1 of { happy_var_1 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn44
-		 (TBind (fuseRange happy_var_1 happy_var_3) (map mkBoundName_ happy_var_1) happy_var_3
-	)}}
-
-happyReduce_157 = happyMonadReduce 2# 39# happyReduction_157
-happyReduction_157 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut47 happy_x_1 of { happy_var_1 -> 
-	(
-      case last happy_var_1 of
-        Left _  -> parseError "Absurd lambda cannot have a body."
-        _       -> return [ b | Right b <- happy_var_1 ])}
-	) (\r -> happyReturn (happyIn45 r))
-
-happyReduce_158 = happyMonadReduce 1# 40# happyReduction_158
-happyReduction_158 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut47 happy_x_1 of { happy_var_1 -> 
-	(
-    case last happy_var_1 of
-      Right _ -> parseError "Missing body for lambda"
-      Left h  -> return ([ b | Right b <- init happy_var_1], h))}
-	) (\r -> happyReturn (happyIn46 r))
-
-happyReduce_159 = happySpecReduce_2  41# happyReduction_159
-happyReduction_159 happy_x_2
-	happy_x_1
-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
-	case happyOut47 happy_x_2 of { happy_var_2 -> 
-	happyIn47
-		 (map Right happy_var_1 ++ happy_var_2
-	)}}
-
-happyReduce_160 = happySpecReduce_2  41# happyReduction_160
-happyReduction_160 happy_x_2
-	happy_x_1
-	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
-	case happyOut47 happy_x_2 of { happy_var_2 -> 
-	happyIn47
-		 (Right (DomainFull happy_var_1) : happy_var_2
-	)}}
-
-happyReduce_161 = happySpecReduce_1  41# happyReduction_161
-happyReduction_161 happy_x_1
-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
-	happyIn47
-		 (map Right happy_var_1
-	)}
-
-happyReduce_162 = happySpecReduce_1  41# happyReduction_162
-happyReduction_162 happy_x_1
-	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
-	happyIn47
-		 ([Right $ DomainFull happy_var_1]
-	)}
-
-happyReduce_163 = happySpecReduce_2  41# happyReduction_163
-happyReduction_163 happy_x_2
-	happy_x_1
-	 =  happyIn47
-		 ([Left NotHidden]
-	)
-
-happyReduce_164 = happySpecReduce_2  41# happyReduction_164
-happyReduction_164 happy_x_2
-	happy_x_1
-	 =  happyIn47
-		 ([Left Hidden]
-	)
-
-happyReduce_165 = happySpecReduce_2  42# happyReduction_165
-happyReduction_165 happy_x_2
-	happy_x_1
-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> 
-	happyIn48
-		 (happy_var_1
-	)}
-
-happyReduce_166 = happySpecReduce_2  43# happyReduction_166
-happyReduction_166 happy_x_2
-	happy_x_1
-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
-	case happyOut49 happy_x_2 of { happy_var_2 -> 
-	happyIn49
-		 (happy_var_1 ++ happy_var_2
-	)}}
-
-happyReduce_167 = happySpecReduce_2  43# happyReduction_167
-happyReduction_167 happy_x_2
-	happy_x_1
-	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
-	case happyOut49 happy_x_2 of { happy_var_2 -> 
-	happyIn49
-		 (DomainFull happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_168 = happySpecReduce_1  43# happyReduction_168
-happyReduction_168 happy_x_1
-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
-	happyIn49
-		 (happy_var_1
-	)}
-
-happyReduce_169 = happySpecReduce_1  43# happyReduction_169
-happyReduction_169 happy_x_1
-	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
-	happyIn49
-		 ([DomainFull happy_var_1]
-	)}
-
-happyReduce_170 = happySpecReduce_2  44# happyReduction_170
-happyReduction_170 happy_x_2
-	happy_x_1
-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
-	case happyOut50 happy_x_2 of { happy_var_2 -> 
-	happyIn50
-		 (happy_var_1 ++ happy_var_2
-	)}}
-
-happyReduce_171 = happySpecReduce_2  44# happyReduction_171
-happyReduction_171 happy_x_2
-	happy_x_1
-	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
-	case happyOut50 happy_x_2 of { happy_var_2 -> 
-	happyIn50
-		 (DomainFull happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_172 = happySpecReduce_0  44# happyReduction_172
-happyReduction_172  =  happyIn50
-		 ([]
-	)
-
-happyReduce_173 = happySpecReduce_1  45# happyReduction_173
-happyReduction_173 happy_x_1
-	 =  case happyOut23 happy_x_1 of { happy_var_1 -> 
-	happyIn51
-		 ([DomainFree NotHidden $ mkBoundName_ happy_var_1]
-	)}
-
-happyReduce_174 = happySpecReduce_3  45# happyReduction_174
-happyReduction_174 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut25 happy_x_2 of { happy_var_2 -> 
-	happyIn51
-		 (map (DomainFree Hidden . mkBoundName_) happy_var_2
-	)}
-
-happyReduce_175 = happySpecReduce_1  46# happyReduction_175
-happyReduction_175 happy_x_1
-	 =  case happyOut53 happy_x_1 of { happy_var_1 -> 
-	happyIn52
-		 ((Nothing, happy_var_1)
-	)}
-
-happyReduce_176 = happyMonadReduce 3# 46# happyReduction_176
-happyReduction_176 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (TokId happy_var_1) -> 
-	case happyOut16 happy_x_2 of { happy_var_2 -> 
-	case happyOut53 happy_x_3 of { happy_var_3 -> 
-	( isName "as" happy_var_1 >>
-                               return (Just (AsName happy_var_2 (getRange (fst happy_var_1))), happy_var_3))}}}
-	) (\r -> happyReturn (happyIn52 r))
-
-happyReduce_177 = happyMonadReduce 1# 47# happyReduction_177
-happyReduction_177 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut54 happy_x_1 of { happy_var_1 -> 
-	( verifyImportDirective happy_var_1)}
-	) (\r -> happyReturn (happyIn53 r))
-
-happyReduce_178 = happySpecReduce_2  48# happyReduction_178
-happyReduction_178 happy_x_2
-	happy_x_1
-	 =  case happyOut55 happy_x_2 of { happy_var_2 -> 
-	happyIn54
-		 (happy_var_2 { publicOpen = True }
-	)}
-
-happyReduce_179 = happySpecReduce_1  48# happyReduction_179
-happyReduction_179 happy_x_1
-	 =  case happyOut55 happy_x_1 of { happy_var_1 -> 
-	happyIn54
-		 (happy_var_1
-	)}
-
-happyReduce_180 = happySpecReduce_2  49# happyReduction_180
-happyReduction_180 happy_x_2
-	happy_x_1
-	 =  case happyOut56 happy_x_1 of { happy_var_1 -> 
-	case happyOut57 happy_x_2 of { happy_var_2 -> 
-	happyIn55
-		 (ImportDirective (fuseRange (snd happy_var_1) (snd happy_var_2)) (fst happy_var_1) (fst happy_var_2) False
-	)}}
-
-happyReduce_181 = happySpecReduce_1  49# happyReduction_181
-happyReduction_181 happy_x_1
-	 =  case happyOut57 happy_x_1 of { happy_var_1 -> 
-	happyIn55
-		 (ImportDirective (getRange (snd happy_var_1)) (Hiding []) (fst happy_var_1) False
-	)}
-
-happyReduce_182 = happySpecReduce_1  49# happyReduction_182
-happyReduction_182 happy_x_1
-	 =  case happyOut56 happy_x_1 of { happy_var_1 -> 
-	happyIn55
-		 (ImportDirective (getRange (snd happy_var_1)) (fst happy_var_1) [] False
-	)}
-
-happyReduce_183 = happySpecReduce_0  49# happyReduction_183
-happyReduction_183  =  happyIn55
-		 (ImportDirective noRange (Hiding []) [] False
-	)
-
-happyReduce_184 = happyReduce 4# 50# happyReduction_184
-happyReduction_184 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwUsing happy_var_1) -> 
-	case happyOut62 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> 
-	happyIn56
-		 ((Using happy_var_3 , fuseRange happy_var_1 happy_var_4)
-	) `HappyStk` happyRest}}}
-
-happyReduce_185 = happyReduce 4# 50# happyReduction_185
-happyReduction_185 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwHiding happy_var_1) -> 
-	case happyOut63 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> 
-	happyIn56
-		 ((Hiding happy_var_3 , fuseRange happy_var_1 happy_var_4)
-	) `HappyStk` happyRest}}}
-
-happyReduce_186 = happyReduce 4# 51# happyReduction_186
-happyReduction_186 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwRenaming happy_var_1) -> 
-	case happyOut58 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> 
-	happyIn57
-		 ((happy_var_3 , fuseRange happy_var_1 happy_var_4)
-	) `HappyStk` happyRest}}}
-
-happyReduce_187 = happySpecReduce_3  52# happyReduction_187
-happyReduction_187 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut59 happy_x_1 of { happy_var_1 -> 
-	case happyOut58 happy_x_3 of { happy_var_3 -> 
-	happyIn58
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_188 = happySpecReduce_1  52# happyReduction_188
-happyReduction_188 happy_x_1
-	 =  case happyOut59 happy_x_1 of { happy_var_1 -> 
-	happyIn58
-		 ([happy_var_1]
-	)}
-
-happyReduce_189 = happySpecReduce_3  53# happyReduction_189
-happyReduction_189 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut60 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (TokKeyword KwTo happy_var_2) -> 
-	case happyOut16 happy_x_3 of { happy_var_3 -> 
-	happyIn59
-		 (Renaming happy_var_1 happy_var_3 (getRange happy_var_2)
-	)}}}
-
-happyReduce_190 = happySpecReduce_2  54# happyReduction_190
-happyReduction_190 happy_x_2
-	happy_x_1
-	 =  case happyOut16 happy_x_2 of { happy_var_2 -> 
-	happyIn60
-		 (ImportedName happy_var_2
-	)}
-
-happyReduce_191 = happySpecReduce_3  54# happyReduction_191
-happyReduction_191 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut16 happy_x_3 of { happy_var_3 -> 
-	happyIn60
-		 (ImportedModule happy_var_3
-	)}
-
-happyReduce_192 = happySpecReduce_1  55# happyReduction_192
-happyReduction_192 happy_x_1
-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
-	happyIn61
-		 (ImportedName happy_var_1
-	)}
-
-happyReduce_193 = happySpecReduce_2  55# happyReduction_193
-happyReduction_193 happy_x_2
-	happy_x_1
-	 =  case happyOut16 happy_x_2 of { happy_var_2 -> 
-	happyIn61
-		 (ImportedModule happy_var_2
-	)}
-
-happyReduce_194 = happySpecReduce_0  56# happyReduction_194
-happyReduction_194  =  happyIn62
-		 ([]
-	)
-
-happyReduce_195 = happySpecReduce_1  56# happyReduction_195
-happyReduction_195 happy_x_1
-	 =  case happyOut63 happy_x_1 of { happy_var_1 -> 
-	happyIn62
-		 (happy_var_1
-	)}
-
-happyReduce_196 = happySpecReduce_1  57# happyReduction_196
-happyReduction_196 happy_x_1
-	 =  case happyOut61 happy_x_1 of { happy_var_1 -> 
-	happyIn63
-		 ([happy_var_1]
-	)}
-
-happyReduce_197 = happySpecReduce_3  57# happyReduction_197
-happyReduction_197 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut61 happy_x_1 of { happy_var_1 -> 
-	case happyOut63 happy_x_3 of { happy_var_3 -> 
-	happyIn63
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_198 = happyMonadReduce 3# 58# happyReduction_198
-happyReduction_198 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut29 happy_x_1 of { happy_var_1 -> 
-	case happyOut67 happy_x_2 of { happy_var_2 -> 
-	case happyOut66 happy_x_3 of { happy_var_3 -> 
-	( exprToLHS happy_var_1 >>= \p -> return (p happy_var_2 happy_var_3))}}}
-	) (\r -> happyReturn (happyIn64 r))
-
-happyReduce_199 = happyReduce 4# 58# happyReduction_199
-happyReduction_199 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokSymbol SymEllipsis happy_var_1) -> 
-	case happyOut65 happy_x_2 of { happy_var_2 -> 
-	case happyOut67 happy_x_3 of { happy_var_3 -> 
-	case happyOut66 happy_x_4 of { happy_var_4 -> 
-	happyIn64
-		 (Ellipsis (fuseRange happy_var_1 happy_var_3) happy_var_2 happy_var_3 happy_var_4
-	) `HappyStk` happyRest}}}}
-
-happyReduce_200 = happySpecReduce_0  59# happyReduction_200
-happyReduction_200  =  happyIn65
-		 ([]
-	)
-
-happyReduce_201 = happyMonadReduce 3# 59# happyReduction_201
-happyReduction_201 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut33 happy_x_2 of { happy_var_2 -> 
-	case happyOut65 happy_x_3 of { happy_var_3 -> 
-	( exprToPattern (RawApp (getRange happy_var_2) happy_var_2) >>= \p ->
-		   return (p : happy_var_3))}}
-	) (\r -> happyReturn (happyIn65 r))
-
-happyReduce_202 = happySpecReduce_0  60# happyReduction_202
-happyReduction_202  =  happyIn66
-		 ([]
-	)
-
-happyReduce_203 = happySpecReduce_2  60# happyReduction_203
-happyReduction_203 happy_x_2
-	happy_x_1
-	 =  case happyOut28 happy_x_2 of { happy_var_2 -> 
-	happyIn66
-		 (case happy_var_2 of { WithApp _ e es -> e : es; e -> [e] }
-	)}
-
-happyReduce_204 = happySpecReduce_0  61# happyReduction_204
-happyReduction_204  =  happyIn67
-		 ([]
-	)
-
-happyReduce_205 = happySpecReduce_2  61# happyReduction_205
-happyReduction_205 happy_x_2
-	happy_x_1
-	 =  case happyOut28 happy_x_2 of { happy_var_2 -> 
-	happyIn67
-		 (case happy_var_2 of { WithApp _ e es -> e : es; e -> [e] }
-	)}
-
-happyReduce_206 = happySpecReduce_0  62# happyReduction_206
-happyReduction_206  =  happyIn68
-		 (NoWhere
-	)
-
-happyReduce_207 = happySpecReduce_2  62# happyReduction_207
-happyReduction_207 happy_x_2
-	happy_x_1
-	 =  case happyOut114 happy_x_2 of { happy_var_2 -> 
-	happyIn68
-		 (AnyWhere happy_var_2
-	)}
-
-happyReduce_208 = happyReduce 4# 62# happyReduction_208
-happyReduction_208 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut16 happy_x_2 of { happy_var_2 -> 
-	case happyOut114 happy_x_4 of { happy_var_4 -> 
-	happyIn68
-		 (SomeWhere happy_var_2 happy_var_4
-	) `HappyStk` happyRest}}
-
-happyReduce_209 = happySpecReduce_1  63# happyReduction_209
-happyReduction_209 happy_x_1
-	 =  case happyOut70 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_210 = happySpecReduce_1  63# happyReduction_210
-happyReduction_210 happy_x_1
-	 =  case happyOut79 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 (happy_var_1
-	)}
-
-happyReduce_211 = happySpecReduce_1  63# happyReduction_211
-happyReduction_211 happy_x_1
-	 =  case happyOut73 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_212 = happySpecReduce_1  63# happyReduction_212
-happyReduction_212 happy_x_1
-	 =  case happyOut75 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_213 = happySpecReduce_1  63# happyReduction_213
-happyReduction_213 happy_x_1
-	 =  case happyOut76 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_214 = happySpecReduce_1  63# happyReduction_214
-happyReduction_214 happy_x_1
-	 =  case happyOut78 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_215 = happySpecReduce_1  63# happyReduction_215
-happyReduction_215 happy_x_1
-	 =  case happyOut80 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_216 = happySpecReduce_1  63# happyReduction_216
-happyReduction_216 happy_x_1
-	 =  case happyOut81 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_217 = happySpecReduce_1  63# happyReduction_217
-happyReduction_217 happy_x_1
-	 =  case happyOut82 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_218 = happySpecReduce_1  63# happyReduction_218
-happyReduction_218 happy_x_1
-	 =  case happyOut83 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_219 = happySpecReduce_1  63# happyReduction_219
-happyReduction_219 happy_x_1
-	 =  case happyOut84 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_220 = happySpecReduce_1  63# happyReduction_220
-happyReduction_220 happy_x_1
-	 =  case happyOut90 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_221 = happySpecReduce_1  63# happyReduction_221
-happyReduction_221 happy_x_1
-	 =  case happyOut93 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_222 = happySpecReduce_1  63# happyReduction_222
-happyReduction_222 happy_x_1
-	 =  case happyOut92 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_223 = happySpecReduce_1  63# happyReduction_223
-happyReduction_223 happy_x_1
-	 =  case happyOut94 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_224 = happySpecReduce_1  63# happyReduction_224
-happyReduction_224 happy_x_1
-	 =  case happyOut97 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_225 = happySpecReduce_1  63# happyReduction_225
-happyReduction_225 happy_x_1
-	 =  case happyOut85 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 ([happy_var_1]
-	)}
-
-happyReduce_226 = happySpecReduce_3  64# happyReduction_226
-happyReduction_226 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn70
-		 (TypeSig happy_var_1 happy_var_3
-	)}}
-
-happyReduce_227 = happySpecReduce_3  65# happyReduction_227
-happyReduction_227 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut17 happy_x_1 of { happy_var_1 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn71
-		 (map (flip TypeSig happy_var_3) happy_var_1
-	)}}
-
-happyReduce_228 = happySpecReduce_3  66# happyReduction_228
-happyReduction_228 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut20 happy_x_1 of { happy_var_1 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn72
-		 (map (fmap (flip TypeSig happy_var_3)) happy_var_1
-	)}}
-
-happyReduce_229 = happySpecReduce_3  67# happyReduction_229
-happyReduction_229 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut64 happy_x_1 of { happy_var_1 -> 
-	case happyOut74 happy_x_2 of { happy_var_2 -> 
-	case happyOut68 happy_x_3 of { happy_var_3 -> 
-	happyIn73
-		 (FunClause happy_var_1 happy_var_2 happy_var_3
-	)}}}
-
-happyReduce_230 = happySpecReduce_2  68# happyReduction_230
-happyReduction_230 happy_x_2
-	happy_x_1
-	 =  case happyOut28 happy_x_2 of { happy_var_2 -> 
-	happyIn74
-		 (RHS happy_var_2
-	)}
-
-happyReduce_231 = happySpecReduce_0  68# happyReduction_231
-happyReduction_231  =  happyIn74
-		 (AbsurdRHS
-	)
-
-happyReduce_232 = happyReduce 7# 69# happyReduction_232
-happyReduction_232 (happy_x_7 `HappyStk`
-	happy_x_6 `HappyStk`
-	happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwData happy_var_1) -> 
-	case happyOut16 happy_x_2 of { happy_var_2 -> 
-	case happyOut50 happy_x_3 of { happy_var_3 -> 
-	case happyOut28 happy_x_5 of { happy_var_5 -> 
-	case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> 
-	case happyOut112 happy_x_7 of { happy_var_7 -> 
-	happyIn75
-		 (Data (getRange (happy_var_1, happy_var_6, happy_var_7)) Inductive happy_var_2 (map addType happy_var_3) happy_var_5 happy_var_7
-	) `HappyStk` happyRest}}}}}}
-
-happyReduce_233 = happyReduce 7# 69# happyReduction_233
-happyReduction_233 (happy_x_7 `HappyStk`
-	happy_x_6 `HappyStk`
-	happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwCoData happy_var_1) -> 
-	case happyOut16 happy_x_2 of { happy_var_2 -> 
-	case happyOut50 happy_x_3 of { happy_var_3 -> 
-	case happyOut28 happy_x_5 of { happy_var_5 -> 
-	case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> 
-	case happyOut112 happy_x_7 of { happy_var_7 -> 
-	happyIn75
-		 (Data (getRange (happy_var_1, happy_var_6, happy_var_7)) CoInductive happy_var_2 (map addType happy_var_3) happy_var_5 happy_var_7
-	) `HappyStk` happyRest}}}}}}
-
-happyReduce_234 = happyReduce 7# 70# happyReduction_234
-happyReduction_234 (happy_x_7 `HappyStk`
-	happy_x_6 `HappyStk`
-	happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwRecord happy_var_1) -> 
-	case happyOut16 happy_x_2 of { happy_var_2 -> 
-	case happyOut50 happy_x_3 of { happy_var_3 -> 
-	case happyOut28 happy_x_5 of { happy_var_5 -> 
-	case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> 
-	case happyOut113 happy_x_7 of { happy_var_7 -> 
-	happyIn76
-		 (Record (getRange (happy_var_1, happy_var_6, happy_var_7)) happy_var_2 (fst happy_var_7) (map addType happy_var_3) happy_var_5 (snd happy_var_7)
-	) `HappyStk` happyRest}}}}}}
-
-happyReduce_235 = happySpecReduce_2  71# happyReduction_235
-happyReduction_235 happy_x_2
-	happy_x_1
-	 =  case happyOut16 happy_x_2 of { happy_var_2 -> 
-	happyIn77
-		 (happy_var_2
-	)}
-
-happyReduce_236 = happySpecReduce_3  72# happyReduction_236
-happyReduction_236 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfix happy_var_1) -> 
-	case happyOut15 happy_x_2 of { happy_var_2 -> 
-	case happyOut24 happy_x_3 of { happy_var_3 -> 
-	happyIn78
-		 (Infix (NonAssoc (fuseRange happy_var_1 happy_var_3) happy_var_2) happy_var_3
-	)}}}
-
-happyReduce_237 = happySpecReduce_3  72# happyReduction_237
-happyReduction_237 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfixL happy_var_1) -> 
-	case happyOut15 happy_x_2 of { happy_var_2 -> 
-	case happyOut24 happy_x_3 of { happy_var_3 -> 
-	happyIn78
-		 (Infix (LeftAssoc (fuseRange happy_var_1 happy_var_3) happy_var_2) happy_var_3
-	)}}}
-
-happyReduce_238 = happySpecReduce_3  72# happyReduction_238
-happyReduction_238 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfixR happy_var_1) -> 
-	case happyOut15 happy_x_2 of { happy_var_2 -> 
-	case happyOut24 happy_x_3 of { happy_var_3 -> 
-	happyIn78
-		 (Infix (RightAssoc (fuseRange happy_var_1 happy_var_3) happy_var_2) happy_var_3
-	)}}}
-
-happyReduce_239 = happySpecReduce_2  73# happyReduction_239
-happyReduction_239 happy_x_2
-	happy_x_1
-	 =  case happyOut110 happy_x_2 of { happy_var_2 -> 
-	happyIn79
-		 (let toField (Arg h rel (TypeSig x t)) = Field x (Arg h rel t) in map toField happy_var_2
-	)}
-
-happyReduce_240 = happySpecReduce_2  74# happyReduction_240
-happyReduction_240 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwMutual happy_var_1) -> 
-	case happyOut114 happy_x_2 of { happy_var_2 -> 
-	happyIn80
-		 (Mutual (fuseRange happy_var_1 happy_var_2) happy_var_2
-	)}}
-
-happyReduce_241 = happySpecReduce_2  75# happyReduction_241
-happyReduction_241 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwAbstract happy_var_1) -> 
-	case happyOut114 happy_x_2 of { happy_var_2 -> 
-	happyIn81
-		 (Abstract (fuseRange happy_var_1 happy_var_2) happy_var_2
-	)}}
-
-happyReduce_242 = happySpecReduce_2  76# happyReduction_242
-happyReduction_242 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPrivate happy_var_1) -> 
-	case happyOut114 happy_x_2 of { happy_var_2 -> 
-	happyIn82
-		 (Private (fuseRange happy_var_1 happy_var_2) happy_var_2
-	)}}
-
-happyReduce_243 = happySpecReduce_2  77# happyReduction_243
-happyReduction_243 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPostulate happy_var_1) -> 
-	case happyOut108 happy_x_2 of { happy_var_2 -> 
-	happyIn83
-		 (Postulate (fuseRange happy_var_1 happy_var_2) happy_var_2
-	)}}
-
-happyReduce_244 = happySpecReduce_2  78# happyReduction_244
-happyReduction_244 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPrimitive happy_var_1) -> 
-	case happyOut108 happy_x_2 of { happy_var_2 -> 
-	happyIn84
-		 (Primitive (fuseRange happy_var_1 happy_var_2) happy_var_2
-	)}}
-
-happyReduce_245 = happyMonadReduce 5# 79# happyReduction_245
-happyReduction_245 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut16 happy_x_2 of { happy_var_2 -> 
-	case happyOut87 happy_x_3 of { happy_var_3 -> 
-	case happyOut86 happy_x_5 of { happy_var_5 -> 
-	(
-  case happy_var_2 of 
-    Name _ [_] -> case mkNotation happy_var_3 happy_var_5 of
-      Left err -> parseError $ "malformed syntax declaration: " ++ err
-      Right n -> return $ Syntax happy_var_2 n
-    _ -> parseError "syntax declarations are allowed only for simple names (without holes)")}}}
-	) (\r -> happyReturn (happyIn85 r))
-
-happyReduce_246 = happySpecReduce_1  80# happyReduction_246
-happyReduction_246 happy_x_1
-	 =  case happyOut89 happy_x_1 of { happy_var_1 -> 
-	happyIn86
-		 ([happy_var_1]
-	)}
-
-happyReduce_247 = happySpecReduce_2  80# happyReduction_247
-happyReduction_247 happy_x_2
-	happy_x_1
-	 =  case happyOut86 happy_x_1 of { happy_var_1 -> 
-	case happyOut89 happy_x_2 of { happy_var_2 -> 
-	happyIn86
-		 (happy_var_1 ++ [happy_var_2]
-	)}}
-
-happyReduce_248 = happySpecReduce_1  81# happyReduction_248
-happyReduction_248 happy_x_1
-	 =  case happyOut88 happy_x_1 of { happy_var_1 -> 
-	happyIn87
-		 ([happy_var_1]
-	)}
-
-happyReduce_249 = happySpecReduce_2  81# happyReduction_249
-happyReduction_249 happy_x_2
-	happy_x_1
-	 =  case happyOut87 happy_x_1 of { happy_var_1 -> 
-	case happyOut88 happy_x_2 of { happy_var_2 -> 
-	happyIn87
-		 (happy_var_1 ++ [happy_var_2]
-	)}}
-
-happyReduce_250 = happySpecReduce_1  82# happyReduction_250
-happyReduction_250 happy_x_1
-	 =  case happyOut89 happy_x_1 of { happy_var_1 -> 
-	happyIn88
-		 (ExprHole happy_var_1
-	)}
-
-happyReduce_251 = happyReduce 6# 82# happyReduction_251
-happyReduction_251 (happy_x_6 `HappyStk`
-	happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut89 happy_x_3 of { happy_var_3 -> 
-	case happyOut89 happy_x_5 of { happy_var_5 -> 
-	happyIn88
-		 (LambdaHole happy_var_3 happy_var_5
-	) `HappyStk` happyRest}}
-
-happyReduce_252 = happySpecReduce_1  83# happyReduction_252
-happyReduction_252 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokId happy_var_1) -> 
-	happyIn89
-		 (snd happy_var_1
-	)}
-
-happyReduce_253 = happyReduce 4# 84# happyReduction_253
-happyReduction_253 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> 
-	case happyOut22 happy_x_2 of { happy_var_2 -> 
-	case happyOut91 happy_x_3 of { happy_var_3 -> 
-	case happyOut53 happy_x_4 of { happy_var_4 -> 
-	happyIn90
-		 (let
-    { m   = happy_var_2
-    ; es  = happy_var_3
-    ; dir = happy_var_4
-    ; r   = getRange (happy_var_1, m, es, dir)
-    } in
-    case es of
-    { []  -> Open r m dir
-    ; _   -> Private r [ ModuleMacro r (noName $ beginningOf $ getRange happy_var_2) []
-                           (RawApp (fuseRange m es) (Ident m : es)) DoOpen dir
-                       ]
-    }
-	) `HappyStk` happyRest}}}}
-
-happyReduce_254 = happySpecReduce_0  85# happyReduction_254
-happyReduction_254  =  happyIn91
-		 ([]
-	)
-
-happyReduce_255 = happySpecReduce_2  85# happyReduction_255
-happyReduction_255 happy_x_2
-	happy_x_1
-	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
-	case happyOut91 happy_x_2 of { happy_var_2 -> 
-	happyIn91
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_256 = happyReduce 6# 86# happyReduction_256
-happyReduction_256 (happy_x_6 `HappyStk`
-	happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwModule happy_var_1) -> 
-	case happyOut16 happy_x_2 of { happy_var_2 -> 
-	case happyOut50 happy_x_3 of { happy_var_3 -> 
-	case happyOut28 happy_x_5 of { happy_var_5 -> 
-	case happyOut53 happy_x_6 of { happy_var_6 -> 
-	happyIn92
-		 (ModuleMacro (getRange (happy_var_1, happy_var_5, happy_var_6)) happy_var_2 (map addType happy_var_3) happy_var_5 DontOpen happy_var_6
-	) `HappyStk` happyRest}}}}}
-
-happyReduce_257 = happyReduce 7# 86# happyReduction_257
-happyReduction_257 (happy_x_7 `HappyStk`
-	happy_x_6 `HappyStk`
-	happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> 
-	case happyOut16 happy_x_3 of { happy_var_3 -> 
-	case happyOut50 happy_x_4 of { happy_var_4 -> 
-	case happyOut28 happy_x_6 of { happy_var_6 -> 
-	case happyOut53 happy_x_7 of { happy_var_7 -> 
-	happyIn92
-		 (ModuleMacro (getRange (happy_var_1, happy_var_6, happy_var_7)) happy_var_3 (map addType happy_var_4) happy_var_6 DoOpen happy_var_7
-	) `HappyStk` happyRest}}}}}
-
-happyReduce_258 = happySpecReduce_3  87# happyReduction_258
-happyReduction_258 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokKeyword KwImport happy_var_1) -> 
-	case happyOut22 happy_x_2 of { happy_var_2 -> 
-	case happyOut52 happy_x_3 of { happy_var_3 -> 
-	happyIn93
-		 (Import (getRange (happy_var_1,happy_var_2,snd happy_var_3)) happy_var_2 (fst happy_var_3) DontOpen (snd happy_var_3)
-	)}}}
-
-happyReduce_259 = happyReduce 4# 87# happyReduction_259
-happyReduction_259 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> 
-	case happyOut22 happy_x_3 of { happy_var_3 -> 
-	case happyOut52 happy_x_4 of { happy_var_4 -> 
-	happyIn93
-		 (Import (getRange (happy_var_1,happy_var_3,snd happy_var_4)) happy_var_3 (fst happy_var_4) DoOpen (snd happy_var_4)
-	) `HappyStk` happyRest}}}
-
-happyReduce_260 = happyReduce 5# 88# happyReduction_260
-happyReduction_260 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwModule happy_var_1) -> 
-	case happyOut16 happy_x_2 of { happy_var_2 -> 
-	case happyOut50 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> 
-	case happyOut115 happy_x_5 of { happy_var_5 -> 
-	happyIn94
-		 (Module (getRange (happy_var_1,happy_var_4,happy_var_5)) (QName happy_var_2) (map addType happy_var_3) happy_var_5
-	) `HappyStk` happyRest}}}}}
-
-happyReduce_261 = happySpecReduce_2  89# happyReduction_261
-happyReduction_261 happy_x_2
-	happy_x_1
-	 =  case happyOut96 happy_x_2 of { happy_var_2 -> 
-	happyIn95
-		 ([happy_var_2]
-	)}
-
-happyReduce_262 = happySpecReduce_3  89# happyReduction_262
-happyReduction_262 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut93 happy_x_2 of { happy_var_2 -> 
-	case happyOut95 happy_x_3 of { happy_var_3 -> 
-	happyIn95
-		 (happy_var_2 : happy_var_3
-	)}}
-
-happyReduce_263 = happySpecReduce_3  89# happyReduction_263
-happyReduction_263 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut90 happy_x_2 of { happy_var_2 -> 
-	case happyOut95 happy_x_3 of { happy_var_3 -> 
-	happyIn95
-		 (happy_var_2 : happy_var_3
-	)}}
-
-happyReduce_264 = happyReduce 5# 90# happyReduction_264
-happyReduction_264 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokKeyword KwModule happy_var_1) -> 
-	case happyOut22 happy_x_2 of { happy_var_2 -> 
-	case happyOut50 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> 
-	case happyOut115 happy_x_5 of { happy_var_5 -> 
-	happyIn96
-		 (Module (getRange (happy_var_1,happy_var_4,happy_var_5)) happy_var_2 (map addType happy_var_3) happy_var_5
-	) `HappyStk` happyRest}}}}}
-
-happyReduce_265 = happySpecReduce_1  91# happyReduction_265
-happyReduction_265 happy_x_1
-	 =  case happyOut99 happy_x_1 of { happy_var_1 -> 
-	happyIn97
-		 (Pragma happy_var_1
-	)}
-
-happyReduce_266 = happySpecReduce_1  92# happyReduction_266
-happyReduction_266 happy_x_1
-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> 
-	happyIn98
-		 (happy_var_1
-	)}
-
-happyReduce_267 = happySpecReduce_1  93# happyReduction_267
-happyReduction_267 happy_x_1
-	 =  case happyOut101 happy_x_1 of { happy_var_1 -> 
-	happyIn99
-		 (happy_var_1
-	)}
-
-happyReduce_268 = happySpecReduce_1  93# happyReduction_268
-happyReduction_268 happy_x_1
-	 =  case happyOut102 happy_x_1 of { happy_var_1 -> 
-	happyIn99
-		 (happy_var_1
-	)}
-
-happyReduce_269 = happySpecReduce_1  93# happyReduction_269
-happyReduction_269 happy_x_1
-	 =  case happyOut104 happy_x_1 of { happy_var_1 -> 
-	happyIn99
-		 (happy_var_1
-	)}
-
-happyReduce_270 = happySpecReduce_1  93# happyReduction_270
-happyReduction_270 happy_x_1
-	 =  case happyOut103 happy_x_1 of { happy_var_1 -> 
-	happyIn99
-		 (happy_var_1
-	)}
-
-happyReduce_271 = happySpecReduce_1  93# happyReduction_271
-happyReduction_271 happy_x_1
-	 =  case happyOut106 happy_x_1 of { happy_var_1 -> 
-	happyIn99
-		 (happy_var_1
-	)}
-
-happyReduce_272 = happySpecReduce_1  93# happyReduction_272
-happyReduction_272 happy_x_1
-	 =  case happyOut107 happy_x_1 of { happy_var_1 -> 
-	happyIn99
-		 (happy_var_1
-	)}
-
-happyReduce_273 = happySpecReduce_1  93# happyReduction_273
-happyReduction_273 happy_x_1
-	 =  case happyOut105 happy_x_1 of { happy_var_1 -> 
-	happyIn99
-		 (happy_var_1
-	)}
-
-happyReduce_274 = happyReduce 4# 94# happyReduction_274
-happyReduction_274 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
-	case happyOut26 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> 
-	happyIn100
-		 (OptionsPragma (fuseRange happy_var_1 happy_var_4) happy_var_3
-	) `HappyStk` happyRest}}}
-
-happyReduce_275 = happyReduce 5# 95# happyReduction_275
-happyReduction_275 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
-	case happyOutTok happy_x_3 of { (TokString happy_var_3) -> 
-	case happyOut27 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> 
-	happyIn101
-		 (BuiltinPragma (fuseRange happy_var_1 happy_var_5) (snd happy_var_3) (Ident happy_var_4)
-	) `HappyStk` happyRest}}}}
-
-happyReduce_276 = happyReduce 5# 96# happyReduction_276
-happyReduction_276 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
-	case happyOut27 happy_x_3 of { happy_var_3 -> 
-	case happyOut26 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> 
-	happyIn102
-		 (CompiledPragma (fuseRange happy_var_1 happy_var_5) happy_var_3 (unwords happy_var_4)
-	) `HappyStk` happyRest}}}}
-
-happyReduce_277 = happyReduce 5# 97# happyReduction_277
-happyReduction_277 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
-	case happyOut27 happy_x_3 of { happy_var_3 -> 
-	case happyOut26 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> 
-	happyIn103
-		 (CompiledTypePragma (fuseRange happy_var_1 happy_var_5) happy_var_3 (unwords happy_var_4)
-	) `HappyStk` happyRest}}}}
-
-happyReduce_278 = happyReduce 6# 98# happyReduction_278
-happyReduction_278 (happy_x_6 `HappyStk`
-	happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
-	case happyOut27 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (TokString happy_var_4) -> 
-	case happyOut26 happy_x_5 of { happy_var_5 -> 
-	case happyOutTok happy_x_6 of { (TokSymbol SymClosePragma happy_var_6) -> 
-	happyIn104
-		 (CompiledDataPragma (fuseRange happy_var_1 happy_var_6) happy_var_3 (snd happy_var_4) happy_var_5
-	) `HappyStk` happyRest}}}}}
-
-happyReduce_279 = happyReduce 4# 99# happyReduction_279
-happyReduction_279 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
-	case happyOut27 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> 
-	happyIn105
-		 (EtaPragma (fuseRange happy_var_1 happy_var_4) happy_var_3
-	) `HappyStk` happyRest}}}
-
-happyReduce_280 = happyMonadReduce 4# 100# happyReduction_280
-happyReduction_280 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
-	case happyOutTok happy_x_3 of { (TokString happy_var_3) -> 
-	case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> 
-	( let s = snd happy_var_3 in
-       if validHaskellModuleName s
-       then return $ ImportPragma (fuseRange happy_var_1 happy_var_4) s
-       else parseError $ "Malformed module name: " ++ s ++ ".")}}}
-	) (\r -> happyReturn (happyIn106 r))
-
-happyReduce_281 = happySpecReduce_3  101# happyReduction_281
-happyReduction_281 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
-	case happyOutTok happy_x_3 of { (TokSymbol SymClosePragma happy_var_3) -> 
-	happyIn107
-		 (ImpossiblePragma (fuseRange happy_var_1 happy_var_3)
-	)}}
-
-happyReduce_282 = happyReduce 5# 102# happyReduction_282
-happyReduction_282 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut109 happy_x_3 of { happy_var_3 -> 
-	happyIn108
-		 (reverse happy_var_3
-	) `HappyStk` happyRest}
-
-happyReduce_283 = happyReduce 4# 103# happyReduction_283
-happyReduction_283 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut109 happy_x_1 of { happy_var_1 -> 
-	case happyOut71 happy_x_4 of { happy_var_4 -> 
-	happyIn109
-		 (reverse happy_var_4 ++ happy_var_1
-	) `HappyStk` happyRest}}
-
-happyReduce_284 = happySpecReduce_2  103# happyReduction_284
-happyReduction_284 happy_x_2
-	happy_x_1
-	 =  case happyOut71 happy_x_2 of { happy_var_2 -> 
-	happyIn109
-		 (reverse happy_var_2
-	)}
-
-happyReduce_285 = happyReduce 5# 104# happyReduction_285
-happyReduction_285 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut111 happy_x_3 of { happy_var_3 -> 
-	happyIn110
-		 (reverse happy_var_3
-	) `HappyStk` happyRest}
-
-happyReduce_286 = happyReduce 4# 105# happyReduction_286
-happyReduction_286 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut111 happy_x_1 of { happy_var_1 -> 
-	case happyOut72 happy_x_4 of { happy_var_4 -> 
-	happyIn111
-		 (reverse happy_var_4 ++ happy_var_1
-	) `HappyStk` happyRest}}
-
-happyReduce_287 = happySpecReduce_2  105# happyReduction_287
-happyReduction_287 happy_x_2
-	happy_x_1
-	 =  case happyOut72 happy_x_2 of { happy_var_2 -> 
-	happyIn111
-		 (reverse happy_var_2
-	)}
-
-happyReduce_288 = happyReduce 4# 106# happyReduction_288
-happyReduction_288 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = happyIn112
-		 ([]
-	) `HappyStk` happyRest
-
-happyReduce_289 = happySpecReduce_1  106# happyReduction_289
-happyReduction_289 happy_x_1
-	 =  case happyOut108 happy_x_1 of { happy_var_1 -> 
-	happyIn112
-		 (happy_var_1
-	)}
-
-happyReduce_290 = happyReduce 4# 107# happyReduction_290
-happyReduction_290 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = happyIn113
-		 ((Nothing, [])
-	) `HappyStk` happyRest
-
-happyReduce_291 = happyReduce 6# 107# happyReduction_291
-happyReduction_291 (happy_x_6 `HappyStk`
-	happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut77 happy_x_4 of { happy_var_4 -> 
-	happyIn113
-		 ((Just happy_var_4, [])
-	) `HappyStk` happyRest}
-
-happyReduce_292 = happyReduce 8# 107# happyReduction_292
-happyReduction_292 (happy_x_8 `HappyStk`
-	happy_x_7 `HappyStk`
-	happy_x_6 `HappyStk`
-	happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut77 happy_x_4 of { happy_var_4 -> 
-	case happyOut116 happy_x_6 of { happy_var_6 -> 
-	happyIn113
-		 ((Just happy_var_4, reverse happy_var_6)
-	) `HappyStk` happyRest}}
-
-happyReduce_293 = happyReduce 5# 107# happyReduction_293
-happyReduction_293 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut116 happy_x_3 of { happy_var_3 -> 
-	happyIn113
-		 ((Nothing, reverse happy_var_3)
-	) `HappyStk` happyRest}
-
-happyReduce_294 = happyReduce 5# 108# happyReduction_294
-happyReduction_294 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut116 happy_x_3 of { happy_var_3 -> 
-	happyIn114
-		 (reverse happy_var_3
-	) `HappyStk` happyRest}
-
-happyReduce_295 = happyReduce 4# 109# happyReduction_295
-happyReduction_295 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = happyIn115
-		 ([]
-	) `HappyStk` happyRest
-
-happyReduce_296 = happySpecReduce_1  109# happyReduction_296
-happyReduction_296 happy_x_1
-	 =  case happyOut114 happy_x_1 of { happy_var_1 -> 
-	happyIn115
-		 (happy_var_1
-	)}
-
-happyReduce_297 = happyReduce 4# 110# happyReduction_297
-happyReduction_297 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut116 happy_x_1 of { happy_var_1 -> 
-	case happyOut69 happy_x_4 of { happy_var_4 -> 
-	happyIn116
-		 (reverse happy_var_4 ++ happy_var_1
-	) `HappyStk` happyRest}}
-
-happyReduce_298 = happySpecReduce_2  110# happyReduction_298
-happyReduction_298 happy_x_2
-	happy_x_1
-	 =  case happyOut69 happy_x_2 of { happy_var_2 -> 
-	happyIn116
-		 (reverse happy_var_2
-	)}
-
-happyNewToken action sts stk
-	= lexer(\tk -> 
-	let cont i = happyDoAction i tk action sts stk in
-	case tk of {
-	TokEOF -> happyDoAction 68# tk action sts stk;
-	TokKeyword KwLet happy_dollar_dollar -> cont 1#;
-	TokKeyword KwIn happy_dollar_dollar -> cont 2#;
-	TokKeyword KwWhere happy_dollar_dollar -> cont 3#;
-	TokKeyword KwWith happy_dollar_dollar -> cont 4#;
-	TokKeyword KwRewrite happy_dollar_dollar -> cont 5#;
-	TokKeyword KwPostulate happy_dollar_dollar -> cont 6#;
-	TokKeyword KwPrimitive happy_dollar_dollar -> cont 7#;
-	TokKeyword KwOpen happy_dollar_dollar -> cont 8#;
-	TokKeyword KwImport happy_dollar_dollar -> cont 9#;
-	TokKeyword KwUsing happy_dollar_dollar -> cont 10#;
-	TokKeyword KwHiding happy_dollar_dollar -> cont 11#;
-	TokKeyword KwRenaming happy_dollar_dollar -> cont 12#;
-	TokKeyword KwTo happy_dollar_dollar -> cont 13#;
-	TokKeyword KwPublic happy_dollar_dollar -> cont 14#;
-	TokKeyword KwModule happy_dollar_dollar -> cont 15#;
-	TokKeyword KwData happy_dollar_dollar -> cont 16#;
-	TokKeyword KwCoData happy_dollar_dollar -> cont 17#;
-	TokKeyword KwRecord happy_dollar_dollar -> cont 18#;
-	TokKeyword KwConstructor happy_dollar_dollar -> cont 19#;
-	TokKeyword KwField happy_dollar_dollar -> cont 20#;
-	TokKeyword KwInfix happy_dollar_dollar -> cont 21#;
-	TokKeyword KwInfixL happy_dollar_dollar -> cont 22#;
-	TokKeyword KwInfixR happy_dollar_dollar -> cont 23#;
-	TokKeyword KwMutual happy_dollar_dollar -> cont 24#;
-	TokKeyword KwAbstract happy_dollar_dollar -> cont 25#;
-	TokKeyword KwPrivate happy_dollar_dollar -> cont 26#;
-	TokKeyword KwProp happy_dollar_dollar -> cont 27#;
-	TokKeyword KwSet happy_dollar_dollar -> cont 28#;
-	TokKeyword KwForall happy_dollar_dollar -> cont 29#;
-	TokKeyword KwSyntax happy_dollar_dollar -> cont 30#;
-	TokKeyword KwOPTIONS happy_dollar_dollar -> cont 31#;
-	TokKeyword KwBUILTIN happy_dollar_dollar -> cont 32#;
-	TokKeyword KwIMPORT happy_dollar_dollar -> cont 33#;
-	TokKeyword KwIMPOSSIBLE happy_dollar_dollar -> cont 34#;
-	TokKeyword KwETA happy_dollar_dollar -> cont 35#;
-	TokKeyword KwCOMPILED happy_dollar_dollar -> cont 36#;
-	TokKeyword KwCOMPILED_DATA happy_dollar_dollar -> cont 37#;
-	TokKeyword KwCOMPILED_TYPE happy_dollar_dollar -> cont 38#;
-	TokKeyword KwQuoteGoal happy_dollar_dollar -> cont 39#;
-	TokKeyword KwQuote happy_dollar_dollar -> cont 40#;
-	TokSetN happy_dollar_dollar -> cont 41#;
-	TokTeX happy_dollar_dollar -> cont 42#;
-	TokComment happy_dollar_dollar -> cont 43#;
-	TokSymbol SymEllipsis happy_dollar_dollar -> cont 44#;
-	TokSymbol SymDot happy_dollar_dollar -> cont 45#;
-	TokSymbol SymSemi happy_dollar_dollar -> cont 46#;
-	TokSymbol SymColon happy_dollar_dollar -> cont 47#;
-	TokSymbol SymEqual happy_dollar_dollar -> cont 48#;
-	TokSymbol SymUnderscore happy_dollar_dollar -> cont 49#;
-	TokSymbol SymQuestionMark happy_dollar_dollar -> cont 50#;
-	TokSymbol SymArrow happy_dollar_dollar -> cont 51#;
-	TokSymbol SymLambda happy_dollar_dollar -> cont 52#;
-	TokSymbol SymAs happy_dollar_dollar -> cont 53#;
-	TokSymbol SymBar happy_dollar_dollar -> cont 54#;
-	TokSymbol SymOpenParen happy_dollar_dollar -> cont 55#;
-	TokSymbol SymCloseParen happy_dollar_dollar -> cont 56#;
-	TokSymbol SymOpenBrace happy_dollar_dollar -> cont 57#;
-	TokSymbol SymCloseBrace happy_dollar_dollar -> cont 58#;
-	TokSymbol SymOpenVirtualBrace happy_dollar_dollar -> cont 59#;
-	TokSymbol SymCloseVirtualBrace happy_dollar_dollar -> cont 60#;
-	TokSymbol SymVirtualSemi happy_dollar_dollar -> cont 61#;
-	TokSymbol SymOpenPragma happy_dollar_dollar -> cont 62#;
-	TokSymbol SymClosePragma happy_dollar_dollar -> cont 63#;
-	TokId happy_dollar_dollar -> cont 64#;
-	TokQId happy_dollar_dollar -> cont 65#;
-	TokString happy_dollar_dollar -> cont 66#;
-	TokLiteral happy_dollar_dollar -> cont 67#;
-	_ -> happyError' tk
-	})
-
-happyError_ tk = happyError' tk
-
-happyThen :: () => Parser a -> (a -> Parser b) -> Parser b
-happyThen = (>>=)
-happyReturn :: () => a -> Parser a
-happyReturn = (return)
-happyThen1 = happyThen
-happyReturn1 :: () => a -> Parser a
-happyReturn1 = happyReturn
-happyError' :: () => Token -> Parser a
-happyError' tk = (\token -> happyError) tk
-
-tokensParser = happySomeParser where
-  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))
-
-exprParser = happySomeParser where
-  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut28 x))
-
-moduleParser = happySomeParser where
-  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut10 x))
-
-happySeq = happyDontSeq
-
-
-{--------------------------------------------------------------------------
-    Parsers
- --------------------------------------------------------------------------}
-
--- | Parse the token stream. Used by the TeX compiler.
-tokensParser :: Parser [Token]
-
--- | Parse an expression. Could be used in interactions.
-exprParser :: Parser Expr
-
--- | Parse a module.
-moduleParser :: Parser Module
-
-
-{--------------------------------------------------------------------------
-    Happy stuff
- --------------------------------------------------------------------------}
-
--- | Required by Happy.
-happyError :: Parser a
-happyError = parseError "Parse error"
-
-
-{--------------------------------------------------------------------------
-    Utility functions
- --------------------------------------------------------------------------}
-
--- | Create a name from a string.
-
-mkName :: (Interval, String) -> Parser Name
-mkName (i, s) = do
-    let xs = parts s
-    mapM_ isValidId xs
-    unless (alternating xs) $ fail $ "a name cannot contain two consecutive underscores"
-    return $ Name (getRange i) xs
-    where
-        parts :: String -> [NamePart]
-        parts ""        = []
-        parts ('_' : s) = Hole : parts s
-        parts s         = Id x : parts s'
-          where (x, s') = break (== '_') s
-
-	isValidId Hole   = return ()
-	isValidId (Id x) = case parse defaultParseFlags [0] (lexer return) x of
-	    ParseOk _ (TokId _) -> return ()
-	    _			-> fail $ "in the name " ++ s ++ ", the part " ++ x ++ " is not valid"
-
-	-- we know that there are no two Ids in a row
-	alternating (Hole : Hole : _) = False
-	alternating (_ : xs)	      = alternating xs
-	alternating []		      = True
-
--- | Create a qualified name from a list of strings
-mkQName :: [(Interval, String)] -> Parser QName
-mkQName ss = do
-    xs <- mapM mkName ss
-    return $ foldr Qual (QName $ last xs) (init xs)
-
--- | Match a particular name.
-isName :: String -> (Interval, String) -> Parser ()
-isName s (_,s')
-    | s == s'	= return ()
-    | otherwise	= fail $ "expected " ++ s ++ ", found " ++ s'
-
--- | Build a forall pi (forall x y z -> ...)
-forallPi :: [LamBinding] -> Expr -> Expr
-forallPi bs e = Pi (map addType bs) e
-
--- | Converts lambda bindings to typed bindings.
-addType :: LamBinding -> TypedBindings
-addType (DomainFull b)	 = b
-addType (DomainFree h x) = TypedBindings r $ Arg h Relevant [TBind r [x] $ Underscore r Nothing]
-  where r = getRange x
-
--- | Check that an import directive doesn't contain repeated names
-verifyImportDirective :: ImportDirective -> Parser ImportDirective
-verifyImportDirective i =
-    case filter ((>1) . length)
-	 $ group
-	 $ sort xs
-    of
-	[]  -> return i
-	yss -> let Just pos = rStart $ getRange $ head $ concat yss in
-               parseErrorAt pos $
-		"repeated name" ++ s ++ " in import directive: " ++
-		concat (intersperse ", " $ map (show . head) yss)
-	    where
-		s = case yss of
-			[_] -> ""
-			_   -> "s"
-    where
-	xs = names (usingOrHiding i) ++ map renFrom (renaming i)
-	names (Using xs)    = xs
-	names (Hiding xs)   = xs
-
--- | Breaks up a string into substrings. Returns every maximal
--- subsequence of zero or more characters distinct from @'.'@.
---
--- > splitOnDots ""         == [""]
--- > splitOnDots "foo.bar"  == ["foo", "bar"]
--- > splitOnDots ".foo.bar" == ["", "foo", "bar"]
--- > splitOnDots "foo.bar." == ["foo", "bar", ""]
--- > splitOnDots "foo..bar" == ["foo", "", "bar"]
-splitOnDots :: String -> [String]
-splitOnDots ""        = [""]
-splitOnDots ('.' : s) = [] : splitOnDots s
-splitOnDots (c   : s) = case splitOnDots s of
-  p : ps -> (c : p) : ps
-
-prop_splitOnDots = and
-  [ splitOnDots ""         == [""]
-  , splitOnDots "foo.bar"  == ["foo", "bar"]
-  , splitOnDots ".foo.bar" == ["", "foo", "bar"]
-  , splitOnDots "foo.bar." == ["foo", "bar", ""]
-  , splitOnDots "foo..bar" == ["foo", "", "bar"]
-  ]
-
--- | Returns 'True' iff the name is a valid Haskell (hierarchical)
--- module name.
-validHaskellModuleName :: String -> Bool
-validHaskellModuleName = all ok . splitOnDots
-  where
-  -- Checks if a dot-less module name is well-formed.
-  ok :: String -> Bool
-  ok []      = False
-  ok (c : s) =
-    isUpper c &&
-    all (\c -> isLower c || c == '_' ||
-               isUpper c ||
-               generalCategory c == DecimalNumber ||
-               c == '\'')
-        s
-
-{--------------------------------------------------------------------------
-    Patterns
- --------------------------------------------------------------------------}
-
--- | Turn an expression into a left hand side.
-exprToLHS :: Expr -> Parser ([Expr] -> [Expr] -> LHS)
-exprToLHS e = case e of
-  WithApp r e es -> LHS <$> exprToPattern e <*> mapM exprToPattern es
-  _		 -> LHS <$> exprToPattern e <*> return []
-
--- | Turn an expression into a pattern. Fails if the expression is not a
---   valid pattern.
-exprToPattern :: Expr -> Parser Pattern
-exprToPattern e =
-    case e of
-	Ident x			-> return $ IdentP x
-	App _ e1 e2		-> AppP <$> exprToPattern e1
-					<*> T.mapM (T.mapM exprToPattern) e2
-	Paren r e		-> ParenP r
-					<$> exprToPattern e
-	Underscore r _		-> return $ WildP r
-	Absurd r		-> return $ AbsurdP r
-	As r x e		-> AsP r x <$> exprToPattern e
-	Dot r (HiddenArg _ e)	-> return $ HiddenP r $ fmap (DotP r) e
-	Dot r e			-> return $ DotP r e
-	Lit l			-> return $ LitP l
-	HiddenArg r e		-> HiddenP r <$> T.mapM exprToPattern e
-	RawApp r es		-> RawAppP r <$> mapM exprToPattern es
-	OpApp r x es		-> OpAppP r x <$> mapM exprToPattern es
-	_			->
-          let Just pos = rStart $ getRange e in
-          parseErrorAt pos $ "Not a valid pattern: " ++ show e
-
-{--------------------------------------------------------------------------
-    Tests
- --------------------------------------------------------------------------}
-
--- | Test suite.
-tests :: IO Bool
-tests = runTests "Agda.Syntax.Parser.Parser"
-  [ quickCheck' prop_splitOnDots
-  ]
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "<built-in>" #-}
-{-# LINE 1 "<command-line>" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp 
-
-{-# LINE 28 "templates/GenericTemplate.hs" #-}
-
-
-data Happy_IntList = HappyCons Int# Happy_IntList
-
-
-
-
-
-{-# LINE 49 "templates/GenericTemplate.hs" #-}
-
-{-# LINE 59 "templates/GenericTemplate.hs" #-}
-
-{-# LINE 68 "templates/GenericTemplate.hs" #-}
-
-infixr 9 `HappyStk`
-data HappyStk a = HappyStk a (HappyStk a)
-
------------------------------------------------------------------------------
--- starting the parse
-
-happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll
-
------------------------------------------------------------------------------
--- Accepting the parse
-
--- If the current token is 0#, it means we've just accepted a partial
--- parse (a %partial parser).  We must ignore the saved token on the top of
--- the stack in this case.
-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =
-	happyReturn1 ans
-happyAccept j tk st sts (HappyStk ans _) = 
-	(happyTcHack j (happyTcHack st)) (happyReturn1 ans)
-
------------------------------------------------------------------------------
--- Arrays only: do the next action
-
-
-
-happyDoAction i tk st
-	= {- nothing -}
-
-
-	  case action of
-		0#		  -> {- nothing -}
-				     happyFail i tk st
-		-1# 	  -> {- nothing -}
-				     happyAccept i tk st
-		n | (n <# (0# :: Int#)) -> {- nothing -}
-
-				     (happyReduceArr ! rule) i tk st
-				     where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))
-		n		  -> {- nothing -}
-
-
-				     happyShift new_state i tk st
-				     where new_state = (n -# (1# :: Int#))
-   where off    = indexShortOffAddr happyActOffsets st
-	 off_i  = (off +# i)
-	 check  = if (off_i >=# (0# :: Int#))
-			then (indexShortOffAddr happyCheck off_i ==#  i)
-			else False
- 	 action | check     = indexShortOffAddr happyTable off_i
-		| otherwise = indexShortOffAddr happyDefActions st
-
-{-# LINE 127 "templates/GenericTemplate.hs" #-}
-
-
-indexShortOffAddr (HappyA# arr) off =
-#if __GLASGOW_HASKELL__ > 500
-	narrow16Int# i
-#elif __GLASGOW_HASKELL__ == 500
-	intToInt16# i
-#else
-	(i `iShiftL#` 16#) `iShiftRA#` 16#
-#endif
-  where
-#if __GLASGOW_HASKELL__ >= 503
-	i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)
-#else
-	i = word2Int# ((high `shiftL#` 8#) `or#` low)
-#endif
-	high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
-	low  = int2Word# (ord# (indexCharOffAddr# arr off'))
-	off' = off *# 2#
-
-
-
-
-
-data HappyAddr = HappyA# Addr#
-
-
-
-
------------------------------------------------------------------------------
--- HappyState data type (not arrays)
-
-{-# LINE 170 "templates/GenericTemplate.hs" #-}
-
------------------------------------------------------------------------------
--- Shifting a token
-
-happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =
-     let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in
---     trace "shifting the error token" $
-     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)
-
-happyShift new_state i tk st sts stk =
-     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)
-
--- happyReduce is specialised for the common cases.
-
-happySpecReduce_0 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_0 nt fn j tk st@((action)) sts stk
-     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)
-
-happySpecReduce_1 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')
-     = let r = fn v1 in
-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
-
-happySpecReduce_2 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')
-     = let r = fn v1 v2 in
-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
-
-happySpecReduce_3 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
-     = let r = fn v1 v2 v3 in
-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
-
-happyReduce k i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happyReduce k nt fn j tk st sts stk
-     = case happyDrop (k -# (1# :: Int#)) sts of
-	 sts1@((HappyCons (st1@(action)) (_))) ->
-        	let r = fn stk in  -- it doesn't hurt to always seq here...
-       		happyDoSeq r (happyGoto nt j tk st1 sts1 r)
-
-happyMonadReduce k nt fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happyMonadReduce k nt fn j tk st sts stk =
-        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))
-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))
-             drop_stk = happyDropStk k stk
-
-happyMonad2Reduce k nt fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happyMonad2Reduce k nt fn j tk st sts stk =
-       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))
-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))
-             drop_stk = happyDropStk k stk
-
-             off    = indexShortOffAddr happyGotoOffsets st1
-             off_i  = (off +# nt)
-             new_state = indexShortOffAddr happyTable off_i
-
-
-
-
-happyDrop 0# l = l
-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t
-
-happyDropStk 0# l = l
-happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs
-
------------------------------------------------------------------------------
--- Moving to a new state after a reduction
-
-
-happyGoto nt j tk st = 
-   {- nothing -}
-   happyDoAction j tk new_state
-   where off    = indexShortOffAddr happyGotoOffsets st
-	 off_i  = (off +# nt)
- 	 new_state = indexShortOffAddr happyTable off_i
-
-
-
-
------------------------------------------------------------------------------
--- Error recovery (0# is the error token)
-
--- parse error if we are in recovery and we fail again
-happyFail  0# tk old_st _ stk =
---	trace "failing" $ 
-    	happyError_ tk
-
-{-  We don't need state discarding for our restricted implementation of
-    "error".  In fact, it can cause some bogus parses, so I've disabled it
-    for now --SDM
-
--- discard a state
-happyFail  0# tk old_st (HappyCons ((action)) (sts)) 
-						(saved_tok `HappyStk` _ `HappyStk` stk) =
---	trace ("discarding state, depth " ++ show (length stk))  $
-	happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))
--}
-
--- Enter error recovery: generate an error token,
---                       save the old token and carry on.
-happyFail  i tk (action) sts stk =
---      trace "entering error recovery" $
-	happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk)
-
--- Internal happy errors:
-
-notHappyAtAll = error "Internal Happy error\n"
-
------------------------------------------------------------------------------
--- Hack to get the typechecker to accept our action functions
-
-
-happyTcHack :: Int# -> a -> a
+{-# OPTIONS_GHC -fno-warn-overlapping-patterns #-}
+{-# OPTIONS -fglasgow-exts -cpp #-}
+{-# OPTIONS_GHC -fno-warn-incomplete-patterns
+                -fno-warn-deprecated-flags #-}
+{-| The parser is generated by Happy (<http://www.haskell.org/happy>).
+-}
+module Agda.Syntax.Parser.Parser (
+      moduleParser
+    , exprParser
+    , tokensParser
+    , tests
+    ) where
+
+import Control.Arrow
+import Control.Monad
+import Control.Monad.State
+import Data.Char
+import Data.List
+import Data.Maybe
+import qualified Data.Traversable as T
+
+import Agda.Syntax.Position hiding (tests)
+import Agda.Syntax.Parser.Monad
+import Agda.Syntax.Parser.Lexer
+import Agda.Syntax.Parser.Tokens
+import Agda.Syntax.Concrete
+import Agda.Syntax.Concrete.Name
+import Agda.Syntax.Concrete.Pretty
+import Agda.Syntax.Common
+import Agda.Syntax.Fixity
+import Agda.Syntax.Notation
+import Agda.Syntax.Literal
+
+import Agda.Utils.Monad
+import Agda.Utils.QuickCheck
+import Agda.Utils.TestHelpers
+import qualified Data.Array as Happy_Data_Array
+import qualified GHC.Exts as Happy_GHC_Exts
+
+-- parser produced by Happy Version 1.18.5
+
+newtype HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63 = HappyAbsSyn HappyAny
+#if __GLASGOW_HASKELL__ >= 607
+type HappyAny = Happy_GHC_Exts.Any
+#else
+type HappyAny = forall a . a
+#endif
+happyIn6 :: ([Token]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn6 #-}
+happyOut6 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Token])
+happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut6 #-}
+happyIn7 :: ([Token]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn7 #-}
+happyOut7 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Token])
+happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut7 #-}
+happyIn8 :: (Token) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn8 #-}
+happyOut8 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Token)
+happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut8 #-}
+happyIn9 :: (()) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn9 #-}
+happyOut9 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (())
+happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut9 #-}
+happyIn10 :: (([Pragma], [Declaration])) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn10 #-}
+happyOut10 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (([Pragma], [Declaration]))
+happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut10 #-}
+happyIn11 :: t11 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn11 #-}
+happyOut11 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t11
+happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut11 #-}
+happyIn12 :: t12 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn12 #-}
+happyOut12 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t12
+happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut12 #-}
+happyIn13 :: t13 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn13 #-}
+happyOut13 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t13
+happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut13 #-}
+happyIn14 :: (()) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn14 #-}
+happyOut14 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (())
+happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut14 #-}
+happyIn15 :: (Integer) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn15 #-}
+happyOut15 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Integer)
+happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut15 #-}
+happyIn16 :: (Name) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn16 #-}
+happyOut16 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Name)
+happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut16 #-}
+happyIn17 :: ([Name]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn17 #-}
+happyOut17 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Name])
+happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut17 #-}
+happyIn18 :: (Arg Name) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn18 #-}
+happyOut18 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Arg Name)
+happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut18 #-}
+happyIn19 :: ([Arg Name]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn19 #-}
+happyOut19 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Arg Name])
+happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut19 #-}
+happyIn20 :: ([Arg Name]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn20 #-}
+happyOut20 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Arg Name])
+happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut20 #-}
+happyIn21 :: (QName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn21 #-}
+happyOut21 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (QName)
+happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut21 #-}
+happyIn22 :: (QName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn22 #-}
+happyOut22 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (QName)
+happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut22 #-}
+happyIn23 :: (Name) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn23 #-}
+happyOut23 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Name)
+happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut23 #-}
+happyIn24 :: ([Name]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn24 #-}
+happyOut24 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Name])
+happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut24 #-}
+happyIn25 :: ([Name]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn25 #-}
+happyOut25 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Name])
+happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut25 #-}
+happyIn26 :: ([String]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn26 #-}
+happyOut26 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([String])
+happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut26 #-}
+happyIn27 :: (QName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn27 #-}
+happyOut27 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (QName)
+happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut27 #-}
+happyIn28 :: (Expr) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn28 #-}
+happyOut28 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Expr)
+happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut28 #-}
+happyIn29 :: t29 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn29 #-}
+happyOut29 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t29
+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut29 #-}
+happyIn30 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn30 #-}
+happyOut30 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut30 #-}
+happyIn31 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn31 #-}
+happyOut31 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut31 #-}
+happyIn32 :: t32 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn32 #-}
+happyOut32 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t32
+happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut32 #-}
+happyIn33 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn33 #-}
+happyOut33 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
+happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut33 #-}
+happyIn34 :: t34 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn34 #-}
+happyOut34 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t34
+happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut34 #-}
+happyIn35 :: ([(Name, Expr)]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn35 #-}
+happyOut35 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([(Name, Expr)])
+happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut35 #-}
+happyIn36 :: ([(Name, Expr)]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn36 #-}
+happyOut36 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([(Name, Expr)])
+happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut36 #-}
+happyIn37 :: ((Name, Expr)) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn37 #-}
+happyOut37 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ((Name, Expr))
+happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut37 #-}
+happyIn38 :: t38 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn38 #-}
+happyOut38 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t38
+happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut38 #-}
+happyIn39 :: t39 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn39 #-}
+happyOut39 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t39
+happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut39 #-}
+happyIn40 :: ([TypedBindings]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn40 #-}
+happyOut40 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypedBindings])
+happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut40 #-}
+happyIn41 :: (TypedBindings) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn41 #-}
+happyOut41 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (TypedBindings)
+happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut41 #-}
+happyIn42 :: ([TypedBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn42 #-}
+happyOut42 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypedBinding])
+happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut42 #-}
+happyIn43 :: ([TypedBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn43 #-}
+happyOut43 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypedBinding])
+happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut43 #-}
+happyIn44 :: (TypedBinding) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn44 #-}
+happyOut44 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (TypedBinding)
+happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut44 #-}
+happyIn45 :: ([LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn45 #-}
+happyOut45 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([LamBinding])
+happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut45 #-}
+happyIn46 :: (([LamBinding], Hiding)) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn46 #-}
+happyOut46 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (([LamBinding], Hiding))
+happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut46 #-}
+happyIn47 :: ([Either Hiding LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn47 #-}
+happyOut47 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Either Hiding LamBinding])
+happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut47 #-}
+happyIn48 :: ([LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn48 #-}
+happyOut48 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([LamBinding])
+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut48 #-}
+happyIn49 :: ([LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn49 #-}
+happyOut49 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([LamBinding])
+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut49 #-}
+happyIn50 :: ([LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn50 #-}
+happyOut50 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([LamBinding])
+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut50 #-}
+happyIn51 :: ([LamBinding]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn51 #-}
+happyOut51 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([LamBinding])
+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut51 #-}
+happyIn52 :: ((Maybe AsName, ImportDirective)) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn52 #-}
+happyOut52 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ((Maybe AsName, ImportDirective))
+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut52 #-}
+happyIn53 :: (ImportDirective) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn53 #-}
+happyOut53 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (ImportDirective)
+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut53 #-}
+happyIn54 :: (ImportDirective) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn54 #-}
+happyOut54 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (ImportDirective)
+happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut54 #-}
+happyIn55 :: (ImportDirective) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn55 #-}
+happyOut55 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (ImportDirective)
+happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut55 #-}
+happyIn56 :: ((UsingOrHiding , Range)) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn56 #-}
+happyOut56 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ((UsingOrHiding , Range))
+happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut56 #-}
+happyIn57 :: (([Renaming] , Range)) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn57 #-}
+happyOut57 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (([Renaming] , Range))
+happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut57 #-}
+happyIn58 :: ([Renaming]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn58 #-}
+happyOut58 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Renaming])
+happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut58 #-}
+happyIn59 :: (Renaming) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn59 #-}
+happyOut59 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Renaming)
+happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut59 #-}
+happyIn60 :: (ImportedName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn60 #-}
+happyOut60 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (ImportedName)
+happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut60 #-}
+happyIn61 :: (ImportedName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn61 #-}
+happyOut61 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (ImportedName)
+happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut61 #-}
+happyIn62 :: ([ImportedName]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn62 #-}
+happyOut62 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([ImportedName])
+happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut62 #-}
+happyIn63 :: t63 -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn63 #-}
+happyOut63 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> t63
+happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut63 #-}
+happyIn64 :: (LHS) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn64 #-}
+happyOut64 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (LHS)
+happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut64 #-}
+happyIn65 :: ([Pattern]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn65 #-}
+happyOut65 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Pattern])
+happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut65 #-}
+happyIn66 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn66 #-}
+happyOut66 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
+happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut66 #-}
+happyIn67 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn67 #-}
+happyOut67 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
+happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut67 #-}
+happyIn68 :: (WhereClause) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn68 #-}
+happyOut68 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (WhereClause)
+happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut68 #-}
+happyIn69 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn69 #-}
+happyOut69 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
+happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut69 #-}
+happyIn70 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn70 #-}
+happyOut70 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
+happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut70 #-}
+happyIn71 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn71 #-}
+happyOut71 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut71 #-}
+happyIn72 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn72 #-}
+happyOut72 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
+happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut72 #-}
+happyIn73 :: ([Arg Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn73 #-}
+happyOut73 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Arg Declaration])
+happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut73 #-}
+happyIn74 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn74 #-}
+happyOut74 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut74 #-}
+happyIn75 :: (RHS) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn75 #-}
+happyOut75 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (RHS)
+happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut75 #-}
+happyIn76 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn76 #-}
+happyOut76 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut76 #-}
+happyIn77 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn77 #-}
+happyOut77 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut77 #-}
+happyIn78 :: (Name) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn78 #-}
+happyOut78 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Name)
+happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut78 #-}
+happyIn79 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn79 #-}
+happyOut79 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut79 #-}
+happyIn80 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn80 #-}
+happyOut80 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
+happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut80 #-}
+happyIn81 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn81 #-}
+happyOut81 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut81 #-}
+happyIn82 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn82 #-}
+happyOut82 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut82 #-}
+happyIn83 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn83 #-}
+happyOut83 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut83 #-}
+happyIn84 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn84 #-}
+happyOut84 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut84 #-}
+happyIn85 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn85 #-}
+happyOut85 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut85 #-}
+happyIn86 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn86 #-}
+happyOut86 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut86 #-}
+happyIn87 :: ([String]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn87 #-}
+happyOut87 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([String])
+happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut87 #-}
+happyIn88 :: ([HoleName]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn88 #-}
+happyOut88 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([HoleName])
+happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut88 #-}
+happyIn89 :: (HoleName) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn89 #-}
+happyOut89 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (HoleName)
+happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut89 #-}
+happyIn90 :: (String) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn90 #-}
+happyOut90 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (String)
+happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut90 #-}
+happyIn91 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn91 #-}
+happyOut91 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut91 #-}
+happyIn92 :: ([Expr]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn92 #-}
+happyOut92 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Expr])
+happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut92 #-}
+happyIn93 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn93 #-}
+happyOut93 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut93 #-}
+happyIn94 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn94 #-}
+happyOut94 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut94 #-}
+happyIn95 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn95 #-}
+happyOut95 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut95 #-}
+happyIn96 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn96 #-}
+happyOut96 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
+happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut96 #-}
+happyIn97 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn97 #-}
+happyOut97 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut97 #-}
+happyIn98 :: (Declaration) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn98 #-}
+happyOut98 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Declaration)
+happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut98 #-}
+happyIn99 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn99 #-}
+happyOut99 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
+happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut99 #-}
+happyIn100 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn100 #-}
+happyOut100 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
+happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut100 #-}
+happyIn101 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn101 #-}
+happyOut101 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
+happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut101 #-}
+happyIn102 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn102 #-}
+happyOut102 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
+happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut102 #-}
+happyIn103 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn103 #-}
+happyOut103 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
+happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut103 #-}
+happyIn104 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn104 #-}
+happyOut104 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
+happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut104 #-}
+happyIn105 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn105 #-}
+happyOut105 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
+happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut105 #-}
+happyIn106 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn106 #-}
+happyOut106 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
+happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut106 #-}
+happyIn107 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn107 #-}
+happyOut107 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
+happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut107 #-}
+happyIn108 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn108 #-}
+happyOut108 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
+happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut108 #-}
+happyIn109 :: (Pragma) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn109 #-}
+happyOut109 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Pragma)
+happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut109 #-}
+happyIn110 :: ([TypeSignature]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn110 #-}
+happyOut110 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypeSignature])
+happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut110 #-}
+happyIn111 :: ([TypeSignature]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn111 #-}
+happyOut111 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypeSignature])
+happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut111 #-}
+happyIn112 :: ([TypeSignature]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn112 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn112 #-}
+happyOut112 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypeSignature])
+happyOut112 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut112 #-}
+happyIn113 :: ([TypeSignature]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn113 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn113 #-}
+happyOut113 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([TypeSignature])
+happyOut113 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut113 #-}
+happyIn114 :: ([Arg TypeSignature]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn114 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn114 #-}
+happyOut114 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Arg TypeSignature])
+happyOut114 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut114 #-}
+happyIn115 :: ([Arg TypeSignature]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn115 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn115 #-}
+happyOut115 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Arg TypeSignature])
+happyOut115 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut115 #-}
+happyIn116 :: ([Constructor]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn116 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn116 #-}
+happyOut116 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Constructor])
+happyOut116 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut116 #-}
+happyIn117 :: ((Maybe Name, [Declaration])) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn117 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn117 #-}
+happyOut117 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ((Maybe Name, [Declaration]))
+happyOut117 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut117 #-}
+happyIn118 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn118 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn118 #-}
+happyOut118 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
+happyOut118 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut118 #-}
+happyIn119 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn119 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn119 #-}
+happyOut119 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
+happyOut119 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut119 #-}
+happyIn120 :: ([Declaration]) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyIn120 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn120 #-}
+happyOut120 :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> ([Declaration])
+happyOut120 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut120 #-}
+happyInTok :: (Token) -> (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63)
+happyInTok x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyInTok #-}
+happyOutTok :: (HappyAbsSyn t11 t12 t13 t29 t32 t34 t38 t39 t63) -> (Token)
+happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOutTok #-}
+
+
+happyActOffsets :: HappyAddr
+happyActOffsets = HappyA# "\x00\x00\xaf\x03\xe9\x04\x00\x00\x5d\x02\xaf\x00\xd7\x04\xe7\x04\x00\x00\xe7\x04\xdd\x04\x00\x00\xcc\x04\x00\x00\x00\x00\x00\x00\x00\x00\x48\x01\x31\x03\xaf\x03\xdc\x04\x00\x00\x91\x01\xe4\x04\xce\x04\x00\x00\x00\x00\x42\x04\xc6\x04\x00\x00\x00\x00\x08\x01\x00\x00\x00\x00\xc3\x03\x0f\x03\xed\x02\x00\x00\x00\x00\x00\x00\x99\x04\x7b\x01\xcf\x04\xb8\x04\xc2\x04\xaf\x04\xae\x04\x00\x00\x90\x04\x8f\x04\x00\x00\x00\x00\x00\x00\xc3\x03\xaf\x03\x00\x00\x84\x04\xc3\x03\x00\x00\x85\x03\x70\x03\x00\x00\xcb\x02\xa7\x00\xb7\x04\xfb\x02\x5b\x03\x83\x04\xfb\x02\xc4\x03\xc4\x03\x75\x04\x73\x04\xa3\x04\x00\x00\xc4\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x03\xc4\x03\x08\x01\x00\x00\x00\x00\x77\x04\x77\x04\x00\x00\x77\x04\x00\x00\xfa\xff\xf9\x02\xf9\x02\x82\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x04\x00\x00\x00\x00\xfb\x02\x96\x00\x08\x01\xf9\x02\x00\x00\x3c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x61\x04\x00\x00\x00\x00\xc4\x03\x5b\x03\x6c\x04\x6d\x04\x5b\x04\x00\x00\x66\x04\xe8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x03\x00\x00\x00\x00\x5b\x03\x5b\x03\x58\x04\x00\x00\x62\x04\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x04\x00\x00\x5b\x03\xa1\x02\xf9\xff\x00\x00\x96\x00\x08\x01\xd0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x04\x00\x00\x53\x04\x50\x04\x4f\x04\x0e\x03\x45\x04\xfb\x02\x7c\x04\xfb\x02\x3e\x04\x35\x04\x00\x00\x00\x00\x00\x00\x52\x04\x00\x00\xd0\x03\x00\x00\x67\x04\x52\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x4e\x04\x00\x00\xc5\x01\x70\x04\x3b\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x04\x40\x04\xc9\x00\x29\x04\x29\x04\x29\x04\x86\x01\x37\x04\x1d\x04\x1d\x04\x1d\x04\x34\x04\x34\x04\x34\x04\x10\x04\x26\x04\x08\x01\x7d\x06\x00\x00\x00\x00\x5b\x03\x00\x00\x00\x00\x1b\x04\x18\x04\x1a\x04\x16\x04\x16\x04\x16\x04\x16\x04\x16\x04\xfd\x00\x4b\x04\x08\x01\x8d\x00\x00\x00\x00\x00\x00\x00\xc3\x00\x00\x00\xc3\x00\xc3\x00\x0b\x04\x00\x00\xfb\x02\xfb\x02\xfb\x02\xfb\x02\x0e\x04\x0a\x04\x00\x00\x08\x04\x00\x00\x4a\x00\x5b\x03\x3f\x04\x5b\x03\x5b\x03\xa1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x04\x06\x04\x00\x00\x01\x04\x05\x04\xfc\x03\xfb\x03\x04\x04\x25\x04\x00\x00\x00\x00\xee\x03\x00\x00\x00\x00\xfe\x03\xe6\x03\xe6\x03\x17\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x03\x00\x00\x00\x00\xfa\x03\xe2\x03\xf5\x03\xf5\x03\xfb\x02\x10\x00\xf2\x03\xf1\x03\xe7\x03\xeb\x03\xc3\x00\x00\x00\x00\x00\x00\x00\xa5\x00\x00\x00\x00\x00\xe0\x03\x00\x00\xd6\x03\x08\x01\xff\x03\x5b\x03\xbe\x03\x00\x00\xbe\x03\xbd\x03\xb5\x03\xb4\x03\x00\x00\xab\x03\xac\x03\xaa\x03\x00\x00\x00\x00\xa8\x03\xa0\x03\xa6\x03\xa5\x03\x00\x00\x00\x00\x00\x00\x83\x03\x00\x00\x83\x03\x00\x00\xfe\x00\xf9\xff\x5b\x03\x5b\x03\x5b\x03\x97\x03\x5b\x03\x8f\x03\x7b\x03\xf9\xff\x0f\x00\xf9\xff\xb8\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x02\x00\x00\x8e\x03\x1d\x00\x8e\x03\x00\x00\x0f\x00\x86\x03\x00\x00\x74\x03\x1d\x00\x81\x03\x68\x03\x77\x03\x00\x00\x5b\x03\xd0\x03\x00\x00\xa3\x03\xa1\x03\x98\x03\x1d\x00\x6b\x03\xfe\x00\x64\x03\x00\x00\x2a\x01\x0f\x00\x4e\x03\x00\x00\x5e\x03\x00\x00\x00\x00\x51\x03\x00\x00\x00\x00\x00\x00\x49\x03\x00\x00\x4d\x03\x00\x00\x39\x03\x5b\x03\x00\x00\xfe\x00\x00\x00\x5c\x03\x5c\x03\x5c\x03\x00\x00\xd0\x03\x5b\x03\x00\x00\x2d\x03\x00\x00\x5b\x03\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x03\x00\x00\x00\x00\x00\x00\x30\x03\x00\x00\x00\x00\x00\x00\x2c\x03\xfe\x00\x28\x03\x00\x00\x00\x00\xfe\x00\x3f\x03\x3f\x03\x12\x00\xd4\x01\xf9\xff\x00\x00\x1d\x00\x00\x00\xf9\xff\x1d\x03\x00\x00\x00\x00\x1d\x00\x32\x03\x00\x00\xf9\xff\x00\x00\x1d\x00\x00\x00\x00\x00"#
+
+happyGotoOffsets :: HappyAddr
+happyGotoOffsets = HappyA# "\xef\x02\x79\x06\x11\x00\x56\x03\x52\x03\xf5\x01\x00\x00\x4f\x03\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x03\x64\x06\x00\x00\x00\x00\x8b\x02\x0e\x00\x00\x00\x00\x00\x00\x00\x6d\x01\x3b\x03\x00\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x1f\x00\x4d\x04\x32\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x02\x4f\x06\x00\x00\x00\x00\xe7\x01\x00\x00\x8a\x04\x76\x04\x00\x00\x3a\x06\x25\x06\x00\x00\x13\x03\x10\x06\x00\x00\x2c\x02\x68\x04\x3c\x03\x2c\x00\x00\x00\x00\x00\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x05\x65\x03\xd4\x00\x00\x00\x00\x00\x30\x00\x08\x00\x00\x00\x2f\x00\x00\x00\xb6\x02\x30\x02\x14\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x36\x03\x00\x00\x00\x00\xce\x02\xa2\x04\x36\x00\xcf\x01\x00\x00\x9f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x03\xe6\x05\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x04\x00\x00\x00\x00\xbc\x05\xa7\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x01\x00\x00\x92\x05\x6c\x01\xa8\x02\x00\x00\x8d\x04\x35\x00\xcb\x04\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x02\x35\x03\x9b\x02\x00\x00\xfa\x01\x00\x00\x15\x03\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\xb6\x04\x00\x00\xfa\x00\xd6\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x03\x23\x03\x00\x00\x00\x00\xd6\x02\xde\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x06\x00\x37\x01\x04\x03\xfc\x02\xf7\x02\xf2\x02\x16\x00\xe9\x02\xdb\x02\xd8\x02\x0d\x00\x0c\x00\x0b\x00\xcd\x02\x9a\x02\xb1\x00\x00\x00\x00\x00\x00\x00\xf8\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x02\xad\x02\x9f\x02\x91\x02\x47\x02\x00\x00\x18\x02\x6e\x01\x7e\x02\x00\x00\x00\x00\x00\x00\x83\x01\x00\x00\x70\x01\x57\x01\x00\x00\x00\x00\xef\x01\xb5\x01\x82\x01\x6f\x01\x2f\x02\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x01\x7d\x05\xdb\x01\x68\x05\x53\x05\x0e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x02\x00\x00\x03\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfb\x01\xec\x01\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x05\x00\x00\x00\x00\x0a\x00\xe9\x01\x04\x00\x1e\x00\x11\x01\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\xdb\x00\x00\x00\x00\x00\x00\x00\x50\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x01\x44\x01\x81\x01\x29\x05\xa0\x01\x00\x00\x90\x01\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\x79\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x01\x00\x00\x93\x00\x00\x00\x21\x00\x42\x02\x14\x05\xff\x04\xea\x04\x05\x00\xd5\x04\x00\x00\xb2\x00\x35\x02\x84\x00\xfc\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x09\x00\x50\x01\x40\x01\x00\x00\x6f\x03\x00\x00\x00\x00\x12\x01\x00\x01\xf5\x00\xcc\x01\x00\x00\x00\x00\xc0\x04\x9e\x03\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x00\xd0\x00\xd0\x02\x00\x00\x00\x00\xb7\x00\xb7\x02\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\xff\x00\x00\x00\x00\x00\x00\x4c\x00\xab\x04\x00\x00\x20\x00\x00\x00\x03\x00\x18\x00\x17\x00\x00\x00\xba\x02\x91\x04\x00\x00\x15\x00\x00\x00\x87\x01\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x01\x00\x00\x00\x00\x00\x00\x9f\x00\xff\xff\x1b\x00\x1c\x00\x4e\x00\xbb\x01\x00\x00\x66\x00\x00\x00\x88\x01\x44\x00\x00\x00\x00\x00\x3d\x00\xfe\xff\x00\x00\x37\x00\x00\x00\x33\x00\x00\x00\x00\x00"#
+
+happyDefActions :: HappyAddr
+happyDefActions = HappyA# "\xfa\xff\x00\x00\xb5\xff\x00\x00\xfc\xff\x00\x00\x00\x00\xb5\xff\xb2\xff\xb5\xff\x9c\xff\x82\xff\x00\x00\x8f\xff\x8e\xff\x8c\xff\x8b\xff\x00\x00\x86\xff\x00\x00\x00\x00\x6c\xff\x6a\xff\xb5\xff\x00\x00\x7e\xff\x7d\xff\x00\x00\x00\x00\x7c\xff\x7b\xff\x00\x00\x7f\xff\x80\xff\x00\x00\x00\x00\x00\x00\xaa\xff\x9d\xff\x81\xff\x00\x00\x9c\xff\x00\x00\x00\x00\x8c\xff\x00\x00\x67\xff\x77\xff\x00\x00\x00\x00\x76\xff\x9a\xff\x51\xff\x5c\xff\x00\x00\x88\xff\x60\xff\x5d\xff\x99\xff\x00\x00\x00\x00\x74\xff\x00\x00\x00\x00\x00\x00\x55\xff\x00\x00\x00\x00\x56\xff\x00\x00\x00\x00\x72\xff\x00\x00\x00\x00\x6b\xff\x00\x00\x6d\xff\x92\xff\x8a\xff\x83\xff\x00\x00\x00\x00\x00\x00\xb4\xff\xb3\xff\xb5\xff\xb5\xff\xf7\xfe\xb5\xff\xf2\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xf9\xff\xf8\xff\xf7\xff\xf6\xff\xf5\xff\xf4\xff\xf3\xff\xf2\xff\xf1\xff\xf0\xff\xef\xff\xee\xff\xed\xff\xec\xff\xeb\xff\xea\xff\xe9\xff\xe8\xff\xe7\xff\xe6\xff\xe5\xff\xe4\xff\xe3\xff\xe2\xff\xe1\xff\xe0\xff\xdf\xff\xde\xff\xdd\xff\xdc\xff\xdb\xff\xda\xff\xd9\xff\xd4\xff\xd3\xff\xd8\xff\xd7\xff\xd6\xff\xd5\xff\xd2\xff\xd1\xff\xd0\xff\xcf\xff\xce\xff\xcd\xff\xcc\xff\xcb\xff\xca\xff\xc9\xff\xc8\xff\xc7\xff\xc6\xff\xc5\xff\xc4\xff\xc3\xff\xc2\xff\xc1\xff\xc0\xff\xbf\xff\xbe\xff\xbd\xff\xbc\xff\xbb\xff\xba\xff\xb9\xff\xb8\xff\xb7\xff\xb6\xff\x95\xff\x9c\xff\x9b\xff\x52\xff\x47\xff\xfe\xfe\x00\x00\xb1\xff\x00\x00\xf6\xfe\xf5\xfe\x75\xff\x8d\xff\x00\x00\x90\xff\x96\xff\x86\xff\x00\x00\xb5\xff\x00\x00\x00\x00\x71\xff\x70\xff\x00\x00\x58\xff\x59\xff\x91\xff\x57\xff\x00\x00\x5a\xff\x5b\xff\x5f\xff\x61\xff\x89\xff\x5e\xff\x69\xff\x78\xff\x00\x00\x68\xff\x7a\xff\x00\x00\x00\x00\x00\x00\x62\xff\x63\xff\x65\xff\x66\xff\x85\xff\x50\xff\x00\x00\x73\xff\x00\x00\x00\x00\xb5\xff\x87\xff\x47\xff\xfe\xfe\x47\xff\xfa\xfe\x4f\xff\x4d\xff\x4b\xff\x48\xff\x49\xff\x00\x00\x00\x00\x00\x00\x47\xff\x00\x00\x52\xff\x00\x00\x52\xff\x00\x00\x95\xff\x94\xff\xe9\xfe\x54\xff\xb5\xff\x53\xff\x47\xff\x4c\xff\xac\xff\x00\x00\x3c\xff\x4a\xff\xff\xfe\xfd\xfe\xf9\xfe\x00\x00\xb5\xff\xae\xff\x9c\xff\x32\xff\x15\xff\xcd\xfe\x2d\xff\x2b\xff\x2a\xff\x29\xff\x28\xff\x2c\xff\x27\xff\x26\xff\x25\xff\x24\xff\x23\xff\x1d\xff\x22\xff\x20\xff\x21\xff\x1f\xff\x1e\xff\xf3\xfe\xf1\xfe\xf0\xfe\xee\xfe\xef\xfe\xed\xfe\xea\xfe\xec\xfe\xeb\xfe\xb5\xff\xb5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\xff\x00\x00\x00\x00\x00\x00\xb5\xff\xb5\xff\xb5\xff\x00\x00\x36\xff\x00\x00\x00\x00\x6e\xff\x6f\xff\x00\x00\x79\xff\x64\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\xff\x32\xff\x00\x00\x00\x00\x0a\xff\x0b\xff\x0c\xff\x00\x00\xab\xff\x00\x00\x00\x00\x00\x00\x0d\xff\x52\xff\x52\xff\x52\xff\x52\xff\x00\x00\x00\x00\x08\xff\x00\x00\x09\xff\x30\xff\x00\x00\x34\xff\x00\x00\x00\x00\x00\x00\xd1\xfe\xaf\xff\xb0\xff\xad\xff\x3e\xff\x3a\xff\x00\x00\x3b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x42\xff\x00\x00\xac\xff\x4e\xff\x00\x00\xcf\xfe\xf4\xfe\xb5\xff\x00\x00\x00\x00\xac\xff\x44\xff\x40\xff\x45\xff\x3d\xff\x46\xff\x00\x00\xce\xfe\x1a\xff\x31\xff\x38\xff\x00\x00\x16\xff\x17\xff\xb5\xff\x00\x00\xb5\xff\xb5\xff\x52\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb5\xff\x97\xff\x10\xff\x0f\xff\x0e\xff\x00\x00\x04\xff\x02\xff\x00\x00\x00\xff\x36\xff\x84\xff\x34\xff\x00\x00\x95\xff\x93\xff\x95\xff\x00\x00\x95\xff\x00\x00\xe1\xfe\x00\x00\x00\x00\x00\x00\xe2\xfe\xe3\xfe\x00\x00\x95\xff\x00\x00\x00\x00\x1b\xff\x37\xff\x35\xff\x00\x00\x03\xff\x00\x00\x98\xff\x00\x00\xb5\xff\x00\x00\x00\x00\x00\x00\xb5\xff\x00\x00\x00\x00\x00\x00\xb5\xff\x00\x00\xb5\xff\x00\x00\x2f\xff\x33\xff\x39\xff\x43\xff\x41\xff\x3f\xff\x00\x00\xd0\xfe\xb5\xff\x00\x00\xb5\xff\xa6\xff\xa4\xff\x00\x00\xdb\xfe\x00\x00\x00\x00\xb5\xff\xa8\xff\x00\x00\xde\xfe\x00\x00\x47\xff\xf8\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xb5\xff\xa2\xff\x00\x00\xd8\xfe\x00\x00\x00\x00\x07\xff\x06\xff\x00\x00\xe4\xfe\xe6\xfe\x00\x00\xe7\xfe\xe8\xfe\xe5\xfe\x00\x00\x05\xff\x00\x00\xa7\xff\x00\x00\x00\x00\xa3\xff\x00\x00\xda\xfe\xb5\xff\xb5\xff\xb5\xff\xfc\xfe\x47\xff\x00\x00\xa9\xff\x00\x00\xe0\xfe\x00\x00\xa5\xff\x00\x00\xdd\xfe\x2e\xff\xdc\xfe\x19\xff\xdf\xfe\x1c\xff\xfb\xfe\x00\x00\xd6\xfe\x14\xff\x13\xff\x00\x00\x12\xff\xd9\xfe\x18\xff\x00\x00\xa0\xff\x00\x00\x01\xff\xa1\xff\x9e\xff\xb5\xff\xb5\xff\x00\x00\x00\x00\xb5\xff\x9f\xff\x00\x00\xd5\xfe\xb5\xff\x00\x00\xd7\xfe\x11\xff\x00\x00\xb5\xff\xd2\xfe\xb5\xff\xd4\xfe\x00\x00\xd3\xfe"#
+
+happyCheck :: HappyAddr
+happyCheck = HappyA# "\xff\xff\x03\x00\x03\x00\x09\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x03\x00\x00\x00\x03\x00\x03\x00\x04\x00\x05\x00\x03\x00\x30\x00\x03\x00\x03\x00\x03\x00\x03\x00\x00\x00\x03\x00\x0a\x00\x0b\x00\x03\x00\x06\x00\x3b\x00\x2b\x00\x54\x00\x0a\x00\x0b\x00\x2f\x00\x0a\x00\x0a\x00\x0a\x00\x0c\x00\x0c\x00\x0e\x00\x0e\x00\x11\x00\x0a\x00\x03\x00\x03\x00\x05\x00\x0a\x00\x0a\x00\x0c\x00\x0d\x00\x06\x00\x03\x00\x41\x00\x42\x00\x2e\x00\x07\x00\x0a\x00\x0a\x00\x31\x00\x23\x00\x06\x00\x0f\x00\x0f\x00\x27\x00\x28\x00\x29\x00\x1d\x00\x1e\x00\x1f\x00\x2d\x00\x03\x00\x0a\x00\x3d\x00\x41\x00\x1c\x00\x1c\x00\x41\x00\x06\x00\x40\x00\x0a\x00\x0b\x00\x0a\x00\x0f\x00\x3d\x00\x3e\x00\x40\x00\x0f\x00\x37\x00\x38\x00\x39\x00\x0f\x00\x5a\x00\x43\x00\x43\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x5a\x00\x06\x00\x42\x00\x68\x00\x6b\x00\x72\x00\x72\x00\x6f\x00\x72\x00\x72\x00\x70\x00\x71\x00\x70\x00\x71\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x70\x00\x68\x00\x68\x00\x6d\x00\x6c\x00\x6a\x00\x69\x00\x6e\x00\x6e\x00\x69\x00\x3a\x00\x5a\x00\x5a\x00\x56\x00\x56\x00\x3f\x00\x0a\x00\x41\x00\x0c\x00\x0d\x00\x44\x00\x41\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x54\x00\x0a\x00\x0b\x00\x0c\x00\x55\x00\x0e\x00\x57\x00\x58\x00\x59\x00\x01\x00\x0a\x00\x5c\x00\x0c\x00\x5e\x00\x0e\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x06\x00\x08\x00\x09\x00\x12\x00\x0a\x00\x0a\x00\x0a\x00\x0b\x00\x0f\x00\x0f\x00\x0f\x00\x0a\x00\x1b\x00\x1c\x00\x1d\x00\x38\x00\x42\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1c\x00\x41\x00\x28\x00\x29\x00\x2a\x00\x09\x00\x03\x00\x0a\x00\x2e\x00\x31\x00\x41\x00\x0f\x00\x32\x00\x33\x00\x06\x00\x35\x00\x38\x00\x0a\x00\x38\x00\x0a\x00\x3a\x00\x3b\x00\x0f\x00\x51\x00\x0a\x00\x41\x00\x54\x00\x41\x00\x42\x00\x3a\x00\x44\x00\x11\x00\x12\x00\x3f\x00\x3f\x00\x1c\x00\x41\x00\x40\x00\x08\x00\x44\x00\x32\x00\x46\x00\x47\x00\x03\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x37\x00\x08\x00\x39\x00\x41\x00\x55\x00\x06\x00\x57\x00\x58\x00\x59\x00\x41\x00\x42\x00\x5c\x00\x37\x00\x5e\x00\x39\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x0a\x00\x0a\x00\x12\x00\x0a\x00\x0a\x00\x0f\x00\x0f\x00\x34\x00\x35\x00\x36\x00\x11\x00\x1b\x00\x1c\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1c\x00\x2e\x00\x30\x00\x34\x00\x35\x00\x36\x00\x29\x00\x2a\x00\x36\x00\x23\x00\x0a\x00\x2e\x00\x0c\x00\x3a\x00\x0e\x00\x32\x00\x33\x00\x0a\x00\x2c\x00\x2d\x00\x41\x00\x38\x00\x0a\x00\x3a\x00\x03\x00\x08\x00\x09\x00\x0f\x00\x10\x00\x3a\x00\x41\x00\x42\x00\x0f\x00\x44\x00\x3f\x00\x0a\x00\x41\x00\x1e\x00\x1f\x00\x44\x00\x0f\x00\x46\x00\x47\x00\x06\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x1b\x00\x1c\x00\x0a\x00\x14\x00\x55\x00\x3a\x00\x57\x00\x58\x00\x59\x00\x11\x00\x12\x00\x5c\x00\x41\x00\x5e\x00\x54\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0f\x00\x34\x00\x0f\x00\x11\x00\x37\x00\x11\x00\x11\x00\x12\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1b\x00\x1c\x00\x03\x00\x0a\x00\x0a\x00\x15\x00\x07\x00\x23\x00\x0a\x00\x23\x00\x11\x00\x11\x00\x12\x00\x0f\x00\x2a\x00\x2b\x00\x14\x00\x2d\x00\x2c\x00\x2d\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x14\x00\x23\x00\x3a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x3f\x00\x31\x00\x41\x00\x2c\x00\x2d\x00\x44\x00\x36\x00\x46\x00\x47\x00\x14\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x3c\x00\x03\x00\x0a\x00\x3a\x00\x55\x00\x07\x00\x57\x00\x58\x00\x59\x00\x11\x00\x41\x00\x5c\x00\x38\x00\x5e\x00\x3a\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x01\x00\x0a\x00\x0b\x00\x23\x00\x0a\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0f\x00\x10\x00\x3b\x00\x2c\x00\x2d\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x0a\x00\x1e\x00\x0a\x00\x55\x00\x30\x00\x0a\x00\x58\x00\x11\x00\x0a\x00\x5b\x00\x36\x00\x28\x00\x29\x00\x2a\x00\x03\x00\x11\x00\x2d\x00\x2e\x00\x07\x00\x0a\x00\x0a\x00\x32\x00\x33\x00\x08\x00\x35\x00\x23\x00\x11\x00\x38\x00\x0a\x00\x3a\x00\x0a\x00\x29\x00\x3d\x00\x23\x00\x3f\x00\x2d\x00\x41\x00\x42\x00\x3c\x00\x44\x00\x00\x00\x01\x00\x2c\x00\x2d\x00\x23\x00\x0a\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0f\x00\x10\x00\x0a\x00\x2c\x00\x2d\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x11\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x0a\x00\x1e\x00\x03\x00\x0a\x00\x0a\x00\x3e\x00\x07\x00\x11\x00\x23\x00\x0f\x00\x10\x00\x28\x00\x29\x00\x2a\x00\x29\x00\x03\x00\x2d\x00\x2e\x00\x2d\x00\x07\x00\x55\x00\x32\x00\x33\x00\x58\x00\x35\x00\x23\x00\x5b\x00\x38\x00\x5d\x00\x3a\x00\x5f\x00\x3d\x00\x3d\x00\x2b\x00\x3f\x00\x2d\x00\x41\x00\x42\x00\x15\x00\x44\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x01\x00\x53\x00\x54\x00\x0a\x00\x15\x00\x06\x00\x07\x00\x08\x00\x09\x00\x03\x00\x11\x00\x22\x00\x23\x00\x07\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x15\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x23\x00\x1e\x00\x0a\x00\x0a\x00\x15\x00\x0c\x00\x0d\x00\x0f\x00\x10\x00\x2c\x00\x2d\x00\x28\x00\x29\x00\x2a\x00\x01\x00\x15\x00\x2d\x00\x2e\x00\x52\x00\x53\x00\x54\x00\x32\x00\x33\x00\x3b\x00\x35\x00\x0a\x00\x0a\x00\x38\x00\x0a\x00\x3a\x00\x0c\x00\x12\x00\x0e\x00\x11\x00\x3f\x00\x09\x00\x41\x00\x42\x00\x09\x00\x44\x00\x1b\x00\x1c\x00\x1d\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x01\x00\x00\x00\x01\x00\x23\x00\x09\x00\x28\x00\x29\x00\x2a\x00\x31\x00\x32\x00\x33\x00\x2e\x00\x2c\x00\x2d\x00\x0a\x00\x32\x00\x33\x00\x12\x00\x35\x00\x0a\x00\x0a\x00\x38\x00\x39\x00\x3a\x00\x0a\x00\x0f\x00\x1b\x00\x1c\x00\x1d\x00\x13\x00\x41\x00\x42\x00\x0a\x00\x44\x00\x01\x00\x19\x00\x1a\x00\x3d\x00\x1c\x00\x28\x00\x29\x00\x2a\x00\x0a\x00\x0b\x00\x0c\x00\x2e\x00\x24\x00\x0a\x00\x26\x00\x32\x00\x33\x00\x12\x00\x35\x00\x45\x00\x11\x00\x38\x00\x03\x00\x3a\x00\x3b\x00\x14\x00\x1b\x00\x1c\x00\x1d\x00\x32\x00\x41\x00\x42\x00\x06\x00\x44\x00\x01\x00\x38\x00\x33\x00\x3a\x00\x23\x00\x28\x00\x29\x00\x2a\x00\x41\x00\x42\x00\x41\x00\x2e\x00\x2b\x00\x0a\x00\x2d\x00\x32\x00\x33\x00\x12\x00\x35\x00\x0a\x00\x0a\x00\x38\x00\x39\x00\x3a\x00\x14\x00\x0f\x00\x1b\x00\x1c\x00\x03\x00\x13\x00\x41\x00\x42\x00\x03\x00\x44\x00\x02\x00\x19\x00\x1a\x00\x01\x00\x1c\x00\x28\x00\x29\x00\x2a\x00\x01\x00\x2b\x00\x41\x00\x2e\x00\x24\x00\x39\x00\x26\x00\x32\x00\x33\x00\x34\x00\x35\x00\x3b\x00\x37\x00\x38\x00\x2b\x00\x3a\x00\x3c\x00\x12\x00\x41\x00\x0a\x00\x3c\x00\x01\x00\x41\x00\x42\x00\x0f\x00\x44\x00\x1b\x00\x1c\x00\x1d\x00\x0a\x00\x41\x00\x0c\x00\x0d\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x12\x00\x28\x00\x29\x00\x2a\x00\x01\x00\x2b\x00\x3b\x00\x2e\x00\x41\x00\x1b\x00\x1c\x00\x32\x00\x33\x00\x41\x00\x35\x00\x40\x00\x34\x00\x38\x00\x30\x00\x3a\x00\x2b\x00\x12\x00\x28\x00\x29\x00\x2a\x00\x03\x00\x41\x00\x42\x00\x2e\x00\x44\x00\x1b\x00\x1c\x00\x32\x00\x33\x00\x03\x00\x35\x00\x03\x00\x30\x00\x38\x00\x41\x00\x3a\x00\x3b\x00\x2b\x00\x28\x00\x29\x00\x2a\x00\x01\x00\x41\x00\x42\x00\x2e\x00\x44\x00\x41\x00\x30\x00\x32\x00\x33\x00\x2b\x00\x35\x00\x03\x00\x41\x00\x38\x00\x39\x00\x3a\x00\x31\x00\x12\x00\x2b\x00\x0a\x00\x41\x00\x01\x00\x41\x00\x42\x00\x0f\x00\x44\x00\x1b\x00\x1c\x00\x1d\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x12\x00\x28\x00\x29\x00\x2a\x00\x0a\x00\x0b\x00\x0c\x00\x2e\x00\x0e\x00\x1b\x00\x1c\x00\x32\x00\x33\x00\x43\x00\x35\x00\x40\x00\x40\x00\x38\x00\x40\x00\x3a\x00\x40\x00\x40\x00\x28\x00\x29\x00\x2a\x00\x43\x00\x41\x00\x42\x00\x2e\x00\x44\x00\x40\x00\x32\x00\x32\x00\x33\x00\x43\x00\x35\x00\x0a\x00\x38\x00\x38\x00\x3a\x00\x3a\x00\x0f\x00\x43\x00\x43\x00\x0a\x00\x04\x00\x41\x00\x41\x00\x42\x00\x0f\x00\x44\x00\x19\x00\x1a\x00\x13\x00\x1c\x00\x37\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x35\x00\x2b\x00\x30\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x0a\x00\x2b\x00\x30\x00\x30\x00\x41\x00\x0f\x00\x2b\x00\x0f\x00\x41\x00\x13\x00\x2b\x00\x3c\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x0d\x00\x2f\x00\x39\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x0a\x00\x41\x00\x39\x00\x39\x00\x2f\x00\x0f\x00\x41\x00\x04\x00\x3c\x00\x13\x00\x3c\x00\x3c\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x41\x00\x05\x00\x41\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x0a\x00\x26\x00\x43\x00\x40\x00\x43\x00\x0f\x00\x37\x00\x43\x00\x2b\x00\x13\x00\x44\x00\x2b\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x41\x00\x2b\x00\x31\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x0a\x00\x26\x00\x32\x00\x05\x00\x0f\x00\x0f\x00\x43\x00\x2b\x00\x38\x00\x13\x00\x3a\x00\x2b\x00\x40\x00\x03\x00\x0a\x00\x19\x00\x1a\x00\x41\x00\x1c\x00\x0f\x00\x41\x00\x38\x00\x38\x00\x13\x00\x0c\x00\x38\x00\x24\x00\x41\x00\x26\x00\x19\x00\x1a\x00\x2f\x00\x1c\x00\x3b\x00\x0a\x00\x2f\x00\x3b\x00\x2b\x00\x37\x00\x0f\x00\x24\x00\x0a\x00\x26\x00\x13\x00\x31\x00\x43\x00\x0f\x00\x1f\x00\x2b\x00\x19\x00\x1a\x00\x02\x00\x1c\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x24\x00\x3c\x00\x26\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0a\x00\x41\x00\x34\x00\x34\x00\x02\x00\x0f\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\x39\x00\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x2f\x00\x45\x00\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x3b\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x30\x00\x3b\x00\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x30\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x41\x00\x3a\x00\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\x2b\x00\x34\x00\x45\x00\x2b\x00\x36\x00\x2b\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x45\x00\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\x0a\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x22\x00\x23\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
+
+happyTable :: HappyAddr
+happyTable = HappyA# "\x00\x00\xd7\x00\x0e\x02\xaa\x00\xbc\x01\xd7\x00\x01\x02\xb3\x01\x67\x01\x4d\x01\x67\x01\xab\x00\x48\x00\x48\x00\x48\x00\x48\x00\x48\x00\x48\x00\x59\x01\xaf\x01\x05\x00\x06\x00\x07\x00\xa9\x01\xcc\x00\x46\x01\xfd\x01\xfd\x01\x4f\x01\x59\x01\x0d\x02\xc8\x01\xc9\x01\xb1\x01\x15\x02\xd4\x00\x0a\x00\x07\x02\xc8\x01\xc9\x01\xfe\x00\x33\x00\xc1\x01\xc1\x01\xd3\x01\xd3\x01\xd4\x01\xd4\x01\x34\x00\x5b\x01\x05\x00\xab\x00\xaa\x00\xc1\x01\xb6\x00\xc2\x01\xc3\x01\x1d\x02\x1c\x02\x26\x00\x27\x00\xc6\x01\xfc\x00\x0a\x00\x0a\x00\xb0\x01\x35\x00\x1b\x02\x0b\x00\x0b\x00\x36\x00\x37\x00\x38\x00\xb7\x00\xb8\x00\xb9\x00\x39\x00\x7c\x01\x16\x02\x5a\x01\x26\x00\xdb\x00\xdb\x00\x26\x00\x12\x02\xfa\x01\xc8\x01\x05\x02\xfe\x00\x7d\x01\x5a\x01\x5b\x01\xca\x01\x0b\x00\x5c\x01\x5d\x01\x5e\x01\x60\x01\xac\x00\x03\x02\xd5\x01\xff\x00\x0e\x00\x0f\x00\x10\x00\xb0\x00\x12\x00\x08\x00\x19\x02\xf8\x01\x4e\x01\xb4\x01\x1a\x02\x0f\x02\x02\x02\xd8\x00\xd8\x00\x68\x01\xcd\x01\x68\x01\x69\x01\xf7\x01\xb6\x01\x3f\x01\x40\x01\x41\x01\x49\x00\xfe\x01\xfe\x01\xaa\x01\x47\x01\x50\x01\xb2\x01\xff\x01\x00\x02\xb2\x01\x00\x01\x08\x00\xad\x00\xf9\x00\xdc\x00\x01\x01\xc1\x01\x02\x01\xc2\x01\xc3\x01\x03\x01\x26\x00\x04\x01\x05\x01\x13\x02\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\x0d\x01\xe2\x01\xe4\x00\xe5\x00\xe6\x00\x0e\x01\xe7\x00\x0f\x01\x10\x01\x11\x01\x18\x00\xc1\x01\x12\x01\xd3\x01\x13\x01\x10\x02\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\xbd\x01\x5b\x00\x5c\x00\x19\x00\xfe\x00\x3b\x01\xc8\x01\xc9\x01\x5d\x00\x0b\x00\x0b\x00\xe4\x01\x1a\x00\x1b\x00\x1c\x00\x8d\x01\xc4\x01\xff\x00\x0e\x00\x0f\x00\x10\x00\xb0\x00\x12\x00\x3d\x00\x8e\x01\x1d\x00\x1e\x00\x1f\x00\xaa\x00\xe8\x01\x5b\x01\x20\x00\xa8\x01\xe8\x00\x4d\x01\x21\x00\x22\x00\xe9\x01\x23\x00\x8d\x01\x0a\x00\x24\x00\x5b\x01\x25\x00\x30\x00\x0b\x00\xd8\x01\x33\x00\x8e\x01\xd9\x01\x26\x00\x27\x00\x00\x01\x28\x00\x85\x01\xa8\x01\x5e\x00\x01\x01\xae\x00\x02\x01\xca\x01\x61\x01\x03\x01\x3b\x00\x04\x01\x05\x01\xf1\x01\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\x0d\x01\x5c\x01\x61\x01\xb8\x01\x26\x00\x0e\x01\xf2\x01\x0f\x01\x10\x01\x11\x01\x26\x00\x27\x00\x12\x01\x5c\x01\x13\x01\x60\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\xfe\x00\x0a\x00\x19\x00\x33\x00\xe4\x01\x0b\x00\x0b\x00\xb9\x01\x63\x01\x64\x01\x34\x00\x1a\x00\x1b\x00\xff\x00\x0e\x00\x0f\x00\x10\x00\xb0\x00\x12\x00\x3d\x00\xd7\x01\x92\x01\x62\x01\x63\x01\x64\x01\x1e\x00\x1f\x00\x53\x00\xe8\x00\xc1\x01\x20\x00\xd3\x01\xd8\x01\x09\x02\x21\x00\x22\x00\xb6\x00\xb0\x01\xea\x00\x26\x00\x3f\x00\xa4\x00\x40\x00\xf5\x01\x5b\x00\x5c\x00\xa5\x00\xa8\x00\x00\x01\x26\x00\x27\x00\x5d\x00\x28\x00\x74\x01\x0a\x00\x02\x01\x2f\x01\xb9\x00\x03\x01\x0b\x00\x04\x01\x05\x01\xf6\x01\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\x0d\x01\x4f\x00\x8f\x01\x33\x00\xdd\x01\x0e\x01\xe6\x01\x0f\x01\x10\x01\x11\x01\x85\x01\x86\x01\x12\x01\x26\x00\x13\x01\xda\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\xfe\x00\x33\x00\x0a\x00\x33\x00\x33\x00\x0b\x00\x51\x00\x0b\x00\x34\x00\x52\x00\x34\x00\x85\x01\x87\x01\xff\x00\x0e\x00\x0f\x00\x10\x00\xb0\x00\x12\x00\x8e\x01\x8f\x01\x17\x02\x33\x00\x33\x00\x9b\x01\x18\x02\x41\x00\x0a\x00\xe8\x00\x34\x00\x85\x01\x88\x01\x0b\x00\x42\x00\x43\x00\x9e\x01\x44\x00\x80\x01\xea\x00\xf9\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xa0\x01\xe8\x00\x00\x01\x13\x00\x14\x00\x15\x00\x16\x00\x01\x01\xcd\x00\x02\x01\x81\x01\xea\x00\x03\x01\x53\x00\x04\x01\x05\x01\xa1\x01\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\x0d\x01\xa3\x01\x11\x02\x33\x00\x48\x00\x0e\x01\xfc\x00\x0f\x01\x10\x01\x11\x01\x34\x00\x26\x00\x12\x01\x46\x00\x13\x01\x4c\x00\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x59\x01\x18\x00\xc8\x01\xf0\x01\xe8\x00\xa4\x00\x1d\x01\x1e\x01\x1f\x01\x5c\x00\xa5\x00\xda\x00\xa4\x01\x82\x01\xea\x00\x20\x01\x21\x01\x22\x01\x23\x01\x15\x02\x24\x01\x25\x01\x26\x01\x27\x01\x28\x01\x29\x01\x2a\x01\x1a\x00\x1b\x00\x33\x00\x2b\x01\xb5\x01\x55\x00\x56\x01\xba\x01\x56\x00\x34\x00\x33\x00\x57\x00\x53\x00\x1d\x00\x1e\x00\x1f\x00\xbf\x01\x34\x00\x2c\x01\x2d\x01\xc0\x01\x33\x00\xbb\x01\x21\x00\x22\x00\x6b\x01\x23\x00\x35\x00\x34\x00\x3f\x00\x6f\x01\x40\x00\x71\x01\xc2\x00\x5a\x01\xe8\x00\x2e\x01\x39\x00\x26\x00\x27\x00\x77\x01\x28\x00\x59\x01\x18\x00\x83\x01\xea\x00\xe8\x00\xa4\x00\x1d\x01\x1e\x01\x1f\x01\x5c\x00\xa5\x00\xa6\x00\x33\x00\xef\x00\xea\x00\x20\x01\x21\x01\x22\x01\x23\x01\x34\x00\x24\x01\x25\x01\x26\x01\x27\x01\x28\x01\x29\x01\x2a\x01\x1a\x00\x1b\x00\x33\x00\x2b\x01\xc6\x01\x7f\x01\xa4\x00\x7a\x01\xc7\x01\x34\x00\x35\x00\xa5\x00\xa7\x00\x1d\x00\x1e\x00\x1f\x00\xc5\x00\xd1\x01\x2c\x01\x2d\x01\x39\x00\xd2\x01\x55\x00\x21\x00\x22\x00\x56\x00\x23\x00\x41\x00\x57\x00\x3f\x00\x58\x00\x40\x00\x59\x00\x90\x01\x5a\x01\xbb\x00\x2e\x01\x44\x00\x26\x00\x27\x00\x92\x01\x28\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x18\x00\xa6\x01\x8b\x01\x33\x00\x94\x01\x1d\x01\x1e\x01\x1f\x01\x5c\x00\xfb\x00\x34\x00\x4a\x00\x16\x00\xfc\x00\x20\x01\x21\x01\x22\x01\x23\x01\x95\x01\x24\x01\x25\x01\x26\x01\x27\x01\x28\x01\x29\x01\x2a\x01\x1a\x00\x1b\x00\xe8\x00\x2b\x01\xa4\x00\xc1\x01\x96\x01\xc2\x01\xe3\x01\xa5\x00\xa8\x00\xf1\x00\xea\x00\x1d\x00\x1e\x00\x1f\x00\x18\x00\x97\x01\x2c\x01\x2d\x01\x89\x01\x8a\x01\x8b\x01\x21\x00\x22\x00\x3c\x01\x23\x00\x3e\x01\x33\x00\x3f\x00\xc1\x01\x40\x00\xd3\x01\x19\x00\xe7\x01\x34\x00\x2e\x01\x42\x01\x26\x00\x27\x00\x44\x01\x28\x00\x1a\x00\x1b\x00\x1c\x00\xfc\x01\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x18\x00\x28\x00\x04\x00\xe8\x00\x45\x01\x1d\x00\x1e\x00\x1f\x00\xf3\x00\xe1\x00\xe2\x00\x20\x00\xe9\x00\xea\x00\x48\x01\x21\x00\x22\x00\x19\x00\x23\x00\x49\x01\x0a\x00\x24\x00\x33\x00\x25\x00\x4a\x01\x0b\x00\x1a\x00\x1b\x00\x1c\x00\x2a\x00\x26\x00\x27\x00\x4b\x01\x28\x00\x18\x00\xb2\x00\x10\x00\x53\x01\xb3\x00\x1d\x00\x1e\x00\x1f\x00\xe4\x00\xe5\x00\xe6\x00\x20\x00\x2d\x00\x33\x00\x2e\x00\x21\x00\x22\x00\x19\x00\x23\x00\x51\x01\x34\x00\x24\x00\x56\x01\x25\x00\x30\x00\xed\x00\x1a\x00\x1b\x00\x1c\x00\x3b\x00\x26\x00\x27\x00\x57\x01\x28\x00\x18\x00\x46\x00\xf7\x00\x47\x00\x41\x00\x1d\x00\x1e\x00\x1f\x00\x26\x00\x27\x00\x26\x00\x20\x00\xbe\x00\xf2\x00\x44\x00\x21\x00\x22\x00\x19\x00\x23\x00\x40\x00\x0a\x00\x24\x00\x33\x00\x25\x00\xeb\x00\x0b\x00\x1a\x00\x1b\x00\x53\x00\xba\x00\x26\x00\x27\x00\x54\x00\x28\x00\x5e\x00\xb2\x00\x10\x00\x04\x00\xb3\x00\x1d\x00\x1e\x00\x1f\x00\x18\x00\x0a\x00\x26\x00\x20\x00\x2d\x00\x09\x02\x2e\x00\x21\x00\x22\x00\x84\xff\x23\x00\x0b\x02\x84\xff\x3f\x00\x0a\x00\x40\x00\x0c\x02\x19\x00\x26\x00\x0a\x00\x0d\x02\x18\x00\x26\x00\x27\x00\x0b\x00\x28\x00\x1a\x00\x1b\x00\x1c\x00\xc1\x01\x26\x00\xc2\x01\xf4\x01\xaf\x00\x0f\x00\x10\x00\xb0\x00\x12\x00\x19\x00\x1d\x00\x1e\x00\x1f\x00\x18\x00\x0a\x00\x07\x02\x20\x00\x8e\x01\x1a\x00\x1b\x00\x21\x00\x22\x00\x8e\x01\x23\x00\xe1\x01\xe2\x01\x24\x00\xe7\x01\x25\x00\x0a\x00\x19\x00\x1d\x00\x1e\x00\x1f\x00\xeb\x01\x26\x00\x27\x00\x20\x00\x28\x00\x1a\x00\x1b\x00\x21\x00\x22\x00\xec\x01\x23\x00\xed\x01\xf0\x01\x3f\x00\x26\x00\x40\x00\xc1\x00\x0a\x00\x1d\x00\x1e\x00\x1f\x00\x18\x00\x26\x00\x27\x00\x20\x00\x28\x00\x26\x00\xf4\x01\x21\x00\x22\x00\x0a\x00\x23\x00\xbf\x01\x26\x00\x3f\x00\xc2\x00\x40\x00\xcc\x01\x19\x00\x0a\x00\x0a\x00\x8e\x01\x18\x00\x26\x00\x27\x00\x0b\x00\x28\x00\x1a\x00\x1b\x00\x1c\x00\xed\x01\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x4e\x00\x10\x00\x4f\x00\x12\x00\x19\x00\x1d\x00\x1e\x00\x1f\x00\xe4\x00\xe5\x00\xe6\x00\x20\x00\xe7\x00\x1a\x00\x1b\x00\x21\x00\x22\x00\xed\x00\x23\x00\xdc\x01\xdd\x01\x24\x00\xdf\x01\x25\x00\xe0\x01\x9d\x01\x1d\x00\x1e\x00\x1f\x00\x94\x01\x26\x00\x27\x00\x20\x00\x28\x00\x9e\x01\x3b\x00\x21\x00\x22\x00\xed\x00\x23\x00\x0a\x00\x3c\x00\x3f\x00\x3d\x00\x40\x00\x0b\x00\xa0\x01\xed\x00\x0a\x00\x79\x01\x26\x00\x26\x00\x27\x00\x0b\x00\x28\x00\x4e\x00\x10\x00\x2a\x00\xb3\x00\x3e\x01\xcf\x00\x0d\x00\x0e\x00\x2c\x00\x10\x00\x11\x00\x12\x00\xa6\x01\x0a\x00\xac\x01\x13\x00\x14\x00\x15\x00\x16\x00\xd0\x00\x32\x01\x2e\x00\x0a\x00\x0a\x00\xad\x01\xae\x01\x26\x00\x0b\x00\x0a\x00\x66\x01\x26\x00\x2a\x00\x0a\x00\x6b\x01\xcf\x00\x0d\x00\x0e\x00\x2c\x00\x10\x00\x11\x00\x12\x00\x6d\x01\x6e\x01\x6f\x01\x13\x00\x14\x00\x15\x00\x16\x00\xd0\x00\xd1\x00\x2e\x00\x29\x00\x26\x00\x71\x01\x73\x01\x74\x01\x0b\x00\x26\x00\x79\x01\x7e\x01\x2a\x00\x7f\x01\x85\x01\x2b\x00\x0d\x00\x0e\x00\x2c\x00\x10\x00\x11\x00\x12\x00\x26\x00\x55\x01\x26\x00\x13\x00\x14\x00\x15\x00\x16\x00\x2d\x00\x0a\x00\x2e\x00\x94\x01\x99\x01\x9a\x01\x0b\x00\x3e\x01\x9b\x01\x0a\x00\x2a\x00\x44\x01\x0a\x00\x30\x00\x0d\x00\x0e\x00\x2c\x00\x10\x00\x11\x00\x12\x00\x26\x00\x0a\x00\x53\x01\x13\x00\x14\x00\x15\x00\x16\x00\x31\x00\x0a\x00\x2e\x00\x3b\x00\x55\x01\x66\x01\x0b\x00\xed\x00\x0a\x00\x46\x00\x2a\x00\x47\x00\x0a\x00\xef\x00\xf1\x00\x0a\x00\xb2\x00\x10\x00\x26\x00\xb3\x00\x0b\x00\x26\x00\xf5\x00\xf6\x00\xba\x00\xe6\x00\xf7\x00\x31\x00\x26\x00\x2e\x00\xb2\x00\x10\x00\x31\x01\xb3\x00\x32\x01\x0a\x00\xd5\x00\xd6\x00\x0a\x00\x52\x00\x0b\x00\x2d\x00\x0a\x00\x2e\x00\x2a\x00\xd7\x00\xed\x00\x0b\x00\xa4\x00\x0a\x00\xb2\x00\x10\x00\xb5\x00\xb3\x00\xfb\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x31\x00\xb6\x00\x2e\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0a\x00\x26\x00\xbd\x00\xc4\x00\xc0\x00\x0b\x00\xfa\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x04\x02\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xc7\x00\xc8\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xee\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xc9\x00\xff\xff\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x66\x01\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xca\x00\xcc\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x96\xff\xcb\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\xf8\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xcc\x00\xce\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x26\x00\x48\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x0a\x00\x4d\x00\xff\xff\x0a\x00\x53\x00\x0a\x00\xcf\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x29\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x00\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x34\x01\x35\x01\x36\x01\x37\x01\x38\x01\x39\x01\x3a\x01\x3b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
+
+happyReduceArr = Happy_Data_Array.array (3, 306) [
+	(3 , happyReduce_3),
+	(4 , happyReduce_4),
+	(5 , happyReduce_5),
+	(6 , happyReduce_6),
+	(7 , happyReduce_7),
+	(8 , happyReduce_8),
+	(9 , happyReduce_9),
+	(10 , happyReduce_10),
+	(11 , happyReduce_11),
+	(12 , happyReduce_12),
+	(13 , happyReduce_13),
+	(14 , happyReduce_14),
+	(15 , happyReduce_15),
+	(16 , happyReduce_16),
+	(17 , happyReduce_17),
+	(18 , happyReduce_18),
+	(19 , happyReduce_19),
+	(20 , happyReduce_20),
+	(21 , happyReduce_21),
+	(22 , happyReduce_22),
+	(23 , happyReduce_23),
+	(24 , happyReduce_24),
+	(25 , happyReduce_25),
+	(26 , happyReduce_26),
+	(27 , happyReduce_27),
+	(28 , happyReduce_28),
+	(29 , happyReduce_29),
+	(30 , happyReduce_30),
+	(31 , happyReduce_31),
+	(32 , happyReduce_32),
+	(33 , happyReduce_33),
+	(34 , happyReduce_34),
+	(35 , happyReduce_35),
+	(36 , happyReduce_36),
+	(37 , happyReduce_37),
+	(38 , happyReduce_38),
+	(39 , happyReduce_39),
+	(40 , happyReduce_40),
+	(41 , happyReduce_41),
+	(42 , happyReduce_42),
+	(43 , happyReduce_43),
+	(44 , happyReduce_44),
+	(45 , happyReduce_45),
+	(46 , happyReduce_46),
+	(47 , happyReduce_47),
+	(48 , happyReduce_48),
+	(49 , happyReduce_49),
+	(50 , happyReduce_50),
+	(51 , happyReduce_51),
+	(52 , happyReduce_52),
+	(53 , happyReduce_53),
+	(54 , happyReduce_54),
+	(55 , happyReduce_55),
+	(56 , happyReduce_56),
+	(57 , happyReduce_57),
+	(58 , happyReduce_58),
+	(59 , happyReduce_59),
+	(60 , happyReduce_60),
+	(61 , happyReduce_61),
+	(62 , happyReduce_62),
+	(63 , happyReduce_63),
+	(64 , happyReduce_64),
+	(65 , happyReduce_65),
+	(66 , happyReduce_66),
+	(67 , happyReduce_67),
+	(68 , happyReduce_68),
+	(69 , happyReduce_69),
+	(70 , happyReduce_70),
+	(71 , happyReduce_71),
+	(72 , happyReduce_72),
+	(73 , happyReduce_73),
+	(74 , happyReduce_74),
+	(75 , happyReduce_75),
+	(76 , happyReduce_76),
+	(77 , happyReduce_77),
+	(78 , happyReduce_78),
+	(79 , happyReduce_79),
+	(80 , happyReduce_80),
+	(81 , happyReduce_81),
+	(82 , happyReduce_82),
+	(83 , happyReduce_83),
+	(84 , happyReduce_84),
+	(85 , happyReduce_85),
+	(86 , happyReduce_86),
+	(87 , happyReduce_87),
+	(88 , happyReduce_88),
+	(89 , happyReduce_89),
+	(90 , happyReduce_90),
+	(91 , happyReduce_91),
+	(92 , happyReduce_92),
+	(93 , happyReduce_93),
+	(94 , happyReduce_94),
+	(95 , happyReduce_95),
+	(96 , happyReduce_96),
+	(97 , happyReduce_97),
+	(98 , happyReduce_98),
+	(99 , happyReduce_99),
+	(100 , happyReduce_100),
+	(101 , happyReduce_101),
+	(102 , happyReduce_102),
+	(103 , happyReduce_103),
+	(104 , happyReduce_104),
+	(105 , happyReduce_105),
+	(106 , happyReduce_106),
+	(107 , happyReduce_107),
+	(108 , happyReduce_108),
+	(109 , happyReduce_109),
+	(110 , happyReduce_110),
+	(111 , happyReduce_111),
+	(112 , happyReduce_112),
+	(113 , happyReduce_113),
+	(114 , happyReduce_114),
+	(115 , happyReduce_115),
+	(116 , happyReduce_116),
+	(117 , happyReduce_117),
+	(118 , happyReduce_118),
+	(119 , happyReduce_119),
+	(120 , happyReduce_120),
+	(121 , happyReduce_121),
+	(122 , happyReduce_122),
+	(123 , happyReduce_123),
+	(124 , happyReduce_124),
+	(125 , happyReduce_125),
+	(126 , happyReduce_126),
+	(127 , happyReduce_127),
+	(128 , happyReduce_128),
+	(129 , happyReduce_129),
+	(130 , happyReduce_130),
+	(131 , happyReduce_131),
+	(132 , happyReduce_132),
+	(133 , happyReduce_133),
+	(134 , happyReduce_134),
+	(135 , happyReduce_135),
+	(136 , happyReduce_136),
+	(137 , happyReduce_137),
+	(138 , happyReduce_138),
+	(139 , happyReduce_139),
+	(140 , happyReduce_140),
+	(141 , happyReduce_141),
+	(142 , happyReduce_142),
+	(143 , happyReduce_143),
+	(144 , happyReduce_144),
+	(145 , happyReduce_145),
+	(146 , happyReduce_146),
+	(147 , happyReduce_147),
+	(148 , happyReduce_148),
+	(149 , happyReduce_149),
+	(150 , happyReduce_150),
+	(151 , happyReduce_151),
+	(152 , happyReduce_152),
+	(153 , happyReduce_153),
+	(154 , happyReduce_154),
+	(155 , happyReduce_155),
+	(156 , happyReduce_156),
+	(157 , happyReduce_157),
+	(158 , happyReduce_158),
+	(159 , happyReduce_159),
+	(160 , happyReduce_160),
+	(161 , happyReduce_161),
+	(162 , happyReduce_162),
+	(163 , happyReduce_163),
+	(164 , happyReduce_164),
+	(165 , happyReduce_165),
+	(166 , happyReduce_166),
+	(167 , happyReduce_167),
+	(168 , happyReduce_168),
+	(169 , happyReduce_169),
+	(170 , happyReduce_170),
+	(171 , happyReduce_171),
+	(172 , happyReduce_172),
+	(173 , happyReduce_173),
+	(174 , happyReduce_174),
+	(175 , happyReduce_175),
+	(176 , happyReduce_176),
+	(177 , happyReduce_177),
+	(178 , happyReduce_178),
+	(179 , happyReduce_179),
+	(180 , happyReduce_180),
+	(181 , happyReduce_181),
+	(182 , happyReduce_182),
+	(183 , happyReduce_183),
+	(184 , happyReduce_184),
+	(185 , happyReduce_185),
+	(186 , happyReduce_186),
+	(187 , happyReduce_187),
+	(188 , happyReduce_188),
+	(189 , happyReduce_189),
+	(190 , happyReduce_190),
+	(191 , happyReduce_191),
+	(192 , happyReduce_192),
+	(193 , happyReduce_193),
+	(194 , happyReduce_194),
+	(195 , happyReduce_195),
+	(196 , happyReduce_196),
+	(197 , happyReduce_197),
+	(198 , happyReduce_198),
+	(199 , happyReduce_199),
+	(200 , happyReduce_200),
+	(201 , happyReduce_201),
+	(202 , happyReduce_202),
+	(203 , happyReduce_203),
+	(204 , happyReduce_204),
+	(205 , happyReduce_205),
+	(206 , happyReduce_206),
+	(207 , happyReduce_207),
+	(208 , happyReduce_208),
+	(209 , happyReduce_209),
+	(210 , happyReduce_210),
+	(211 , happyReduce_211),
+	(212 , happyReduce_212),
+	(213 , happyReduce_213),
+	(214 , happyReduce_214),
+	(215 , happyReduce_215),
+	(216 , happyReduce_216),
+	(217 , happyReduce_217),
+	(218 , happyReduce_218),
+	(219 , happyReduce_219),
+	(220 , happyReduce_220),
+	(221 , happyReduce_221),
+	(222 , happyReduce_222),
+	(223 , happyReduce_223),
+	(224 , happyReduce_224),
+	(225 , happyReduce_225),
+	(226 , happyReduce_226),
+	(227 , happyReduce_227),
+	(228 , happyReduce_228),
+	(229 , happyReduce_229),
+	(230 , happyReduce_230),
+	(231 , happyReduce_231),
+	(232 , happyReduce_232),
+	(233 , happyReduce_233),
+	(234 , happyReduce_234),
+	(235 , happyReduce_235),
+	(236 , happyReduce_236),
+	(237 , happyReduce_237),
+	(238 , happyReduce_238),
+	(239 , happyReduce_239),
+	(240 , happyReduce_240),
+	(241 , happyReduce_241),
+	(242 , happyReduce_242),
+	(243 , happyReduce_243),
+	(244 , happyReduce_244),
+	(245 , happyReduce_245),
+	(246 , happyReduce_246),
+	(247 , happyReduce_247),
+	(248 , happyReduce_248),
+	(249 , happyReduce_249),
+	(250 , happyReduce_250),
+	(251 , happyReduce_251),
+	(252 , happyReduce_252),
+	(253 , happyReduce_253),
+	(254 , happyReduce_254),
+	(255 , happyReduce_255),
+	(256 , happyReduce_256),
+	(257 , happyReduce_257),
+	(258 , happyReduce_258),
+	(259 , happyReduce_259),
+	(260 , happyReduce_260),
+	(261 , happyReduce_261),
+	(262 , happyReduce_262),
+	(263 , happyReduce_263),
+	(264 , happyReduce_264),
+	(265 , happyReduce_265),
+	(266 , happyReduce_266),
+	(267 , happyReduce_267),
+	(268 , happyReduce_268),
+	(269 , happyReduce_269),
+	(270 , happyReduce_270),
+	(271 , happyReduce_271),
+	(272 , happyReduce_272),
+	(273 , happyReduce_273),
+	(274 , happyReduce_274),
+	(275 , happyReduce_275),
+	(276 , happyReduce_276),
+	(277 , happyReduce_277),
+	(278 , happyReduce_278),
+	(279 , happyReduce_279),
+	(280 , happyReduce_280),
+	(281 , happyReduce_281),
+	(282 , happyReduce_282),
+	(283 , happyReduce_283),
+	(284 , happyReduce_284),
+	(285 , happyReduce_285),
+	(286 , happyReduce_286),
+	(287 , happyReduce_287),
+	(288 , happyReduce_288),
+	(289 , happyReduce_289),
+	(290 , happyReduce_290),
+	(291 , happyReduce_291),
+	(292 , happyReduce_292),
+	(293 , happyReduce_293),
+	(294 , happyReduce_294),
+	(295 , happyReduce_295),
+	(296 , happyReduce_296),
+	(297 , happyReduce_297),
+	(298 , happyReduce_298),
+	(299 , happyReduce_299),
+	(300 , happyReduce_300),
+	(301 , happyReduce_301),
+	(302 , happyReduce_302),
+	(303 , happyReduce_303),
+	(304 , happyReduce_304),
+	(305 , happyReduce_305),
+	(306 , happyReduce_306)
+	]
+
+happy_n_terms = 70 :: Int
+happy_n_nonterms = 115 :: Int
+
+happyReduce_3 = happySpecReduce_1  0# happyReduction_3
+happyReduction_3 happy_x_1
+	 =  case happyOut7 happy_x_1 of { happy_var_1 -> 
+	happyIn6
+		 (reverse happy_var_1
+	)}
+
+happyReduce_4 = happySpecReduce_2  1# happyReduction_4
+happyReduction_4 happy_x_2
+	happy_x_1
+	 =  case happyOut7 happy_x_1 of { happy_var_1 -> 
+	case happyOut8 happy_x_2 of { happy_var_2 -> 
+	happyIn7
+		 (happy_var_2 : happy_var_1
+	)}}
+
+happyReduce_5 = happySpecReduce_0  1# happyReduction_5
+happyReduction_5  =  happyIn7
+		 ([]
+	)
+
+happyReduce_6 = happySpecReduce_1  2# happyReduction_6
+happyReduction_6 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwLet happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwLet happy_var_1
+	)}
+
+happyReduce_7 = happySpecReduce_1  2# happyReduction_7
+happyReduction_7 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwIn happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwIn happy_var_1
+	)}
+
+happyReduce_8 = happySpecReduce_1  2# happyReduction_8
+happyReduction_8 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwWhere happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwWhere happy_var_1
+	)}
+
+happyReduce_9 = happySpecReduce_1  2# happyReduction_9
+happyReduction_9 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwWith happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwWith happy_var_1
+	)}
+
+happyReduce_10 = happySpecReduce_1  2# happyReduction_10
+happyReduction_10 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwRewrite happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwRewrite happy_var_1
+	)}
+
+happyReduce_11 = happySpecReduce_1  2# happyReduction_11
+happyReduction_11 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPostulate happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwPostulate happy_var_1
+	)}
+
+happyReduce_12 = happySpecReduce_1  2# happyReduction_12
+happyReduction_12 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPrimitive happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwPrimitive happy_var_1
+	)}
+
+happyReduce_13 = happySpecReduce_1  2# happyReduction_13
+happyReduction_13 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwOpen happy_var_1
+	)}
+
+happyReduce_14 = happySpecReduce_1  2# happyReduction_14
+happyReduction_14 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwImport happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwImport happy_var_1
+	)}
+
+happyReduce_15 = happySpecReduce_1  2# happyReduction_15
+happyReduction_15 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwUsing happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwUsing happy_var_1
+	)}
+
+happyReduce_16 = happySpecReduce_1  2# happyReduction_16
+happyReduction_16 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwHiding happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwHiding happy_var_1
+	)}
+
+happyReduce_17 = happySpecReduce_1  2# happyReduction_17
+happyReduction_17 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwRenaming happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwRenaming happy_var_1
+	)}
+
+happyReduce_18 = happySpecReduce_1  2# happyReduction_18
+happyReduction_18 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwTo happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwTo happy_var_1
+	)}
+
+happyReduce_19 = happySpecReduce_1  2# happyReduction_19
+happyReduction_19 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPublic happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwPublic happy_var_1
+	)}
+
+happyReduce_20 = happySpecReduce_1  2# happyReduction_20
+happyReduction_20 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwModule happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwModule happy_var_1
+	)}
+
+happyReduce_21 = happySpecReduce_1  2# happyReduction_21
+happyReduction_21 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwData happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwData happy_var_1
+	)}
+
+happyReduce_22 = happySpecReduce_1  2# happyReduction_22
+happyReduction_22 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwCoData happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwCoData happy_var_1
+	)}
+
+happyReduce_23 = happySpecReduce_1  2# happyReduction_23
+happyReduction_23 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwRecord happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwRecord happy_var_1
+	)}
+
+happyReduce_24 = happySpecReduce_1  2# happyReduction_24
+happyReduction_24 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwConstructor happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwConstructor happy_var_1
+	)}
+
+happyReduce_25 = happySpecReduce_1  2# happyReduction_25
+happyReduction_25 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwField happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwField happy_var_1
+	)}
+
+happyReduce_26 = happySpecReduce_1  2# happyReduction_26
+happyReduction_26 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfix happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwInfix happy_var_1
+	)}
+
+happyReduce_27 = happySpecReduce_1  2# happyReduction_27
+happyReduction_27 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfixL happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwInfixL happy_var_1
+	)}
+
+happyReduce_28 = happySpecReduce_1  2# happyReduction_28
+happyReduction_28 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfixR happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwInfixR happy_var_1
+	)}
+
+happyReduce_29 = happySpecReduce_1  2# happyReduction_29
+happyReduction_29 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwMutual happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwMutual happy_var_1
+	)}
+
+happyReduce_30 = happySpecReduce_1  2# happyReduction_30
+happyReduction_30 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwAbstract happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwAbstract happy_var_1
+	)}
+
+happyReduce_31 = happySpecReduce_1  2# happyReduction_31
+happyReduction_31 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPrivate happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwPrivate happy_var_1
+	)}
+
+happyReduce_32 = happySpecReduce_1  2# happyReduction_32
+happyReduction_32 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwProp happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwProp happy_var_1
+	)}
+
+happyReduce_33 = happySpecReduce_1  2# happyReduction_33
+happyReduction_33 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwSet happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwSet happy_var_1
+	)}
+
+happyReduce_34 = happySpecReduce_1  2# happyReduction_34
+happyReduction_34 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwForall happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwForall happy_var_1
+	)}
+
+happyReduce_35 = happySpecReduce_1  2# happyReduction_35
+happyReduction_35 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwSyntax happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwSyntax happy_var_1
+	)}
+
+happyReduce_36 = happySpecReduce_1  2# happyReduction_36
+happyReduction_36 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwOPTIONS happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwOPTIONS happy_var_1
+	)}
+
+happyReduce_37 = happySpecReduce_1  2# happyReduction_37
+happyReduction_37 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwBUILTIN happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwBUILTIN happy_var_1
+	)}
+
+happyReduce_38 = happySpecReduce_1  2# happyReduction_38
+happyReduction_38 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwIMPORT happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwIMPORT happy_var_1
+	)}
+
+happyReduce_39 = happySpecReduce_1  2# happyReduction_39
+happyReduction_39 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwCOMPILED happy_var_1
+	)}
+
+happyReduce_40 = happySpecReduce_1  2# happyReduction_40
+happyReduction_40 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_DATA happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwCOMPILED_DATA happy_var_1
+	)}
+
+happyReduce_41 = happySpecReduce_1  2# happyReduction_41
+happyReduction_41 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_TYPE happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwCOMPILED_TYPE happy_var_1
+	)}
+
+happyReduce_42 = happySpecReduce_1  2# happyReduction_42
+happyReduction_42 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwCOMPILED_EPIC happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwCOMPILED_EPIC happy_var_1
+	)}
+
+happyReduce_43 = happySpecReduce_1  2# happyReduction_43
+happyReduction_43 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwIMPOSSIBLE happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwIMPOSSIBLE happy_var_1
+	)}
+
+happyReduce_44 = happySpecReduce_1  2# happyReduction_44
+happyReduction_44 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwETA happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwETA happy_var_1
+	)}
+
+happyReduce_45 = happySpecReduce_1  2# happyReduction_45
+happyReduction_45 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwQuoteGoal happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwQuoteGoal happy_var_1
+	)}
+
+happyReduce_46 = happySpecReduce_1  2# happyReduction_46
+happyReduction_46 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwQuote happy_var_1) -> 
+	happyIn8
+		 (TokKeyword KwQuote happy_var_1
+	)}
+
+happyReduce_47 = happySpecReduce_1  2# happyReduction_47
+happyReduction_47 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSetN happy_var_1) -> 
+	happyIn8
+		 (TokSetN happy_var_1
+	)}
+
+happyReduce_48 = happySpecReduce_1  2# happyReduction_48
+happyReduction_48 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokTeX happy_var_1) -> 
+	happyIn8
+		 (TokTeX happy_var_1
+	)}
+
+happyReduce_49 = happySpecReduce_1  2# happyReduction_49
+happyReduction_49 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokComment happy_var_1) -> 
+	happyIn8
+		 (TokComment happy_var_1
+	)}
+
+happyReduce_50 = happySpecReduce_1  2# happyReduction_50
+happyReduction_50 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymEllipsis happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymEllipsis happy_var_1
+	)}
+
+happyReduce_51 = happySpecReduce_1  2# happyReduction_51
+happyReduction_51 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymDot happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymDot happy_var_1
+	)}
+
+happyReduce_52 = happySpecReduce_1  2# happyReduction_52
+happyReduction_52 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymSemi happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymSemi happy_var_1
+	)}
+
+happyReduce_53 = happySpecReduce_1  2# happyReduction_53
+happyReduction_53 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymColon happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymColon happy_var_1
+	)}
+
+happyReduce_54 = happySpecReduce_1  2# happyReduction_54
+happyReduction_54 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymEqual happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymEqual happy_var_1
+	)}
+
+happyReduce_55 = happySpecReduce_1  2# happyReduction_55
+happyReduction_55 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymUnderscore happy_var_1
+	)}
+
+happyReduce_56 = happySpecReduce_1  2# happyReduction_56
+happyReduction_56 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymQuestionMark happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymQuestionMark happy_var_1
+	)}
+
+happyReduce_57 = happySpecReduce_1  2# happyReduction_57
+happyReduction_57 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymArrow happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymArrow happy_var_1
+	)}
+
+happyReduce_58 = happySpecReduce_1  2# happyReduction_58
+happyReduction_58 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymLambda happy_var_1
+	)}
+
+happyReduce_59 = happySpecReduce_1  2# happyReduction_59
+happyReduction_59 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymAs happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymAs happy_var_1
+	)}
+
+happyReduce_60 = happySpecReduce_1  2# happyReduction_60
+happyReduction_60 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymBar happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymBar happy_var_1
+	)}
+
+happyReduce_61 = happySpecReduce_1  2# happyReduction_61
+happyReduction_61 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymOpenParen happy_var_1
+	)}
+
+happyReduce_62 = happySpecReduce_1  2# happyReduction_62
+happyReduction_62 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymCloseParen happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymCloseParen happy_var_1
+	)}
+
+happyReduce_63 = happySpecReduce_1  2# happyReduction_63
+happyReduction_63 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymOpenBrace happy_var_1
+	)}
+
+happyReduce_64 = happySpecReduce_1  2# happyReduction_64
+happyReduction_64 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymCloseBrace happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymCloseBrace happy_var_1
+	)}
+
+happyReduce_65 = happySpecReduce_1  2# happyReduction_65
+happyReduction_65 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenVirtualBrace happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymOpenVirtualBrace happy_var_1
+	)}
+
+happyReduce_66 = happySpecReduce_1  2# happyReduction_66
+happyReduction_66 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymCloseVirtualBrace happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymCloseVirtualBrace happy_var_1
+	)}
+
+happyReduce_67 = happySpecReduce_1  2# happyReduction_67
+happyReduction_67 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymVirtualSemi happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymVirtualSemi happy_var_1
+	)}
+
+happyReduce_68 = happySpecReduce_1  2# happyReduction_68
+happyReduction_68 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymOpenPragma happy_var_1
+	)}
+
+happyReduce_69 = happySpecReduce_1  2# happyReduction_69
+happyReduction_69 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymClosePragma happy_var_1) -> 
+	happyIn8
+		 (TokSymbol SymClosePragma happy_var_1
+	)}
+
+happyReduce_70 = happySpecReduce_1  2# happyReduction_70
+happyReduction_70 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokId happy_var_1) -> 
+	happyIn8
+		 (TokId happy_var_1
+	)}
+
+happyReduce_71 = happySpecReduce_1  2# happyReduction_71
+happyReduction_71 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokQId happy_var_1) -> 
+	happyIn8
+		 (TokQId happy_var_1
+	)}
+
+happyReduce_72 = happySpecReduce_1  2# happyReduction_72
+happyReduction_72 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokString happy_var_1) -> 
+	happyIn8
+		 (TokString happy_var_1
+	)}
+
+happyReduce_73 = happySpecReduce_1  2# happyReduction_73
+happyReduction_73 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> 
+	happyIn8
+		 (TokLiteral happy_var_1
+	)}
+
+happyReduce_74 = happySpecReduce_0  3# happyReduction_74
+happyReduction_74  =  happyIn9
+		 (()
+	)
+
+happyReduce_75 = happySpecReduce_2  3# happyReduction_75
+happyReduction_75 happy_x_2
+	happy_x_1
+	 =  happyIn9
+		 (()
+	)
+
+happyReduce_76 = happySpecReduce_2  4# happyReduction_76
+happyReduction_76 happy_x_2
+	happy_x_1
+	 =  case happyOut11 happy_x_1 of { happy_var_1 -> 
+	happyIn10
+		 (happy_var_1
+	)}
+
+happyReduce_77 = happySpecReduce_1  5# happyReduction_77
+happyReduction_77 happy_x_1
+	 =  case happyOut96 happy_x_1 of { happy_var_1 -> 
+	happyIn11
+		 (([], happy_var_1)
+	)}
+
+happyReduce_78 = happySpecReduce_3  5# happyReduction_78
+happyReduction_78 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut99 happy_x_2 of { happy_var_2 -> 
+	case happyOut11 happy_x_3 of { happy_var_3 -> 
+	happyIn11
+		 (let (ps,m) = happy_var_3 in (happy_var_2 : ps, m)
+	)}}
+
+happyReduce_79 = happySpecReduce_1  6# happyReduction_79
+happyReduction_79 happy_x_1
+	 =  happyIn12
+		 (()
+	)
+
+happyReduce_80 = happyMonadReduce 1# 6# happyReduction_80
+happyReduction_80 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (( popContext)
+	) (\r -> happyReturn (happyIn12 r))
+
+happyReduce_81 = happySpecReduce_1  7# happyReduction_81
+happyReduction_81 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymSemi happy_var_1) -> 
+	happyIn13
+		 (happy_var_1
+	)}
+
+happyReduce_82 = happySpecReduce_2  7# happyReduction_82
+happyReduction_82 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_2 of { (TokSymbol SymVirtualSemi happy_var_2) -> 
+	happyIn13
+		 (happy_var_2
+	)}
+
+happyReduce_83 = happyMonadReduce 0# 8# happyReduction_83
+happyReduction_83 (happyRest) tk
+	 = happyThen (( pushLexState imp_dir)
+	) (\r -> happyReturn (happyIn14 r))
+
+happyReduce_84 = happyMonadReduce 1# 9# happyReduction_84
+happyReduction_84 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> 
+	( case happy_var_1 of {
+		     LitInt _ n	-> return $ fromIntegral n;
+		     _		-> fail $ "Expected integer"
+		   })}
+	) (\r -> happyReturn (happyIn15 r))
+
+happyReduce_85 = happyMonadReduce 1# 10# happyReduction_85
+happyReduction_85 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOutTok happy_x_1 of { (TokId happy_var_1) -> 
+	( mkName happy_var_1)}
+	) (\r -> happyReturn (happyIn16 r))
+
+happyReduce_86 = happySpecReduce_2  11# happyReduction_86
+happyReduction_86 happy_x_2
+	happy_x_1
+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
+	case happyOut17 happy_x_2 of { happy_var_2 -> 
+	happyIn17
+		 (happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_87 = happySpecReduce_1  11# happyReduction_87
+happyReduction_87 happy_x_1
+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
+	happyIn17
+		 ([happy_var_1]
+	)}
+
+happyReduce_88 = happySpecReduce_2  12# happyReduction_88
+happyReduction_88 happy_x_2
+	happy_x_1
+	 =  case happyOut16 happy_x_2 of { happy_var_2 -> 
+	happyIn18
+		 (Arg NotHidden Irrelevant happy_var_2
+	)}
+
+happyReduce_89 = happySpecReduce_1  12# happyReduction_89
+happyReduction_89 happy_x_1
+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
+	happyIn18
+		 (defaultArg happy_var_1
+	)}
+
+happyReduce_90 = happySpecReduce_2  13# happyReduction_90
+happyReduction_90 happy_x_2
+	happy_x_1
+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
+	case happyOut19 happy_x_2 of { happy_var_2 -> 
+	happyIn19
+		 (happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_91 = happySpecReduce_1  13# happyReduction_91
+happyReduction_91 happy_x_1
+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
+	happyIn19
+		 ([happy_var_1]
+	)}
+
+happyReduce_92 = happySpecReduce_2  14# happyReduction_92
+happyReduction_92 happy_x_2
+	happy_x_1
+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
+	case happyOut20 happy_x_2 of { happy_var_2 -> 
+	happyIn20
+		 (happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_93 = happySpecReduce_1  14# happyReduction_93
+happyReduction_93 happy_x_1
+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
+	happyIn20
+		 ([happy_var_1]
+	)}
+
+happyReduce_94 = happyReduce 4# 14# happyReduction_94
+happyReduction_94 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut19 happy_x_2 of { happy_var_2 -> 
+	case happyOut20 happy_x_4 of { happy_var_4 -> 
+	happyIn20
+		 (map hide happy_var_2 ++ happy_var_4
+	) `HappyStk` happyRest}}
+
+happyReduce_95 = happySpecReduce_3  14# happyReduction_95
+happyReduction_95 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut19 happy_x_2 of { happy_var_2 -> 
+	happyIn20
+		 (map hide happy_var_2
+	)}
+
+happyReduce_96 = happyReduce 5# 14# happyReduction_96
+happyReduction_96 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut17 happy_x_3 of { happy_var_3 -> 
+	case happyOut20 happy_x_5 of { happy_var_5 -> 
+	happyIn20
+		 (map (Arg Hidden Irrelevant) happy_var_3 ++ happy_var_5
+	) `HappyStk` happyRest}}
+
+happyReduce_97 = happyReduce 4# 14# happyReduction_97
+happyReduction_97 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut17 happy_x_3 of { happy_var_3 -> 
+	happyIn20
+		 (map (Arg Hidden Irrelevant) happy_var_3
+	) `HappyStk` happyRest}
+
+happyReduce_98 = happyMonadReduce 1# 15# happyReduction_98
+happyReduction_98 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOutTok happy_x_1 of { (TokQId happy_var_1) -> 
+	( mkQName happy_var_1)}
+	) (\r -> happyReturn (happyIn21 r))
+
+happyReduce_99 = happySpecReduce_1  15# happyReduction_99
+happyReduction_99 happy_x_1
+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
+	happyIn21
+		 (QName happy_var_1
+	)}
+
+happyReduce_100 = happySpecReduce_1  16# happyReduction_100
+happyReduction_100 happy_x_1
+	 =  case happyOut21 happy_x_1 of { happy_var_1 -> 
+	happyIn22
+		 (happy_var_1
+	)}
+
+happyReduce_101 = happySpecReduce_1  17# happyReduction_101
+happyReduction_101 happy_x_1
+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
+	happyIn23
+		 (happy_var_1
+	)}
+
+happyReduce_102 = happySpecReduce_1  17# happyReduction_102
+happyReduction_102 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> 
+	happyIn23
+		 (Name (getRange happy_var_1) [Hole]
+	)}
+
+happyReduce_103 = happySpecReduce_2  18# happyReduction_103
+happyReduction_103 happy_x_2
+	happy_x_1
+	 =  case happyOut23 happy_x_1 of { happy_var_1 -> 
+	case happyOut24 happy_x_2 of { happy_var_2 -> 
+	happyIn24
+		 (happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_104 = happySpecReduce_1  18# happyReduction_104
+happyReduction_104 happy_x_1
+	 =  case happyOut23 happy_x_1 of { happy_var_1 -> 
+	happyIn24
+		 ([happy_var_1]
+	)}
+
+happyReduce_105 = happyMonadReduce 1# 19# happyReduction_105
+happyReduction_105 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut31 happy_x_1 of { happy_var_1 -> 
+	(
+    let getName (Ident (QName x)) = Just x
+	getName (Underscore r _)  = Just (Name r [Hole])
+	getName _		  = Nothing
+    in
+    case partition isJust $ map getName happy_var_1 of
+	(good, []) -> return $ map fromJust good
+	_	   -> fail $ "expected sequence of bound identifiers")}
+	) (\r -> happyReturn (happyIn25 r))
+
+happyReduce_106 = happySpecReduce_0  20# happyReduction_106
+happyReduction_106  =  happyIn26
+		 ([]
+	)
+
+happyReduce_107 = happySpecReduce_2  20# happyReduction_107
+happyReduction_107 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokString happy_var_1) -> 
+	case happyOut26 happy_x_2 of { happy_var_2 -> 
+	happyIn26
+		 (snd happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_108 = happyMonadReduce 1# 21# happyReduction_108
+happyReduction_108 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOutTok happy_x_1 of { (TokString happy_var_1) -> 
+	( fmap QName (mkName happy_var_1))}
+	) (\r -> happyReturn (happyIn27 r))
+
+happyReduce_109 = happySpecReduce_2  22# happyReduction_109
+happyReduction_109 happy_x_2
+	happy_x_1
+	 =  case happyOut38 happy_x_1 of { happy_var_1 -> 
+	case happyOut28 happy_x_2 of { happy_var_2 -> 
+	happyIn28
+		 (Pi happy_var_1 happy_var_2
+	)}}
+
+happyReduce_110 = happySpecReduce_3  22# happyReduction_110
+happyReduction_110 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut48 happy_x_2 of { happy_var_2 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn28
+		 (forallPi happy_var_2 happy_var_3
+	)}}
+
+happyReduce_111 = happySpecReduce_3  22# happyReduction_111
+happyReduction_111 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn28
+		 (Fun (fuseRange happy_var_1 happy_var_3) (RawApp (getRange happy_var_1) happy_var_1) happy_var_3
+	)}}
+
+happyReduce_112 = happySpecReduce_1  22# happyReduction_112
+happyReduction_112 happy_x_1
+	 =  case happyOut29 happy_x_1 of { happy_var_1 -> 
+	happyIn28
+		 (happy_var_1
+	)}
+
+happyReduce_113 = happyMonadReduce 1# 23# happyReduction_113
+happyReduction_113 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut30 happy_x_1 of { happy_var_1 -> 
+	( case happy_var_1 of
+		      { [e]    -> return e
+		      ; e : es -> return $ WithApp (fuseRange e es) e es
+		      ; []     -> fail "impossible: empty with expressions"
+		      })}
+	) (\r -> happyReturn (happyIn29 r))
+
+happyReduce_114 = happySpecReduce_3  24# happyReduction_114
+happyReduction_114 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> 
+	case happyOut30 happy_x_3 of { happy_var_3 -> 
+	happyIn30
+		 (RawApp (getRange happy_var_1) happy_var_1 :  happy_var_3
+	)}}
+
+happyReduce_115 = happySpecReduce_1  24# happyReduction_115
+happyReduction_115 happy_x_1
+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> 
+	happyIn30
+		 ([RawApp (getRange happy_var_1) happy_var_1]
+	)}
+
+happyReduce_116 = happySpecReduce_1  25# happyReduction_116
+happyReduction_116 happy_x_1
+	 =  case happyOut32 happy_x_1 of { happy_var_1 -> 
+	happyIn31
+		 ([happy_var_1]
+	)}
+
+happyReduce_117 = happySpecReduce_2  25# happyReduction_117
+happyReduction_117 happy_x_2
+	happy_x_1
+	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
+	case happyOut31 happy_x_2 of { happy_var_2 -> 
+	happyIn31
+		 (happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_118 = happySpecReduce_3  26# happyReduction_118
+happyReduction_118 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> 
+	case happyOut45 happy_x_2 of { happy_var_2 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn32
+		 (Lam (fuseRange happy_var_1 happy_var_3) happy_var_2 happy_var_3
+	)}}}
+
+happyReduce_119 = happySpecReduce_2  26# happyReduction_119
+happyReduction_119 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymLambda happy_var_1) -> 
+	case happyOut46 happy_x_2 of { happy_var_2 -> 
+	happyIn32
+		 (let (bs, h) = happy_var_2; r = fuseRange happy_var_1 bs in
+                                     if null bs then AbsurdLam r h else
+                                     Lam r bs (AbsurdLam r h)
+	)}}
+
+happyReduce_120 = happyReduce 4# 26# happyReduction_120
+happyReduction_120 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwLet happy_var_1) -> 
+	case happyOut118 happy_x_2 of { happy_var_2 -> 
+	case happyOut28 happy_x_4 of { happy_var_4 -> 
+	happyIn32
+		 (Let (fuseRange happy_var_1 happy_var_4) happy_var_2 happy_var_4
+	) `HappyStk` happyRest}}}
+
+happyReduce_121 = happySpecReduce_1  26# happyReduction_121
+happyReduction_121 happy_x_1
+	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
+	happyIn32
+		 (happy_var_1
+	)}
+
+happyReduce_122 = happyReduce 4# 26# happyReduction_122
+happyReduction_122 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwQuoteGoal happy_var_1) -> 
+	case happyOut16 happy_x_2 of { happy_var_2 -> 
+	case happyOut28 happy_x_4 of { happy_var_4 -> 
+	happyIn32
+		 (QuoteGoal (getRange (happy_var_1,happy_var_4)) happy_var_2 happy_var_4
+	) `HappyStk` happyRest}}}
+
+happyReduce_123 = happySpecReduce_1  27# happyReduction_123
+happyReduction_123 happy_x_1
+	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
+	happyIn33
+		 ([happy_var_1]
+	)}
+
+happyReduce_124 = happySpecReduce_2  27# happyReduction_124
+happyReduction_124 happy_x_2
+	happy_x_1
+	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
+	case happyOut33 happy_x_2 of { happy_var_2 -> 
+	happyIn33
+		 (happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_125 = happySpecReduce_1  28# happyReduction_125
+happyReduction_125 happy_x_1
+	 =  case happyOut21 happy_x_1 of { happy_var_1 -> 
+	happyIn34
+		 (Ident happy_var_1
+	)}
+
+happyReduce_126 = happySpecReduce_1  28# happyReduction_126
+happyReduction_126 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokLiteral happy_var_1) -> 
+	happyIn34
+		 (Lit happy_var_1
+	)}
+
+happyReduce_127 = happySpecReduce_1  28# happyReduction_127
+happyReduction_127 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymQuestionMark happy_var_1) -> 
+	happyIn34
+		 (QuestionMark (getRange happy_var_1) Nothing
+	)}
+
+happyReduce_128 = happySpecReduce_1  28# happyReduction_128
+happyReduction_128 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymUnderscore happy_var_1) -> 
+	happyIn34
+		 (Underscore (getRange happy_var_1) Nothing
+	)}
+
+happyReduce_129 = happySpecReduce_1  28# happyReduction_129
+happyReduction_129 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwProp happy_var_1) -> 
+	happyIn34
+		 (Prop (getRange happy_var_1)
+	)}
+
+happyReduce_130 = happySpecReduce_1  28# happyReduction_130
+happyReduction_130 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwSet happy_var_1) -> 
+	happyIn34
+		 (Set (getRange happy_var_1)
+	)}
+
+happyReduce_131 = happySpecReduce_1  28# happyReduction_131
+happyReduction_131 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwQuote happy_var_1) -> 
+	happyIn34
+		 (Quote (getRange happy_var_1)
+	)}
+
+happyReduce_132 = happySpecReduce_1  28# happyReduction_132
+happyReduction_132 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSetN happy_var_1) -> 
+	happyIn34
+		 (SetN (getRange (fst happy_var_1)) (snd happy_var_1)
+	)}
+
+happyReduce_133 = happySpecReduce_3  28# happyReduction_133
+happyReduction_133 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> 
+	case happyOut28 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (TokSymbol SymCloseBrace happy_var_3) -> 
+	happyIn34
+		 (HiddenArg (fuseRange happy_var_1 happy_var_3) (unnamed happy_var_2)
+	)}}}
+
+happyReduce_134 = happyReduce 5# 28# happyReduction_134
+happyReduction_134 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> 
+	case happyOut16 happy_x_2 of { happy_var_2 -> 
+	case happyOut28 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (TokSymbol SymCloseBrace happy_var_5) -> 
+	happyIn34
+		 (HiddenArg (fuseRange happy_var_1 happy_var_5) (named (show happy_var_2) happy_var_4)
+	) `HappyStk` happyRest}}}}
+
+happyReduce_135 = happySpecReduce_3  28# happyReduction_135
+happyReduction_135 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> 
+	case happyOut28 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (TokSymbol SymCloseParen happy_var_3) -> 
+	happyIn34
+		 (Paren (fuseRange happy_var_1 happy_var_3) happy_var_2
+	)}}}
+
+happyReduce_136 = happySpecReduce_2  28# happyReduction_136
+happyReduction_136 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> 
+	case happyOutTok happy_x_2 of { (TokSymbol SymCloseBrace happy_var_2) -> 
+	happyIn34
+		 (let r = fuseRange happy_var_1 happy_var_2 in HiddenArg r $ unnamed $ Absurd r
+	)}}
+
+happyReduce_137 = happySpecReduce_2  28# happyReduction_137
+happyReduction_137 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> 
+	case happyOutTok happy_x_2 of { (TokSymbol SymCloseParen happy_var_2) -> 
+	happyIn34
+		 (Absurd (fuseRange happy_var_1 happy_var_2)
+	)}}
+
+happyReduce_138 = happySpecReduce_3  28# happyReduction_138
+happyReduction_138 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
+	case happyOut34 happy_x_3 of { happy_var_3 -> 
+	happyIn34
+		 (As (fuseRange happy_var_1 happy_var_3) happy_var_1 happy_var_3
+	)}}
+
+happyReduce_139 = happySpecReduce_2  28# happyReduction_139
+happyReduction_139 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymDot happy_var_1) -> 
+	case happyOut34 happy_x_2 of { happy_var_2 -> 
+	happyIn34
+		 (Dot (fuseRange happy_var_1 happy_var_2) happy_var_2
+	)}}
+
+happyReduce_140 = happyReduce 4# 28# happyReduction_140
+happyReduction_140 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwRecord happy_var_1) -> 
+	case happyOut35 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (TokSymbol SymCloseBrace happy_var_4) -> 
+	happyIn34
+		 (Rec (getRange (happy_var_1,happy_var_4)) happy_var_3
+	) `HappyStk` happyRest}}}
+
+happyReduce_141 = happySpecReduce_0  29# happyReduction_141
+happyReduction_141  =  happyIn35
+		 ([]
+	)
+
+happyReduce_142 = happySpecReduce_1  29# happyReduction_142
+happyReduction_142 happy_x_1
+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> 
+	happyIn35
+		 (happy_var_1
+	)}
+
+happyReduce_143 = happySpecReduce_1  30# happyReduction_143
+happyReduction_143 happy_x_1
+	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
+	happyIn36
+		 ([happy_var_1]
+	)}
+
+happyReduce_144 = happySpecReduce_3  30# happyReduction_144
+happyReduction_144 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
+	case happyOut36 happy_x_3 of { happy_var_3 -> 
+	happyIn36
+		 (happy_var_1 : happy_var_3
+	)}}
+
+happyReduce_145 = happySpecReduce_3  31# happyReduction_145
+happyReduction_145 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn37
+		 ((happy_var_1, happy_var_3)
+	)}}
+
+happyReduce_146 = happySpecReduce_2  32# happyReduction_146
+happyReduction_146 happy_x_2
+	happy_x_1
+	 =  case happyOut39 happy_x_1 of { happy_var_1 -> 
+	happyIn38
+		 (happy_var_1
+	)}
+
+happyReduce_147 = happySpecReduce_1  33# happyReduction_147
+happyReduction_147 happy_x_1
+	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
+	happyIn39
+		 ({-TeleBind-} happy_var_1
+	)}
+
+happyReduce_148 = happySpecReduce_2  34# happyReduction_148
+happyReduction_148 happy_x_2
+	happy_x_1
+	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
+	case happyOut40 happy_x_2 of { happy_var_2 -> 
+	happyIn40
+		 (happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_149 = happySpecReduce_1  34# happyReduction_149
+happyReduction_149 happy_x_1
+	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
+	happyIn40
+		 ([happy_var_1]
+	)}
+
+happyReduce_150 = happySpecReduce_3  35# happyReduction_150
+happyReduction_150 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenParen happy_var_1) -> 
+	case happyOut42 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (TokSymbol SymCloseParen happy_var_3) -> 
+	happyIn41
+		 (TypedBindings (fuseRange happy_var_1 happy_var_3) (Arg NotHidden Relevant happy_var_2)
+	)}}}
+
+happyReduce_151 = happySpecReduce_3  35# happyReduction_151
+happyReduction_151 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenBrace happy_var_1) -> 
+	case happyOut42 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (TokSymbol SymCloseBrace happy_var_3) -> 
+	happyIn41
+		 (TypedBindings (fuseRange happy_var_1 happy_var_3) (Arg Hidden    Relevant happy_var_2)
+	)}}}
+
+happyReduce_152 = happySpecReduce_1  36# happyReduction_152
+happyReduction_152 happy_x_1
+	 =  case happyOut44 happy_x_1 of { happy_var_1 -> 
+	happyIn42
+		 ([happy_var_1]
+	)}
+
+happyReduce_153 = happySpecReduce_3  36# happyReduction_153
+happyReduction_153 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut44 happy_x_1 of { happy_var_1 -> 
+	case happyOut43 happy_x_3 of { happy_var_3 -> 
+	happyIn42
+		 (happy_var_1 : happy_var_3
+	)}}
+
+happyReduce_154 = happySpecReduce_1  37# happyReduction_154
+happyReduction_154 happy_x_1
+	 =  case happyOut42 happy_x_1 of { happy_var_1 -> 
+	happyIn43
+		 (happy_var_1
+	)}
+
+happyReduce_155 = happySpecReduce_3  37# happyReduction_155
+happyReduction_155 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
+	case happyOut43 happy_x_3 of { happy_var_3 -> 
+	happyIn43
+		 (TNoBind happy_var_1 : happy_var_3
+	)}}
+
+happyReduce_156 = happySpecReduce_1  37# happyReduction_156
+happyReduction_156 happy_x_1
+	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
+	happyIn43
+		 ([TNoBind happy_var_1]
+	)}
+
+happyReduce_157 = happySpecReduce_3  38# happyReduction_157
+happyReduction_157 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut25 happy_x_1 of { happy_var_1 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn44
+		 (TBind (fuseRange happy_var_1 happy_var_3) (map mkBoundName_ happy_var_1) happy_var_3
+	)}}
+
+happyReduce_158 = happyMonadReduce 2# 39# happyReduction_158
+happyReduction_158 (happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut47 happy_x_1 of { happy_var_1 -> 
+	(
+      case last happy_var_1 of
+        Left _  -> parseError "Absurd lambda cannot have a body."
+        _       -> return [ b | Right b <- happy_var_1 ])}
+	) (\r -> happyReturn (happyIn45 r))
+
+happyReduce_159 = happyMonadReduce 1# 40# happyReduction_159
+happyReduction_159 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut47 happy_x_1 of { happy_var_1 -> 
+	(
+    case last happy_var_1 of
+      Right _ -> parseError "Missing body for lambda"
+      Left h  -> return ([ b | Right b <- init happy_var_1], h))}
+	) (\r -> happyReturn (happyIn46 r))
+
+happyReduce_160 = happySpecReduce_2  41# happyReduction_160
+happyReduction_160 happy_x_2
+	happy_x_1
+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
+	case happyOut47 happy_x_2 of { happy_var_2 -> 
+	happyIn47
+		 (map Right happy_var_1 ++ happy_var_2
+	)}}
+
+happyReduce_161 = happySpecReduce_2  41# happyReduction_161
+happyReduction_161 happy_x_2
+	happy_x_1
+	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
+	case happyOut47 happy_x_2 of { happy_var_2 -> 
+	happyIn47
+		 (Right (DomainFull happy_var_1) : happy_var_2
+	)}}
+
+happyReduce_162 = happySpecReduce_1  41# happyReduction_162
+happyReduction_162 happy_x_1
+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
+	happyIn47
+		 (map Right happy_var_1
+	)}
+
+happyReduce_163 = happySpecReduce_1  41# happyReduction_163
+happyReduction_163 happy_x_1
+	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
+	happyIn47
+		 ([Right $ DomainFull happy_var_1]
+	)}
+
+happyReduce_164 = happySpecReduce_2  41# happyReduction_164
+happyReduction_164 happy_x_2
+	happy_x_1
+	 =  happyIn47
+		 ([Left NotHidden]
+	)
+
+happyReduce_165 = happySpecReduce_2  41# happyReduction_165
+happyReduction_165 happy_x_2
+	happy_x_1
+	 =  happyIn47
+		 ([Left Hidden]
+	)
+
+happyReduce_166 = happySpecReduce_2  42# happyReduction_166
+happyReduction_166 happy_x_2
+	happy_x_1
+	 =  case happyOut49 happy_x_1 of { happy_var_1 -> 
+	happyIn48
+		 (happy_var_1
+	)}
+
+happyReduce_167 = happySpecReduce_2  43# happyReduction_167
+happyReduction_167 happy_x_2
+	happy_x_1
+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
+	case happyOut49 happy_x_2 of { happy_var_2 -> 
+	happyIn49
+		 (happy_var_1 ++ happy_var_2
+	)}}
+
+happyReduce_168 = happySpecReduce_2  43# happyReduction_168
+happyReduction_168 happy_x_2
+	happy_x_1
+	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
+	case happyOut49 happy_x_2 of { happy_var_2 -> 
+	happyIn49
+		 (DomainFull happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_169 = happySpecReduce_1  43# happyReduction_169
+happyReduction_169 happy_x_1
+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
+	happyIn49
+		 (happy_var_1
+	)}
+
+happyReduce_170 = happySpecReduce_1  43# happyReduction_170
+happyReduction_170 happy_x_1
+	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
+	happyIn49
+		 ([DomainFull happy_var_1]
+	)}
+
+happyReduce_171 = happySpecReduce_2  44# happyReduction_171
+happyReduction_171 happy_x_2
+	happy_x_1
+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
+	case happyOut50 happy_x_2 of { happy_var_2 -> 
+	happyIn50
+		 (happy_var_1 ++ happy_var_2
+	)}}
+
+happyReduce_172 = happySpecReduce_2  44# happyReduction_172
+happyReduction_172 happy_x_2
+	happy_x_1
+	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
+	case happyOut50 happy_x_2 of { happy_var_2 -> 
+	happyIn50
+		 (DomainFull happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_173 = happySpecReduce_0  44# happyReduction_173
+happyReduction_173  =  happyIn50
+		 ([]
+	)
+
+happyReduce_174 = happySpecReduce_1  45# happyReduction_174
+happyReduction_174 happy_x_1
+	 =  case happyOut23 happy_x_1 of { happy_var_1 -> 
+	happyIn51
+		 ([DomainFree NotHidden $ mkBoundName_ happy_var_1]
+	)}
+
+happyReduce_175 = happySpecReduce_3  45# happyReduction_175
+happyReduction_175 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut25 happy_x_2 of { happy_var_2 -> 
+	happyIn51
+		 (map (DomainFree Hidden . mkBoundName_) happy_var_2
+	)}
+
+happyReduce_176 = happySpecReduce_1  46# happyReduction_176
+happyReduction_176 happy_x_1
+	 =  case happyOut53 happy_x_1 of { happy_var_1 -> 
+	happyIn52
+		 ((Nothing, happy_var_1)
+	)}
+
+happyReduce_177 = happyMonadReduce 3# 46# happyReduction_177
+happyReduction_177 (happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOutTok happy_x_1 of { (TokId happy_var_1) -> 
+	case happyOut16 happy_x_2 of { happy_var_2 -> 
+	case happyOut53 happy_x_3 of { happy_var_3 -> 
+	( isName "as" happy_var_1 >>
+                               return (Just (AsName happy_var_2 (getRange (fst happy_var_1))), happy_var_3))}}}
+	) (\r -> happyReturn (happyIn52 r))
+
+happyReduce_178 = happyMonadReduce 1# 47# happyReduction_178
+happyReduction_178 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut54 happy_x_1 of { happy_var_1 -> 
+	( verifyImportDirective happy_var_1)}
+	) (\r -> happyReturn (happyIn53 r))
+
+happyReduce_179 = happySpecReduce_2  48# happyReduction_179
+happyReduction_179 happy_x_2
+	happy_x_1
+	 =  case happyOut55 happy_x_2 of { happy_var_2 -> 
+	happyIn54
+		 (happy_var_2 { publicOpen = True }
+	)}
+
+happyReduce_180 = happySpecReduce_1  48# happyReduction_180
+happyReduction_180 happy_x_1
+	 =  case happyOut55 happy_x_1 of { happy_var_1 -> 
+	happyIn54
+		 (happy_var_1
+	)}
+
+happyReduce_181 = happySpecReduce_2  49# happyReduction_181
+happyReduction_181 happy_x_2
+	happy_x_1
+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> 
+	case happyOut57 happy_x_2 of { happy_var_2 -> 
+	happyIn55
+		 (ImportDirective (fuseRange (snd happy_var_1) (snd happy_var_2)) (fst happy_var_1) (fst happy_var_2) False
+	)}}
+
+happyReduce_182 = happySpecReduce_1  49# happyReduction_182
+happyReduction_182 happy_x_1
+	 =  case happyOut57 happy_x_1 of { happy_var_1 -> 
+	happyIn55
+		 (ImportDirective (getRange (snd happy_var_1)) (Hiding []) (fst happy_var_1) False
+	)}
+
+happyReduce_183 = happySpecReduce_1  49# happyReduction_183
+happyReduction_183 happy_x_1
+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> 
+	happyIn55
+		 (ImportDirective (getRange (snd happy_var_1)) (fst happy_var_1) [] False
+	)}
+
+happyReduce_184 = happySpecReduce_0  49# happyReduction_184
+happyReduction_184  =  happyIn55
+		 (ImportDirective noRange (Hiding []) [] False
+	)
+
+happyReduce_185 = happyReduce 4# 50# happyReduction_185
+happyReduction_185 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwUsing happy_var_1) -> 
+	case happyOut62 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> 
+	happyIn56
+		 ((Using happy_var_3 , fuseRange happy_var_1 happy_var_4)
+	) `HappyStk` happyRest}}}
+
+happyReduce_186 = happyReduce 4# 50# happyReduction_186
+happyReduction_186 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwHiding happy_var_1) -> 
+	case happyOut63 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> 
+	happyIn56
+		 ((Hiding happy_var_3 , fuseRange happy_var_1 happy_var_4)
+	) `HappyStk` happyRest}}}
+
+happyReduce_187 = happyReduce 4# 51# happyReduction_187
+happyReduction_187 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwRenaming happy_var_1) -> 
+	case happyOut58 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (TokSymbol SymCloseParen happy_var_4) -> 
+	happyIn57
+		 ((happy_var_3 , fuseRange happy_var_1 happy_var_4)
+	) `HappyStk` happyRest}}}
+
+happyReduce_188 = happySpecReduce_3  52# happyReduction_188
+happyReduction_188 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut59 happy_x_1 of { happy_var_1 -> 
+	case happyOut58 happy_x_3 of { happy_var_3 -> 
+	happyIn58
+		 (happy_var_1 : happy_var_3
+	)}}
+
+happyReduce_189 = happySpecReduce_1  52# happyReduction_189
+happyReduction_189 happy_x_1
+	 =  case happyOut59 happy_x_1 of { happy_var_1 -> 
+	happyIn58
+		 ([happy_var_1]
+	)}
+
+happyReduce_190 = happySpecReduce_3  53# happyReduction_190
+happyReduction_190 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut60 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (TokKeyword KwTo happy_var_2) -> 
+	case happyOut16 happy_x_3 of { happy_var_3 -> 
+	happyIn59
+		 (Renaming happy_var_1 happy_var_3 (getRange happy_var_2)
+	)}}}
+
+happyReduce_191 = happySpecReduce_2  54# happyReduction_191
+happyReduction_191 happy_x_2
+	happy_x_1
+	 =  case happyOut16 happy_x_2 of { happy_var_2 -> 
+	happyIn60
+		 (ImportedName happy_var_2
+	)}
+
+happyReduce_192 = happySpecReduce_3  54# happyReduction_192
+happyReduction_192 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut16 happy_x_3 of { happy_var_3 -> 
+	happyIn60
+		 (ImportedModule happy_var_3
+	)}
+
+happyReduce_193 = happySpecReduce_1  55# happyReduction_193
+happyReduction_193 happy_x_1
+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
+	happyIn61
+		 (ImportedName happy_var_1
+	)}
+
+happyReduce_194 = happySpecReduce_2  55# happyReduction_194
+happyReduction_194 happy_x_2
+	happy_x_1
+	 =  case happyOut16 happy_x_2 of { happy_var_2 -> 
+	happyIn61
+		 (ImportedModule happy_var_2
+	)}
+
+happyReduce_195 = happySpecReduce_0  56# happyReduction_195
+happyReduction_195  =  happyIn62
+		 ([]
+	)
+
+happyReduce_196 = happySpecReduce_1  56# happyReduction_196
+happyReduction_196 happy_x_1
+	 =  case happyOut63 happy_x_1 of { happy_var_1 -> 
+	happyIn62
+		 (happy_var_1
+	)}
+
+happyReduce_197 = happySpecReduce_1  57# happyReduction_197
+happyReduction_197 happy_x_1
+	 =  case happyOut61 happy_x_1 of { happy_var_1 -> 
+	happyIn63
+		 ([happy_var_1]
+	)}
+
+happyReduce_198 = happySpecReduce_3  57# happyReduction_198
+happyReduction_198 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut61 happy_x_1 of { happy_var_1 -> 
+	case happyOut63 happy_x_3 of { happy_var_3 -> 
+	happyIn63
+		 (happy_var_1 : happy_var_3
+	)}}
+
+happyReduce_199 = happyMonadReduce 3# 58# happyReduction_199
+happyReduction_199 (happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut29 happy_x_1 of { happy_var_1 -> 
+	case happyOut67 happy_x_2 of { happy_var_2 -> 
+	case happyOut66 happy_x_3 of { happy_var_3 -> 
+	( exprToLHS happy_var_1 >>= \p -> return (p happy_var_2 happy_var_3))}}}
+	) (\r -> happyReturn (happyIn64 r))
+
+happyReduce_200 = happyReduce 4# 58# happyReduction_200
+happyReduction_200 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokSymbol SymEllipsis happy_var_1) -> 
+	case happyOut65 happy_x_2 of { happy_var_2 -> 
+	case happyOut67 happy_x_3 of { happy_var_3 -> 
+	case happyOut66 happy_x_4 of { happy_var_4 -> 
+	happyIn64
+		 (Ellipsis (fuseRange happy_var_1 happy_var_3) happy_var_2 happy_var_3 happy_var_4
+	) `HappyStk` happyRest}}}}
+
+happyReduce_201 = happySpecReduce_0  59# happyReduction_201
+happyReduction_201  =  happyIn65
+		 ([]
+	)
+
+happyReduce_202 = happyMonadReduce 3# 59# happyReduction_202
+happyReduction_202 (happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut33 happy_x_2 of { happy_var_2 -> 
+	case happyOut65 happy_x_3 of { happy_var_3 -> 
+	( exprToPattern (RawApp (getRange happy_var_2) happy_var_2) >>= \p ->
+		   return (p : happy_var_3))}}
+	) (\r -> happyReturn (happyIn65 r))
+
+happyReduce_203 = happySpecReduce_0  60# happyReduction_203
+happyReduction_203  =  happyIn66
+		 ([]
+	)
+
+happyReduce_204 = happySpecReduce_2  60# happyReduction_204
+happyReduction_204 happy_x_2
+	happy_x_1
+	 =  case happyOut28 happy_x_2 of { happy_var_2 -> 
+	happyIn66
+		 (case happy_var_2 of { WithApp _ e es -> e : es; e -> [e] }
+	)}
+
+happyReduce_205 = happySpecReduce_0  61# happyReduction_205
+happyReduction_205  =  happyIn67
+		 ([]
+	)
+
+happyReduce_206 = happySpecReduce_2  61# happyReduction_206
+happyReduction_206 happy_x_2
+	happy_x_1
+	 =  case happyOut28 happy_x_2 of { happy_var_2 -> 
+	happyIn67
+		 (case happy_var_2 of { WithApp _ e es -> e : es; e -> [e] }
+	)}
+
+happyReduce_207 = happySpecReduce_0  62# happyReduction_207
+happyReduction_207  =  happyIn68
+		 (NoWhere
+	)
+
+happyReduce_208 = happySpecReduce_2  62# happyReduction_208
+happyReduction_208 happy_x_2
+	happy_x_1
+	 =  case happyOut118 happy_x_2 of { happy_var_2 -> 
+	happyIn68
+		 (AnyWhere happy_var_2
+	)}
+
+happyReduce_209 = happyReduce 4# 62# happyReduction_209
+happyReduction_209 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut16 happy_x_2 of { happy_var_2 -> 
+	case happyOut118 happy_x_4 of { happy_var_4 -> 
+	happyIn68
+		 (SomeWhere happy_var_2 happy_var_4
+	) `HappyStk` happyRest}}
+
+happyReduce_210 = happySpecReduce_1  63# happyReduction_210
+happyReduction_210 happy_x_1
+	 =  case happyOut71 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_211 = happySpecReduce_1  63# happyReduction_211
+happyReduction_211 happy_x_1
+	 =  case happyOut80 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 (happy_var_1
+	)}
+
+happyReduce_212 = happySpecReduce_1  63# happyReduction_212
+happyReduction_212 happy_x_1
+	 =  case happyOut74 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_213 = happySpecReduce_1  63# happyReduction_213
+happyReduction_213 happy_x_1
+	 =  case happyOut76 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_214 = happySpecReduce_1  63# happyReduction_214
+happyReduction_214 happy_x_1
+	 =  case happyOut77 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_215 = happySpecReduce_1  63# happyReduction_215
+happyReduction_215 happy_x_1
+	 =  case happyOut79 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_216 = happySpecReduce_1  63# happyReduction_216
+happyReduction_216 happy_x_1
+	 =  case happyOut81 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_217 = happySpecReduce_1  63# happyReduction_217
+happyReduction_217 happy_x_1
+	 =  case happyOut82 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_218 = happySpecReduce_1  63# happyReduction_218
+happyReduction_218 happy_x_1
+	 =  case happyOut83 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_219 = happySpecReduce_1  63# happyReduction_219
+happyReduction_219 happy_x_1
+	 =  case happyOut84 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_220 = happySpecReduce_1  63# happyReduction_220
+happyReduction_220 happy_x_1
+	 =  case happyOut85 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_221 = happySpecReduce_1  63# happyReduction_221
+happyReduction_221 happy_x_1
+	 =  case happyOut91 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_222 = happySpecReduce_1  63# happyReduction_222
+happyReduction_222 happy_x_1
+	 =  case happyOut94 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_223 = happySpecReduce_1  63# happyReduction_223
+happyReduction_223 happy_x_1
+	 =  case happyOut93 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_224 = happySpecReduce_1  63# happyReduction_224
+happyReduction_224 happy_x_1
+	 =  case happyOut95 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_225 = happySpecReduce_1  63# happyReduction_225
+happyReduction_225 happy_x_1
+	 =  case happyOut98 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_226 = happySpecReduce_1  63# happyReduction_226
+happyReduction_226 happy_x_1
+	 =  case happyOut86 happy_x_1 of { happy_var_1 -> 
+	happyIn69
+		 ([happy_var_1]
+	)}
+
+happyReduce_227 = happySpecReduce_3  64# happyReduction_227
+happyReduction_227 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut17 happy_x_1 of { happy_var_1 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn70
+		 (map (flip (TypeSig Relevant) happy_var_3) happy_var_1
+	)}}
+
+happyReduce_228 = happyReduce 4# 65# happyReduction_228
+happyReduction_228 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut16 happy_x_2 of { happy_var_2 -> 
+	case happyOut28 happy_x_4 of { happy_var_4 -> 
+	happyIn71
+		 (TypeSig Irrelevant happy_var_2 happy_var_4
+	) `HappyStk` happyRest}}
+
+happyReduce_229 = happySpecReduce_3  65# happyReduction_229
+happyReduction_229 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn71
+		 (TypeSig Relevant happy_var_1 happy_var_3
+	)}}
+
+happyReduce_230 = happySpecReduce_3  66# happyReduction_230
+happyReduction_230 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut19 happy_x_1 of { happy_var_1 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn72
+		 (map (\ (Arg _ rel x) -> TypeSig rel x happy_var_3) happy_var_1
+	)}}
+
+happyReduce_231 = happySpecReduce_3  67# happyReduction_231
+happyReduction_231 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut20 happy_x_1 of { happy_var_1 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn73
+		 (map (fmap (flip (TypeSig Relevant) happy_var_3)) happy_var_1
+	)}}
+
+happyReduce_232 = happySpecReduce_3  68# happyReduction_232
+happyReduction_232 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut64 happy_x_1 of { happy_var_1 -> 
+	case happyOut75 happy_x_2 of { happy_var_2 -> 
+	case happyOut68 happy_x_3 of { happy_var_3 -> 
+	happyIn74
+		 (FunClause happy_var_1 happy_var_2 happy_var_3
+	)}}}
+
+happyReduce_233 = happySpecReduce_2  69# happyReduction_233
+happyReduction_233 happy_x_2
+	happy_x_1
+	 =  case happyOut28 happy_x_2 of { happy_var_2 -> 
+	happyIn75
+		 (RHS happy_var_2
+	)}
+
+happyReduce_234 = happySpecReduce_0  69# happyReduction_234
+happyReduction_234  =  happyIn75
+		 (AbsurdRHS
+	)
+
+happyReduce_235 = happyReduce 7# 70# happyReduction_235
+happyReduction_235 (happy_x_7 `HappyStk`
+	happy_x_6 `HappyStk`
+	happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwData happy_var_1) -> 
+	case happyOut16 happy_x_2 of { happy_var_2 -> 
+	case happyOut50 happy_x_3 of { happy_var_3 -> 
+	case happyOut28 happy_x_5 of { happy_var_5 -> 
+	case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> 
+	case happyOut116 happy_x_7 of { happy_var_7 -> 
+	happyIn76
+		 (Data (getRange (happy_var_1, happy_var_6, happy_var_7)) Inductive happy_var_2 (map addType happy_var_3) happy_var_5 happy_var_7
+	) `HappyStk` happyRest}}}}}}
+
+happyReduce_236 = happyReduce 7# 70# happyReduction_236
+happyReduction_236 (happy_x_7 `HappyStk`
+	happy_x_6 `HappyStk`
+	happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwCoData happy_var_1) -> 
+	case happyOut16 happy_x_2 of { happy_var_2 -> 
+	case happyOut50 happy_x_3 of { happy_var_3 -> 
+	case happyOut28 happy_x_5 of { happy_var_5 -> 
+	case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> 
+	case happyOut116 happy_x_7 of { happy_var_7 -> 
+	happyIn76
+		 (Data (getRange (happy_var_1, happy_var_6, happy_var_7)) CoInductive happy_var_2 (map addType happy_var_3) happy_var_5 happy_var_7
+	) `HappyStk` happyRest}}}}}}
+
+happyReduce_237 = happyReduce 7# 71# happyReduction_237
+happyReduction_237 (happy_x_7 `HappyStk`
+	happy_x_6 `HappyStk`
+	happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwRecord happy_var_1) -> 
+	case happyOut16 happy_x_2 of { happy_var_2 -> 
+	case happyOut50 happy_x_3 of { happy_var_3 -> 
+	case happyOut28 happy_x_5 of { happy_var_5 -> 
+	case happyOutTok happy_x_6 of { (TokKeyword KwWhere happy_var_6) -> 
+	case happyOut117 happy_x_7 of { happy_var_7 -> 
+	happyIn77
+		 (Record (getRange (happy_var_1, happy_var_6, happy_var_7)) happy_var_2 (fst happy_var_7) (map addType happy_var_3) happy_var_5 (snd happy_var_7)
+	) `HappyStk` happyRest}}}}}}
+
+happyReduce_238 = happySpecReduce_2  72# happyReduction_238
+happyReduction_238 happy_x_2
+	happy_x_1
+	 =  case happyOut16 happy_x_2 of { happy_var_2 -> 
+	happyIn78
+		 (happy_var_2
+	)}
+
+happyReduce_239 = happySpecReduce_3  73# happyReduction_239
+happyReduction_239 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfix happy_var_1) -> 
+	case happyOut15 happy_x_2 of { happy_var_2 -> 
+	case happyOut24 happy_x_3 of { happy_var_3 -> 
+	happyIn79
+		 (Infix (NonAssoc (fuseRange happy_var_1 happy_var_3) happy_var_2) happy_var_3
+	)}}}
+
+happyReduce_240 = happySpecReduce_3  73# happyReduction_240
+happyReduction_240 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfixL happy_var_1) -> 
+	case happyOut15 happy_x_2 of { happy_var_2 -> 
+	case happyOut24 happy_x_3 of { happy_var_3 -> 
+	happyIn79
+		 (Infix (LeftAssoc (fuseRange happy_var_1 happy_var_3) happy_var_2) happy_var_3
+	)}}}
+
+happyReduce_241 = happySpecReduce_3  73# happyReduction_241
+happyReduction_241 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwInfixR happy_var_1) -> 
+	case happyOut15 happy_x_2 of { happy_var_2 -> 
+	case happyOut24 happy_x_3 of { happy_var_3 -> 
+	happyIn79
+		 (Infix (RightAssoc (fuseRange happy_var_1 happy_var_3) happy_var_2) happy_var_3
+	)}}}
+
+happyReduce_242 = happySpecReduce_2  74# happyReduction_242
+happyReduction_242 happy_x_2
+	happy_x_1
+	 =  case happyOut114 happy_x_2 of { happy_var_2 -> 
+	happyIn80
+		 (let toField (Arg h rel (TypeSig _ x t)) = Field x (Arg h rel t) in map toField happy_var_2
+	)}
+
+happyReduce_243 = happySpecReduce_2  75# happyReduction_243
+happyReduction_243 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwMutual happy_var_1) -> 
+	case happyOut118 happy_x_2 of { happy_var_2 -> 
+	happyIn81
+		 (Mutual (fuseRange happy_var_1 happy_var_2) happy_var_2
+	)}}
+
+happyReduce_244 = happySpecReduce_2  76# happyReduction_244
+happyReduction_244 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwAbstract happy_var_1) -> 
+	case happyOut118 happy_x_2 of { happy_var_2 -> 
+	happyIn82
+		 (Abstract (fuseRange happy_var_1 happy_var_2) happy_var_2
+	)}}
+
+happyReduce_245 = happySpecReduce_2  77# happyReduction_245
+happyReduction_245 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPrivate happy_var_1) -> 
+	case happyOut118 happy_x_2 of { happy_var_2 -> 
+	happyIn83
+		 (Private (fuseRange happy_var_1 happy_var_2) happy_var_2
+	)}}
+
+happyReduce_246 = happySpecReduce_2  78# happyReduction_246
+happyReduction_246 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPostulate happy_var_1) -> 
+	case happyOut112 happy_x_2 of { happy_var_2 -> 
+	happyIn84
+		 (Postulate (fuseRange happy_var_1 happy_var_2) happy_var_2
+	)}}
+
+happyReduce_247 = happySpecReduce_2  79# happyReduction_247
+happyReduction_247 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwPrimitive happy_var_1) -> 
+	case happyOut110 happy_x_2 of { happy_var_2 -> 
+	happyIn85
+		 (Primitive (fuseRange happy_var_1 happy_var_2) happy_var_2
+	)}}
+
+happyReduce_248 = happyMonadReduce 5# 80# happyReduction_248
+happyReduction_248 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut16 happy_x_2 of { happy_var_2 -> 
+	case happyOut88 happy_x_3 of { happy_var_3 -> 
+	case happyOut87 happy_x_5 of { happy_var_5 -> 
+	(
+  case happy_var_2 of
+    Name _ [_] -> case mkNotation happy_var_3 happy_var_5 of
+      Left err -> parseError $ "malformed syntax declaration: " ++ err
+      Right n -> return $ Syntax happy_var_2 n
+    _ -> parseError "syntax declarations are allowed only for simple names (without holes)")}}}
+	) (\r -> happyReturn (happyIn86 r))
+
+happyReduce_249 = happySpecReduce_1  81# happyReduction_249
+happyReduction_249 happy_x_1
+	 =  case happyOut90 happy_x_1 of { happy_var_1 -> 
+	happyIn87
+		 ([happy_var_1]
+	)}
+
+happyReduce_250 = happySpecReduce_2  81# happyReduction_250
+happyReduction_250 happy_x_2
+	happy_x_1
+	 =  case happyOut87 happy_x_1 of { happy_var_1 -> 
+	case happyOut90 happy_x_2 of { happy_var_2 -> 
+	happyIn87
+		 (happy_var_1 ++ [happy_var_2]
+	)}}
+
+happyReduce_251 = happySpecReduce_1  82# happyReduction_251
+happyReduction_251 happy_x_1
+	 =  case happyOut89 happy_x_1 of { happy_var_1 -> 
+	happyIn88
+		 ([happy_var_1]
+	)}
+
+happyReduce_252 = happySpecReduce_2  82# happyReduction_252
+happyReduction_252 happy_x_2
+	happy_x_1
+	 =  case happyOut88 happy_x_1 of { happy_var_1 -> 
+	case happyOut89 happy_x_2 of { happy_var_2 -> 
+	happyIn88
+		 (happy_var_1 ++ [happy_var_2]
+	)}}
+
+happyReduce_253 = happySpecReduce_1  83# happyReduction_253
+happyReduction_253 happy_x_1
+	 =  case happyOut90 happy_x_1 of { happy_var_1 -> 
+	happyIn89
+		 (ExprHole happy_var_1
+	)}
+
+happyReduce_254 = happyReduce 6# 83# happyReduction_254
+happyReduction_254 (happy_x_6 `HappyStk`
+	happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut90 happy_x_3 of { happy_var_3 -> 
+	case happyOut90 happy_x_5 of { happy_var_5 -> 
+	happyIn89
+		 (LambdaHole happy_var_3 happy_var_5
+	) `HappyStk` happyRest}}
+
+happyReduce_255 = happySpecReduce_1  84# happyReduction_255
+happyReduction_255 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokId happy_var_1) -> 
+	happyIn90
+		 (snd happy_var_1
+	)}
+
+happyReduce_256 = happyReduce 4# 85# happyReduction_256
+happyReduction_256 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> 
+	case happyOut22 happy_x_2 of { happy_var_2 -> 
+	case happyOut92 happy_x_3 of { happy_var_3 -> 
+	case happyOut53 happy_x_4 of { happy_var_4 -> 
+	happyIn91
+		 (let
+    { m   = happy_var_2
+    ; es  = happy_var_3
+    ; dir = happy_var_4
+    ; r   = getRange (happy_var_1, m, es, dir)
+    } in
+    case es of
+    { []  -> Open r m dir
+    ; _   -> Private r [ ModuleMacro r (noName $ beginningOf $ getRange happy_var_2) []
+                           (RawApp (fuseRange m es) (Ident m : es)) DoOpen dir
+                       ]
+    }
+	) `HappyStk` happyRest}}}}
+
+happyReduce_257 = happySpecReduce_0  86# happyReduction_257
+happyReduction_257  =  happyIn92
+		 ([]
+	)
+
+happyReduce_258 = happySpecReduce_2  86# happyReduction_258
+happyReduction_258 happy_x_2
+	happy_x_1
+	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
+	case happyOut92 happy_x_2 of { happy_var_2 -> 
+	happyIn92
+		 (happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_259 = happyReduce 6# 87# happyReduction_259
+happyReduction_259 (happy_x_6 `HappyStk`
+	happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwModule happy_var_1) -> 
+	case happyOut16 happy_x_2 of { happy_var_2 -> 
+	case happyOut50 happy_x_3 of { happy_var_3 -> 
+	case happyOut28 happy_x_5 of { happy_var_5 -> 
+	case happyOut53 happy_x_6 of { happy_var_6 -> 
+	happyIn93
+		 (ModuleMacro (getRange (happy_var_1, happy_var_5, happy_var_6)) happy_var_2 (map addType happy_var_3) happy_var_5 DontOpen happy_var_6
+	) `HappyStk` happyRest}}}}}
+
+happyReduce_260 = happyReduce 7# 87# happyReduction_260
+happyReduction_260 (happy_x_7 `HappyStk`
+	happy_x_6 `HappyStk`
+	happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> 
+	case happyOut16 happy_x_3 of { happy_var_3 -> 
+	case happyOut50 happy_x_4 of { happy_var_4 -> 
+	case happyOut28 happy_x_6 of { happy_var_6 -> 
+	case happyOut53 happy_x_7 of { happy_var_7 -> 
+	happyIn93
+		 (ModuleMacro (getRange (happy_var_1, happy_var_6, happy_var_7)) happy_var_3 (map addType happy_var_4) happy_var_6 DoOpen happy_var_7
+	) `HappyStk` happyRest}}}}}
+
+happyReduce_261 = happySpecReduce_3  88# happyReduction_261
+happyReduction_261 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokKeyword KwImport happy_var_1) -> 
+	case happyOut22 happy_x_2 of { happy_var_2 -> 
+	case happyOut52 happy_x_3 of { happy_var_3 -> 
+	happyIn94
+		 (Import (getRange (happy_var_1,happy_var_2,snd happy_var_3)) happy_var_2 (fst happy_var_3) DontOpen (snd happy_var_3)
+	)}}}
+
+happyReduce_262 = happyReduce 4# 88# happyReduction_262
+happyReduction_262 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwOpen happy_var_1) -> 
+	case happyOut22 happy_x_3 of { happy_var_3 -> 
+	case happyOut52 happy_x_4 of { happy_var_4 -> 
+	happyIn94
+		 (Import (getRange (happy_var_1,happy_var_3,snd happy_var_4)) happy_var_3 (fst happy_var_4) DoOpen (snd happy_var_4)
+	) `HappyStk` happyRest}}}
+
+happyReduce_263 = happyReduce 5# 89# happyReduction_263
+happyReduction_263 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwModule happy_var_1) -> 
+	case happyOut16 happy_x_2 of { happy_var_2 -> 
+	case happyOut50 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> 
+	case happyOut119 happy_x_5 of { happy_var_5 -> 
+	happyIn95
+		 (Module (getRange (happy_var_1,happy_var_4,happy_var_5)) (QName happy_var_2) (map addType happy_var_3) happy_var_5
+	) `HappyStk` happyRest}}}}}
+
+happyReduce_264 = happySpecReduce_2  90# happyReduction_264
+happyReduction_264 happy_x_2
+	happy_x_1
+	 =  case happyOut97 happy_x_2 of { happy_var_2 -> 
+	happyIn96
+		 ([happy_var_2]
+	)}
+
+happyReduce_265 = happySpecReduce_3  90# happyReduction_265
+happyReduction_265 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut94 happy_x_2 of { happy_var_2 -> 
+	case happyOut96 happy_x_3 of { happy_var_3 -> 
+	happyIn96
+		 (happy_var_2 : happy_var_3
+	)}}
+
+happyReduce_266 = happySpecReduce_3  90# happyReduction_266
+happyReduction_266 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut91 happy_x_2 of { happy_var_2 -> 
+	case happyOut96 happy_x_3 of { happy_var_3 -> 
+	happyIn96
+		 (happy_var_2 : happy_var_3
+	)}}
+
+happyReduce_267 = happyReduce 5# 91# happyReduction_267
+happyReduction_267 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokKeyword KwModule happy_var_1) -> 
+	case happyOut22 happy_x_2 of { happy_var_2 -> 
+	case happyOut50 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (TokKeyword KwWhere happy_var_4) -> 
+	case happyOut119 happy_x_5 of { happy_var_5 -> 
+	happyIn97
+		 (Module (getRange (happy_var_1,happy_var_4,happy_var_5)) happy_var_2 (map addType happy_var_3) happy_var_5
+	) `HappyStk` happyRest}}}}}
+
+happyReduce_268 = happySpecReduce_1  92# happyReduction_268
+happyReduction_268 happy_x_1
+	 =  case happyOut100 happy_x_1 of { happy_var_1 -> 
+	happyIn98
+		 (Pragma happy_var_1
+	)}
+
+happyReduce_269 = happySpecReduce_1  93# happyReduction_269
+happyReduction_269 happy_x_1
+	 =  case happyOut101 happy_x_1 of { happy_var_1 -> 
+	happyIn99
+		 (happy_var_1
+	)}
+
+happyReduce_270 = happySpecReduce_1  94# happyReduction_270
+happyReduction_270 happy_x_1
+	 =  case happyOut102 happy_x_1 of { happy_var_1 -> 
+	happyIn100
+		 (happy_var_1
+	)}
+
+happyReduce_271 = happySpecReduce_1  94# happyReduction_271
+happyReduction_271 happy_x_1
+	 =  case happyOut103 happy_x_1 of { happy_var_1 -> 
+	happyIn100
+		 (happy_var_1
+	)}
+
+happyReduce_272 = happySpecReduce_1  94# happyReduction_272
+happyReduction_272 happy_x_1
+	 =  case happyOut105 happy_x_1 of { happy_var_1 -> 
+	happyIn100
+		 (happy_var_1
+	)}
+
+happyReduce_273 = happySpecReduce_1  94# happyReduction_273
+happyReduction_273 happy_x_1
+	 =  case happyOut104 happy_x_1 of { happy_var_1 -> 
+	happyIn100
+		 (happy_var_1
+	)}
+
+happyReduce_274 = happySpecReduce_1  94# happyReduction_274
+happyReduction_274 happy_x_1
+	 =  case happyOut106 happy_x_1 of { happy_var_1 -> 
+	happyIn100
+		 (happy_var_1
+	)}
+
+happyReduce_275 = happySpecReduce_1  94# happyReduction_275
+happyReduction_275 happy_x_1
+	 =  case happyOut108 happy_x_1 of { happy_var_1 -> 
+	happyIn100
+		 (happy_var_1
+	)}
+
+happyReduce_276 = happySpecReduce_1  94# happyReduction_276
+happyReduction_276 happy_x_1
+	 =  case happyOut109 happy_x_1 of { happy_var_1 -> 
+	happyIn100
+		 (happy_var_1
+	)}
+
+happyReduce_277 = happySpecReduce_1  94# happyReduction_277
+happyReduction_277 happy_x_1
+	 =  case happyOut107 happy_x_1 of { happy_var_1 -> 
+	happyIn100
+		 (happy_var_1
+	)}
+
+happyReduce_278 = happyReduce 4# 95# happyReduction_278
+happyReduction_278 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
+	case happyOut26 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> 
+	happyIn101
+		 (OptionsPragma (fuseRange happy_var_1 happy_var_4) happy_var_3
+	) `HappyStk` happyRest}}}
+
+happyReduce_279 = happyReduce 5# 96# happyReduction_279
+happyReduction_279 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
+	case happyOutTok happy_x_3 of { (TokString happy_var_3) -> 
+	case happyOut27 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> 
+	happyIn102
+		 (BuiltinPragma (fuseRange happy_var_1 happy_var_5) (snd happy_var_3) (Ident happy_var_4)
+	) `HappyStk` happyRest}}}}
+
+happyReduce_280 = happyReduce 5# 97# happyReduction_280
+happyReduction_280 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
+	case happyOut27 happy_x_3 of { happy_var_3 -> 
+	case happyOut26 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> 
+	happyIn103
+		 (CompiledPragma (fuseRange happy_var_1 happy_var_5) happy_var_3 (unwords happy_var_4)
+	) `HappyStk` happyRest}}}}
+
+happyReduce_281 = happyReduce 5# 98# happyReduction_281
+happyReduction_281 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
+	case happyOut27 happy_x_3 of { happy_var_3 -> 
+	case happyOut26 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> 
+	happyIn104
+		 (CompiledTypePragma (fuseRange happy_var_1 happy_var_5) happy_var_3 (unwords happy_var_4)
+	) `HappyStk` happyRest}}}}
+
+happyReduce_282 = happyReduce 6# 99# happyReduction_282
+happyReduction_282 (happy_x_6 `HappyStk`
+	happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
+	case happyOut27 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (TokString happy_var_4) -> 
+	case happyOut26 happy_x_5 of { happy_var_5 -> 
+	case happyOutTok happy_x_6 of { (TokSymbol SymClosePragma happy_var_6) -> 
+	happyIn105
+		 (CompiledDataPragma (fuseRange happy_var_1 happy_var_6) happy_var_3 (snd happy_var_4) happy_var_5
+	) `HappyStk` happyRest}}}}}
+
+happyReduce_283 = happyReduce 5# 100# happyReduction_283
+happyReduction_283 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
+	case happyOut27 happy_x_3 of { happy_var_3 -> 
+	case happyOut26 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (TokSymbol SymClosePragma happy_var_5) -> 
+	happyIn106
+		 (CompiledEpicPragma (fuseRange happy_var_1 happy_var_5) happy_var_3 (unwords happy_var_4)
+	) `HappyStk` happyRest}}}}
+
+happyReduce_284 = happyReduce 4# 101# happyReduction_284
+happyReduction_284 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
+	case happyOut27 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> 
+	happyIn107
+		 (EtaPragma (fuseRange happy_var_1 happy_var_4) happy_var_3
+	) `HappyStk` happyRest}}}
+
+happyReduce_285 = happyMonadReduce 4# 102# happyReduction_285
+happyReduction_285 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
+	case happyOutTok happy_x_3 of { (TokString happy_var_3) -> 
+	case happyOutTok happy_x_4 of { (TokSymbol SymClosePragma happy_var_4) -> 
+	( let s = snd happy_var_3 in
+       if validHaskellModuleName s
+       then return $ ImportPragma (fuseRange happy_var_1 happy_var_4) s
+       else parseError $ "Malformed module name: " ++ s ++ ".")}}}
+	) (\r -> happyReturn (happyIn108 r))
+
+happyReduce_286 = happySpecReduce_3  103# happyReduction_286
+happyReduction_286 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (TokSymbol SymOpenPragma happy_var_1) -> 
+	case happyOutTok happy_x_3 of { (TokSymbol SymClosePragma happy_var_3) -> 
+	happyIn109
+		 (ImpossiblePragma (fuseRange happy_var_1 happy_var_3)
+	)}}
+
+happyReduce_287 = happyReduce 5# 104# happyReduction_287
+happyReduction_287 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut111 happy_x_3 of { happy_var_3 -> 
+	happyIn110
+		 (reverse happy_var_3
+	) `HappyStk` happyRest}
+
+happyReduce_288 = happyReduce 4# 105# happyReduction_288
+happyReduction_288 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut111 happy_x_1 of { happy_var_1 -> 
+	case happyOut70 happy_x_4 of { happy_var_4 -> 
+	happyIn111
+		 (reverse happy_var_4 ++ happy_var_1
+	) `HappyStk` happyRest}}
+
+happyReduce_289 = happySpecReduce_2  105# happyReduction_289
+happyReduction_289 happy_x_2
+	happy_x_1
+	 =  case happyOut70 happy_x_2 of { happy_var_2 -> 
+	happyIn111
+		 (reverse happy_var_2
+	)}
+
+happyReduce_290 = happyReduce 5# 106# happyReduction_290
+happyReduction_290 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut113 happy_x_3 of { happy_var_3 -> 
+	happyIn112
+		 (reverse happy_var_3
+	) `HappyStk` happyRest}
+
+happyReduce_291 = happyReduce 4# 107# happyReduction_291
+happyReduction_291 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut113 happy_x_1 of { happy_var_1 -> 
+	case happyOut72 happy_x_4 of { happy_var_4 -> 
+	happyIn113
+		 (reverse happy_var_4 ++ happy_var_1
+	) `HappyStk` happyRest}}
+
+happyReduce_292 = happySpecReduce_2  107# happyReduction_292
+happyReduction_292 happy_x_2
+	happy_x_1
+	 =  case happyOut72 happy_x_2 of { happy_var_2 -> 
+	happyIn113
+		 (reverse happy_var_2
+	)}
+
+happyReduce_293 = happyReduce 5# 108# happyReduction_293
+happyReduction_293 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut115 happy_x_3 of { happy_var_3 -> 
+	happyIn114
+		 (reverse happy_var_3
+	) `HappyStk` happyRest}
+
+happyReduce_294 = happyReduce 4# 109# happyReduction_294
+happyReduction_294 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut115 happy_x_1 of { happy_var_1 -> 
+	case happyOut73 happy_x_4 of { happy_var_4 -> 
+	happyIn115
+		 (reverse happy_var_4 ++ happy_var_1
+	) `HappyStk` happyRest}}
+
+happyReduce_295 = happySpecReduce_2  109# happyReduction_295
+happyReduction_295 happy_x_2
+	happy_x_1
+	 =  case happyOut73 happy_x_2 of { happy_var_2 -> 
+	happyIn115
+		 (reverse happy_var_2
+	)}
+
+happyReduce_296 = happyReduce 4# 110# happyReduction_296
+happyReduction_296 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = happyIn116
+		 ([]
+	) `HappyStk` happyRest
+
+happyReduce_297 = happySpecReduce_1  110# happyReduction_297
+happyReduction_297 happy_x_1
+	 =  case happyOut110 happy_x_1 of { happy_var_1 -> 
+	happyIn116
+		 (happy_var_1
+	)}
+
+happyReduce_298 = happyReduce 4# 111# happyReduction_298
+happyReduction_298 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = happyIn117
+		 ((Nothing, [])
+	) `HappyStk` happyRest
+
+happyReduce_299 = happyReduce 6# 111# happyReduction_299
+happyReduction_299 (happy_x_6 `HappyStk`
+	happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut78 happy_x_4 of { happy_var_4 -> 
+	happyIn117
+		 ((Just happy_var_4, [])
+	) `HappyStk` happyRest}
+
+happyReduce_300 = happyReduce 8# 111# happyReduction_300
+happyReduction_300 (happy_x_8 `HappyStk`
+	happy_x_7 `HappyStk`
+	happy_x_6 `HappyStk`
+	happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut78 happy_x_4 of { happy_var_4 -> 
+	case happyOut120 happy_x_6 of { happy_var_6 -> 
+	happyIn117
+		 ((Just happy_var_4, reverse happy_var_6)
+	) `HappyStk` happyRest}}
+
+happyReduce_301 = happyReduce 5# 111# happyReduction_301
+happyReduction_301 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut120 happy_x_3 of { happy_var_3 -> 
+	happyIn117
+		 ((Nothing, reverse happy_var_3)
+	) `HappyStk` happyRest}
+
+happyReduce_302 = happyReduce 5# 112# happyReduction_302
+happyReduction_302 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut120 happy_x_3 of { happy_var_3 -> 
+	happyIn118
+		 (reverse happy_var_3
+	) `HappyStk` happyRest}
+
+happyReduce_303 = happyReduce 4# 113# happyReduction_303
+happyReduction_303 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = happyIn119
+		 ([]
+	) `HappyStk` happyRest
+
+happyReduce_304 = happySpecReduce_1  113# happyReduction_304
+happyReduction_304 happy_x_1
+	 =  case happyOut118 happy_x_1 of { happy_var_1 -> 
+	happyIn119
+		 (happy_var_1
+	)}
+
+happyReduce_305 = happyReduce 4# 114# happyReduction_305
+happyReduction_305 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut120 happy_x_1 of { happy_var_1 -> 
+	case happyOut69 happy_x_4 of { happy_var_4 -> 
+	happyIn120
+		 (reverse happy_var_4 ++ happy_var_1
+	) `HappyStk` happyRest}}
+
+happyReduce_306 = happySpecReduce_2  114# happyReduction_306
+happyReduction_306 happy_x_2
+	happy_x_1
+	 =  case happyOut69 happy_x_2 of { happy_var_2 -> 
+	happyIn120
+		 (reverse happy_var_2
+	)}
+
+happyNewToken action sts stk
+	= lexer(\tk -> 
+	let cont i = happyDoAction i tk action sts stk in
+	case tk of {
+	TokEOF -> happyDoAction 69# tk action sts stk;
+	TokKeyword KwLet happy_dollar_dollar -> cont 1#;
+	TokKeyword KwIn happy_dollar_dollar -> cont 2#;
+	TokKeyword KwWhere happy_dollar_dollar -> cont 3#;
+	TokKeyword KwWith happy_dollar_dollar -> cont 4#;
+	TokKeyword KwRewrite happy_dollar_dollar -> cont 5#;
+	TokKeyword KwPostulate happy_dollar_dollar -> cont 6#;
+	TokKeyword KwPrimitive happy_dollar_dollar -> cont 7#;
+	TokKeyword KwOpen happy_dollar_dollar -> cont 8#;
+	TokKeyword KwImport happy_dollar_dollar -> cont 9#;
+	TokKeyword KwUsing happy_dollar_dollar -> cont 10#;
+	TokKeyword KwHiding happy_dollar_dollar -> cont 11#;
+	TokKeyword KwRenaming happy_dollar_dollar -> cont 12#;
+	TokKeyword KwTo happy_dollar_dollar -> cont 13#;
+	TokKeyword KwPublic happy_dollar_dollar -> cont 14#;
+	TokKeyword KwModule happy_dollar_dollar -> cont 15#;
+	TokKeyword KwData happy_dollar_dollar -> cont 16#;
+	TokKeyword KwCoData happy_dollar_dollar -> cont 17#;
+	TokKeyword KwRecord happy_dollar_dollar -> cont 18#;
+	TokKeyword KwConstructor happy_dollar_dollar -> cont 19#;
+	TokKeyword KwField happy_dollar_dollar -> cont 20#;
+	TokKeyword KwInfix happy_dollar_dollar -> cont 21#;
+	TokKeyword KwInfixL happy_dollar_dollar -> cont 22#;
+	TokKeyword KwInfixR happy_dollar_dollar -> cont 23#;
+	TokKeyword KwMutual happy_dollar_dollar -> cont 24#;
+	TokKeyword KwAbstract happy_dollar_dollar -> cont 25#;
+	TokKeyword KwPrivate happy_dollar_dollar -> cont 26#;
+	TokKeyword KwProp happy_dollar_dollar -> cont 27#;
+	TokKeyword KwSet happy_dollar_dollar -> cont 28#;
+	TokKeyword KwForall happy_dollar_dollar -> cont 29#;
+	TokKeyword KwSyntax happy_dollar_dollar -> cont 30#;
+	TokKeyword KwOPTIONS happy_dollar_dollar -> cont 31#;
+	TokKeyword KwBUILTIN happy_dollar_dollar -> cont 32#;
+	TokKeyword KwIMPORT happy_dollar_dollar -> cont 33#;
+	TokKeyword KwIMPOSSIBLE happy_dollar_dollar -> cont 34#;
+	TokKeyword KwETA happy_dollar_dollar -> cont 35#;
+	TokKeyword KwCOMPILED happy_dollar_dollar -> cont 36#;
+	TokKeyword KwCOMPILED_DATA happy_dollar_dollar -> cont 37#;
+	TokKeyword KwCOMPILED_TYPE happy_dollar_dollar -> cont 38#;
+	TokKeyword KwCOMPILED_EPIC happy_dollar_dollar -> cont 39#;
+	TokKeyword KwQuoteGoal happy_dollar_dollar -> cont 40#;
+	TokKeyword KwQuote happy_dollar_dollar -> cont 41#;
+	TokSetN happy_dollar_dollar -> cont 42#;
+	TokTeX happy_dollar_dollar -> cont 43#;
+	TokComment happy_dollar_dollar -> cont 44#;
+	TokSymbol SymEllipsis happy_dollar_dollar -> cont 45#;
+	TokSymbol SymDot happy_dollar_dollar -> cont 46#;
+	TokSymbol SymSemi happy_dollar_dollar -> cont 47#;
+	TokSymbol SymColon happy_dollar_dollar -> cont 48#;
+	TokSymbol SymEqual happy_dollar_dollar -> cont 49#;
+	TokSymbol SymUnderscore happy_dollar_dollar -> cont 50#;
+	TokSymbol SymQuestionMark happy_dollar_dollar -> cont 51#;
+	TokSymbol SymArrow happy_dollar_dollar -> cont 52#;
+	TokSymbol SymLambda happy_dollar_dollar -> cont 53#;
+	TokSymbol SymAs happy_dollar_dollar -> cont 54#;
+	TokSymbol SymBar happy_dollar_dollar -> cont 55#;
+	TokSymbol SymOpenParen happy_dollar_dollar -> cont 56#;
+	TokSymbol SymCloseParen happy_dollar_dollar -> cont 57#;
+	TokSymbol SymOpenBrace happy_dollar_dollar -> cont 58#;
+	TokSymbol SymCloseBrace happy_dollar_dollar -> cont 59#;
+	TokSymbol SymOpenVirtualBrace happy_dollar_dollar -> cont 60#;
+	TokSymbol SymCloseVirtualBrace happy_dollar_dollar -> cont 61#;
+	TokSymbol SymVirtualSemi happy_dollar_dollar -> cont 62#;
+	TokSymbol SymOpenPragma happy_dollar_dollar -> cont 63#;
+	TokSymbol SymClosePragma happy_dollar_dollar -> cont 64#;
+	TokId happy_dollar_dollar -> cont 65#;
+	TokQId happy_dollar_dollar -> cont 66#;
+	TokString happy_dollar_dollar -> cont 67#;
+	TokLiteral happy_dollar_dollar -> cont 68#;
+	_ -> happyError' tk
+	})
+
+happyError_ tk = happyError' tk
+
+happyThen :: () => Parser a -> (a -> Parser b) -> Parser b
+happyThen = (>>=)
+happyReturn :: () => a -> Parser a
+happyReturn = (return)
+happyThen1 = happyThen
+happyReturn1 :: () => a -> Parser a
+happyReturn1 = happyReturn
+happyError' :: () => (Token) -> Parser a
+happyError' tk = (\token -> happyError) tk
+
+tokensParser = happySomeParser where
+  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))
+
+exprParser = happySomeParser where
+  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut28 x))
+
+moduleParser = happySomeParser where
+  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut10 x))
+
+happySeq = happyDontSeq
+
+
+{--------------------------------------------------------------------------
+    Parsers
+ --------------------------------------------------------------------------}
+
+-- | Parse the token stream. Used by the TeX compiler.
+tokensParser :: Parser [Token]
+
+-- | Parse an expression. Could be used in interactions.
+exprParser :: Parser Expr
+
+-- | Parse a module.
+moduleParser :: Parser Module
+
+
+{--------------------------------------------------------------------------
+    Happy stuff
+ --------------------------------------------------------------------------}
+
+-- | Required by Happy.
+happyError :: Parser a
+happyError = parseError "Parse error"
+
+
+{--------------------------------------------------------------------------
+    Utility functions
+ --------------------------------------------------------------------------}
+
+-- | Create a name from a string.
+
+mkName :: (Interval, String) -> Parser Name
+mkName (i, s) = do
+    let xs = parts s
+    mapM_ isValidId xs
+    unless (alternating xs) $ fail $ "a name cannot contain two consecutive underscores"
+    return $ Name (getRange i) xs
+    where
+        parts :: String -> [NamePart]
+        parts ""        = []
+        parts ('_' : s) = Hole : parts s
+        parts s         = Id x : parts s'
+          where (x, s') = break (== '_') s
+
+	isValidId Hole   = return ()
+	isValidId (Id x) = case parse defaultParseFlags [0] (lexer return) x of
+	    ParseOk _ (TokId _) -> return ()
+	    _			-> fail $ "in the name " ++ s ++ ", the part " ++ x ++ " is not valid"
+
+	-- we know that there are no two Ids in a row
+	alternating (Hole : Hole : _) = False
+	alternating (_ : xs)	      = alternating xs
+	alternating []		      = True
+
+-- | Create a qualified name from a list of strings
+mkQName :: [(Interval, String)] -> Parser QName
+mkQName ss = do
+    xs <- mapM mkName ss
+    return $ foldr Qual (QName $ last xs) (init xs)
+
+-- | Match a particular name.
+isName :: String -> (Interval, String) -> Parser ()
+isName s (_,s')
+    | s == s'	= return ()
+    | otherwise	= fail $ "expected " ++ s ++ ", found " ++ s'
+
+-- | Build a forall pi (forall x y z -> ...)
+forallPi :: [LamBinding] -> Expr -> Expr
+forallPi bs e = Pi (map addType bs) e
+
+-- | Converts lambda bindings to typed bindings.
+addType :: LamBinding -> TypedBindings
+addType (DomainFull b)	 = b
+addType (DomainFree h x) = TypedBindings r $ Arg h Relevant [TBind r [x] $ Underscore r Nothing]
+  where r = getRange x
+
+-- | Check that an import directive doesn't contain repeated names
+verifyImportDirective :: ImportDirective -> Parser ImportDirective
+verifyImportDirective i =
+    case filter ((>1) . length)
+	 $ group
+	 $ sort xs
+    of
+	[]  -> return i
+	yss -> let Just pos = rStart $ getRange $ head $ concat yss in
+               parseErrorAt pos $
+		"repeated name" ++ s ++ " in import directive: " ++
+		concat (intersperse ", " $ map (show . head) yss)
+	    where
+		s = case yss of
+			[_] -> ""
+			_   -> "s"
+    where
+	xs = names (usingOrHiding i) ++ map renFrom (renaming i)
+	names (Using xs)    = xs
+	names (Hiding xs)   = xs
+
+-- | Breaks up a string into substrings. Returns every maximal
+-- subsequence of zero or more characters distinct from @'.'@.
+--
+-- > splitOnDots ""         == [""]
+-- > splitOnDots "foo.bar"  == ["foo", "bar"]
+-- > splitOnDots ".foo.bar" == ["", "foo", "bar"]
+-- > splitOnDots "foo.bar." == ["foo", "bar", ""]
+-- > splitOnDots "foo..bar" == ["foo", "", "bar"]
+splitOnDots :: String -> [String]
+splitOnDots ""        = [""]
+splitOnDots ('.' : s) = [] : splitOnDots s
+splitOnDots (c   : s) = case splitOnDots s of
+  p : ps -> (c : p) : ps
+
+prop_splitOnDots = and
+  [ splitOnDots ""         == [""]
+  , splitOnDots "foo.bar"  == ["foo", "bar"]
+  , splitOnDots ".foo.bar" == ["", "foo", "bar"]
+  , splitOnDots "foo.bar." == ["foo", "bar", ""]
+  , splitOnDots "foo..bar" == ["foo", "", "bar"]
+  ]
+
+-- | Returns 'True' iff the name is a valid Haskell (hierarchical)
+-- module name.
+validHaskellModuleName :: String -> Bool
+validHaskellModuleName = all ok . splitOnDots
+  where
+  -- Checks if a dot-less module name is well-formed.
+  ok :: String -> Bool
+  ok []      = False
+  ok (c : s) =
+    isUpper c &&
+    all (\c -> isLower c || c == '_' ||
+               isUpper c ||
+               generalCategory c == DecimalNumber ||
+               c == '\'')
+        s
+
+{--------------------------------------------------------------------------
+    Patterns
+ --------------------------------------------------------------------------}
+
+-- | Turn an expression into a left hand side.
+exprToLHS :: Expr -> Parser ([Expr] -> [Expr] -> LHS)
+exprToLHS e = case e of
+  WithApp r e es -> LHS <$> exprToPattern e <*> mapM exprToPattern es
+  _		 -> LHS <$> exprToPattern e <*> return []
+
+-- | Turn an expression into a pattern. Fails if the expression is not a
+--   valid pattern.
+exprToPattern :: Expr -> Parser Pattern
+exprToPattern e =
+    case e of
+	Ident x			-> return $ IdentP x
+	App _ e1 e2		-> AppP <$> exprToPattern e1
+					<*> T.mapM (T.mapM exprToPattern) e2
+	Paren r e		-> ParenP r
+					<$> exprToPattern e
+	Underscore r _		-> return $ WildP r
+	Absurd r		-> return $ AbsurdP r
+	As r x e		-> AsP r x <$> exprToPattern e
+	Dot r (HiddenArg _ e)	-> return $ HiddenP r $ fmap (DotP r) e
+	Dot r e			-> return $ DotP r e
+	Lit l			-> return $ LitP l
+	HiddenArg r e		-> HiddenP r <$> T.mapM exprToPattern e
+	RawApp r es		-> RawAppP r <$> mapM exprToPattern es
+	OpApp r x es		-> OpAppP r x <$> mapM exprToPattern es
+	_			->
+          let Just pos = rStart $ getRange e in
+          parseErrorAt pos $ "Not a valid pattern: " ++ show e
+
+{--------------------------------------------------------------------------
+    Tests
+ --------------------------------------------------------------------------}
+
+-- | Test suite.
+tests :: IO Bool
+tests = runTests "Agda.Syntax.Parser.Parser"
+  [ quickCheck' prop_splitOnDots
+  ]
+{-# LINE 1 "templates/GenericTemplate.hs" #-}
+{-# LINE 1 "templates/GenericTemplate.hs" #-}
+{-# LINE 1 "<built-in>" #-}
+{-# LINE 1 "<command-line>" #-}
+{-# LINE 1 "templates/GenericTemplate.hs" #-}
+-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp 
+
+{-# LINE 30 "templates/GenericTemplate.hs" #-}
+
+
+data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList
+
+
+
+
+
+{-# LINE 51 "templates/GenericTemplate.hs" #-}
+
+{-# LINE 61 "templates/GenericTemplate.hs" #-}
+
+{-# LINE 70 "templates/GenericTemplate.hs" #-}
+
+infixr 9 `HappyStk`
+data HappyStk a = HappyStk a (HappyStk a)
+
+-----------------------------------------------------------------------------
+-- starting the parse
+
+happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll
+
+-----------------------------------------------------------------------------
+-- Accepting the parse
+
+-- If the current token is 0#, it means we've just accepted a partial
+-- parse (a %partial parser).  We must ignore the saved token on the top of
+-- the stack in this case.
+happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =
+	happyReturn1 ans
+happyAccept j tk st sts (HappyStk ans _) = 
+	(happyTcHack j (happyTcHack st)) (happyReturn1 ans)
+
+-----------------------------------------------------------------------------
+-- Arrays only: do the next action
+
+
+
+happyDoAction i tk st
+	= {- nothing -}
+
+
+	  case action of
+		0#		  -> {- nothing -}
+				     happyFail i tk st
+		-1# 	  -> {- nothing -}
+				     happyAccept i tk st
+		n | (n Happy_GHC_Exts.<# (0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}
+
+				     (happyReduceArr Happy_Data_Array.! rule) i tk st
+				     where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))
+		n		  -> {- nothing -}
+
+
+				     happyShift new_state i tk st
+				     where !(new_state) = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))
+   where !(off)    = indexShortOffAddr happyActOffsets st
+         !(off_i)  = (off Happy_GHC_Exts.+# i)
+	 check  = if (off_i Happy_GHC_Exts.>=# (0# :: Happy_GHC_Exts.Int#))
+			then (indexShortOffAddr happyCheck off_i Happy_GHC_Exts.==#  i)
+			else False
+         !(action)
+          | check     = indexShortOffAddr happyTable off_i
+          | otherwise = indexShortOffAddr happyDefActions st
+
+{-# LINE 130 "templates/GenericTemplate.hs" #-}
+
+
+indexShortOffAddr (HappyA# arr) off =
+	Happy_GHC_Exts.narrow16Int# i
+  where
+	!i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)
+	!high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))
+	!low  = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))
+	!off' = off Happy_GHC_Exts.*# 2#
+
+
+
+
+
+data HappyAddr = HappyA# Happy_GHC_Exts.Addr#
+
+
+
+
+-----------------------------------------------------------------------------
+-- HappyState data type (not arrays)
+
+{-# LINE 163 "templates/GenericTemplate.hs" #-}
+
+-----------------------------------------------------------------------------
+-- Shifting a token
+
+happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =
+     let !(i) = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
+--     trace "shifting the error token" $
+     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)
+
+happyShift new_state i tk st sts stk =
+     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)
+
+-- happyReduce is specialised for the common cases.
+
+happySpecReduce_0 i fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happySpecReduce_0 nt fn j tk st@((action)) sts stk
+     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)
+
+happySpecReduce_1 i fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')
+     = let r = fn v1 in
+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
+
+happySpecReduce_2 i fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')
+     = let r = fn v1 v2 in
+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
+
+happySpecReduce_3 i fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
+     = let r = fn v1 v2 v3 in
+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
+
+happyReduce k i fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happyReduce k nt fn j tk st sts stk
+     = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of
+	 sts1@((HappyCons (st1@(action)) (_))) ->
+        	let r = fn stk in  -- it doesn't hurt to always seq here...
+       		happyDoSeq r (happyGoto nt j tk st1 sts1 r)
+
+happyMonadReduce k nt fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happyMonadReduce k nt fn j tk st sts stk =
+        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))
+       where !(sts1@((HappyCons (st1@(action)) (_)))) = happyDrop k (HappyCons (st) (sts))
+             drop_stk = happyDropStk k stk
+
+happyMonad2Reduce k nt fn 0# tk st sts stk
+     = happyFail 0# tk st sts stk
+happyMonad2Reduce k nt fn j tk st sts stk =
+       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))
+       where !(sts1@((HappyCons (st1@(action)) (_)))) = happyDrop k (HappyCons (st) (sts))
+             drop_stk = happyDropStk k stk
+
+             !(off) = indexShortOffAddr happyGotoOffsets st1
+             !(off_i) = (off Happy_GHC_Exts.+# nt)
+             !(new_state) = indexShortOffAddr happyTable off_i
+
+
+
+
+happyDrop 0# l = l
+happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t
+
+happyDropStk 0# l = l
+happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs
+
+-----------------------------------------------------------------------------
+-- Moving to a new state after a reduction
+
+
+happyGoto nt j tk st = 
+   {- nothing -}
+   happyDoAction j tk new_state
+   where !(off) = indexShortOffAddr happyGotoOffsets st
+         !(off_i) = (off Happy_GHC_Exts.+# nt)
+         !(new_state) = indexShortOffAddr happyTable off_i
+
+
+
+
+-----------------------------------------------------------------------------
+-- Error recovery (0# is the error token)
+
+-- parse error if we are in recovery and we fail again
+happyFail  0# tk old_st _ stk =
+--	trace "failing" $ 
+    	happyError_ tk
+
+{-  We don't need state discarding for our restricted implementation of
+    "error".  In fact, it can cause some bogus parses, so I've disabled it
+    for now --SDM
+
+-- discard a state
+happyFail  0# tk old_st (HappyCons ((action)) (sts)) 
+						(saved_tok `HappyStk` _ `HappyStk` stk) =
+--	trace ("discarding state, depth " ++ show (length stk))  $
+	happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))
+-}
+
+-- Enter error recovery: generate an error token,
+--                       save the old token and carry on.
+happyFail  i tk (action) sts stk =
+--      trace "entering error recovery" $
+	happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)
+
+-- Internal happy errors:
+
+notHappyAtAll = error "Internal Happy error\n"
+
+-----------------------------------------------------------------------------
+-- Hack to get the typechecker to accept our action functions
+
+
+happyTcHack :: Happy_GHC_Exts.Int# -> a -> a
 happyTcHack x y = y
 {-# INLINE happyTcHack #-}
 
diff --git a/doc/release-notes/2-2-10.txt b/doc/release-notes/2-2-10.txt
new file mode 100644
--- /dev/null
+++ b/doc/release-notes/2-2-10.txt
@@ -0,0 +1,214 @@
+------------------------------------------------------------------------
+-- Release notes for Agda 2 version 2.2.10
+------------------------------------------------------------------------
+
+Important changes since 2.2.8:
+
+Language
+--------
+
+* New flag: --without-K.
+
+  This flag makes pattern matching more restricted. If the flag is
+  activated, then Agda only accepts certain case-splits. If the type
+  of the variable to be split is D pars ixs, where D is a data (or
+  record) type, pars stands for the parameters, and ixs the indices,
+  then the following requirements must be satisfied:
+
+  * The indices ixs must be applications of constructors to distinct
+    variables.
+
+  * These variables must not be free in pars.
+
+  The intended purpose of --without-K is to enable experiments with a
+  propositional equality without the K rule. Let us define
+  propositional equality as follows:
+
+    data _≡_ {A : Set} : A → A → Set where
+      refl : ∀ x → x ≡ x
+
+  Then the obvious implementation of the J rule is accepted:
+
+    J : {A : Set} (P : {x y : A} → x ≡ y → Set) →
+        (∀ x → P (refl x)) →
+        ∀ {x y} (x≡y : x ≡ y) → P x≡y
+    J P p (refl x) = p x
+
+  The same applies to Christine Paulin-Mohring's version of the J rule:
+
+    J′ : {A : Set} {x : A} (P : {y : A} → x ≡ y → Set) →
+         P (refl x) →
+         ∀ {y} (x≡y : x ≡ y) → P x≡y
+    J′ P p (refl x) = p
+
+  On the other hand, the obvious implementation of the K rule is not
+  accepted:
+
+    K : {A : Set} (P : {x : A} → x ≡ x → Set) →
+        (∀ x → P (refl x)) →
+        ∀ {x} (x≡x : x ≡ x) → P x≡x
+    K P p (refl x) = p x
+
+  However, we have /not/ proved that activation of --without-K ensures
+  that the K rule cannot be proved in some other way.
+
+* Irrelevant declarations.
+
+  Postulates and functions can be marked as irrelevant by prefixing
+  the name with a dot when the name is declared. Example:
+
+    postulate
+      .irrelevant : {A : Set} → .A → A
+
+  Irrelevant names may only be used in irrelevant positions or in
+  definitions of things which have been declared irrelevant.
+
+  The axiom irrelevant above can be used to define a projection from
+  an irrelevant record field:
+
+    data Subset (A : Set) (P : A → Set) : Set where
+      _#_ : (a : A) → .(P a) → Subset A P
+
+    elem : ∀ {A P} → Subset A P → A
+    elem (a # p) = a
+
+    .certificate : ∀ {A P} (x : Subset A P) → P (elem x)
+    certificate (a # p) = irrelevant p
+
+  The right-hand side of certificate is relevant, so we cannot define
+
+    certificate (a # p) = p
+
+  (because p is irrelevant). However, certificate is declared to be
+  irrelevant, so it can use the axiom irrelevant. Furthermore the
+  first argument of the axiom is irrelevant, which means that
+  irrelevant p is well-formed.
+
+  As shown above the axiom irrelevant justifies irrelevant
+  projections. Previously no projections were generated for irrelevant
+  record fields, such as the field certificate in the following
+  record type:
+
+    record Subset (A : Set) (P : A → Set) : Set where
+      constructor _#_
+      field
+        elem         : A
+        .certificate : P elem
+
+  Now projections are generated automatically for irrelevant fields
+  (unless the flag --no-irrelevant-projections is used). Note that
+  irrelevant projections are highly experimental.
+
+* Termination checker recognises projections.
+
+  Projections now preserve sizes, both in patterns and expressions.
+  Example:
+
+    record Wrap (A : Set) : Set where
+      constructor wrap
+      field
+        unwrap : A
+
+    open Wrap public
+
+    data WNat : Set where
+      zero : WNat
+      suc  : Wrap WNat → WNat
+
+    id : WNat → WNat
+    id zero    = zero
+    id (suc w) = suc (wrap (id (unwrap w)))
+
+  In the structural ordering unwrap w ≤ w. This means that
+
+    unwrap w ≤ w < suc w,
+
+  and hence the recursive call to id is accepted.
+
+  Projections also preserve guardedness.
+
+Tools
+-----
+
+* Hyperlinks for top-level module names now point to the start of the
+  module rather than to the declaration of the module name. This
+  applies both to the Emacs mode and to the output of agda --html.
+
+* Most occurrences of record field names are now highlighted as
+  "fields". Previously many occurrences were highlighted as
+  "functions".
+
+* Emacs mode: It is no longer possible to change the behaviour of the
+  TAB key by customising agda2-indentation.
+
+* Epic compiler backend.
+
+  A new compiler backend is being implemented. This backend makes use
+  of Edwin Brady's language Epic
+  (http://www.cs.st-andrews.ac.uk/~eb/epic.php) and its compiler. The
+  backend should handle most Agda code, but is still at an
+  experimental stage: more testing is needed, and some things written
+  below may not be entirely true.
+
+  The Epic compiler can be invoked from the command line using the
+  flag --epic:
+
+    agda --epic --epic-flag=<EPIC-FLAG> --compile-dir=<DIR> <FILE>.agda
+
+  The --epic-flag flag can be given multiple times; each flag is given
+  verbatim to the Epic compiler (in the given order). The resulting
+  executable is named after the main module and placed in the
+  directory specified by the --compile-dir flag (default: the project
+  root). Intermediate files are placed in a subdirectory called Epic.
+
+  The backend requires that there is a definition named main. This
+  definition should be a value of type IO Unit, but at the moment this
+  is not checked (so it is easy to produce a program which segfaults).
+  Currently the backend represents actions of type IO A as functions
+  from Unit to A, and main is applied to the unit value.
+
+  The Epic compiler compiles via C, not Haskell, so the pragmas
+  related to the Haskell FFI (IMPORT, COMPILED_DATA and COMPILED) are
+  not used by the Epic backend. Instead there is a new pragma
+  COMPILED_EPIC. This pragma is used to give Epic code for postulated
+  definitions (Epic code can in turn call C code). The form of the
+  pragma is {-# COMPILED_EPIC def code #-}, where def is the name of
+  an Agda postulate and code is some Epic code which should include
+  the function arguments, return type and function body. As an example
+  the IO monad can be defined as follows:
+
+    postulate
+      IO     : Set → Set
+      return : ∀ {A} → A → IO A
+      _>>=_  : ∀ {A B} → IO A → (A → IO B) → IO B
+
+    {-# COMPILED_EPIC return (u : Unit, a : Any) -> Any =
+                        ioreturn(a) #-}
+    {-# COMPILED_EPIC
+          _>>=_ (u1 : Unit, u2 : Unit, x : Any, f : Any) -> Any =
+            iobind(x,f) #-}
+
+  Here ioreturn and iobind are Epic functions which are defined in the
+  file AgdaPrelude.e which is always included.
+
+  By default the backend will remove so-called forced constructor
+  arguments (and case-splitting on forced variables will be
+  rewritten). This optimisation can be disabled by using the flag
+  --no-forcing.
+
+  All data types which look like unary natural numbers after forced
+  constructor arguments have been removed (i.e. types with two
+  constructors, one nullary and one with a single recursive argument)
+  will be represented as "BigInts". This applies to the standard Fin
+  type, for instance.
+
+  The backend supports Agda's primitive functions and the BUILTIN
+  pragmas. If the BUILTIN pragmas for unary natural numbers are used,
+  then some operations, like addition and multiplication, will use
+  more efficient "BigInt" operations.
+
+  If you want to make use of the Epic backend you need to install some
+  dependencies, see the README.
+
+* The Emacs mode can compile using either the MAlonzo or the Epic
+  backend. The variable agda2-backend controls which backend is used.
diff --git a/src/data/EpicInclude/AgdaPrelude.e b/src/data/EpicInclude/AgdaPrelude.e
new file mode 100644
--- /dev/null
+++ b/src/data/EpicInclude/AgdaPrelude.e
@@ -0,0 +1,117 @@
+%include "string.h"
+
+-- IO
+
+%inline putStr (x:String) -> Unit =
+    foreign Unit "putStr" (x:String)
+
+putStrLn (x:String) -> Unit =
+    putStr(append(x,"\n"))
+
+readStr () -> String =
+    foreign String "readStr" ()
+
+intToStr (x:Int) -> String =
+    foreign String "intToStr" (x:Int)
+
+strToInt (x:String) -> Int =
+    foreign String "strToInt" (x:String)
+
+printInt (x:Int) -> Unit =
+    foreign Unit "printInt" (x:Int)
+
+ioreturn (a : Any, u : Unit) -> Any = a
+iobind (x : Any, f : Any, u : Unit) -> Any = f (x (u), u)
+
+-- String operations
+
+append (x:String, y:String) -> String =
+    foreign String "append" (x:String, y:String)
+
+length (x:String) -> String =
+    foreign Int "strlen" (x:String)
+
+index (x:String, i:Int) -> Char =
+    foreign Int "strIndex" (x:String, i:Int)
+
+-- Big number arithmetic
+
+subBig (x:BigInt, y:BigInt) -> BigInt =
+   foreign BigInt "subBigInt" (x:BigInt, y:BigInt)
+
+gtBig (x:BigInt, y:BigInt) -> Bool =
+   foreign Int "gtBigInt" (x:BigInt, y:BigInt)
+
+leBig (x:BigInt, y:BigInt) -> Bool =
+   foreign Int "leBigInt" (x:BigInt, y:BigInt)
+
+geBig (x:BigInt, y:BigInt) -> Bool =
+   foreign Int "geBigInt" (x:BigInt, y:BigInt)
+
+printBig (x:BigInt) -> Unit =
+   foreign Unit "printBigInt" (x:BigInt)
+
+bigIntToStr (x:BigInt) -> String =
+    foreign String "bigIntToStr" (x:BigInt)
+
+strToBigInt (x:String) -> Int =
+    foreign String "strToBigInt" (x:String)
+
+-- Unit
+
+%inline primUnit() -> Unit = unit
+
+-- Nats
+
+primNatPlus (x:BigInt, y:BigInt) -> BigInt =
+   foreign BigInt "addBigInt" (x:BigInt, y:BigInt)
+
+primNatTimes (x:BigInt, y:BigInt) -> BigInt =
+   foreign BigInt "mulBigInt" (x:BigInt, y:BigInt)
+
+primZero() -> BigInt = 0L
+
+primSuc (n : BigInt) -> BigInt = primNatPlus(n, 1L)
+
+primPred(n : BigInt) -> BigInt = subBig(n, 1L)
+
+%inline absBig (x : BigInt) -> BigInt = 
+  if primNatLess(x, primZero) 
+     then primZero
+     else x
+
+%inline primNatMinus(x : BigInt, y : BigInt) -> BigInt = absBig(subBig(x, y))
+
+-- readInt () -> Int = foreign Int "readInt" ()
+
+primNatEquality (x:BigInt, y:BigInt) -> Bool =
+    foreign Int "eqBigInt" (x:BigInt, y:BigInt)
+
+primNatLess (x:BigInt, y:BigInt) -> Bool =
+    foreign Int "ltBigInt" (x:BigInt, y:BigInt)
+
+-- Strings
+
+-- Cannot call foreign "append" directly, for some reason
+%inline primStringAppend (x : String, y : String) -> String = append(x, y)
+
+primStringEquality (x : String, y : String) -> Bool =
+    foreign Int "eqString" (x : String, y : String)
+
+-- Bools
+
+%inline primTrue  () -> Bool = true
+
+%inline primFalse () -> Bool = false
+
+-- Chars
+
+printChar (x:Int) -> Unit =
+    foreign Unit "printCharRep" (x:Int)
+
+init () -> Unit =
+    foreign Unit "init" ()
+
+-- Coinduction
+
+primSharp (u1 : Any, u2 : Any, x : Any) -> Data = Con 0 (x)
diff --git a/src/data/EpicInclude/stdagda.c b/src/data/EpicInclude/stdagda.c
new file mode 100644
--- /dev/null
+++ b/src/data/EpicInclude/stdagda.c
@@ -0,0 +1,44 @@
+#include "stdagda.h"
+#include <stdlib.h>
+#include <unistd.h>
+#include <gmp.h>
+#include <string.h>
+#include <sys/time.h>
+#include <locale.h>
+//#include "closure.h"
+#include "stdfuns.h"
+
+#define _UNICODE
+#define UNICODE
+
+int eqString(char *x, char *y) {
+    return strcmp(x, y) == 0;
+}
+
+void init(void) {
+  setlocale(LC_CTYPE, "");
+}
+
+void printCharRep(int c) {
+
+  wprintf(L"%lc", c);
+}
+
+int bigToInt(mpz_t* n) {
+  return (int) mpz_get_si(*n);
+}
+
+mpz_t* intToBig(int n) {
+  mpz_t* answer = EMALLOC(sizeof(mpz_t));
+  mpz_init(*answer);
+  mpz_set_si(*answer, (signed long int)n);
+  return answer; 
+} 
+
+VAL getArgBig(mpz_t* num) {
+  return evm_getArg(bigToInt(num));
+}
+
+mpz_t* numArgsBig(void) { 
+  return intToBig(epic_numArgs());
+}
diff --git a/src/data/EpicInclude/stdagda.h b/src/data/EpicInclude/stdagda.h
new file mode 100644
--- /dev/null
+++ b/src/data/EpicInclude/stdagda.h
@@ -0,0 +1,21 @@
+#ifndef _STDAGDA_H
+#define _STDAGDA_H
+
+# ifndef WIN32
+#  include <pthread.h>
+#  define GC_THREADS
+# else
+#  define GC_WIN32_THREADS
+# endif
+
+#include <gc/gc.h>
+#include <gmp.h>
+#include <stdio.h>
+void init(void);
+int eqString(char *x, char *y);
+void printCharRep(int c);
+
+char* getArgv(mpz_t* n);
+mpz_t* getArgc(void);
+
+#endif
diff --git a/src/data/emacs-mode/agda2-mode.el b/src/data/emacs-mode/agda2-mode.el
--- a/src/data/emacs-mode/agda2-mode.el
+++ b/src/data/emacs-mode/agda2-mode.el
@@ -10,12 +10,12 @@
 
 ;;; Code:
 
-(defvar agda2-version "2.2.8"
+(defvar agda2-version "2.2.10"
   "The version of the Agda mode.
 Note that, by default, the same version of the underlying Haskell
 library is used (see `agda2-ghci-options').")
 
-(require 'cl) ;  haskell-indent requires it anyway.
+(require 'cl)
 (set (make-local-variable 'lisp-indent-function)
      'common-lisp-indent-function)
 (require 'comint)
@@ -25,7 +25,6 @@
 (require 'agda-input)
 (require 'agda2-highlight)
 (require 'agda2-abbrevs)
-(require 'haskell-indent)
 (require 'haskell-ghci)
 ;; due to a bug in haskell-mode-2.1
 (setq haskell-ghci-mode-map (copy-keymap comint-mode-map))
@@ -86,6 +85,13 @@
   :type '(repeat directory)
   :group 'agda2)
 
+(defcustom agda2-backend
+  "MAlonzo"
+  "The backend which is used to compile Agda programs."
+  :type '(choice (const "MAlonzo")
+                 (const "Epic"))
+  :group 'agda2)
+
 (defcustom agda2-ghci-options
   (list (concat "-package Agda-" agda2-version))
   "Options set in GHCi before loading `agda2-toplevel-module'.
@@ -102,14 +108,6 @@
   "Hooks for `agda2-mode'."
   :type 'hook :group 'agda2)
 
-(defcustom agda2-indentation
-  'eri
-  "*The kind of indentation used in `agda2-mode'."
-  :type '(choice (const :tag "Haskell" haskell)
-                 (const :tag "Extended relative" eri)
-                 (const :tag "None" nil))
-  :group 'agda2)
-
 (defcustom agda2-information-window-max-height
   0.35
   "*The maximum height of the information window.
@@ -247,10 +245,10 @@
     (agda2-goal-and-context-and-inferred     ,(kbd "C-c C-.")   (local)        "Goal type, context and inferred type")
     (agda2-module-contents-maybe-toplevel    ,(kbd "C-c C-o")   (local global) "Module contents")
     (agda2-compute-normalised-maybe-toplevel "\C-c\C-n"         (local global) "Evaluate term to normal form")
-    (agda2-indent                ,(kbd "TAB"))
-    (agda2-indent-reverse        [S-iso-lefttab])
-    (agda2-indent-reverse        [S-lefttab])
-    (agda2-indent-reverse        [S-tab])
+    (eri-indent                  ,(kbd "TAB"))
+    (eri-indent-reverse          [S-iso-lefttab])
+    (eri-indent-reverse          [S-lefttab])
+    (eri-indent-reverse          [S-tab])
     (agda2-goto-definition-mouse [mouse-2])
     (agda2-goto-definition-keyboard "\M-.")
     (agda2-go-back                  "\M-*")
@@ -356,7 +354,6 @@
      (condition-case nil
          (set-frame-font agda2-fontset-name)
        (error (error "Unable to change the font; change agda2-fontset-name or tweak agda2-fontset-spec-of-fontset-agda2"))))
- (agda2-indent-setup)
  ;; If GHCi is not running syntax highlighting does not work properly.
  (unless (eq 'run (agda2-process-status))
    (agda2-restart))
@@ -380,7 +377,14 @@
   (interactive)
   (save-excursion (let ((agda2-bufname "*ghci*")
                         (ignore-dot-ghci "-ignore-dot-ghci"))
-                    (agda2-protect (kill-buffer agda2-bufname))
+                    (agda2-protect
+                      (progn
+                        ;; GHCi doesn't always die when its buffer is
+                        ;; killed, so GHCi is killed before the buffer
+                        ;; is.
+                        (set-buffer agda2-bufname)
+                        (agda2-protect (comint-kill-subjob))
+                        (kill-buffer agda2-bufname)))
                     ;; Make sure that the user's .ghci is not read.
                     ;; Users can override this by adding
                     ;; "-read-dot-ghci" to
@@ -455,14 +459,14 @@
           (delete-file tempfile))))
     response))
 
-(defun agda2-go (highlight &rest args)
+(defun agda2-go (responses-expected highlight &rest args)
   "Executes commands in GHCi.
 Sends the list of strings ARGS to GHCi, waits for output and
-executes the responses, if any. An error is raised if no
-responses are received, and otherwise the syntax highlighting
-information is reloaded (unless HIGHLIGHT is nil; if HIGHLIGHT is
-a string, then highlighting info is read from the corresponding
-file)."
+executes the responses, if any. If no responses are received, and
+RESPONSES-EXPECTED is non-nil, then an error is raised; otherwise
+the syntax highlighting information is reloaded (unless HIGHLIGHT
+is nil; if HIGHLIGHT is a string, then highlighting info is read
+from the corresponding file)."
   (let* ((highlighting-temp (and highlight (not (stringp highlight))))
          (highlighting (cond ((stringp highlight) highlight)
                              (highlighting-temp (make-temp-file "agda2-mode")))))
@@ -479,7 +483,8 @@
                              "Nothing")
                            "("
                            (append args '(")"))))))
-                (when (null responses) (agda2-raise-ghci-error))
+                (when (and responses-expected (null responses))
+                  (agda2-raise-ghci-error))
                 (if highlight (agda2-highlight-load highlighting))
                 (agda2-exec-responses responses))
           (if highlighting-temp (delete-file highlighting)))))
@@ -518,7 +523,7 @@
                   (or ask (string-match "\\`\\s *\\'" txt)))
              (setq txt (read-string (concat want ": ") nil nil txt t)))
             (t (setq input-from-goal t)))
-      (apply 'agda2-go nil cmd
+      (apply 'agda2-go t nil cmd
              (format "%d" g)
              (if input-from-goal (agda2-goal-Range o) "noRange")
              (agda2-string-quote txt) args))))
@@ -557,15 +562,18 @@
 (defun agda2-load ()
   "Load current buffer."
   (interactive)
-  (agda2-go t "cmd_load"
+  (agda2-go t t "cmd_load"
             (agda2-string-quote (buffer-file-name))
             (agda2-list-quote agda2-include-dirs)
             ))
 
 (defun agda2-compile ()
-  "Compile the current module."
+  "Compile the current module.
+
+The variable `agda2-backend' determines which backend is used."
   (interactive)
-  (agda2-go t "cmd_compile"
+  (agda2-go t t "cmd_compile"
+            agda2-backend
             (agda2-string-quote (buffer-file-name))
             (agda2-list-quote agda2-include-dirs)
             ))
@@ -644,11 +652,11 @@
 
 (defun agda2-show-goals()
   "Show all goals." (interactive)
-  (agda2-go t "cmd_metas"))
+  (agda2-go t t "cmd_metas"))
 
 (defun agda2-show-constraints()
   "Show constraints." (interactive)
-  (agda2-go t "cmd_constraints"))
+  (agda2-go t t "cmd_constraints"))
 
 (defun agda2-remove-annotations ()
   "Removes buffer annotations (overlays and text properties)."
@@ -699,7 +707,7 @@
 COMMENT is used to build the function's comments. The function
 NAME takes a prefix argument which tells whether it should
 normalise types or not when running CMD (through
-`agda2-go' nil; the string PROMPT is used as the goal command
+`agda2-go' t nil; the string PROMPT is used as the goal command
 prompt)."
   (let ((eval (make-symbol "eval")))
     `(defun ,name (not-normalise expr)
@@ -708,7 +716,7 @@
 With a prefix argument the result is not explicitly normalised.")
        (interactive ,(concat "P\nM" prompt ": "))
        (let ((,eval (if not-normalise "Instantiated" "Normalised")))
-         (agda2-go nil
+         (agda2-go t nil
                    (concat ,cmd " Agda.Interaction.BasicOps." ,eval " "
                            (agda2-string-quote expr)))))))
 
@@ -769,7 +777,7 @@
   "Shows all the top-level names in the given module.
 Along with their types."
   (interactive "MModule name: ")
-  (agda2-go nil
+  (agda2-go t nil
             "cmd_show_module_contents_toplevel"
             (agda2-string-quote module)))
 
@@ -787,7 +795,7 @@
 (defun agda2-solveAll ()
   "Solves all goals that are already instantiated internally."
   (interactive)
-  (agda2-go t "cmd_solveAll"))
+  (agda2-go t t "cmd_solveAll"))
 
 (defun agda2-solveAll-action (iss)
   (save-excursion
@@ -814,7 +822,7 @@
   (let ((cmd (concat "cmd_compute_toplevel"
                      (if arg " True" " False")
                      " ")))
-    (agda2-go nil (concat cmd (agda2-string-quote expr)))))
+    (agda2-go t nil (concat cmd (agda2-string-quote expr)))))
 
 (defun agda2-compute-normalised-maybe-toplevel ()
   "Computes the normal form of the given expression,
@@ -835,9 +843,8 @@
   (let ((highlighting (make-temp-file "agda2-mode")))
     (unwind-protect
         (progn
-          (agda2-go highlighting
+          (agda2-go nil highlighting
                     "cmd_write_highlighting_info"
-                    (agda2-list-quote agda2-include-dirs)
                     (agda2-string-quote (buffer-file-name))
                     (agda2-string-quote highlighting)))
       (delete-file highlighting))))
@@ -1060,38 +1067,6 @@
   (goto-char (agda2-decl-beginning)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;;; Indentation
-
-(defun agda2-indent ()
-  "This is what happens when TAB is pressed.
-Depends on the setting of `agda2-indentation'."
-  (interactive)
-  (cond ((eq agda2-indentation 'haskell) (haskell-indent-cycle))
-        ((eq agda2-indentation 'eri) (eri-indent))))
-
-(defun agda2-indent-reverse ()
-  "This is what happens when S-TAB is pressed.
-Depends on the setting of `agda2-indentation'."
-  (interactive)
-  (cond ((eq agda2-indentation 'eri) (eri-indent-reverse))))
-
-(defun agda2-indent-setup ()
-  "Set up and start the indentation subsystem.
-Depends on the setting of `agda2-indentation'."
-  (interactive)
-  (cond ((eq agda2-indentation 'haskell)
-         (labels ((setl (var val) (set (make-local-variable var) val)))
-           (setl 'indent-line-function 'haskell-indent-cycle)
-           (setl 'haskell-indent-off-side-keywords-re
-                 "\\<\\(do\\|let\\|of\\|where\\|sig\\|struct\\)\\>[ \t]*"))
-         (local-set-key "\177"  'backward-delete-char-untabify)
-         (set (make-local-variable 'haskell-literate)
-              (if (string-match "\\.lagda$" (buffer-file-name))
-                  'latex))
-         (setq haskell-indent-mode t)
-         (run-hooks 'haskell-indent-hook))))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Comments and paragraphs
 
 (defun agda2-comments-and-paragraphs-setup nil
@@ -1159,10 +1134,10 @@
 With prefix argument, turn on display of implicit arguments if
 the argument is a positive number, otherwise turn it off."
   (interactive "P")
-  (cond ((eq arg nil)       (agda2-go t "toggleImplicitArgs"))
+  (cond ((eq arg nil)       (agda2-go t t "toggleImplicitArgs"))
         ((and (numberp arg)
-              (> arg 0))    (agda2-go t "showImplicitArgs" "True"))
-        (t                  (agda2-go t "showImplicitArgs" "False"))))
+              (> arg 0))    (agda2-go t t "showImplicitArgs" "True"))
+        (t                  (agda2-go t t "showImplicitArgs" "False"))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;
diff --git a/src/data/emacs-mode/annotation.el b/src/data/emacs-mode/annotation.el
--- a/src/data/emacs-mode/annotation.el
+++ b/src/data/emacs-mode/annotation.el
@@ -1,7 +1,7 @@
 ;;; annotation.el --- Functions for annotating text with faces and help bubbles
 
 ;;; Commentary:
-;; 
+;;
 
 ;;; Code:
 (require 'cl)
diff --git a/src/data/emacs-mode/eri.el b/src/data/emacs-mode/eri.el
--- a/src/data/emacs-mode/eri.el
+++ b/src/data/emacs-mode/eri.el
@@ -7,7 +7,7 @@
 (require 'cl)
 
 (defun eri-current-line-length nil
-  "Calculates length of current line."
+  "Calculate length of current line."
   (- (line-end-position) (line-beginning-position)))
 
 (defun eri-current-line-empty nil
@@ -16,7 +16,8 @@
          (eri-current-line-length)))
 
 (defun eri-maximum (xs)
-  "Calculate maximum element in XS.  Return nil if the list is empty."
+  "Calculate maximum element in XS.
+Returns nil if the list is empty."
   (if xs (apply 'max xs)))
 
 (defun eri-take (n xs)
@@ -25,17 +26,18 @@
 
 (defun eri-split (x xs)
   "Return a pair of lists (XS1 . XS2).
-If XS is sorted, then XS = (append XS1 XS2), and all elements in XS1 are <= X,
-whereas all elements in XS2 are > X."
+If XS is sorted, then XS = (append XS1 XS2), and all elements in
+XS1 are <= X, whereas all elements in XS2 are > X."
   (let* ((pos (or (position-if (lambda (y) (> y x)) xs) (length xs)))
          (xs1 (eri-take pos xs))
          (xs2 (nthcdr pos xs)))
-    `(,xs1 . ,xs2)))
+    (cons xs1 xs2)))
 
 (defun eri-calculate-indentation-points-on-line (max)
   "Calculate indentation points on current line.
-Only points left of column number MAX are included.
-If MAX is nil, then all points are included.  Return points in ascending order.
+Only points left of column number MAX are included. If MAX is
+nil, then all points are included. Points are returned in
+ascending order.
 
 Example (positions marked with ^ are returned):
 
@@ -44,50 +46,63 @@
                        |
                        MAX"
   (let ((result))
-    (save-restriction
-      (beginning-of-line)
-      ; To make \\` work in the regexp below:
-      (narrow-to-region (line-beginning-position) (line-end-position))
+    (save-excursion
+      (save-restriction
+        (beginning-of-line)
+        ; To make \\` work in the regexp below:
+        (narrow-to-region (line-beginning-position) (line-end-position))
+        (while
+            (progn
+              (let ((pos (and (search-forward-regexp
+                               "\\(?:\\s-\\|\\`\\)\\(\\S-\\)" nil t)
+                              (match-beginning 1))))
+                (when (not (null pos))
+                  (let ((pos1 (- pos (line-beginning-position))))
+                    (when (or (null max) (< pos1 max))
+                      (add-to-list 'result pos1))))
+                (and pos
+                     (< (point) (line-end-position))
+                     (or (null max) (< (current-column) max))))))
+        (nreverse result) ; Destructive operation.
+        ))))
+
+(defun eri-new-indentation-points ()
+  "Calculate new indentation points.
+Returns a singleton list containing the column number two steps
+in from the indentation of the first non-empty line (white space
+excluded) above the current line. If there is no such line,
+then the empty list is returned."
+  (let ((start (line-beginning-position)))
+    (save-excursion
+      ; Find a non-empty line above the current one, if any.
       (while
           (progn
-            (let ((pos (and (search-forward-regexp
-                             "\\(?:\\s-\\|\\`\\)\\(\\S-\\)" nil t)
-                            (match-beginning 1))))
-              (when (not (null pos))
-                (let ((pos1 (- pos (line-beginning-position))))
-                  (when (or (null max) (< pos1 max))
-                    (add-to-list 'result pos1))))
-              (and pos
-                   (< (point) (line-end-position))
-                   (or (null max) (< (current-column) max))))))
-      (nreverse result) ; Destructive operation.
-      )))
-
-(defun eri-new-indentation-point ()
-  "Calculate a new indentation point, two steps in from the
-indentation of the first non-empty line above the current line.
-If there is no such line 2 is returned."
-  (save-excursion
-    (while
-        (progn
-          (forward-line -1)
-          (not (or (bobp)
-                   (not (eri-current-line-empty))))))
-    (+ 2 (current-indentation))))
+            (forward-line -1)
+            (not (or (bobp)
+                     (not (eri-current-line-empty))))))
+      (if (or (equal (point) start)
+              (eri-current-line-empty))
+          nil
+        (list (+ 2 (current-indentation)))))))
 
 (defun eri-calculate-indentation-points (reverse)
-  "Calculate some indentation points.  Gives them in reverse order if
-REVERSE is non-nil.  See `eri-indent' for a description of how
-the indentation points are calculated."
+  "Calculate points used to indent the current line.
+The points are given in reverse order if REVERSE is non-nil. See
+`eri-indent' for a description of how the indentation points are
+calculated; note that the current indentation is not included in
+the returned list."
   ;; First find a bunch of indentations used above the current line.
   (let ((points)
-        (max))
+        (max)
+        (start (line-beginning-position)))
     (save-excursion
       (while
           (progn
             (forward-line -1)
-            ; Skip lines with only white space.
-            (unless (eri-current-line-empty)
+            ; Skip the line we started from and lines with nothing but
+            ; white space.
+            (unless (or (equal (point) start)
+                        (eri-current-line-empty))
               (setq points
                     (append
                      (eri-calculate-indentation-points-on-line max)
@@ -98,23 +113,25 @@
             (not (or (bobp)
                      (and (equal (current-indentation) 0)
                           (> (eri-current-line-length) 0)))))))
-    ;; Add a new indentation point. Sort the indentations.
-    ;; Rearrange the points so that the next point is the one after the
-    ;; current one.
-    (let* ((ps (add-to-list 'points (eri-new-indentation-point)))
-           (ps1 (sort ps '<)) ; Note: sort is destructive.
-           (ps2 (eri-split (current-indentation)
-                           (remove (current-indentation) ps1))))
+    ;; Add new indentation points, but remove the current indentation.
+    ;; Sort the indentations. Rearrange the points so that the next
+    ;; point is the one after the current one. Reverse if necessary.
+    ;;
+    ;; Note: sort and nreverse are destructive.
+    (let* ((ps0 (remove (current-indentation)
+                        (append (eri-new-indentation-points) points)))
+           (ps1 (eri-split (current-indentation) (sort ps0 '<)))
+           (ps2 (append (cdr ps1) (car ps1))))
       (if reverse
-          (append (nreverse (car ps2)) (nreverse (cdr ps2)))
-        (append (cdr ps2) (car ps2))))))
+          (nreverse ps2)
+        ps2))))
 
 (defun eri-indent (&optional reverse)
   "Cycle between some possible indentation points.
 With prefix argument REVERSE, cycle in reverse order.
 
-Assume that a file contains the following lines of code, with point on
-the line with three dots:
+Assume that a file contains the following lines of code, with
+point on the line with three dots:
 
 frob = loooooooooooooooooooooooooong identifier
 foo = f a b
@@ -126,19 +143,21 @@
 
 ^ ^ ^ ^    ^  ^ ^ ^   ^ * ^ ^ ^ ^
 
-Then the ^'s and the * mark the indentation points that this function
-cycles through.  The indentation points are selected as follows:
+Then the ^'s and the * mark the indentation points that this
+function cycles through. The indentation points are selected as
+follows:
 
-  * All lines before the current one, up to and including the first
-    non-indented line (or the beginning of the buffer) are considered.
+  * All lines before the current one, up to and including the
+    first non-indented line (or the beginning of the buffer) are
+    considered.
 
       foo = f a b
         where
           f (Foo x) y = let bar = x
                             baz = 3 + 5
 
-  * On these lines, erase all characters that stand to the right of
-    some non-white space character on a lower line.
+  * On these lines, erase all characters that stand to the right
+    of some non-white space character on a lower line.
 
       foo
         whe
@@ -153,14 +172,15 @@
           f (    x  y = l   b
                             b   = 3 + 5
 
-  * The columns of all remaining characters are indentation points.
+  * The columns of all remaining characters are indentation
+    points.
 
       f w f (    x  y = l   b   = 3 + 5
       ^ ^ ^ ^    ^  ^ ^ ^   ^   ^ ^ ^ ^
 
   * A new indentation point is also added, two steps in from the
-    indentation of the first non-empty line above the current line
-    (or in the second column, if there is no such line).
+    indentation of the first non-empty line (white space
+    excluded) above the current line (if there is such a line).
 
       f w f (    x  y = l   b   = 3 + 5
       ^ ^ ^ ^    ^  ^ ^ ^   ^ * ^ ^ ^ ^"
@@ -177,8 +197,8 @@
 
 (defun eri-indent-reverse nil
   "Cycle between some possible indentation points (in reverse order).
-See `eri-indent' for a description of how the indentation points are
-calculated."
+See `eri-indent' for a description of how the indentation points
+are calculated."
   (interactive)
   (eri-indent t))
 
diff --git a/src/full/Agda/Auto/Auto.hs b/src/full/Agda/Auto/Auto.hs
--- a/src/full/Agda/Auto/Auto.hs
+++ b/src/full/Agda/Auto/Auto.hs
@@ -15,6 +15,7 @@
 import qualified System.Timeout
 import Data.Maybe (catMaybes)
 
+import Agda.Utils.Permutation (permute, takeP)
 import Agda.TypeChecking.Monad.Base
 import Agda.TypeChecking.Monad.MetaVars
 import Agda.TypeChecking.Monad.Context
@@ -320,7 +321,7 @@
                  minfo = getMetaInfo mv
              targettyp <- withMetaInfo minfo $ do
               vs <- getContextArgs
-              let targettype = tt `piApply` vs
+              let targettype = tt `piApply` permute (takeP (fromIntegral $ length vs) $ mvPermutation mv) vs
               normalise targettype
              let tctx = length $ envContext $ clEnv minfo
 
diff --git a/src/full/Agda/Auto/Convert.hs b/src/full/Agda/Auto/Convert.hs
--- a/src/full/Agda/Auto/Convert.hs
+++ b/src/full/Agda/Auto/Convert.hs
@@ -19,9 +19,9 @@
 import qualified Agda.Syntax.Position as SP
 import qualified Agda.TypeChecking.Monad.Base as MB
 import Agda.TypeChecking.Monad.Signature (getConstInfo, getDefFreeVars, getImportedSignature)
-import Agda.Utils.Permutation (Permutation(Perm), idP)
+import Agda.Utils.Permutation (Permutation(Perm), idP, permute, takeP)
 import Agda.Interaction.BasicOps (rewrite, Rewrite(..))
-import Agda.TypeChecking.Monad.Base (mvJudgement, getMetaInfo, ctxEntry, envContext, clEnv, Judgement(HasType))
+import Agda.TypeChecking.Monad.Base (mvJudgement, mvPermutation, getMetaInfo, ctxEntry, envContext, clEnv, Judgement(HasType))
 import Agda.TypeChecking.Monad.MetaVars (lookupMeta, withMetaInfo)
 import Agda.TypeChecking.Monad.Context (getContextArgs)
 import Agda.TypeChecking.Monad.Constraints (lookupConstraint, getConstraints)
@@ -145,7 +145,7 @@
            localVars = map (snd . C.unArg . ctxEntry) . envContext . clEnv $ minfo
        (targettype, localVars) <- lift $ withMetaInfo minfo $ do
         vs <- getContextArgs
-        let targettype = tt `piApply` vs
+        let targettype = tt `piApply` permute (takeP (fromIntegral $ length vs) $ mvPermutation mv) vs
         targettype <- norm targettype
         localVars <- mapM norm localVars
         return (targettype, localVars)
@@ -153,7 +153,7 @@
        typ' <- tomyType targettype
        ctx' <- mapM tomyType localVars
        modify (\s -> s {sCurMeta = Nothing})
-       modify (\s -> s {sMetas = (Map.adjust (\(m, Nothing, deps) -> (m, Just (typ', ctx'), deps)) mi (fst $ sMetas s), snd $ sMetas s)})
+       modify (\s -> s {sMetas = (Map.adjust (\(m, _, deps) -> (m, Just (typ', ctx'), deps)) mi (fst $ sMetas s), snd $ sMetas s)})
        r projfcns
       Nothing -> do
        nxt <- popMapS sEqs (\x y -> y {sEqs = x})
@@ -162,7 +162,7 @@
          let (ineq, e, i) = eqs !! eqi
          e' <- tomyExp e
          i' <- tomyExp i
-         modify (\s -> s {sEqs = (Map.adjust (\Nothing -> Just (ineq, e', i')) eqi (fst $ sEqs s), snd $ sEqs s)})
+         modify (\s -> s {sEqs = (Map.adjust (\_ -> Just (ineq, e', i')) eqi (fst $ sEqs s), snd $ sEqs s)})
          r projfcns
         Nothing ->
          return projfcns
@@ -176,7 +176,13 @@
       return (projfcns' ++ icns', typs')
   ) (S {sConsts = initMapS, sMetas = initMapS, sEqs = initMapS, sCurMeta = Nothing, sMainMeta = imi})
  lift $ liftIO $ mapM_ categorizedecl icns'
- return (icns', typs', Map.map (\(x, Just (y, z), w) -> (x, y, z, w)) (fst (sMetas s)), map (\(Just x) -> x) $ Map.elems (fst (sEqs s)), fst (sConsts s))
+ return (icns', typs', Map.map flatten (fst (sMetas s)), map fromJust $ Map.elems (fst (sEqs s)), fst (sConsts s))
+ where
+ flatten (x, Just (y, z), w) = (x, y, z, w)
+ flatten (x, Nothing, w) = __IMPOSSIBLE__
+
+ fromJust (Just x) = x
+ fromJust Nothing = __IMPOSSIBLE__
 
 getConst :: Bool -> AN.QName -> TMode -> TOM (ConstRef O)
 getConst iscon name mode = do
diff --git a/src/full/Agda/Auto/NarrowingSearch.hs b/src/full/Agda/Auto/NarrowingSearch.hs
--- a/src/full/Agda/Auto/NarrowingSearch.hs
+++ b/src/full/Agda/Auto/NarrowingSearch.hs
@@ -296,7 +296,7 @@
     search depth = do
      pm <- readIORef $ ctpriometa root
      case pm of
-      NoPrio False -> __IMPOSSIBLE__ -- nothing to refine but not done
+      NoPrio False -> return $ Left False -- nothing to refine but not done, this can happen when eq constraints are passed along with main constraint in agdaplugin
       NoPrio True ->
        searchSubProb restprobs depth -- ?? what should depth be
       PrioMeta _ m -> do
diff --git a/src/full/Agda/Auto/Typecheck.hs b/src/full/Agda/Auto/Typecheck.hs
--- a/src/full/Agda/Auto/Typecheck.hs
+++ b/src/full/Agda/Auto/Typecheck.hs
@@ -786,8 +786,7 @@
     (s : ss, ALCons _ a args) -> mpret $ Sidecondition (f s a) (fs ss args)
     ([], ALCons _ a args) -> mpret $ Sidecondition (f EqRSNone a) (fs [] args)
 
-    ([], ALProj eas _ _ as) -> mpret $ Sidecondition (fs [] eas) (fs [] as)
-    ((_:_), ALProj{}) -> __IMPOSSIBLE__
+    (_, ALProj eas _ _ as) -> mpret $ Sidecondition (fs [] eas) (fs [] as) -- when eqr-hint is given manually, ss can be non-empty here
 
 
     (_ : ss, ALConPar args) -> fs ss args
diff --git a/src/full/Agda/Compiler/Epic/AuxAST.hs b/src/full/Agda/Compiler/Epic/AuxAST.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/Compiler/Epic/AuxAST.hs
@@ -0,0 +1,117 @@
+-- | Intermediate abstract syntax tree used in the compiler. Pretty close to
+--   Epic syntax.
+module Agda.Compiler.Epic.AuxAST where
+
+import Data.Set (Set)
+import qualified Data.Set as S
+
+import Agda.Syntax.Abstract.Name
+
+type Var = String
+type Tag = Int
+
+type Comment  = String
+type Inline   = Bool
+
+data Fun
+  = Fun
+      { funInline  :: Inline
+      , funName    :: Var
+      , funComment :: Comment
+      , funArgs    :: [Var]
+      , funExpr    :: Expr
+      }
+  | EpicFun
+      { funName     :: Var
+      , funComment  :: Comment
+      , funEpicCode :: String --EpicCode
+      }
+  deriving (Eq, Ord, Show)
+
+data Lit
+  = LInt    Integer
+  | LChar   Char
+  | LString String
+  | LFloat  Double
+  deriving (Show, Ord, Eq)
+
+data Expr
+  = Var Var
+  | Lit Lit
+  | Lam Var Expr
+  | Con Tag QName [Expr]
+  | App Var [Expr]
+  | Case Expr [Branch]
+  | If Expr Expr Expr
+  | Let Var Expr Expr
+  | Lazy Expr
+  | UNIT
+  | IMPOSSIBLE
+  deriving (Show, Ord, Eq)
+
+data Branch
+  = Branch  {brTag  :: Tag, brName :: QName, brVars :: [Var], brExpr :: Expr}
+  | BrInt   {brInt  :: Int, brExpr :: Expr}
+  | Default {brExpr :: Expr}
+  deriving (Show, Ord, Eq)
+
+-- | Smart constructor for applications to avoid empty applications
+apps :: Var -> [Expr] -> Expr
+apps v [] = Var v
+apps v as = App v as
+
+-- | Substitution
+subst :: Var  -- ^ Substitute this ...
+      -> Var  -- ^ with this ...
+      -> Expr -- ^ in this.
+      -> Expr
+subst var var' expr = case expr of
+    Var v      | var == v  -> Var var'
+               | otherwise -> Var v
+    Lit l -> Lit l
+    Lam v e    | var == v  -> Lam v e
+               | otherwise -> Lam v (subst var var' e)
+    Con t q es -> Con t q (map (subst var var') es)
+    App v es   | var == v  -> App var' (map (subst var var') es)
+               | otherwise -> App v    (map (subst var var') es)
+    Case e brs -> Case (subst var var' e) (map (substBranch var var') brs)
+    If a b c -> let s = subst var var'
+                 in If (s a) (s b) (s c)
+    Let v e e' | var == v  -> Let v (subst var var' e) e'
+               | otherwise -> Let v (subst var var' e) (subst var var' e')
+    Lazy e     -> Lazy (subst var var' e)
+    UNIT       -> UNIT
+    IMPOSSIBLE -> IMPOSSIBLE
+
+substBranch :: Var -> Var -> Branch -> Branch
+substBranch x e br = br { brExpr = subst x e (brExpr br) }
+
+-- | Get the free variables in an expression
+fv :: Expr -> [Var]
+fv = S.toList . fv'
+  where
+    fv' :: Expr -> Set Var
+    fv' expr = case expr of
+      Var v    -> S.singleton v
+      Lit _    -> S.empty
+      Lam v e1 -> S.delete v (fv' e1)
+      Con _ _ es -> S.unions (map fv' es)
+      App v es -> S.insert v $ S.unions (map fv' es)
+      Case e brs -> fv' e `S.union` S.unions (map fvBr brs)
+      If a b c   -> S.unions (map fv' [a,b,c])
+      Let v e e' -> fv' e `S.union` (S.delete v $ fv' e')
+      Lazy e     -> fv' e
+      UNIT       -> S.empty
+      IMPOSSIBLE -> S.empty
+
+    fvBr :: Branch -> Set Var
+    fvBr b = case b of
+      Branch _ _ vs e -> fv' e S.\\ S.fromList vs
+      BrInt _ e       -> fv' e
+      Default e       -> fv' e
+
+-- | Filter a list using a list of Bools specifying what to keep.
+pairwiseFilter :: [Bool] -> [a] -> [a]
+pairwiseFilter (True :bs) (a:as) = a : pairwiseFilter bs as
+pairwiseFilter (False:bs) (_:as) = pairwiseFilter bs as
+pairwiseFilter _           _     = []
diff --git a/src/full/Agda/Compiler/Epic/CompileState.hs b/src/full/Agda/Compiler/Epic/CompileState.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/Compiler/Epic/CompileState.hs
@@ -0,0 +1,134 @@
+{-# LANGUAGE CPP #-}
+
+-- | Contains the state monad that the compiler works in and some functions
+--   for tampering with the state.
+module Agda.Compiler.Epic.CompileState where
+
+import Control.Applicative
+import Control.Monad.State
+import Data.Map(Map)
+import qualified Data.Map as M
+import Data.Maybe
+import Data.Set(Set)
+import qualified Data.Set as S
+
+import Agda.Compiler.Epic.AuxAST
+import Agda.Syntax.Internal
+import Agda.Syntax.Common
+import Agda.TypeChecking.Monad (MonadTCM, internalError, defType, theDef, getConstInfo)
+import qualified Agda.TypeChecking.Monad as M
+import Agda.TypeChecking.Reduce
+
+#include "../../undefined.h"
+import Agda.Utils.Impossible
+
+type IrrFilter = [Bool]
+
+-- | Stuff we need in our compiler
+data CompileState = CompileState
+    { dataDecls     :: Map QName Tag
+    , nameSupply    :: [Var]
+    , definitions   :: Set Var
+    , defDelayed    :: Map QName Bool
+    , conPars       :: Map QName Int
+    , mainName      :: Maybe QName
+    , irrFilters    :: Map QName IrrFilter
+    } deriving Show
+
+-- | The initial (empty) state
+initCompileState :: CompileState
+initCompileState = CompileState
+    { dataDecls     = M.empty
+    , nameSupply    = map (('h':) . show) [0 :: Integer ..]
+    , definitions   = S.fromList primTopBindings
+    , defDelayed    = M.empty
+    , conPars       = M.empty
+    , mainName      = Nothing
+    , irrFilters    = M.empty
+    }
+  where
+    -- | For the lambda-lifter not to lift known primitive functions.
+    primTopBindings :: [Var]
+    primTopBindings = ["primNatCaseZD", "primNatCaseZS", "primBoolCase", "primUnit", "primSharp"]
+
+-- | Compiler monad
+type Compile = StateT CompileState
+
+epicError :: MonadTCM m => String -> Compile m a
+epicError = lift . internalError
+
+-- | Create a name which can be used in Epic code from a QName.
+unqname :: QName -> Var
+unqname qn = case nameId $ qnameName qn of
+    NameId name modul -> 'd' : show modul
+                     ++ "_" ++ show name
+
+-- * State modifiers
+
+getDelayed :: MonadTCM m => QName -> Compile m Bool
+getDelayed q = fromMaybe False <$> gets (M.lookup q . defDelayed)
+
+putDelayed :: Monad m => QName -> Bool -> Compile m ()
+putDelayed q d = modify $ \s -> s {defDelayed = M.insert q d (defDelayed s)}
+
+newName :: Monad m => Compile m Var
+newName = do
+    n:ns <- gets nameSupply
+    modify $ \s -> s { nameSupply = ns}
+    return n
+
+-- | Add a data declaration by giving a list of its constructors.
+--   Tags will be created and saved.
+addDataDecl :: Monad m => [QName] -> Compile m ()
+addDataDecl ts = modify
+    $ \s -> s { dataDecls = M.union (M.fromList $ zip ts [0..]) (dataDecls s)}
+
+getConstrTag :: Monad m => QName -> Compile m Tag
+getConstrTag con = gets $ fromMaybe __IMPOSSIBLE__
+                        . M.lookup con
+                        . dataDecls
+
+addDefName :: Monad m => QName -> Compile m ()
+addDefName q = do
+    modify $ \s -> s {definitions = S.insert (unqname q) $ definitions s }
+    when ("main" == show (qnameName q)) (putMain q) -- hax
+
+topBindings :: Monad m => Compile m (Set Var)
+topBindings = gets definitions
+
+getConPar :: MonadTCM m => QName -> Compile m Int
+getConPar n = fromMaybe __IMPOSSIBLE__ <$> M.lookup n <$> gets conPars
+
+putConPar :: Monad m => QName -> Int -> Compile m ()
+putConPar n p = modify $ \s -> s { conPars = M.insert n p (conPars s) }
+
+putMain :: Monad m => QName -> Compile m ()
+putMain m = modify $ \s -> s { mainName = Just m }
+
+getMain :: MonadTCM m => Compile m Var
+getMain = maybe (epicError "Where is main? :(") (return . unqname) =<< gets mainName
+
+getIrrFilter :: Monad m => QName -> Compile m IrrFilter
+getIrrFilter q = gets $ fromMaybe __IMPOSSIBLE__
+                      . M.lookup q
+                      . irrFilters
+
+putIrrFilter :: Monad m => QName -> IrrFilter -> Compile m ()
+putIrrFilter n f = modify $ \s -> s {irrFilters = M.insert n f $ irrFilters s}
+
+replaceAt :: Int -- ^ replace at
+          -> [a] -- ^ to replace
+          -> [a] -- ^ replace with
+          -> [a] -- ^ result?
+replaceAt n xs inserts = let (as, _:bs) = splitAt n xs in as ++ inserts ++ bs
+
+
+-- | Copy pasted from MAlonzo, HAHA!!!
+--   Move somewhere else!
+constructorArity :: (MonadTCM tcm, Num a) => QName -> tcm a
+constructorArity q = do
+  def <- getConstInfo q
+  a <- normalise $ defType def
+  case theDef def of
+    M.Constructor{ M.conPars = np } -> return . fromIntegral $ arity a - np
+    _ -> internalError $ "constructorArity: non constructor: " ++ show q
diff --git a/src/full/Agda/Compiler/Epic/Compiler.hs b/src/full/Agda/Compiler/Epic/Compiler.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/Compiler/Epic/Compiler.hs
@@ -0,0 +1,146 @@
+{-# LANGUAGE CPP #-}
+-- | Epic compiler backend.
+module Agda.Compiler.Epic.Compiler(compilerMain) where
+
+import Control.Applicative
+import Control.Monad
+import Control.Monad.Reader
+import Control.Monad.State
+import qualified Data.Map as M
+import Data.Maybe
+import System.Directory
+import System.Exit
+import System.FilePath hiding (normalise)
+import System.Process hiding (env)
+
+import Paths_Agda
+import Agda.Interaction.FindFile
+import Agda.Interaction.Options
+import qualified Agda.Syntax.Concrete.Name as CN
+import Agda.Syntax.Internal hiding (Term(..))
+import Agda.TypeChecking.Monad
+import Agda.TypeChecking.Monad.Builtin
+import Agda.Utils.FileName
+
+import Agda.Compiler.Epic.CompileState hiding (conPars)
+import qualified Agda.Compiler.Epic.ConstructorIrrelevancy as CIrr
+import Agda.Compiler.Epic.Epic
+import qualified Agda.Compiler.Epic.Erasure as Eras
+import qualified Agda.Compiler.Epic.FromAgda as FAgda
+import qualified Agda.Compiler.Epic.LambdaLift as LL
+import qualified Agda.Compiler.Epic.Primitive  as Prim
+
+#include "../../undefined.h"
+import Agda.Utils.Impossible
+
+-- | Compile an interface into an Epic/a.out program
+--   /actually this is not true, we compile everything so we don't even look at
+--   the Interface. This may change in the future.
+compilerMain :: Interface -> TCM ()
+compilerMain inter = do
+    epic_exist <- liftIO $ rawSystem "ghc-pkg" ["-v0", "field", "epic", "id"]
+    case epic_exist of
+        ExitSuccess -> flip evalStateT initCompileState $ do
+            setEpicDir inter
+            initialAnalysis
+            code <- compileModule =<< lift (gets stImports)
+            case code of
+                Nothing -> __IMPOSSIBLE__
+                Just c  -> runEpic (iModuleName inter) c
+        ExitFailure _ -> internalError $ unlines
+           [ "Agda cannot find the Epic compiler."
+           , "This can perhaps be fixed by running `cabal install epic'."
+           , "See the README for more information."
+           ]
+
+
+-- | Before running the compiler, we need to store some things in the state,
+--   namely constructor tags, constructor irrelevancies and the delayed field
+--   in functions (for coinduction).
+initialAnalysis :: MonadTCM m => Compile m ()
+initialAnalysis = do
+  defs <- M.toList <$> lift (gets (sigDefinitions . stImports))
+  forM_ defs $ \(q, def) -> do
+    addDefName q
+    case theDef def of
+      d@(Datatype {}) -> do
+        addDataDecl $ dataCons d
+      Constructor {conPars = np} -> do
+        putIrrFilter q . drop (fromIntegral np) . CIrr.irrFilter $ defType def
+        putConPar q =<< lift (constructorArity q)
+      r@(Record{}) -> do
+        addDataDecl [recCon r]
+      f@(Function{}) -> do
+        putDelayed q $ case funDelayed f of
+          Delayed -> True
+          NotDelayed -> False
+      _ -> return ()
+
+-- | Perform the chain of compilation stages, from definitions to epic code
+compileDefns :: MonadTCM m => [(QName, Definition)] -> Compile m (Maybe EpicCode)
+compileDefns defs = do
+    -- We need to handle sharp (coinduction) differently, so we get it here.
+    msharp <- lift $ getBuiltin' builtinSharp
+    emits   <- FAgda.fromAgda msharp defs
+               >>= Prim.primitivise
+               >>= irr -- CIrr.constrIrr
+               >>= Eras.erasure
+               >>= LL.lambdaLift
+    if null emits
+       then return Nothing
+       else return . return . unlines . map prettyEpicFun $ emits
+  where
+    irr ds = do
+        f <- lift $ gets (optForcing . stPersistentOptions)
+        if f then CIrr.constrIrr ds
+             else return ds
+
+-- | Compile all definitions from a signature
+compileModule :: MonadTCM m => Signature -> Compile m (Maybe EpicCode)
+compileModule sig = do
+    let defs = M.toList $ sigDefinitions sig
+    compileDefns defs
+
+-- | Change the current directory to Epic folder, create it if it doesn't already
+--   exist.
+setEpicDir :: Interface -> Compile (TCMT IO) ()
+setEpicDir mainI = do
+    let tm = toTopLevelModuleName $ iModuleName mainI
+    f <- lift $ findFile tm
+    compileDir' <- lift $ gets (fromMaybe (filePath $ CN.projectRoot f tm) . optCompileDir . stPersistentOptions)
+    compileDir <- liftIO $ canonicalizePath compileDir'
+    liftIO $ setCurrentDirectory compileDir
+    liftIO $ createDirectoryIfMissing False "Epic"
+    liftIO $ setCurrentDirectory $ compileDir </> "Epic"
+
+-- | Make a program from the given Epic code.
+--
+-- The program is written to the file @../m@, where m is the last
+-- component of the given module name.
+runEpic :: MonadTCM m => ModuleName -> EpicCode -> Compile m ()
+runEpic m code = do
+    nam <- getMain
+    epicflags <- optEpicFlags <$> lift commandLineOptions
+    let code' = "include \"AgdaPrelude.e\"\n" ++ code ++ "main() -> Unit = init() ; " ++ nam ++ "(unit)"
+    dataDir <- liftIO getDataDir
+    curDir  <- liftIO getCurrentDirectory
+    liftIO $ copyFile (dataDir </> "EpicInclude" </> "AgdaPrelude" <.> "e")
+                      (curDir </> "AgdaPrelude" <.> "e")
+    liftIO $ writeFile ("main" <.> "e") code'
+
+    let outputName  = case mnameToList m of
+          [] -> __IMPOSSIBLE__
+          ms -> last ms
+        epic        = "epic"
+        epicCommand =
+          [ "-keepc"
+          , "-checking", "0"
+          -- , "-trace"
+          , "-i", dataDir </> "EpicInclude" </> "stdagda" <.> "c"
+          , "main" <.> "e"
+          , "-o", ".." </> show outputName
+          ] ++ epicflags
+    lift $ reportSLn "" 1 $
+      "calling: " ++ unwords (epic : epicCommand)
+    _ <- liftIO $ rawSystem epic epicCommand
+    return ()
diff --git a/src/full/Agda/Compiler/Epic/ConstructorIrrelevancy.hs b/src/full/Agda/Compiler/Epic/ConstructorIrrelevancy.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/Compiler/Epic/ConstructorIrrelevancy.hs
@@ -0,0 +1,67 @@
+-- | Remove forced (irrelevant) arguments from constructors.
+module Agda.Compiler.Epic.ConstructorIrrelevancy where
+
+import Control.Applicative
+
+import Agda.Compiler.Epic.AuxAST
+import Agda.Compiler.Epic.CompileState
+
+import Agda.Syntax.Common
+import qualified Agda.Syntax.Internal as T
+import Agda.TypeChecking.Monad.Base (MonadTCM)
+
+
+-- | Check which arguments are forced and create an IrrFilter
+irrFilter :: T.Type -> IrrFilter
+irrFilter (T.El _ term) = case term of
+    T.Pi  arg ab  -> isRel arg : irrFilter (T.absBody ab)
+    T.Fun arg typ -> isRel arg : irrFilter typ
+    _ -> []
+  where
+    isRel :: Arg T.Type -> Bool
+    isRel arg = case argRelevance arg of
+      Relevant   -> True
+      Irrelevant -> False
+      Forced     -> False -- It can be inferred
+
+-- | Remove irrelevant arguments from constructors and branches
+constrIrr :: MonadTCM m => [Fun] -> Compile m [Fun]
+constrIrr fs = mapM irrFun fs
+
+irrFun :: MonadTCM m => Fun -> Compile m Fun
+irrFun (Fun inline name comment args expr) =
+    Fun inline name comment args <$> irrExpr expr
+irrFun e@(EpicFun{}) = return e
+
+-- | Remove all arguments to constructors that we don't need to store in an
+--   expression.
+irrExpr :: MonadTCM m => Expr -> Compile m Expr
+irrExpr expr = case expr of
+    Var v        -> return $ Var v
+    Lit l        -> return $ Lit l
+    Lam v e      -> Lam v <$> irrExpr e
+    Con tag q es -> do
+        -- We only need to apply the relevant arguments
+        irrFilt <- getIrrFilter q
+        return $ Con tag q $ pairwiseFilter irrFilt es
+    App v es     -> App v <$> mapM irrExpr es
+    Case e bs    -> Case <$> irrExpr e <*> mapM irrBranch bs
+    Let v e e'   -> Let v <$> irrExpr e <*> irrExpr e'
+    If a b c     -> If <$> irrExpr a <*> irrExpr b <*> irrExpr c
+    Lazy e       -> Lazy <$> irrExpr e
+    UNIT         -> return expr
+    IMPOSSIBLE   -> return expr
+
+-- | Remove all the arguments that doesn't need to be stored in the constructor
+--   For the branch
+irrBranch :: MonadTCM m => Branch -> Compile m Branch
+irrBranch br = case br of
+    Branch  tag name vars e -> do
+        ir <- getIrrFilter name
+        let vs = pairwiseFilter ir vars
+            -- The removed arguments are substituted for unit
+            subs = pairwiseFilter (map not ir) vars
+            e'   = foldr (\x ex -> subst x "primUnit" ex) e subs
+        Branch tag name vs <$> irrExpr e'
+    BrInt i e -> BrInt i <$> irrExpr e
+    Default e -> Default <$> irrExpr e
diff --git a/src/full/Agda/Compiler/Epic/Epic.hs b/src/full/Agda/Compiler/Epic/Epic.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/Compiler/Epic/Epic.hs
@@ -0,0 +1,79 @@
+{-# LANGUAGE CPP #-}
+
+-- | Pretty-print the AuxAST to valid Epic code.
+module Agda.Compiler.Epic.Epic
+  ( prettyEpicFun
+  ) where
+
+import Data.Char
+import Data.List
+
+#include "../../undefined.h"
+import Agda.Utils.Impossible
+
+import Agda.Compiler.Epic.AuxAST
+
+-- * Some auxilliary pretty-printer functions
+(<+>) :: String -> String -> String
+x <+> y = x ++ " " ++ y
+infixr 6 <+>
+
+($$) :: String -> String -> String
+x $$ y  = x ++ "\n" ++ y
+infixr 5 $$
+
+many :: [String] -> String
+many vs = paren $ intercalate ", " vs
+
+paren :: String -> String
+paren s = "(" <+> s <+> ")"
+
+curly :: String -> String
+curly s = "{-" <+> s <+> "-}"
+
+-- * Pretty-printer
+-- | Print a function to an Epic string
+prettyEpicFun :: Fun -> String
+prettyEpicFun (Fun inline name comment vars e) =
+    "--" <+> comment $$
+    (if inline then "%inline " else "") ++ name
+    <+> many (map typVar vars) <+> "-> Any" <+> "=" <+> prettyEpic e
+prettyEpicFun (EpicFun name comment def) =
+    "--" <+> comment $$
+    "%inline" <+> name <+> def
+
+-- | Print expression to Epic expression
+prettyEpic :: Expr -> String
+prettyEpic expr = case expr of
+    Var v -> v
+    Lit l -> prettyEpicLit l
+    Lam _ _ -> __IMPOSSIBLE__ -- We have lambda lifted away all λs
+    Con t q args -> curly (show q) <+> paren ("Con" <+> show t <+> many (map prettyEpic args))
+    If a b c -> "if" <+> prettyEpic a <+> "then" <+> prettyEpic b <+> "else" <+> prettyEpic c
+    Let v e e' -> "let" <+> typVar v <+> "=" <+> prettyEpic e <+> "in" <+> prettyEpic e'
+    App v es -> v <+> many (map prettyEpic es)
+    Case e brs -> "case" <+> prettyEpic e <+> "of {"
+               <+> intercalate "\n | " (map prettyEpicBr brs) <+> "}"
+    Lazy e -> "lazy" <+> paren (prettyEpic e)
+    UNIT -> "unit"
+    IMPOSSIBLE -> "impossible"
+
+prettyEpicBr :: Branch -> String
+prettyEpicBr br = case br of
+    Branch c q vs e ->
+       curly (show q)  <+>
+       "Con" <+> show c
+       <+> many (map typVar vs)
+       <+> "->" <+> prettyEpic e
+    BrInt n e       ->  show n <+> "->" <+> prettyEpic e
+    Default e       -> "Default ->" <+> prettyEpic e
+
+prettyEpicLit :: Lit -> String
+prettyEpicLit l = case l of
+    LInt n    -> show n ++ "L"
+    LChar c   -> show (ord c)
+    LString s -> show s
+    LFloat f  -> show f
+
+typVar :: Var -> String
+typVar v = v <+> ":" <+> "Any"
diff --git a/src/full/Agda/Compiler/Epic/Erasure.hs b/src/full/Agda/Compiler/Epic/Erasure.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/Compiler/Epic/Erasure.hs
@@ -0,0 +1,133 @@
+-- | Some arguments to functions (types in particular) will not be used in the
+--   body. Wouldn't it be useful if these wasn't passed around at all?
+--   Fear not, we here perform some analysis and try to remove as many of these
+--   occurences as possible.
+--
+--   We employ the worker/wrapper transform, so if f x1 .. xn = e
+--   and we notice that some is not needed we create: f' xj .. xk = e [xi := unit]
+--   and f x1 .. xn = f' xj .. xk.
+--   i.e we erase them in f' and replace by unit, and the original f function
+--   calls the new f'. The idea is that f should be inlined and then peace on earth.
+module Agda.Compiler.Epic.Erasure where
+
+import Control.Applicative
+import Control.Monad.State
+import Data.Map(Map)
+import qualified Data.Map as M
+import Data.Maybe
+
+import Agda.Compiler.Epic.AuxAST
+import Agda.Compiler.Epic.CompileState
+
+import Agda.TypeChecking.Monad.Base (MonadTCM)
+
+data Relevancy
+  = Irr
+  | Rel
+  | DontKnow
+  deriving (Eq, Ord, Show)
+
+isIrr :: Relevancy -> Bool
+isIrr Irr      = True
+isIrr Rel      = False
+isIrr DontKnow = True
+
+isRel :: Relevancy -> Bool
+isRel = not . isIrr
+
+-- | Irrelevancy "and"
+(&&-) :: Relevancy -> Relevancy -> Relevancy
+Rel      &&- _        = Rel
+_        &&- Rel      = Rel
+DontKnow &&- a        = a
+a        &&- DontKnow = a
+Irr      &&- Irr      = Irr -- If both arguments are irrelevant, then surely we
+                            -- have something irrelevant.
+
+data ErasureState = ErasureState
+  { relevancies :: Map Var [Relevancy]
+  , funs        :: Map Var Fun
+  }
+
+type Erasure = StateT ErasureState
+
+-- | Try to find as many unused variables as possible
+erasure :: MonadTCM m => [Fun] -> Compile m [Fun]
+erasure fs = do
+    rels <- flip evalStateT (ErasureState M.empty M.empty) $ do
+        mapM_ initiate fs
+        fu <- gets funs
+        M.mapKeys (fromJust . flip M.lookup fu) <$> step
+    fmap concat $ mapM (\f -> check f (M.lookup f rels)) fs
+  where
+    -- | Perform the worker//wrapper transform
+    check :: MonadTCM m => Fun -> Maybe [Relevancy] -> Compile m [Fun]
+    -- If the function is already marked as to inline we don't need to create a
+    -- new function. Also If all arguments are relevant there is nothing to do.
+    check f (Just rs) | any isIrr rs && not (funInline f) = do
+        f' <- newName
+        let args' = pairwiseFilter (map isRel rs) (funArgs f)
+            subs  = pairwiseFilter (map isIrr rs) (funArgs f)
+            e'    = foldr (\v e -> subst v "primUnit" e) (funExpr f) subs
+        return [ Fun { funInline  = True
+                     , funName    = funName f
+                     , funComment = funComment f
+                     , funArgs    = funArgs f
+                     , funExpr    = App f' $ map Var args'
+                     }
+               , Fun { funInline  = False
+                     , funName    = f'
+                     , funComment = funComment f ++ " [ERASED]"
+                     , funArgs    = args'
+                     , funExpr    = e'
+                     }
+               ]
+    check f _ = return [f]
+
+-- | Initiate a function's relevancies (all DontKnow)
+initiate :: Monad m => Fun -> Erasure m ()
+initiate f@(Fun _ name _ args _) =
+    modify $ \s -> s { relevancies = M.insert name (replicate (length args) DontKnow) (relevancies s)
+                     , funs        = M.insert name f (funs s)
+                     }
+initiate (EpicFun {})            = return ()
+
+-- | Calculate if a variable is relevant in an expression
+relevant :: (Functor m, Monad m) => Var -> Expr -> Erasure m Relevancy
+relevant var expr = case expr of
+    Var v  | v == var  -> return Rel
+           | otherwise -> return Irr
+    Lit _l       -> return Irr
+    Lam _ e     -> relevant var e
+    Con _ _ es  -> relevants var es
+    App v es | v == var  -> return Rel
+             | otherwise -> do
+                -- The variable is relevant if it is used in a relevant position
+                mvrs <- gets (M.lookup v . relevancies)
+                case mvrs of
+                  Nothing  -> relevants var es
+                  Just vrs -> relevants var
+                            $ pairwiseFilter (map isRel vrs ++ repeat True {- Needs ETA expansion -}) es
+    Case e brs  -> (&&-) <$> relevant var e  <*> relevants var (map brExpr brs)
+    If a b c    -> relevants var [a,b,c]
+    Let _ e1 e2 -> (&&-) <$> relevant var e1 <*> relevant var e2
+    Lazy e      -> relevant var e
+    UNIT        -> return Irr
+    IMPOSSIBLE  -> return Irr
+  where
+    relevants :: (Functor m, Monad m) => Var -> [Expr] -> Erasure m Relevancy
+    relevants v es = foldM (\x y -> return $ x &&- y) Irr =<< mapM (relevant v) es
+
+-- | Try to find a fixpoint for all the functions relevancy.
+step :: (Monad m, Functor m) => Erasure m (Map Var [Relevancy])
+step = do
+    s  <- get
+    rels <- forM (M.toList (relevancies s)) $ \(v, _) -> do
+               let f = fromJust $ M.lookup v (funs s)
+               (,) v <$> mapM (flip relevant (funExpr f)) (funArgs f)
+    let relsm = M.fromList rels
+    if relevancies s == relsm
+       then return relsm
+       else do
+           put s {relevancies = relsm}
+           step
diff --git a/src/full/Agda/Compiler/Epic/Forcing.hs b/src/full/Agda/Compiler/Epic/Forcing.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/Compiler/Epic/Forcing.hs
@@ -0,0 +1,398 @@
+{-# LANGUAGE CPP #-}
+module Agda.Compiler.Epic.Forcing where
+
+import Control.Applicative
+import Control.Arrow (first, second)
+import Control.Monad
+import Control.Monad.State
+import Control.Monad.Trans
+import Data.List
+import qualified Data.Map as M
+import Data.Maybe
+
+import Agda.Syntax.Common
+import Agda.Syntax.Internal
+import Agda.TypeChecking.CompiledClause
+import Agda.TypeChecking.Monad
+import Agda.TypeChecking.Rules.LHS.Unify
+import Agda.TypeChecking.Substitute
+import Agda.TypeChecking.Pretty
+import Agda.TypeChecking.Reduce
+import Agda.TypeChecking.Telescope
+import Agda.Utils.List
+import Agda.Utils.Size
+
+import Agda.Compiler.Epic.CompileState hiding (conPars)
+import Agda.Compiler.Epic.AuxAST(pairwiseFilter)
+
+#include "../../undefined.h"
+import Agda.Utils.Impossible
+
+-- | Replace the uses of forced variables in a CompiledClauses with the function
+--   arguments that they correspond to.
+--   Note that this works on CompiledClauses where the term's variable indexes
+--   have been reversed, which means that the case variables match the variables
+--   in the term.
+removeForced :: MonadTCM m => CompiledClauses -> Type -> Compile m CompiledClauses
+removeForced cc typ = do
+  TelV tele _ <- lift $ telView typ
+  remForced cc tele
+
+-- | Returns the type of a constructor given its name
+constrType :: MonadTCM m => QName -> Compile m Type
+constrType q = do
+    map <- lift (gets (sigDefinitions . stImports))
+    return $ maybe __IMPOSSIBLE__ defType (M.lookup q map)
+
+-- | Returns how many parameters a datatype has
+dataParameters :: MonadTCM m => QName -> Compile m Nat
+dataParameters name = do
+    m <- lift (gets (sigDefinitions . stImports))
+    return $ maybe __IMPOSSIBLE__ (defnPars . theDef) (M.lookup name m)
+  where
+    defnPars :: Defn -> Nat
+    defnPars (Datatype {dataPars = p}) = p
+    defnPars (Record   {recPars  = p}) = p
+    defnPars _                         = 0 -- Not so sure about this.
+
+-- | Is variable n used in a CompiledClause?
+isIn :: MonadTCM m => Nat -> CompiledClauses -> Compile m Bool
+n `isIn` Case i brs | n == fromIntegral i = return True
+                    | otherwise = n `isInCase` (fromIntegral i, brs)
+n `isIn` Done _ t = return $ n `isInTerm` t
+n `isIn` Fail     = return $ False
+
+isInCase :: MonadTCM m => Nat -> (Nat, Case CompiledClauses) -> Compile m Bool
+n `isInCase` (i, Branches { conBranches    = cbrs
+                          , litBranches    = lbrs
+                          , catchAllBranch = cabr}) = do
+    cbrs' <- (or <$>) $ forM (M.toList cbrs) $ \ (constr, cc) -> do
+        if i < n
+          then do
+            par <- fromIntegral <$> getConPar constr
+            (n + par - 1) `isIn` cc
+          else n `isIn` cc
+
+    lbrs' <- (or <$>) $ forM (M.toList lbrs) $ \ (_, cc) ->
+        (if i < n
+           then (n - 1)
+           else n) `isIn` cc
+
+    cabr' <- case cabr of
+        Nothing -> return False
+        Just cc -> n `isIn` cc
+    return (cbrs' || lbrs' || cabr')
+
+
+isInTerm :: Nat -> Term -> Bool
+n `isInTerm` term = let recs = any (isInTerm n . unArg) in case term of
+   Var i as -> i == n || recs as
+   Lam _ ab -> (n+1) `isInTerm` absBody ab
+   Lit _    -> False
+   Def _ as -> recs as
+   Con _ as -> recs as
+   Pi a b   -> n `isInTerm` unEl (unArg a) || (n+1) `isInTerm` unEl (absBody b)
+   Fun a b  -> n `isInTerm` unEl (unArg a) || n `isInTerm` unEl b
+   Sort sor -> False -- ?
+   MetaV meta as -> False -- can't occur?
+   DontCare -> False
+
+{- |
+insertTele i xs t tele
+                  tpos
+  tele := Gamma ; (i : T as) ; Delta
+  n    := parameters T
+  xs'  := xs `apply` (take n as)
+becomes
+                  tpos
+  ( Gamma ; xs' ; Delta[i := t] --note that Delta still reference Gamma correctly
+  , T as ^ (size xs')
+  )
+
+we raise the type since we have added xs' new bindings before Gamma, and as can
+only bind to Gamma.
+-}
+insertTele :: MonadTCM m
+            => Int        -- ^ ABS `pos` in tele
+            -> Maybe Type -- ^ If Just, it is the type to insert patterns from
+                          --   is nothing if we only want to delete a binding.
+            -> Term       -- ^ Term to replace at pos
+            -> Telescope  -- ^ The telescope `tele` where everything is at
+            -> Compile m ( Telescope
+                         , ( Type
+                           , Type
+                           )
+                         )
+                -- ^ Returns (resulting telescope, the type at pos in tele, the
+                --   return type of the inserted type).
+insertTele 0 ins term (ExtendTel t to) = do
+    t' <- lift $ normalise t
+    let Def st arg = unEl . unArg $ t'
+    -- Apply the parameters of the type of t
+    -- Because: parameters occurs in the type of constructors but are not bound by it.
+    pars <- dataParameters st
+    TelV ctele ctyp <- lift $ telView $ maybe (unArg t')
+                            (`apply` take (fromIntegral pars) arg) ins
+
+    () <- if length (take (fromIntegral pars) arg) == fromIntegral pars
+        then return ()
+        else __IMPOSSIBLE__
+    -- we deal with absBody to directly since we remove t
+    return ( ctele +:+  (subst term $ raiseFrom 1 (size ctele) (absBody to))
+           , (raise (size ctele) $ unArg t , ctyp)
+           )
+  where
+    -- Append the telescope, we raise since we add a new binding and all the previous
+    -- bindings need to be preserved
+    (+:+) :: Telescope -> Telescope -> Telescope
+    EmptyTel       +:+ t2 = t2
+    ExtendTel t t1 +:+ t2 = ExtendTel t t1 {absBody = absBody t1 +:+ {-raise 1-} t2 }
+-- This case is impossible since we are trying to split a variable outside the tele
+insertTele n ins term EmptyTel = __IMPOSSIBLE__
+insertTele n ins term (ExtendTel x xs) = do
+    (xs', typ) <- insertTele (n - 1) ins term (absBody xs)
+    return (ExtendTel x xs {absBody = xs'} , typ)
+
+mkCon c n = Con c [ defaultArg $ Var (fromIntegral i) [] | i <- [n - 1, n - 2 .. 0] ]
+
+unifyI :: MonadTCM m => Telescope -> [Nat] -> Type -> Args -> Args -> Compile m [Maybe Term]
+unifyI tele flex typ a1 a2 = lift $ addCtxTel tele $ unifyIndices_ flex typ a1 a2
+
+takeTele 0 _ = EmptyTel
+takeTele n (ExtendTel t ts) = ExtendTel t ts {absBody = takeTele (n-1) (absBody ts) }
+takeTele _ _ = __IMPOSSIBLE__
+
+-- | Remove forced variables cased on in the current top-level case in the CompiledClauses
+remForced :: MonadTCM m
+     => CompiledClauses -- ^ Remove cases on forced variables in this
+     -> Telescope       -- ^ The current context we are in
+     -> Compile m CompiledClauses
+remForced ccOrig tele = case ccOrig of
+    Case n brs -> do
+        -- Get all constructor branches
+        cbs <- forM (M.toList $ conBranches brs) $ \(constr, cc) -> do
+            par             <- getConPar  constr
+            typ             <- constrType constr
+            -- Update tele with the telescope from the constructor's type
+            (tele', (ntyp, ctyp))   <- insertTele n (Just typ) (mkCon constr par) tele
+            ntyp <- lift $ reduce ntyp
+            ctyp <- lift $ reduce ctyp
+            notForced       <- getIrrFilter constr
+            -- Get the variables that are forced, relative to the position after constr
+            forcedVars <- filterM ((`isIn` cc) . (flip subtract (fromIntegral $ n + par - 1)))
+                        $ pairwiseFilter (map not notForced)
+                        $ map fromIntegral [par-1,par-2..0]
+            if null forcedVars
+                then (,) constr <$> remForced cc tele'
+                else do
+                    unif <- case (unEl ntyp, unEl ctyp) of
+                        (Def st a1, Def st' a2) | st == st' -> do
+                            typPars <- fromIntegral <$> dataParameters st
+                            setType <- constrType st
+                            {-
+                                We are splitting on C xs
+                                we know that C : ts -> T ss ; for some T
+                                we also know from tele that we are splitting on T as
+                                we want to unify ss with as, but not taking into account
+                                the Data parameters to T.
+                            -}
+                            unifyI (takeTele (n + par) tele')
+                                   (map fromIntegral [0 .. n + par]) -- Don't unify the constructor arguments
+                                   (setType `apply` take typPars a1)
+                                   (drop typPars a1)
+                                   (drop typPars a2)
+                        x -> __IMPOSSIBLE__
+                    -- we calculate the new tpos from n (the old one) by adding
+                    -- how many more bindings we have
+                    (,) constr <$> replaceForced (fromIntegral $ n + par, tele')
+                                                 forcedVars
+                                                 (cc, unif)
+
+        lbs <- forM (M.toList $ litBranches brs) $ \(lit, cc) -> do
+            -- We have one less binding
+            (newTele, _) <- insertTele n Nothing (Lit lit) tele
+            (,) lit <$>  remForced cc newTele
+
+        cabs <- case catchAllBranch brs of
+            Nothing -> return Nothing
+            Just cc -> Just <$> remForced cc tele
+
+        return $ Case n brs { conBranches = M.fromList cbs
+                            , litBranches = M.fromList lbs
+                            , catchAllBranch = cabs }
+
+    Done n t   -> return $ Done n t
+    Fail       -> return Fail
+
+data FoldState = FoldState
+  { clauseToFix  :: CompiledClauses
+  , clausesAbove :: CompiledClauses -> CompiledClauses
+  , unification  :: [Maybe Term]
+  , theTelescope :: Telescope
+  , telePos      :: Nat
+  } deriving Show
+
+-- Some utility functions
+
+foldM' :: Monad m => a -> [b] -> (a -> b -> m a) -> m a
+foldM' z xs f = foldM f z xs
+
+lift2 :: (MonadTrans t, Monad (t1 m), MonadTrans t1, Monad m) => m a -> t (t1 m) a
+lift2 = lift . lift
+
+modifyM :: (MonadState a m) => (a -> m a) -> m ()
+modifyM f = get >>= f >>= put -- (>>= put) . (get >>=)
+
+-- | replaceForced (tpos, tele) forcedVars (cc, unification)
+--   For each forceVar dig out the corresponding case and continue to remForced.
+replaceForced :: MonadTCM m
+              => (Nat, Telescope) -> [Nat] -> (CompiledClauses, [Maybe Term])
+              -> Compile m CompiledClauses
+replaceForced (telPos, tele) forcedVars (cc, unif) = do
+    let origSt = FoldState
+                  { clauseToFix  = cc
+                  , clausesAbove = id
+                  , unification  = unif
+                  , theTelescope = tele
+                  , telePos      = telPos
+                  }
+    st <- flip execStateT origSt $ forM forcedVars $ \ forcedVar -> do
+        unif <- gets unification
+        let (caseVar, caseTerm) = findPosition forcedVar unif
+        telPos <- gets telePos
+        termToBranch (telPos - caseVar - 1) caseTerm forcedVar
+    clausesAbove st <$> remForced (clauseToFix st) (theTelescope st)
+  where
+    {-
+      In this function the following de Bruijn is:
+        forcedVar : Relative
+        caseVar : Absolute
+        telePos : Absolute
+    -}
+    termToBranch :: MonadTCM m => Nat -> Term -> Nat -> StateT FoldState (Compile m) ()
+    termToBranch caseVar caseTerm forcedVar = case caseTerm of
+        Var i _ | i == forcedVar -> do
+            telPos <- gets telePos
+            let sub = [0..telPos - forcedVar - 2] ++ [caseVar] ++ [telPos - forcedVar..]
+            modifyM $ \ st -> do
+                newClauseToFix <- substCC sub (clauseToFix st)
+                return st
+                    { clauseToFix = newClauseToFix
+                    , unification = substs (map (flip Var []) sub) (unification st)
+                    }
+                -- This is impossible since we have already looked and it should
+                -- be the correct Var
+                | otherwise -> __IMPOSSIBLE__
+        Con c args -> do
+            telPos <- gets telePos
+            let (nextCaseVarInCon, nextCaseTerm) = findPosition forcedVar (map (Just . unArg) args)
+                nextCaseVar = nextCaseVarInCon + caseVar
+                newBinds    = fromIntegral $ length args - 1
+                -- we have added newBinds new bindings and removed one before telePos
+                nextTelePos = telPos + newBinds
+            ctyp <- lift (constrType c)
+
+            modifyM $ \ st -> do
+                (newTele , _) <- lift $ insertTele (fromIntegral caseVar) (Just ctyp)
+                                        (mkCon c (length args)) (theTelescope st)
+                -- We have to update the unifications-list so that we don't try
+                -- to dig out the same again later.
+                let newUnif = raiseFrom (telPos - caseVar) newBinds $
+                        replaceAt (fromIntegral $ telPos - caseVar - 1)
+                                  (unification st)
+                                  (reverse $ map (Just . unArg) args)
+                                  -- The variables in the unification-list is
+                                  -- relative so we need to reverse the args
+                                  -- so they get in the right place.
+                return st
+                    { clauseToFix  = raiseFromCC caseVar newBinds
+                                                 (substCCBody caseVar
+                                                 (Con c $ map (defaultArg . flip Var [])
+                                                              [caseVar .. caseVar + newBinds])
+                                                 (clauseToFix st))
+                    , theTelescope = newTele
+                    , unification  = newUnif
+                    , telePos      = nextTelePos
+                    }
+            st <- get
+            termToBranch nextCaseVar nextCaseTerm forcedVar
+            modify $ \ st -> st
+                { clausesAbove = Case (fromIntegral caseVar) . conCase c . (clausesAbove st)
+                }
+        _ -> __IMPOSSIBLE__
+
+-- Note: Absolute positions
+raiseFromCC :: Nat -> Nat -> CompiledClauses -> CompiledClauses
+raiseFromCC from add  cc = case cc of
+    Case n (Branches cbr lbr cabr) -> Case (fromIntegral $ raiseN from add (fromIntegral n)) $
+                                           Branches (M.map rec cbr)
+                                                    (M.map rec lbr)
+                                                    (fmap  rec cabr)
+    Done i t -> Done (i + fromIntegral add) $ raiseFrom from add t
+    Fail     -> Fail
+  where
+    rec = raiseFromCC from add
+    raiseN :: Nat -> Nat -> Nat -> Nat
+    raiseN from add n | from <= n = n + add
+                      | otherwise = n
+
+-- | Substitute with the Substitution, this will adjust with the new bindings in the
+--   CompiledClauses
+substCC :: MonadTCM m => [Nat] -> CompiledClauses -> StateT FoldState (Compile m) CompiledClauses
+substCC ss cc = case cc of
+    Done i t -> do
+        return $ Done i (substs (map (flip Var []) ({-reverse $ take i -} ss)) t)
+    Fail     -> return Fail
+    Case n brs -> do
+        {-
+          In a Case split, if we should change n to m, then all the binders in
+          this pattern should also change from being based on n to be based on m.
+        -}
+        cbs <- forM (M.toList $ conBranches brs) $ \ (c, br) -> do
+            nargs <- lift2 $ constructorArity c
+            let delta = (ss !! n) - fi n
+                ss'   = take n ss
+                      ++ [fi n + delta .. fi n + delta + nargs - 1]
+                      ++ map (+ (nargs - 1)) (drop (n+1) ss)
+            (,) c <$> substCC ss' br
+
+        lbs <- forM (M.toList $ litBranches brs) $ \ (l, br) -> do
+            -- We have one less binder here
+            (,) l <$> substCC (replaceAt n ss []) br
+
+        cabs <- case catchAllBranch brs of
+            Nothing -> return Nothing
+            Just br -> Just <$> substCC ss br
+
+        return $ Case (fromIntegral (ss !! n))
+                  Branches { conBranches    = M.fromList cbs
+                           , litBranches    = M.fromList lbs
+                           , catchAllBranch = cabs
+                           }
+  where
+    fi = fromIntegral
+
+-- | Substitute variable n for term t in the body of cc
+substCCBody :: Nat -> Term -> CompiledClauses -> CompiledClauses
+substCCBody n t cc = substsCCBody (vs [0..n - 1] ++ [t] ++ vs [n + 1..]) cc
+  where vs = map (flip Var [])
+
+-- | Perform a substitution in the body of cc
+substsCCBody :: [Term] -> CompiledClauses -> CompiledClauses
+substsCCBody ss cc = case cc of
+    Case n brs -> Case n (substsCCBody ss <$> brs)
+    Done i t -> Done i (substs ss t)
+    Fail     -> Fail
+
+-- | Find the location where a certain Variable index is by searching the constructors
+--   aswell. i.e find a term that can be transformed into a pattern that contains the
+--   same value the index. This fails if no such term is present.
+findPosition :: Nat -> [Maybe Term] -> (Nat, Term)
+findPosition var ts = let Just n = findIndex (maybe False pred) ts
+                       in (fromIntegral n , fromJust $ ts !! n)
+  where
+    pred :: Term -> Bool
+    pred t = case t of
+      Var i _ | var == i -> True
+      Con _ args         -> any (pred . unArg) args
+      _                  -> False
diff --git a/src/full/Agda/Compiler/Epic/FromAgda.hs b/src/full/Agda/Compiler/Epic/FromAgda.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/Compiler/Epic/FromAgda.hs
@@ -0,0 +1,233 @@
+{-# LANGUAGE CPP #-}
+
+-- | Convert from Agda's internal representation to our auxiliary AST.
+module Agda.Compiler.Epic.FromAgda where
+
+import Control.Applicative
+import Control.Monad
+import Control.Monad.State
+import Data.Char
+import Data.Map(Map)
+import qualified Data.Map as M
+import Data.Maybe
+
+import Agda.Interaction.Options
+import Agda.Syntax.Common
+import Agda.Syntax.Internal hiding (Term(..))
+import qualified Agda.Syntax.Internal as T
+import qualified Agda.Syntax.Literal  as TL
+import qualified Agda.TypeChecking.CompiledClause as CC
+import Agda.TypeChecking.Monad
+import qualified Agda.TypeChecking.Substitute as S
+
+import Agda.Compiler.Epic.AuxAST
+import Agda.Compiler.Epic.CompileState hiding (conPars)
+import Agda.Compiler.Epic.Forcing
+
+#include "../../undefined.h"
+import Agda.Utils.Impossible
+
+-- | Convert from Agda's internal representation to our auxiliary AST.
+fromAgda :: MonadTCM m => Maybe T.Term -> [(QName, Definition)] -> Compile m [Fun]
+fromAgda msharp defs = catMaybes <$> mapM (translateDefn msharp) defs
+
+-- | Translate an Agda definition to an Epic function where applicable
+translateDefn :: MonadTCM m => Maybe T.Term -> (QName, Definition) -> Compile m (Maybe Fun)
+translateDefn msharp (n, defini) = let n' = unqname n in case theDef defini of
+    d@(Datatype {}) -> do -- become functions returning unit
+        vars <- replicateM (fromIntegral $ dataPars d + dataIxs d) newName
+        return . return $ Fun True n' ("datatype: " ++ show n) vars UNIT
+    f@(Function{}) -> do
+        irrF <- gets irrFilters
+        let len   = length . clausePats . translatedClause . head .  funClauses $ f
+            toEta = fromIntegral (arity (defType defini)) - len
+            ccs   = reverseCCBody $ funCompiled f
+        forcing <- lift $ gets (optForcing . stPersistentOptions)
+        funComp <- if forcing
+                    then removeForced ccs (defType defini)
+                    else return ccs
+        return <$> (etaExpand toEta =<< compileClauses n len funComp)
+    Constructor{} -> do -- become functions returning a constructor with their tag
+        arit <- lift $ constructorArity n
+        tag   <- getConstrTag n
+        -- Sharp has to use the primSharp function from AgdaPrelude.e
+        case msharp of
+          Just (T.Def sharp []) | sharp == n -> return <$> mkFun n' "primSharp" 3
+          _    -> return <$> mkCon n tag arit
+    r@(Record{}) -> do
+        vars <- replicateM (fromIntegral $ recPars r) newName
+        return . return $ Fun True n' ("record: " ++ show n) vars UNIT
+    a@(Axiom{}) -> do -- Axioms get their code from COMPILED_EPIC pragmas
+        case axEpDef a of
+            Nothing -> return . return $ EpicFun n' ("AXIOM_UNDEFINED: " ++ show n)
+                $ "() -> Any = lazy(error \"Axiom " ++ show n ++ " used but has no computation\")"
+            Just x  -> return . return $ EpicFun n' ("COMPILED_EPIC: " ++ show n) x
+    p@(Primitive{}) -> do -- Primitives use primitive functions from AgdaPrelude.e of the same name.
+                          -- Hopefully they are defined!
+      let ar = fromIntegral $ arity $ defType defini
+      return <$> mkFun n' (primName p) ar
+  where
+    mkFun = mkFunGen apps ("primitive: " ++)
+    mkCon q tag ari = do
+        let name = unqname q
+        mkFunGen (flip Con q) (const $ "constructor: " ++ show q) name tag ari
+    mkFunGen :: Monad m
+            => (name -> [Expr] -> Expr) -- ^ combinator
+            -> (name -> String)         -- ^ make comment
+            -> Var                      -- ^ Name of the function
+            -> name                     -- ^ Primitive function name
+            -> Int                      -- ^ Arity ofthe function
+            -> Compile m Fun            -- ^ Result?
+    mkFunGen comb sh name primname arit = do
+        vars <- replicateM arit newName
+        return $ Fun True name (sh primname) vars (comb primname (map Var vars))
+
+    etaExpand :: MonadTCM m => Int -> Fun -> Compile m Fun
+    etaExpand num fun = do
+        names <- replicateM num newName
+        return $ fun
+            { funExpr = funExpr fun @@ names
+            , funArgs = funArgs fun ++ names
+            }
+
+    (@@) :: Expr -> [Var] -> Expr
+    e @@ [] = e
+    e @@ vs = let ts = map Var vs in case e of
+      Var var -> apps var ts
+      Lam var expr -> case vs of
+          v:vs' -> subst var v expr @@ vs'
+          []    -> __IMPOSSIBLE__
+      Con tag qName es -> Con tag qName (es ++ ts)
+      App var es       -> App var (es ++ ts)
+      Case expr bs     -> Case expr (map (flip appBranch vs) bs)
+      If ea eb ec      -> If ea (eb @@ vs) (ec @@ vs)
+      Let var el e'    -> Let var el (e' @@ vs)
+      Lazy e'          -> Lazy (e' @@ vs)
+      Lit _lit         -> IMPOSSIBLE -- Right?
+      UNIT             -> IMPOSSIBLE
+      IMPOSSIBLE       -> IMPOSSIBLE
+
+    appBranch :: Branch -> [Var] -> Branch
+    appBranch b vs = b {brExpr = brExpr b @@ vs}
+
+reverseCCBody :: CC.CompiledClauses -> CC.CompiledClauses
+reverseCCBody cc = case cc of
+    CC.Case n (CC.Branches cbr lbr cabr) -> CC.Case n $ CC.Branches (M.map reverseCCBody cbr)
+                                                        (M.map reverseCCBody lbr)
+                                                        (fmap  reverseCCBody cabr)
+    CC.Done i t -> CC.Done i (S.substs (map (flip T.Var []) (reverse $ take i [0..])) t)
+    CC.Fail     -> CC.Fail
+
+-- | Translate from Agda's desugared pattern matching (CompiledClauses) to our AuxAST.
+--   This is all done by magic. It uses 'substTerm' to translate the actual
+--   terms when the cases have been gone through.
+--   The case expressions that we get use de Bruijn indices that change after
+--   each case in the following way.
+--   Say we have this pattern:
+--
+-- > f (X x y) (Y z) = term
+--
+--   Initially, the variables have these indexes:
+--
+-- > f 0@(X x y) 1@(Y z) = term
+--
+--   The first case will be on @0@, and the variables bound inside the @X@
+--   pattern will replace the outer index, so we get something like this:
+--
+-- > f 0 2@(Y z) = case 0 of X 0 1 -> term
+--
+--   Notice how @(Y z)@ now has index @2@.
+--   Then the second pattern is desugared in the same way:
+--
+-- > f 0 2 = case 0 of X 0 1 -> case 2 of Y 2 -> term
+--
+--   This replacement is what is done using the replaceAt function.
+--
+--   CompiledClauses also have default branches for when all branches fail (even
+--   inner branches), the catchAllBranch. Epic does not support this, so
+--   we have to add the catchAllBranch to each inner case (here we are calling
+--   it omniDefault). To avoid code duplication it is first bound by a let
+--   expression.
+compileClauses :: MonadTCM m
+               => QName
+               -> Int -- ^ Number of arguments in the definition
+               -> CC.CompiledClauses -> Compile m Fun
+compileClauses name nargs c = do
+    let n' = unqname name
+    vars <- replicateM nargs newName
+    e    <- compileClauses' vars Nothing c
+    return $ Fun False n' ("function: " ++ show name) vars e
+  where
+    compileClauses' :: MonadTCM m => [Var] -> Maybe Var -> CC.CompiledClauses -> Compile m Expr
+    compileClauses' env omniDefault cc = case cc of
+        CC.Case n nc -> case length env <= n of
+           True -> __IMPOSSIBLE__
+           False -> case CC.catchAllBranch nc of
+            Nothing -> Case (Var (env !! n)) <$> compileCase env omniDefault n nc
+            Just de -> do
+                var <- newName
+                def <- compileClauses' env omniDefault de
+                Let var (Lazy def) . Case (Var (env !! n)) <$> compileCase env (Just var) n nc
+        CC.Done _ t -> substTerm ({- reverse -} env) t
+        CC.Fail     -> return IMPOSSIBLE
+
+    compileCase :: MonadTCM m => [Var] -> Maybe Var -> Int -> CC.Case CC.CompiledClauses
+                -> Compile m [Branch]
+    compileCase env omniDefault casedvar nc = do
+        cb <- if M.null (CC.conBranches nc)
+           -- Lit branch
+           then forM (M.toList (CC.litBranches nc)) $ \(l, cc) -> do
+               cc' <- compileClauses' (replaceAt casedvar env []) omniDefault cc
+               case l of
+                   TL.LitChar _ cha -> return $ BrInt (ord cha) cc'
+                   _ -> __IMPOSSIBLE__ -- TODO: Handle other literals
+           -- Con branch
+           else forM (M.toList (CC.conBranches nc)) $ \(b, cc) -> do
+               par  <- getConPar b
+               tag  <- getConstrTag b
+               vars <- replicateM par newName
+               cc'  <- compileClauses' (replaceAt casedvar env vars) omniDefault cc
+               return $ Branch tag b vars cc'
+
+        case omniDefault of
+            Nothing -> return cb
+            Just cc -> do
+              return $ cb ++ [Default (Var cc)]
+
+-- | Translate the actual Agda terms, with an environment of all the bound variables
+--   from patternmatching. Agda terms are in de Bruijn so we just check the new
+--   names in the position.
+substTerm :: MonadTCM m => [Var] -> T.Term -> Compile m Expr
+substTerm env term = case term of
+    T.Var ind args -> case length env <= fromIntegral ind of
+        True  -> __IMPOSSIBLE__
+        False -> apps (env !! fromIntegral ind) <$> mapM (substTerm env . unArg) args
+    T.Lam _ te -> do
+       name <- newName
+       Lam name <$> substTerm (name : env) (absBody te)
+    T.Lit l -> Lit <$> substLit l
+    T.Def q args -> do
+      let name = unqname q
+      del <- getDelayed q
+      f <- apps name <$> mapM (substTerm env . unArg) args
+      return $ case del of
+        True  -> Lazy f
+        False -> f
+    T.Con q args -> do
+        let con = unqname q
+        apps con <$> mapM (substTerm env . unArg) args
+    T.Pi _ _ -> return UNIT
+    T.Fun _ _ -> return UNIT
+    T.Sort _  -> return UNIT
+    T.MetaV _ _ -> return UNIT
+    T.DontCare  -> return UNIT
+
+-- | Translate Agda literals to our AUX definition
+substLit :: MonadTCM m => TL.Literal -> Compile m Lit
+substLit lit = case lit of
+  TL.LitInt    _ i -> return $ LInt i
+  TL.LitLevel  _ i -> return $ LInt i
+  TL.LitString _ s -> return $ LString s
+  TL.LitChar   _ c -> return $ LChar c
+  TL.LitFloat  _ f -> return $ LFloat f
+  _ -> epicError $ "literal not supported: " ++ show lit
diff --git a/src/full/Agda/Compiler/Epic/LambdaLift.hs b/src/full/Agda/Compiler/Epic/LambdaLift.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/Compiler/Epic/LambdaLift.hs
@@ -0,0 +1,60 @@
+-- | Lift lambda expressions to top level definitions (Epic does not support
+--   lambdas).
+module Agda.Compiler.Epic.LambdaLift where
+
+import Control.Applicative
+import Control.Monad.Trans
+import Control.Monad.Writer
+import qualified Data.Set as S
+
+import Agda.Compiler.Epic.AuxAST
+import Agda.Compiler.Epic.CompileState
+
+import Agda.TypeChecking.Monad.Base (MonadTCM)
+
+-- | LL makes it possible to emit new functions when we encounter a lambda
+type LL = WriterT [Fun]
+
+-- | lambda lift all the functions
+lambdaLift :: MonadTCM m => [Fun] -> Compile m [Fun]
+lambdaLift fs = do
+  concat <$> sequence
+    [do (f', lifts) <- runWriterT (lambdaLiftFun f)
+        return $ f' : lifts
+    | f <- fs]
+
+-- | λ lift a function, this is in a LL (Writer monad)
+lambdaLiftFun :: MonadTCM m => Fun -> LL (Compile m) Fun
+lambdaLiftFun (Fun i name c vs e) = Fun i name c vs <$> lambdaLiftExpr e
+lambdaLiftFun f@(EpicFun _ _ _)   = return f
+
+-- | λ lift an expression, put all the new definitions in the writer monad
+lambdaLiftExpr :: MonadTCM m => Expr -> LL (Compile m) Expr
+lambdaLiftExpr expr = case expr of
+    Var _    -> return expr
+    Lit _    -> return expr
+    e1@(Lam _ _) -> do
+      -- This is the only difficult case, get a group of lambda binders,
+      -- lambda lift the body of it, and create a new supercombinator from
+      -- this.
+      let (vs, e2) = collectLam e1
+      topBinding <- lift topBindings
+      let vs' = filter (`S.notMember` topBinding) $ fv e1
+      e3 <- lambdaLiftExpr e2
+      name <- lift newName
+      tell [Fun True name "lambda" (vs' ++ vs) e3]
+      return $ apps name (map Var vs')
+    Con c n es -> Con c n <$> mapM lambdaLiftExpr es
+    App v es -> App v <$> mapM lambdaLiftExpr es
+    Case e brs -> Case <$> lambdaLiftExpr e
+                       <*> mapM (\br -> do lle <- lambdaLiftExpr $ brExpr br; return br {brExpr = lle}) brs
+    If a b c   -> If <$> lambdaLiftExpr a <*> lambdaLiftExpr b <*> lambdaLiftExpr c
+    Let v e e' -> Let v <$> lambdaLiftExpr e <*> lambdaLiftExpr e'
+    Lazy e     -> Lazy <$> lambdaLiftExpr e
+    UNIT       -> return UNIT
+    IMPOSSIBLE -> return IMPOSSIBLE
+  where
+    -- | Collect all the variables in a group of lambdas
+    collectLam :: Expr -> ([Var], Expr)
+    collectLam (Lam v e) = let (vs, e') = collectLam e in (v:vs, e')
+    collectLam e         = ([], e)
diff --git a/src/full/Agda/Compiler/Epic/NatDetection.hs b/src/full/Agda/Compiler/Epic/NatDetection.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/Compiler/Epic/NatDetection.hs
@@ -0,0 +1,64 @@
+-- | Detect if a datatype could be represented as a primitive integer.
+--   If it has one constructor with no arguments and one with a recursive
+--   argument this is true. This is done using IrrFilters which filter out
+--   forced arguments, so for example Fin becomes primitive.
+module Agda.Compiler.Epic.NatDetection where
+
+import Control.Applicative
+import Control.Monad
+import Control.Monad.State
+import Data.Function
+import Data.List
+import qualified Data.Map as M
+import Data.Maybe
+
+import Agda.TypeChecking.Monad
+import Agda.Syntax.Internal
+import Agda.Syntax.Common
+
+import Agda.Compiler.Epic.CompileState hiding (conPars)
+
+-- | Get a list of all the datatypes that look like nats. The [QName] is on the
+--   form [zeroConstr, sucConstr]
+getNatish :: MonadTCM m => Compile m [(IrrFilter,[QName])]
+getNatish = do
+  sig <- lift (gets (sigDefinitions . stImports))
+  let defs = M.toList sig
+  fmap catMaybes $ forM defs $ \(q, def) ->
+    case theDef def of
+      d@(Datatype {}) -> do -- A datatype ...
+          case dataCons d of
+              constrs | length constrs == 2 -> do -- with two constructors ...
+                  z <- zip constrs <$> mapM getIrrFilter constrs
+                  case sortBy (compare `on` nrRel . snd) z of
+                    [(cz,fz), (cs,fs)] -> do
+                      let ts = defType $ sig M.! cs
+                          nr = fromIntegral $ dataPars d
+                      return $ do
+                       guard (nrRel fz == 0) -- where one constructor has zero arguments ...
+                       guard (nrRel fs == 1) -- and the other one one argument ...
+                       guard (isRec ((fromJust $ elemIndex True fs) + nr) ts q) -- which is recursive.
+                       return (fs, [cz, cs]) -- It's natish!
+                    _ -> return Nothing
+              _       -> return Nothing
+      _ -> return Nothing
+
+-- | Count the number of relevant arguments
+nrRel :: IrrFilter -> Integer
+nrRel = sum . map (const 1) . filter id
+
+-- | Check if argument n is recursive
+isRec :: Int -> Type -> QName -> Bool
+isRec 0 (El _ t) dat = case t of
+    Fun arg _ -> argIsDef (unArg arg) dat
+    Pi  arg _ -> argIsDef (unArg arg) dat
+    _       -> False
+isRec n (El _ t) dat = case t of
+    Pi  _ ab  -> isRec (n - 1) (absBody ab) dat
+    Fun _ typ -> isRec (n - 1) typ           dat
+    _           -> False
+
+argIsDef :: Type -> QName -> Bool
+argIsDef (El _ t) dat = case t of
+    Def q _ -> q == dat
+    _       -> False
diff --git a/src/full/Agda/Compiler/Epic/Primitive.hs b/src/full/Agda/Compiler/Epic/Primitive.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/Compiler/Epic/Primitive.hs
@@ -0,0 +1,201 @@
+{-# LANGUAGE CPP #-}
+
+-- | Change constructors and cases on builtins and natish datatypes to use
+--   primitive data
+module Agda.Compiler.Epic.Primitive where
+
+import Control.Applicative
+import Control.Monad
+import Control.Monad.Trans
+import Data.Map(Map)
+import qualified Data.Map as M
+import Data.Maybe
+
+import Agda.Syntax.Internal(QName)
+import qualified Agda.Syntax.Internal as T
+import Agda.TypeChecking.Monad hiding (defName)
+import Agda.TypeChecking.Monad.Builtin
+
+import Agda.Compiler.Epic.AuxAST
+import Agda.Compiler.Epic.CompileState
+import Agda.Compiler.Epic.NatDetection
+
+#include "../../undefined.h"
+import Agda.Utils.Impossible
+
+{- Stacken, Heapen -- Optimizern -}
+
+data PrimTransform = PrimTF
+  { mapCon        :: Map QName Var
+  , translateCase :: Expr -> [Branch] -> Expr
+  }
+
+-- | Change constructors and cases on builtins and natish datatypes to use
+--   primitive data
+primitivise :: MonadTCM m => [Fun] -> Compile m [Fun]
+primitivise funs = do
+    ptfs   <- getBuiltins
+    natish <- getNatish
+    lists  <- primLists
+    (++ lists) <$> mapM (primFun $ ptfs ++ map (uncurry natPrimTF) natish) funs
+
+-- | Create primitive functions if list constructors are marked as builtins
+primLists :: MonadTCM m => Compile m [Fun]
+primLists = do
+    mnil  <- lift $ getBuiltin' builtinNil
+    mcons <- lift $ getBuiltin' builtinCons
+    case (mnil, mcons) of
+      (Just (T.Con nil []), Just (T.Con cons [])) -> do
+          [nilT, consT] <- mapM getConstrTag [nil, cons]
+          let fun s n = Fun
+                   { funInline  = True
+                   , funName    = "prim" ++ s
+                   , funComment = "BUILTIN " ++ s
+                   , funArgs    = []
+                   , funExpr    = Var (unqname n)
+                   }
+          return [ fun "Nil" nil
+                 , fun "Cons" cons
+                 , Fun
+                    { funInline  = False
+                    , funName    = "primListElim"
+                    , funComment = "Eliminator for Lists"
+                    , funArgs    = ["op" , "z" , "xs"]
+                    , funExpr    = Case (Var "xs")
+                        [ Branch nilT nil [] $ Var "z"
+                        , Branch consT cons ["y", "ys"] $
+                            App "op" [ Var "y"
+                                     , App "primListElim" [ Var "op"
+                                                          , Var "z"
+                                                          , Var "ys"
+                                                          ]
+                                     ]
+                        ]
+                    }
+                 ]
+      _                     -> return []
+-- | Build transforms using the names of builtins
+getBuiltins :: MonadTCM m => Compile m [PrimTransform]
+getBuiltins =
+    catMaybes <$> sequence
+      [ [builtinZero, builtinSuc  ]         ~> natPrimTF [True]
+       -- ? is this ok to have [True]
+      , [builtinLevelZero, builtinLevelSuc] ~> natPrimTF [True]
+      , [builtinTrue, builtinFalse]         ~> boolPrimTF
+      ]
+  where
+    constrs ~> transf = do
+        builtins <- lift $ mapM getBuiltin' constrs
+        if all isJust builtins
+           then return $ Just (transf (map (defName . fromMaybe __IMPOSSIBLE__) builtins))
+           else return Nothing
+    defName (T.Def q []) = q
+    defName (T.Con q []) = q
+    defName _            = __IMPOSSIBLE__
+
+-- | Translation to primitive integer functions
+natPrimTF :: IrrFilter -> [QName] -> PrimTransform
+natPrimTF filt [zero, suc] = PrimTF
+  { mapCon = M.fromList [(zero, "primZero"), (suc, "primSuc")]
+  , translateCase = \ce brs -> case brs of
+        -- Assuming only the first two branches are relevant when casing on Nats
+        (Branch _ n vs e:Branch _ _n' vs' e':_) ->
+            if n == zero
+               then primNatCaseZS ce e  (head (pairwiseFilter filt vs')) e'
+               else primNatCaseZS ce e' (head (pairwiseFilter filt vs )) e
+        (Branch _ n vs e:Default e':_) ->
+            if n == zero
+               then primNatCaseZD ce e e' -- zero
+               else primNatCaseZS ce e' (head (pairwiseFilter filt vs )) e -- suc
+        [ Branch _ n vs e ] ->
+            if n == zero
+              then e
+              else Let (head (pairwiseFilter filt vs)) (App "primPred" [ce]) e
+        _ -> __IMPOSSIBLE__
+  }
+natPrimTF _ _ = __IMPOSSIBLE__
+
+-- | Corresponds to a case for natural numbers
+primNatCaseZS :: Expr -- ^ Expression that is cased on
+              -> Expr -- ^ Expression for the zero branch
+              -> Var  -- ^ Variable that is bound in suc branch
+              -> Expr -- ^ Expression used for suc branch
+              -> Expr -- ^ Result?
+primNatCaseZS n zeroBr v sucBr =
+    If (App "primNatEquality" [n, Var "primZero"]) zeroBr (Let v (App "primPred" [n]) sucBr)
+
+-- | Corresponds to a case with a zero and default branch
+primNatCaseZD :: Expr -- ^ Expression that is cased on
+              -> Expr -- ^ Zero branch
+              -> Expr -- ^ Default branch
+              -> Expr -- ^ Result?
+primNatCaseZD n zeroBr defBr = If (App "primNatEquality" [n, Var "primZero"]) zeroBr defBr
+
+-- | Translation to primitive bool functions
+boolPrimTF :: [QName] -> PrimTransform
+boolPrimTF [true, false] = PrimTF
+  { mapCon = M.fromList [(true, "primTrue"), (false, "primFalse")]
+  , translateCase = \ce brs ->
+    case brs of
+        (Branch _ n _vs e:b':_) ->
+                    (if n == true
+                             then If ce e (brExpr b')
+                             else If ce (brExpr b') e)
+        _ -> __IMPOSSIBLE__
+  }
+boolPrimTF _ = __IMPOSSIBLE__
+
+-- | Change all the primitives in the function using the PrimTransform
+primFun :: MonadTCM m => [PrimTransform] -> Fun -> Compile m Fun
+primFun ptfs (Fun i n c args e) =
+    Fun i n c args <$> primExpr ptfs e
+primFun _ e@(EpicFun {}) = return e
+
+
+-- | Change all the primitives in an expression using PrimTransform
+primExpr :: MonadTCM m => [PrimTransform] -> Expr -> Compile m Expr
+primExpr prim ex = case ex of
+    Var{}    -> return ex
+    Lit{}    -> return ex
+    Lam v e1 -> Lam v <$> primExpr prim e1
+    Con c n es -> case testCon prim n of
+        Just pn -> do
+            filt <- getIrrFilter n
+            apps pn <$> mapM (primExpr prim) (pairwiseFilter filt es)
+        Nothing -> Con c n <$> mapM (primExpr prim) es
+    App v es   -> App v <$> mapM (primExpr prim) es
+    Case e brs -> case testBranch prim brs of
+       Just p  -> primExpr prim $ translateCase p e brs
+       Nothing -> Case <$> primExpr prim e <*> mapM primBranch brs
+    If a b c   -> If <$> primExpr prim a <*> primExpr prim b <*> primExpr prim c
+    Let v e e' -> Let v <$> primExpr prim e <*> primExpr prim e'
+    Lazy e     -> Lazy <$> primExpr prim e
+    UNIT       -> return ex
+    IMPOSSIBLE -> return ex
+  where
+    -- | Test if any PrimTransform have any primitive function for
+    --   a constructor, gives the name of that primitive function in that
+    --   case, otherwise Nothing.
+    testCon :: [PrimTransform] -> QName -> Maybe Var
+    testCon [] _ = Nothing
+    testCon (p : ps) k = M.lookup k (mapCon p) `mplus` testCon ps k
+
+    -- | Test if we should transform the case, based on the branches. Returns
+    --   the (first) PrimTransform that is applicable.
+    testBranch :: [PrimTransform] -> [Branch] -> Maybe PrimTransform
+    testBranch [] _       = Nothing
+    testBranch (p:ps) brs = msum (map (check p) brs) `mplus` testBranch ps brs
+
+    -- | Check if a particular PrimTransform can be used on a particular Branch
+    --   Returns the PrimTransform in that case.
+    check :: PrimTransform -> Branch -> Maybe PrimTransform
+    check p br = case br of
+        Branch  _ n _ _ -> fmap (const p) $ M.lookup n (mapCon p)
+        BrInt _ _       -> Nothing
+        Default _       -> Nothing
+
+    -- | Change all primitives in a branch
+    primBranch :: MonadTCM m => Branch -> Compile m Branch
+    primBranch br = do
+        e' <- primExpr prim (brExpr br)
+        return br {brExpr = e'}
diff --git a/src/full/Agda/Compiler/MAlonzo/Compiler.hs b/src/full/Agda/Compiler/MAlonzo/Compiler.hs
--- a/src/full/Agda/Compiler/MAlonzo/Compiler.hs
+++ b/src/full/Agda/Compiler/MAlonzo/Compiler.hs
@@ -10,7 +10,9 @@
 import Data.List as L
 import Data.Map as M
 import Data.Set as S
-import Language.Haskell.Syntax
+import qualified Language.Haskell.Exts.Extension as HS
+import qualified Language.Haskell.Exts.Parser as HS
+import qualified Language.Haskell.Exts.Syntax as HS
 import System.Cmd
 import System.Directory
 import System.Exit
@@ -62,6 +64,7 @@
 
     ignoreAbstractMode $ do
       mapM_ (compile . miInterface) =<< (M.elems <$> getVisitedModules)
+      writeModule rteModule
       callGHC mainI
 
 compile :: Interface -> TCM ()
@@ -70,13 +73,13 @@
   ifM uptodate noComp $ (yesComp >>) $ do
     writeModule =<< decl <$> curHsMod <*> (definitions =<< curDefs) <*> imports
   where
-  decl mn ds imp = HsModule dummy mn Nothing imp ds
-  uptodate = liftIO =<< (isNewerThan <$> outFile <*> ifile)
+  decl mn ds imp = HS.Module dummy mn [] Nothing Nothing imp ds
+  uptodate = liftIO =<< (isNewerThan <$> outFile_ <*> ifile)
   ifile    = maybe __IMPOSSIBLE__ filePath <$>
                (findInterfaceFile . toTopLevelModuleName =<< curMName)
   noComp   = reportSLn "" 1 . (++ " : no compilation is needed.").show =<< curMName
   yesComp  = reportSLn "" 1 . (`repl` "Compiling <<0>> in <<1>> to <<2>>") =<<
-             sequence [show <$> curMName, ifile, outFile] :: TCM ()
+             sequence [show <$> curMName, ifile, outFile_] :: TCM ()
 
 --------------------------------------------------
 -- imported modules
@@ -84,14 +87,14 @@
 --   accumulating in it what are acutally used in Misc.xqual
 --------------------------------------------------
 
-imports :: TCM [HsImportDecl]
+imports :: TCM [HS.ImportDecl]
 imports = (++) <$> hsImps <*> imps where
   hsImps = (L.map decl . S.toList .
-            S.insert unsafeCoerceMod . S.map Module) <$>
+            S.insert mazRTE . S.map HS.ModuleName) <$>
              getHaskellImports
   imps   = L.map decl . uniq <$>
              ((++) <$> importsForPrim <*> (L.map mazMod <$> mnames))
-  decl m = HsImportDecl dummy m True Nothing Nothing
+  decl m = HS.ImportDecl dummy m True False Nothing Nothing Nothing
   mnames = (++) <$> (S.elems <$> gets stImportedModules)
                 <*> (iImportedModules <$> curIF)
   uniq   = L.map head . group . L.sort
@@ -100,7 +103,7 @@
 -- Main compiling clauses
 --------------------------------------------------
 
-definitions :: Definitions -> TCM [HsDecl]
+definitions :: Definitions -> TCM [HS.Decl]
 definitions defs = do
   kit <- coinductionKit
   M.fold (liftM2 (++) . (definition kit <.> instantiateFull))
@@ -120,38 +123,52 @@
 --   flat _ _ x = x
 -- @
 
-definition :: Maybe CoinductionKit -> Definition -> TCM [HsDecl]
-definition kit (Defn q ty _ _ d) = do
+definition :: Maybe CoinductionKit -> Definition -> TCM [HS.Decl]
+-- ignore irrelevant definitions
+definition kit (Defn Forced     _ _  _ _ _) = __IMPOSSIBLE__
+definition kit (Defn Irrelevant _ _  _ _ _) = return []
+definition kit (Defn Relevant   q ty _ _ d) = do
   checkTypeOfMain q ty
   (infodecl q :) <$> case d of
 
     -- Special treatment of coinductive builtins.
     Datatype{} | Just q == (nameOfInf <$> kit) -> do
-      let inf = unqhname "T" q
-          a   = ihname "a" 0
-          b   = ihname "a" 1
-      return [HsTypeDecl dummy inf [a, b] (HsTyVar b)]
+      let infT = unqhname "T" q
+          infV = unqhname "d" q
+          a    = ihname "a" 0
+          b    = ihname "a" 1
+          vars = [a, b]
+      return [ HS.TypeDecl dummy infT
+                           (L.map HS.UnkindedVar vars)
+                           (HS.TyVar b)
+             , HS.FunBind [HS.Match dummy infV
+                                    (L.map HS.PVar vars) Nothing
+                                    (HS.UnGuardedRhs HS.unit_con)
+                                    (HS.BDecls [])]
+             ]
     Constructor{} | Just q == (nameOfSharp <$> kit) -> do
       let sharp = unqhname "d" q
           x     = ihname "x" 0
       return $
-        [ HsTypeSig dummy [sharp] $ fakeType $
+        [ HS.TypeSig dummy [sharp] $ fakeType $
             "forall a. () -> forall b. () -> b -> b"
-        , HsFunBind [HsMatch dummy sharp
-                             [HsPWildCard, HsPWildCard, HsPVar x]
-                             (HsUnGuardedRhs (HsVar (UnQual x)))
-                             []]
+        , HS.FunBind [HS.Match dummy sharp
+                               [HS.PWildCard, HS.PWildCard, HS.PVar x]
+                               Nothing
+                               (HS.UnGuardedRhs (HS.Var (HS.UnQual x)))
+                               (HS.BDecls [])]
         ]
     Function{} | Just q == (nameOfFlat <$> kit) -> do
       let flat = unqhname "d" q
           x    = ihname "x" 0
       return $
-        [ HsTypeSig dummy [flat] $ fakeType $
+        [ HS.TypeSig dummy [flat] $ fakeType $
             "forall a. () -> forall b. () -> b -> b"
-        , HsFunBind [HsMatch dummy flat
-                             [HsPWildCard, HsPWildCard, HsPVar x]
-                             (HsUnGuardedRhs (HsVar (UnQual x)))
-                             []]
+        , HS.FunBind [HS.Match dummy flat
+                               [HS.PWildCard, HS.PWildCard, HS.PVar x]
+                               Nothing
+                               (HS.UnGuardedRhs (HS.Var (HS.UnQual x)))
+                               (HS.BDecls [])]
         ]
 
     Axiom{ axHsDef = Just (HsDefn ty hs) } -> return $ fbWithType ty (fakeExp hs)
@@ -181,37 +198,40 @@
   tag _ []       = []
   tag i [cl]     = (i, True , cl): []
   tag i (cl:cls) = (i, False, cl): tag (i + 1) cls
-  mkwhere (HsFunBind [m0, HsMatch _     dn ps rhs [] ] : fbs@(_:_)) =
-          [HsFunBind [m0, HsMatch dummy dn ps rhs fbs]]
+  mkwhere (HS.FunBind [m0, HS.Match _     dn ps mt rhs (HS.BDecls [])] :
+           fbs@(_:_)) =
+          [HS.FunBind [m0, HS.Match dummy dn ps mt rhs (HS.BDecls fbs)]]
   mkwhere fbs = fbs
   fbWithType ty e =
-    [ HsTypeSig dummy [unqhname "d" q] $ fakeType ty ] ++ fb e
-  fb e  =[HsFunBind[HsMatch dummy (unqhname "d" q)[] (HsUnGuardedRhs $ e) []]]
+    [ HS.TypeSig dummy [unqhname "d" q] $ fakeType ty ] ++ fb e
+  fb e  = [HS.FunBind [HS.Match dummy (unqhname "d" q) [] Nothing
+                                (HS.UnGuardedRhs $ e) (HS.BDecls [])]]
   axiomErr = rtmError $ "postulate evaluated: " ++ show q
 
-checkConstructorType :: QName -> TCM [HsDecl]
+checkConstructorType :: QName -> TCM [HS.Decl]
 checkConstructorType q = do
   Constructor{ conHsCode = Just (ty, hs) } <- theDef <$> getConstInfo q
-  return [ HsTypeSig dummy [unqhname "check" q] $ fakeType ty
-         , HsFunBind [HsMatch dummy (unqhname "check" q) [] (HsUnGuardedRhs $ fakeExp hs) []]
+  return [ HS.TypeSig dummy [unqhname "check" q] $ fakeType ty
+         , HS.FunBind [HS.Match dummy (unqhname "check" q) [] Nothing
+                                (HS.UnGuardedRhs $ fakeExp hs) (HS.BDecls [])]
          ]
 
-checkCover :: QName -> HaskellType -> Nat -> [QName] -> TCM [HsDecl]
+checkCover :: QName -> HaskellType -> Nat -> [QName] -> TCM [HS.Decl]
 checkCover q ty n cs = do
   let tvs = [ "a" ++ show i | i <- [1..n] ]
       makeClause c = do
         a <- constructorArity c
         Just (_, hsc) <- conHsCode . theDef <$> getConstInfo c
-        let pat = HsPApp (UnQual $ HsIdent hsc) $ genericReplicate a HsPWildCard
-        return $ HsAlt dummy pat (HsUnGuardedAlt $ HsTuple []) []
+        let pat = HS.PApp (HS.UnQual $ HS.Ident hsc) $ genericReplicate a HS.PWildCard
+        return $ HS.Alt dummy pat (HS.UnGuardedAlt $ HS.Tuple []) (HS.BDecls [])
   cs <- mapM makeClause cs
   let rhs = case cs of
               [] -> fakeExp "()" -- There is no empty case statement in Haskell
-              _  -> HsCase (HsVar $ UnQual $ HsIdent "x") cs
+              _  -> HS.Case (HS.Var $ HS.UnQual $ HS.Ident "x") cs
 
-  return [ HsTypeSig dummy [unqhname "cover" q] $ fakeType $ unwords (ty : tvs) ++ " -> ()"
-         , HsFunBind [HsMatch dummy (unqhname "cover" q) [HsPVar $ HsIdent "x"]
-            (HsUnGuardedRhs rhs) []]
+  return [ HS.TypeSig dummy [unqhname "cover" q] $ fakeType $ unwords (ty : tvs) ++ " -> ()"
+         , HS.FunBind [HS.Match dummy (unqhname "cover" q) [HS.PVar $ HS.Ident "x"]
+                                Nothing (HS.UnGuardedRhs rhs) (HS.BDecls [])]
          ]
 
 -- | Move somewhere else!
@@ -223,45 +243,49 @@
     Constructor{ conPars = np } -> return $ arity a - np
     _ -> fail $ "constructorArity: non constructor: " ++ show q
 
-clause :: QName -> (Nat, Bool, Clause) -> TCM HsDecl
+clause :: QName -> (Nat, Bool, Clause) -> TCM HS.Decl
 clause q (i, isLast, Clause{ clausePats = ps, clauseBody = b }) =
-  HsFunBind . (: cont) <$> main where
+  HS.FunBind . (: cont) <$> main where
   main = match <$> argpatts ps (bvars b (0::Nat)) <*> clausebody b
-  cont | isLast && any isCon ps = [match (L.map HsPVar cvs) failrhs]
+  cont | isLast && any isCon ps = [match (L.map HS.PVar cvs) failrhs]
        | isLast                 = []
-       | otherwise              = [match (L.map HsPVar cvs) crhs]
+       | otherwise              = [match (L.map HS.PVar cvs) crhs]
   cvs  = L.map (ihname "v") [0 .. genericLength ps - 1]
-  crhs = hsCast$ foldl HsApp (hsVarUQ $ dsubname q (i + 1)) (L.map hsVarUQ cvs)
+  crhs = hsCast$ foldl HS.App (hsVarUQ $ dsubname q (i + 1)) (L.map hsVarUQ cvs)
   failrhs = rtmError $ "incomplete pattern matching: " ++ show q
-  match hps rhs = HsMatch dummy (dsubname q i) hps (HsUnGuardedRhs rhs) []
+  match hps rhs = HS.Match dummy (dsubname q i) hps Nothing
+                           (HS.UnGuardedRhs rhs) (HS.BDecls [])
   bvars (Body _)          _ = []
-  bvars (Bind (Abs _ b')) n = HsPVar (ihname "v" n) : bvars b' (n + 1)
-  bvars (NoBind      b' ) n = HsPWildCard           : bvars b' n -- WHY NOT: bvars b' n  -- PRODDUCES head [] exception
-  bvars NoBody            _ = repeat HsPWildCard -- ?
+  bvars (Bind (Abs _ b')) n = HS.PVar (ihname "v" n) : bvars b' (n + 1)
+  bvars (NoBind      b' ) n = HS.PWildCard           : bvars b' n -- WHY NOT: bvars b' n  -- PRODDUCES head [] exception
+  bvars NoBody            _ = repeat HS.PWildCard -- ?
 
   isCon (Arg _ _ ConP{}) = True
   isCon _                = False
 
 -- argpatts aps xs = hps
 -- xs is alist of haskell *variables* in form of patterns (because of wildcard)
-argpatts :: [Arg Pattern] -> [HsPat] -> TCM [HsPat]
+argpatts :: [Arg Pattern] -> [HS.Pat] -> TCM [HS.Pat]
 argpatts ps0 bvs = evalStateT (mapM pat' ps0) bvs
   where
   pat   (VarP _   ) = do v <- gets head; modify tail; return v
-  pat   (DotP _   ) = pat (VarP dummy) -- WHY NOT: return HsPWildCard -- SEE ABOVE
-  pat   (LitP l   ) = return $ HsPLit $ hslit l
+  pat   (DotP _   ) = pat (VarP dummy) -- WHY NOT: return HS.PWildCard -- SEE ABOVE
+  pat   (LitP l   ) = return $ HS.PLit $ hslit l
   pat p@(ConP q _ ps) = do
     -- Note that irr is applied once for every subpattern, so in the
     -- worst case it is quadratic in the size of the pattern. I
     -- suspect that this will not be a problem in practice, though.
     irrefutable <- lift $ irr p
     let tilde = if   tildesEnabled && irrefutable
-                then HsPParen . HsPIrrPat
+                then HS.PParen . HS.PIrrPat
                 else id
-    (tilde . HsPParen) <$>
-      (HsPApp <$> lift (conhqn q) <*> mapM pat' ps)
+    (tilde . HS.PParen) <$>
+      (HS.PApp <$> lift (conhqn q) <*> mapM pat' ps)
 
-  pat' = pat . unArg
+  -- Andreas, 2010-09-29
+  -- do not match against irrelevant stuff
+  pat' (Arg _ Irrelevant _) = return $ HS.PWildCard
+  pat' (Arg _ _          p) = pat p
 
   tildesEnabled = False
 
@@ -272,118 +296,157 @@
   irr (LitP {})   = return False
   irr (ConP q _ ps) =
     (&&) <$> singleConstructorType q
-         <*> (and <$> mapM (irr . unArg) ps)
+         <*> (and <$> mapM irr' ps)
 
-clausebody :: ClauseBody -> TCM HsExp
+  -- | Irrelevant patterns are naturally irrefutable.
+  irr' (Arg _ Irrelevant _) = return $ True
+  irr' (Arg _ _          p) = irr p
+
+clausebody :: ClauseBody -> TCM HS.Exp
 clausebody b0 = runReaderT (go b0) 0 where
   go (Body   tm       ) = hsCast <$> term tm
   go (Bind   (Abs _ b)) = local (1+) $ go b
   go (NoBind b        ) = go b
-  go NoBody             = return$ rtmError$ "Impossible Clause Body"
+  go NoBody             = return $ rtmError $ "Impossible Clause Body"
 
-term :: Term -> ReaderT Nat TCM HsExp
+-- | Extract Agda term to Haskell expression.
+--   Irrelevant arguments are extracted as @()@.
+--   Types are extracted as @()@.
+--   @DontCare@ outside of irrelevant arguments is extracted as @error@.
+term :: Term -> ReaderT Nat TCM HS.Exp
 term tm0 = case tm0 of
   Var   i as -> do n <- ask; apps (hsVarUQ $ ihname "v" (n - i - 1)) as
-  Lam   _ at -> do n <- ask; HsLambda dummy [HsPVar $ ihname "v" n] <$>
+  Lam   _ at -> do n <- ask; HS.Lambda dummy [HS.PVar $ ihname "v" n] <$>
                               local (1+) (term $ absBody at)
   Lit   l    -> lift $ literal l
-  Def   q as -> (`apps` as) . HsVar =<< lift (xhqn "d" q)
-  Con   q as -> (`apps` as) . HsCon =<< lift (conhqn q)
-  Pi    _ _  -> return unit_con
-  Fun   _ _  -> return unit_con
-  Sort  _    -> return unit_con
+  Def   q as -> (`apps` as) . HS.Var =<< lift (xhqn "d" q)
+  Con   q as -> (`apps` as) . HS.Con =<< lift (conhqn q)
+  Pi    _ _  -> return HS.unit_con
+  Fun   _ _  -> return HS.unit_con
+  Sort  _    -> return HS.unit_con
   MetaV _ _  -> mazerror "hit MetaV"
-  DontCare   -> return unit_con
-  where apps =  foldM (\h a -> HsApp h <$> term (unArg a))
+  DontCare   -> return $ rtmError $ "hit DontCare"
+  where apps =  foldM (\h a -> HS.App h <$> term' a)
 
-literal :: Literal -> TCM HsExp
+-- | Irrelevant arguments are replaced by Haskells' ().
+term' :: Arg Term -> ReaderT Nat TCM HS.Exp
+term' (Arg _ Irrelevant _) = return HS.unit_con
+term' (Arg _ _          t) = term t
+
+literal :: Literal -> TCM HS.Exp
 literal l = case l of
   LitInt    _ _   -> do toN <- bltQual "NATURAL" mazIntegerToNat
-                        return $ HsVar toN `HsApp` typed "Integer"
+                        return $ HS.Var toN `HS.App` typed "Integer"
   LitFloat  _ _   -> return $ typed "Double"
   _               -> return $ l'
-  where l'    = HsLit $ hslit l
-        typed = HsExpTypeSig dummy l' . HsQualType [] . HsTyCon . rtmQual
+  where l'    = HS.Lit $ hslit l
+        typed = HS.ExpTypeSig dummy l' . HS.TyCon . rtmQual
 
-hslit :: Literal -> HsLiteral
-hslit l = case l of LitInt    _ x -> HsInt    x
-                    LitLevel  _ x -> HsInt    x
-                    LitFloat  _ x -> HsFrac   (toRational x)
-                    LitString _ x -> HsString x
-                    LitChar   _ x -> HsChar   x
-                    LitQName  _ x -> HsString (show x)
+hslit :: Literal -> HS.Literal
+hslit l = case l of LitInt    _ x -> HS.Int    x
+                    LitLevel  _ x -> HS.Int    x
+                    LitFloat  _ x -> HS.Frac   (toRational x)
+                    LitString _ x -> HS.String x
+                    LitChar   _ x -> HS.Char   x
+                    LitQName  _ x -> HS.String (show x)
 
-condecl :: QName -> TCM (Nat, HsConDecl)
+condecl :: QName -> TCM (Nat, HS.ConDecl)
 condecl q = getConstInfo q >>= \d -> case d of
-  Defn _ ty _ _ (Constructor {conPars = np}) -> do ar <- arity <$> normalise ty
-                                                   return $ (ar, cdecl q (ar - np))
+  Defn _ _ ty _ _ (Constructor {conPars = np}) -> do
+    ar <- arity <$> normalise ty
+    return $ (ar, cdecl q (ar - np))
   _ -> mazerror $ "condecl:" ++ gshow' (q, d)
 
-cdecl :: QName -> Nat -> HsConDecl
-cdecl q n = HsConDecl dummy (unqhname "C" q)
-            [ HsUnBangedTy $ HsTyVar $ ihname "a" i | i <- [0 .. n - 1]]
+cdecl :: QName -> Nat -> HS.ConDecl
+cdecl q n = HS.ConDecl (unqhname "C" q)
+            [ HS.UnBangedTy $ HS.TyVar $ ihname "a" i | i <- [0 .. n - 1]]
 
 tvaldecl :: QName
          -> Induction
             -- ^ Is the type inductive or coinductive?
-         -> Nat -> Nat -> [HsConDecl] -> Maybe Clause -> [HsDecl]
+         -> Nat -> Nat -> [HS.ConDecl] -> Maybe Clause -> [HS.Decl]
 tvaldecl q ind ntv npar cds cl =
-  HsFunBind [HsMatch dummy vn pvs (HsUnGuardedRhs unit_con) []] :
-  maybe [datatype] (const []) cl
+  HS.FunBind [HS.Match dummy vn pvs Nothing
+                       (HS.UnGuardedRhs HS.unit_con) (HS.BDecls [])] :
+  maybe [HS.DataDecl dummy kind [] tn tvs
+                     (L.map (HS.QualConDecl dummy [] []) cds) []]
+        (const []) cl
   where
   (tn, vn) = (unqhname "T" q, unqhname "d" q)
-  tvs = [          ihname "a" i | i <- [0 .. ntv  - 1]]
-  pvs = [ HsPVar $ ihname "a" i | i <- [0 .. npar - 1]]
+  tvs = [ HS.UnkindedVar $ ihname "a" i | i <- [0 .. ntv  - 1]]
+  pvs = [ HS.PVar        $ ihname "a" i | i <- [0 .. npar - 1]]
 
   -- Inductive data types consisting of a single constructor with a
   -- single argument are translated into newtypes.
-  datatype = case (ind, cds) of
-    (Inductive, [c@(HsConDecl _ _ [_])]) -> newtyp c
-    (Inductive, [c@(HsRecDecl _ _ [_])]) -> newtyp c
-    _                                    -> datatyp
-
-  newtyp c = HsNewTypeDecl dummy [] tn tvs c   []
-  datatyp  = HsDataDecl    dummy [] tn tvs cds []
+  kind = case (ind, cds) of
+    (Inductive, [HS.ConDecl _ [_]]) -> HS.NewType
+    (Inductive, [HS.RecDecl _ [_]]) -> HS.NewType
+    _                               -> HS.DataType
 
-infodecl :: QName -> HsDecl
+infodecl :: QName -> HS.Decl
 infodecl q = fakeD (unqhname "name" q) $ show (show q)
 
 --------------------------------------------------
 -- Inserting unsafeCoerce
 --------------------------------------------------
 
-hsCast :: HsExp -> HsExp
+hsCast :: HS.Exp -> HS.Exp
 {-
 hsCast = addcast . go where
-  addcast [e@(HsVar(UnQual(HsIdent(c:ns))))] | c == 'v' && all isDigit ns = e
-  addcast es = foldl HsApp mazCoerce es
+  addcast [e@(HS.Var(HS.UnQual(HS.Ident(c:ns))))] | c == 'v' && all isDigit ns = e
+  addcast es = foldl HS.App mazCoerce es
   -- this need to be extended if you generate other kinds of exps.
-  go (HsApp e1 e2    ) = go e1 ++ [hsCast e2]
-  go (HsLambda _ ps e) = [ HsLambda dummy ps (hsCast e) ]
+  go (HS.App e1 e2    ) = go e1 ++ [hsCast e2]
+  go (HS.Lambda _ ps e) = [ HS.Lambda dummy ps (hsCast e) ]
   go e = [e]
 -}
 
-hsCast e = mazCoerce `HsApp` hsCast' e
-hsCast' (HsApp e1 e2)     = hsCast' e1 `HsApp` (mazCoerce `HsApp` hsCast' e2)
-hsCast' (HsLambda _ ps e) = HsLambda dummy ps $ hsCast' e
+hsCast e = mazCoerce `HS.App` hsCast' e
+hsCast' (HS.App e1 e2)     = hsCast' e1 `HS.App` (hsCoerce $ hsCast' e2)
+hsCast' (HS.Lambda _ ps e) = HS.Lambda dummy ps $ hsCast' e
 hsCast' e = e
 
+-- No coercion for literal integers
+hsCoerce e@(HS.ExpTypeSig _ (HS.Lit (HS.Int{})) _) = e
+hsCoerce e = HS.App mazCoerce e
+
+
 --------------------------------------------------
 -- Writing out a haskell module
 --------------------------------------------------
 
-writeModule :: HsModule -> TCM ()
-writeModule m =
+writeModule :: HS.Module -> TCM ()
+writeModule (HS.Module l m ps w ex imp ds) = do
   -- Note that GHC assumes that sources use ASCII or UTF-8.
-  liftIO . (`UTF8.writeFile` (preamble ++ prettyPrint m)) =<< outFile
+  out <- outFile m
+  liftIO $ UTF8.writeFile out $ prettyPrint $
+    HS.Module l m (p : ps) w ex imp ds
   where
-  preamble = unlines $ [ "{-# LANGUAGE EmptyDataDecls"
-                       , "           , ExistentialQuantification"
-                       , "           , ScopedTypeVariables"
-                       , "           , NoMonomorphismRestriction"
-                       , "  #-}"
-                       ]
+  p = HS.LanguagePragma dummy $ L.map HS.Ident $
+        [ "EmptyDataDecls"
+        , "ExistentialQuantification"
+        , "ScopedTypeVariables"
+        , "NoMonomorphismRestriction"
+        ]
 
+rteModule :: HS.Module
+rteModule = ok $ parse $ unlines
+  [ "module " ++ prettyPrint mazRTE ++ " where"
+  , "import Unsafe.Coerce"
+  , ""
+  , "-- Special version of coerce that plays well with rules."
+  , "{-# INLINE [1] mazCoerce #-}"
+  , "mazCoerce = Unsafe.Coerce.unsafeCoerce"
+  , "{-# RULES \"coerce-id\" forall (x :: a) . mazCoerce x = x #-}"
+  ]
+  where
+    parse = HS.parseWithMode
+              HS.defaultParseMode{HS.extensions = [HS.ExplicitForall]}
+
+    ok (HS.ParseOk d)   = d
+    ok HS.ParseFailed{} = __IMPOSSIBLE__
+
+
 compileDir :: TCM FilePath
 compileDir = do
   mdir <- optCompileDir <$> commandLineOptions
@@ -391,10 +454,10 @@
     Just dir -> return dir
     Nothing  -> __IMPOSSIBLE__
 
-outFile' = do
+outFile' m = do
   mdir <- compileDir
-  (fdir, fn) <- splitFileName . repldot pathSeparator .
-                prettyPrint <$> curHsMod
+  let (fdir, fn) = splitFileName $ repldot pathSeparator $
+                   prettyPrint m
   let dir = mdir </> fdir
       fp  = dir </> replaceExtension fn "hs"
   liftIO $ createDirectoryIfMissing True dir
@@ -402,9 +465,12 @@
   where
   repldot c = L.map (\c' -> if c' == '.' then c else c')
 
-outFile :: TCM FilePath
-outFile = snd <$> outFile'
+outFile :: HS.ModuleName -> TCM FilePath
+outFile m = snd <$> outFile' m
 
+outFile_ :: TCM FilePath
+outFile_ = outFile =<< curHsMod
+
 callGHC :: Interface -> TCM ()
 callGHC i = do
   setInterface i
@@ -414,7 +480,7 @@
   let outputName = case agdaMod of
         [] -> __IMPOSSIBLE__
         ms -> last ms
-  (mdir, fp) <- outFile'
+  (mdir, fp) <- outFile' =<< curHsMod
   opts       <- optGhcFlags <$> commandLineOptions
 
   let overridableArgs =
@@ -433,30 +499,26 @@
       args     = overridableArgs ++ opts ++ otherArgs
       compiler = "ghc"
 
-  reportSLn "" 1 $ "calling: " ++ L.intercalate " " (compiler : args)
-  (inn, out, err, p) <-
-    liftIO $ runInteractiveProcess compiler args Nothing Nothing
+  -- Note: Some versions of GHC use stderr for progress reports. For
+  -- those versions of GHC we don't print any progress information
+  -- unless an error is encountered.
 
-  liftIO $ do
-    hClose inn
-    -- The handles should be in text mode.
-    hSetBinaryMode out False
-    hSetBinaryMode err False
+  reportSLn "" 1 $ "calling: " ++ L.intercalate " " (compiler : args)
+  (_, _, err, p) <-
+    liftIO $ createProcess (proc compiler args){ std_err = CreatePipe }
 
-  -- GHC seems to use stderr for progress reports.
-  s <- liftIO $ join <$> LocIO.hGetContents err <*> LocIO.hGetContents out
-  reportSLn "" 1 s
+  errors <- liftIO $ case err of
+    Nothing  -> __IMPOSSIBLE__
+    Just err -> do
+      -- The handle should be in text mode.
+      hSetBinaryMode err False
+      liftIO $ LocIO.hGetContents err
 
   exitcode <- liftIO $ do
     -- Ensure that the output has been read before waiting for the
     -- process.
-    E.evaluate (length s)
+    E.evaluate (length errors)
     waitForProcess p
   case exitcode of
-    ExitFailure _ -> typeError (CompilationError s)
+    ExitFailure _ -> typeError (CompilationError errors)
     _             -> return ()
-
-  where
-  -- Note that this function returns s1 before inspecting its input.
-  join s1 s2 =
-    s1 ++ (if L.null s1 || last s1 == '\n' then "" else "\n") ++ s2
diff --git a/src/full/Agda/Compiler/MAlonzo/Compiler.hs-boot b/src/full/Agda/Compiler/MAlonzo/Compiler.hs-boot
--- a/src/full/Agda/Compiler/MAlonzo/Compiler.hs-boot
+++ b/src/full/Agda/Compiler/MAlonzo/Compiler.hs-boot
@@ -1,10 +1,10 @@
 module Agda.Compiler.MAlonzo.Compiler where
 
 import Control.Monad.Reader (ReaderT)
-import Language.Haskell.Syntax (HsExp)
+import qualified Language.Haskell.Exts.Syntax as HS
 
 import Agda.Syntax.Common (Nat)
 import Agda.Syntax.Internal (Term)
 import Agda.TypeChecking.Monad (TCM)
 
-term :: Term -> ReaderT Nat TCM HsExp
+term :: Term -> ReaderT Nat TCM HS.Exp
diff --git a/src/full/Agda/Compiler/MAlonzo/Encode.hs b/src/full/Agda/Compiler/MAlonzo/Encode.hs
--- a/src/full/Agda/Compiler/MAlonzo/Encode.hs
+++ b/src/full/Agda/Compiler/MAlonzo/Encode.hs
@@ -10,7 +10,7 @@
 import Data.Char
 import Data.Function
 import Data.List
-import Language.Haskell.Syntax
+import qualified Language.Haskell.Exts.Syntax as HS
 import Test.QuickCheck
 
 import Agda.Compiler.MAlonzo.Misc
@@ -38,14 +38,17 @@
 -- Precondition: The input must not start or end with @.@, and no two
 -- @.@s may be adjacent.
 
-encodeModuleName :: Module -> Module
-encodeModuleName (Module s) = Module $ case splitUp s of
-  p : ps | p == mazstr -> concat (p : map encNamePart ps)
-  _                    -> s
+encodeModuleName :: HS.ModuleName -> HS.ModuleName
+encodeModuleName (HS.ModuleName s) = HS.ModuleName $ case splitUp s of
+  ps | mazstr' `isPrefixOf` ps ->
+       concat (mazstr' ++ map encNamePart (drop (length mazstr') ps))
+  _                            -> s
   where
   -- splitUp ".apa.bepa." == [".","apa",".","bepa","."]
   splitUp = groupBy ((&&) `on` (/= '.'))
 
+  mazstr' = splitUp mazstr
+
   encNamePart "." = "."
   encNamePart s   = ensureFirstCharLarge s ++ concatMap enc s
 
@@ -65,13 +68,14 @@
 -- generator could strengthen it.
 
 prop_encodeModuleName_injective (M s1) (M s2) =
-  if encodeModuleName (Module s1) == encodeModuleName (Module s2) then
+  if encodeModuleName (HS.ModuleName s1) ==
+     encodeModuleName (HS.ModuleName s2) then
     s1 == s2
    else
     True
 
 prop_encodeModuleName_OK (M s') =
-  s ~= unM (encodeModuleName (Module s))
+  s ~= unM (encodeModuleName (HS.ModuleName s))
   where
   s = mazstr ++ "." ++ s'
 
@@ -82,11 +86,11 @@
                               where (s1', s2') = span (/= '.') s'
   _         ~= _          = False
 
-  unM (Module s) = s
+  unM (HS.ModuleName s) = s
 
 prop_encodeModuleName_preserved (M m) =
   shouldBePreserved m ==>
-    encodeModuleName (Module m) == Module m
+    encodeModuleName (HS.ModuleName m) == HS.ModuleName m
   where
   shouldBePreserved m =
     not (m == mazstr || (mazstr ++ ".") `isPrefixOf` m)
diff --git a/src/full/Agda/Compiler/MAlonzo/Misc.hs b/src/full/Agda/Compiler/MAlonzo/Misc.hs
--- a/src/full/Agda/Compiler/MAlonzo/Misc.hs
+++ b/src/full/Agda/Compiler/MAlonzo/Misc.hs
@@ -9,7 +9,7 @@
 import Data.Set as S
 import Data.Maybe
 import Data.Function
-import Language.Haskell.Syntax
+import qualified Language.Haskell.Exts.Syntax as HS
 import System.IO
 import System.Time
 
@@ -57,7 +57,7 @@
 curMName :: TCM ModuleName
 curMName = sigMName <$> curSig
 
-curHsMod :: TCM Module
+curHsMod :: TCM HS.ModuleName
 curHsMod = mazMod <$> curMName
 
 curDefs :: TCM Definitions
@@ -82,16 +82,16 @@
 -- * Names coming from Haskell must always be used qualified.
 --   Exception: names from the Prelude.
 
-ihname :: String -> Nat -> HsName
-ihname s i = HsIdent $ s ++ show i
+ihname :: String -> Nat -> HS.Name
+ihname s i = HS.Ident $ s ++ show i
 
-unqhname :: String -> QName -> HsName
-unqhname s q | ("d", "main") == (s, show(qnameName q)) = HsIdent "main"
+unqhname :: String -> QName -> HS.Name
+unqhname s q | ("d", "main") == (s, show(qnameName q)) = HS.Ident "main"
              | otherwise = ihname s (idnum $ nameId $ qnameName $ q)
   where idnum (NameId x _) = fromIntegral x
 
 -- the toplevel module containing the given one
-tlmodOf :: ModuleName -> TCM Module
+tlmodOf :: ModuleName -> TCM HS.ModuleName
 tlmodOf = fmap mazMod . tlmname
 
 tlmname :: ModuleName -> TCM ModuleName
@@ -102,76 +102,82 @@
         getVisitedModules
   return $ case ms of (m' : _) -> m'; _ -> __IMPOSSIBLE__
 
--- qualify HsName n by the module of QName q, if necessary;
+-- qualify HS.Name n by the module of QName q, if necessary;
 -- accumulates the used module in stImportedModules at the same time.
-xqual :: QName -> HsName -> TCM HsQName
+xqual :: QName -> HS.Name -> TCM HS.QName
 xqual q n = do m1 <- tlmname (qnameModule q)
                m2 <- curMName
-               if m1 == m2 then return (UnQual n)
-                  else addImport m1 >> return (Qual (mazMod m1) n)
+               if m1 == m2 then return (HS.UnQual n)
+                  else addImport m1 >> return (HS.Qual (mazMod m1) n)
 
-xhqn :: String -> QName -> TCM HsQName
+xhqn :: String -> QName -> TCM HS.QName
 xhqn s q = xqual q (unqhname s q)
 
 -- always use the original name for a constructor even when it's redefined.
-conhqn :: QName -> TCM HsQName
+conhqn :: QName -> TCM HS.QName
 conhqn q = do
     cq   <- canonicalName q
     defn <- theDef <$> getConstInfo cq
-    case defn of Constructor{conHsCode = Just (_, hs)} -> return $ UnQual $ HsIdent hs
+    case defn of Constructor{conHsCode = Just (_, hs)} -> return $ HS.UnQual $ HS.Ident hs
                  _                                     -> xhqn "C" cq
 
 -- qualify name s by the module of builtin b
-bltQual :: String -> String -> TCM HsQName
-bltQual b s = do (Def q _) <- getBuiltin b; xqual q (HsIdent s)
+bltQual :: String -> String -> TCM HS.QName
+bltQual b s = do (Def q _) <- getBuiltin b; xqual q (HS.Ident s)
 
 -- sub-naming for cascaded definitions for concsecutive clauses
 dsubname q i | i == 0    = unqhname "d"                     q
              | otherwise = unqhname ("d_" ++ show i ++ "_") q
 
-hsVarUQ :: HsName -> HsExp
-hsVarUQ = HsVar . UnQual
+hsVarUQ :: HS.Name -> HS.Exp
+hsVarUQ = HS.Var . HS.UnQual
 
 --------------------------------------------------
 -- Hard coded module names
 --------------------------------------------------
 
-mazstr  = "MAlonzo"
+mazstr  = "MAlonzo.Code"
 mazName = mkName_ dummy mazstr
-mazMod' s = Module $ mazstr ++ "." ++ s
-mazMod :: ModuleName -> Module
+mazMod' s = HS.ModuleName $ mazstr ++ "." ++ s
+mazMod :: ModuleName -> HS.ModuleName
 mazMod = mazMod' . show
 mazerror msg = error $ mazstr ++ ": " ++ msg
-mazCoerce = HsVar $ Qual unsafeCoerceMod (HsIdent "unsafeCoerce")
+-- mazCoerce = HS.Var $ HS.Qual unsafeCoerceMod (HS.Ident "unsafeCoerce")
+mazCoerce = HS.Var $ HS.Qual mazRTE $ HS.Ident "mazCoerce"
 
+mazRTE :: HS.ModuleName
+mazRTE = HS.ModuleName "MAlonzo.RTE"
+
 -- for Runtime module: Not really used (Runtime modules has been abolished).
 rtmMod  = mazMod' "Runtime"
-rtmQual = UnQual . HsIdent
-rtmVar  = HsVar . rtmQual
-rtmError s = rtmVar "error" `HsApp`
-             (HsLit $ HsString $ "MAlonzo Runtime Error: " ++ s)
+rtmQual = HS.UnQual . HS.Ident
+rtmVar  = HS.Var . rtmQual
+rtmError s = rtmVar "error" `HS.App`
+             (HS.Lit $ HS.String $ "MAlonzo Runtime Error: " ++ s)
 
-unsafeCoerceMod = Module "Unsafe.Coerce"
+unsafeCoerceMod = HS.ModuleName "Unsafe.Coerce"
 
 --------------------------------------------------
 -- Sloppy ways to declare <name> = <string>
 --------------------------------------------------
 
-fakeD :: HsName -> String -> HsDecl
-fakeD v s = HsFunBind [HsMatch dummy v []
-                      (HsUnGuardedRhs $ hsVarUQ $ HsIdent $ s) [] ]
+fakeD :: HS.Name -> String -> HS.Decl
+fakeD v s = HS.FunBind [ HS.Match dummy v [] Nothing
+                           (HS.UnGuardedRhs $ hsVarUQ $ HS.Ident $ s)
+                           (HS.BDecls [])
+                       ]
 
-fakeDS :: String -> String -> HsDecl
-fakeDS = fakeD . HsIdent
+fakeDS :: String -> String -> HS.Decl
+fakeDS = fakeD . HS.Ident
 
-fakeDQ :: QName -> String -> HsDecl
+fakeDQ :: QName -> String -> HS.Decl
 fakeDQ = fakeD . unqhname "d"
 
-fakeType :: String -> HsQualType
-fakeType = HsQualType [] . HsTyVar . HsIdent
+fakeType :: String -> HS.Type
+fakeType = HS.TyVar . HS.Ident
 
-fakeExp :: String -> HsExp
-fakeExp = HsVar . UnQual . HsIdent
+fakeExp :: String -> HS.Exp
+fakeExp = HS.Var . HS.UnQual . HS.Ident
 
 dummy :: a
 dummy = error "MAlonzo : this dummy value should not have been eval'ed."
@@ -198,5 +204,3 @@
          `extQ` (gshow' . M.toList :: M.Map TermHead [Arg Pattern] -> String)
          `extQ` (gshow' . M.toList :: M.Map String (Builtin String) -> String)
          `extQ` (show :: Scope -> String)
-
-
diff --git a/src/full/Agda/Compiler/MAlonzo/Pretty.hs b/src/full/Agda/Compiler/MAlonzo/Pretty.hs
--- a/src/full/Agda/Compiler/MAlonzo/Pretty.hs
+++ b/src/full/Agda/Compiler/MAlonzo/Pretty.hs
@@ -5,8 +5,7 @@
 module Agda.Compiler.MAlonzo.Pretty where
 
 import Data.Generics
-import qualified Language.Haskell.Pretty as Pretty
-import Language.Haskell.Syntax
+import qualified Language.Haskell.Exts.Pretty as Pretty
 
 import Agda.Compiler.MAlonzo.Encode
 
@@ -15,10 +14,4 @@
 
 prettyPrint :: (Pretty.Pretty a, Data a) => a -> String
 prettyPrint = Pretty.prettyPrint .
-              everywhere (mkT bracket) .
               everywhere (mkT encodeModuleName)
-  where
-  -- Workaround for GHC bug #4284.
-  bracket :: HsExp -> HsExp
-  bracket e@(HsVar _) = e
-  bracket e           = HsParen e
diff --git a/src/full/Agda/Compiler/MAlonzo/Primitives.hs b/src/full/Agda/Compiler/MAlonzo/Primitives.hs
--- a/src/full/Agda/Compiler/MAlonzo/Primitives.hs
+++ b/src/full/Agda/Compiler/MAlonzo/Primitives.hs
@@ -1,240 +1,244 @@
-module Agda.Compiler.MAlonzo.Primitives where
-
-import Control.Monad.Reader
-import Control.Monad.State
-import Data.Char
-import Data.List as L
-import Data.Map as M
-import Language.Haskell.Syntax
-
-import {-# SOURCE #-} Agda.Compiler.MAlonzo.Compiler (term)
-import Agda.Compiler.MAlonzo.Misc
-import Agda.Compiler.MAlonzo.Pretty
-import Agda.Syntax.Common
-import Agda.Syntax.Internal
-import Agda.TypeChecking.Monad
-import Agda.TypeChecking.Monad.Builtin
-import Agda.TypeChecking.Reduce
-import Agda.TypeChecking.Substitute
-import Agda.TypeChecking.Pretty
-import Agda.Utils.Monad
-
--- | Check that the main function has type IO a, for some a.
-checkTypeOfMain :: QName -> Type -> TCM ()
-checkTypeOfMain q ty
-  | show (qnameName q) /= "main" = return ()
-  | otherwise = do
-    Def io [] <- primIO
-    ty <- normalise ty
-    case unEl ty of
-      Def d _ | d == io -> return ()
-      _                 -> do
-        err <- fsep $
-          pwords "The type of main should be" ++
-          [prettyTCM io] ++ pwords " A, for some A. The given type is" ++ [prettyTCM ty]
-        typeError $ GenericError $ show err
-
--- Haskell modules to be imported for BUILT-INs
-importsForPrim :: TCM [Module]
-importsForPrim = xForPrim $ L.map (\(s, ms)-> (s, return (L.map Module ms))) $
-  [ "CHAR" |-> ["Data.Char"]
-  -- , "IO" |-> ["System.IO"]
-  ]
-  where (|->) = (,)
-
-
--- Declarations of helper functions for BUILT-INs
-declsForPrim :: TCM [HsDecl]
-declsForPrim = xForPrim $
-  [ "NATURAL" |-> (++) <$> natToFrom "Integer" mazNatToInteger mazIntegerToNat
-                       <*> natToFrom "Int"     mazNatToInt     mazIntToNat
-  , "LIST"   |-> forList mazListToHList mazHListToList
-  , "STRING" |-> forList mazListToString mazStringToList
-  , "BOOL"   |-> decls ["TRUE", "FALSE"]
-       mazBoolToHBool "let { f <<0>> = True; f <<1>> = False; } in f"
-       mazHBoolToBool "let { f True = <<0>>; f False = <<1>>; } in f"
-  , "CHAR"   |-> return
-                 [ fakeDS mazCharToInteger
-                   "(fromIntegral . Data.Char.ord :: Char -> Integer)"
-                 ]
-  ]
-  where
-    infix 1 |->
-    (|->) = (,)
-    forList toH toA = decls ["NIL", "CONS"]
-       toH (concat
-           ["let { f <<0>>        = [];"
-           ,"      f (<<1>> x xs) = x : f (Unsafe.Coerce.unsafeCoerce xs)"
-           ,"} in f"])
-       toA (concat
-           ["let { f []     = <<0>>;"
-           ,"      f (c:cs) = <<1>> c (Unsafe.Coerce.unsafeCoerce (f cs));"
-           ,"} in f"])
-    natToFrom hty to from = let
-        totxt   = repl ["<<0>>", "<<1>>", hty] (concat
-                       ["let { f <<0>>     = 0 :: <<2>>;"
-                       ,"      f (<<1>> x) = 1 + f (Unsafe.Coerce.unsafeCoerce x);"
-                       ,"} in f"])
-        fromtxt = repl ["<<0>>", "<<1>>", hty] (concat
-                       ["let { f x | x <= (0 :: <<2>>) = <<0>>"
-                       ,"     | True = <<1>> (Unsafe.Coerce.unsafeCoerce (f (x - 1)))"
-                       ,"} in f"])
-      in decls ["ZERO", "SUC"] to totxt from fromtxt
-    decls cs n1 b1 n2 b2 =
-      ifM (hasCompiledData cs)
-          (return $ L.map (`fakeDS` "id") [n1, n2])
-        $ do cs' <- mapM pconName cs
-             return $ zipWith (\ n -> fakeDS n . repl cs') [n1, n2] [b1, b2]
-
-mazNatToInteger  = "mazNatToInteger"
-mazIntegerToNat  = "mazIntegerToNat"
-mazNatToInt      = "mazNatToInt"
-mazIntToNat      = "mazIntToNat"
-mazCharToInteger = "mazCharToInteger"
-mazListToHList   = "mazListToHList"
-mazHListToList   = "mazHListToList"
-mazListToString  = "mazListToString"
-mazStringToList  = "mazStringToList"
-mazBoolToHBool   = "mazBoolToHBool"
-mazHBoolToBool   = "mazHBoolToBool"
-
---------------
-
-xForPrim :: [(String, TCM [a])] -> TCM [a]
-xForPrim table = do
-  qs <- keys   <$> curDefs
-  bs <- toList <$> gets stBuiltinThings
-  concat <$> sequence [ maybe (return []) id $ L.lookup s table
-                        | (s, Builtin (Def q _)) <- bs, q `elem` qs ]
-
-
--- Definition bodies for primitive functions
-primBody :: String -> TCM HsExp
-primBody s = maybe unimplemented (either (hsVarUQ . HsIdent) id <$>) $
-             L.lookup s $
-  [
-  -- Integer functions
-    "primIntegerPlus"    |-> binAsis "(+)" "Integer"
-  , "primIntegerMinus"   |-> binAsis "(-)" "Integer"
-  , "primIntegerTimes"   |-> binAsis "(*)" "Integer"
-  , "primIntegerDiv"     |-> binAsis "div" "Integer"
-  , "primIntegerMod"     |-> binAsis "mod" "Integer"
-  , "primIntegerEquality"|-> rel "(==)" "Integer"
-  , "primIntegerLess"    |-> rel "(<)"  "Integer"
-  , "primIntegerAbs"     |-> do toN <- bltQual' "NATURAL" mazIntegerToNat
-                                return $ repl [toN] $ "\\ x -> <<0>> (abs x)"
-  , "primNatToInteger"   |-> bltQual' "NATURAL" mazNatToInteger
-  , "primShowInteger"    |-> return "(show :: Integer -> String)"
-
-  -- Natural number functions
-  , "primNatPlus"     |-> binNat "(+)"
-  , "primNatMinus"    |-> binNat "(-)"
-  , "primNatTimes"    |-> binNat "(*)"
-  , "primNatDivSuc"   |-> binNat "(\\ x y -> div x (y + 1))"
-  , "primNatModSuc"   |-> binNat "(\\ x y -> mod x (y + 1))"
-  , "primNatEquality" |-> relNat "(==)"
-  , "primNatLess"     |-> relNat "(<)"
-
-  -- Floating point functions
-  , "primIntegerToFloat"    |-> return "(fromIntegral :: Integer -> Double)"
-  , "primFloatPlus"	    |-> return "((+) :: Double -> Double -> Double)"
-  , "primFloatMinus"	    |-> return "((-) :: Double -> Double -> Double)"
-  , "primFloatTimes"	    |-> return "((*) :: Double -> Double -> Double)"
-  , "primFloatDiv"	    |-> return "((/) :: Double -> Double -> Double)"
-  , "primFloatLess"         |-> rel "(<)" "Double"
-  , "primRound"	            |-> return "(round :: Double -> Integer)"
-  , "primFloor"	            |-> return "(floor :: Double -> Integer)"
-  , "primCeiling"	    |-> return "(ceiling :: Double -> Integer)"
-  , "primExp"		    |-> return "(exp :: Double -> Double)"
-  , "primLog"		    |-> return "(log :: Double -> Double)"  -- partial
-  , "primSin"		    |-> return "(sin :: Double -> Double)"
-  , "primShowFloat"	    |-> return "(show :: Double -> String)"
-  , "primRound"             |-> return "(round :: Double -> Integer)"
-
-  -- Character functions
-  , "primCharEquality"   |-> rel "(==)" "Char"
-  , "primIsLower"        |-> pred "Data.Char.isLower"
-  , "primIsDigit"        |-> pred "Data.Char.isDigit"
-  , "primIsAlpha"        |-> pred "Data.Char.isAlpha"
-  , "primIsSpace"        |-> pred "Data.Char.isSpace"
-  , "primIsAscii"        |-> pred "Data.Char.isAscii"
-  , "primIsLatin1"       |-> pred "Data.Char.isLatin1"
-  , "primIsPrint"        |-> pred "Data.Char.isPrint"
-  , "primIsHExDigit"     |-> pred "Data.Char.isHexDigit"
-  , "primToUpper"        |-> return "Data.Char.toUpper"
-  , "primToLower"        |-> return "Data.Char.toLower"
-  , "primCharToNat" |-> do toN <- bltQual' "NATURAL" mazIntToNat
-                           return $ repl [toN] $
-                            "(\\ x -> <<0>> ((fromEnum :: Char -> Int) x))"
-  , "primNatToChar" |-> do toI <- bltQual' "NATURAL" mazNatToInt
-                           return $ repl[toI] $
-                            "(\\ x -> (toEnum :: Int -> Char) (<<0>> x))"
-  , "primShowChar"  |-> return "(show :: Char -> String)"
-
-  -- String functions
-  , "primStringToList"   |-> bltQual' "STRING" mazStringToList
-  , "primStringFromList" |-> bltQual' "STRING" mazListToString
-  , "primStringAppend"   |-> binAsis "(++)" "String"
-  , "primStringEquality" |-> rel "(==)" "String"
-  , "primShowString"     |-> return "(show :: String -> String)"
-
-  -- QNames
-  , "primQNameEquality" |-> rel "(==)" "String"
-
-  -- Trust me
-  , ("primTrustMe"       , Right <$> do
-       refl <- primRefl
-       flip runReaderT 0 $
-         term $ lam "A" (lam "x" (lam "y" refl)))
-  ]
-  where
-  x |-> s = (x, Left <$> s)
-  bin blt op ty from to = do
-    from' <- bltQual' blt from
-    to'   <- bltQual' blt to
-    return $ repl [op, opty ty, from', to'] $
-               "\\ x y -> <<3>> ((<<0>> :: <<1>>) (<<2>> x) (<<2>> y))"
-  binNat op = bin "NATURAL" op "Integer" mazNatToInteger mazIntegerToNat
-  binAsis op ty = return $ repl [op, opty ty] $ "((<<0>>) :: <<1>>)"
-  rel' toTy op ty = do
-    toHB <- bltQual' "BOOL" mazHBoolToBool
-    return $ repl [op, ty, toHB, toTy] $
-      "(\\ x y -> <<2>> ((<<0>> :: <<1>> -> <<1>> -> Bool) (<<3>> x) (<<3>> y)))"
-  relNat op = do toHI <- bltQual' "NATURAL" mazNatToInteger
-                 rel' toHI op "Integer"
-  rel op ty  = rel' "" op ty
-  pred p = do toHB <- bltQual' "BOOL" mazHBoolToBool
-              return $ repl [p, toHB] $ "(\\ x -> <<1>> (<<0>> x))"
-  opty t = t ++ "->" ++ t ++ "->" ++ t
-  unimplemented = typeError $ NotImplemented s
-
-  lam x t = Lam Hidden (Abs x t)
-  var x   = Arg Hidden Relevant (Var x [])
-
-----------------------
-
-repl subs = go where
-  go ('<':'<':c:'>':'>':s) | 0 <= i && i < length subs = subs !! i ++ go s
-     where i = ord c - ord '0'
-  go (c:s) = c : go s
-  go []    = []
-
-pconName :: String -> TCM String
-pconName s = toS =<< getBuiltin s where
-  toS (Con q _)         = prettyPrint <$> conhqn q
-  toS (Lam _ (Abs _ t)) = toS t
-  toS _ = mazerror $ "pconName" ++ s
-
-hasCompiledData :: [String] -> TCM Bool
-hasCompiledData (s:_) = toB =<< getBuiltin s where
-  toB (Con q _)         = do
-    def <- getConstInfo =<< ignoreAbstractMode (canonicalName q)
-    return $ case theDef def of Constructor{conHsCode = Just _} -> True
-                                _                               -> False
-  toB (Lam _ (Abs _ t)) = toB t
-  toB _                 = return False
-hasCompiledData _    = return False
-
-
-bltQual' b s = prettyPrint <$> bltQual b s
-
+module Agda.Compiler.MAlonzo.Primitives where
+
+import Control.Monad.Reader
+import Control.Monad.State
+import Data.Char
+import Data.List as L
+import Data.Map as M
+import qualified Language.Haskell.Exts.Syntax as HS
+
+import {-# SOURCE #-} Agda.Compiler.MAlonzo.Compiler (term)
+import Agda.Compiler.MAlonzo.Misc
+import Agda.Compiler.MAlonzo.Pretty
+import Agda.Syntax.Common
+import Agda.Syntax.Internal
+import Agda.TypeChecking.Monad
+import Agda.TypeChecking.Monad.Builtin
+import Agda.TypeChecking.Reduce
+import Agda.TypeChecking.Substitute
+import Agda.TypeChecking.Pretty
+import Agda.Utils.Monad
+
+-- | Check that the main function has type IO a, for some a.
+checkTypeOfMain :: QName -> Type -> TCM ()
+checkTypeOfMain q ty
+  | show (qnameName q) /= "main" = return ()
+  | otherwise = do
+    Def io [] <- primIO
+    ty <- normalise ty
+    case unEl ty of
+      Def d _ | d == io -> return ()
+      _                 -> do
+        err <- fsep $
+          pwords "The type of main should be" ++
+          [prettyTCM io] ++ pwords " A, for some A. The given type is" ++ [prettyTCM ty]
+        typeError $ GenericError $ show err
+
+-- Haskell modules to be imported for BUILT-INs
+importsForPrim :: TCM [HS.ModuleName]
+importsForPrim =
+  xForPrim $
+  L.map (\(s, ms) -> (s, return (L.map HS.ModuleName ms))) $
+  [ "CHAR" |-> ["Data.Char"]
+  -- , "IO" |-> ["System.IO"]
+  ]
+  where (|->) = (,)
+
+-- Declarations of helper functions for BUILT-INs
+declsForPrim :: TCM [HS.Decl]
+declsForPrim = xForPrim $
+  [ "NATURAL" |-> (++) <$> natToFrom "Integer" mazNatToInteger mazIntegerToNat
+                       <*> natToFrom "Int"     mazNatToInt     mazIntToNat
+  , "LIST"   |-> forList mazListToHList mazHListToList
+  , "STRING" |-> forList mazListToString mazStringToList
+  , "BOOL"   |-> decls ["TRUE", "FALSE"]
+       mazBoolToHBool "let { f <<0>> = True; f <<1>> = False; } in f"
+       mazHBoolToBool "let { f True = <<0>>; f False = <<1>>; } in f"
+  , "CHAR"   |-> return
+                 [ fakeDS mazCharToInteger
+                   "(fromIntegral . Data.Char.ord :: Char -> Integer)"
+                 ]
+  ]
+  where
+    infix 1 |->
+    (|->) = (,)
+    forList toH toA = decls ["NIL", "CONS"]
+       toH (concat
+           ["let { f <<0>>        = [];"
+           ,"      f (<<1>> x xs) = x : f (" ++ prettyPrint mazCoerce ++ " xs)"
+           ,"} in f"])
+       toA (concat
+           ["let { f []     = <<0>>;"
+           ,"      f (c:cs) = <<1>> c (" ++ prettyPrint mazCoerce ++ " (f cs));"
+           ,"} in f"])
+    natToFrom hty to from = let
+        totxt   = repl ["<<0>>", "<<1>>", hty, to] $ concat
+                  [ "\\ x -> case x of { <<0>> -> 0 :: <<2>>; "
+                  , "<<1>> x -> 1 + (<<3>> (" ++ prettyPrint mazCoerce ++ " x)) }" ]
+        fromtxt = repl ["<<0>>", "<<1>>", hty, from] $ concat
+                  [ "\\ x -> if x <= (0 :: <<2>>) then <<0>> "
+                  , "else <<1>> (" ++ prettyPrint mazCoerce ++ " (<<3>> (x - 1)))" ]
+      in do
+        ds <- decls ["ZERO", "SUC"] to totxt from fromtxt
+        let rule name = HS.Rule name HS.AlwaysActive (Just [HS.RuleVar $ HS.Ident "x"])
+            var = HS.Var . HS.UnQual . HS.Ident
+            (%) = HS.App
+        return $ [HS.RulePragmaDecl dummy
+                  [ rule (to ++ "-" ++ from) (var to   % (var from % var "x")) (var "x")
+                  , rule (from ++ "-" ++ to) (var from % (var to   % var "x")) (var "x")
+                  ]] ++ ds
+    decls cs n1 b1 n2 b2 =
+      do cs' <- mapM pconName cs
+         return $ zipWith (\ n -> fakeDS n . repl cs') [n1, n2] [b1, b2]
+
+mazNatToInteger  = "mazNatToInteger"
+mazIntegerToNat  = "mazIntegerToNat"
+mazNatToInt      = "mazNatToInt"
+mazIntToNat      = "mazIntToNat"
+mazCharToInteger = "mazCharToInteger"
+mazListToHList   = "mazListToHList"
+mazHListToList   = "mazHListToList"
+mazListToString  = "mazListToString"
+mazStringToList  = "mazStringToList"
+mazBoolToHBool   = "mazBoolToHBool"
+mazHBoolToBool   = "mazHBoolToBool"
+
+--------------
+
+xForPrim :: [(String, TCM [a])] -> TCM [a]
+xForPrim table = do
+  qs <- keys   <$> curDefs
+  bs <- toList <$> gets stBuiltinThings
+  concat <$> sequence [ maybe (return []) id $ L.lookup s table
+                        | (s, Builtin (Def q _)) <- bs, q `elem` qs ]
+
+
+-- Definition bodies for primitive functions
+primBody :: String -> TCM HS.Exp
+primBody s = maybe unimplemented (either (hsVarUQ . HS.Ident) id <$>) $
+             L.lookup s $
+  [
+  -- Integer functions
+    "primIntegerPlus"    |-> binAsis "(+)" "Integer"
+  , "primIntegerMinus"   |-> binAsis "(-)" "Integer"
+  , "primIntegerTimes"   |-> binAsis "(*)" "Integer"
+  , "primIntegerDiv"     |-> binAsis "div" "Integer"
+  , "primIntegerMod"     |-> binAsis "mod" "Integer"
+  , "primIntegerEquality"|-> rel "(==)" "Integer"
+  , "primIntegerLess"    |-> rel "(<)"  "Integer"
+  , "primIntegerAbs"     |-> do toN <- bltQual' "NATURAL" mazIntegerToNat
+                                return $ repl [toN] $ "\\ x -> <<0>> (abs x)"
+  , "primNatToInteger"   |-> bltQual' "NATURAL" mazNatToInteger
+  , "primShowInteger"    |-> return "(show :: Integer -> String)"
+
+  -- Natural number functions
+  , "primNatPlus"     |-> binNat "(+)"
+  , "primNatMinus"    |-> binNat "(-)"
+  , "primNatTimes"    |-> binNat "(*)"
+  , "primNatDivSuc"   |-> binNat "(\\ x y -> div x (y + 1))"
+  , "primNatModSuc"   |-> binNat "(\\ x y -> mod x (y + 1))"
+  , "primNatEquality" |-> relNat "(==)"
+  , "primNatLess"     |-> relNat "(<)"
+
+  -- Floating point functions
+  , "primIntegerToFloat"    |-> return "(fromIntegral :: Integer -> Double)"
+  , "primFloatPlus"	    |-> return "((+) :: Double -> Double -> Double)"
+  , "primFloatMinus"	    |-> return "((-) :: Double -> Double -> Double)"
+  , "primFloatTimes"	    |-> return "((*) :: Double -> Double -> Double)"
+  , "primFloatDiv"	    |-> return "((/) :: Double -> Double -> Double)"
+  , "primFloatLess"         |-> rel "(<)" "Double"
+  , "primRound"	            |-> return "(round :: Double -> Integer)"
+  , "primFloor"	            |-> return "(floor :: Double -> Integer)"
+  , "primCeiling"	    |-> return "(ceiling :: Double -> Integer)"
+  , "primExp"		    |-> return "(exp :: Double -> Double)"
+  , "primLog"		    |-> return "(log :: Double -> Double)"  -- partial
+  , "primSin"		    |-> return "(sin :: Double -> Double)"
+  , "primShowFloat"	    |-> return "(show :: Double -> String)"
+  , "primRound"             |-> return "(round :: Double -> Integer)"
+
+  -- Character functions
+  , "primCharEquality"   |-> rel "(==)" "Char"
+  , "primIsLower"        |-> pred "Data.Char.isLower"
+  , "primIsDigit"        |-> pred "Data.Char.isDigit"
+  , "primIsAlpha"        |-> pred "Data.Char.isAlpha"
+  , "primIsSpace"        |-> pred "Data.Char.isSpace"
+  , "primIsAscii"        |-> pred "Data.Char.isAscii"
+  , "primIsLatin1"       |-> pred "Data.Char.isLatin1"
+  , "primIsPrint"        |-> pred "Data.Char.isPrint"
+  , "primIsHExDigit"     |-> pred "Data.Char.isHexDigit"
+  , "primToUpper"        |-> return "Data.Char.toUpper"
+  , "primToLower"        |-> return "Data.Char.toLower"
+  , "primCharToNat" |-> do toN <- bltQual' "NATURAL" mazIntToNat
+                           return $ repl [toN] $
+                            "(\\ x -> <<0>> ((fromEnum :: Char -> Int) x))"
+  , "primNatToChar" |-> do toI <- bltQual' "NATURAL" mazNatToInt
+                           return $ repl[toI] $
+                            "(\\ x -> (toEnum :: Int -> Char) (<<0>> x))"
+  , "primShowChar"  |-> return "(show :: Char -> String)"
+
+  -- String functions
+  , "primStringToList"   |-> bltQual' "STRING" mazStringToList
+  , "primStringFromList" |-> bltQual' "STRING" mazListToString
+  , "primStringAppend"   |-> binAsis "(++)" "String"
+  , "primStringEquality" |-> rel "(==)" "String"
+  , "primShowString"     |-> return "(show :: String -> String)"
+
+  -- QNames
+  , "primQNameEquality" |-> rel "(==)" "String"
+
+  -- Trust me
+  , ("primTrustMe"       , Right <$> do
+       refl <- primRefl
+       flip runReaderT 0 $
+         term $ lam "A" (lam "x" (lam "y" refl)))
+  ]
+  where
+  x |-> s = (x, Left <$> s)
+  bin blt op ty from to = do
+    from' <- bltQual' blt from
+    to'   <- bltQual' blt to
+    return $ repl [op, opty ty, from', to'] $
+               "\\ x y -> <<3>> ((<<0>> :: <<1>>) (<<2>> x) (<<2>> y))"
+  binNat op = bin "NATURAL" op "Integer" mazNatToInteger mazIntegerToNat
+  binAsis op ty = return $ repl [op, opty ty] $ "((<<0>>) :: <<1>>)"
+  rel' toTy op ty = do
+    toHB <- bltQual' "BOOL" mazHBoolToBool
+    return $ repl [op, ty, toHB, toTy] $
+      "(\\ x y -> <<2>> ((<<0>> :: <<1>> -> <<1>> -> Bool) (<<3>> x) (<<3>> y)))"
+  relNat op = do toHI <- bltQual' "NATURAL" mazNatToInteger
+                 rel' toHI op "Integer"
+  rel op ty  = rel' "" op ty
+  pred p = do toHB <- bltQual' "BOOL" mazHBoolToBool
+              return $ repl [p, toHB] $ "(\\ x -> <<1>> (<<0>> x))"
+  opty t = t ++ "->" ++ t ++ "->" ++ t
+  unimplemented = typeError $ NotImplemented s
+
+  lam x t = Lam Hidden (Abs x t)
+  var x   = Arg Hidden Relevant (Var x [])
+
+----------------------
+
+repl subs = go where
+  go ('<':'<':c:'>':'>':s) | 0 <= i && i < length subs = subs !! i ++ go s
+     where i = ord c - ord '0'
+  go (c:s) = c : go s
+  go []    = []
+
+pconName :: String -> TCM String
+pconName s = toS =<< getBuiltin s where
+  toS (Con q _)         = prettyPrint <$> conhqn q
+  toS (Lam _ (Abs _ t)) = toS t
+  toS _ = mazerror $ "pconName" ++ s
+
+hasCompiledData :: [String] -> TCM Bool
+hasCompiledData (s:_) = toB =<< getBuiltin s where
+  toB (Con q _)         = do
+    def <- getConstInfo =<< ignoreAbstractMode (canonicalName q)
+    return $ case theDef def of Constructor{conHsCode = Just _} -> True
+                                _                               -> False
+  toB (Lam _ (Abs _ t)) = toB t
+  toB _                 = return False
+hasCompiledData _    = return False
+
+
+bltQual' b s = prettyPrint <$> bltQual b s
diff --git a/src/full/Agda/ImpossibleTest.hs b/src/full/Agda/ImpossibleTest.hs
new file mode 100644
--- /dev/null
+++ b/src/full/Agda/ImpossibleTest.hs
@@ -0,0 +1,8 @@
+{-# LANGUAGE CPP #-}
+module Agda.ImpossibleTest where
+
+import Agda.Utils.Impossible
+
+#include "undefined.h"
+
+impossibleTest = __IMPOSSIBLE__
diff --git a/src/full/Agda/Interaction/BasicOps.hs b/src/full/Agda/Interaction/BasicOps.hs
--- a/src/full/Agda/Interaction/BasicOps.hs
+++ b/src/full/Agda/Interaction/BasicOps.hs
@@ -180,7 +180,7 @@
 evalInCurrent e =
     do  t <- newTypeMeta_
 	v <- checkExpr e t
-	v' <- etaContract =<< normalise v
+	v' <- {- etaContract =<< -} normalise v
 	reify v'
 
 
@@ -197,8 +197,8 @@
 --rewrite :: Rewrite -> Term -> TCM Term
 rewrite AsIs	     t = return t
 rewrite Instantiated t = return t   -- reify does instantiation
-rewrite HeadNormal   t = etaContract =<< reduce t
-rewrite Normalised   t = etaContract =<< normalise t
+rewrite HeadNormal   t = {- etaContract =<< -} reduce t
+rewrite Normalised   t = {- etaContract =<< -} normalise t
 
 
 data OutputForm a b
@@ -517,7 +517,7 @@
       let tel  = telFromList [defaultArg ("_", t)]
           perm = idP 1
           pat  = [defaultArg (I.VarP "c")]
-      r <- split tel perm pat 0
+      r <- split CoInductive tel perm pat 0
       case r of
         Left err -> return []
         Right cs -> mapM showTCM $ concatMap (conName . scPats) cs
diff --git a/src/full/Agda/Interaction/CommandLine/CommandLine.hs b/src/full/Agda/Interaction/CommandLine/CommandLine.hs
--- a/src/full/Agda/Interaction/CommandLine/CommandLine.hs
+++ b/src/full/Agda/Interaction/CommandLine/CommandLine.hs
@@ -305,4 +305,3 @@
     [ "<exp> Infer type of expression <exp> and evaluate it." ]
     where
 	explain (x,_) = ":" ++ x
-
diff --git a/src/full/Agda/Interaction/Exceptions.hs b/src/full/Agda/Interaction/Exceptions.hs
--- a/src/full/Agda/Interaction/Exceptions.hs
+++ b/src/full/Agda/Interaction/Exceptions.hs
@@ -20,4 +20,3 @@
 failOnException h m = m `catch` handleParseException handler
     where
 	handler x = h (getRange x) (show x)
-
diff --git a/src/full/Agda/Interaction/GhciTop.hs b/src/full/Agda/Interaction/GhciTop.hs
--- a/src/full/Agda/Interaction/GhciTop.hs
+++ b/src/full/Agda/Interaction/GhciTop.hs
@@ -95,6 +95,7 @@
 
 import Agda.Termination.TermCheck
 
+import qualified Agda.Compiler.Epic.Compiler as Epic
 import qualified Agda.Compiler.MAlonzo.Compiler as MAlonzo
 
 import qualified Agda.Auto.Auto as Auto
@@ -128,22 +129,32 @@
 theState :: IORef State
 theState = unsafePerformIO $ newIORef initState
 
+-- | Can the command run even if the relevant file has not been loaded
+-- into the state?
+
+data Independence
+  = Independent (Maybe [FilePath])
+    -- ^ Yes. If the argument is @'Just' is@, then @is@ is used as the
+    -- command's include directories.
+  | Dependent
+    -- No.
+
 -- | An interactive computation.
 
 data Interaction = Interaction
-  { includeDirectories :: Maybe [FilePath]
-    -- ^ A command is independent iff this field is @'Just' is@; @is@
-    -- is used as the command's include directories.
+  { independence :: Independence
+    -- ^ Is the command independent?
   , command :: TCM (Maybe ModuleName)
     -- ^ If a module name is returned, then syntax highlighting
     -- information will be written for the given module (by 'ioTCM').
   }
 
--- | Can the command run even if the relevant file has not been loaded
--- into the state?
+-- ^ Is the command independent?
 
 isIndependent :: Interaction -> Bool
-isIndependent = isJust . includeDirectories
+isIndependent i = case independence i of
+  Independent {} -> True
+  Dependent   {} -> False
 
 -- | Run a TCM computation in the current state. Should only
 --   be used for debugging.
@@ -202,9 +213,13 @@
   r <- runTCM $ catchError (do
            put st
            x  <- withEnv initEnv $ do
-                   case includeDirectories cmd of
-                     Nothing -> ensureFileLoaded current
-                     Just is -> do
+                   case independence cmd of
+                     Dependent             -> ensureFileLoaded current
+                     Independent Nothing   ->
+                       -- Make sure that the include directories have
+                       -- been set.
+                       setCommandLineOptions =<< commandLineOptions
+                     Independent (Just is) -> do
                        ex <- liftIO $ doesFileExist $ filePath current
                        setIncludeDirs is $
                          if ex then ProjectRoot current else CurrentDir
@@ -250,7 +265,7 @@
 
   -- If an error was encountered, display an error message and exit
   -- with an error code; otherwise, inform Emacs about the buffer's
-  -- goals.
+  -- goals (if current matches the new current file).
   let errStatus = Status { sChecked               = False
                          , sShowImplicitArguments =
                              optShowImplicit $ stPragmaOptions st
@@ -260,9 +275,13 @@
     Left e              -> displayErrorAndExit errStatus (getRange e) $
                              tcErrString e
     Right (Right _)     -> do
-      is <- theInteractionPoints <$> liftIO (readIORef theState)
-      liftIO $ LocIO.putStrLn $ response $
-        L [A "agda2-goals-action", Q $ L $ List.map showNumIId is]
+      f <- theCurrentFile <$> readIORef theState
+      case f of
+        Just (f, _) | f === current -> do
+          is <- theInteractionPoints <$> liftIO (readIORef theState)
+          liftIO $ LocIO.putStrLn $ response $
+            L [A "agda2-goals-action", Q $ L $ List.map showNumIId is]
+        _ -> return ()
 
 -- | @cmd_load m includes@ loads the module in file @m@, using
 -- @includes@ as the include directories.
@@ -283,7 +302,7 @@
           -> ((Interface, Maybe Imp.Warnings) -> TCM ())
           -> Interaction
 cmd_load' file includes unsolvedOK cmd =
-  Interaction (Just includes) $ do
+  Interaction (Independent (Just includes)) $ do
     -- Forget the previous "current file" and interaction points.
     liftIO $ modifyIORef theState $ \s ->
       s { theInteractionPoints = []
@@ -331,17 +350,23 @@
 
     return $ Just $ iModuleName (fst ok)
 
--- | @cmd_compile m includes@ compiles the module in file @m@, using
--- @includes@ as the include directories.
+-- | Available backends.
 
-cmd_compile :: FilePath -> [FilePath] -> Interaction
-cmd_compile file includes =
+data Backend = MAlonzo | Epic
+
+-- | @cmd_compile b m includes@ compiles the module in file @m@ using
+-- the backend @b@, using @includes@ as the include directories.
+
+cmd_compile :: Backend -> FilePath -> [FilePath] -> Interaction
+cmd_compile b file includes =
   cmd_load' file includes False (\(i, mw) ->
     case mw of
       Nothing -> do
-        MAlonzo.compilerMain i
+        case b of
+          MAlonzo -> MAlonzo.compilerMain i
+          Epic    -> Epic.compilerMain i
         display_info "*Compilation result*"
-                   "The module was successfully compiled."
+                     "The module was successfully compiled."
       Just w ->
         display_info errorTitle $ unlines
           [ "You can only compile modules without unsolved metavariables"
@@ -349,7 +374,7 @@
           ])
 
 cmd_constraints :: Interaction
-cmd_constraints = Interaction Nothing $ do
+cmd_constraints = Interaction Dependent $ do
     cs <- map show <$> B.getConstraints
     display_info "*Constraints*" (unlines cs)
     return Nothing
@@ -357,7 +382,7 @@
 -- Show unsolved metas. If there are no unsolved metas but unsolved constraints
 -- show those instead.
 cmd_metas :: Interaction
-cmd_metas = Interaction Nothing $ do -- CL.showMetas []
+cmd_metas = Interaction Dependent $ do -- CL.showMetas []
   ims <- B.typesOfVisibleMetas B.AsIs
   -- Show unsolved implicit arguments normalised.
   hms <- B.typesOfHiddenMetas B.Normalised
@@ -398,7 +423,8 @@
 cmd_refine :: GoalCommand
 cmd_refine = give_gen B.refine $ \_ s -> quote . show
 
-give_gen give_ref mk_newtxt ii rng s = Interaction Nothing $ give_gen' give_ref mk_newtxt ii rng s
+give_gen give_ref mk_newtxt ii rng s = Interaction Dependent $
+  give_gen' give_ref mk_newtxt ii rng s
 
 give_gen' give_ref mk_newtxt ii rng s = do
   scope     <- getInteractionScope ii
@@ -417,7 +443,7 @@
   replace x xs ys = concatMap (\y -> if y == x then xs else [y]) ys
 
 cmd_intro :: GoalCommand
-cmd_intro ii rng _ = Interaction Nothing $ do
+cmd_intro ii rng _ = Interaction Dependent $ do
   ss <- B.introTactic ii
   B.withInteractionId ii $ case ss of
     []    -> do
@@ -439,7 +465,7 @@
   (if null s then cmd_intro else cmd_refine) ii rng s
 
 cmd_auto :: GoalCommand
-cmd_auto ii rng s = Interaction Nothing $ do
+cmd_auto ii rng s = Interaction Dependent $ do
   (res, msg) <- Auto.auto ii rng s
   case res of
    Left xs -> do
@@ -495,19 +521,19 @@
   return $ align 10 $ shuffle $ zip ns (map (text ":" <+>) es)
 
 cmd_context :: B.Rewrite -> GoalCommand
-cmd_context norm ii _ _ = Interaction Nothing $ do
+cmd_context norm ii _ _ = Interaction Dependent $ do
   display_infoD "*Context*" =<< prettyContext norm False ii
   return Nothing
 
 cmd_infer :: B.Rewrite -> GoalCommand
-cmd_infer norm ii rng s = Interaction Nothing $ do
+cmd_infer norm ii rng s = Interaction Dependent $ do
   display_infoD "*Inferred Type*"
     =<< B.withInteractionId ii
           (prettyATop =<< B.typeInMeta ii norm =<< B.parseExprIn ii rng s)
   return Nothing
 
 cmd_goal_type :: B.Rewrite -> GoalCommand
-cmd_goal_type norm ii _ _ = Interaction Nothing $ do
+cmd_goal_type norm ii _ _ = Interaction Dependent $ do
   s <- B.withInteractionId ii $ prettyTypeOfMeta norm ii
   display_infoD "*Current Goal*" s
   return Nothing
@@ -528,17 +554,18 @@
 -- | Displays the current goal and context.
 
 cmd_goal_type_context :: B.Rewrite -> GoalCommand
-cmd_goal_type_context norm ii rng s = Interaction Nothing $
+cmd_goal_type_context norm ii rng s = Interaction Dependent $
   cmd_goal_type_context_and P.empty norm ii rng s
 
 -- | Displays the current goal and context /and/ infers the type of an
 -- expression.
 
 cmd_goal_type_context_infer :: B.Rewrite -> GoalCommand
-cmd_goal_type_context_infer norm ii rng s = Interaction Nothing $ do
-  typ <- B.withInteractionId ii $
-           prettyATop =<< B.typeInMeta ii norm =<< B.parseExprIn ii rng s
-  cmd_goal_type_context_and (text "Have:" <+> typ) norm ii rng s
+cmd_goal_type_context_infer norm ii rng s =
+  Interaction Dependent $ do
+    typ <- B.withInteractionId ii $
+             prettyATop =<< B.typeInMeta ii norm =<< B.parseExprIn ii rng s
+    cmd_goal_type_context_and (text "Have:" <+> typ) norm ii rng s
 
 -- | Shows all the top-level names in the given module, along with
 -- their types.
@@ -560,7 +587,7 @@
 -- their types. Uses the scope of the given goal.
 
 cmd_show_module_contents :: GoalCommand
-cmd_show_module_contents ii rng s = Interaction Nothing $ do
+cmd_show_module_contents ii rng s = Interaction Dependent $ do
   B.withInteractionId ii $ showModuleContents rng s
   return Nothing
 
@@ -568,7 +595,7 @@
 -- their types. Uses the top-level scope.
 
 cmd_show_module_contents_toplevel :: String -> Interaction
-cmd_show_module_contents_toplevel s = Interaction Nothing $ do
+cmd_show_module_contents_toplevel s = Interaction Dependent $ do
   B.atTopLevel $ showModuleContents noRange s
   return Nothing
 
@@ -694,7 +721,7 @@
 nameModifiers = "" : "'" : "''" : [show i | i <-[3..]]
 
 cmd_make_case :: GoalCommand
-cmd_make_case ii rng s = Interaction Nothing $ do
+cmd_make_case ii rng s = Interaction Dependent $ do
   cs <- makeCase ii rng s
   B.withInteractionId ii $ do
     pcs <- mapM prettyA cs
@@ -707,7 +734,7 @@
   where render = renderStyle (style { mode = OneLineMode })
 
 cmd_solveAll :: Interaction
-cmd_solveAll = Interaction Nothing $ do
+cmd_solveAll = Interaction Dependent $ do
   out <- getInsts
   liftIO $ LocIO.putStrLn $ response $
     Cons (A "last")
@@ -777,7 +804,7 @@
 instance LowerMeta SC.Declaration where
   lowerMeta = go where
     go d = case d of
-      TypeSig n e1                  -> TypeSig n (lowerMeta e1)
+      TypeSig rel n e1              -> TypeSig rel n (lowerMeta e1)
       SC.Field n e1                 -> SC.Field n (lowerMeta e1)
       FunClause lhs rhs whcl        -> FunClause lhs (lowerMeta rhs) (lowerMeta whcl)
       Data r ind n tel e1 cs        -> Data r ind n
@@ -818,7 +845,7 @@
 
 cmd_compute :: Bool -- ^ Ignore abstract?
                -> GoalCommand
-cmd_compute ignore ii rng s = Interaction Nothing $ do
+cmd_compute ignore ii rng s = Interaction Dependent $ do
   e <- B.parseExprIn ii rng s
   d <- B.withInteractionId ii $ do
          let c = B.evalInCurrent e
@@ -839,7 +866,7 @@
   -> String
      -- ^ The expression to parse.
   -> Interaction
-parseAndDoAtToplevel cmd title s = Interaction Nothing $ do
+parseAndDoAtToplevel cmd title s = Interaction Dependent $ do
   e <- liftIO $ parse exprParser s
   display_info title =<<
     B.atTopLevel (showA =<< cmd =<< concreteToAbstract_ e)
@@ -869,18 +896,25 @@
 ------------------------------------------------------------------------
 -- Syntax highlighting
 
--- | @cmd_write_highlighting_info includes source target@ writes
--- syntax highlighting information for the module in @source@ into
--- @target@; @includes@ is the include directories. If the module does
--- not exist, or its module name is malformed or cannot be determined,
--- or the module has not already been visited, or the cached info is
--- out of date, then the representation of \"no highlighting
--- information available\" is instead written to @target@.
+-- | @cmd_write_highlighting_info source target@ writes syntax
+-- highlighting information for the module in @source@ into @target@.
+--
+-- If the module does not exist, or its module name is malformed or
+-- cannot be determined, or the module has not already been visited,
+-- or the cached info is out of date, then the representation of \"no
+-- highlighting information available\" is instead written to
+-- @target@.
+--
+-- This command is used to load syntax highlighting information when a
+-- new file is opened, and it would probably be annoying if jumping to
+-- the definition of an identifier reset the proof state, so this
+-- command tries not to do that. One result of this is that the
+-- command uses the current include directories, whatever they happen
+-- to be.
 
-cmd_write_highlighting_info ::
-  [FilePath] -> FilePath -> FilePath -> Interaction
-cmd_write_highlighting_info includes source target =
-  Interaction (Just includes) $ do
+cmd_write_highlighting_info :: FilePath -> FilePath -> Interaction
+cmd_write_highlighting_info source target =
+  Interaction (Independent Nothing) $ do
     liftIO . UTF8.writeFile target . showHighlightingInfo =<< do
       ex <- liftIO $ doesFileExist source
       case ex of
@@ -922,7 +956,7 @@
 
 showImplicitArgs :: Bool -- ^ Show them?
                  -> Interaction
-showImplicitArgs showImpl = Interaction Nothing $ do
+showImplicitArgs showImpl = Interaction Dependent $ do
   opts <- commandLineOptions
   setCommandLineOptions $
     opts { optPragmaOptions =
@@ -932,7 +966,7 @@
 -- | Toggle display of implicit arguments.
 
 toggleImplicitArgs :: Interaction
-toggleImplicitArgs = Interaction Nothing $ do
+toggleImplicitArgs = Interaction Dependent $ do
   opts <- commandLineOptions
   let ps = optPragmaOptions opts
   setCommandLineOptions $
diff --git a/src/full/Agda/Interaction/Highlighting/Generate.hs b/src/full/Agda/Interaction/Highlighting/Generate.hs
--- a/src/full/Agda/Interaction/Highlighting/Generate.hs
+++ b/src/full/Agda/Interaction/Highlighting/Generate.hs
@@ -14,6 +14,7 @@
 import Agda.Interaction.Highlighting.Range   hiding (tests)
 import qualified Agda.TypeChecking.Errors as E
 import Agda.TypeChecking.MetaVars (isBlockedTerm)
+import Agda.TypeChecking.Monad.Options (reportSLn)
 import Agda.TypeChecking.Monad
   hiding (MetaInfo, Primitive, Constructor, Record, Function, Datatype)
 import qualified Agda.TypeChecking.Monad as M
@@ -95,7 +96,10 @@
                             --   along with ranges for problematic
                             --   call sites.
   -> TCM HighlightingInfo
-generateSyntaxInfo file mErr top termErrs =
+generateSyntaxInfo file mErr top termErrs = do
+  reportSLn "import.iface.create" 15  $
+      "Generating syntax info for " ++ filePath file ++ ' ' : maybe "(No TCErr)" (const "(with TCErr)") mErr ++ "."
+
   M.withScope_ (CA.insideScope top) $ M.ignoreAbstractMode $ do
     modMap <- sourceToModule
     tokens <- liftIO $ Pa.parseFile' Pa.tokensParser file
@@ -202,14 +206,16 @@
       field m n = nameToFile modMap file m n
                              (\isOp -> mempty { aspect = Just $ Name (Just Field) isOp })
                              Nothing
-      mod n = nameToFile modMap file []
-                         (A.nameConcrete n)
-                         (\isOp -> mempty { aspect = Just $ Name (Just Module) isOp })
-                         (Just $ A.nameBindingSite n)
       asName n = nameToFile modMap file []
                             n
                             (\isOp -> mempty { aspect = Just $ Name (Just Module) isOp })
                             Nothing
+      mod isTopLevelModule n =
+        nameToFile modMap file []
+                   (A.nameConcrete n)
+                   (\isOp -> mempty { aspect = Just $ Name (Just Module) isOp })
+                   (Just $ (if isTopLevelModule then P.beginningOfFile else id)
+                             (A.nameBindingSite n))
 
       getVarAndField :: A.Expr -> File
       getVarAndField (A.Var x)    = bound x
@@ -217,9 +223,9 @@
       getVarAndField _            = mempty
 
       getLet :: A.LetBinding -> File
-      getLet (A.LetBind _ x _ _) = bound x
-      getLet A.LetApply{}        = mempty
-      getLet A.LetOpen{}         = mempty
+      getLet (A.LetBind _ _ x _ _) = bound x
+      getLet A.LetApply{}          = mempty
+      getLet A.LetOpen{}           = mempty
 
       getLam :: A.LamBinding -> File
       getLam (A.DomainFree _ x) = bound x
@@ -247,8 +253,18 @@
       getFieldDecl _                   = mempty
 
       getModuleName :: A.ModuleName -> File
-      getModuleName (A.MName { A.mnameToList = xs }) =
-        mconcat $ map mod xs
+      getModuleName m@(A.MName { A.mnameToList = xs }) =
+        mconcat $ map (mod isTopLevelModule) xs
+        where
+        isTopLevelModule =
+          case catMaybes $
+               map (join .
+                    fmap P.srcFile .
+                    P.rStart .
+                    A.nameBindingSite) xs of
+            f : _ -> Map.lookup f modMap ==
+                     Just (C.toTopLevelModuleName $ A.mnameToConcrete m)
+            []    -> False
 
       getModuleInfo :: SI.ModuleInfo -> File
       getModuleInfo (SI.ModuleInfo { SI.minfoAsTo   = asTo
@@ -289,16 +305,17 @@
     dropPostulates k         _ = k
 
   defnToNameKind :: Defn -> NameKind
-  defnToNameKind (M.Axiom {})                     = Postulate
-  defnToNameKind (M.Function {})                  = Function
-  defnToNameKind (M.Datatype {})                  = Datatype
-  defnToNameKind (M.Record {})                    = Record
-  defnToNameKind (M.Constructor { M.conInd = i }) = Constructor i
-  defnToNameKind (M.Primitive {})                 = Primitive
+  defnToNameKind (M.Axiom {})                               = Postulate
+  defnToNameKind (M.Function { M.funProjection = Nothing }) = Function
+  defnToNameKind (M.Function { M.funProjection = Just _  }) = Field
+  defnToNameKind (M.Datatype {})                            = Datatype
+  defnToNameKind (M.Record {})                              = Record
+  defnToNameKind (M.Constructor { M.conInd = i })           = Constructor i
+  defnToNameKind (M.Primitive {})                           = Primitive
 
   getAxiomName :: A.Declaration -> A.QName
-  getAxiomName (A.Axiom _ q _) = q
-  getAxiomName _               = __IMPOSSIBLE__
+  getAxiomName (A.Axiom _ _ q _) = q
+  getAxiomName _                 = __IMPOSSIBLE__
 
   getDef :: A.Definition -> Map A.QName NameKind
   getDef (A.FunDef  _ q _)       = Map.singleton q Function
@@ -309,13 +326,13 @@
   getDef (A.RecDef  _ q c _ _ _) = Map.singleton q Record `union`
                                    case c of
                                      Nothing -> Map.empty
-                                     Just (A.Axiom _ q _) ->
+                                     Just (A.Axiom _ _ q _) ->
                                        Map.singleton q (Constructor SC.Inductive)
                                      Just _ -> __IMPOSSIBLE__
   getDef (A.ScopedDef {})        = Map.empty
 
   getDecl :: A.Declaration -> Map A.QName NameKind
-  getDecl (A.Axiom _ q _)     = Map.singleton q Postulate
+  getDecl (A.Axiom _ _ q _)   = Map.singleton q Postulate
   getDecl (A.Field _ q _)     = Map.singleton q Field
   getDecl (A.Primitive _ q _) = Map.singleton q Primitive
   getDecl (A.Definition {})   = Map.empty
diff --git a/src/full/Agda/Interaction/Highlighting/HTML.hs b/src/full/Agda/Interaction/Highlighting/HTML.hs
--- a/src/full/Agda/Interaction/Highlighting/HTML.hs
+++ b/src/full/Agda/Interaction/Highlighting/HTML.hs
@@ -140,8 +140,10 @@
 code contents info =
   mconcat $
   map (\(pos, s, mi) -> annotate pos mi (stringToHtml s)) $
-  map (\cs@((mi, (pos, _)) : _) ->
-         (pos, map (snd . snd) cs, maybe mempty id mi)) $
+  map (\cs -> case cs of
+          (mi, (pos, _)) : _ ->
+            (pos, map (snd . snd) cs, maybe mempty id mi)
+          [] -> __IMPOSSIBLE__) $
   List.groupBy ((==) `on` fst) $
   map (\(pos, c) -> (Map.lookup pos infoMap, (pos, c))) $
   zip [1..] contents
diff --git a/src/full/Agda/Interaction/Imports.hs b/src/full/Agda/Interaction/Imports.hs
--- a/src/full/Agda/Interaction/Imports.hs
+++ b/src/full/Agda/Interaction/Imports.hs
@@ -68,10 +68,15 @@
     reportSLn "import.iface.merge" 20 $
       "  Current builtins " ++ show (Map.keys bs) ++ "\n" ++
       "  New builtins     " ++ show (Map.keys bi)
-    case Map.toList $ Map.intersection bs bi of
-      []               -> return ()
-      (b, Builtin x):_ -> typeError $ DuplicateBuiltinBinding b x x
-      (_, Prim{}):_    -> __IMPOSSIBLE__
+    let check b = case (b1, b2) of
+            (Builtin x, Builtin y)
+              | x == y    -> return ()
+              | otherwise -> typeError $ DuplicateBuiltinBinding b x y
+            _ -> __IMPOSSIBLE__
+          where
+            Just b1 = Map.lookup b bs
+            Just b2 = Map.lookup b bi
+    mapM_ check (map fst $ Map.toList $ Map.intersection bs bi)
     addImportedThings sig bi (iHaskellImports i)
     reportSLn "import.iface.merge" 20 $
       "  Rebinding primitives " ++ show prim
@@ -211,11 +216,12 @@
     reportSLn "import.iface" 10 $ "  Check for cycle"
     checkForImportCycle
 
-    uptodate <- ifM ignoreInterfaces
-		    (return False)
-		    (liftIO $ filePath (toIFile file)
-                                `isNewerThan`
-                              filePath file)
+    uptodate <- do
+      ignore <- ignoreInterfaces
+      cached <- isCached file -- if it's cached ignoreInterfaces has no effect
+                              -- to avoid typechecking a file more than once
+      newer  <- liftIO $ filePath (toIFile file) `isNewerThan` filePath file
+      return $ newer && (not ignore || cached)
 
     reportSLn "import.iface" 5 $
       "  " ++ render (pretty x) ++ " is " ++
@@ -245,102 +251,121 @@
     return (i, wt)
 
     where
-	skip file = do
-	    -- Examine the mtime of the interface file. If it is newer than the
-	    -- stored version (in stDecodedModules), or if there is no stored version,
-	    -- read and decode it. Otherwise use the stored version.
-            let ifile = filePath $ toIFile file
-	    t            <- liftIO $ getModificationTime ifile
-	    mm           <- getDecodedModule x
-	    (cached, mi) <- case mm of
-		      Just (mi, mt) ->
-			 if mt < t
-			 then do dropDecodedModule x
-				 reportSLn "import.iface" 5 $ "  file is newer, re-reading " ++ ifile
-				 (,) False <$> readInterface ifile
-			 else do reportSLn "import.iface" 5 $ "  using stored version of " ++ ifile
-				 return (True, Just mi)
-		      Nothing ->
-			 do reportSLn "import.iface" 5 $ "  no stored version, reading " ++ ifile
-			    (,) False <$> readInterface ifile
+      isCached file = do
+        let ifile = filePath $ toIFile file
+        exist <- liftIO $ doesFileExist ifile
+        if not exist
+          then return False
+          else do
+            t  <- liftIO $ getModificationTime ifile
+            mm <- getDecodedModule x
+            return $ case mm of
+              Just (mi, mt) | mt >= t -> True
+              _                       -> False
 
-	    -- Check that it's the right version
-	    case mi of
-		Nothing	-> do
-		    reportSLn "import.iface" 5 $ "  bad interface, re-type checking"
-		    typeCheck file
-		Just i	-> do
+      skip file = do
+        -- Examine the mtime of the interface file. If it is newer than the
+        -- stored version (in stDecodedModules), or if there is no stored version,
+        -- read and decode it. Otherwise use the stored version.
+        let ifile = filePath $ toIFile file
+        t            <- liftIO $ getModificationTime ifile
+        mm           <- getDecodedModule x
+        (cached, mi) <- case mm of
+          Just (mi, mt) ->
+            if mt < t
+            then do dropDecodedModule x
+                    reportSLn "import.iface" 5 $ "  file is newer, re-reading " ++ ifile
+                    (,) False <$> readInterface ifile
+            else do reportSLn "import.iface" 5 $ "  using stored version of " ++ ifile
+                    return (True, Just mi)
+          Nothing -> do
+            reportSLn "import.iface" 5 $ "  no stored version, reading " ++ ifile
+            (,) False <$> readInterface ifile
 
-		    reportSLn "import.iface" 5 $ "  imports: " ++ show (iImportedModules i)
+        -- Check that it's the right version
+        case mi of
+          Nothing	-> do
+            reportSLn "import.iface" 5 $ "  bad interface, re-type checking"
+            typeCheck file
+          Just i	-> do
 
-		    ts <- map snd <$> mapM getInterface (iImportedModules i)
+            reportSLn "import.iface" 5 $ "  imports: " ++ show (iImportedModules i)
 
-		    -- If any of the imports are newer we need to retype check
-		    if any (> t) ts
-			then do
-			    -- liftIO close	-- Close the interface file. See above.
-			    typeCheck file
-			else do
-			    reportSLn "" 1 $
-                              "Skipping " ++ render (pretty x) ++
-                                " (" ++ (if cached then "cached" else ifile) ++ ")."
-                            -- We set the pragma options of the skipped file here,
-                            -- because if the top-level file is skipped we want the
-                            -- pragmas to apply to interactive commands in the UI.
-                            mapM_ setOptionsFromPragma (iPragmaOptions i)
-			    return (False, (i, Right t))
+            ts <- map snd <$> mapM getInterface (iImportedModules i)
 
-	typeCheck file = do
-	    -- Do the type checking.
-            reportSLn "" 1 $ "Checking " ++ render (pretty x) ++ " (" ++ filePath file ++ ")."
-            if includeStateChanges then do
-              r <- createInterface file x
+            -- If any of the imports are newer we need to retype check
+            if any (> t) ts
+              then do
+                -- liftIO close	-- Close the interface file. See above.
+                typeCheck file
+              else do
+                unless cached $ reportSLn "" 1 $
+                  "Skipping " ++ render (pretty x) ++
+                    " (" ++ ifile ++ ")."
+                -- We set the pragma options of the skipped file here,
+                -- because if the top-level file is skipped we want the
+                -- pragmas to apply to interactive commands in the UI.
+                mapM_ setOptionsFromPragma (iPragmaOptions i)
+                return (False, (i, Right t))
 
-              -- Merge the signature with the signature for imported
-              -- things.
-              sig <- getSignature
-              addImportedThings sig Map.empty Set.empty
-              setSignature emptySignature
+      typeCheck file =
+        let ret a = do
+              reportSLn "" 1 $ "Finished " ++ render (pretty x) ++ "."
+              return a
+        in do
+          -- Do the type checking.
+          reportSLn "" 1 $ "Checking " ++ render (pretty x) ++ " (" ++ filePath file ++ ")."
+          if includeStateChanges then do
+            r <- createInterface file x
 
-              return (True, r)
-             else do
-              ms       <- getImportPath
-              mf       <- stModuleToSource <$> get
-              vs       <- getVisitedModules
-              ds       <- getDecodedModules
-              opts     <- stPersistentOptions <$> get
-              isig     <- getImportedSignature
-              ibuiltin <- gets stImportedBuiltins
-              -- Every interface is treated in isolation.
-              r <- liftIO $ runTCM $
-                     withImportPath ms $ do
-                       setDecodedModules ds
-                       setCommandLineOptions opts
-                       modify $ \s -> s { stModuleToSource = mf }
-                       setVisitedModules vs
-                       addImportedThings isig ibuiltin Set.empty
+            -- Merge the signature with the signature for imported
+            -- things.
+            sig <- getSignature
+            addImportedThings sig Map.empty Set.empty
+            setSignature emptySignature
 
-                       r <- createInterface file x
+            ret (True, r)
+           else do
+            ms       <- getImportPath
+            mf       <- stModuleToSource <$> get
+            vs       <- getVisitedModules
+            ds       <- getDecodedModules
+            opts     <- stPersistentOptions <$> get
+            isig     <- getImportedSignature
+            ibuiltin <- gets stImportedBuiltins
+            -- Every interface is treated in isolation.
+            r <- liftIO $ runTCM $
+                   withImportPath ms $ do
+                     setDecodedModules ds
+                     setCommandLineOptions opts
+                     modify $ \s -> s { stModuleToSource = mf }
+                     setVisitedModules vs
+                     addImportedThings isig ibuiltin Set.empty
 
-                       mf        <- stModuleToSource <$> get
-                       vs        <- getVisitedModules
-                       ds        <- getDecodedModules
-                       isig      <- getImportedSignature
-                       ibuiltin  <- gets stImportedBuiltins
-                       hsImports <- getHaskellImports
-                       return (r, do
-                         modify $ \s -> s { stModuleToSource = mf }
-                         setVisitedModules vs
-                         setDecodedModules ds
+                     r <- createInterface file x
 
-                         addImportedThings isig ibuiltin hsImports)
+                     mf        <- stModuleToSource <$> get
+                     ds        <- getDecodedModules
+                     return (r, do
+                        modify $ \s -> s { stModuleToSource = mf }
+                        setDecodedModules ds
+                        case r of
+                          (i, Right t) -> storeDecodedModule i t
+                          _            -> return ()
+                        )
 
-              case r of
-                  Left err               -> throwError err
-                  Right (result, update) -> do
-                    update
-                    return (False, result)
+            case r of
+                Left err               -> throwError err
+                Right (r, update) -> do
+                  update
+                  case r of
+                    (_, Right _) -> do
+                      r <- skip file
+                      ret r
+                    _ ->
+                      ret (False, r)
 
+
 readInterface :: FilePath -> TCM (Maybe Interface)
 readInterface file = do
     -- Decode the interface file
@@ -373,6 +398,8 @@
 
 writeInterface :: FilePath -> Interface -> TCM ClockTime
 writeInterface file i = do
+    reportSLn "import.iface.write" 5  $
+      "Writing interface file " ++ file ++ "."
     encodeFile file i
     liftIO $ getModificationTime file
   `catchError` \e -> do
@@ -450,18 +477,15 @@
 	withScope_ (insideScope topLevel) $ generateVimFile $ filePath file
 
     -- Check if there are unsolved meta-variables...
+    unsolvedOK    <- optAllowUnsolved <$> pragmaOptions
     unsolvedMetas <- List.nub <$> (mapM getMetaRange =<< getOpenMetas)
-    unless (null unsolvedMetas) $ do
-      unsolvedOK <- optAllowUnsolved <$> pragmaOptions
-      unless unsolvedOK $
-        typeError $ UnsolvedMetas unsolvedMetas
+    unless (null unsolvedMetas || unsolvedOK) $
+      typeError $ UnsolvedMetas unsolvedMetas
 
     -- ...or unsolved constraints
     unsolvedConstraints <- getConstraints
-    unless (null unsolvedConstraints) $ do
-      unsolvedOK <- optAllowUnsolved <$> pragmaOptions
-      unless unsolvedOK $
-        typeError $ UnsolvedConstraints unsolvedConstraints
+    unless (null unsolvedConstraints || unsolvedOK) $
+      typeError $ UnsolvedConstraints unsolvedConstraints
 
     setScope $ outsideScope topLevel
 
@@ -473,7 +497,8 @@
      then do
       -- The file was successfully type-checked (and no warnings were
       -- encountered), so the interface should be written out.
-      t <- writeInterface (filePath $ toIFile file) i
+      let ifile = filePath $ toIFile file
+      t  <- writeInterface ifile i
       return (i, Right t)
      else
       return (i, Left $ Warnings termErrs unsolvedMetas unsolvedConstraints)
diff --git a/src/full/Agda/Interaction/MakeCase.hs b/src/full/Agda/Interaction/MakeCase.hs
--- a/src/full/Agda/Interaction/MakeCase.hs
+++ b/src/full/Agda/Interaction/MakeCase.hs
@@ -34,7 +34,7 @@
 #include "../undefined.h"
 import Agda.Utils.Impossible
 
--- | Find the clause whose right hand side is the given meta 
+-- | Find the clause whose right hand side is the given meta
 -- BY SEARCHING THE WHOLE SIGNATURE. Returns
 -- the original clause, before record patterns have been translated
 -- away. Raises an error if there is no matching clause.
@@ -42,7 +42,7 @@
 -- Andreas, 2010-09-21: This looks like a SUPER UGLY HACK to me. You are
 -- walking through the WHOLE signature to find an information you have
 -- thrown away earlier.  (shutter with disgust).
--- This code fails for record rhs because they have been eta-expanded, 
+-- This code fails for record rhs because they have been eta-expanded,
 -- so the MVar is gone.
 findClause :: MetaId -> TCM (QName, Clause)
 findClause m = do
@@ -58,8 +58,8 @@
       reportSDoc "interaction.case" 10 $ vcat $
         [ text "Interaction.MakeCase.findClause fails"
         , text "expected rhs to be meta var" <+> (text $ show m)
-        , text "but could not find it in the signature" 
-        ] 
+        , text "but could not find it in the signature"
+        ]
       reportSDoc "interaction.case" 20 $ vcat $ map (text . show) (Map.elems $ sigDefinitions sig)  -- you asked for it!
       typeError $ GenericError "Right hand side must be a single hole when making a case distinction."
     [r] -> return r
@@ -88,31 +88,10 @@
   var         <- deBruijnIndex =<< parseExprIn hole rng s
   z           <- splitClauseWithAbs clause var
   case z of
-    Left err        -> typeError . GenericError . show =<< prettySplitError err
+    Left err        -> typeError . GenericError . show =<< prettyTCM err
     Right (Left cl) -> (:[]) <$> makeAbsurdClause f cl
     Right (Right c) -> mapM (makeAbstractClause f) c
 
-prettySplitError :: SplitError -> TCM Doc
-prettySplitError err = case err of
-  NotADatatype t -> fsep $
-    pwords "Cannot pattern match on non-datatype" ++ [prettyTCM t]
-  IrrelevantDatatype t -> fsep $
-    pwords "Cannot pattern match on datatype" ++ [prettyTCM t] ++
-    pwords "since it is declared irrelevant" 
-  NoRecordConstructor t -> fsep $
-    pwords "Cannot pattern match on record" ++ [prettyTCM t] ++
-    pwords "because it has no constructor"
-  CantSplit c tel cIxs gIxs flex -> addCtxTel tel $ vcat
-    [ fsep $ pwords "Cannot pattern match on constructor" ++ [prettyTCM c <> text ","] ++
-             pwords "since the inferred indices"
-    , nest 2 $ prettyTCM cIxs
-    , fsep $ pwords "cannot be unified with the expected indices"
-    , nest 2 $ prettyTCM gIxs
-    , fsep $ pwords "for some" ++ punctuate comma (map prettyTCM flex)
-    ]
-  GenericSplitError s -> fsep $
-    pwords "Split failed:" ++ pwords s
-
 makeAbsurdClause :: QName -> SplitClause -> TCM A.Clause
 makeAbsurdClause f (SClause tel perm ps _) = do
   reportSDoc "interaction.case" 10 $ vcat
@@ -142,11 +121,10 @@
 deBruijnIndex :: A.Expr -> TCM Nat
 deBruijnIndex e = do
   (v, _) <- -- Andreas, 2010-09-21 allow splitting on irrelevant (record) vars
-            Context.wakeIrrelevantVars $ 
+            Context.wakeIrrelevantVars $
               inferExpr e
   case v of
     Var n _ -> return n
     _       -> typeError . GenericError . show =<< (fsep $
                 pwords "The scrutinee of a case distinction must be a variable,"
                 ++ [ prettyTCM v ] ++ pwords "isn't.")
-
diff --git a/src/full/Agda/Interaction/Options.hs b/src/full/Agda/Interaction/Options.hs
--- a/src/full/Agda/Interaction/Options.hs
+++ b/src/full/Agda/Interaction/Options.hs
@@ -18,7 +18,7 @@
     ) where
 
 import Control.Monad            ( when )
-import Control.Monad.Error	( MonadError(catchError) )
+import Control.Monad.Error	( MonadError(..) )
 import Data.List		( isSuffixOf )
 import System.Console.GetOpt	(getOpt, usageInfo, ArgOrder(ReturnInOrder)
 				, OptDescr(..), ArgDescr(..)
@@ -61,6 +61,7 @@
 	    , optInteractive          :: Bool
 	    , optRunTests             :: Bool
 	    , optCompile              :: Bool
+	    , optEpicCompile          :: Bool
             , optCompileDir           :: Maybe FilePath
               -- ^ In the absence of a path the project root is used.
 	    , optGenerateVimFile      :: Bool
@@ -71,6 +72,7 @@
             , optForcing              :: Bool
             , optGhcFlags             :: [String]
             , optPragmaOptions        :: PragmaOptions
+            , optEpicFlags            :: [String]
 	    }
     deriving Show
 
@@ -91,6 +93,8 @@
   , optInjectiveTypeConstructors :: Bool
   , optGuardingTypeConstructors  :: Bool
   , optUniversePolymorphism      :: Bool
+  , optIrrelevantProjections     :: Bool
+  , optWithoutK                  :: Bool
   }
   deriving Show
 
@@ -119,6 +123,7 @@
 	    , optInteractive          = False
 	    , optRunTests             = False
 	    , optCompile              = False
+	    , optEpicCompile          = False
             , optCompileDir           = Nothing
 	    , optGenerateVimFile      = False
 	    , optGenerateHTML         = False
@@ -128,6 +133,7 @@
             , optForcing              = True
             , optGhcFlags             = []
             , optPragmaOptions        = defaultPragmaOptions
+            , optEpicFlags            = []
 	    }
 
 defaultPragmaOptions :: PragmaOptions
@@ -135,6 +141,7 @@
   { optShowImplicit              = False
   , optVerbose                   = defaultVerbosity
   , optProofIrrelevance          = False
+  , optIrrelevantProjections     = True
   , optAllowUnsolved             = False
   , optDisablePositivity         = False
   , optTerminationCheck          = True
@@ -146,6 +153,7 @@
   , optInjectiveTypeConstructors = False
   , optGuardingTypeConstructors  = False
   , optUniversePolymorphism      = False
+  , optWithoutK                  = False
   }
 
 -- | The default output directory for HTML.
@@ -168,14 +176,17 @@
 checkOpts opts
   | not (atMostOne [optAllowUnsolved . p, optCompile]) = Left
       "Unsolved meta variables are not allowed when compiling.\n"
-  | not (atMostOne [optInteractive, optCompile]) =
-      Left "Choose at most one: compiler or interactive mode.\n"
+  | not (atMostOne [optInteractive, optCompile, optEpicCompile]) =
+      Left "Choose at most one: compiler/interactive mode.\n"
   | not (atMostOne [optGenerateHTML, optInteractive]) =
       Left "Choose at most one: HTML generator or interactive mode.\n"
   | not (atMostOne [ optUniversePolymorphism . p
                    , not . optUniverseCheck . p
                    ]) =
       Left "Cannot have both universe polymorphism and type in type.\n"
+  | (not . null . optEpicFlags $ opts)
+      && not (optEpicCompile opts) =
+      Left "Cannot set Epic flags without using the Epic backend.\n"
   | otherwise = Right opts
   where
   atMostOne bs = length (filter ($ opts) bs) <= 1
@@ -186,11 +197,12 @@
 inputFlag f o =
     case optInputFile o of
 	Nothing  -> return $ o { optInputFile = Just f }
-	Just _	 -> fail "only one input file allowed"
+	Just _	 -> throwError "only one input file allowed"
 
 versionFlag                  o = return $ o { optShowVersion               = True  }
 helpFlag                     o = return $ o { optShowHelp                  = True  }
 proofIrrelevanceFlag         o = return $ o { optProofIrrelevance          = True  }
+noIrrelevantProjectionsFlag  o = return $ o { optIrrelevantProjections     = False }
 ignoreInterfacesFlag         o = return $ o { optIgnoreInterfaces          = True  }
 allowUnsolvedFlag            o = return $ o { optAllowUnsolved             = True  }
 showImplicitFlag             o = return $ o { optShowImplicit              = True  }
@@ -206,14 +218,17 @@
 guardingTypeConstructorFlag  o = return $ o { optGuardingTypeConstructors  = True  }
 universePolymorphismFlag     o = return $ o { optUniversePolymorphism      = True  }
 noForcingFlag                o = return $ o { optForcing                   = False }
+withoutKFlag                 o = return $ o { optWithoutK                  = True  }
 
 interactiveFlag  o = return $ o { optInteractive    = True
                                 , optPragmaOptions  = (optPragmaOptions o)
                                                         { optAllowUnsolved = True }
 		                }
 compileFlag      o = return $ o { optCompile    = True }
+compileEpicFlag  o = return $ o { optEpicCompile = True}
 compileDirFlag f o = return $ o { optCompileDir = Just f }
 ghcFlag        f o = return $ o { optGhcFlags   = f : optGhcFlags o }
+epicFlagsFlag  s o = return $ o { optEpicFlags  = optEpicFlags o ++ [s]}
 
 htmlFlag      o = return $ o { optGenerateHTML = True }
 htmlDirFlag d o = return $ o { optHTMLDir      = d }
@@ -231,18 +246,18 @@
       ss  -> do
         n <- readM (last ss) `catchError` \_ -> usage
         return (init ss, n)
-    usage = fail "argument to verbose should be on the form x.y.z:N or N"
+    usage = throwError "argument to verbose should be on the form x.y.z:N or N"
 
 terminationDepthFlag s o =
     do k <- readM s `catchError` \_ -> usage
        when (k < 1) $ usage -- or: turn termination checking off for 0
        return $ o { optTerminationDepth = k-1 }
-    where usage = fail "argument to termination-depth should be >= 1"
+    where usage = throwError "argument to termination-depth should be >= 1"
 
 integerArgument :: String -> String -> Either String Int
 integerArgument flag s =
     readM s `catchError` \_ ->
-	fail $ "option '" ++ flag ++ "' requires an integer argument"
+	throwError $ "option '" ++ flag ++ "' requires an integer argument"
 
 standardOptions :: [OptDescr (Flag CommandLineOptions)]
 standardOptions =
@@ -251,11 +266,14 @@
     , Option ['I']  ["interactive"] (NoArg interactiveFlag)
 		    "start in interactive mode"
     , Option ['c']  ["compile"] (NoArg compileFlag)
-                    "compile program (experimental)"
+                    "compile program using the MAlonzo backend (experimental)"
+    , Option []     ["epic"] (NoArg compileEpicFlag) "compile program using the Epic backend"
     , Option []     ["compile-dir"] (ReqArg compileDirFlag "DIR")
 		    ("directory for compiler output (default: the project root)")
     , Option []     ["ghc-flag"] (ReqArg ghcFlag "GHC-FLAG")
-                    "give the flag GHC-FLAG to GHC when compiling"
+                    "give the flag GHC-FLAG to GHC when compiling using MAlonzo"
+    , Option []     ["epic-flag"] (ReqArg epicFlagsFlag "EPIC-FLAG")
+                    "give the flag EPIC-FLAG to Epic when compiling using Epic"
     , Option []	    ["test"] (NoArg runTestsFlag)
 		    "run internal test suite"
     , Option []	    ["vim"] (NoArg vimFlag)
@@ -310,6 +328,10 @@
                     "treat type constructors as inductive constructors when checking productivity"
     , Option []     ["universe-polymorphism"] (NoArg universePolymorphismFlag)
                     "enable universe polymorphism (experimental feature)"
+    , Option []     ["no-irrelevant-projections"] (NoArg noIrrelevantProjectionsFlag)
+                    "disable projection of irrelevant record fields"
+    , Option []     ["without-K"] (NoArg withoutKFlag)
+                    "disable the K rule (maybe)"
     ]
 
 -- | Used for printing usage info.
@@ -322,7 +344,7 @@
 parseOptions' argv opts fileArg = \defaults ->
     case getOpt (ReturnInOrder fileArg) opts argv of
 	(o,_,[])    -> foldl (>>=) (return defaults) o
-	(_,_,errs)  -> fail $ concat errs
+	(_,_,errs)  -> throwError $ concat errs
 
 -- | Parse the standard options.
 parseStandardOptions :: [String] -> Either String CommandLineOptions
@@ -339,7 +361,7 @@
   -> Either String PragmaOptions
 parsePragmaOptions argv opts = do
   ps <- parseOptions' argv pragmaOptions
-          (\s _ -> fail $ "Bad option in pragma: " ++ s)
+          (\s _ -> throwError $ "Bad option in pragma: " ++ s)
           (optPragmaOptions opts)
   checkOpts (opts { optPragmaOptions = ps })
   return ps
@@ -348,7 +370,8 @@
 parsePluginOptions :: [String] -> [OptDescr (Flag opts)] -> Flag opts
 parsePluginOptions argv opts =
   parseOptions' argv opts
-    (\s _ -> fail $ "Internal error: Flag " ++ s ++ " passed to a plugin")
+    (\s _ -> throwError $
+               "Internal error: Flag " ++ s ++ " passed to a plugin")
 
 -- | The usage info message. The argument is the program name (probably
 --   agda).
diff --git a/src/full/Agda/Main.hs b/src/full/Agda/Main.hs
--- a/src/full/Agda/Main.hs
+++ b/src/full/Agda/Main.hs
@@ -48,6 +48,7 @@
 import Agda.TypeChecking.SizedTypes
 
 import Agda.Compiler.MAlonzo.Compiler as MAlonzo
+import Agda.Compiler.Epic.Compiler as Epic
 
 import Agda.Termination.TermCheck
 
@@ -88,6 +89,7 @@
     checkFile = do
       i       <- optInteractive <$> liftTCM commandLineOptions
       compile <- optCompile     <$> liftTCM commandLineOptions
+      epic    <- optEpicCompile <$> liftTCM commandLineOptions
       when i $ liftIO $ LocIO.putStr splashScreen
       let failIfNoInt (Just i) = return i
           -- The allowed combinations of command-line
@@ -97,6 +99,7 @@
           interaction :: TCM (Maybe Interface) -> TCM ()
           interaction | i         = runIM . interactionLoop
                       | compile   = (MAlonzo.compilerMain =<<) . (failIfNoInt =<<)
+                      | epic      = (Epic.compilerMain    =<<) . (failIfNoInt =<<)
                       | otherwise = (() <$)
       interaction $ do
         hasFile <- hasInputFile
@@ -168,4 +171,3 @@
   `catchImpossible` \e -> do
     LocIO.putStr $ show e
     exitFailure
-
diff --git a/src/full/Agda/Packaging/Monad.hs b/src/full/Agda/Packaging/Monad.hs
--- a/src/full/Agda/Packaging/Monad.hs
+++ b/src/full/Agda/Packaging/Monad.hs
@@ -31,7 +31,7 @@
 
 instance Applicative (AgdaPkg opt) where
   pure  = return
-  (<*>) = ap 
+  (<*>) = ap
 
 asksM :: (MonadReader r m) => (r -> m a) -> m a
 asksM = join . asks
diff --git a/src/full/Agda/Syntax/Abstract.hs b/src/full/Agda/Syntax/Abstract.hs
--- a/src/full/Agda/Syntax/Abstract.hs
+++ b/src/full/Agda/Syntax/Abstract.hs
@@ -56,7 +56,7 @@
   deriving (Typeable, Data, Show)
 
 data Declaration
-	= Axiom      DefInfo QName Expr			   -- ^ postulate
+	= Axiom      DefInfo Relevance QName Expr          -- ^ postulate
 	| Field      DefInfo QName (Arg Expr)		   -- ^ record field
 	| Primitive  DefInfo QName Expr			   -- ^ primitive function
 	| Definition DeclInfo [TypeSignature] [Definition] -- ^ a bunch of mutually recursive definitions
@@ -74,10 +74,11 @@
             | CompiledPragma QName String
             | CompiledTypePragma QName String
             | CompiledDataPragma QName String [String]
+            | CompiledEpicPragma QName String
             | EtaPragma QName
   deriving (Typeable, Data, Show)
 
-data LetBinding = LetBind LetInfo Name Expr Expr    -- ^ LetBind info name type defn
+data LetBinding = LetBind LetInfo Relevance Name Expr Expr    -- ^ LetBind info name type defn
                 | LetApply ModuleInfo ModuleName [TypedBindings] ModuleName [NamedArg Expr] (Map QName QName) (Map ModuleName ModuleName)
                 | LetOpen ModuleInfo ModuleName     -- ^ only for highlighting and abstractToConcrete
   deriving (Typeable, Data, Show)
@@ -229,7 +230,7 @@
     getRange (DontCare)         = noRange
 
 instance HasRange Declaration where
-    getRange (Axiom      i _ _	       ) = getRange i
+    getRange (Axiom      i _ _ _       ) = getRange i
     getRange (Field      i _ _         ) = getRange i
     getRange (Definition i _ _	       ) = getRange i
     getRange (Section    i _ _ _       ) = getRange i
@@ -270,7 +271,7 @@
     getRange (RewriteRHS _ es rhs wh) = getRange (es, rhs, wh)
 
 instance HasRange LetBinding where
-    getRange (LetBind  i _ _ _       ) = getRange i
+    getRange (LetBind  i _ _ _ _     ) = getRange i
     getRange (LetApply i _ _ _ _ _ _ ) = getRange i
     getRange (LetOpen  i _           ) = getRange i
 
@@ -308,12 +309,16 @@
   killRange (Quote i)        = killRange1 Quote i
   killRange (DontCare)       = DontCare
 
+instance KillRange Relevance where
+  killRange rel = rel -- no range to kill
+
 instance KillRange Declaration where
-  killRange (Axiom      i a b         ) = killRange3 Axiom      i a b
+  killRange (Axiom      i rel a b     ) = killRange4 Axiom      i rel a b
   killRange (Field      i a b         ) = killRange3 Field      i a b
   killRange (Definition i a b         ) = killRange3 Definition i a b
   killRange (Section    i a b c       ) = killRange4 Section    i a b c
   killRange (Apply      i a b c d e f ) = killRange5 Apply      i a b c d e f
+   -- the last two arguments of Apply are name maps, so nothing to kill
   killRange (Import     i a           ) = killRange2 Import     i a
   killRange (Primitive  i a b         ) = killRange3 Primitive  i a b
   killRange (Pragma     i a           ) = Pragma (killRange i) a
@@ -350,7 +355,7 @@
   killRange (RewriteRHS x es rhs wh) = killRange4 RewriteRHS x es rhs wh
 
 instance KillRange LetBinding where
-  killRange (LetBind  i a b c       ) = killRange4 LetBind  i a b c
+  killRange (LetBind  i rel a b c   ) = killRange5 LetBind  i rel a b c
   killRange (LetApply i a b c d e f ) = killRange5 LetApply i a b c d e f
   killRange (LetOpen  i x           ) = killRange2 LetOpen  i x
 
@@ -363,7 +368,7 @@
 -- include local modules and where clauses.
 
 allNames :: Declaration -> Seq QName
-allNames (Axiom     _   q _)   = Seq.singleton q
+allNames (Axiom     _ _ q _)   = Seq.singleton q
 allNames (Field     _   q _)   = Seq.singleton q
 allNames (Primitive _   q _)   = Seq.singleton q
 allNames (Definition _ _ defs) = Fold.foldMap allNamesD defs
@@ -398,5 +403,5 @@
 -- Precondition: The declaration has to be an 'Axiom'.
 
 axiomName :: Declaration -> QName
-axiomName (Axiom _ q _) = q
+axiomName (Axiom _ _ q _) = q
 axiomName _             = __IMPOSSIBLE__
diff --git a/src/full/Agda/Syntax/Abstract/Name.hs b/src/full/Agda/Syntax/Abstract/Name.hs
--- a/src/full/Agda/Syntax/Abstract/Name.hs
+++ b/src/full/Agda/Syntax/Abstract/Name.hs
@@ -264,4 +264,3 @@
 
 instance Sized ModuleName where
   size = size . mnameToList
-
diff --git a/src/full/Agda/Syntax/Abstract/Views.hs b/src/full/Agda/Syntax/Abstract/Views.hs
--- a/src/full/Agda/Syntax/Abstract/Views.hs
+++ b/src/full/Agda/Syntax/Abstract/Views.hs
@@ -10,9 +10,10 @@
 	     | NonApplication Expr
 		-- ^ TODO: if we allow beta-redexes (which we currently do) there could be one here.
 
-data Head = HeadVar Name
-	  | HeadDef QName
-	  | HeadCon [QName]
+-- | @Head@ of an applicative expression.
+data Head = HeadVar Name     -- ^ A variable.
+	  | HeadDef QName    -- ^ A defined symbol (except constructor).
+	  | HeadCon [QName]  -- ^ A constructor which could belong to any of the data types in the list.
 
 appView :: Expr -> AppView
 appView e =
@@ -43,4 +44,3 @@
     getRange (HeadVar x) = getRange x
     getRange (HeadDef x) = getRange x
     getRange (HeadCon x) = getRange x
-
diff --git a/src/full/Agda/Syntax/Common.hs b/src/full/Agda/Syntax/Common.hs
--- a/src/full/Agda/Syntax/Common.hs
+++ b/src/full/Agda/Syntax/Common.hs
@@ -36,6 +36,11 @@
 ignoreForced Relevant   = Relevant
 ignoreForced Irrelevant = Irrelevant
 
+-- | @Relevance@ from @Bool@.
+irrelevant :: Bool -> Relevance
+irrelevant True  = Irrelevant
+irrelevant False = Relevant
+
 instance KillRange Induction where killRange = id
 instance KillRange Hiding    where killRange = id
 
diff --git a/src/full/Agda/Syntax/Concrete.hs b/src/full/Agda/Syntax/Concrete.hs
--- a/src/full/Agda/Syntax/Concrete.hs
+++ b/src/full/Agda/Syntax/Concrete.hs
@@ -122,7 +122,7 @@
 
 
 -- | A telescope is a sequence of typed bindings. Bound variables are in scope
---   in later types. 
+--   in later types.
 type Telescope = [TypedBindings]
 
 {-| Left hand sides can be written in infix style. For example:
@@ -210,8 +210,8 @@
     which type in the intended family the constructor targets.
 -}
 data Declaration
-	= TypeSig Name Expr
-        | Field Name (Arg Expr)
+	= TypeSig Relevance Name Expr -- ^ Axioms and functions can be irrelevant.
+        | Field Name (Arg Expr) -- ^ Record field, can be hidden and/or irrelevant.
 	| FunClause LHS RHS WhereClause
 	| Data        !Range Induction Name [TypedBindings] Expr [Constructor]
 	| Record      !Range Name (Maybe Name) [TypedBindings] Expr [Declaration]
@@ -240,6 +240,7 @@
             | CompiledDataPragma !Range QName String [String]
             | CompiledTypePragma !Range QName String
             | CompiledPragma    !Range QName String
+            | CompiledEpicPragma !Range QName String
             | ImportPragma      !Range String
               -- ^ Invariant: The string must be a valid Haskell
               -- module name.
@@ -337,23 +338,23 @@
   getRange (SomeWhere _ ds) = getRange ds
 
 instance HasRange Declaration where
-    getRange (TypeSig x t)		= fuseRange x t
-    getRange (Field x t)              = fuseRange x t
-    getRange (FunClause lhs rhs wh)	= fuseRange lhs rhs `fuseRange` wh
-    getRange (Data r _ _ _ _ _)		= r
-    getRange (Record r _ _ _ _ _)	= r
-    getRange (Mutual r _)		= r
-    getRange (Abstract r _)		= r
-    getRange (Open r _ _)		= r
-    getRange (ModuleMacro r _ _ _ _ _)	= r
-    getRange (Import r _ _ _ _)		= r
-    getRange (Private r _)		= r
-    getRange (Postulate r _)		= r
-    getRange (Primitive r _)		= r
-    getRange (Module r _ _ _)		= r
-    getRange (Infix f _)		= getRange f
-    getRange (Syntax n _)          = getRange n
-    getRange (Pragma p)			= getRange p
+    getRange (TypeSig _ x t)	       = fuseRange x t
+    getRange (Field x t)               = fuseRange x t
+    getRange (FunClause lhs rhs wh)    = fuseRange lhs rhs `fuseRange` wh
+    getRange (Data r _ _ _ _ _)	       = r
+    getRange (Record r _ _ _ _ _)      = r
+    getRange (Mutual r _)	       = r
+    getRange (Abstract r _)	       = r
+    getRange (Open r _ _)	       = r
+    getRange (ModuleMacro r _ _ _ _ _) = r
+    getRange (Import r _ _ _ _)	       = r
+    getRange (Private r _)	       = r
+    getRange (Postulate r _)	       = r
+    getRange (Primitive r _)	       = r
+    getRange (Module r _ _ _)	       = r
+    getRange (Infix f _)	       = getRange f
+    getRange (Syntax n _)              = getRange n
+    getRange (Pragma p)		       = getRange p
 
 instance HasRange LHS where
   getRange (LHS p ps eqns ws) = fuseRange p (fuseRange ps (eqns ++ ws))
@@ -369,6 +370,7 @@
     getRange (CompiledDataPragma r _ _ _) = r
     getRange (CompiledTypePragma r _ _)   = r
     getRange (CompiledPragma r _ _)       = r
+    getRange (CompiledEpicPragma r _ _)   = r
     getRange (ImportPragma r _)           = r
     getRange (ImpossiblePragma r)         = r
     getRange (EtaPragma r _)              = r
@@ -402,4 +404,3 @@
     getRange (LitP l)		= getRange l
     getRange (HiddenP r _)	= r
     getRange (DotP r _)		= r
-
diff --git a/src/full/Agda/Syntax/Concrete/Definitions.hs b/src/full/Agda/Syntax/Concrete/Definitions.hs
--- a/src/full/Agda/Syntax/Concrete/Definitions.hs
+++ b/src/full/Agda/Syntax/Concrete/Definitions.hs
@@ -41,7 +41,8 @@
     modifiers have been distributed to the individual declarations.
 -}
 data NiceDeclaration
-	= Axiom Range Fixity' Access IsAbstract Name Expr
+	= Axiom Range Fixity' Access IsAbstract Relevance Name Expr
+            -- ^ Axioms and functions can be declared irrelevant.
         | NiceField Range Fixity' Access IsAbstract Name (Arg Expr)
 	| PrimitiveFunction Range Fixity' Access IsAbstract Name Expr
 	| NiceDef Range [Declaration] [NiceTypeSignature] [NiceDefinition]
@@ -98,7 +99,7 @@
     getRange (DeclarationPanic _)	   = noRange
 
 instance HasRange NiceDeclaration where
-    getRange (Axiom r _ _ _ _ _)	       = r
+    getRange (Axiom r _ _ _ _ _ _)	       = r
     getRange (NiceField r _ _ _ _ _)	       = r
     getRange (NiceDef r _ _ _)		       = r
     getRange (NiceModule r _ _ _ _ _)	       = r
@@ -178,7 +179,7 @@
 	-- Compute the names defined in a declaration
 	declaredNames :: Declaration -> [Name]
 	declaredNames d = case d of
-	  TypeSig x _				       -> [x]
+	  TypeSig _ x _				       -> [x]
           Field x _                                    -> [x]
 	  FunClause (LHS p [] _ _) _ _
             | IdentP (QName x) <- noSingletonRawAppP p -> [x]
@@ -205,21 +206,21 @@
 	nice _ []	 = return []
 	nice fixs (d:ds) =
 	    case d of
-		TypeSig x t ->
+		TypeSig rel x t ->
 		    -- After a type signature there should follow a bunch of
 		    -- clauses.
 		    case span (isFunClauseOf x) ds of
 			([], _)	    -> throwError $ MissingDefinition x
 			(ds0,ds1)   -> do
 			  ds1 <- nice fixs ds1
-			  d <- mkFunDef fixs x (Just t) ds0
+			  d <- mkFunDef rel fixs x (Just t) ds0
                           return $ d : ds1
 
 		cl@(FunClause lhs@(LHS p [] _ _) _ _)
                   | IdentP (QName x) <- noSingletonRawAppP p
                                   -> do
 		      ds <- nice fixs ds
-		      d <- mkFunDef fixs x Nothing [cl]
+		      d <- mkFunDef Relevant fixs x Nothing [cl] -- fun def without type signature is relevant
                       return $ d : ds
                 FunClause lhs _ _ -> throwError $ MissingTypeSignature lhs
 
@@ -230,7 +231,7 @@
 			    Data r CoInductive x tel t cs -> throwError (Codata r)
 			    Data r Inductive   x tel t cs -> dataOrRec DataDef niceAx r x tel t cs
 			    Record r x c tel t cs         -> do
-                              let c' = (\c -> niceAxiom fixs (TypeSig c t)) <$> c
+                              let c' = (\c -> niceAxiom fixs (TypeSig Relevant c t)) <$> c -- constructor is always relevant
                               dataOrRec (\x1 x2 x3 x4 x5 -> RecDef x1 x2 x3 x4 x5 c')
                                         (const niceDeclarations) r x tel t cs
 			    Mutual r ds -> do
@@ -261,13 +262,13 @@
 			    Pragma p		-> return [NicePragma (getRange p) p]
 
 			    FunClause _ _ _	-> __IMPOSSIBLE__
-			    TypeSig _ _		-> __IMPOSSIBLE__
+			    TypeSig{}		-> __IMPOSSIBLE__
 			  where
 			    dataOrRec mkDef niceD r x tel t cs = do
                               ds <- niceD fixs cs
                               return $
                                 [ NiceDef r [d]
-                                  [ Axiom (fuseRange x t) f PublicAccess ConcreteDef
+                                  [ Axiom (fuseRange x t) f PublicAccess ConcreteDef Relevant
                                           x (Pi tel t)
                                   ]
                                   -- Setting the range to the range of t makes sense
@@ -296,23 +297,23 @@
 	niceAxioms fixs ds = map (niceAxiom fixs) ds
 
         niceAxiom :: Map.Map Name Fixity' -> TypeSignature -> NiceDeclaration
-        niceAxiom fixs d@(TypeSig x t) =
-            Axiom (getRange d) (fixity x fixs) PublicAccess ConcreteDef x t
+        niceAxiom fixs d@(TypeSig rel x t) =
+            Axiom (getRange d) (fixity x fixs) PublicAccess ConcreteDef rel x t
         niceAxiom fixs d@(Field x argt) =
             NiceField (getRange d) (fixity x fixs) PublicAccess ConcreteDef x argt
         niceAxiom _ _ = __IMPOSSIBLE__
 
 	toPrim :: NiceDeclaration -> NiceDeclaration
-	toPrim (Axiom r f a c x t) = PrimitiveFunction r f a c x t
-	toPrim _		   = __IMPOSSIBLE__
+	toPrim (Axiom r f a c rel x t) = PrimitiveFunction r f a c x t
+	toPrim _		       = __IMPOSSIBLE__
 
 	-- Create a function definition.
-	mkFunDef fixs x mt ds0 = do
+	mkFunDef rel fixs x mt ds0 = do
           cs <- mkClauses x $ expandEllipsis ds0
           return $
 	    NiceDef (fuseRange x ds0)
-		    (TypeSig x t : ds0)
-		    [ Axiom (fuseRange x t) f PublicAccess ConcreteDef x t ]
+		    (TypeSig rel x t : ds0)
+		    [ Axiom (fuseRange x t) f PublicAccess ConcreteDef rel x t ]
 		    [ FunDef (getRange ds0) ds0 f PublicAccess ConcreteDef x cs
 		    ]
 	    where
@@ -400,7 +401,7 @@
 	-- Make a declaration abstract
 	mkAbstract d =
 	    case d of
-		Axiom r f a _ x e		    -> Axiom r f a AbstractDef x e
+		Axiom r f a _ rel x e		    -> Axiom r f a AbstractDef rel x e
 		NiceField r f a _ x e		    -> NiceField r f a AbstractDef x e
 		PrimitiveFunction r f a _ x e	    -> PrimitiveFunction r f a AbstractDef x e
 		NiceDef r cs ts ds		    -> NiceDef r cs (map mkAbstract ts)
@@ -427,7 +428,7 @@
 	-- Make a declaration private
 	mkPrivate d =
 	    case d of
-		Axiom r f _ a x e		    -> Axiom r f PrivateAccess a x e
+		Axiom r f _ a rel x e		    -> Axiom r f PrivateAccess a rel x e
 		NiceField r f _ a x e		    -> NiceField r f PrivateAccess a x e
 		PrimitiveFunction r f _ a x e	    -> PrimitiveFunction r f PrivateAccess a x e
 		NiceDef r cs ts ds		    -> NiceDef r cs (map mkPrivate ts)
@@ -485,13 +486,12 @@
 notSoNiceDeclarations :: [NiceDeclaration] -> [Declaration]
 notSoNiceDeclarations = concatMap notNice
   where
-    notNice (Axiom _ _ _ _ x e)                   = [TypeSig x e]
+    notNice (Axiom _ _ _ _ rel x e)               = [TypeSig rel x e]
     notNice (NiceField _ _ _ _ x argt)            = [Field x argt]
-    notNice (PrimitiveFunction r _ _ _ x e)       = [Primitive r [TypeSig x e]]
+    notNice (PrimitiveFunction r _ _ _ x e)       = [Primitive r [TypeSig Relevant x e]]
     notNice (NiceDef _ ds _ _)                    = ds
     notNice (NiceModule r _ _ x tel ds)           = [Module r x tel ds]
     notNice (NiceModuleMacro r _ _ x tel e o dir) = [ModuleMacro r x tel e o dir]
     notNice (NiceOpen r x dir)                    = [Open r x dir]
     notNice (NiceImport r x as o dir)             = [Import r x as o dir]
     notNice (NicePragma _ p)                      = [Pragma p]
-
diff --git a/src/full/Agda/Syntax/Concrete/Operators.hs b/src/full/Agda/Syntax/Concrete/Operators.hs
--- a/src/full/Agda/Syntax/Concrete/Operators.hs
+++ b/src/full/Agda/Syntax/Concrete/Operators.hs
@@ -87,14 +87,14 @@
         where
             zs = concatMap opOrNot ops
 
-    opOrNot (x, Fixity' fx syn) = Left x 
+    opOrNot (x, Fixity' fx syn) = Left x
                                 :  case x of
                                       Name _ [_] -> []
                                       _ -> [Right (x, fx, syntaxOf x)]
                                 ++ case syn of
                                     [] -> []
                                     _ -> [Right (x, fx, syn)]
-        
+
 data UseBoundNames = UseBoundNames | DontUseBoundNames
 
 
@@ -140,10 +140,10 @@
   (True,False) -> Postfix
   (False,True) -> Prefix
   (False,False) -> Nonfix
-  
 
+
 notationNames :: NewNotation -> [Name]
-notationNames (_, _, ps) = [Name noRange [Id x] | IdPart x <- ps ]  
+notationNames (_, _, ps) = [Name noRange [Id x] | IdPart x <- ps ]
 
 buildParser :: forall e. IsExpr e => Range -> UseBoundNames -> ScopeM (ReadP e e)
 buildParser r use = do
@@ -160,15 +160,15 @@
                        DontUseBoundNames -> not (Set.member x conparts) || Set.member x connames
         -- If string is a part of notation, it cannot be used as an identifier,
         -- unless it is also used as an identifier. See issue 307.
-    return $ -- traceShow ops $ 
+    return $ -- traceShow ops $
            recursive $ \p -> -- p is a parser for an arbitrary expression
         concatMap (mkP p) (order fix) -- for infix operators (with outer "holes")
         ++ [ appP p ] -- parser for simple applications
         ++ map (nonfixP . opP p) non -- for things with no outer "holes"
         ++ [ const $ atomP isAtom ]
     where
-        
 
+
         level :: NewNotation -> Nat
         level (_name, fixity, _syn) = fixityLevel fixity
 
@@ -177,7 +177,7 @@
         isinfixl, isinfixr, isinfix, nonfix, isprefix, ispostfix :: NewNotation -> Bool
 
         isinfixl (_, LeftAssoc _ _, syn)  = isInfix syn
-        isinfixl _                    = False 
+        isinfixl _                    = False
 
         isinfixr (_, RightAssoc _ _, syn) = isInfix syn
         isinfixr _                    = False
@@ -209,7 +209,7 @@
                 postfx  = fixP postfixP ispostfix
 
                 fixP :: (ReadP e (NewNotation,Range,[e]) -> ReadP e e -> ReadP e e) -> (NewNotation -> Bool) -> [ReadP e e -> ReadP e e]
-                fixP f g = 
+                fixP f g =
                     case filter g ops of
                         []  -> []
                         ops -> [ f $ choice $ map (opP p0) ops ]
@@ -384,4 +384,3 @@
 mparen :: Bool -> Expr -> Expr
 mparen True  e = Paren (getRange e) e
 mparen False e = e
-
diff --git a/src/full/Agda/Syntax/Concrete/Operators/Parser.hs b/src/full/Agda/Syntax/Concrete/Operators/Parser.hs
--- a/src/full/Agda/Syntax/Concrete/Operators/Parser.hs
+++ b/src/full/Agda/Syntax/Concrete/Operators/Parser.hs
@@ -159,7 +159,7 @@
 	restP x = return x +++ do
 	    f <- binop op
 	    e <- p
-	    f x e 
+	    f x e
 
 nonfixP op p = (do
   (nsyn,r,es) <- op
@@ -194,4 +194,3 @@
     case exprView e of
 	LocalV x | not (p x) -> pfail
 	_		     -> return e
-
diff --git a/src/full/Agda/Syntax/Concrete/Pretty.hs b/src/full/Agda/Syntax/Concrete/Pretty.hs
--- a/src/full/Agda/Syntax/Concrete/Pretty.hs
+++ b/src/full/Agda/Syntax/Concrete/Pretty.hs
@@ -43,8 +43,8 @@
 pRelevance :: Pretty a => Relevance -> a -> Doc
 pRelevance Forced     a = pretty a
 pRelevance Relevant   a = pretty a
-pRelevance Irrelevant a = 
-  let d = pretty a 
+pRelevance Irrelevant a =
+  let d = pretty a
   in  if render d == "_" then d else text "." <> d
 
 {- UNUSED
@@ -218,12 +218,13 @@
 instance Pretty Declaration where
     pretty d =
 	case d of
-	    TypeSig x e	-> sep [ pretty x <+> text ":"
-			       , nest 2 $ pretty e
-			       ]
-            Field x (Arg h rel e) -> 
+	    TypeSig rel x e ->
+                sep [ pRelevance rel $ pretty x <+> text ":"
+		    , nest 2 $ pretty e
+		    ]
+            Field x (Arg h rel e) ->
                 sep [ text "field"
-                    , nest 2 $ pRelevance rel $ pHidden h (TypeSig x e)
+                    , nest 2 $ pRelevance rel $ pHidden h (TypeSig Relevant x e)
                     ]
 	    FunClause lhs rhs wh ->
 		sep [ pretty lhs
@@ -302,6 +303,8 @@
       hsep [ text "COMPILED_TYPE", pretty x, text hs ]
     pretty (CompiledDataPragma _ x hs hcs) =
       hsep $ [text "COMPILED_DATA", pretty x] ++ map text (hs : hcs)
+    pretty (CompiledEpicPragma _ x e) =
+      hsep [ text "COMPILED_EPIC", pretty x, text e ]
     pretty (ImportPragma _ i) =
       hsep $ [text "IMPORT", text i]
     pretty (ImpossiblePragma _) =
@@ -315,7 +318,7 @@
     pretty (NonAssoc _ n)   = text "infix" <+> text (show n)
 
 instance Pretty e => Pretty (Arg e) where
- -- Andreas 2010-09-21: do not print relevance in general, only in function types! 
+ -- Andreas 2010-09-21: do not print relevance in general, only in function types!
  -- Andreas 2010-09-24: and in record fields
     pretty (Arg h r e) = -- pRelevance r $
                          pHidden h e
@@ -376,4 +379,3 @@
 instance Pretty ImportedName where
     pretty (ImportedName x)	= pretty x
     pretty (ImportedModule x)	= text "module" <+> pretty x
-
diff --git a/src/full/Agda/Syntax/Fixity.hs b/src/full/Agda/Syntax/Fixity.hs
--- a/src/full/Agda/Syntax/Fixity.hs
+++ b/src/full/Agda/Syntax/Fixity.hs
@@ -13,7 +13,7 @@
 
 -- | The notation is handled as the fixity in the renamer. Hence they
 -- are grouped together in this type.
-data Fixity' = Fixity' 
+data Fixity' = Fixity'
     {theFixity :: Fixity,
      theNotation :: Notation}
   deriving (Typeable, Data, Show, Eq)
@@ -38,7 +38,7 @@
 
 defaultFixity' = Fixity' defaultFixity defaultNotation
 
-noFixity = NonAssoc noRange (negate 666) 
+noFixity = NonAssoc noRange (negate 666)
 
 -- | Fixity of operators.
 data Fixity = LeftAssoc  Range Nat
@@ -127,4 +127,3 @@
     getRange (LeftAssoc  r _)	= r
     getRange (RightAssoc r _)	= r
     getRange (NonAssoc   r _)	= r
-
diff --git a/src/full/Agda/Syntax/Info.hs b/src/full/Agda/Syntax/Info.hs
--- a/src/full/Agda/Syntax/Info.hs
+++ b/src/full/Agda/Syntax/Info.hs
@@ -101,7 +101,7 @@
   killRange (LetRange r) = LetRange (killRange r)
 
 {--------------------------------------------------------------------------
-    Definition information (declarations that actually defines something)
+    Definition information (declarations that actually define something)
  --------------------------------------------------------------------------}
 
 data DefInfo =
@@ -172,4 +172,3 @@
 instance KillRange PatInfo where
   killRange (PatRange r)    = PatRange $ killRange r
   killRange (PatSource r f) = PatSource (killRange r) f
-
diff --git a/src/full/Agda/Syntax/Internal.hs b/src/full/Agda/Syntax/Internal.hs
--- a/src/full/Agda/Syntax/Internal.hs
+++ b/src/full/Agda/Syntax/Internal.hs
@@ -369,4 +369,3 @@
   [ "An internal error has occurred. Please report this as a bug."
   , "Location of the error: " ++ file ++ ":" ++ show line
   ]
-
diff --git a/src/full/Agda/Syntax/Internal/Generic.hs b/src/full/Agda/Syntax/Internal/Generic.hs
--- a/src/full/Agda/Syntax/Internal/Generic.hs
+++ b/src/full/Agda/Syntax/Internal/Generic.hs
@@ -78,4 +78,3 @@
   traverseTerm f (El s t) = El s $ traverseTerm f t
   traverseTermM f (El s t) = El s <$> traverseTermM f t
   foldTerm f (El s t) = foldTerm f t
-
diff --git a/src/full/Agda/Syntax/Literal.hs b/src/full/Agda/Syntax/Literal.hs
--- a/src/full/Agda/Syntax/Literal.hs
+++ b/src/full/Agda/Syntax/Literal.hs
@@ -62,4 +62,3 @@
   killRange (LitString r x) = LitString (killRange r) x
   killRange (LitChar   r x) = LitChar   (killRange r) x
   killRange (LitQName  r x) = LitQName  (killRange r) x
-
diff --git a/src/full/Agda/Syntax/Notation.hs b/src/full/Agda/Syntax/Notation.hs
--- a/src/full/Agda/Syntax/Notation.hs
+++ b/src/full/Agda/Syntax/Notation.hs
@@ -5,6 +5,7 @@
 
 import Control.Applicative
 import Control.Monad (when)
+import Control.Monad.Error (throwError)
 import Data.List
 import Data.Maybe
 import Data.Generics (Typeable, Data)
@@ -35,11 +36,11 @@
 data HoleName = LambdaHole String String -- ^ (\x -> y) ; 1st argument is the bound name (unused for now)
               | ExprHole String          -- ^ simple named hole
 
--- | Target of a hole  
+-- | Target of a hole
 holeName (LambdaHole _ n) = n
 holeName (ExprHole n) = n
 
-type Notation = [GenPart] 
+type Notation = [GenPart]
 
 -- | Part of a Notation
 data GenPart = BindHole Int  -- ^ Argument is the position of the hole (with binding) where the binding should occur.
@@ -65,20 +66,20 @@
 
 -- | From notation with names to notation with indices.
 mkNotation :: [HoleName] -> [String] -> Either String Notation
-mkNotation _ [] = fail "empty notation is disallowed"
+mkNotation _ [] = throwError "empty notation is disallowed"
 mkNotation holes ids = do
   xs <- mapM mkPart ids
-  when (not (isAlternating xs)) $ fail "syntax must alternate holes and non-holes"
-  when (not (isExprLinear xs)) $ fail "syntax must use holes exactly once"
-  when (not (isLambdaLinear xs)) $ fail "syntax must use binding holes exactly once"
+  when (not (isAlternating xs)) $ throwError "syntax must alternate holes and non-holes"
+  when (not (isExprLinear xs)) $ throwError "syntax must use holes exactly once"
+  when (not (isLambdaLinear xs)) $ throwError "syntax must use binding holes exactly once"
   return xs
-    where mkPart ident = 
-             case (findIndices (\x -> ident == holeName x) holes, 
+    where mkPart ident =
+             case (findIndices (\x -> ident == holeName x) holes,
                    findIndices (\x -> case x of LambdaHole ident' _ -> ident == ident';_ -> False) holes)  of
                            ([],[x])   -> return $ BindHole x
                            ([x], [])  -> return $ NormalHole x
                            ([], []) -> return $ IdPart ident
-                           _ -> fail "hole names must be unique"
+                           _ -> throwError "hole names must be unique"
 
           isExprLinear   xs = sort [ x | NormalHole x <- xs] == [ i | (i,h) <- zip [0..] holes ]
           isLambdaLinear xs = sort [ x | BindHole   x <- xs] == [ i | (i,h) <- zip [0..] holes, isLambdaHole h ]
@@ -93,5 +94,3 @@
 -- | No notation by default
 defaultNotation = []
 noNotation = []
-
-
diff --git a/src/full/Agda/Syntax/Parser/Comments.hs b/src/full/Agda/Syntax/Parser/Comments.hs
--- a/src/full/Agda/Syntax/Parser/Comments.hs
+++ b/src/full/Agda/Syntax/Parser/Comments.hs
@@ -78,5 +78,3 @@
 	    where
 		(==>) = (,)
 		other = ($)
-
-
diff --git a/src/full/Agda/Syntax/Parser/Layout.hs b/src/full/Agda/Syntax/Parser/Layout.hs
--- a/src/full/Agda/Syntax/Parser/Layout.hs
+++ b/src/full/Agda/Syntax/Parser/Layout.hs
@@ -146,4 +146,3 @@
 	return $ case ctx of
 	    Layout n	-> compare (posCol loc) n
 	    _		-> GT
-
diff --git a/src/full/Agda/Syntax/Parser/LexActions.hs b/src/full/Agda/Syntax/Parser/LexActions.hs
--- a/src/full/Agda/Syntax/Parser/LexActions.hs
+++ b/src/full/Agda/Syntax/Parser/LexActions.hs
@@ -244,4 +244,3 @@
 -- | True if the given state appears somewhere on the state stack
 inState :: LexState -> LexPredicate
 inState s (ls, _) _ _ _ = s `elem` ls
-
diff --git a/src/full/Agda/Syntax/Parser/Lexer.x b/src/full/Agda/Syntax/Parser/Lexer.x
--- a/src/full/Agda/Syntax/Parser/Lexer.x
+++ b/src/full/Agda/Syntax/Parser/Lexer.x
@@ -1,4 +1,5 @@
 {
+{-# OPTIONS_GHC -fno-warn-deprecated-flags #-}
 {-| The lexer is generated by Alex (<http://www.haskell.org/alex>) and is an
     adaptation of GHC's lexer. The main lexing function 'lexer' is called by
     the "Agda.Syntax.Parser.Parser" to get the next token from the input.
@@ -78,6 +79,7 @@
 <pragma_>   "COMPILED_DATA"	{ keyword KwCOMPILED_DATA }
 <pragma_>   "COMPILED_TYPE"	{ keyword KwCOMPILED_TYPE }
 <pragma_>   "COMPILED"	        { keyword KwCOMPILED }
+<pragma_>   "COMPILED_EPIC" { keyword KwCOMPILED_EPIC }
 <pragma_>   "IMPORT"	        { keyword KwIMPORT }
 <pragma_>   "IMPOSSIBLE"	{ keyword KwIMPOSSIBLE }
 <pragma_>   "ETA"               { keyword KwETA }
diff --git a/src/full/Agda/Syntax/Parser/LookAhead.hs b/src/full/Agda/Syntax/Parser/LookAhead.hs
--- a/src/full/Agda/Syntax/Parser/LookAhead.hs
+++ b/src/full/Agda/Syntax/Parser/LookAhead.hs
@@ -133,4 +133,3 @@
 runLookAhead err (LookAhead m) =
     do	inp <- getLexInput
 	evalStateT (runReaderT m (ErrorFun err)) inp
-
diff --git a/src/full/Agda/Syntax/Parser/Monad.hs b/src/full/Agda/Syntax/Parser/Monad.hs
--- a/src/full/Agda/Syntax/Parser/Monad.hs
+++ b/src/full/Agda/Syntax/Parser/Monad.hs
@@ -313,4 +313,3 @@
 pushCurrentContext =
     do	p <- getLastPos
 	pushContext (Layout (posCol p))
-
diff --git a/src/full/Agda/Syntax/Parser/Parser.y b/src/full/Agda/Syntax/Parser/Parser.y
--- a/src/full/Agda/Syntax/Parser/Parser.y
+++ b/src/full/Agda/Syntax/Parser/Parser.y
@@ -1,5 +1,6 @@
 {
-{-# OPTIONS -fno-warn-incomplete-patterns #-}
+{-# OPTIONS_GHC -fno-warn-incomplete-patterns
+                -fno-warn-deprecated-flags #-}
 {-| The parser is generated by Happy (<http://www.haskell.org/happy>).
 -}
 module Agda.Syntax.Parser.Parser (
@@ -87,6 +88,7 @@
     'COMPILED'      { TokKeyword KwCOMPILED $$ }
     'COMPILED_DATA' { TokKeyword KwCOMPILED_DATA $$ }
     'COMPILED_TYPE' { TokKeyword KwCOMPILED_TYPE $$ }
+    'COMPILED_EPIC' { TokKeyword KwCOMPILED_EPIC $$ }
     'quoteGoal'     { TokKeyword KwQuoteGoal $$ }
     'quote'         { TokKeyword KwQuote $$ }
 
@@ -176,6 +178,7 @@
     | 'COMPILED'    { TokKeyword KwCOMPILED $1 }
     | 'COMPILED_DATA'{ TokKeyword KwCOMPILED_DATA $1 }
     | 'COMPILED_TYPE'{ TokKeyword KwCOMPILED_TYPE $1 }
+    | 'COMPILED_EPIC'{ TokKeyword KwCOMPILED_EPIC $1 }
     | 'IMPOSSIBLE'    { TokKeyword KwIMPOSSIBLE $1 }
     | 'ETA'           { TokKeyword KwETA $1 }
     | 'quoteGoal'     { TokKeyword KwQuoteGoal $1 }
@@ -305,7 +308,7 @@
 
 -- A possibly dotted identifier.
 MaybeDottedId :: { Arg Name }
-MaybeDottedId 
+MaybeDottedId
   : '.' Id { Arg NotHidden Irrelevant $2 }
   | Id     { defaultArg $1 }
 
@@ -544,7 +547,7 @@
 
 -- A non-empty sequence of possibly untyped bindings.
 TypedUntypedBindings1 :: { [LamBinding] }
-TypedUntypedBindings1 
+TypedUntypedBindings1
   : DomainFreeBinding TypedUntypedBindings1 { $1 ++ $2 }
   | TypedBindings TypedUntypedBindings1	    { DomainFull $1 : $2 }
   | DomainFreeBinding                       { $1 }
@@ -680,7 +683,7 @@
 -- Top-level definitions.
 Declaration :: { [Declaration] }
 Declaration
-    : TypeSig	    { [$1] }
+    : RelTypeSig    { [$1] }  -- Possibly dotted type signature.
     | Fields        { $1   }
     | FunClause	    { [$1] }
     | Data	    { [$1] }
@@ -703,21 +706,25 @@
     Individual declarations
  --------------------------------------------------------------------------}
 
--- Type signatures can appear everywhere, so the type is completely polymorphic
--- in the indices.
-TypeSig :: { Declaration }
-TypeSig : Id ':' Expr   { TypeSig $1 $3 }
-
 -- Type signatures of the form "n1 n2 n3 ... : Type", with at least
 -- one bound name.
 TypeSigs :: { [Declaration] }
-TypeSigs : SpaceIds ':' Expr { map (flip TypeSig $3) $1 }
+TypeSigs : SpaceIds ':' Expr { map (flip (TypeSig Relevant) $3) $1 }
 
+-- Some declaration can include relevance information (axioms, functions)
+RelTypeSig :: { Declaration }
+RelTypeSig
+    : '.' Id ':' Expr   { TypeSig Irrelevant $2 $4 }
+    | Id ':' Expr       { TypeSig Relevant $1 $3 }
+
+RelTypeSigs :: { [Declaration] }
+RelTypeSigs : MaybeDottedIds ':' Expr { map (\ (Arg _ rel x) -> TypeSig rel x $3) $1 }
+
 -- A variant of TypeSigs where any sub-sequence of names can be marked
--- as hidden or irrelevant using braces and dots: 
+-- as hidden or irrelevant using braces and dots:
 -- {n1 .n2} n3 .n4 {n5} .{n6 n7} ... : Type.
 ArgTypeSigs :: { [Arg Declaration] }
-ArgTypeSigs : ArgIds ':' Expr { map (fmap (flip TypeSig $3)) $1 }
+ArgTypeSigs : ArgIds ':' Expr { map (fmap (flip (TypeSig Relevant) $3)) $1 }
 
 -- Function declarations. The left hand side is parsed as an expression to allow
 -- declarations like 'x::xs ++ ys = e', when '::' has higher precedence than '++'.
@@ -755,7 +762,7 @@
 -- Field declarations.
 Fields :: { [Declaration] }
 Fields : 'field' ArgTypeSignatures
-            { let toField (Arg h rel (TypeSig x t)) = Field x (Arg h rel t) in map toField $2 }
+            { let toField (Arg h rel (TypeSig _ x t)) = Field x (Arg h rel t) in map toField $2 }
 --REM            { let toField (h, TypeSig x t) = Field h x t in map toField $2 }
 
 -- Mutually recursive declarations.
@@ -775,16 +782,16 @@
 
 -- Postulates. Can only contain type signatures. TODO: relax this.
 Postulate :: { Declaration }
-Postulate : 'postulate' TypeSignatures	{ Postulate (fuseRange $1 $2) $2 }
+Postulate : 'postulate' RelTypeSignatures { Postulate (fuseRange $1 $2) $2 }
 
 -- Primitives. Can only contain type signatures.
 Primitive :: { Declaration }
 Primitive : 'primitive' TypeSignatures	{ Primitive (fuseRange $1 $2) $2 }
 
--- Syntax declaration (To declare eg. mixfix binders) 
+-- Syntax declaration (To declare eg. mixfix binders)
 Syntax :: { Declaration }
 Syntax : 'syntax' Id HoleNames '=' SimpleIds  {%
-  case $2 of 
+  case $2 of
     Name _ [_] -> case mkNotation $3 $5 of
       Left err -> parseError $ "malformed syntax declaration: " ++ err
       Right n -> return $ Syntax $2 n
@@ -802,11 +809,11 @@
 HoleName :: { HoleName }
 HoleName : SimpleId { ExprHole $1}
          | '(' '\\' SimpleId '->' SimpleId ')' { LambdaHole $3 $5 }
--- Variable name hole to be implemented later. 
+-- Variable name hole to be implemented later.
 
 -- Discard the interval.
 SimpleId :: { String }
-SimpleId : id  { snd $1 } 
+SimpleId : id  { snd $1 }
 
 
 -- Open
@@ -873,6 +880,7 @@
   | CompiledPragma     { $1 }
   | CompiledDataPragma { $1 }
   | CompiledTypePragma { $1 }
+  | CompiledEpicPragma { $1 }
   | ImportPragma       { $1 }
   | ImpossiblePragma   { $1 }
   | RecordEtaPragma    { $1 }
@@ -900,6 +908,12 @@
   : '{-#' 'COMPILED_DATA' PragmaName string PragmaStrings '#-}'
     { CompiledDataPragma (fuseRange $1 $6) $3 (snd $4) $5 }
 
+CompiledEpicPragma :: { Pragma }
+CompiledEpicPragma
+  : '{-#' 'COMPILED_EPIC' PragmaName PragmaStrings '#-}'
+    { CompiledEpicPragma (fuseRange $1 $5) $3 (unwords $4) }
+
+
 RecordEtaPragma :: { Pragma }
 RecordEtaPragma
   : '{-#' 'ETA' PragmaName '#-}'
@@ -932,6 +946,17 @@
 TypeSignatures1
     : TypeSignatures1 semi TeX TypeSigs { reverse $4 ++ $1 }
     | TeX TypeSigs			{ reverse $2 }
+
+-- A variant of TypeSignatures which allows the irrelevance annotation (dot).
+RelTypeSignatures :: { [TypeSignature] }
+RelTypeSignatures
+    : TeX vopen RelTypeSignatures1 TeX close   { reverse $3 }
+
+-- Inside the layout block.
+RelTypeSignatures1 :: { [TypeSignature] }
+RelTypeSignatures1
+    : RelTypeSignatures1 semi TeX RelTypeSigs { reverse $4 ++ $1 }
+    | TeX RelTypeSigs			      { reverse $2 }
 
 -- A variant of TypeSignatures which uses ArgTypeSigs instead of
 -- TypeSigs.
diff --git a/src/full/Agda/Syntax/Parser/StringLiterals.hs b/src/full/Agda/Syntax/Parser/StringLiterals.hs
--- a/src/full/Agda/Syntax/Parser/StringLiterals.hs
+++ b/src/full/Agda/Syntax/Parser/StringLiterals.hs
@@ -210,4 +210,3 @@
     , ("SP", '\SP')
     , ("DEL", '\DEL')
     ]
-
diff --git a/src/full/Agda/Syntax/Parser/Tokens.hs b/src/full/Agda/Syntax/Parser/Tokens.hs
--- a/src/full/Agda/Syntax/Parser/Tokens.hs
+++ b/src/full/Agda/Syntax/Parser/Tokens.hs
@@ -18,7 +18,7 @@
 	| KwSet | KwProp | KwForall | KwRecord | KwConstructor | KwField
 	| KwHiding | KwUsing | KwRenaming | KwTo | KwPublic
 	| KwOPTIONS | KwBUILTIN | KwLINE
-        | KwCOMPILED_DATA | KwCOMPILED_TYPE | KwCOMPILED | KwIMPORT
+        | KwCOMPILED_DATA | KwCOMPILED_TYPE | KwCOMPILED | KwCOMPILED_EPIC | KwIMPORT
         | KwIMPOSSIBLE | KwETA | KwQuoteGoal | KwQuote | KwSyntax
     deriving (Eq, Show)
 
diff --git a/src/full/Agda/Syntax/Position.hs b/src/full/Agda/Syntax/Position.hs
--- a/src/full/Agda/Syntax/Position.hs
+++ b/src/full/Agda/Syntax/Position.hs
@@ -36,6 +36,7 @@
   , fuseRange
   , fuseRanges
   , beginningOf
+  , beginningOfFile
 
     -- * Tests
   , tests
@@ -324,9 +325,18 @@
 -- beginning, then 'noRange' is returned.
 beginningOf :: Range -> Range
 beginningOf r = case rStart r of
-  Just pos -> Range [Interval { iStart = pos, iEnd = pos }]
   Nothing  -> noRange
+  Just pos -> posToRange pos pos
 
+-- | @beginningOfFile r@ is an empty range (a single, empty interval)
+-- at the beginning of @r@'s starting position's file. If there is no
+-- such position, then an empty range is returned.
+beginningOfFile :: Range -> Range
+beginningOfFile r = case rStart r of
+  Nothing                   -> noRange
+  Just (Pn { srcFile = f }) -> posToRange p p
+    where p = startPos f
+
 -- | @x `withRangeOf` y@ sets the range of @x@ to the range of @y@.
 withRangeOf :: (SetRange t, HasRange u) => t -> u -> t
 x `withRangeOf` y = setRange (getRange y) x
@@ -395,6 +405,8 @@
 
 prop_beginningOf r = rangeInvariant (beginningOf r)
 
+prop_beginningOfFile r = rangeInvariant (beginningOfFile r)
+
 instance Arbitrary Position where
   arbitrary = do
     srcFile                    <- arbitrary
@@ -453,5 +465,6 @@
   , quickCheck' prop_fuseIntervals
   , quickCheck' prop_fuseRanges
   , quickCheck' prop_beginningOf
+  , quickCheck' prop_beginningOfFile
   , quickCheck' prop_intervalInSameFileAs
   ]
diff --git a/src/full/Agda/Syntax/Scope/Base.hs b/src/full/Agda/Syntax/Scope/Base.hs
--- a/src/full/Agda/Syntax/Scope/Base.hs
+++ b/src/full/Agda/Syntax/Scope/Base.hs
@@ -32,7 +32,7 @@
       { scopeName     :: A.ModuleName
       , scopeParents  :: [A.ModuleName]
       , scopePrivate  :: NameSpace
-      , scopePublic   :: NameSpace 
+      , scopePublic   :: NameSpace
       , scopeImported :: NameSpace -- ^ public opened names
       , scopeImports  :: Map C.QName A.ModuleName
       }
@@ -166,6 +166,7 @@
       blockOfLines "names"   (map pr $ Map.toList names) ++
       blockOfLines "modules" (map pr $ Map.toList mods)
     where
+      pr :: (Show a, Show b) => (a,b) -> String
       pr (x, y) = show x ++ " --> " ++ show y
 
 instance Show AbstractName where
@@ -462,17 +463,24 @@
 scopeLookup :: forall a. InScope a => C.QName -> ScopeInfo -> [a]
 scopeLookup q scope = nub $ findName q root ++ imports
   where
+    this    :: A.ModuleName
     this    = scopeCurrent scope
+
+    current :: Scope
     current = moduleScope this
+
+    root    :: Scope
     root    = mergeScopes $ current : map moduleScope (scopeParents current)
 
     tag = inScopeTag :: InScopeTag a
 
+    splitName :: C.QName -> [(C.QName, C.QName)]
     splitName (C.QName x) = []
     splitName (C.Qual x q) = (C.QName x, q) : do
       (m, r) <- splitName q
       return (C.Qual x m, r)
 
+    imported :: C.QName -> [A.ModuleName]
     imported q = maybe [] (:[]) $ Map.lookup q $ scopeImports root
 
     topImports :: [a]
@@ -487,21 +495,25 @@
       x <- findName x (restrictPrivate $ moduleScope m)
       return x
 
+    moduleScope :: A.ModuleName -> Scope
     moduleScope name = case Map.lookup name (scopeModules scope) of
       Nothing -> __IMPOSSIBLE__
       Just s  -> s
 
+    lookupName :: forall a. InScope a => C.Name -> Scope -> [a]
     lookupName x s = maybe [] id $ Map.lookup x (allNamesInScope s)
 
+    findName :: forall a. InScope a => C.QName -> Scope -> [a]
     findName (C.QName x)  s = lookupName x s
     findName (C.Qual x q) s = do
         m <- nub $ mods ++ defs -- record types will appear bot as a mod and a def
         Just s' <- return $ Map.lookup m (scopeModules scope)
         findName q (restrictPrivate s')
       where
+        mods, defs :: [ModuleName]
         mods = amodName <$> lookupName x s
         -- Qualified constructors are qualified by their datatype rather than a module
-        defs = mnameFromList . qnameToList . anameName <$> lookupName x s 
+        defs = mnameFromList . qnameToList . anameName <$> lookupName x s
 
 -- * Inverse look-up
 
@@ -531,6 +543,7 @@
       []    -> Nothing
       x : _ -> Just x
 
+    unique :: forall a . [a] -> Bool
     unique []      = __IMPOSSIBLE__
     unique [_]     = True
     unique (_:_:_) = False
@@ -576,4 +589,3 @@
 -- | Takes the second component of 'inverseScopeLookup'.
 inverseScopeLookupModule :: A.ModuleName -> ScopeInfo -> Maybe C.QName
 inverseScopeLookupModule x = inverseScopeLookup (Left x)
-
diff --git a/src/full/Agda/Syntax/Scope/Monad.hs b/src/full/Agda/Syntax/Scope/Monad.hs
--- a/src/full/Agda/Syntax/Scope/Monad.hs
+++ b/src/full/Agda/Syntax/Scope/Monad.hs
@@ -403,7 +403,7 @@
   current <- getCurrentModule
   m <- amodName <$> resolveModule cm
   let ns = namespace current m
-  s <- setScopeAccess ns <$> 
+  s <- setScopeAccess ns <$>
         (applyImportDirectiveM cm dir . restrictPrivate =<< getNamedScope m)
   checkForClashes (scopeNameSpace ns s)
   modifyCurrentScope (`mergeScope` s)
@@ -438,4 +438,3 @@
         case filter realClash modClashes of
           (_, (m0:_, m1:_)):_ -> typeError $ ClashingModule (amodName m0) (amodName m1)
           _                   -> return ()
-
diff --git a/src/full/Agda/Syntax/Strict.hs b/src/full/Agda/Syntax/Strict.hs
--- a/src/full/Agda/Syntax/Strict.hs
+++ b/src/full/Agda/Syntax/Strict.hs
@@ -85,4 +85,3 @@
 
 strict :: Strict a => a -> a
 strict x = id $!! x
-
diff --git a/src/full/Agda/Syntax/Translation/AbstractToConcrete.hs b/src/full/Agda/Syntax/Translation/AbstractToConcrete.hs
--- a/src/full/Agda/Syntax/Translation/AbstractToConcrete.hs
+++ b/src/full/Agda/Syntax/Translation/AbstractToConcrete.hs
@@ -417,10 +417,10 @@
         ret (C.TNoBind e)
 
 instance ToConcrete LetBinding [C.Declaration] where
-    bindToConcrete (LetBind i x t e) ret =
+    bindToConcrete (LetBind i rel x t e) ret =
         bindToConcrete x $ \x ->
         do  (t,(e, [], [], [])) <- toConcrete (t, A.RHS e)
-            ret [ C.TypeSig x t
+            ret [ C.TypeSig rel x t
                 , C.FunClause (C.LHS (C.IdentP $ C.QName x) [] [] [])
                               e C.NoWhere
                 ]
@@ -498,14 +498,14 @@
   toConcrete (TypeAndDef d (ScopedDef scope def)) =
     withScope scope $ toConcrete (TypeAndDef d def)
 
-  toConcrete (TypeAndDef (Axiom _ x t) (FunDef i _ cs)) =
+  toConcrete (TypeAndDef (Axiom _ rel x t) (FunDef i _ cs)) =
     withAbstractPrivate i $ do
     t'  <- toConcreteCtx TopCtx t
     cs' <- toConcrete cs
     x'  <- unsafeQNameToName <$> toConcrete x
-    return $ TypeSig x' t' : concat cs'
+    return $ TypeSig rel x' t' : concat cs'
 
-  toConcrete (TypeAndDef (Axiom _ x t) (DataDef i _ bs cs)) =
+  toConcrete (TypeAndDef (Axiom _ _ x t) (DataDef i _ bs cs)) =
     withAbstractPrivate i $
     bindToConcrete tel $ \tel' -> do
       t'       <- toConcreteCtx TopCtx t0
@@ -519,7 +519,7 @@
       mkTel _ _            = __IMPOSSIBLE__
 --      mkTel n t            = error $ "mkTel " ++ show n ++ " " ++ show t
 
-  toConcrete (TypeAndDef (Axiom _ x t) (RecDef  i _ c bs _ cs)) =
+  toConcrete (TypeAndDef (Axiom _ _ x t) (RecDef  i _ c bs _ cs)) =
     withAbstractPrivate i $
     bindToConcrete tel $ \tel' -> do
       t'       <- toConcreteCtx TopCtx t0
@@ -539,29 +539,35 @@
 instance ToConcrete (Constr A.Constructor) C.Declaration where
   toConcrete (Constr (A.ScopedDecl scope [d])) =
     withScope scope $ toConcrete (Constr d)
-  toConcrete (Constr (A.Axiom i x t)) = do
+  toConcrete (Constr (A.Axiom i rel x t)) = do
     x' <- unsafeQNameToName <$> toConcrete x
     t' <- toConcreteCtx TopCtx t
-    return $ C.TypeSig x' t'
+    return $ C.TypeSig rel x' t'
   toConcrete (Constr d) = head <$> toConcrete d
 
 instance ToConcrete A.Clause [C.Declaration] where
   toConcrete (A.Clause lhs rhs wh) =
-      bindToConcrete lhs $ \(C.LHS p wps _ _) -> do
-      bindToConcrete (AsWhereDecls wh)  $ \wh' -> do
-          (rhs', eqs, with, wcs) <- toConcreteCtx TopCtx rhs
-          return $ FunClause (C.LHS p wps eqs with) rhs' wh' : wcs
+      bindToConcrete lhs $ \lhs ->
+        case lhs of
+          C.LHS p wps _ _ -> do
+            bindToConcrete (AsWhereDecls wh)  $ \wh' -> do
+                (rhs', eqs, with, wcs) <- toConcreteCtx TopCtx rhs
+                return $ FunClause (C.LHS p wps eqs with) rhs' wh' : wcs
+          C.Ellipsis {} -> __IMPOSSIBLE__
+          -- TODO: Is the case above impossible? Previously there was
+          -- no code for it, but GHC 7's completeness checker spotted
+          -- that the case was not covered.
 
 instance ToConcrete A.Declaration [C.Declaration] where
   toConcrete (ScopedDecl scope ds) =
     withScope scope $ toConcrete ds
 
-  toConcrete (Axiom i x t) = do
+  toConcrete (Axiom i rel x t) = do
     x' <- unsafeQNameToName <$> toConcrete x
     withAbstractPrivate i $
       withInfixDecl i x'  $ do
       t' <- toConcreteCtx TopCtx t
-      return [C.Postulate (getRange i) [C.TypeSig x' t']]
+      return [C.Postulate (getRange i) [C.TypeSig rel x' t']]
 
   toConcrete (A.Field i x t) = do
     x' <- unsafeQNameToName <$> toConcrete x
@@ -575,7 +581,8 @@
     withAbstractPrivate i $
       withInfixDecl i x'  $ do
       t' <- toConcreteCtx TopCtx t
-      return [C.Primitive (getRange i) [C.TypeSig x' t']]
+      return [C.Primitive (getRange i) [C.TypeSig Relevant x' t']]
+        -- Primitives are always relevant.
 
   toConcrete (Definition i ts ds) = do
       ixs' <- map (id -*- unsafeQNameToName) <$> toConcrete (map (DontTouchMe -*- id) ixs)
@@ -585,7 +592,7 @@
       where
           ixs = map getInfoAndName ts
           is  = map fst ixs
-          getInfoAndName (A.Axiom i x _)          = (i,x)
+          getInfoAndName (A.Axiom i _ x _)        = (i,x)
           getInfoAndName (A.ScopedDecl scope [d]) = getInfoAndName d
           getInfoAndName _                        = __IMPOSSIBLE__
 
@@ -642,6 +649,9 @@
         A.CompiledPragma x hs -> do
           x <- toConcrete x
           return $ C.CompiledPragma r x hs
+        A.CompiledEpicPragma x e -> do
+          x <- toConcrete x
+          return $ C.CompiledEpicPragma r x e
         A.EtaPragma x -> C.EtaPragma r <$> toConcrete x
 
 -- Left hand sides --------------------------------------------------------
@@ -796,4 +806,3 @@
     es <- mapM (toConcreteCtx InsideOperandCtx) as
     bracket roundFixBrackets
       $ return $ opApp (getRange cn) cn es
-
diff --git a/src/full/Agda/Syntax/Translation/ConcreteToAbstract.hs b/src/full/Agda/Syntax/Translation/ConcreteToAbstract.hs
--- a/src/full/Agda/Syntax/Translation/ConcreteToAbstract.hs
+++ b/src/full/Agda/Syntax/Translation/ConcreteToAbstract.hs
@@ -52,6 +52,7 @@
 import Agda.TypeChecking.Monad.Options
 
 import {-# SOURCE #-} Agda.Interaction.Imports (scopeCheckImport)
+import Agda.Interaction.Options
 
 import Agda.Utils.Monad
 import Agda.Utils.Tuple
@@ -61,41 +62,7 @@
 
 #include "../../undefined.h"
 import Agda.Utils.Impossible
-
-
--- moved here to reduce the probability of line number change
--- in C.ImpossiblePragma  (test/fail/Impossible.agda)
-instance ToAbstract C.Pragma [A.Pragma] where
-    toAbstract (C.ImpossiblePragma _) = __IMPOSSIBLE__
-    toAbstract (C.OptionsPragma _ opts) = return [ A.OptionsPragma opts ]
-    toAbstract (C.CompiledTypePragma _ x hs) = do
-      e <- toAbstract $ OldQName x
-      case e of
-        A.Def x -> return [ A.CompiledTypePragma x hs ]
-        _       -> fail $ "Bad compiled type: " ++ show x  -- TODO: error message
-    toAbstract (C.CompiledDataPragma _ x hs hcs) = do
-      e <- toAbstract $ OldQName x
-      case e of
-        A.Def x -> return [ A.CompiledDataPragma x hs hcs ]
-        _       -> fail $ "Not a datatype: " ++ show x  -- TODO: error message
-    toAbstract (C.CompiledPragma _ x hs) = do
-      e <- toAbstract $ OldQName x
-      y <- case e of
-            A.Def x -> return x
-            A.Con _ -> fail "Use COMPILED_DATA for constructors" -- TODO
-            _       -> __IMPOSSIBLE__
-      return [ A.CompiledPragma y hs ]
-    toAbstract (C.BuiltinPragma _ b e) = do
-        e <- toAbstract e
-        return [ A.BuiltinPragma b e ]
-    toAbstract (C.ImportPragma _ i) = do
-      addHaskellImport i
-      return []
-    toAbstract (C.EtaPragma _ x) = do
-      e <- toAbstract $ OldQName x
-      case e of
-        A.Def x -> return [ A.EtaPragma x ]
-        _       -> fail "Bad ETA pragma"
+import Agda.ImpossibleTest (impossibleTest)
 
 {--------------------------------------------------------------------------
     Exceptions
@@ -190,7 +157,7 @@
     notField NiceField{} = False
     notField _           = True
 
-    build (NiceField r f _ _ x (Arg h rel e) : fs) = 
+    build (NiceField r f _ _ x (Arg h rel e) : fs) =
         C.Pi [C.TypedBindings r $ Arg h rel [C.TBind r [BName x f] e]] $ build fs
       where r = getRange x
     build (d : fs)                     = C.Let noRange (notSoNiceDeclarations [d]) $ build fs
@@ -431,14 +398,14 @@
 
 -- | By default, arguments are @Relevant@.
 mkArg :: C.Expr -> Arg C.Expr
--- mkArg (C.Dot _ e) = mkArg' Irrelevant e 
-mkArg e           = mkArg' Relevant e 
+-- mkArg (C.Dot _ e) = mkArg' Irrelevant e
+mkArg e           = mkArg' Relevant e
 
 
 -- | Parse a possibly dotted C.Expr as A.Expr.  Bool = True if dotted.
 toAbstractDot :: Precedence -> C.Expr -> ScopeM (A.Expr, Bool)
 toAbstractDot prec e = do
-    reportSLn "scope.irrelevance" 100 $ "toAbstractDot: " ++ (render $ pretty e)  
+    reportSLn "scope.irrelevance" 100 $ "toAbstractDot: " ++ (render $ pretty e)
     traceCall (ScopeCheckExpr e) $ case e of
     -- annotateExpr e = ScopedExpr <scope from Monad> e
       C.Dot _ e -> do
@@ -451,7 +418,7 @@
 
       C.Paren _ e -> toAbstractDot TopCtx e
 
-      e -> do 
+      e -> do
         e <- toAbstractCtx prec e
         return (e, False)
 
@@ -459,7 +426,7 @@
   toAbstract e =
     traceCall (ScopeCheckExpr e) $ annotateExpr $ case e of
     -- annotateExpr e = ScopedExpr <scope from Monad> e
- 
+
   -- Names
       Ident x -> toAbstract (OldQName x)
 
@@ -490,7 +457,7 @@
 {- Andreas, 2010-09-06 STALE COMMENT
   -- Dots are used in dot patterns and in irrelevant function space .A n -> B
   -- we propagate dots out from the head of applications
-  
+
       C.Dot r e1 -> do
         t1 <- toAbstract e1
         return $ A.Dot t1
@@ -518,12 +485,15 @@
       C.AbsurdLam r h -> return $ A.AbsurdLam (ExprRange r) h
 
       e0@(C.Lam r bs e) -> do
-        localToAbstract bs $ \(b:bs') -> do
-        e        <- toAbstractCtx TopCtx e
-        let info = ExprRange r
-        return $ A.Lam info b $ foldr mkLam e bs'
-        where
-            mkLam b e = A.Lam (ExprRange $ fuseRange b e) b e
+        localToAbstract bs $ \bs ->
+          case bs of
+            b:bs' -> do
+              e        <- toAbstractCtx TopCtx e
+              let info = ExprRange r
+              return $ A.Lam info b $ foldr mkLam e bs'
+              where
+                  mkLam b e = A.Lam (ExprRange $ fuseRange b e) b e
+            [] -> __IMPOSSIBLE__
 
 -- Irrelevant non-dependent function type
 
@@ -533,7 +503,7 @@
         e2 <- toAbstractCtx TopCtx e2
         let info = ExprRange r
         return $ A.Fun info e1 e2
-  
+
 {-
 -- Other function types
 
@@ -668,11 +638,11 @@
 instance ToAbstract LetDef [A.LetBinding] where
     toAbstract (LetDef d) =
         case d of
-            NiceDef _ c [C.Axiom _ _ _ _ x t] [C.FunDef _ _ _ _ _ _ [cl]] ->
+            NiceDef _ c [C.Axiom _ _ _ _ rel x t] [C.FunDef _ _ _ _ _ _ [cl]] ->
                 do  e <- letToAbstract cl
                     t <- toAbstract t
                     x <- toAbstract (NewName x)
-                    return [ A.LetBind (LetRange $ getRange c) x t e ]
+                    return [ A.LetBind (LetRange $ getRange c) rel x t e ]
 
             -- You can't open public in a let
             NiceOpen r x dirs | not (C.publicOpen dirs) -> do
@@ -713,7 +683,7 @@
                     i' = ExprRange (fuseRange i e)
             lambda _ _ = notAValidLetBinding d
 
--- instance ToAbstract C.Pragma [A.Pragma] 
+-- instance ToAbstract C.Pragma [A.Pragma]
 -- moved higher up to reduce the probability of line number change
 -- in C.ImpossiblePragma  (test/fail/Impossible.agda)
 
@@ -754,7 +724,7 @@
           printScope "data" 20 $ "Checked data " ++ show x
           return $ A.DataDef (mkDefInfo x f p a r) x' pars cons
         where
-          conName (C.Axiom _ _ _ _ c _) = c
+          conName (C.Axiom _ _ _ _ _ c _) = c
           conName _ = __IMPOSSIBLE__
 
     -- Record definitions (mucho interesting)
@@ -789,19 +759,21 @@
     case d of
 
   -- Axiom
-    C.Axiom r f p a x t -> do
+    C.Axiom r f p a rel x t -> do
       t' <- toAbstractCtx TopCtx t
       y  <- freshAbstractQName f x
       bindName p DefName x y
-      return [ A.Axiom (mkDefInfo x f p a r) y t' ]
+      return [ A.Axiom (mkDefInfo x f p a r) rel y t' ]
 
   -- Fields
     C.NiceField r f p a x t -> do
       t' <- toAbstractCtx TopCtx t
       y  <- freshAbstractQName f x
-      unless (argRelevance t == Irrelevant) $  
+      irrProj <- optIrrelevantProjections <$> pragmaOptions
+      unless (argRelevance t == Irrelevant && not irrProj) $
         -- Andreas, 2010-09-24: irrelevant fields are not in scope
         -- this ensures that projections out of irrelevant fields cannot occur
+        -- Ulf: unless you turn on --irrelevant-projections
         bindName p DefName x y
       return [ A.Field (mkDefInfo x f p a r) y t' ]
 
@@ -902,7 +874,7 @@
 data ConstrDecl = ConstrDecl A.ModuleName C.NiceDeclaration
 
 instance ToAbstract ConstrDecl A.Declaration where
-    toAbstract (ConstrDecl m (C.Axiom r f p a x t)) = do
+    toAbstract (ConstrDecl m (C.Axiom r f p a rel x t)) = do -- rel==Relevant
         t' <- toAbstractCtx TopCtx t
         -- The abstract name is the qualified one
         y  <- withCurrentModule m $ freshAbstractQName f x
@@ -910,7 +882,7 @@
         bindName p' ConName x y
         withCurrentModule m $ bindName p' ConName x y
         printScope "con" 15 "bound constructor"
-        return $ A.Axiom (mkDefInfo x f p a r) y t'
+        return $ A.Axiom (mkDefInfo x f p a r) rel y t'
         where
             -- An abstract constructor is private (abstract constructor means
             -- abstract datatype, so the constructor should not be exported).
@@ -919,6 +891,45 @@
                     (_, p)           -> p
 
     toAbstract _ = __IMPOSSIBLE__    -- a constructor is always an axiom
+
+instance ToAbstract C.Pragma [A.Pragma] where
+    toAbstract (C.ImpossiblePragma _) = impossibleTest
+    toAbstract (C.OptionsPragma _ opts) = return [ A.OptionsPragma opts ]
+    toAbstract (C.CompiledTypePragma _ x hs) = do
+      e <- toAbstract $ OldQName x
+      case e of
+        A.Def x -> return [ A.CompiledTypePragma x hs ]
+        _       -> fail $ "Bad compiled type: " ++ show x  -- TODO: error message
+    toAbstract (C.CompiledDataPragma _ x hs hcs) = do
+      e <- toAbstract $ OldQName x
+      case e of
+        A.Def x -> return [ A.CompiledDataPragma x hs hcs ]
+        _       -> fail $ "Not a datatype: " ++ show x  -- TODO: error message
+    toAbstract (C.CompiledPragma _ x hs) = do
+      e <- toAbstract $ OldQName x
+      y <- case e of
+            A.Def x -> return x
+            A.Con _ -> fail "Use COMPILED_DATA for constructors" -- TODO
+            _       -> __IMPOSSIBLE__
+      return [ A.CompiledPragma y hs ]
+    toAbstract (C.CompiledEpicPragma _ x ep) = do
+      e <- toAbstract $ OldQName x
+      y <- case e of
+            A.Def x -> return x
+            -- A.Con _ -> fail "Use COMPILED_DATA_EPIC for constructors" -- TODO
+            _       -> __IMPOSSIBLE__
+      return [ A.CompiledEpicPragma y ep ]
+    toAbstract (C.BuiltinPragma _ b e) = do
+        e <- toAbstract e
+        return [ A.BuiltinPragma b e ]
+    toAbstract (C.ImportPragma _ i) = do
+      addHaskellImport i
+      return []
+    toAbstract (C.EtaPragma _ x) = do
+      e <- toAbstract $ OldQName x
+      case e of
+        A.Def x -> return [ A.EtaPragma x ]
+        _       -> fail "Bad ETA pragma"
 
 instance ToAbstract C.Clause A.Clause where
     toAbstract (C.Clause top C.Ellipsis{} _ _ _) = fail "bad '...'" -- TODO: errors message
diff --git a/src/full/Agda/Syntax/Translation/InternalToAbstract.hs b/src/full/Agda/Syntax/Translation/InternalToAbstract.hs
--- a/src/full/Agda/Syntax/Translation/InternalToAbstract.hs
+++ b/src/full/Agda/Syntax/Translation/InternalToAbstract.hs
@@ -201,7 +201,7 @@
             Constructor{conPars = np} <- theDef <$> getConstInfo x
             scope <- getScope
             let whocares = A.Underscore (Info.MetaInfo noRange scope Nothing)
-                us = replicate (fromIntegral np) $ Arg Hidden Irrelevant whocares
+                us = replicate (fromIntegral np) $ Arg Hidden Relevant whocares
             n  <- getDefFreeVars x
             es <- reify vs
             apps (A.Con (AmbQ [x]), genericDrop n $ us ++ es)
@@ -391,7 +391,7 @@
           else lift $ A.DotP i <$> reify v
       I.LitP (LitLevel {}) -> __IMPOSSIBLE__
       I.LitP l             -> return (A.LitP l)
-      I.ConP c _ ps -> A.ConP i (AmbQ [c]) <$> reifyArgs ps  
+      I.ConP c _ ps -> A.ConP i (AmbQ [c]) <$> reifyArgs ps
       where
         i = PatRange noRange
         mi = MetaInfo noRange emptyScopeInfo Nothing
@@ -472,5 +472,3 @@
          => Reify (Judgement t a) (Judgement t' a') where
     reify (HasType i t) = HasType <$> reify i <*> reify t
     reify (IsSort i) = IsSort <$> reify i
-
-
diff --git a/src/full/Agda/Termination/CallGraph.hs b/src/full/Agda/Termination/CallGraph.hs
--- a/src/full/Agda/Termination/CallGraph.hs
+++ b/src/full/Agda/Termination/CallGraph.hs
@@ -66,7 +66,7 @@
 -- A negative decrease means an increase.  The generalization
 -- allows the termination checker to record an increase by 1 which
 -- can be compensated by a following decrease by 2 which results in
--- an overall decrease.  
+-- an overall decrease.
 --
 -- However, the termination checker of the paper itself terminates because
 -- there are only finitely many different call-matrices.  To maintain
@@ -91,17 +91,17 @@
 
 -- | Smart constructor for @Decr k :: Order@ which cuts off too big values.
 --
--- Possible values for @k@: @- ?cutoff '<=' k '<=' ?cutoff + 1@. 
+-- Possible values for @k@: @- ?cutoff '<=' k '<=' ?cutoff + 1@.
 --
 decr :: (?cutoff :: Int) => Int -> Order
 decr k | k < - ?cutoff = Unknown
        | k > ?cutoff = Decr (?cutoff + 1)
-       | otherwise   = Decr k 
+       | otherwise   = Decr k
 
--- | Smart constructor for matrix shaped orders, avoiding empty and singleton matrices. 
+-- | Smart constructor for matrix shaped orders, avoiding empty and singleton matrices.
 orderMat :: Matrix Integer Order -> Order
 orderMat m | Matrix.isEmpty m  = Decr 0                -- 0x0 Matrix = neutral element
-           | otherwise         = case isSingleton m of        
+           | otherwise         = case isSingleton m of
                                    Just o -> o         -- 1x1 Matrix
                                    Nothing -> Mat m    -- nxn Matrix
 
@@ -152,13 +152,13 @@
 outlaw the offending types.
 
 instance (?cutoff :: Int) => Arbitrary Order where
-  arbitrary = frequency 
+  arbitrary = frequency
     [(20, return Unknown)
     ,(80, elements [- ?cutoff .. ?cutoff + 1] >>= Decr)
     ] -- no embedded matrices generated for now.
 -}
 instance Arbitrary Order where
-  arbitrary = frequency 
+  arbitrary = frequency
     [(30, return Unknown)
     ,(70, elements [0,1] >>= return . Decr)
     ] -- no embedded matrices generated for now.
@@ -190,7 +190,7 @@
 {- collapse m
 
 We assume that m codes a permutation:  each row has at most one column
-that is not Un. 
+that is not Un.
 
 To collapse a matrix into a single value, we take the best value of
 each column and multiply them.  That means if one column is all Un,
@@ -234,7 +234,7 @@
 
 infimum :: (?cutoff :: Int) => [Order] -> Order
 infimum (o:l) = foldl minO o l
-infimum [] = __IMPOSSIBLE__ 
+infimum [] = __IMPOSSIBLE__
 
 minO :: (?cutoff :: Int) => Order -> Order -> Order
 minO o1 o2 = case (o1,o2) of
@@ -604,7 +604,7 @@
 -- All tests
 
 tests :: IO Bool
-tests = runTests "Agda.Termination.CallGraph" 
+tests = runTests "Agda.Termination.CallGraph"
   [ quickCheck' callMatrixInvariant
   , quickCheck' prop_decr
   , quickCheck' prop_orderSemiring
diff --git a/src/full/Agda/Termination/Lexicographic.hs b/src/full/Agda/Termination/Lexicographic.hs
--- a/src/full/Agda/Termination/Lexicographic.hs
+++ b/src/full/Agda/Termination/Lexicographic.hs
@@ -229,11 +229,10 @@
   [ quickCheck' prop_recBehaviour_Arbitrary
   , quickCheck' prop_fromDiagonals
   , quickCheck' prop_newBehaviour
-  , quickCheckWith' Args{ replay     = Nothing
-                        , maxSuccess = 50
-                        , maxDiscard = 200
-                        , maxSize    = 20
-                        }
+  , quickCheckWith' stdArgs{ maxSuccess = 50
+                           , maxDiscard = 200
+                           , maxSize    = 20
+                           }
                     prop_lexOrder
   , quickCheck' prop_lexOrder_noArgs
   ]
diff --git a/src/full/Agda/Termination/Matrix.hs b/src/full/Agda/Termination/Matrix.hs
--- a/src/full/Agda/Termination/Matrix.hs
+++ b/src/full/Agda/Termination/Matrix.hs
@@ -211,7 +211,7 @@
                 | i <- range $ toBounds $ size m1 ]
 
 prop_add sz =
-  forAll (vectorOf 3 (matrix sz :: Gen TM)) $ \[m1, m2, m3] ->
+  forAll (three (matrix sz :: Gen TM)) $ \(m1, m2, m3) ->
     let m' = add (+) m1 m2 in
       associative (add (+)) m1 m2 m3 &&
       commutative (add (+)) m1 m2 &&
@@ -245,7 +245,7 @@
 
 prop_mul sz =
   sized $ \n -> resize (n `div` 2) $
-  forAll (vectorOf 2 natural) $ \[c2, c3] ->
+  forAll (two natural) $ \(c2, c3) ->
   forAll (matrix sz :: Gen TM) $ \m1 ->
   forAll (matrix (Size { rows = cols sz, cols = c2 })) $ \m2 ->
   forAll (matrix (Size { rows = c2, cols = c3 })) $ \m3 ->
diff --git a/src/full/Agda/Termination/Semiring.hs b/src/full/Agda/Termination/Semiring.hs
--- a/src/full/Agda/Termination/Semiring.hs
+++ b/src/full/Agda/Termination/Semiring.hs
@@ -73,9 +73,9 @@
   mempty = 0
   mappend = (+)
 
-instance SemiRing Integer where 
+instance SemiRing Integer where
   multiply = (*)
-    
+
 
 integerSemiring :: Semiring Integer
 integerSemiring = Semiring { add = (+), mul = (*), zero = 0 } -- , one = 1 }
diff --git a/src/full/Agda/Termination/SparseMatrix.hs b/src/full/Agda/Termination/SparseMatrix.hs
--- a/src/full/Agda/Termination/SparseMatrix.hs
+++ b/src/full/Agda/Termination/SparseMatrix.hs
@@ -111,7 +111,7 @@
   deriving (Eq, Ord)
 
 matrixInvariant :: (Num i, Ix i) => Matrix i b -> Bool
-matrixInvariant m = all (\ (MIx i j, b) -> 1 <= i && i <= rows sz 
+matrixInvariant m = all (\ (MIx i j, b) -> 1 <= i && i <= rows sz
                                         && 1 <= j && j <= cols sz) (unM m)
   && strictlySorted (MIx 0 0) (unM m)
   && sizeInvariant sz
@@ -125,8 +125,8 @@
 strictlySorted i ((i', b) : l) = i < i' && strictlySorted i' l
 {-
 strictlySorted (MIx i j) [] = True
-strictlySorted (MIx i j) ((MIx i' j', b) : l) = 
-  (i < i' || i == i' &&  j < j' ) && strictlySorted (MIx i' j') b 
+strictlySorted (MIx i j) ((MIx i' j', b) : l) =
+  (i < i' || i == i' &&  j < j' ) && strictlySorted (MIx i' j') b
 -}
 
 instance (Ord i, Integral i, Enum i, Show i, Show b, HasZero b) => Show (Matrix i b) where
@@ -200,10 +200,10 @@
 -- | Converts a sparse matrix to a sparse list of rows
 
 toSparseRows :: (Num i, Enum i) => Matrix i b -> [(i,[(i,b)])]
-toSparseRows m = aux 1 [] (unM m)  
+toSparseRows m = aux 1 [] (unM m)
   where aux i' [] []  = []
         aux i' row [] = [(i', reverse row)]
-        aux i' row ((MIx i j, b) : m) 
+        aux i' row ((MIx i j, b) : m)
             | i' == i   = aux i' ((j,b):row) m
             | otherwise = (i', reverse row) : aux i [(j,b)] m
 
@@ -220,8 +220,8 @@
 -- | Converts a matrix to a list of row lists.
 
 toLists :: (Ord i, Integral i, Enum i, HasZero b) => Matrix i b -> [[b]]
-toLists m = blowUpSparseVec emptyRow (rows sz) $ 
-    map (\ (i,r) -> (i, blowUpSparseVec zeroElement (cols sz) r)) $ toSparseRows m 
+toLists m = blowUpSparseVec emptyRow (rows sz) $
+    map (\ (i,r) -> (i, blowUpSparseVec zeroElement (cols sz) r)) $ toSparseRows m
 --            [ [ maybe zeroElement id $ lookup (MIx { row = r, col = c }) (unM m)
 --            | c <- [1 .. cols sz] ] | r <- [1 .. rows sz] ]
   where sz = size m
@@ -263,17 +263,17 @@
 -- | Returns 'Just b' iff it is a 1x1 matrix with just one entry 'b'.
 
 isSingleton :: (Num i, Ix i) => Matrix i b -> Maybe b
-isSingleton m = if (rows sz == 1 || cols sz == 1) then 
-    case unM m of 
+isSingleton m = if (rows sz == 1 || cols sz == 1) then
+    case unM m of
       [(_,b)] -> Just b
       _ -> __IMPOSSIBLE__
   else Nothing
   where sz = size m
 
 -- | Transposition
-transposeSize (Size { rows = n, cols = m }) = Size { rows = m, cols = n } 
+transposeSize (Size { rows = n, cols = m }) = Size { rows = m, cols = n }
 transpose m = M { size = transposeSize (size m)
-                , unM  = List.sortBy (\ (i,a) (j,b) -> compare i j) $ 
+                , unM  = List.sortBy (\ (i,a) (j,b) -> compare i j) $
                            map (\(MIx i j, b) -> (MIx j i, b)) $ unM m }
 
 -- | @'add' (+) m1 m2@ adds @m1@ and @m2@. Uses @(+)@ to add values.
@@ -284,15 +284,15 @@
 add plus m1 m2 = M (size m1) $ mergeAssocWith plus (unM m1) (unM m2)
 
 -- | assoc list union
-mergeAssocWith :: (Ord i) => (a -> a -> a) -> [(i,a)] -> [(i,a)] -> [(i,a)]  
+mergeAssocWith :: (Ord i) => (a -> a -> a) -> [(i,a)] -> [(i,a)] -> [(i,a)]
 mergeAssocWith f [] m = m
 mergeAssocWith f l [] = l
-mergeAssocWith f l@((i,a):l') m@((j,b):m') 
+mergeAssocWith f l@((i,a):l') m@((j,b):m')
     | i < j = (i,a) : mergeAssocWith f l' m
     | i > j = (j,b) : mergeAssocWith f l m'
     | otherwise = (i, f a b) : mergeAssocWith f l' m'
 
--- | @'intersectWith' f m1 m2@ build the pointwise conjunction @m1@ and @m2@. 
+-- | @'intersectWith' f m1 m2@ build the pointwise conjunction @m1@ and @m2@.
 --   Uses @f@ to combine non-zero values.
 --
 -- Precondition: @'size' m1 == 'size' m2@.
@@ -301,16 +301,16 @@
 intersectWith f m1 m2 = M (size m1) $ interAssocWith f (unM m1) (unM m2)
 
 -- | assoc list intersection
-interAssocWith :: (Ord i) => (a -> a -> a) -> [(i,a)] -> [(i,a)] -> [(i,a)]  
+interAssocWith :: (Ord i) => (a -> a -> a) -> [(i,a)] -> [(i,a)] -> [(i,a)]
 interAssocWith f [] m = []
 interAssocWith f l [] = []
-interAssocWith f l@((i,a):l') m@((j,b):m') 
+interAssocWith f l@((i,a):l') m@((j,b):m')
     | i < j = interAssocWith f l' m
     | i > j = interAssocWith f l m'
     | otherwise = (i, f a b) : interAssocWith f l' m'
 
 prop_add sz =
-  forAll (vectorOf 3 (matrix sz :: Gen TM)) $ \[m1, m2, m3] ->
+  forAll (three (matrix sz :: Gen TM)) $ \(m1, m2, m3) ->
     let m' = add (+) m1 m2 in
       associative (add (+)) m1 m2 m3 &&
       commutative (add (+)) m1 m2 &&
@@ -326,22 +326,22 @@
 {- mul A B works as follows:
 * turn A into a list of sparse rows and the transposed B as well
 * form the crossproduct using the inner vector product to compute els
-* the inner vector product is summing up 
+* the inner vector product is summing up
   after intersecting with the muliplication op of the semiring
 -}
 
 mul :: (Enum i, Num i, Ix i, Eq a)
-    => Semiring a -> Matrix i a -> Matrix i a -> Matrix i a 
+    => Semiring a -> Matrix i a -> Matrix i a -> Matrix i a
 mul semiring m1 m2 = M (Size { rows = rows (size m1), cols = cols (size m2) }) $
   filter (\ (i,b) -> b /= Semiring.zero semiring) $
-  [ (MIx i j, foldl (Semiring.add semiring) (Semiring.zero semiring) $ 
+  [ (MIx i j, foldl (Semiring.add semiring) (Semiring.zero semiring) $
                 map snd $ interAssocWith (Semiring.mul semiring) v w)
     | (i,v) <- toSparseRows m1
     , (j,w) <- toSparseRows $ transpose m2 ]
 
 prop_mul sz =
   sized $ \n -> resize (n `div` 2) $
-  forAll (vectorOf 2 natural) $ \[c2, c3] ->
+  forAll (two natural) $ \(c2, c3) ->
   forAll (matrix sz :: Gen TM) $ \m1 ->
   forAll (matrix (Size { rows = cols sz, cols = c2 })) $ \m2 ->
   forAll (matrix (Size { rows = c2, cols = c3 })) $ \m3 ->
diff --git a/src/full/Agda/Termination/TermCheck.hs b/src/full/Agda/Termination/TermCheck.hs
--- a/src/full/Agda/Termination/TermCheck.hs
+++ b/src/full/Agda/Termination/TermCheck.hs
@@ -35,12 +35,14 @@
 import Agda.TypeChecking.Monad
 import Agda.TypeChecking.Pretty
 import Agda.TypeChecking.Reduce (reduce, normalise, instantiate, instantiateFull)
+import Agda.TypeChecking.Records (isRecordConstructor)
 import Agda.TypeChecking.Rules.Builtin.Coinduction
 import Agda.TypeChecking.Rules.Term (isType_)
 import Agda.TypeChecking.Substitute (abstract,raise,substs)
 import Agda.TypeChecking.Telescope
 import Agda.TypeChecking.EtaContract
 import Agda.TypeChecking.Monad.Builtin
+import Agda.TypeChecking.Monad.Signature (isProjection)
 import Agda.TypeChecking.Primitive (constructorForm)
 
 import qualified Agda.Interaction.Highlighting.Range as R
@@ -431,7 +433,12 @@
          (loopSort pats s)
          (loop pats guarded t)
 
-       loop :: (?cutoff :: Int) => [DeBruijnPat] -> Order -> Term -> TCM Calls
+       loop
+         :: (?cutoff :: Int)
+         => [DeBruijnPat] -- ^ Parameters of calling function as patterns.
+         -> Order         -- ^ Guardedness status of @Term@.
+         -> Term          -- ^ Part of function body from which calls are to be extracted.
+         -> TCM Calls
        loop pats guarded t = do
          t <- instantiate t          -- instantiate top-level MetaVar
          suc <- sizeSuc
@@ -458,7 +465,8 @@
                               (True,  CoInductive) -> Term.lt .*. guarded
                               (False, _)           -> Term.unknown
 
-             -- Handles function applications.
+             -- Handles function applications @g args0@.
+             function :: QName -> [Arg Term] -> TCM Calls
              function g args0 = do
                let args1 = map unArg args0
                args2 <- mapM instantiateFull args1
@@ -469,8 +477,17 @@
                args2 <- mapM reduceCon args2
                args  <- mapM etaContract args2
 
+               -- If the function is a projection, then preserve guardedness
+               -- for its principal argument.
+               isProj <- isProjection g
+               let unguards = repeat Term.unknown
+               let guards = maybe unguards -- not a proj. ==> unguarded
+                              (\ n -> take (n - 1) unguards ++ guarded : unguards)
+                                -- proj. => preserve g. of princ. arg. (counting starts with 1)
+                              isProj
                -- collect calls in the arguments of this call
-               calls <- collectCalls (loop pats Term.unknown) args
+               calls <- collectCalls (uncurry (loop pats)) (zip guards args)
+               -- calls <- collectCalls (loop pats Term.unknown) args
 
 
                reportSDoc "term.found.call" 20
@@ -543,35 +560,35 @@
               -- Call to defined function.
               fun = function g args0
 
-            -- abstraction
+            -- Abstraction. Preserves guardedness.
             Lam h (Abs x t) -> loop (map liftDBP pats) guarded t
 
-            -- variable
+            -- Neutral term. Destroys guardedness.
             Var i args -> collectCalls (loop pats Term.unknown) (map unArg args)
 
-            -- dependent function space
+            -- Dependent function space.
             Pi a (Abs _ b) ->
                do g1 <- loopType pats Term.unknown (unArg a)
                   g2 <- loopType (map liftDBP pats) piArgumentGuarded b
                   return $ g1 `Term.union` g2
 
-            -- non-dependent function space
+            -- Non-dependent function space.
             Fun a b ->
                do g1 <- loopType pats Term.unknown (unArg a)
                   g2 <- loopType pats piArgumentGuarded b
                   return $ g1 `Term.union` g2
 
-            -- literal
+            -- Literal.
             Lit l -> return Term.empty
 
-            -- sort
+            -- Sort.
             Sort s -> loopSort pats s
 
 	    -- Unsolved metas are not considered termination problems, there
 	    -- will be a warning for them anyway.
             MetaV x args -> return Term.empty
 
-            -- erased proof
+            -- Erased proof.
             DontCare -> return Term.empty
 
          where
@@ -614,7 +631,24 @@
   (nrows + 1, ncols + 1,
    (g : genericReplicate ncols Term.unknown) : map (Term.unknown :) m)
 
+-- | Stripping off a record constructor is not counted as decrease, in
+--   contrast to a data constructor.
+decreaseFromConstructor :: QName -> TCM Order
+decreaseFromConstructor c = do
+  isRC <- isRecordConstructor c
+  return $ if isRC then Term.le else Term.lt
 
+increaseFromConstructor :: (?cutoff :: Int) => QName -> TCM Order
+increaseFromConstructor c = do
+  isRC <- isRecordConstructor c
+  return $ if isRC then Term.le else Term.decr (-1)
+
+{-
+increaseFromConstructor c = negateOrder <$> decreaseFromConstructor c
+  where negateOrder (Decr k) = Decr (- k)
+        negateOrder _ = __IMPOSSIBLE__
+-}
+
 -- | Compute the sub patterns of a 'DeBruijnPat'.
 subPatterns :: DeBruijnPat -> [DeBruijnPat]
 subPatterns p = case p of
@@ -646,18 +680,29 @@
   | c == c' = compareConArgs suc ts ps
 compareTerm' suc (Def s ts) (ConDBP s' ps)
   | s == s' && Just s == suc = compareConArgs suc ts ps
-compareTerm' _ t@Con{} (ConDBP _ ps)
-  | any (isSubTerm t) ps = return Term.lt
--- new cases for counting constructors
+compareTerm' _ t@Con{} (ConDBP c ps)
+  | any (isSubTerm t) ps = decreaseFromConstructor c
+-- new cases for counting constructors / projections
 -- register also increase
 compareTerm' suc (Def s ts) p | Just s == suc = do
     os <- mapM (\ t -> compareTerm' suc (unArg t) p) ts
     return $ decr (-1) .*. infimum os
+-- projections are size preserving
+compareTerm' suc (Def qn ts) p = do
+    isProj <- isProjection qn
+    case isProj of
+      -- strip off projection (n is the number of the record argument, counting starts with 1)
+      Just n | length ts >= n && n >= 1 ->
+        compareTerm' suc (unArg (ts !! (n - 1))) p
+      -- not a projection or underapplied:
+      _ -> return Term.unknown
 compareTerm' suc (Con c ts) p = do
     os <- mapM (\ t -> compareTerm' suc (unArg t) p) ts
-    return $ if (null os) then Term.unknown else decr (-1) .*. infimum os
+    oc <- increaseFromConstructor c
+    return $ if (null os) then Term.unknown else oc .*. infimum os
 compareTerm' _ _ _ = return Term.unknown
 
+-- TODO: isSubTerm should compute a size difference (Term.Order)
 isSubTerm :: Term -> DeBruijnPat -> Bool
 isSubTerm t p = equal t p || properSubTerm t p
   where
@@ -699,4 +744,5 @@
 compareVar i (ConDBP c ps) = do
   os <- mapM (compareVar i) ps
   let o = Term.supremum os
-  return $ (Term..*.) Term.lt o
+  oc <- decreaseFromConstructor c
+  return $ (Term..*.) oc o
diff --git a/src/full/Agda/TypeChecker.hs b/src/full/Agda/TypeChecker.hs
--- a/src/full/Agda/TypeChecker.hs
+++ b/src/full/Agda/TypeChecker.hs
@@ -11,4 +11,3 @@
 import Agda.TypeChecking.Rules.LHS     as Rules
 import Agda.TypeChecking.Rules.Record  as Rules
 import Agda.TypeChecking.Rules.Term    as Rules
-
diff --git a/src/full/Agda/TypeChecking/Abstract.hs b/src/full/Agda/TypeChecking/Abstract.hs
--- a/src/full/Agda/TypeChecking/Abstract.hs
+++ b/src/full/Agda/TypeChecking/Abstract.hs
@@ -64,4 +64,3 @@
 
 instance (AbstractTerm a, AbstractTerm b) => AbstractTerm (a, b) where
   abstractTerm u (x, y) = (abstractTerm u x, abstractTerm u y)
-
diff --git a/src/full/Agda/TypeChecking/CompiledClause.hs b/src/full/Agda/TypeChecking/CompiledClause.hs
--- a/src/full/Agda/TypeChecking/CompiledClause.hs
+++ b/src/full/Agda/TypeChecking/CompiledClause.hs
@@ -114,4 +114,3 @@
     sep [ text ("case " ++ show n ++ " of")
         , nest 2 $ pretty bs
         ]
-
diff --git a/src/full/Agda/TypeChecking/CompiledClause/Match.hs b/src/full/Agda/TypeChecking/CompiledClause/Match.hs
--- a/src/full/Agda/TypeChecking/CompiledClause/Match.hs
+++ b/src/full/Agda/TypeChecking/CompiledClause/Match.hs
@@ -18,23 +18,26 @@
 import Agda.Utils.Impossible
 #include "../../undefined.h"
 
-matchCompiled :: CompiledClauses -> Args -> TCM (Reduced (Blocked Args) Term)
+matchCompiled :: CompiledClauses -> MaybeReducedArgs -> TCM (Reduced (Blocked Args) Term)
 matchCompiled c args = match c args id []
 
-type Stack = [(CompiledClauses, Args, Args -> Args)]
+type Stack = [(CompiledClauses, MaybeReducedArgs, Args -> Args)]
 
 -- TODO: literal/constructor pattern conflict (for Nat)
 
-match :: CompiledClauses -> Args -> (Args -> Args) -> Stack -> TCM (Reduced (Blocked Args) Term)
-match Fail args patch stack = return $ NoReduction $ NotBlocked (patch args)
+match :: CompiledClauses -> MaybeReducedArgs -> (Args -> Args) -> Stack -> TCM (Reduced (Blocked Args) Term)
+match Fail args patch stack = return $ NoReduction $ NotBlocked (patch $ map ignoreReduced args)
 match (Done _ t) args _ _ =
-  return $ YesReduction $ substs (reverse $ map unArg args) t
+  return $ YesReduction $ substs (reverse $ map (unArg . ignoreReduced) args) t
 match (Case n bs) args patch stack = do
-  let (args0, Arg h r v, args1) = extractNthElement' n args
-  w  <- unfoldCorecursion =<< reduceB v
+  let (args0, MaybeRed red (Arg h r v0), args1) = extractNthElement' n args
+  w  <- case red of
+          Reduced b  -> return $ fmap (const v0) b
+          NotReduced ->
+            unfoldCorecursion =<< instantiate v0
   cv <- constructorForm $ ignoreBlocking w
   let v      = ignoreBlocking w
-      args'  = args0 ++ [Arg h r v] ++ args1
+      args'  = args0 ++ [MaybeRed red $ Arg h r v] ++ args1
       stack' = maybe [] (\c -> [(c, args', patch)]) (catchAllBranch bs)
                ++ stack
       patchLit args = patch (args0 ++ [Arg h r v] ++ args1)
@@ -43,8 +46,8 @@
         where (args0, args1') = splitAt n args
               (vs, args1)     = splitAt m args1'
   case w of
-    Blocked x _            -> return $ NoReduction $ Blocked x (patch args')
-    NotBlocked (MetaV x _) -> return $ NoReduction $ Blocked x (patch args')
+    Blocked x _            -> return $ NoReduction $ Blocked x (patch $ map ignoreReduced args')
+    NotBlocked (MetaV x _) -> return $ NoReduction $ Blocked x (patch $ map ignoreReduced args')
     NotBlocked (Lit l) -> case Map.lookup l (litBranches bs) of
       Nothing -> match' stack''
       Just cc -> match cc (args0 ++ args1) patchLit stack''
@@ -52,18 +55,18 @@
         stack'' = (++ stack') $ case cv of
           Con c vs -> case Map.lookup c (conBranches bs) of
             Nothing -> []
-            Just cc -> [(cc, args0 ++ vs ++ args1, patchCon c (length vs))]
+            Just cc -> [(cc, args0 ++ map (MaybeRed red) vs ++ args1, patchCon c (length vs))]
           _        -> []
     NotBlocked (Con c vs) -> case Map.lookup c (conBranches bs) of
       Nothing -> match' stack'
-      Just cc -> match cc (args0 ++ vs ++ args1) (patchCon c (length vs)) stack'
-    NotBlocked _ -> return $ NoReduction $ NotBlocked (patch args')
+      Just cc -> match cc (args0 ++ map (MaybeRed red) vs ++ args1)
+                          (patchCon c (length vs)) stack'
+    NotBlocked _ -> return $ NoReduction $ NotBlocked (patch $ map ignoreReduced args')
 
 match' :: Stack -> TCM (Reduced (Blocked Args) Term)
 match' ((c, args, patch):stack) = match c args patch stack
 match' [] = typeError $ GenericError "Incomplete pattern matching"
 
-unfoldCorecursion (NotBlocked (Def f args)) =
-  unfoldDefinition True reduceB (Def f []) f args
-unfoldCorecursion w = return w
-
+unfoldCorecursion v = case v of
+  Def f args -> unfoldDefinition True reduceB (Def f []) f args
+  _          -> reduceB v
diff --git a/src/full/Agda/TypeChecking/CompiledClause/Match.hs-boot b/src/full/Agda/TypeChecking/CompiledClause/Match.hs-boot
--- a/src/full/Agda/TypeChecking/CompiledClause/Match.hs-boot
+++ b/src/full/Agda/TypeChecking/CompiledClause/Match.hs-boot
@@ -1,9 +1,10 @@
 
 module Agda.TypeChecking.CompiledClause.Match where
 
+import Agda.Syntax.Common
 import Agda.Syntax.Internal
 import Agda.TypeChecking.Monad.Base
 import Agda.TypeChecking.CompiledClause
 
-matchCompiled :: CompiledClauses -> Args -> TCM (Reduced (Blocked Args) Term)
+matchCompiled :: CompiledClauses -> MaybeReducedArgs -> TCM (Reduced (Blocked Args) Term)
 
diff --git a/src/full/Agda/TypeChecking/Constraints.hs b/src/full/Agda/TypeChecking/Constraints.hs
--- a/src/full/Agda/TypeChecking/Constraints.hs
+++ b/src/full/Agda/TypeChecking/Constraints.hs
@@ -130,4 +130,3 @@
       InstS{} -> return []
       -- Open (whatever that means)
       Open -> __IMPOSSIBLE__
-
diff --git a/src/full/Agda/TypeChecking/Conversion.hs b/src/full/Agda/TypeChecking/Conversion.hs
--- a/src/full/Agda/TypeChecking/Conversion.hs
+++ b/src/full/Agda/TypeChecking/Conversion.hs
@@ -93,7 +93,7 @@
               m <- reduceB m
               n <- reduceB n
               case (m, n) of
-                _ | isNeutral m && isNeutral n ->
+                _ | isMeta m || isMeta n || (isNeutral m && isNeutral n) ->
                     compareAtom cmp a' (ignoreBlocking m) (ignoreBlocking n)
                 _ -> do
                   (tel, m') <- etaExpandRecord r ps $ ignoreBlocking m
@@ -103,9 +103,13 @@
             else compareAtom cmp a' m n
         _ -> compareAtom cmp a' m n
   where
-    isNeutral Blocked{}          = False
+-- Andreas, 2010-10-11: allowing neutrals to be blocked things does not seem
+-- to change Agda's behavior
+--    isNeutral Blocked{}          = False
     isNeutral (NotBlocked Con{}) = False
     isNeutral _                  = True
+    isMeta (NotBlocked MetaV{})  = True
+    isMeta _                     = False
 
     equalFun (a,t) m n = do
         name <- freshName_ (suggest $ unEl t)
@@ -152,6 +156,9 @@
 compareAtom cmp t m n =
     verboseBracket "tc.conv.atom" 5 "compareAtom" $
     catchConstraint (ValueCmp cmp t m n) $ do
+      -- constructorForm changes literal to constructors
+      -- Andreas: what happens if I cut out the eta expansion here?
+      -- Answer: Triggers issue 245, does not resolve 348
       mb <- traverse constructorForm =<< etaExpandBlocked =<< reduceB m
       nb <- traverse constructorForm =<< etaExpandBlocked =<< reduceB n
       let m = ignoreBlocking mb
@@ -689,4 +696,3 @@
             (_       , DLub{}  )             -> buildConstraint (SortCmp CmpEq s1 s2)
     where
 	notEq s1 s2 = typeError $ UnequalSorts s1 s2
-
diff --git a/src/full/Agda/TypeChecking/Coverage.hs b/src/full/Agda/TypeChecking/Coverage.hs
--- a/src/full/Agda/TypeChecking/Coverage.hs
+++ b/src/full/Agda/TypeChecking/Coverage.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE CPP, FlexibleContexts, TupleSections #-}
+{-# LANGUAGE CPP, FlexibleContexts #-}
 
 module Agda.TypeChecking.Coverage where
 
@@ -24,6 +24,7 @@
 import Agda.TypeChecking.Rules.LHS.Unify
 import Agda.TypeChecking.Rules.LHS.Instantiate
 import Agda.TypeChecking.Rules.LHS
+import qualified Agda.TypeChecking.Rules.LHS.Split as Split
 
 import Agda.TypeChecking.Coverage.Match
 
@@ -54,11 +55,35 @@
 
 data SplitError = NotADatatype Type         -- ^ neither data type nor record
                 | IrrelevantDatatype Type   -- ^ data type, but in irrelevant position
+                | CoinductiveDatatype Type  -- ^ coinductive data type
                 | NoRecordConstructor Type  -- ^ record type, but no constructor
                 | CantSplit QName Telescope Args Args [Term]
                 | GenericSplitError String
   deriving (Show)
 
+instance PrettyTCM SplitError where
+  prettyTCM err = case err of
+    NotADatatype t -> fsep $
+      pwords "Cannot pattern match on non-datatype" ++ [prettyTCM t]
+    IrrelevantDatatype t -> fsep $
+      pwords "Cannot pattern match on datatype" ++ [prettyTCM t] ++
+      pwords "since it is declared irrelevant"
+    CoinductiveDatatype t -> fsep $
+      pwords "Cannot pattern match on the coinductive type" ++ [prettyTCM t]
+    NoRecordConstructor t -> fsep $
+      pwords "Cannot pattern match on record" ++ [prettyTCM t] ++
+      pwords "because it has no constructor"
+    CantSplit c tel cIxs gIxs flex -> addCtxTel tel $ vcat
+      [ fsep $ pwords "Cannot pattern match on constructor" ++ [prettyTCM c <> text ","] ++
+               pwords "since the inferred indices"
+      , nest 2 $ prettyTCM cIxs
+      , fsep $ pwords "cannot be unified with the expected indices"
+      , nest 2 $ prettyTCM gIxs
+      , fsep $ pwords "for some" ++ punctuate comma (map prettyTCM flex)
+      ]
+    GenericSplitError s -> fsep $
+      pwords "Split failed:" ++ pwords s
+
 instance Error SplitError where
   noMsg  = strMsg ""
   strMsg = GenericSplitError
@@ -69,7 +94,7 @@
 typeOfVar tel n
   | n >= len  = __IMPOSSIBLE__
   | otherwise = fmap snd  -- throw away name, keep Arg Type
-                  $ ts !! fromIntegral n 
+                  $ ts !! fromIntegral n
   where
     len = genericLength ts
     ts  = reverse $ telToList tel
@@ -126,32 +151,38 @@
     No             -> return (Set.empty, [ps])
     Block Nothing  -> fail $ "blocked by dot pattern"
     Block (Just x) -> do
-      r <- split tel perm ps x
+      r <- split Inductive tel perm ps x
       case r of
         Left err  -> case err of
           CantSplit c _ _ _ _   -> typeError $ CoverageCantSplitOn c
           NotADatatype a        -> typeError $ CoverageCantSplitType a
           IrrelevantDatatype a  -> typeError $ CoverageCantSplitType a
+          CoinductiveDatatype a -> typeError $ CoverageCantSplitType a
           NoRecordConstructor a -> typeError $ CoverageCantSplitType a
           GenericSplitError s   -> fail $ "failed to split: " ++ s
         Right scs -> (Set.unions -*- concat) . unzip <$> mapM (cover cs) scs
 
--- | Check that a type is a non-irrelevant datatype or a record with named constructor.
-isDatatype :: (MonadTCM tcm, MonadException SplitError tcm) => 
-              Arg Type -> tcm (QName, [Arg Term], [Arg Term], [QName])
-isDatatype at = do
+-- | Check that a type is a non-irrelevant datatype or a record with
+-- named constructor. Unless the 'Induction' argument is 'CoInductive'
+-- the data type must be inductive.
+isDatatype :: (MonadTCM tcm, MonadException SplitError tcm) =>
+              Induction -> Arg Type ->
+              tcm (QName, [Arg Term], [Arg Term], [QName])
+isDatatype ind at = do
   let t = unArg at
   t' <- normalise t
   case unEl t' of
     Def d args -> do
       def <- theDef <$> getConstInfo d
       case def of
-        Datatype{dataPars = np, dataCons = cs, dataInduction = Inductive} -> 
-          if argRelevance at == Irrelevant 
-           then throwException $ IrrelevantDatatype t
-           else do
-             let (ps, is) = genericSplitAt np args
-             return (d, ps, is, cs)
+        Datatype{dataPars = np, dataCons = cs, dataInduction = i}
+          | i == CoInductive && ind /= CoInductive ->
+              throwException $ CoinductiveDatatype t
+          | argRelevance at == Irrelevant ->
+              throwException $ IrrelevantDatatype t
+          | otherwise -> do
+              let (ps, is) = genericSplitAt np args
+              return (d, ps, is, cs)
         Record{recPars = np, recCon = c, recNamedCon = hasCon} ->
           if hasCon then return (d, args, [], [c])
            else throwException $ NoRecordConstructor t
@@ -303,23 +334,33 @@
 
 -- | split Δ x ps. Δ ⊢ ps, x ∈ Δ (deBruijn index)
 splitClause :: Clause -> Nat -> TCM (Either SplitError Covering)
-splitClause c x = split (clauseTel c) (clausePerm c) (clausePats c) x
+splitClause c x =
+  split Inductive (clauseTel c) (clausePerm c) (clausePats c) x
 
 splitClauseWithAbs :: Clause -> Nat -> TCM (Either SplitError (Either SplitClause Covering))
-splitClauseWithAbs c x = split' (clauseTel c) (clausePerm c) (clausePats c) x
+splitClauseWithAbs c x =
+  split' Inductive (clauseTel c) (clausePerm c) (clausePats c) x
 
-split :: MonadTCM tcm => Telescope -> Permutation -> [Arg Pattern] -> Nat ->
-         tcm (Either SplitError Covering)
-split tel perm ps x = do
-  r <- split' tel perm ps x
+split :: MonadTCM tcm
+      => Induction
+         -- ^ Coinductive constructors are allowed if this argument is
+         -- 'CoInductive'.
+      -> Telescope -> Permutation -> [Arg Pattern] -> Nat
+      -> tcm (Either SplitError Covering)
+split ind tel perm ps x = do
+  r <- split' ind tel perm ps x
   return $ case r of
     Left err        -> Left err
     Right (Left _)  -> Right []
     Right (Right c) -> Right c
 
-split' :: MonadTCM tcm => Telescope -> Permutation -> [Arg Pattern] -> Nat ->
-         tcm (Either SplitError (Either SplitClause Covering))
-split' tel perm ps x = liftTCM $ runExceptionT $ do
+split' :: MonadTCM tcm
+       => Induction
+          -- ^ Coinductive constructors are allowed if this argument is
+          -- 'CoInductive'.
+       -> Telescope -> Permutation -> [Arg Pattern] -> Nat
+       -> tcm (Either SplitError (Either SplitClause Covering))
+split' ind tel perm ps x = liftTCM $ runExceptionT $ do
 
   debugInit tel perm x ps
 
@@ -345,8 +386,11 @@
 
   -- Check that t is a datatype or a record
   -- Andreas, 2010-09-21, isDatatype now directly throws an exception if it fails
-  (d, pars, ixs, cons) <- isDatatype t
+  (d, pars, ixs, cons) <- isDatatype ind t
 
+  whenM (optWithoutK <$> pragmaOptions) $
+    Split.wellFormedIndices pars ixs
+
   -- Compute the neighbourhoods for the constructors
   ns <- concat <$> mapM (computeNeighbourhood delta1 delta2 perm d pars ixs hix hps) cons
   case ns of
@@ -354,7 +398,7 @@
       let absurd = VarP "()"
       return $ Left $ SClause
                { scTel  = telFromList $ telToList delta1 ++
-                                        [fmap ("()",) t] ++ -- add name "()"
+                                        [fmap ((,) "()") t] ++ -- add name "()"
                                         telToList delta2
                , scPerm = perm
                , scPats = plugHole absurd hps
diff --git a/src/full/Agda/TypeChecking/Coverage/Match.hs b/src/full/Agda/TypeChecking/Coverage/Match.hs
--- a/src/full/Agda/TypeChecking/Coverage/Match.hs
+++ b/src/full/Agda/TypeChecking/Coverage/Match.hs
@@ -116,4 +116,3 @@
     | c == c'   -> matchPats mlit ps qs
     | otherwise -> No
   LitMP _ -> __IMPOSSIBLE__
-
diff --git a/src/full/Agda/TypeChecking/Datatypes.hs b/src/full/Agda/TypeChecking/Datatypes.hs
--- a/src/full/Agda/TypeChecking/Datatypes.hs
+++ b/src/full/Agda/TypeChecking/Datatypes.hs
@@ -71,5 +71,3 @@
                           , datatypeIxs    = is
                           }
     _ -> return Nothing
-
-
diff --git a/src/full/Agda/TypeChecking/DisplayForm.hs b/src/full/Agda/TypeChecking/DisplayForm.hs
--- a/src/full/Agda/TypeChecking/DisplayForm.hs
+++ b/src/full/Agda/TypeChecking/DisplayForm.hs
@@ -77,4 +77,3 @@
     (Lit l, Lit l')      | l == l' -> return []
     (p, v)               | p == v  -> return []
     _                              -> fail ""
-
diff --git a/src/full/Agda/TypeChecking/Empty.hs b/src/full/Agda/TypeChecking/Empty.hs
--- a/src/full/Agda/TypeChecking/Empty.hs
+++ b/src/full/Agda/TypeChecking/Empty.hs
@@ -30,10 +30,9 @@
       let tel = telFromList $ telToList tel0 ++ [defaultArg ("_", t)]
           ps  = [ Arg h r $ VarP x | Arg h r (x, _) <- telToList tel ]
 
-      r <- split tel (idP $ size tel) ps 0
+      r <- split Inductive tel (idP $ size tel) ps 0
 
       case r of
         Left err  -> typeError $ ShouldBeEmpty t []
         Right []  -> return []
         Right cs  -> typeError $ ShouldBeEmpty t $ map (unArg . last . scPats) cs
-
diff --git a/src/full/Agda/TypeChecking/Errors.hs b/src/full/Agda/TypeChecking/Errors.hs
--- a/src/full/Agda/TypeChecking/Errors.hs
+++ b/src/full/Agda/TypeChecking/Errors.hs
@@ -110,6 +110,9 @@
     GenericError{}                           -> "GenericError"
     IlltypedPattern{}                        -> "IlltypedPattern"
     IncompletePatternMatching{}              -> "IncompletePatternMatching"
+    IndexFreeInParameter{}                   -> "IndexFreeInParameter"
+    IndexVariablesNotDistinct{}              -> "IndexVariablesNotDistinct"
+    IndicesNotConstructorApplications{}      -> "IndicesNotConstructorApplications"
     InternalError{}                          -> "InternalError"
     InvalidPattern{}                         -> "InvalidPattern"
     LocalVsImportedModuleClash{}             -> "LocalVsImportedModuleClash"
@@ -155,6 +158,7 @@
     TooManyArgumentsInLHS{}                  -> "TooManyArgumentsInLHS"
     TooManyFields{}                          -> "TooManyFields"
     SplitOnIrrelevant{}                      -> "SplitOnIrrelevant"
+    DefinitionIsIrrelevant{}                 -> "DefinitionIsIrrelevant"
     VariableIsIrrelevant{}                   -> "VariableIsIrrelevant"
     UnequalRelevance{}                       -> "UnequalRelevance"
     UnequalHiding{}                          -> "UnequalHiding"
@@ -240,6 +244,16 @@
               pwords "does not construct an element of" ++ [prettyTCM t]
             ConstructorPatternInWrongDatatype c d -> fsep $
               [prettyTCM c] ++ pwords "is not a constructor of the datatype" ++ [prettyTCM d]
+            IndicesNotConstructorApplications is ->
+              fsep (pwords "The following indices are not constructors applied to variables:")
+              $$ nest 2 (vcat $ map prettyTCM is)
+            IndexVariablesNotDistinct is ->
+              fsep (pwords "The variables in the following indices are not distinct:")
+              $$ nest 2 (vcat $ map prettyTCM is)
+            IndexFreeInParameter i pars ->
+              fsep (pwords "The index" ++ [prettyTCM (I.Var i [])] ++
+                    pwords "is free in the following parameters:")
+              $$ nest 2 (vcat $ map prettyTCM pars)
             ShadowedModule [] -> __IMPOSSIBLE__
             ShadowedModule ms@(m : _) -> fsep $
               pwords "Duplicate definition of module" ++ [prettyTCM m <> text "."] ++
@@ -274,6 +288,8 @@
             SplitOnIrrelevant p t -> fsep $
                 pwords "cannot pattern match" ++ [prettyA p] ++
                 pwords "against irrelevant type" ++ [prettyTCM t]
+            DefinitionIsIrrelevant x -> fsep $
+                text "identifier" : prettyTCM x : pwords "is declared irrelevant, so it cannot be used here"
             VariableIsIrrelevant x -> fsep $
                 text "variable" : prettyTCM x : pwords "is declared irrelevant, so it cannot be used here"
  	    UnequalTerms cmp s t a -> fsep $
@@ -571,7 +587,7 @@
 	    fsep $ pwords "when checking the definition of" ++ [prettyTCM x]
 	CheckDataDef _ x ps cs _ ->
 	    fsep $ pwords "when checking the definition of" ++ [prettyTCM x]
-	CheckConstructor d _ _ (A.Axiom _ c _) _ -> fsep $
+	CheckConstructor d _ _ (A.Axiom _ _ c _) _ -> fsep $
 	    pwords "when checking the constructor" ++ [prettyTCM c] ++
 	    pwords "in the declaration of" ++ [prettyTCM d]
 	CheckConstructor _ _ _ _ _ -> __IMPOSSIBLE__
@@ -631,17 +647,16 @@
 		bind (C.DomainFree h x) = C.TypedBindings r $ Arg h Relevant [C.TBind r [x] (C.Underscore r Nothing)]
 		  where r = getRange x
 
-                name (D.Axiom _ _ _ _ n _) = n
+                name (D.Axiom _ _ _ _ _ n _) = n
                 name _                     = __IMPOSSIBLE__
 
 	    simpleDecl d = case d of
-		D.Axiom _ _ _ _ x e		       -> C.TypeSig x e
+		D.Axiom _ _ _ _ rel x e		       -> C.TypeSig rel x e
 		D.NiceField _ _ _ _ x e	               -> C.Field x e
-		D.PrimitiveFunction r _ _ _ x e	       -> C.Primitive r [C.TypeSig x e]
+		D.PrimitiveFunction r _ _ _ x e	       -> C.Primitive r [C.TypeSig Relevant x e]
 		D.NiceDef r ds _ _		       -> C.Mutual r ds
 		D.NiceModule r _ _ x tel _	       -> C.Module r x tel []
 		D.NiceModuleMacro r _ _ x tel e op dir -> C.ModuleMacro r x tel e op dir
 		D.NiceOpen r x dir		       -> C.Open r x dir
 		D.NiceImport r x as op dir	       -> C.Import r x as op dir
 		D.NicePragma _ p		       -> C.Pragma p
-
diff --git a/src/full/Agda/TypeChecking/EtaContract.hs b/src/full/Agda/TypeChecking/EtaContract.hs
--- a/src/full/Agda/TypeChecking/EtaContract.hs
+++ b/src/full/Agda/TypeChecking/EtaContract.hs
@@ -59,4 +59,3 @@
           (etaContractRecord r c args)
           (return t)
     eta t = return t
-
diff --git a/src/full/Agda/TypeChecking/Forcing.hs b/src/full/Agda/TypeChecking/Forcing.hs
--- a/src/full/Agda/TypeChecking/Forcing.hs
+++ b/src/full/Agda/TypeChecking/Forcing.hs
@@ -71,4 +71,3 @@
       where
         upd a | i `elem` xs = a { argRelevance = Forced }
               | otherwise   = a
-
diff --git a/src/full/Agda/TypeChecking/Free.hs b/src/full/Agda/TypeChecking/Free.hs
--- a/src/full/Agda/TypeChecking/Free.hs
+++ b/src/full/Agda/TypeChecking/Free.hs
@@ -122,4 +122,3 @@
 freeInIgnoringSorts :: Free a => Nat -> a -> Bool
 freeInIgnoringSorts v t =
   v `Set.member` allVars (freeVars' FreeConf{ fcIgnoreSorts = True } t)
-
diff --git a/src/full/Agda/TypeChecking/Implicit.hs b/src/full/Agda/TypeChecking/Implicit.hs
--- a/src/full/Agda/TypeChecking/Implicit.hs
+++ b/src/full/Agda/TypeChecking/Implicit.hs
@@ -39,4 +39,3 @@
       | otherwise = find (i + 1) x ts
     find i x (Arg NotHidden _ _ : _) = NoSuchName x
     find i x []			     = NoSuchName x
-
diff --git a/src/full/Agda/TypeChecking/Injectivity.hs b/src/full/Agda/TypeChecking/Injectivity.hs
--- a/src/full/Agda/TypeChecking/Injectivity.hs
+++ b/src/full/Agda/TypeChecking/Injectivity.hs
@@ -219,4 +219,3 @@
       args <- metaArgs args
       return $ Con c args
     metaPat (LitP l) = return $ Lit l
-
diff --git a/src/full/Agda/TypeChecking/Level.hs b/src/full/Agda/TypeChecking/Level.hs
--- a/src/full/Agda/TypeChecking/Level.hs
+++ b/src/full/Agda/TypeChecking/Level.hs
@@ -165,4 +165,3 @@
             ns = [ m | Plus m a'  <- bs, a == a', m > n ]
 
     lub (Max as) (Max bs) = maxim $ as ++ bs
-
diff --git a/src/full/Agda/TypeChecking/MetaVars.hs b/src/full/Agda/TypeChecking/MetaVars.hs
--- a/src/full/Agda/TypeChecking/MetaVars.hs
+++ b/src/full/Agda/TypeChecking/MetaVars.hs
@@ -65,7 +65,7 @@
 	    InstV{}                        -> False
 	    InstS{}                        -> False
 	    Open{}                         -> False
-    reportSLn "tc.meta.blocked" 12 $ 
+    reportSLn "tc.meta.blocked" 12 $
       if r then "  yes, because " ++ show i else "  no"
     return r
 
@@ -178,7 +178,7 @@
     , nest 2 $ prettyTCM vs <+> text "|-"
     , nest 2 $ text (show x) <+> text ":" <+> prettyTCM t
     ]
-  etaExpandMeta [SingletonRecords, Levels] x
+  etaExpandMetaSafe x
   return $ MetaV x vs
 
 newTelMeta :: MonadTCM tcm => Telescope -> tcm Args
@@ -195,10 +195,13 @@
   tm <- reduce tm
   case funView tm of
       FunV (Arg h r a) _  -> do
-          -- Andreas, 2010-09-24 skip irrelevant record fields when eta-expanding a meta var
-	  arg  <- (Arg h r) <$>  
-                    if r == Irrelevant then return DontCare
-                     else newValueMetaCtx (telePi_ tel a) ctx
+	  arg  <- (Arg h r) <$>
+                   {-
+                     -- Andreas, 2010-09-24 skip irrelevant record fields when eta-expanding a meta var
+                     -- Andreas, 2010-10-11 this is WRONG, see Issue 347
+                    if r == Irrelevant then return DontCare else
+                    -}
+                     newValueMetaCtx (telePi_ tel a) ctx
 	  args <- newArgsMetaCtx (El s tm `piApply` [arg]) tel ctx
 	  return $ arg : args
       NoFunV _    -> return []
@@ -249,16 +252,18 @@
 	    addConstraints c
 	    return $ MetaV x vs
 
+-- | Auxiliary function to create a postponed type checking problem.
+unblockedTester :: MonadTCM tcm => Type -> tcm Bool
+unblockedTester t = do
+  t <- reduceB $ unEl t
+  case t of
+    Blocked{}          -> return False
+    NotBlocked MetaV{} -> return False
+    _                  -> return True
+
 postponeTypeCheckingProblem_ :: MonadTCM tcm => A.Expr -> Type -> tcm Term
-postponeTypeCheckingProblem_ e t =
-  postponeTypeCheckingProblem e t unblock
-  where
-    unblock = do
-      t <- reduceB $ unEl t
-      case t of
-        Blocked{}          -> return False
-        NotBlocked MetaV{} -> return False
-        _                  -> return True
+postponeTypeCheckingProblem_ e t = do
+  postponeTypeCheckingProblem e t (unblockedTester t)
 
 postponeTypeCheckingProblem :: MonadTCM tcm => A.Expr -> Type -> TCM Bool -> tcm Term
 postponeTypeCheckingProblem e t unblock = do
@@ -276,8 +281,14 @@
 etaExpandListeners m = do
   ms <- getMetaListeners m
   clearMetaListeners m	-- we don't really have to do this
-  mapM_ (etaExpandMeta allMetaKinds) ms
+  -- Andreas 2010-10-15: do not expand record mvars, lazyness needed for irrelevance
+  mapM_ etaExpandMetaSafe ms
+--  mapM_ (etaExpandMeta allMetaKinds) ms
 
+-- | Do safe eta-expansions for meta (@SingletonRecords,Levels@).
+etaExpandMetaSafe :: MonadTCM tcm => MetaId -> tcm ()
+etaExpandMetaSafe = etaExpandMeta [SingletonRecords,Levels]
+
 -- | Various kinds of metavariables.
 
 data MetaKind =
@@ -297,9 +308,8 @@
 -- | Eta expand a metavariable, if it is of the specified kind.
 --   Don't do anything if the metavariable is a blocked term.
 etaExpandMeta :: MonadTCM tcm => [MetaKind] -> MetaId -> tcm ()
-etaExpandMeta kinds m =
-  verboseBracket "tc.meta.eta" 10 ("etaExpandMeta " ++ show m) $
-  whenM (isEtaExpandable m) $ do
+etaExpandMeta kinds m = whenM (isEtaExpandable m) $ do
+  verboseBracket "tc.meta.eta" 20 ("etaExpandMeta " ++ show m) $ do
   meta       <- lookupMeta m
   let HasType _ a = mvJudgement meta
   TelV tel b <- telViewM a
@@ -315,7 +325,7 @@
 	let expand = do
               u <- withMetaInfo (mvInfo meta) $ newRecordMetaCtx r ps tel args
               inContext [] $ addCtxTel tel $ do
-                verboseS "tc.meta.eta" 20 $ do
+                verboseS "tc.meta.eta" 15 $ do
                   du <- prettyTCM u
                   liftIO $ LocIO.putStrLn $ "eta expanding: " ++ show m ++ " --> " ++ show du
                 noConstraints $ assignV b m args u  -- should never produce any constraints
@@ -398,7 +408,7 @@
             let pr (Var n []) = text (show n)
                 pr (Def c []) = prettyTCM c
                 pr _          = text ".."
-            in vcat 
+            in vcat
                  [ text "mvar args:" <+> sep (map (pr . unArg) args)
                  , text "fvars rhs:" <+> sep (map (text . show) $ Set.toList fvs)
                  ]
@@ -407,6 +417,13 @@
 	reportSDoc "tc.meta.assign" 15 $
 	    text "preparing to instantiate: " <+> prettyTCM v
 
+        -- Andreas, 2010-10-15 I want to see whether rhd is blocked
+        reportSDoc "tc.meta.assign" 25 $ do
+          v0 <- reduceB v
+          case v0 of
+            Blocked m0 _ -> text "blocked on:" <+> prettyTCM m0
+            NotBlocked{} -> text "not blocked"
+
 	-- Check that the x doesn't occur in the right hand side
 	v <- liftTCM $ occursCheck x (map unArg ids) v
 
@@ -576,8 +593,8 @@
     | otherwise	= fail "invalid parameters"
     where
 	vars = [ Arg h r i | Arg h r (Var i []) <- args ]
-        
 
+
 isVar :: Arg Term -> Bool
 isVar (Arg _ _ (Var _ [])) = True
 isVar _			 = False
@@ -598,4 +615,3 @@
 		updV _ _	     = __IMPOSSIBLE__
 
 		updS s = assignS mI args s
-
diff --git a/src/full/Agda/TypeChecking/MetaVars.hs-boot b/src/full/Agda/TypeChecking/MetaVars.hs-boot
--- a/src/full/Agda/TypeChecking/MetaVars.hs-boot
+++ b/src/full/Agda/TypeChecking/MetaVars.hs-boot
@@ -7,3 +7,4 @@
 assignTerm :: MonadTCM tcm => MetaId -> Term -> tcm ()
 assignSort :: MonadTCM tcm => MetaId -> Sort -> tcm ()
 
+etaExpandMetaSafe :: MonadTCM tcm => MetaId -> tcm ()
diff --git a/src/full/Agda/TypeChecking/MetaVars/Occurs.hs b/src/full/Agda/TypeChecking/MetaVars/Occurs.hs
--- a/src/full/Agda/TypeChecking/MetaVars/Occurs.hs
+++ b/src/full/Agda/TypeChecking/MetaVars/Occurs.hs
@@ -25,7 +25,7 @@
 #include "../../undefined.h"
 
 data OccursCtx = Flex | Rigid
-  deriving (Eq)
+  deriving (Eq, Show)
 
 abort :: OccursCtx -> TypeError -> TCM ()
 abort Flex  _   = patternViolation
@@ -35,6 +35,8 @@
 class Occurs t where
   occurs :: OccursCtx -> MetaId -> [Nat] -> t -> TCM t
 
+-- | When assigning @m xs := v@, check that @m@ does not occur in @v@
+--   and that the free variables of @v@ are contained in @xs@.
 occursCheck :: MonadTCM tcm => MetaId -> [Nat] -> Term -> tcm Term
 occursCheck m xs v = liftTCM $ do
   v <- instantiate v
@@ -80,7 +82,7 @@
       NotBlocked v -> occurs' ctx v
     where
       occurs' ctx v = case v of
-        Var i vs   -> do
+        Var i vs   -> do         -- abort Rigid turns this error into PatternErr
           unless (i `elem` xs) $ abort ctx $ MetaCannotDependOn m xs i
           Var i <$> occ vs
         Lam h f	    -> Lam h <$> occ f
@@ -97,6 +99,10 @@
 
             -- The arguments are in a flexible position
             (MetaV m' <$> occurs Flex m xs vs) `catchError` \err -> do
+              reportSDoc "tc.meta.kill" 25 $ vcat
+                [ text $ "error during flexible occurs check, we are " ++ show ctx
+                , text $ show (errError err)
+                ]
               case errError err of
                 -- On pattern violations try to remove offending
                 -- flexible occurrences (if in a rigid context)
@@ -205,6 +211,8 @@
   let perm = Perm (size kills)
              [ i | (i, Arg _ _ False) <- zip [0..] (reverse kills) ]
   m' <- newMeta (mvInfo mv) (mvPriority mv) perm (HasType undefined a)
+  -- Andreas, 2010-10-15 eta expand new meta variable if necessary
+  etaExpandMetaSafe m'
   let vars = reverse [ Arg h r (Var i []) | (i, Arg h r False) <- zip [0..] kills ]
       hs   = reverse [ argHiding a | a <- kills ]
       lam h b = Lam h (Abs "v" b)
@@ -234,4 +242,3 @@
   - We don't need to check for success, we can just
     continue occurs checking.
 -}
-
diff --git a/src/full/Agda/TypeChecking/Monad.hs b/src/full/Agda/TypeChecking/Monad.hs
--- a/src/full/Agda/TypeChecking/Monad.hs
+++ b/src/full/Agda/TypeChecking/Monad.hs
@@ -33,5 +33,3 @@
 import Agda.TypeChecking.Monad.State
 import Agda.TypeChecking.Monad.Statistics
 import Agda.TypeChecking.Monad.Trace
-
-
diff --git a/src/full/Agda/TypeChecking/Monad/Base.hs b/src/full/Agda/TypeChecking/Monad/Base.hs
--- a/src/full/Agda/TypeChecking/Monad/Base.hs
+++ b/src/full/Agda/TypeChecking/Monad/Base.hs
@@ -391,16 +391,19 @@
 defaultDisplayForm :: QName -> [Open DisplayForm]
 defaultDisplayForm c = []
 
-data Definition = Defn { defName     :: QName
-		       , defType     :: Type	-- type of the lifted definition
-		       , defDisplay  :: [Open DisplayForm]
-		       , defMutual   :: MutualId
-		       , theDef	     :: Defn
-		       }
+data Definition = Defn
+  { defRelevance :: Relevance -- ^ Some defs can be irrelevant (but not hidden).
+  , defName      :: QName
+  , defType      :: Type	      -- ^ Type of the lifted definition.
+  , defDisplay   :: [Open DisplayForm]
+  , defMutual    :: MutualId
+  , theDef	 :: Defn
+  }
     deriving (Typeable, Data, Show)
 
 type HaskellCode = String
 type HaskellType = String
+type EpicCode    = String
 
 data HaskellRepresentation
       = HsDefn HaskellType HaskellCode
@@ -417,6 +420,7 @@
 
 data Defn = Axiom
             { axHsDef   :: Maybe HaskellRepresentation
+            , axEpDef   :: Maybe EpicCode
             }
 	  | Function
             { funClauses        :: [Clauses]
@@ -427,6 +431,12 @@
             , funAbstr          :: IsAbstract
             , funDelayed        :: Delayed
               -- ^ Are the clauses of this definition delayed?
+            , funProjection     :: Maybe Int
+              -- ^ Is it a record projection?
+              --   If yes, then return the index of the record argument.
+              --   Start counting with 1, because 0 means that it is already
+              --   applied to the record. (Can happen in module instantiation.)
+              --   This information is used in the termination checker.
             }
 	  | Datatype
             { dataPars           :: Nat           -- nof parameters
@@ -470,6 +480,7 @@
             , primClauses :: Maybe [Clauses]
               -- ^ 'Nothing' for primitive functions, @'Just'
               -- something@ for builtin functions.
+            , primCompiled :: Maybe CompiledClauses
             }
             -- ^ Primitive or builtin functions.
     deriving (Typeable, Data, Show)
@@ -484,10 +495,27 @@
 data Reduced no yes = NoReduction no | YesReduction yes
     deriving (Typeable)
 
+data IsReduced = NotReduced | Reduced (Blocked ())
+data MaybeReduced a = MaybeRed
+  { isReduced     :: IsReduced
+  , ignoreReduced :: a
+  }
+
+instance Functor MaybeReduced where
+  fmap f (MaybeRed r x) = MaybeRed r (f x)
+
+type MaybeReducedArgs = [MaybeReduced (Arg Term)]
+
+notReduced :: a -> MaybeReduced a
+notReduced x = MaybeRed NotReduced x
+
+reduced :: Blocked a -> MaybeReduced a
+reduced b = MaybeRed (Reduced $ fmap (const ()) b) (ignoreBlocking b)
+
 data PrimFun = PrimFun
 	{ primFunName		:: QName
 	, primFunArity		:: Arity
-	, primFunImplementation :: MonadTCM tcm => [Arg Term] -> tcm (Reduced [Arg Term] Term)
+	, primFunImplementation :: MonadTCM tcm => [Arg Term] -> tcm (Reduced MaybeReducedArgs Term)
 	}
     deriving (Typeable)
 
@@ -500,6 +528,7 @@
 
 defCompiled :: Definition -> Maybe CompiledClauses
 defCompiled Defn{theDef = Function{funCompiled = cc}} = Just cc
+defCompiled Defn{theDef = Primitive{primCompiled = mcc}} = mcc
 defCompiled _ = Nothing
 
 -- | Used to specify whether something should be delayed.
@@ -653,6 +682,9 @@
 		--   or the body of a non-abstract definition this is true.
 		--   To prevent information about abstract things leaking
 		--   outside the module.
+          , envIrrelevant          :: Bool
+                -- ^ Are we checking an irrelevant argument?
+                -- Then top-level irrelevant declarations are enabled.
           , envReplace             :: Bool
                 -- ^ Coinductive constructor applications @c args@ get
                 -- replaced by a function application @f tel@, where
@@ -685,6 +717,7 @@
 		, envImportPath          = []
 		, envMutualBlock         = Nothing
 		, envAbstractMode        = AbstractMode
+                , envIrrelevant          = False
                 , envReplace             = True
                 , envDisplayFormsEnabled = True
                 , envReifyInteractionPoints = True
@@ -758,6 +791,9 @@
 	| ShouldBeApplicationOf Type QName
 	    -- ^ Expected a type to be an application of a particular datatype.
 	| ConstructorPatternInWrongDatatype QName QName -- ^ constructor, datatype
+        | IndicesNotConstructorApplications [Arg Term] -- ^ Indices.
+        | IndexVariablesNotDistinct [Arg Term] -- ^ Indices.
+        | IndexFreeInParameter Nat [Arg Term] -- ^ Index (a variable), parameters.
         | DoesNotConstructAnElementOf QName Term -- ^ constructor, type
 	| DifferentArities
 	    -- ^ Varying number of arguments for a function.
@@ -782,6 +818,7 @@
 	| ShouldBeRecordType Type
 	| NotAProperTerm
         | SplitOnIrrelevant A.Pattern (Arg Type)
+        | DefinitionIsIrrelevant QName
         | VariableIsIrrelevant Name
         | UnequalLevel Comparison Term Term
 	| UnequalTerms Comparison Term Term Type
@@ -1016,4 +1053,3 @@
 
 runTCM' :: Monad m => TCMT m a -> m a
 runTCM' m = liftM fst (unTCM m initState initEnv)
-
diff --git a/src/full/Agda/TypeChecking/Monad/Builtin.hs b/src/full/Agda/TypeChecking/Monad/Builtin.hs
--- a/src/full/Agda/TypeChecking/Monad/Builtin.hs
+++ b/src/full/Agda/TypeChecking/Monad/Builtin.hs
@@ -170,4 +170,3 @@
     , builtinQName
     , builtinAgdaTerm
     ]
-
diff --git a/src/full/Agda/TypeChecking/Monad/Closure.hs b/src/full/Agda/TypeChecking/Monad/Closure.hs
--- a/src/full/Agda/TypeChecking/Monad/Closure.hs
+++ b/src/full/Agda/TypeChecking/Monad/Closure.hs
@@ -12,5 +12,3 @@
     withScope_ scope
     $ withEnv env
     $ k x
-
-
diff --git a/src/full/Agda/TypeChecking/Monad/Constraints.hs b/src/full/Agda/TypeChecking/Monad/Constraints.hs
--- a/src/full/Agda/TypeChecking/Monad/Constraints.hs
+++ b/src/full/Agda/TypeChecking/Monad/Constraints.hs
@@ -39,4 +39,3 @@
 buildConstraint c = do
     cl <- buildClosure c
     return [cl]
-
diff --git a/src/full/Agda/TypeChecking/Monad/Context.hs b/src/full/Agda/TypeChecking/Monad/Context.hs
--- a/src/full/Agda/TypeChecking/Monad/Context.hs
+++ b/src/full/Agda/TypeChecking/Monad/Context.hs
@@ -94,9 +94,9 @@
 getContextId = asks $ map ctxId . envContext
 
 -- | Add a let bound variable
-addLetBinding :: MonadTCM tcm => Name -> Term -> Type -> tcm a -> tcm a
-addLetBinding x v t0 ret = do
-    let t = defaultArg t0  -- Andreas, 2010-09-06: for now, no irrelevant let
+addLetBinding :: MonadTCM tcm => Relevance -> Name -> Term -> Type -> tcm a -> tcm a
+addLetBinding rel x v t0 ret = do
+    let t = Arg NotHidden rel t0
     vt <- makeOpen (v, t)
     flip local ret $ \e -> e { envLetBindings = Map.insert x vt $ envLetBindings e }
 
@@ -104,7 +104,10 @@
 --   in an irrelevant function argument otherwise irrelevant variables
 --   may be used, so they are awoken before type checking the argument.
 wakeIrrelevantVars :: MonadTCM tcm => tcm a -> tcm a
-wakeIrrelevantVars = local $ \ e -> e { envContext = map wakeVar (envContext e) }
+wakeIrrelevantVars = local $ \ e -> e
+   { envContext = map wakeVar (envContext e) -- enable local  irr. defs
+   , envIrrelevant = True                    -- enable global irr. defs
+   }
   where wakeVar ce = ce { ctxEntry = makeRelevant (ctxEntry ce) }
 
 applyRelevanceToContext :: MonadTCM tcm => Relevance -> tcm a -> tcm a
@@ -156,4 +159,3 @@
 
 escapeContext :: MonadTCM tcm => Int -> tcm a -> tcm a
 escapeContext n = local $ \e -> e { envContext = drop n $ envContext e }
-
diff --git a/src/full/Agda/TypeChecking/Monad/Env.hs b/src/full/Agda/TypeChecking/Monad/Env.hs
--- a/src/full/Agda/TypeChecking/Monad/Env.hs
+++ b/src/full/Agda/TypeChecking/Monad/Env.hs
@@ -37,4 +37,3 @@
 -- | Get the current environmnet
 getEnv :: MonadTCM tcm => tcm TCEnv
 getEnv = ask
-
diff --git a/src/full/Agda/TypeChecking/Monad/Exception.hs b/src/full/Agda/TypeChecking/Monad/Exception.hs
--- a/src/full/Agda/TypeChecking/Monad/Exception.hs
+++ b/src/full/Agda/TypeChecking/Monad/Exception.hs
@@ -61,4 +61,3 @@
 
 instance (Error err, MonadTCM tcm) => MonadTCM (ExceptionT err tcm) where
   liftTCM m = ExceptionT $ Right `liftM` liftTCM m
-
diff --git a/src/full/Agda/TypeChecking/Monad/Imports.hs b/src/full/Agda/TypeChecking/Monad/Imports.hs
--- a/src/full/Agda/TypeChecking/Monad/Imports.hs
+++ b/src/full/Agda/TypeChecking/Monad/Imports.hs
@@ -89,4 +89,3 @@
     m:ms <- getImportPath
     when (m `elem` ms) $ typeError $ CyclicModuleDependency
 				   $ dropWhile (/= m) $ reverse (m:ms)
-
diff --git a/src/full/Agda/TypeChecking/Monad/MetaVars.hs b/src/full/Agda/TypeChecking/Monad/MetaVars.hs
--- a/src/full/Agda/TypeChecking/Monad/MetaVars.hs
+++ b/src/full/Agda/TypeChecking/Monad/MetaVars.hs
@@ -176,4 +176,3 @@
 clearMetaListeners :: MonadTCM tcm => MetaId -> tcm ()
 clearMetaListeners m =
   updateMetaVar m $ \mv -> mv { mvListeners = Set.empty }
-
diff --git a/src/full/Agda/TypeChecking/Monad/Mutual.hs b/src/full/Agda/TypeChecking/Monad/Mutual.hs
--- a/src/full/Agda/TypeChecking/Monad/Mutual.hs
+++ b/src/full/Agda/TypeChecking/Monad/Mutual.hs
@@ -61,4 +61,3 @@
   case filter (Set.member f) bs of
     []    -> fail $ "No mutual block for " ++ show f
     b : _ -> return b
-
diff --git a/src/full/Agda/TypeChecking/Monad/Open.hs b/src/full/Agda/TypeChecking/Monad/Open.hs
--- a/src/full/Agda/TypeChecking/Monad/Open.hs
+++ b/src/full/Agda/TypeChecking/Monad/Open.hs
@@ -46,4 +46,3 @@
 tryOpen o = liftTCM $
   (Just <$> getOpen o)
   `catchError` \_ -> return Nothing
-
diff --git a/src/full/Agda/TypeChecking/Monad/Options.hs b/src/full/Agda/TypeChecking/Monad/Options.hs
--- a/src/full/Agda/TypeChecking/Monad/Options.hs
+++ b/src/full/Agda/TypeChecking/Monad/Options.hs
@@ -31,9 +31,8 @@
   clo <- commandLineOptions
   case checkOpts (clo { optPragmaOptions = opts }) of
     Left err   -> __IMPOSSIBLE__
-    Right opts ->
-      modify $ \s -> s { stPragmaOptions = optPragmaOptions opts }
-
+    Right opts -> do
+      modify $ \s -> s { stPragmaOptions = (optPragmaOptions opts) }
 -- | Sets the command line options (both persistent and pragma options
 -- are updated).
 --
@@ -239,7 +238,7 @@
 reportS k n s = verboseS k n $ liftIO $ LocIO.putStr s
 
 reportSLn :: MonadTCM tcm => VerboseKey -> Int -> String -> tcm ()
-reportSLn k n s = verboseS k n $ liftIO $ LocIO.putStrLn s
+reportSLn k n s = verboseS k n $ liftIO $ LocIO.putStrLn s >> LocIO.stdoutFlush
 
 reportSDoc :: MonadTCM tcm => VerboseKey -> Int -> tcm Doc -> tcm ()
 reportSDoc k n d = verboseS k n $ liftIO . LocIO.print =<< d
@@ -253,4 +252,3 @@
     x <- m
     liftIO $ LocIO.putStrLn "}"
     return x
-
diff --git a/src/full/Agda/TypeChecking/Monad/Signature.hs b/src/full/Agda/TypeChecking/Monad/Signature.hs
--- a/src/full/Agda/TypeChecking/Monad/Signature.hs
+++ b/src/full/Agda/TypeChecking/Monad/Signature.hs
@@ -23,6 +23,7 @@
 import Agda.TypeChecking.Monad.Mutual
 import Agda.TypeChecking.Monad.Open
 import Agda.TypeChecking.Substitute
+-- import Agda.TypeChecking.Pretty -- leads to cyclicity
 import Agda.TypeChecking.CompiledClause
 import {-# SOURCE #-} Agda.TypeChecking.Polarity
 
@@ -30,6 +31,7 @@
 import Agda.Utils.Map as Map
 import Agda.Utils.Size
 import Agda.Utils.Permutation
+import Agda.Utils.Pretty
 
 #include "../../undefined.h"
 import Agda.Utils.Impossible
@@ -104,6 +106,18 @@
       def{theDef = d{dataHsType = Just hsTy}}
     addHs def = def
 
+addEpicCode :: MonadTCM tcm => QName -> EpicCode -> tcm ()
+addEpicCode q epDef =
+  -- TODO: sanity checking
+  modifySignature $ \sig -> sig
+  { sigDefinitions = Map.adjust addEp q $ sigDefinitions sig }
+  where
+    --addEp def@Defn{theDef = con@Constructor{}} =
+      --def{theDef = con{conHsCode = Just (hsTy, hsDef)}}
+    addEp def@Defn{theDef = ax@Axiom{}} =
+      def{theDef = ax{axEpDef = Just $ epDef}}
+    addEp def = def
+
 unionSignatures :: [Signature] -> Signature
 unionSignatures ss = foldr unionSignature emptySignature ss
   where
@@ -175,8 +189,18 @@
   isig <- getImportedSignature
   let ss = getOld partOfOldM sigSections    [sig, isig]
       ds = getOld partOfOldD sigDefinitions [sig, isig]
+  reportSLn "tc.mod.apply" 10 $ render $ vcat
+    [ text "applySection"
+    , text "new  =" <+> text (show new)
+    , text "ptel =" <+> text (show ptel)
+    , text "old  =" <+> text (show old)
+    , text "ts   =" <+> text (show ts)
+    ]
   reportSLn "tc.mod.apply" 80 $ "sections:    " ++ show ss ++ "\n" ++
                                 "definitions: " ++ show ds
+  reportSLn "tc.mod.apply" 80 $ render $ vcat
+    [ text "arguments:  " <+> text (show ts)
+    ]
   mapM_ (copyDef ts) ds
   mapM_ (copySec ts) ss
   where
@@ -201,7 +225,7 @@
       where
 	t  = defType d `apply` ts
 	-- the name is set by the addConstant function
-	nd y = Defn y t [] (-1) def  -- TODO: mutual block?
+	nd y = Defn (defRelevance d) y t [] (-1) def  -- TODO: mutual block?
         oldDef = theDef d
 	isCon = case oldDef of
 	  Constructor{} -> True
@@ -224,7 +248,12 @@
                            , funPolarity       = []
                            , funArgOccurrences = []
                            , funAbstr          = ConcreteDef
+                           , funProjection     = fmap (nonNeg . \ n -> n - size ts) maybeNum
                            }
+                  where maybeNum = case oldDef of
+                                     Function { funProjection = mn } -> mn
+                                     _                               -> Nothing
+                        nonNeg n = if n >= 0 then n else __IMPOSSIBLE__
 	cl = Clause { clauseRange = getRange $ defClauses d
                     , clauseTel   = EmptyTel
                     , clausePerm  = idP 0
@@ -429,8 +458,8 @@
 makeAbstract d = do def <- makeAbs $ theDef d
 		    return d { theDef = def }
     where
-	makeAbs Datatype   {dataAbstr = AbstractDef} = Just $ Axiom Nothing
-	makeAbs Function   {funAbstr  = AbstractDef} = Just $ Axiom Nothing
+	makeAbs Datatype   {dataAbstr = AbstractDef} = Just $ Axiom Nothing Nothing
+	makeAbs Function   {funAbstr  = AbstractDef} = Just $ Axiom Nothing Nothing
 	makeAbs Constructor{conAbstr  = AbstractDef} = Nothing
 	makeAbs d                                    = Just d
 
@@ -465,6 +494,10 @@
 typeOfConst :: MonadTCM tcm => QName -> tcm Type
 typeOfConst q = defType <$> (instantiateDef =<< getConstInfo q)
 
+-- | get relevance of a constant
+relOfConst :: MonadTCM tcm => QName -> tcm Relevance
+relOfConst q = defRelevance <$> getConstInfo q
+
 -- | The name must be a datatype.
 sortOfConst :: MonadTCM tcm => QName -> tcm Sort
 sortOfConst q =
@@ -473,3 +506,10 @@
 	    Datatype{dataSort = s} -> return s
 	    _			   -> fail $ "Expected " ++ show q ++ " to be a datatype."
 
+-- | Is it the name of a record projection?
+isProjection :: MonadTCM tcm => QName -> tcm (Maybe Int)
+isProjection qn = do
+  def <- theDef <$> getConstInfo qn
+  case def of
+    Function { funProjection = result } -> return $ result
+    _                                   -> return $ Nothing
diff --git a/src/full/Agda/TypeChecking/Monad/SizedTypes.hs b/src/full/Agda/TypeChecking/Monad/SizedTypes.hs
--- a/src/full/Agda/TypeChecking/Monad/SizedTypes.hs
+++ b/src/full/Agda/TypeChecking/Monad/SizedTypes.hs
@@ -52,4 +52,3 @@
 unSizeView SizeInf       = primSizeInf
 unSizeView (SizeSuc v)   = flip apply [Arg NotHidden Relevant v] <$> primSizeSuc
 unSizeView (OtherSize v) = return v
-
diff --git a/src/full/Agda/TypeChecking/Monad/State.hs b/src/full/Agda/TypeChecking/Monad/State.hs
--- a/src/full/Agda/TypeChecking/Monad/State.hs
+++ b/src/full/Agda/TypeChecking/Monad/State.hs
@@ -87,4 +87,3 @@
 -- | Get the Haskell imports.
 getHaskellImports :: MonadTCM tcm => tcm (Set String)
 getHaskellImports = gets stHaskellImports
-
diff --git a/src/full/Agda/TypeChecking/Monad/Statistics.hs b/src/full/Agda/TypeChecking/Monad/Statistics.hs
--- a/src/full/Agda/TypeChecking/Monad/Statistics.hs
+++ b/src/full/Agda/TypeChecking/Monad/Statistics.hs
@@ -11,10 +11,12 @@
 
 tick :: String -> TCM ()
 tick x = modify $ \s ->
-    s { stStatistics = Map.insertWith (\_ n -> n + 1) x 1
-		     $ stStatistics s
-      }
+  let st' = inc $ stStatistics s in
+  force st' `seq` s { stStatistics = st' }
+  where
+    -- We need to be strict in the map
+    force m = sum (Map.elems m)
+    inc = Map.insertWith (\_ n -> n + 1) x 1
 
 getStatistics :: TCM Statistics
 getStatistics = gets stStatistics
-
diff --git a/src/full/Agda/TypeChecking/Monad/Trace.hs b/src/full/Agda/TypeChecking/Monad/Trace.hs
--- a/src/full/Agda/TypeChecking/Monad/Trace.hs
+++ b/src/full/Agda/TypeChecking/Monad/Trace.hs
@@ -49,4 +49,3 @@
 setCurrentRange r
   | r == noRange = id
   | otherwise    = traceCall (SetRange r)
-
diff --git a/src/full/Agda/TypeChecking/Patterns/Match.hs b/src/full/Agda/TypeChecking/Patterns/Match.hs
--- a/src/full/Agda/TypeChecking/Patterns/Match.hs
+++ b/src/full/Agda/TypeChecking/Patterns/Match.hs
@@ -70,7 +70,7 @@
           -- Andreas, 2010-09-07 matching a record constructor against
           -- something irrelevant will just continue matching against
           -- irrelevant stuff
-		(m, vs) <- matchPatterns ps $ 
+		(m, vs) <- matchPatterns ps $
                   repeat $ Arg NotHidden Irrelevant $ Sort Prop
 		return (m, Arg h Irrelevant $ Con c vs)
 
@@ -96,7 +96,7 @@
           -- irrelevant stuff
           -- NotBlocked (Sort Prop)
           _  | r == Irrelevant -> do
-		(m, vs) <- matchPatterns ps $ 
+		(m, vs) <- matchPatterns ps $
                   repeat $ Arg NotHidden Irrelevant $ Sort Prop
 		return (m, Arg h r $ Con c vs)
 	  NotBlocked (Con c' vs)
@@ -107,4 +107,3 @@
 	  NotBlocked (MetaV x vs) -> return (DontKnow $ Just x, Arg h r v)
 	  Blocked x _             -> return (DontKnow $ Just x, Arg h r v)
           _                       -> return (DontKnow Nothing, Arg h r v)
-
diff --git a/src/full/Agda/TypeChecking/Polarity.hs b/src/full/Agda/TypeChecking/Polarity.hs
--- a/src/full/Agda/TypeChecking/Polarity.hs
+++ b/src/full/Agda/TypeChecking/Polarity.hs
@@ -163,4 +163,3 @@
     Sort _     -> return []
     MetaV _ ts -> map (const Invariant) <$> polarities i ts
     DontCare   -> return []
-
diff --git a/src/full/Agda/TypeChecking/Positivity.hs b/src/full/Agda/TypeChecking/Positivity.hs
--- a/src/full/Agda/TypeChecking/Positivity.hs
+++ b/src/full/Agda/TypeChecking/Positivity.hs
@@ -273,7 +273,9 @@
     Sort{}       -> Map.empty
     DontCare     -> Map.empty
     where
-      vs ! i
+      -- Apparently some development version of GHC chokes if the
+      -- following line is replaced by vs ! i.
+      (!) vs i
         | i < length vs = vs !! i
         | otherwise     = error $ show vs ++ " ! " ++ show i ++ "  (" ++ show v ++ ")"
 
@@ -432,4 +434,3 @@
         -- D: (A B -> C) generates a positive edge B --> A.1
         -- even though the context is negative.
         inArg d i = mkEdge (ArgNode d i) Positive
-
diff --git a/src/full/Agda/TypeChecking/Pretty.hs b/src/full/Agda/TypeChecking/Pretty.hs
--- a/src/full/Agda/TypeChecking/Pretty.hs
+++ b/src/full/Agda/TypeChecking/Pretty.hs
@@ -70,6 +70,7 @@
 instance PrettyTCM Type where prettyTCM x = prettyA =<< reify x
 instance PrettyTCM Sort where prettyTCM x = prettyA =<< reify x
 instance PrettyTCM DisplayTerm where prettyTCM x = prettyA =<< reify x
+instance PrettyTCM NamedClause where prettyTCM x = prettyA =<< reify x
 
 instance PrettyTCM ClauseBody where
   prettyTCM b = do
@@ -84,7 +85,7 @@
       walk (Bind b) = do
         (bs, v) <- underAbstraction_ b walk
         return (text (absName b) : bs, v)
- 
+
 instance (PrettyTCM a, PrettyTCM b) => PrettyTCM (Judgement a b) where
   prettyTCM (HasType a t) = prettyTCM a <+> text ":" <+> prettyTCM t
   prettyTCM (IsSort a)    = text "Sort" <+> prettyTCM a
@@ -102,6 +103,11 @@
 instance PrettyTCM A.Expr where
     prettyTCM = prettyA
 
+instance PrettyTCM Relevance where
+  prettyTCM Irrelevant = text "."
+  prettyTCM Relevant   = empty
+  prettyTCM Forced     = empty
+
 instance PrettyTCM Comparison where
   prettyTCM CmpEq  = text "=="
   prettyTCM CmpLeq = text "=<"
@@ -120,7 +126,7 @@
                       , nest 2 $ text "~~" <+> prettyTCM v
                       , nest 2 $ text (show cmp)
                       ] | (cmp, u, v) <- zip3 cmps us vs
-                ] 
+                ]
               , nest 2 $ text ":" <+> prettyTCM t
               ]
 	LevelCmp cmp a b ->
@@ -191,14 +197,15 @@
               d    <- prettyTCM t
               x    <- prettyTCM x
               dctx <- pr ctx
-              return $ rel r (par h (P.hsep [ x, P.text ":", d])) : dctx
+              return $ P.pRelevance r (par h (P.hsep [ x, P.text ":", d])) : dctx
             where
               par NotHidden = P.parens
               par Hidden    = P.braces
+{-
               rel Irrelevant x = P.text "." P.<> x
               rel Relevant x   = x
               rel Forced   x   = x
+-}
 
 instance PrettyTCM Context where
   prettyTCM = prettyTCM . PrettyContext
-
diff --git a/src/full/Agda/TypeChecking/Primitive.hs b/src/full/Agda/TypeChecking/Primitive.hs
--- a/src/full/Agda/TypeChecking/Primitive.hs
+++ b/src/full/Agda/TypeChecking/Primitive.hs
@@ -134,7 +134,7 @@
 
 -- From Haskell value to Agda term
 
-type FromTermFunction a = Arg Term -> TCM (Reduced (Arg Term) a)
+type FromTermFunction a = Arg Term -> TCM (Reduced (MaybeReduced (Arg Term)) a)
 
 class FromTerm a where
     fromTerm :: MonadTCM tcm => tcm (FromTermFunction a)
@@ -189,37 +189,38 @@
 	    _	     === _	    = False
 
 instance (ToTerm a, FromTerm a) => FromTerm [a] where
-    fromTerm = do
-	nil'  <- primNil
-	cons' <- primCons
-	nil   <- isCon nil'
-	cons  <- isCon cons'
-	toA   <- fromTerm
-	fromA <- toTerm
-	return $ mkList nil cons toA fromA
-	where
-	    isCon (Lam _ b) = isCon $ absBody b
-	    isCon (Con c _) = return c
-	    isCon v	    = do
-		d <- prettyTCM v
-		typeError $ GenericError $ "expected constructor in built-in binding to " ++ show d
-				-- TODO: check this when binding the things
+  fromTerm = do
+    nil'  <- primNil
+    cons' <- primCons
+    nil   <- isCon nil'
+    cons  <- isCon cons'
+    toA   <- fromTerm
+    fromA <- toTerm
+    return $ mkList nil cons toA fromA
+    where
+      isCon (Lam _ b) = isCon $ absBody b
+      isCon (Con c _) = return c
+      isCon v	    = do
+        d <- prettyTCM v
+        typeError $ GenericError $ "expected constructor in built-in binding to " ++ show d
+                        -- TODO: check this when binding the things
 
-	    mkList nil cons toA fromA t = do
-		t <- reduce t
-		let arg = Arg (argHiding t) (argRelevance t)
-		case unArg t of
-		    Con c []
-			| c == nil  -> return $ YesReduction []
-		    Con c [x,xs]
-			| c == cons ->
-			    redBind (toA x)
-				(\x' -> arg $ Con c [x',xs]) $ \y ->
-			    redBind
-				(mkList nil cons toA fromA xs)
-				(\xs' -> arg $ Con c [defaultArg $ fromA y, xs']) $ \ys ->
-			    redReturn (y : ys)
-		    _ -> return $ NoReduction t
+      mkList nil cons toA fromA t = do
+        b <- reduceB t
+        let t = ignoreBlocking b
+        let arg = Arg (argHiding t) (argRelevance t)
+        case unArg t of
+          Con c []
+            | c == nil  -> return $ YesReduction []
+          Con c [x,xs]
+            | c == cons ->
+              redBind (toA x)
+                  (\x' -> notReduced $ arg $ Con c [ignoreReduced x',xs]) $ \y ->
+              redBind
+                  (mkList nil cons toA fromA xs)
+                  (fmap $ \xs' -> arg $ Con c [defaultArg $ fromA y, xs']) $ \ys ->
+              redReturn (y : ys)
+          _ -> return $ NoReduction (reduced b)
 
 -- | Conceptually: @redBind m f k = either (return . Left . f) k =<< m@
 redBind :: MonadTCM tcm => tcm (Reduced a a') -> (a -> b) ->
@@ -235,10 +236,10 @@
 
 fromReducedTerm :: MonadTCM tcm => (Term -> Maybe a) -> tcm (FromTermFunction a)
 fromReducedTerm f = return $ \t -> do
-    t <- reduce t
-    case f $ unArg t of
+    b <- reduceB t
+    case f $ unArg (ignoreBlocking b) of
 	Just x	-> return $ YesReduction x
-	Nothing	-> return $ NoReduction t
+	Nothing	-> return $ NoReduction (reduced b)
 
 fromLiteral :: MonadTCM tcm => (Literal -> Maybe a) -> tcm (FromTermFunction a)
 fromLiteral f = fromReducedTerm $ \t -> case t of
@@ -251,11 +252,14 @@
   refl <- primRefl
   t    <- hPi "A" tset $ hPi "a" (el $ var 0) $ hPi "b" (el $ var 1) $
           el (primEquality <#> var 2 <@> var 1 <@> var 0)
-  return $ PrimImpl t $ PrimFun __IMPOSSIBLE__ 3 $ \[t, a, b] -> liftTCM $ do
-      noConstraints $ equalTerm (El (mkType 0) $ unArg t) (unArg a) (unArg b)
-      rf <- return refl -- <#> return (unArg t) <#> return (unArg a)
-      redReturn rf
-    `catchError` \_ -> return (NoReduction [t, a, b])
+  return $ PrimImpl t $ PrimFun __IMPOSSIBLE__ 3 $ \ts ->
+      case ts of
+        [t, a, b] -> liftTCM $ do
+              noConstraints $ equalTerm (El (mkType 0) $ unArg t) (unArg a) (unArg b)
+              rf <- return refl -- <#> return (unArg t) <#> return (unArg a)
+              redReturn rf
+            `catchError` \_ -> return (NoReduction $ map notReduced [t, a, b])
+        _ -> __IMPOSSIBLE__
 
 -- Tying the knot
 mkPrimFun1 :: (MonadTCM tcm, PrimType a, PrimType b, FromTerm a, ToTerm b) =>
@@ -264,10 +268,13 @@
     toA   <- fromTerm
     fromB <- toTerm
     t	  <- primType f
-    return $ PrimImpl t $ PrimFun __IMPOSSIBLE__ 1 $ \[v] -> liftTCM $
-	redBind (toA v)
-	    (\v' -> [v']) $ \x ->
-	redReturn $ fromB $ f x
+    return $ PrimImpl t $ PrimFun __IMPOSSIBLE__ 1 $ \ts ->
+      case ts of
+        [v] -> liftTCM $
+          redBind (toA v)
+              (\v' -> [v']) $ \x ->
+          redReturn $ fromB $ f x
+        _ -> __IMPOSSIBLE__
 
 mkPrimFun2 :: (MonadTCM tcm, PrimType a, PrimType b, PrimType c, FromTerm a, ToTerm a, FromTerm b, ToTerm c) =>
 	      (a -> b -> c) -> tcm PrimitiveImpl
@@ -277,12 +284,16 @@
     toB	  <- fromTerm
     fromC <- toTerm
     t	  <- primType f
-    return $ PrimImpl t $ PrimFun __IMPOSSIBLE__ 2 $ \[v,w] -> liftTCM $
-	redBind (toA v)
-	    (\v' -> [v',w]) $ \x ->
-	redBind (toB w)
-	    (\w' -> [Arg (argHiding v) (argRelevance v) (fromA x), w']) $ \y ->
-	redReturn $ fromC $ f x y
+    return $ PrimImpl t $ PrimFun __IMPOSSIBLE__ 2 $ \ts ->
+      case ts of
+        [v,w] -> liftTCM $
+          redBind (toA v)
+              (\v' -> [v', notReduced w]) $ \x ->
+          redBind (toB w)
+              (\w' -> [ reduced $ notBlocked $ Arg (argHiding v) (argRelevance v) (fromA x)
+                      , w']) $ \y ->
+          redReturn $ fromC $ f x y
+        _ -> __IMPOSSIBLE__
 
 mkPrimFun4 :: ( MonadTCM tcm
               , PrimType a, FromTerm a, ToTerm a
@@ -298,29 +309,27 @@
     toD          <- fromTerm
     fromE        <- toTerm
     t <- primType f
-    return $ PrimImpl t $ PrimFun __IMPOSSIBLE__ 4 $ \[a,b,c,d] -> liftTCM $
-	redBind (toA a)
-	    (\a' -> [a',b,c,d]) $ \x ->
-	redBind (toB b)
-	    (\b' -> [Arg (argHiding a) (argRelevance a) (fromA x), b', c, d]) $ \y ->
-	redBind (toC c)
-	    (\c' -> [ Arg (argHiding a) (argRelevance a) (fromA x)
-                    , Arg (argHiding b) (argRelevance b) (fromB y), c', d]) $ \z ->
-	redBind (toD d)
-	    (\d' -> [ Arg (argHiding a) (argRelevance a) (fromA x)
-                    , Arg (argHiding b) (argRelevance b) (fromB y)
-                    , Arg (argHiding c) (argRelevance c) (fromC z)
-                    , d']) $ \w ->
-	redReturn $ fromE $ f x y z w
-
--- Abstract primitive functions
-abstractPrim :: (MonadTCM tcm, PrimType a) => a -> tcm PrimitiveImpl
-abstractPrim x = abstractFromType (primType x)
+    return $ PrimImpl t $ PrimFun __IMPOSSIBLE__ 4 $ \ts ->
+      let argFrom fromX a x =
+            reduced $ notBlocked $ Arg (argHiding a) (argRelevance a) (fromX x)
+      in case ts of
+        [a,b,c,d] -> liftTCM $
+          redBind (toA a)
+              (\a' -> a' : map notReduced [b,c,d]) $ \x ->
+          redBind (toB b)
+              (\b' -> [argFrom fromA a x, b', notReduced c, notReduced d]) $ \y ->
+          redBind (toC c)
+              (\c' -> [ argFrom fromA a x
+                      , argFrom fromB b y
+                      , c', notReduced d]) $ \z ->
+          redBind (toD d)
+              (\d' -> [ argFrom fromA a x
+                      , argFrom fromB b y
+                      , argFrom fromC c z
+                      , d']) $ \w ->
 
-abstractFromType :: MonadTCM tcm => tcm Type -> tcm PrimitiveImpl
-abstractFromType mt = do
-    t <- mt
-    return $ PrimImpl t $ PrimFun __IMPOSSIBLE__ (arity t) $ \args -> NoReduction <$> normalise args
+          redReturn $ fromE $ f x y z w
+        _ -> __IMPOSSIBLE__
 
 -- Type combinators
 infixr 4 -->
@@ -473,4 +482,3 @@
     PrimImpl _ pf <- lookupPrimitiveFunction x
     bindPrimitive x pf
     return pf
-
diff --git a/src/full/Agda/TypeChecking/Quote.hs b/src/full/Agda/TypeChecking/Quote.hs
--- a/src/full/Agda/TypeChecking/Quote.hs
+++ b/src/full/Agda/TypeChecking/Quote.hs
@@ -25,7 +25,7 @@
   def <- primAgdaTermDef
   con <- primAgdaTermCon
   pi <- primAgdaTermPi
-  sort <- primAgdaTermSort  
+  sort <- primAgdaTermSort
   Con z _ <- primZero
   Con s _ <- primSuc
   unsupported <- primAgdaTermUnsupported
@@ -33,7 +33,7 @@
       quoteHiding Hidden = true
       quoteHiding NotHidden = false
       list [] = nil
-      list (a : as) = cons @@ a @@ list as 
+      list (a : as) = cons @@ a @@ list as
       zero = con @@ quoteName z @@ nil
       suc n = con @@ quoteName s @@ list [n]
       quoteArg (Arg h r t) = arg @@ quoteHiding h @@ quote t
@@ -62,4 +62,3 @@
 
 qNameType :: TCM Type
 qNameType = El (mkType 0) <$> primQName
-
diff --git a/src/full/Agda/TypeChecking/Rebind.hs b/src/full/Agda/TypeChecking/Rebind.hs
--- a/src/full/Agda/TypeChecking/Rebind.hs
+++ b/src/full/Agda/TypeChecking/Rebind.hs
@@ -28,4 +28,3 @@
 	rebind (NoBind b) = NoBind $ rebind b
 	rebind  NoBody	  = NoBody
 -}
-
diff --git a/src/full/Agda/TypeChecking/Records.hs b/src/full/Agda/TypeChecking/Records.hs
--- a/src/full/Agda/TypeChecking/Records.hs
+++ b/src/full/Agda/TypeChecking/Records.hs
@@ -94,6 +94,14 @@
     Record{recEtaEquality = eta} -> eta
     _                            -> False
 
+-- | Check if a name refers to a record constructor.
+isRecordConstructor :: MonadTCM tcm => QName -> tcm Bool
+isRecordConstructor c = do
+  def <- theDef <$> getConstInfo c
+  case def of
+    Constructor{ conData = r } -> isRecord r
+    _                          -> return False
+
 -- | Check if a constructor name is the internally generated record constructor.
 isGeneratedRecordConstructor :: MonadTCM tcm => QName -> tcm Bool
 isGeneratedRecordConstructor c = do
@@ -121,8 +129,10 @@
     Con _ args -> return (tel', args)  -- Already expanded.
     _          -> do
       -- irrelevant fields are expanded to DontCare
+      -- this is sound because etaExpandRecord is only called during conversion
+      -- WARNING: do not use etaExpandRecord to expand MetaVars!!
       let proj (Arg h Irrelevant _) = Arg h Irrelevant DontCare
-          proj (Arg h rel x)        = Arg h rel $ 
+          proj (Arg h rel x)        = Arg h rel $
             Def x $ map hide pars ++ [defaultArg u]
       reportSDoc "tc.record.eta" 20 $ vcat
         [ text "eta expanding" <+> prettyTCM u <+> text ":" <+> prettyTCM r
@@ -138,24 +148,33 @@
 -- | The fields should be eta contracted already.
 etaContractRecord :: MonadTCM tcm => QName -> QName -> Args -> tcm Term
 etaContractRecord r c args = do
-  Record{ recFields = xs } <- getRecordDef r
+  Record{ recPars = npars, recFields = xs } <- getRecordDef r
   let check a ax = do
+      -- @a@ is the constructor argument, @ax@ the corr. record field name
         -- skip irrelevant record fields by returning DontCare
         case (argRelevance a, unArg a) of
-          (Irrelevant, _)                       -> return $ Just DontCare
-          (_, Def y args@(_:_)) | unArg ax == y -> return (Just $ unArg $ last args)
-          _                                     -> return Nothing
+          (Irrelevant, _) -> return $ Just DontCare
+          -- if @a@ is the record field name applied to (npars+1) args,
+          -- then it passes the check
+          (_, Def y args) | unArg ax == y && genericLength args == npars + 1
+                         -> return (Just $ unArg $ last args)
+          _              -> return Nothing
       fallBack = return (Con c args)
   case compare (length args) (length xs) of
     LT -> fallBack       -- Not fully applied
     GT -> __IMPOSSIBLE__ -- Too many arguments. Impossible.
     EQ -> do
-      cs <- zipWithM check args xs
-      case sequence cs of
-        Just cs -> case filter (DontCare /=) cs of
-          (c:cs) -> do
-            if all (c ==) cs
-              then return c
+      as <- zipWithM check args xs
+      case sequence as of
+        Just as -> case filter (DontCare /=) as of
+          (a:as) ->
+            if all (a ==) as
+              then do
+                reportSDoc "tc.record.eta" 15 $ vcat
+                  [ text "record" <+> prettyTCM (Con c args)
+                  , text "is eta-contracted to" <+> prettyTCM a
+                  ]
+                return a
               else fallBack
           _ -> fallBack -- just DontCares
         _ -> fallBack  -- a Nothing
diff --git a/src/full/Agda/TypeChecking/Reduce.hs b/src/full/Agda/TypeChecking/Reduce.hs
--- a/src/full/Agda/TypeChecking/Reduce.hs
+++ b/src/full/Agda/TypeChecking/Reduce.hs
@@ -8,7 +8,8 @@
 import Control.Monad.Error hiding (mapM)
 import Control.Applicative
 import Data.List as List hiding (sort)
-import Data.Map as Map
+import qualified Data.Map as Map
+import Data.Map (Map)
 import qualified Data.Set as Set
 import Data.Traversable
 
@@ -256,19 +257,19 @@
   Bool -> (Term -> tcm (Blocked Term)) ->
   Term -> QName -> Args -> tcm (Blocked Term)
 unfoldDefinition unfoldDelayed keepGoing v0 f args =
-    {-# SCC "reduceDef" #-}
-    do  info <- getConstInfo f
-        case theDef info of
-            Constructor{conSrcCon = c} ->
-              return $ notBlocked $ Con (c `withRangeOf` f) args
-            Primitive ConcreteDef x cls -> do
-                pf <- getPrimitive x
-                reducePrimitive x v0 f args pf (defDelayed info)
-                                (maybe [] (List.map translatedClause) cls)
-                                Nothing
-            _  -> reduceNormal v0 f args (defDelayed info)
-                               (List.map translatedClause $ defClauses info)
-                               (defCompiled info)
+  {-# SCC "reduceDef" #-} do
+  info <- getConstInfo f
+  case theDef info of
+    Constructor{conSrcCon = c} ->
+      return $ notBlocked $ Con (c `withRangeOf` f) args
+    Primitive{primAbstr = ConcreteDef, primName = x, primClauses = cls} -> do
+      pf <- getPrimitive x
+      reducePrimitive x v0 f args pf (defDelayed info)
+                      (maybe [] (List.map translatedClause) cls)
+                      (defCompiled info)
+    _  -> reduceNormal v0 f (map notReduced args) (defDelayed info)
+                       (List.map translatedClause $ defClauses info)
+                       (defCompiled info)
   where
     reducePrimitive x v0 f args pf delayed cls mcc
         | n < ar    = return $ notBlocked $ v0 `apply` args -- not fully applied
@@ -276,9 +277,12 @@
             let (args1,args2) = genericSplitAt ar args
             r <- def args1
             case r of
-                NoReduction args1' -> reduceNormal v0 f (args1' ++ args2)
-                                                   delayed cls mcc
-                YesReduction v	   -> keepGoing $ v `apply` args2
+              NoReduction args1' ->
+                reduceNormal v0 f (args1' ++
+                                   map notReduced args2)
+                             delayed cls mcc
+              YesReduction v ->
+                keepGoing $ v `apply` args2
         where
             n	= genericLength args
             ar  = primFunArity pf
@@ -291,26 +295,28 @@
           [] -> defaultResult -- no definition for head
           cls@(Clause{ clausePats = ps } : _)
             | length ps <= length args -> do
-                let (args1,args2) = splitAt (length ps) args
+                let (args1,args2') = splitAt (length ps) args
+                    args2 = map ignoreReduced args2'
                 ev <- maybe (appDef' v0 cls args1)
                             (\cc -> appDef v0 cc args1) mcc
                 case ev of
                   NoReduction  v -> return    $ v `apply` args2
                   YesReduction v -> keepGoing $ v `apply` args2
             | otherwise	-> defaultResult -- partial application
-      where defaultResult = return $ notBlocked $ v0 `apply` args
+      where defaultResult = return $ notBlocked $ v0 `apply` (map ignoreReduced args)
 
     -- Apply a defined function to it's arguments.
     --   The original term is the first argument applied to the third.
-    appDef :: MonadTCM tcm => Term -> CompiledClauses -> Args -> tcm (Reduced (Blocked Term) Term)
+    appDef :: MonadTCM tcm => Term -> CompiledClauses -> MaybeReducedArgs -> tcm (Reduced (Blocked Term) Term)
     appDef v cc args = liftTCM $ do
       r <- matchCompiled cc args
       case r of
         YesReduction t    -> return $ YesReduction t
         NoReduction args' -> return $ NoReduction $ fmap (apply v) args'
 
-    appDef' :: MonadTCM tcm => Term -> [Clause] -> Args -> tcm (Reduced (Blocked Term) Term)
-    appDef' v cls args = {-# SCC "appDef" #-} goCls cls args where
+    appDef' :: MonadTCM tcm => Term -> [Clause] -> MaybeReducedArgs -> tcm (Reduced (Blocked Term) Term)
+    appDef' v cls args = {-# SCC "appDef" #-} do
+      goCls cls (map ignoreReduced args) where
 
         goCls :: MonadTCM tcm => [Clause] -> Args -> tcm (Reduced (Blocked Term) Term)
         goCls [] args = typeError $ IncompletePatternMatching v args
@@ -498,7 +504,8 @@
       El <$> instantiateFull s <*> instantiateFull t
 
 instance InstantiateFull Term where
-    instantiateFull v = etaOnce =<< do
+    instantiateFull v = etaOnce =<< do -- Andreas, 2010-11-12 DONT ETA!! eta-reduction breaks subject reduction
+-- but removing etaOnce now breaks everything
       v <- instantiate v
       case v of
           Var n vs    -> Var n <$> instantiateFull vs
@@ -585,9 +592,9 @@
     instantiateFull = return
 
 instance InstantiateFull Definition where
-    instantiateFull (Defn x t df i d) = do
+    instantiateFull (Defn rel x t df i d) = do
       (t, (df, d)) <- instantiateFull (t, (df, d))
-      return $ Defn x t df i d
+      return $ Defn rel x t df i d
 
 instance InstantiateFull a => InstantiateFull (Open a) where
   instantiateFull (OpenThing n a) = OpenThing n <$> instantiateFull a
diff --git a/src/full/Agda/TypeChecking/Rules/Builtin.hs b/src/full/Agda/TypeChecking/Rules/Builtin.hs
--- a/src/full/Agda/TypeChecking/Rules/Builtin.hs
+++ b/src/full/Agda/TypeChecking/Rules/Builtin.hs
@@ -162,8 +162,9 @@
     info <- getConstInfo qx
     let cls = defClauses info
         a   = defAbstract info
+        mcc = defCompiled info
     bindPrimitive name $ pf { primFunName = qx }
-    addConstant qx $ info { theDef = Primitive a name (Just cls) }
+    addConstant qx $ info { theDef = Primitive a name (Just cls) mcc }
 
     -- needed? yes, for checking equations for mul
     bindBuiltinName builtin v
diff --git a/src/full/Agda/TypeChecking/Rules/Builtin/Coinduction.hs b/src/full/Agda/TypeChecking/Rules/Builtin/Coinduction.hs
--- a/src/full/Agda/TypeChecking/Rules/Builtin/Coinduction.hs
+++ b/src/full/Agda/TypeChecking/Rules/Builtin/Coinduction.hs
@@ -171,6 +171,10 @@
                    , funArgOccurrences = [Unused, Unused, Positive]
                    , funAbstr          = ConcreteDef
                    , funDelayed        = NotDelayed
+                   , funProjection     = Nothing
+                     {- flat is a projection, but in the termination checker
+                        it destroys the (inductive) structural ordering.
+                        Thus, we do not register it as a projection. -}
                    }
                 }
     return flatE
diff --git a/src/full/Agda/TypeChecking/Rules/Data.hs b/src/full/Agda/TypeChecking/Rules/Data.hs
--- a/src/full/Agda/TypeChecking/Rules/Data.hs
+++ b/src/full/Agda/TypeChecking/Rules/Data.hs
@@ -93,7 +93,7 @@
                                    }
 
 	    escapeContext (size tel) $ do
-	      addConstant name ( Defn name t (defaultDisplayForm name) 0 dataDef )
+	      addConstant name ( Defn Relevant name t (defaultDisplayForm name) 0 dataDef )
 
 	    -- Check the types of the constructors
 	    mapM_ (checkConstructor name tel' nofIxs s) cs
@@ -110,20 +110,20 @@
 	    case (proofIrr, s, cs) of
 		(True, Prop, _:_:_) -> setCurrentRange (getRange $ map conName cs) $
                                         typeError PropMustBeSingleton
-                  where conName (A.Axiom _ c _) = c
+                  where conName (A.Axiom _ _ c _) = c
                         conName (A.ScopedDecl _ (d:_)) = conName d
                         conName _ = __IMPOSSIBLE__
 		_		    -> return ()
 
 	-- Add the datatype to the signature with its constructors. It was previously
 	-- added without them.
-	addConstant name (Defn name t (defaultDisplayForm name) 0 $
+	addConstant name (Defn Relevant name t (defaultDisplayForm name) 0 $
                             dataDef { dataCons = map cname cs }
 			 )
         computePolarity name
     where
 	cname (A.ScopedDecl _ [d]) = cname d
-	cname (A.Axiom _ x _)	   = x
+	cname (A.Axiom _ _ x _)	   = x
 	cname _			   = __IMPOSSIBLE__ -- constructors are axioms
 
 	hideTel  EmptyTel		  = EmptyTel
@@ -141,8 +141,9 @@
 checkConstructor d tel nofIxs s (A.ScopedDecl scope [con]) = do
   setScope scope
   checkConstructor d tel nofIxs s con
-checkConstructor d tel nofIxs s con@(A.Axiom i c e) =
+checkConstructor d tel nofIxs s con@(A.Axiom i _ c e) =
     traceCall (CheckConstructor d tel s con) $ do
+        debugEnter c e
 	t <- isType_ e
 	n <- size <$> getContextTelescope
         debugEndsIn t d n
@@ -150,11 +151,16 @@
         debugFitsIn s
 	t `fitsIn` s
         t' <- addForcingAnnotations t
+        debugAdd c t'
 	escapeContext (size tel)
 	    $ addConstant c
-	    $ Defn c (telePi tel t') (defaultDisplayForm c) 0
+	    $ Defn Relevant c (telePi tel t') (defaultDisplayForm c) 0
 	    $ Constructor (size tel) c d Nothing (Info.defAbstract i) Inductive
   where
+    debugEnter c e =
+      reportSDoc "tc.data.con" 5 $ vcat
+        [ text "checking constructor" <+> prettyTCM c <+> text ":" <+> prettyTCM e
+        ]
     debugEndsIn t d n =
       reportSDoc "tc.data.con" 15 $ vcat
         [ sep [ text "checking that"
@@ -168,6 +174,10 @@
         [ text "checking that the type fits in"
         , nest 2 $ prettyTCM s
         ]
+    debugAdd c t =
+      reportSDoc "tc.data.con" 5 $ vcat
+        [ text "adding constructor" <+> prettyTCM c <+> text ":" <+> prettyTCM t
+        ]
 checkConstructor _ _ _ _ _ = __IMPOSSIBLE__ -- constructors are axioms
 
 
@@ -256,7 +266,7 @@
 	    | d == d'   -> return $ El s0 t'
 	    | otherwise	-> fail $ "wrong datatype " ++ show d ++ " != " ++ show d'
 	MetaV m vs	    -> do
-	    Defn _ t _ _ Datatype{dataSort = s} <- getConstInfo d
+	    Defn _ _ t _ _ Datatype{dataSort = s} <- getConstInfo d
 	    ps <- newArgsMeta t
 	    noConstraints $ leqType (El s0 t') (El s (Def d ps)) -- TODO: need equalType?
 	    reduce $ El s0 t'
diff --git a/src/full/Agda/TypeChecking/Rules/Decl.hs b/src/full/Agda/TypeChecking/Rules/Decl.hs
--- a/src/full/Agda/TypeChecking/Rules/Decl.hs
+++ b/src/full/Agda/TypeChecking/Rules/Decl.hs
@@ -50,7 +50,7 @@
 checkDecl :: A.Declaration -> TCM ()
 checkDecl d = do
     case d of
-	A.Axiom i x e		     -> checkAxiom i x e
+	A.Axiom i rel x e            -> checkAxiom i rel x e
         A.Field{}                    -> typeError FieldOutsideRecord
 	A.Primitive i x e	     -> checkPrimitive i x e
 	A.Definition i ts ds	     -> checkMutual i ts ds
@@ -66,16 +66,16 @@
 
 
 -- | Type check an axiom.
-checkAxiom :: Info.DefInfo -> QName -> A.Expr -> TCM ()
-checkAxiom _ x e = do
+checkAxiom :: Info.DefInfo -> Relevance -> QName -> A.Expr -> TCM ()
+checkAxiom _ rel x e = do
   t <- isType_ e
   reportSDoc "tc.decl.ax" 10 $ sep
     [ text "checked axiom"
-    , nest 2 $ prettyTCM x <+> text ":" <+> (prettyTCM =<< instantiateFull t)
+    , nest 2 $ prettyTCM rel <> prettyTCM x <+> text ":" <+> (prettyTCM =<< instantiateFull t)
     ]
   -- Not safe. See Issue 330
   -- t <- addForcingAnnotations t
-  addConstant x (Defn x t (defaultDisplayForm x) 0 $ Axiom Nothing)
+  addConstant x (Defn rel x t (defaultDisplayForm x) 0 $ Axiom Nothing Nothing)
   solveSizeConstraints
 
 
@@ -88,7 +88,8 @@
     noConstraints $ equalType t t'
     let s  = show $ nameConcrete $ qnameName x
     bindPrimitive s $ pf { primFunName = x }
-    addConstant x (Defn x t (defaultDisplayForm x) 0 $ Primitive (Info.defAbstract i) s Nothing)
+    addConstant x (Defn Relevant x t (defaultDisplayForm x) 0 $
+                Primitive (Info.defAbstract i) s Nothing Nothing)
     where
 	nameString (Name _ x _ _) = show x
 
@@ -155,6 +156,14 @@
               reportSLn "tc.pragma.compile" 10 $ "Haskell type for " ++ show x ++ ": " ++ ty
               addHaskellCode x ty hs
             _   -> typeError $ GenericError "COMPILED directive only works on postulates."
+        A.CompiledEpicPragma x ep -> do
+          def <- getConstInfo x
+          case theDef def of
+            Axiom{} -> do
+              --ty <- haskellType $ defType def
+              --reportSLn "tc.pragma.compile" 10 $ "Haskell type for " ++ show x ++ ": " ++ ty
+              addEpicCode x ep
+            _   -> typeError $ GenericError "COMPILED_EPIC directive only works on postulates."
 	A.OptionsPragma _   -> __IMPOSSIBLE__	-- not allowed here
         A.EtaPragma r -> modifySignature eta
           where
@@ -179,10 +188,10 @@
 checkTypeSignature (A.ScopedDecl scope ds) = do
   setScope scope
   mapM_ checkTypeSignature ds
-checkTypeSignature (A.Axiom i x e) =
+checkTypeSignature (A.Axiom i rel x e) =
     case Info.defAccess i of
-	PublicAccess  -> inConcreteMode $ checkAxiom i x e
-	PrivateAccess -> inAbstractMode $ checkAxiom i x e
+	PublicAccess  -> inConcreteMode $ checkAxiom i rel x e
+	PrivateAccess -> inAbstractMode $ checkAxiom i rel x e
 checkTypeSignature _ = __IMPOSSIBLE__	-- type signatures are always axioms
 
 
@@ -266,5 +275,3 @@
 --   the work is done when scope checking.
 checkImport :: Info.ModuleInfo -> ModuleName -> TCM ()
 checkImport i x = return ()
-
-
diff --git a/src/full/Agda/TypeChecking/Rules/Def.hs b/src/full/Agda/TypeChecking/Rules/Def.hs
--- a/src/full/Agda/TypeChecking/Rules/Def.hs
+++ b/src/full/Agda/TypeChecking/Rules/Def.hs
@@ -71,8 +71,9 @@
 checkFunDef delayed i name cs =
 
     traceCall (CheckFunDef (getRange i) (qnameName name) cs) $ do   -- TODO!! (qnameName)
-        -- Get the type of the function
+        -- Get the type and relevance of the function
         t    <- typeOfConst name
+        rel  <- relOfConst name
 
         reportSDoc "tc.def.fun" 10 $
           sep [ text "checking body of" <+> prettyTCM name
@@ -82,7 +83,7 @@
 
         -- Check the clauses
         let check c = do
-              c <- checkClause t c
+              c <- applyRelevanceToContext rel $ checkClause t c
               solveSizeConstraints
               return c
         cs <- mapM check cs
@@ -91,17 +92,37 @@
         unless (allEqual $ map (npats . translatedClause) cs) $
                typeError DifferentArities
 
+        reportSDoc "tc.cc" 15 $ do
+          sep [ text "clauses before rebindClause"
+              , nest 2 $ prettyTCM (map (NamedClause name . translatedClause) cs)
+              ]
+
         -- Annotate the clauses with which arguments are actually used.
         cs <- instantiateFull =<< mapM rebindClause cs
+        -- Andreas, 2010-11-12
+        -- rebindClause is the identity, and instantiateFull eta-contracts
+        -- removing this eta-contraction fixes issue 361
+        -- however, Data.Star.Decoration.gmapAll no longer type-checks
+        -- possibly due to missing eta-contraction!?
 
         -- Check if the function is injective
         inv <- checkInjectivity name $ map translatedClause cs
 
+        reportSDoc "tc.cc" 15 $ do
+          sep [ text "clauses before compilation"
+              , nest 2 $ prettyTCM (map (NamedClause name . translatedClause) cs)
+              ]
+
         -- Compile the clauses
         let cc = compileClauses cs
 
+        reportSDoc "tc.cc" 10 $ do
+          sep [ text "compiled clauses of" <+> prettyTCM name
+              , nest 2 $ text (show cc)
+              ]
+
         -- Add the definition
-        addConstant name $ Defn name t (defaultDisplayForm name) 0
+        addConstant name $ Defn rel name t (defaultDisplayForm name) 0
                          $ Function
                             { funClauses        = cs
                             , funCompiled       = cc
@@ -110,6 +131,7 @@
                             , funAbstr          = Info.defAbstract i
                             , funPolarity       = []
                             , funArgOccurrences = []
+                            , funProjection     = Nothing
                             }
         computePolarity name
         reportSDoc "tc.def.fun" 10 $ do
@@ -220,7 +242,12 @@
                                            text "proof = " <+> prettyTCM proofExpr,
                                            text "equ = " <+> prettyTCM t' ]
                      handleRHS newRhs
+
                 A.WithRHS aux es cs -> do
+                  reportSDoc "tc.with.top" 5 $
+                    text "TC.Rules.Def.checkclause reached A.WithRHS"
+                  reportSDoc "tc.with.top" 30 $
+                    text (show c)
                   -- Infer the types of the with expressions
                   vas <- mapM inferExpr es
                   (vs0, as) <- instantiateFull (unzip vas)
@@ -342,7 +369,7 @@
       , prettyList $ map prettyTCM ts
       , prettyTCM dt
       ]
-  addConstant aux (Defn aux auxType [df] 0 $ Axiom Nothing)
+  addConstant aux (Defn Relevant aux auxType [df] 0 $ Axiom Nothing Nothing)
   solveSizeConstraints
 
   reportSDoc "tc.with.top" 10 $ sep
@@ -641,4 +668,3 @@
                 x <- freshName_ $ absName b
                 addCtx x (Arg h Relevant $ sort Prop) $ stripLambdas (absBody b)
             _       -> typeError $ GenericError $ "Not a constructor: " ++ show c
-
diff --git a/src/full/Agda/TypeChecking/Rules/LHS.hs b/src/full/Agda/TypeChecking/Rules/LHS.hs
--- a/src/full/Agda/TypeChecking/Rules/LHS.hs
+++ b/src/full/Agda/TypeChecking/Rules/LHS.hs
@@ -253,7 +253,7 @@
     sep [ text ":" <+> prettyTCM a
         , text "=" <+> prettyTCM v
         ]
-  addLetBinding x v a $ bindAsPatterns asb ret
+  addLetBinding Relevant x v a $ bindAsPatterns asb ret
 
 -- | Rename the variables in a telescope using the names from a given pattern
 useNamesFromPattern :: [NamedArg A.Pattern] -> Telescope -> Telescope
@@ -438,9 +438,7 @@
 -}
 
             -- Andreas 2010-09-07  propagate relevance info to new vars
-            gamma' <- return $ if rel == Irrelevant then
-                                fmap makeIrrelevant gamma'
-                               else gamma'
+            gamma' <- return $ fmap (\a -> a { argRelevance = rel }) gamma'
 {-
             reportSDoc "tc.lhs.top" 20 $ nest 2 $ vcat
               [ text "gamma' =" <+> text (show gamma')
@@ -546,7 +544,7 @@
 {-          -- Andreas, 2010-09-09
             -- temporary error message to find non-id perms
             let sorted (Perm _ xs) = xs == List.sort xs
-            unless (sorted (perm)) $ typeError $ GenericError $ "detected proper permutation " ++ show perm 
+            unless (sorted (perm)) $ typeError $ GenericError $ "detected proper permutation " ++ show perm
 -}
             -- Compute the new dot pattern instantiations
             let ps0'   = problemInPat p0 ++ qs' ++ problemInPat (absBody p1)
diff --git a/src/full/Agda/TypeChecking/Rules/LHS/Implicit.hs b/src/full/Agda/TypeChecking/Rules/LHS/Implicit.hs
--- a/src/full/Agda/TypeChecking/Rules/LHS/Implicit.hs
+++ b/src/full/Agda/TypeChecking/Rules/LHS/Implicit.hs
@@ -56,4 +56,3 @@
       NoInsertNeeded -> return Nothing
 
     implicitP = Arg Hidden Relevant . unnamed . A.ImplicitP . PatRange $ noRange
-
diff --git a/src/full/Agda/TypeChecking/Rules/LHS/Instantiate.hs b/src/full/Agda/TypeChecking/Rules/LHS/Instantiate.hs
--- a/src/full/Agda/TypeChecking/Rules/LHS/Instantiate.hs
+++ b/src/full/Agda/TypeChecking/Rules/LHS/Instantiate.hs
@@ -30,10 +30,11 @@
 
   tel <- normalise tel
 
-  reportSDoc "tc.lhs.inst" 10 $ sep
+  reportSDoc "tc.lhs.inst" 10 $ vcat
     [ text "instantiateTel "
     , nest 2 $ addCtxTel tel $ fsep $ punctuate comma $ map (maybe (text "_") prettyTCM) s
-    , nest 2 $ prettyTCM tel
+    , nest 2 $ text "tel  =" <+> prettyTCM tel
+--    , nest 2 $ text "tel  =" <+> text (show tel)
     ]
 
   -- Shrinking permutation (removing Justs) (and its complement, and reverse)
@@ -41,10 +42,10 @@
       psR = reverseP ps
       psC = Perm (size s) [ i | (i, Just _)  <- zip [0..] $ reverse s ]
 
-  reportS "tc.lhs.inst" 10 $ unlines
-    [ "ps  = " ++ show ps
-    , "psR = " ++ show psR
-    , "psC = " ++ show psC
+  reportSDoc "tc.lhs.inst" 10 $ vcat
+    [ nest 2 $ text $ "ps   = " ++ show ps
+    , nest 2 $ text $ "psR  = " ++ show psR
+    , nest 2 $ text $ "psC  = " ++ show psC
     ]
 
   -- s' : Substitution Γσ
@@ -60,8 +61,10 @@
   let tel1   = flattenTel tel
       names1 = teleNames tel
 
-  reportSDoc "tc.lhs.inst" 15 $ nest 2 $
-    text "tel1 =" <+> brackets (fsep $ punctuate comma $ map prettyTCM tel1)
+  reportSDoc "tc.lhs.inst" 15 $ nest 2 $ vcat
+    [ text "tel1 =" <+> brackets (fsep $ punctuate comma $ map prettyTCM tel1)
+--    , text "tel1 =" <+> text (show tel1)
+    ]
 
   -- tel2 : [Type Γσ]Γ
   let tel2 = substs rho tel1
@@ -132,4 +135,3 @@
 	  A.ConP _ _ _ -> True
 	  A.LitP _     -> True
 	  _	       -> False
-
diff --git a/src/full/Agda/TypeChecking/Rules/LHS/Problem.hs b/src/full/Agda/TypeChecking/Rules/LHS/Problem.hs
--- a/src/full/Agda/TypeChecking/Rules/LHS/Problem.hs
+++ b/src/full/Agda/TypeChecking/Rules/LHS/Problem.hs
@@ -53,4 +53,3 @@
   mempty = Problem [] mempty EmptyTel
   Problem ps1 qs1 tel1 `mappend` Problem ps2 qs2 tel2 =
     Problem (ps1 ++ ps2) (mappend qs1 qs2) (abstract tel1 tel2)
-
diff --git a/src/full/Agda/TypeChecking/Rules/LHS/Split.hs b/src/full/Agda/TypeChecking/Rules/LHS/Split.hs
--- a/src/full/Agda/TypeChecking/Rules/LHS/Split.hs
+++ b/src/full/Agda/TypeChecking/Rules/LHS/Split.hs
@@ -6,8 +6,10 @@
 import Control.Monad.Error
 import Data.Monoid
 import Data.List
-import Data.Traversable hiding (mapM)
+import Data.Traversable hiding (mapM, sequence)
 
+import Agda.Interaction.Options
+
 import Agda.Syntax.Common
 import Agda.Syntax.Literal
 import Agda.Syntax.Position
@@ -24,7 +26,10 @@
 import Agda.TypeChecking.Rules.LHS.Problem
 import Agda.TypeChecking.Rules.Term
 import Agda.TypeChecking.Monad.Builtin
+import Agda.TypeChecking.Free
 
+import Agda.Utils.List
+import Agda.Utils.Monad
 import Agda.Utils.Permutation
 import Agda.Utils.Tuple
 
@@ -74,6 +79,10 @@
       p <- lift $ expandLitPattern p
       case asView $ namedThing $ unArg p of
 	(xs, p@(A.LitP lit))  -> do
+          -- Note that, in the presence of --without-K, this branch is
+          -- based on the assumption that the types of literals are
+          -- not indexed.
+
           -- Andreas, 2010-09-07 cannot split on irrelevant args
           when (argRelevance a == Irrelevant) $
             typeError $ SplitOnIrrelevant p a
@@ -126,6 +135,10 @@
 			 , nest 2 $ text "pars =" <+> fsep (punctuate comma $ map prettyTCM pars)
 			 , nest 2 $ text "ixs  =" <+> fsep (punctuate comma $ map prettyTCM ixs)
 			 ]
+
+                  whenM (optWithoutK <$> pragmaOptions) $
+                    wellFormedIndices pars ixs
+
 		  return $ Split mempty
 				 xs
 				 (fmap (Focus c args (getRange p) q i d pars ixs) a)
@@ -138,4 +151,34 @@
 	  Split p1 xs foc p2 <- underAbstraction a tel $ \tel -> splitP ps qs tel
 	  return $ Split (mappend p0 p1) xs foc p2
 
+-- | Checks that the indices are constructors applied to distinct
+-- variables which do not occur free in the parameters.
 
+wellFormedIndices
+  :: MonadTCM tcm
+  => [Arg Term] -- ^ Parameters.
+  -> [Arg Term] -- ^ Indices.
+  -> tcm ()
+wellFormedIndices pars ixs = do
+  pars <- normalise pars
+  ixs  <- normalise ixs
+  vs   <- case constructorApplications ixs of
+            Nothing -> typeError $ IndicesNotConstructorApplications ixs
+            Just vs -> return vs
+  unless (fastDistinct vs) $
+    typeError $ IndexVariablesNotDistinct ixs
+  case filter snd $ zip vs (map (`freeIn` pars) vs) of
+    []          -> return ()
+    (v , _) : _ -> typeError $ IndexFreeInParameter v pars
+  where
+  -- | If the term consists solely of constructors applied to
+  -- variables, then the variables are returned, and otherwise
+  -- nothing.
+  constructorApplication :: Term -> Maybe [Nat]
+  constructorApplication (Var x [])   = Just [x]
+  constructorApplication (Con c args) = constructorApplications args
+  constructorApplication _            = Nothing
+
+  constructorApplications :: [Arg Term] -> Maybe [Nat]
+  constructorApplications args =
+    concat <$> mapM (constructorApplication . unArg) args
diff --git a/src/full/Agda/TypeChecking/Rules/Record.hs b/src/full/Agda/TypeChecking/Rules/Record.hs
--- a/src/full/Agda/TypeChecking/Rules/Record.hs
+++ b/src/full/Agda/TypeChecking/Rules/Record.hs
@@ -46,7 +46,7 @@
     -- get type of record
     t <- instantiateFull =<< typeOfConst name
     bindParameters ps t $ \tel t0 -> do
-      -- t = tel -> t0 where t0 must be a sort s 
+      -- t = tel -> t0 where t0 must be a sort s
       t0' <- normalise t0
       s <- case unEl t0' of
 	Sort s	-> return s
@@ -76,14 +76,14 @@
       let contype = telePi ftel (raise (size ftel) rect)
 
       (hasNamedCon, conName, conInfo) <- case con of
-        Just (A.Axiom i c _) -> return (True, c, i)
-        Just _               -> __IMPOSSIBLE__
-        Nothing              -> do
+        Just (A.Axiom i _ c _) -> return (True, c, i)
+        Just _                 -> __IMPOSSIBLE__
+        Nothing                -> do
           m <- killRange <$> currentModule
           c <- qualify m <$> freshName_ "recCon-NOT-PRINTED"
           return (False, c, i)
 
-      addConstant name $ Defn name t0 (defaultDisplayForm name) 0
+      addConstant name $ Defn Relevant name t0 (defaultDisplayForm name) 0
 		       $ Record { recPars           = 0
                                 , recClause         = Nothing
                                 , recCon            = conName
@@ -98,7 +98,7 @@
                                 }
 
       addConstant conName $
-        Defn conName contype (defaultDisplayForm conName) 0 $
+        Defn Relevant conName contype (defaultDisplayForm conName) 0 $
              Constructor { conPars   = 0
                          , conSrcCon = conName
                          , conData   = name
@@ -148,10 +148,14 @@
   [A.Declaration] -> TCM ()
 checkRecordProjections m q tel ftel fs = checkProjs EmptyTel ftel fs
   where
+
     checkProjs :: Telescope -> Telescope -> [A.Declaration] -> TCM ()
+
     checkProjs _ _ [] = return ()
+
     checkProjs ftel1 ftel2 (A.ScopedDecl scope fs' : fs) =
       setScope scope >> checkProjs ftel1 ftel2 (fs' ++ fs)
+
     checkProjs ftel1 (ExtendTel _ ftel2) (A.Field info x (Arg h rel t) : fs) = do
       -- check the type (in the context of the telescope)
       -- the previous fields will be free in
@@ -212,7 +216,7 @@
 			      [ VarP "x" | _ <- [1..size ftel] ]
 	  nobind 0 = id
 	  nobind n = Bind . Abs "_" . nobind (n - 1)
-	  body	 = nobind (size tel - 1)
+	  body	 = nobind (size ptel)
 		 $ nobind (size ftel1)
 		 $ Bind . Abs "x"
 		 $ nobind (size ftel2)
@@ -225,22 +229,30 @@
                           , clauseBody  = body
                           }
           clause2 = Clauses Nothing clause
+          cc      = compileClauses [clause2]
+
+      reportSDoc "tc.cc" 10 $ do
+        sep [ text "compiled clauses of " <+> prettyTCM projname
+            , nest 2 $ text (show cc)
+            ]
+
       escapeContext (size tel) $ do
-	addConstant projname $ Defn projname (killRange finalt) (defaultDisplayForm projname) 0
+	addConstant projname $ Defn rel projname (killRange finalt) (defaultDisplayForm projname) 0
           $ Function { funClauses        = [clause2]
-                     , funCompiled       = compileClauses [clause2]
+                     , funCompiled       = cc
                      , funDelayed        = NotDelayed
                      , funInv            = NotInjective
                      , funAbstr          = ConcreteDef
                      , funPolarity       = []
                      , funArgOccurrences = map (const Unused) hps ++ [Negative]
+                     , funProjection     = Just (size hps + 1)
+                       -- index of the record argument, start counting with 1
                      }
         computePolarity projname
 
-      checkProjs (abstract ftel1 $ ExtendTel (Arg h Relevant t)
+      checkProjs (abstract ftel1 $ ExtendTel (Arg h rel t)
                                  $ Abs (show $ qnameName projname) EmptyTel
                  ) (absBody ftel2) fs
     checkProjs ftel1 ftel2 (d : fs) = do
       checkDecl d
       checkProjs ftel1 ftel2 fs
-
diff --git a/src/full/Agda/TypeChecking/Rules/Term.hs b/src/full/Agda/TypeChecking/Rules/Term.hs
--- a/src/full/Agda/TypeChecking/Rules/Term.hs
+++ b/src/full/Agda/TypeChecking/Rules/Term.hs
@@ -16,7 +16,7 @@
 import qualified Agda.Syntax.Abstract as A
 import qualified Agda.Syntax.Abstract.Views as A
 import qualified Agda.Syntax.Info as A
-import Agda.Syntax.Concrete.Pretty () -- just Pretty instances
+import Agda.Syntax.Concrete.Pretty () -- only Pretty instances
 import Agda.Syntax.Common
 import Agda.Syntax.Fixity
 import Agda.Syntax.Internal
@@ -78,7 +78,7 @@
 
 -- | Force a type to be a Pi. Instantiates if necessary. The 'Hiding' is only
 --   used when instantiating a meta variable.
-{-
+
 forcePi :: MonadTCM tcm => Hiding -> String -> Type -> tcm (Type, Constraints)
 forcePi h name (El s t) =
     do	t' <- reduce t
@@ -98,8 +98,8 @@
                 cs <- equalType (El s t') ty
                 ty' <- reduce ty
                 return (ty', cs)
--}
 
+
 ---------------------------------------------------------------------------
 -- * Telescopes
 ---------------------------------------------------------------------------
@@ -190,18 +190,18 @@
   Con c [] <- constructorForm =<< reduce (Con c [])
   return c
 
+-- | @checkArguments' exph r args t0 t e k@ tries @checkArguments exph args t0 t@.
+-- If it succeeds, it continues @k@ with the returned results.  If it fails,
+-- it registers a postponed typechecking problem and returns the resulting new
+-- meta variable.
+checkArguments' ::
+  ExpandHidden -> Range -> [NamedArg A.Expr] -> Type -> Type -> A.Expr ->
+  (Args -> Type -> Constraints -> TCM Term) -> TCM Term
 checkArguments' exph r args t0 t e k = do
   z <- runErrorT $ checkArguments exph r args t0 t
   case z of
     Right (vs, t1, cs) -> k vs t1 cs
-    Left t0 -> do
-      let unblock = do
-            t0 <- reduceB $ unEl t0
-            case t0 of
-              Blocked{}          -> return False
-              NotBlocked MetaV{} -> return False
-              _                  -> return True
-      postponeTypeCheckingProblem e t unblock
+    Left t0            -> postponeTypeCheckingProblem e t (unblockedTester t0)
 
 -- | Type check an expression.
 checkExpr :: A.Expr -> Type -> TCM Term
@@ -243,6 +243,7 @@
 		hiddenLambdaOrHole _							   = False
 
 	-- Variable or constant application
+           -- Subcase: ambiguous constructor
 	_   | Application (HeadCon cs@(_:_:_)) args <- appView e -> do
                 -- First we should figure out which constructor we want.
                 reportSLn "tc.check.term" 40 $ "Ambiguous constructor: " ++ show cs
@@ -291,8 +292,10 @@
                   Just c  -> checkConstructorApplication e t c args
                   Nothing -> postponeTypeCheckingProblem e t unblock
 
+              -- Subcase: non-ambiguous constructor
             | Application (HeadCon [c]) args <- appView e ->
                 checkConstructorApplication e t c args
+              -- Subcase: defined symbol or variable.
             | Application hd args <- appView e ->
                 checkHeadApplication e t hd args
 
@@ -345,11 +348,14 @@
                   top <- currentModule
                   let name = "absurd"
                   aux <- qualify top <$> freshName (getRange i) name
+                  -- if we are in irrelevant position, the helper function
+                  -- is added as irrelevant
+                  rel <- irrelevant <$> asks envIrrelevant
                   reportSDoc "tc.term.absurd" 10 $ vcat
-                    [ text "Adding absurd function" <+> prettyTCM aux
+                    [ text "Adding absurd function" <+> prettyTCM rel <> prettyTCM aux
                     , nest 2 $ text "of type" <+> prettyTCM t'
                     ]
-                  addConstant aux $ Defn aux t' (defaultDisplayForm aux) 0
+                  addConstant aux $ Defn rel aux t' (defaultDisplayForm aux) 0
                                   $ Function
                                     { funClauses        =
                                         [Clauses Nothing
@@ -366,6 +372,7 @@
                                     , funAbstr          = ConcreteDef
                                     , funPolarity       = [Covariant]
                                     , funArgOccurrences = [Unused]
+                                    , funProjection     = Nothing
                                     }
                   blockTerm t' (Def aux []) $ return cs'
                 | otherwise -> typeError $ WrongHidingInLambda t'
@@ -381,8 +388,6 @@
                 v <- checkExpr e t1
                 return (teleLam tel v, cs)
 	    blockTerm t v (return cs)
-	    where
-		name (Arg h r (x,_)) = Arg h r x
 
 	A.Lam i (A.DomainFree h x) e0 -> do
 	    -- (t',cs) <- forcePi h (show x) t
@@ -468,9 +473,12 @@
 
         A.ETel _   -> __IMPOSSIBLE__
 
-	A.DontCare -> __IMPOSSIBLE__
+	A.DontCare -> -- can happen in the context of with functions
+                      return DontCare
+                      -- __IMPOSSIBLE__
 
 	A.ScopedExpr scope e -> setScope scope >> checkExpr e t
+
         e0@(A.QuoteGoal _ x e) -> do
           t' <- etaContract =<< normalise t
           let metas = foldTerm (\v -> case v of
@@ -482,7 +490,7 @@
             []  -> do
               quoted <- quoteType t'
               tmType <- agdaTermType
-              (v,ty) <- addLetBinding x quoted tmType (inferExpr e)
+              (v,ty) <- addLetBinding Relevant x quoted tmType (inferExpr e)
               blockTerm t' v $ leqType ty t'
 
 -- | Infer the type of a head thing (variable, function symbol, or constructor)
@@ -518,6 +526,10 @@
 inferDef mkTerm x =
     traceCall (InferDef (getRange x) x) $ do
     d  <- instantiateDef =<< getConstInfo x
+    -- irrelevant defs are only allowed in irrelevant position
+    when (defRelevance d == Irrelevant) $ do
+      irr <- asks envIrrelevant
+      unless irr $ typeError $ DefinitionIsIrrelevant x
     vs <- freeVarsToApply x
     verboseS "tc.term.def" 10 $ do
       ds <- mapM prettyTCM vs
@@ -678,26 +690,32 @@
    else case hd of
     HeadCon [c] -> do
       (f, t0) <- inferHead hd
+      reportSDoc "tc.term.con" 5 $ vcat
+        [ text "checkHeadApplication inferred" <+>
+          prettyTCM c <+> text ":" <+> prettyTCM t0
+        ]
       checkArguments' ExpandLast (getRange hd) args t0 t e $ \vs t1 cs -> do
         TelV eTel eType <- telView t
-        TelV fTel fType <- telView t1
+        -- If the expected type @eType@ is a metavariable we have to make
+        -- sure it's instantiated to the proper pi type
+        TelV fTel fType <- telViewUpTo (size eTel) t1
         blockTerm t (f vs) $ (cs ++) <$> do
           -- We know that the target type of the constructor (fType)
           -- does not depend on fTel so we can compare fType and eType
           -- first.
-                                         -- This will fail
-          when (size eTel > size fTel) $ compareTel CmpLeq eTel fTel >> return ()
 
-          -- If the expected type is a metavariable we have to make
-          -- sure it's instantiated to the proper pi type
-          let (fTel0, fTel1) = telFromList -*- telFromList
-                             $ splitAt (size eTel)
-                             $ telToList fTel
-              fType' = abstract fTel1 fType
+          when (size eTel > size fTel) $
+            compareTel CmpLeq eTel fTel >> return () -- This will fail!
 
-          cs1 <- addCtxTel eTel $ leqType fType' eType
-          cs2 <- compareTel CmpLeq eTel fTel0
+          reportSDoc "tc.term.con" 10 $ vcat
+            [ text "checking" <+>
+              prettyTCM fType <+> text "?<=" <+> prettyTCM eType
+            ]
+          cs1 <- addCtxTel eTel $ leqType fType eType
+
+          cs2 <- compareTel CmpLeq eTel fTel
           return $ cs1 ++ cs2
+
     HeadDef c | Just c == (nameOfSharp <$> kit) -> do
       -- TODO: Handle coinductive constructors under lets.
       lets <- envLetBindings <$> ask
@@ -718,7 +736,10 @@
       -- signature.
       i   <- currentMutualBlock
       tel <- getContextTelescope
-      addConstant c' (Defn c' t (defaultDisplayForm c') i $ Axiom Nothing)
+      -- If we are in irrelevant position, add definition irrelevantly.
+      -- TODO: is this sufficient?
+      rel <- irrelevant <$> asks envIrrelevant
+      addConstant c' (Defn rel c' t (defaultDisplayForm c') i $ Axiom Nothing Nothing)
 
       -- Define and type check the fresh function.
       ctx <- getContext
@@ -736,7 +757,7 @@
           , text "was translated into the application"
           , nest 2 $ prettyTCM e'
           , text "and the function"
-          , nest 2 $ prettyTCM c' <+> text ":"
+          , nest 2 $ prettyTCM rel <> prettyTCM c' <+> text ":"
           , nest 4 $ prettyTCM (telePi tel t)
           , nest 2 $ prettyA clause <> text "."
           ]
@@ -872,11 +893,11 @@
 checkLetBindings = foldr (.) id . map checkLetBinding
 
 checkLetBinding :: A.LetBinding -> TCM a -> TCM a
-checkLetBinding b@(A.LetBind i x t e) ret =
+checkLetBinding b@(A.LetBind i rel x t e) ret =
   traceCallCPS_ (CheckLetBinding b) ret $ \ret -> do
     t <- isType_ t
-    v <- checkExpr e t
-    addLetBinding x v t ret
+    v <- applyRelevanceToContext rel $ checkExpr e t
+    addLetBinding rel x v t ret
 checkLetBinding (A.LetApply i x tel m args rd rm) ret = do
   -- Any variables in the context that doesn't belong to the current
   -- module should go with the new module.
@@ -894,4 +915,3 @@
   withAnonymousModule x new ret
 -- LetOpen is only used for highlighting and has no semantics
 checkLetBinding A.LetOpen{} ret = ret
-
diff --git a/src/full/Agda/TypeChecking/Serialise.hs b/src/full/Agda/TypeChecking/Serialise.hs
--- a/src/full/Agda/TypeChecking/Serialise.hs
+++ b/src/full/Agda/TypeChecking/Serialise.hs
@@ -77,7 +77,7 @@
 -- 32-bit machines). Word64 does not have these problems.
 
 currentInterfaceVersion :: Word64
-currentInterfaceVersion = 20100927 * 10 + 0
+currentInterfaceVersion = 20110217 * 10 + 0
 
 type Node = [Int32] -- constructor tag (maybe omitted) and arg indices
 
@@ -554,9 +554,9 @@
   value n = MutId `fmap` value n
 
 instance EmbPrj Definition where
-  icode (Defn a b c d e) = icode5' a b c d e
-  value = vcase valu where valu [a, b, c, d, e] = valu5 Defn a b c d e
-                           valu _               = malformed
+  icode (Defn rel a b c d e) = icode6' rel a b c d e
+  value = vcase valu where valu [rel, a, b, c, d, e] = valu6 Defn rel a b c d e
+                           valu _                    = malformed
 
 instance EmbPrj HaskellRepresentation where
   icode (HsType a)   = icode1 0 a
@@ -590,19 +590,19 @@
     valu _   = malformed
 
 instance EmbPrj Defn where
-  icode (Axiom       a)                     = icode1 0 a
-  icode (Function    a b c d e f g)         = icode7 1 a b c d e f g
+  icode (Axiom       a b)                   = icode2 0 a b
+  icode (Function    a b c d e f g h)       = icode8 1 a b c d e f g h
   icode (Datatype    a b c d e f g h i j)   = icode10 2 a b c d e f g h i j
   icode (Record      a b c d e f g h i j k) = icode11 3 a b c d e f g h i j k
   icode (Constructor a b c d e f)           = icode6 4 a b c d e f
-  icode (Primitive   a b c)                 = icode3 5 a b c
+  icode (Primitive   a b c d)               = icode4 5 a b c d
   value = vcase valu where
-    valu [0, a]                               = valu1 Axiom       a
-    valu [1, a, b, c, d, e, f, g]             = valu7 Function    a b c d e f g
+    valu [0, a, b]                            = valu2 Axiom       a b
+    valu [1, a, b, c, d, e, f, g, h]          = valu8 Function    a b c d e f g h
     valu [2, a, b, c, d, e, f, g, h, i, j]    = valu10 Datatype   a b c d e f g h i j
     valu [3, a, b, c, d, e, f, g, h, i, j, k] = valu11 Record     a b c d e f g h i j k
     valu [4, a, b, c, d, e, f]                = valu6 Constructor a b c d e f
-    valu [5, a, b, c]                         = valu3 Primitive   a b c
+    valu [5, a, b, c, d]                      = valu4 Primitive   a b c d
     valu _                                    = malformed
 
 instance EmbPrj a => EmbPrj (Case a) where
diff --git a/src/full/Agda/TypeChecking/SizedTypes.hs b/src/full/Agda/TypeChecking/SizedTypes.hs
--- a/src/full/Agda/TypeChecking/SizedTypes.hs
+++ b/src/full/Agda/TypeChecking/SizedTypes.hs
@@ -113,13 +113,16 @@
 
 computeSizeConstraint :: MonadTCM tcm => ConstraintClosure -> tcm (Maybe SizeConstraint)
 computeSizeConstraint cl = liftTCM $
-  enterClosure cl $ \(ValueCmp CmpLeq _ u v) -> do
-    (a, n) <- sizeExpr u
-    (b, m) <- sizeExpr v
-    return $ Just $ Leq a (m - n) b
-  `catchError` \err -> case errError err of
-    PatternErr _ -> return Nothing
-    _            -> throwError err
+  enterClosure cl $ \c ->
+    case c of
+      ValueCmp CmpLeq _ u v -> do
+          (a, n) <- sizeExpr u
+          (b, m) <- sizeExpr v
+          return $ Just $ Leq a (m - n) b
+        `catchError` \err -> case errError err of
+          PatternErr _ -> return Nothing
+          _            -> throwError err
+      _ -> __IMPOSSIBLE__
 
 -- | Throws a 'patternViolation' if the term isn't a proper size expression.
 sizeExpr :: MonadTCM tcm => Term -> tcm (SizeExpr, Int)
diff --git a/src/full/Agda/TypeChecking/Substitute.hs b/src/full/Agda/TypeChecking/Substitute.hs
--- a/src/full/Agda/TypeChecking/Substitute.hs
+++ b/src/full/Agda/TypeChecking/Substitute.hs
@@ -40,7 +40,7 @@
             Pi _ _        -> __IMPOSSIBLE__
             Fun _ _       -> __IMPOSSIBLE__
             Sort _        -> __IMPOSSIBLE__
-            DontCare      -> __IMPOSSIBLE__ 
+            DontCare      -> __IMPOSSIBLE__
 
 instance Apply Type where
   apply = piApply
@@ -55,14 +55,18 @@
   apply (ExtendTel _ tel) (t : ts) = absApp tel (unArg t) `apply` ts
 
 instance Apply Definition where
-    apply (Defn x t df m d) args = Defn x (piApply t args) df m (apply d args)
+    apply (Defn rel x t df m d) args = Defn rel x (piApply t args) df m (apply d args)
 
 instance Apply Defn where
   apply d args = case d of
     Axiom{} -> d
-    Function{ funClauses = cs, funCompiled = cc, funInv = inv } ->
-      d { funClauses = apply cs args, funCompiled = apply cc args
-        , funInv = apply inv args }
+    Function{ funClauses = cs, funCompiled = cc, funInv = inv
+            , funProjection = mn } ->
+      d { funClauses    = apply cs args
+        , funCompiled   = apply cc args
+        , funInv        = apply inv args
+        , funProjection = fmap (nonNeg . \ n -> n - size args) mn
+        } where nonNeg n = if n >= 0 then n else __IMPOSSIBLE__
     Datatype{ dataPars = np, dataClause = cl } ->
       d { dataPars = np - size args, dataClause = apply cl args }
     Record{ recPars = np, recConType = t, recClause = cl, recTel = tel } ->
@@ -175,14 +179,18 @@
   abstract (ExtendTel arg tel') tel = ExtendTel arg $ fmap (`abstract` tel) tel'
 
 instance Abstract Definition where
-    abstract tel (Defn x t df m d) = Defn x (abstract tel t) df m (abstract tel d)
+    abstract tel (Defn rel x t df m d) = Defn rel x (abstract tel t) df m (abstract tel d)
 
 instance Abstract Defn where
   abstract tel d = case d of
     Axiom{} -> d
-    Function{ funClauses = cs, funCompiled = cc, funInv = inv } ->
+    Function{ funClauses = cs, funCompiled = cc, funInv = inv
+            , funProjection = mn } ->
       d { funClauses = abstract tel cs, funCompiled = abstract tel cc
-        , funInv = abstract tel inv }
+        , funInv = abstract tel inv
+        , funProjection = fmap ((+) (size tel)) mn
+          -- index of record arg shifts back by number of new args
+        }
     Datatype{ dataPars = np, dataClause = cl } ->
       d { dataPars = np + size tel, dataClause = abstract tel cl }
     Record{ recPars = np, recConType = t, recClause = cl, recTel = tel' } ->
@@ -502,5 +510,3 @@
     vs = freeVars (absBody s2)
     fv = flexibleVars vs
     rv = rigidVars vs
-
-
diff --git a/src/full/Agda/TypeChecking/Telescope.hs b/src/full/Agda/TypeChecking/Telescope.hs
--- a/src/full/Agda/TypeChecking/Telescope.hs
+++ b/src/full/Agda/TypeChecking/Telescope.hs
@@ -119,14 +119,32 @@
     m         = genericLength $ takeWhile (`notElem` is) (reverse js)
     (tel1, tel2) = telFromList -*- telFromList $ genericSplitAt (n - m) $ telToList tel'
 
+{- Andreas 2010-10-01: this comment seems stale.  Where is the unsafe variant?
 -- | A safe variant of telView.
 
+OLD CODE:
 telView :: MonadTCM tcm => Type -> tcm TelView
 telView t = do
   t <- reduce t
   case unEl t of
     Pi a (Abs x b) -> absV a x   <$> telView b
     Fun a b	   -> absV a "_" <$> telView (raise 1 b)
+    _		   -> return $ TelV EmptyTel t
+  where
+    absV a x (TelV tel t) = TelV (ExtendTel a (Abs x tel)) t
+-}
+telView :: MonadTCM tcm => Type -> tcm TelView
+telView = telViewUpTo (-1)
+
+-- | @telViewUpTo n t@ takes off the first @n@ function types of @t@.
+-- Takes off all if $n < 0$.
+telViewUpTo :: MonadTCM tcm => Int -> Type -> tcm TelView
+telViewUpTo 0 t = return $ TelV EmptyTel t
+telViewUpTo n t = do
+  t <- reduce t
+  case unEl t of
+    Pi a (Abs x b) -> absV a x   <$> telViewUpTo (n-1) b
+    Fun a b	   -> absV a "_" <$> telViewUpTo (n-1) (raise 1 b)
     _		   -> return $ TelV EmptyTel t
   where
     absV a x (TelV tel t) = TelV (ExtendTel a (Abs x tel)) t
diff --git a/src/full/Agda/TypeChecking/Test/Generators.hs b/src/full/Agda/TypeChecking/Test/Generators.hs
--- a/src/full/Agda/TypeChecking/Test/Generators.hs
+++ b/src/full/Agda/TypeChecking/Test/Generators.hs
@@ -517,4 +517,3 @@
 prop_wellScopedVars conf =
   forAllShrink (genC conf) (shrinkC conf) $ \t ->
   isWellScoped conf (t :: Term)
-
diff --git a/src/full/Agda/TypeChecking/UniversePolymorphism.hs b/src/full/Agda/TypeChecking/UniversePolymorphism.hs
--- a/src/full/Agda/TypeChecking/UniversePolymorphism.hs
+++ b/src/full/Agda/TypeChecking/UniversePolymorphism.hs
@@ -86,4 +86,3 @@
       -- do something interesting with the solution
       addConstraints rest
       return ()
-
diff --git a/src/full/Agda/TypeChecking/With.hs b/src/full/Agda/TypeChecking/With.hs
--- a/src/full/Agda/TypeChecking/With.hs
+++ b/src/full/Agda/TypeChecking/With.hs
@@ -150,7 +150,7 @@
 
             -- Compute the argument telescope for the constructor
             Con c []    <- constructorForm =<< normalise (Con c [])
-            Defn _ ct _ _ Constructor{conPars = np}  <- getConstInfo c
+            Defn _ _ ct _ _ Constructor{conPars = np}  <- getConstInfo c
             let ct' = ct `apply` genericTake np us
             TelV tel' _ <- telView ct'
 
@@ -289,6 +289,3 @@
 
 constructorsInClause :: ConPos -> A.Clause -> [Range]
 constructorsInClause pos (A.Clause (A.LHS _ _ ps wps) rhs _) = []
-
-
-
diff --git a/src/full/Agda/Utils/Char.hs b/src/full/Agda/Utils/Char.hs
--- a/src/full/Agda/Utils/Char.hs
+++ b/src/full/Agda/Utils/Char.hs
@@ -12,4 +12,3 @@
 
 octDigit :: Char -> Int
 octDigit = decDigit
-
diff --git a/src/full/Agda/Utils/Either.hs b/src/full/Agda/Utils/Either.hs
--- a/src/full/Agda/Utils/Either.hs
+++ b/src/full/Agda/Utils/Either.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 ------------------------------------------------------------------------
 -- | Utilities for the 'Either' type
 ------------------------------------------------------------------------
@@ -12,6 +14,9 @@
 import Agda.Utils.QuickCheck
 import Agda.Utils.TestHelpers
 
+#include "../undefined.h"
+import Agda.Utils.Impossible
+
 -- | Returns 'True' iff the argument is @'Right' x@ for some @x@.
 
 isRight :: Either a b -> Bool
@@ -45,9 +50,12 @@
 prop_allRight xs =
   allRight xs ==
     if all isRight xs then
-      Right (map (\(Right x) -> x) xs)
+      Right (map fromRight xs)
      else
       Left xs
+  where
+  fromRight (Right x) = x
+  fromRight (Left _)  = __IMPOSSIBLE__
 
 ------------------------------------------------------------------------
 -- All tests
diff --git a/src/full/Agda/Utils/Fresh.hs b/src/full/Agda/Utils/Fresh.hs
--- a/src/full/Agda/Utils/Fresh.hs
+++ b/src/full/Agda/Utils/Fresh.hs
@@ -21,4 +21,3 @@
 withFresh ret =
     do	(i,e) <- asks nextFresh
 	local (const e) $ ret i
-
diff --git a/src/full/Agda/Utils/Hash.hs b/src/full/Agda/Utils/Hash.hs
--- a/src/full/Agda/Utils/Hash.hs
+++ b/src/full/Agda/Utils/Hash.hs
@@ -9,4 +9,3 @@
     prime1 = 1230371
     prime2 = 446441
     prime3 = 275604541
-
diff --git a/src/full/Agda/Utils/IO/Locale.hs b/src/full/Agda/Utils/IO/Locale.hs
--- a/src/full/Agda/Utils/IO/Locale.hs
+++ b/src/full/Agda/Utils/IO/Locale.hs
@@ -13,17 +13,21 @@
   ( print
   , putStr
   , putStrLn
+  , stdoutFlush
   , hGetContents
   ) where
 
 import Prelude (Show, IO, String)
-import System.IO (Handle)
+import System.IO (Handle, hFlush, stdout)
 #if MIN_VERSION_base(4,2,0)
 import qualified Prelude
 import qualified System.IO as IO
 #else
 import qualified System.IO.UTF8 as UTF8
 #endif
+
+stdoutFlush :: IO ()
+stdoutFlush = hFlush stdout
 
 -- | Prints the value.
 
diff --git a/src/full/Agda/Utils/List.hs b/src/full/Agda/Utils/List.hs
--- a/src/full/Agda/Utils/List.hs
+++ b/src/full/Agda/Utils/List.hs
@@ -8,9 +8,10 @@
 import Agda.Utils.Tuple
 
 import Text.Show.Functions
+import Data.Function
 import Data.List
 import Data.Maybe
-import Data.Function
+import qualified Data.Set as Set
 
 mhead :: [a] -> Maybe a
 mhead []    = Nothing
@@ -60,6 +61,16 @@
 distinct []	= True
 distinct (x:xs) = x `notElem` xs && distinct xs
 
+-- | An optimised version of 'distinct'.
+--
+-- Precondition: The list's length must fit in an 'Int'.
+
+fastDistinct :: Ord a => [a] -> Bool
+fastDistinct xs = Set.size (Set.fromList xs) == length xs
+
+prop_distinct_fastDistinct :: [Integer] -> Bool
+prop_distinct_fastDistinct xs = distinct xs == fastDistinct xs
+
 -- | Checks if all the elements in the list are equal. Assumes that
 -- the 'Eq' instance stands for an equivalence relation.
 allEqual :: Eq a => [a] -> Bool
@@ -136,7 +147,8 @@
 
 tests :: IO Bool
 tests = runTests "Agda.Utils.List"
-  [ quickCheck' prop_groupBy'
+  [ quickCheck' prop_distinct_fastDistinct
+  , quickCheck' prop_groupBy'
   , quickCheck' prop_extractNthElement
   , quickCheck' prop_genericElemIndex
   ]
diff --git a/src/full/Agda/Utils/Map.hs b/src/full/Agda/Utils/Map.hs
--- a/src/full/Agda/Utils/Map.hs
+++ b/src/full/Agda/Utils/Map.hs
@@ -37,4 +37,3 @@
 -- | Filter a map based on the keys.
 filterKeys :: Ord k => (k -> Bool) -> Map k a -> Map k a
 filterKeys p = filterWithKey (const . p)
-
diff --git a/src/full/Agda/Utils/Maybe.hs b/src/full/Agda/Utils/Maybe.hs
--- a/src/full/Agda/Utils/Maybe.hs
+++ b/src/full/Agda/Utils/Maybe.hs
@@ -10,4 +10,3 @@
 
 fromMaybeM :: Monad m => m a -> m (Maybe a) -> m a
 fromMaybeM m mm = maybe m return =<< mm
-
diff --git a/src/full/Agda/Utils/Monad.hs b/src/full/Agda/Utils/Monad.hs
--- a/src/full/Agda/Utils/Monad.hs
+++ b/src/full/Agda/Utils/Monad.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE CPP #-}
+{-# LANGUAGE FlexibleContexts, CPP #-}
 
 module Agda.Utils.Monad
     ( module Agda.Utils.Monad
@@ -21,36 +21,6 @@
 #include "../undefined.h"
 import Agda.Utils.Impossible
 
--- Instances --------------------------------------------------------------
-
-instance Applicative (Reader env) where
-  pure  = return
-  (<*>) = ap
-
-instance (Error e, Monad m) => Applicative (ErrorT e m) where
-  pure  = return
-  (<*>) = ap
-
-instance Monad m => Applicative (ReaderT env m) where
-  pure  = return
-  (<*>) = ap
-
-instance Monad m => Applicative (StateT s m) where
-  pure  = return
-  (<*>) = ap
-
-instance Monad m => Applicative (SS.StateT s m) where
-  pure  = return
-  (<*>) = ap
-
-instance (Monoid o, Monad m) => Applicative (WriterT o m) where
-  pure	= return
-  (<*>)	= ap
-
-instance Applicative (State s) where
-  pure	= return
-  (<*>)	= ap
-
 -- Monads -----------------------------------------------------------------
 
 infixl 8 <.>
@@ -138,8 +108,8 @@
 
 -- Read -------------------------------------------------------------------
 
-readM :: (Monad m, Read a) => String -> m a
+readM :: (Error e, MonadError e m, Read a) => String -> m a
 readM s = case reads s of
 	    [(x,"")]	-> return x
-	    _		-> fail $ "readM: parse error string " ++ s
-
+	    _		->
+              throwError $ strMsg $ "readM: parse error string " ++ s
diff --git a/src/full/Agda/Utils/Permutation.hs b/src/full/Agda/Utils/Permutation.hs
--- a/src/full/Agda/Utils/Permutation.hs
+++ b/src/full/Agda/Utils/Permutation.hs
@@ -18,14 +18,14 @@
           showList :: String -> (a -> String) -> [a] -> String
           showList sep f [] = ""
           showList sep f [e] = f e
-          showList sep f (e:es) = f e ++ sep ++ showList sep f es 
+          showList sep f (e:es) = f e ++ sep ++ showList sep f es
 
 instance Sized Permutation where
   size (Perm _ xs) = size xs
 
 -- | @permute [2,3,1] [x1,x2,x3] = [x2,x3,x1]@
 --   More precisely, @permute indices list = sublist@, generates @sublist@
---   from @list@ by picking the elements of list as indicated by @indices@. 
+--   from @list@ by picking the elements of list as indicated by @indices@.
 --   @permute [2,4,1] [x1,x2,x3,x4] = [x2,x4,x1]@
 permute :: Permutation -> [a] -> [a]
 permute (Perm _ is) xs = map (xs !!!) is
@@ -102,4 +102,3 @@
       where
 	xs = [ x | (x, []) <- g ]
 	remove x g = [ (y, filter (/= x) ys) | (y, ys) <- g, x /= y ]
-
diff --git a/src/full/Agda/Utils/Pointer.hs b/src/full/Agda/Utils/Pointer.hs
--- a/src/full/Agda/Utils/Pointer.hs
+++ b/src/full/Agda/Utils/Pointer.hs
@@ -22,4 +22,3 @@
     y <- f x
     store p y
     return y
-
diff --git a/src/full/Agda/Utils/ReadP.hs b/src/full/Agda/Utils/ReadP.hs
--- a/src/full/Agda/Utils/ReadP.hs
+++ b/src/full/Agda/Utils/ReadP.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -fglasgow-exts #-} -- unboxed integers
+{-# LANGUAGE MagicHash, Rank2Types #-}
 -----------------------------------------------------------------------------
 -- |
 
diff --git a/src/full/Agda/Utils/SemiRing.hs b/src/full/Agda/Utils/SemiRing.hs
--- a/src/full/Agda/Utils/SemiRing.hs
+++ b/src/full/Agda/Utils/SemiRing.hs
@@ -13,4 +13,3 @@
   otimes Nothing _ = Nothing
   otimes _ Nothing = Nothing
   otimes (Just x) (Just y) = Just (otimes x y)
-
diff --git a/src/full/Agda/Utils/Size.hs b/src/full/Agda/Utils/Size.hs
--- a/src/full/Agda/Utils/Size.hs
+++ b/src/full/Agda/Utils/Size.hs
@@ -18,4 +18,3 @@
 
 instance Sized (Set a) where
   size = fromIntegral . Set.size
-
diff --git a/src/full/Agda/Utils/Suffix.hs b/src/full/Agda/Utils/Suffix.hs
--- a/src/full/Agda/Utils/Suffix.hs
+++ b/src/full/Agda/Utils/Suffix.hs
@@ -21,4 +21,3 @@
 addSuffix s NoSuffix = s
 addSuffix s (Prime n) = s ++ replicate n '\''
 addSuffix s (Index i) = s ++ show i
-
diff --git a/src/full/Agda/Utils/TestHelpers.hs b/src/full/Agda/Utils/TestHelpers.hs
--- a/src/full/Agda/Utils/TestHelpers.hs
+++ b/src/full/Agda/Utils/TestHelpers.hs
@@ -15,13 +15,17 @@
   , maybeGen
   , maybeCoGen
   , listOfElements
+  , two
+  , three
     -- * Test driver.
   , runTests
   )
   where
 
-import Agda.Utils.QuickCheck
+import Control.Monad
 import Data.List
+
+import Agda.Utils.QuickCheck
 import qualified Agda.Utils.IO.Locale as LocIO
 
 ------------------------------------------------------------------------
@@ -114,6 +118,16 @@
 maybeCoGen :: (a -> Gen b -> Gen b) -> (Maybe a -> Gen b -> Gen b)
 maybeCoGen f Nothing  = variant 0
 maybeCoGen f (Just x) = variant 1 . f x
+
+-- | Generates two elements.
+
+two :: Gen a -> Gen (a, a)
+two gen = liftM2 (,) gen gen
+
+-- | Generates three elements.
+
+three :: Gen a -> Gen (a, a, a)
+three gen = liftM3 (,,) gen gen gen
 
 ------------------------------------------------------------------------
 -- Test driver
diff --git a/src/full/Agda/Utils/Trie.hs b/src/full/Agda/Utils/Trie.hs
--- a/src/full/Agda/Utils/Trie.hs
+++ b/src/full/Agda/Utils/Trie.hs
@@ -79,4 +79,3 @@
 prop_path ks m =
   collect (length $ modelPath ks m) $
   lookupPath ks (modelToTrie m) == modelPath ks m
-
diff --git a/src/full/Agda/Utils/Tuple.hs b/src/full/Agda/Utils/Tuple.hs
--- a/src/full/Agda/Utils/Tuple.hs
+++ b/src/full/Agda/Utils/Tuple.hs
@@ -12,4 +12,3 @@
 
 uncurry3 :: (a -> b -> c -> d) -> (a,b,c) -> d
 uncurry3 f (x,y,z) = f x y z
-
diff --git a/src/full/Agda/Utils/Warshall.hs b/src/full/Agda/Utils/Warshall.hs
--- a/src/full/Agda/Utils/Warshall.hs
+++ b/src/full/Agda/Utils/Warshall.hs
@@ -485,7 +485,7 @@
 -- | Check that all transitive edges are added.
 prop_path n' =
   forAll (genGraph_ n) $ \g ->
-  forAll (replicateM 2 $ choose (0, n - 1)) $ \[i, j] ->
+  forAll (two $ choose (0, n - 1)) $ \(i, j) ->
   forAll (genPath n i j g) $ \g' ->
   isJust (lookupEdge i j $ warshallG g')
   where
@@ -498,7 +498,7 @@
 
 -- | Check that no edges are added between components.
 prop_disjoint n' =
-  forAll (replicateM 2 $ genGraph_ n) $ \[g1, g2] ->
+  forAll (two $ genGraph_ n) $ \(g1, g2) ->
   let g  = Map.union (mapNodes Left g1) (mapNodes Right g2)
       g' = warshallG g
   in all disjoint (Map.assocs g')
