language-c-quote 0.2.0.1 → 0.3.0.0
raw patch · 12 files changed
+341/−7435 lines, 12 filesdep +exception-transformersdep ~containersdep ~exception-mtldep ~filepathsetup-changed
Dependencies added: exception-transformers
Dependency ranges changed: containers, exception-mtl, filepath, haskell-src-meta, language-c-quote, mtl, syb, template-haskell
Files
- Language/C/Parser/Parser.y +4/−5
- Language/C/Quote.hs +162/−0
- Language/C/Quote/Base.hs +78/−69
- Language/C/Quote/C.hs +3/−10
- Language/C/Quote/CUDA.hs +3/−10
- Language/C/Quote/GCC.hs +3/−10
- Language/C/Smart.hs +58/−50
- Setup.hs +1/−12
- dist/build/Language/C/Parser/Lexer.hs +0/−718
- dist/build/Language/C/Parser/Parser.hs +0/−6378
- language-c-quote.cabal +29/−32
- tests/unit/Main.hs +0/−141
Language/C/Parser/Parser.y view
@@ -1,7 +1,7 @@ { {-# OPTIONS -w #-} --- Copyright (c) 2006-2010+-- Copyright (c) 2006-2011 -- The President and Fellows of Harvard College. -- -- Redistribution and use in source and binary forms, with or without@@ -31,7 +31,7 @@ -------------------------------------------------------------------------------- -- | -- Module : Language.C.Parser.Parser--- Copyright : (c) Harvard University 2006-2010+-- Copyright : (c) Harvard University 2006-2011 -- License : BSD-style -- Maintainer : mainland@eecs.harvard.edu --@@ -1711,9 +1711,8 @@ getANTI_PARAMS (L _ (T.Tanti_params v)) = v lexer :: (L T.Token -> P a) -> P a-lexer cont = do- tok <- lexToken- cont tok+lexer cont =+ lexToken >>= cont locate :: Loc -> (SrcLoc -> a) -> L a locate loc f = L loc (f (SrcLoc loc))
+ Language/C/Quote.hs view
@@ -0,0 +1,162 @@+-- Copyright (c) 2010-2011+-- The President and Fellows of Harvard College.+--+-- Redistribution and use in source and binary forms, with or without+-- modification, are permitted provided that the following conditions+-- are met:+-- 1. Redistributions of source code must retain the above copyright+-- notice, this list of conditions and the following disclaimer.+-- 2. Redistributions in binary form must reproduce the above copyright+-- notice, this list of conditions and the following disclaimer in the+-- documentation and/or other materials provided with the distribution.+-- 3. Neither the name of the University nor the names of its contributors+-- may be used to endorse or promote products derived from this software+-- without specific prior written permission.++-- THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY AND CONTRIBUTORS ``AS IS'' AND+-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE+-- ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE+-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS+-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)+-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT+-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY+-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF+-- SUCH DAMAGE.++--------------------------------------------------------------------------------+-- |+-- Module : Language.C.Quote+-- Copyright : (c) Harvard University 2010-2011+-- License : BSD-style+-- Maintainer : mainland@eecs.harvard.edu+--+-- There are three modules that provide quasiquoters, each for a different C+-- variant. 'Language.C.Quote.C' parses C99, 'Language.C.Quote.GCC' parses C99+-- plus GNU extensions, and 'Language.C.Quote.CUDA' parses C99 plus GNU and CUDA+-- extensions. The quasiquoters generate Template Haskell expressions that use+-- data constructors that must be in scope where the quasiquoted expression+-- occurs. You will be safe if you add the following imports to any module using+-- the quasiquoters provided by this package:+--+-- > import qualified Data.Loc+-- > import qualified Data.Symbol+-- > import qualified Language.C.Syntax+--+-- These modules may also be imported unqualified, of course. The quasioquoters+-- also use some constructors defined in the standard Prelude, so if it is not+-- imported by default, it must be imported qualified.+--+-- The following quasiquoters are defined:+--+-- [@cdecl@] Declaration, of type @'InitGroup'@.+--+-- [@cedecl@] External declarations (top-level declarations in a C file,+-- including function definitions and declarations), of type @'Definition'@.+--+-- [@cenum@] Component of an @enum@ definition, of type @'CEnum'@.+--+-- [@cexp@] Expression, of type @'Exp'@.+--+-- [@cfun@] Function definition, of type @'Func'@.+--+-- [@cinit@] Initializer, of type @'Initializer'@.+--+-- [@cparam@] Declaration of a function parameter, of type @'Param'@.+--+-- [@csdecl@] Declaration of a struct member, of type @'FieldGroup'@.+--+-- [@cty@] A C type, of type @'Type'@.+--+-- [@cunit@] A compilation unit, of type @['Definition']@.+--+-- Antiquotations allow splicing in subterms during quotation. These subterms+-- may bound to a Haskell variable or may be the value of a Haskell+-- expression. Antiquotations appear in a quasiquotation in the form+-- @$ANTI:VARID@, where @VARID@ is a Haskell variable identifier, or in the form+-- @$ANTI:(EXP)@, where @EXP@ is a Haskell expressions (the parentheses must+-- appear in this case). Additionally, @$VARID@ is shorthand for @$exp:VARID@+-- and @$(EXP)@ is shorthand for @$exp:(EXP)@. The following antiquotations+-- (ANTI) are supported:+--+-- [@id@] A C identifier. The argument must have type @'String'@.+--+-- [@int@] An @integer@ constant. The argument must be an instance of+-- @'Integral'@.+--+-- [@uint@] An @unsigned integer@ constant. The argument must be an instance of+-- @'Integral'@.+--+-- [@lint@] A @long integer@ constant. The argument must be an instance of+-- @'Integral'@.+--+-- [@ulint@] An @unsigned long integer@ constant. The argument must be an+-- instance of @'Integral'@.+--+-- [@float@] A @float@ constant. The argument must be an instance of+-- @'Fractional'@.+--+-- [@double@] A @double@ constant. The argument must be an instance of+-- @'Fractional'@.+--+-- [@long double@] A @long double@ constant. The argument must be an instance+-- of @'Fractional'@.+--+-- [@char@] A @char@ constant. The argument must have type @'Char'@.+--+-- [@string@] A string (@char*@) constant. The argument must have type+-- @'String'@.+--+-- [@exp@] A C expression. The argument must be an instance of @'ToExp'@.+--+-- [@func@] A function definition. The argument must have type @'Func'@.+--+-- [@args@] A list of function arguments. The argument must have type @['Exp']@.+--+-- [@decl@] A declaration. The argument must have type @'InitGroup'@.+--+-- [@decls@] A list of declarations. The argument must have type+-- @['InitGroup']@.+--+-- [@sdecl@] A struct member declaration. The argument must have type+-- @'FieldGroup'@.+--+-- [@sdecls@] A list of struct member declarations. The argument must have type+-- @['FieldGroup']@.+--+-- [@enum@] An enum member. The argument must have type @'CEnum'@.+--+-- [@enums@] An list of enum members. The argument must have type @['CEnum']@.+--+-- [@esc@] An arbitrary top-level C "definition," such as an @#include@ or a+-- @#define@. The argument must have type @'String'@.+--+-- [@edecl@] An external definition. The argument must have type @'Definition'@.+--+-- [@edecls@] An list of external definitions. The argument must have type+-- @['Definition']@.+--+-- [@item@] A statement block item. The argument must have type @'BlockItem'@.+--+-- [@items@] A list of statement block item. The argument must have type+-- @['BlockItem']@.+--+-- [@stm@] A statement. The argument must have type @'Stm'@.+--+-- [@stms@] A list statements. The argument must have type @['Stm']@.+--+-- [@ty@] A C type. The argument must have type @'Type'@.+--+-- [@spec@] A declaration specifier. The argument must have type @'DeclSpec'@.+--+-- [@param@] A function parameter. The argument must have type @'Param'@.+--+-- [@params@] A list of function parameters. The argument must have type+-- @['Param']@.+--------------------------------------------------------------------------------++module Language.C.Quote where++import Language.C.Quote.Base+import Language.C.Syntax
Language/C/Quote/Base.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2006-2010+-- Copyright (c) 2006-2011 -- The President and Fellows of Harvard College. -- -- Redistribution and use in source and binary forms, with or without@@ -28,7 +28,7 @@ -------------------------------------------------------------------------------- -- | -- Module : Language.C.Quote--- Copyright : (c) Harvard University 2006-2010+-- Copyright : (c) Harvard University 2006-2011 -- License : BSD-style -- Maintainer : mainland@eecs.harvard.edu --@@ -55,36 +55,37 @@ import Language.Haskell.Meta (parseExp, parsePat) import Language.Haskell.TH import Language.Haskell.TH.Quote (QuasiQuoter(..))+import Language.Haskell.TH.Syntax import qualified Language.C.Parser as P import qualified Language.C.Syntax as C class ToExp a where- toExp :: a -> C.Exp+ toExp :: a -> SrcLoc -> C.Exp instance ToExp C.Exp where- toExp = id+ toExp e _ = e instance ToExp Int where- toExp n = C.Const (C.IntConst (show n) C.Signed (fromIntegral n) noSrcLoc) noSrcLoc+ toExp n loc = C.Const (C.IntConst (show n) C.Signed (fromIntegral n) loc) loc instance ToExp Integer where- toExp n = C.Const (C.IntConst (show n) C.Signed n noSrcLoc) noSrcLoc+ toExp n loc = C.Const (C.IntConst (show n) C.Signed n loc) loc instance ToExp Rational where- toExp n = C.Const (C.DoubleConst (show n) n noSrcLoc) noSrcLoc+ toExp n loc = C.Const (C.DoubleConst (show n) n loc) loc instance ToExp Float where- toExp n = C.Const (C.DoubleConst (show n) (toRational n) noSrcLoc) noSrcLoc+ toExp n loc = C.Const (C.DoubleConst (show n) (toRational n) loc) loc instance ToExp Double where- toExp n = C.Const (C.DoubleConst (show n) (toRational n) noSrcLoc) noSrcLoc+ toExp n loc = C.Const (C.DoubleConst (show n) (toRational n) loc) loc instance ToExp Char where- toExp c = C.Const (C.CharConst (show c) c noSrcLoc) noSrcLoc+ toExp c loc = C.Const (C.CharConst (show c) c loc) loc instance ToExp String where- toExp s = C.Const (C.StringConst [show s] s noSrcLoc) noSrcLoc+ toExp s loc = C.Const (C.StringConst [show s] s loc) loc antiVarE :: String -> ExpQ antiVarE = either fail return . parseExp@@ -127,8 +128,8 @@ qqInitGroupListE :: [C.InitGroup] -> Maybe (Q Exp) qqInitGroupListE [] = Just [|[]|]-qqInitGroupListE (C.AntiDecls v _ : inis) =- Just [|$(antiVarE v) ++ $(dataToExpQ qqExp inis)|]+qqInitGroupListE (C.AntiDecls v _ : inits) =+ Just [|$(antiVarE v) ++ $(dataToExpQ qqExp inits)|] qqInitGroupListE (ini : inis) = Just [|$(dataToExpQ qqExp ini) : $(dataToExpQ qqExp inis)|] @@ -234,13 +235,14 @@ floatConst e = [|show (fromRational $(e) :: Double)|] qqExpE :: C.Exp -> Maybe (Q Exp)-qqExpE (C.AntiExp v _) = Just [|toExp $(antiVarE v) :: C.Exp|]-qqExpE _ = Nothing+qqExpE (C.AntiExp v loc) = Just [|toExp $(antiVarE v) $(qqLocE loc) :: C.Exp|]+qqExpE _ = Nothing qqExpListE :: [C.Exp] -> Maybe (Q Exp) qqExpListE [] = Just [|[]|]-qqExpListE (C.AntiArgs v _ : exps) =- Just [|map toExp $(antiVarE v) ++ $(dataToExpQ qqExp exps)|]+qqExpListE (C.AntiArgs v loc : exps) =+ Just [|map (uncurry toExp) ($(antiVarE v) `zip` repeat $(qqLocE loc)) +++ $(dataToExpQ qqExp exps)|] qqExpListE (exp : exps) = Just [|$(dataToExpQ qqExp exp) : $(dataToExpQ qqExp exps)|] @@ -504,64 +506,71 @@ , quotePat = parse exts typenames p >=> dataToPatQ qqPat } -dataToQa :: forall a k q. Data a- => (String -> k)- -> (Lit -> Q q)- -> (k -> [Q q] -> Q q)- -> (forall a . Data a => a -> Maybe (Q q))- -> a- -> Q q+dataToQa :: forall a k q. Data a+ => (Name -> k)+ -> (Lit -> Q q)+ -> (k -> [Q q] -> Q q)+ -> (forall b . Data b => b -> Maybe (Q q))+ -> a+ -> Q q dataToQa mkCon mkLit appCon antiQ t = case antiQ t of- Just x -> x Nothing -> case constrRep constr of- AlgConstr _ -> appCon con conArgs- IntConstr n -> mkLit $ integerL n- FloatConstr n -> mkLit $ rationalL (toRational n)-#if MIN_VERSION_template_haskell(2,4,0)- CharConstr c -> mkLit $ charL c-#else /* !MIN_VERSION_template_haskell(2,4,0) */- StringConstr [c] -> mkLit $ charL c- StringConstr s -> mkLit $ stringL s-#endif /* !MIN_VERSION_template_haskell(2,4,0) */- where- constr :: Constr- constr = toConstr t+ AlgConstr _ ->+ appCon con conArgs+ IntConstr n ->+ mkLit $ integerL n+ FloatConstr n ->+ mkLit $ rationalL (toRational n)+ CharConstr c ->+ mkLit $ charL c+ where+ constr :: Constr+ constr = toConstr t - con :: k- con = mkCon (constrName constr)- where- constrName :: Constr -> String- constrName k =- case showConstr k of- "(:)" -> ":"- name | name `elem` unqualifiedConstructors -> name- | otherwise -> "Language.C.Syntax." ++ name+ con :: k+ con = mkCon (mkName' mod occ)+ where+ mod :: String+ mod = (tyconModule . dataTypeName . dataTypeOf) t - conArgs :: [Q q]- conArgs = gmapQ (dataToQa mkCon mkLit appCon antiQ) t+ occ :: String+ occ = showConstr constr - unqualifiedConstructors :: [String]- unqualifiedConstructors = ["[]", "(,)", "(,,)", ":%",- "True", "False",- "Just", "Nothing",- "Left", "Right",- "Symbol",- "Loc", "NoLoc", "Pos", "SrcLoc"]+ mkName' :: String -> String -> Name+ mkName' "Prelude" "(:)" = Name (mkOccName ":") NameS+ mkName' "Prelude" "[]" = Name (mkOccName "[]") NameS+ mkName' "Prelude" "()" = Name (mkOccName "()") NameS -dataToExpQ :: Data a- => (forall a . Data a => a -> Maybe (Q Exp))- -> a- -> Q Exp-dataToExpQ = dataToQa mkCon litE (foldl appE)- where- mkCon :: String -> Q Exp- mkCon ":%" = (varE . mkName) "%"- mkCon s = (conE . mkName) s+ mkName' "Prelude" s@('(' : ',' : rest) = go rest+ where+ go :: String -> Name+ go (',' : rest) = go rest+ go ")" = Name (mkOccName s) NameS+ go _ = Name (mkOccName occ) (NameQ (mkModName mod)) -dataToPatQ :: Data a- => (forall a . Data a => a -> Maybe (Q Pat))- -> a- -> Q Pat-dataToPatQ = dataToQa mkName litP conP+ mkName' "GHC.Real" ":%" = mkNameG_d "base" "GHC.Real" ":%"++ mkName' mod occ = Name (mkOccName occ) (NameQ (mkModName mod))++ conArgs :: [Q q]+ conArgs = gmapQ (dataToQa mkCon mkLit appCon antiQ) t++ Just y -> y++-- | 'dataToExpQ' converts a value to a 'Q Exp' representation of the same+-- value. It takes a function to handle type-specific cases.+dataToExpQ :: Data a+ => (forall b . Data b => b -> Maybe (Q Exp))+ -> a+ -> Q Exp+dataToExpQ = dataToQa conE litE (foldl appE)++-- | 'dataToPatQ' converts a value to a 'Q Pat' representation of the same+-- value. It takes a function to handle type-specific cases.+dataToPatQ :: Data a+ => (forall b . Data b => b -> Maybe (Q Pat))+ -> a+ -> Q Pat+dataToPatQ = dataToQa id litP conP
Language/C/Quote/C.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2006-2010+-- Copyright (c) 2006-2011 -- The President and Fellows of Harvard College. -- -- Redistribution and use in source and binary forms, with or without@@ -28,16 +28,13 @@ -------------------------------------------------------------------------------- -- | -- Module : Language.C.Quote.C--- Copyright : (c) Harvard University 2006-2010+-- Copyright : (c) Harvard University 2006-2011 -- License : BSD-style -- Maintainer : mainland@eecs.harvard.edu -- -------------------------------------------------------------------------------- module Language.C.Quote.C (- module Data.Loc,- module Data.Ratio,- module Data.Symbol, ToExp(..), cexp, cedecl,@@ -52,13 +49,9 @@ cfun ) where -import Data.Loc-import Data.Ratio ((%))-import Data.Symbol- import qualified Language.C.Parser as P import qualified Language.C.Syntax as C-import Language.C.Quote.Base+import Language.C.Quote.Base (ToExp(..), quasiquote) exts :: [C.Extensions] exts = []
Language/C/Quote/CUDA.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2006-2010+-- Copyright (c) 2006-2011 -- The President and Fellows of Harvard College. -- -- Redistribution and use in source and binary forms, with or without@@ -28,16 +28,13 @@ -------------------------------------------------------------------------------- -- | -- Module : Language.C.Quote.CUDA--- Copyright : (c) Harvard University 2006-2010+-- Copyright : (c) Harvard University 2006-2011 -- License : BSD-style -- Maintainer : mainland@eecs.harvard.edu -- -------------------------------------------------------------------------------- module Language.C.Quote.CUDA (- module Data.Loc,- module Data.Ratio,- module Data.Symbol, ToExp(..), cexp, cedecl,@@ -52,13 +49,9 @@ cfun ) where -import Data.Loc-import Data.Ratio ((%))-import Data.Symbol- import qualified Language.C.Parser as P import qualified Language.C.Syntax as C-import Language.C.Quote.Base+import Language.C.Quote.Base (ToExp(..), quasiquote) exts :: [C.Extensions] exts = [C.CUDA]
Language/C/Quote/GCC.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2006-2010+-- Copyright (c) 2006-2011 -- The President and Fellows of Harvard College. -- -- Redistribution and use in source and binary forms, with or without@@ -28,16 +28,13 @@ -------------------------------------------------------------------------------- -- | -- Module : Language.C.Quote.C--- Copyright : (c) Harvard University 2006-2010+-- Copyright : (c) Harvard University 2006-2011 -- License : BSD-style -- Maintainer : mainland@eecs.harvard.edu -- -------------------------------------------------------------------------------- module Language.C.Quote.GCC (- module Data.Loc,- module Data.Ratio,- module Data.Symbol, ToExp(..), cexp, cedecl,@@ -52,13 +49,9 @@ cfun ) where -import Data.Loc-import Data.Ratio ((%))-import Data.Symbol- import qualified Language.C.Parser as P import qualified Language.C.Syntax as C-import Language.C.Quote.Base+import Language.C.Quote.Base (ToExp(..), quasiquote) exts :: [C.Extensions] exts = [C.Gcc]
Language/C/Smart.hs view
@@ -1,4 +1,4 @@--- Copyright (c) 2010+-- Copyright (c) 2010-2011 -- The President and Fellows of Harvard College. -- -- Redistribution and use in source and binary forms, with or without@@ -28,7 +28,7 @@ -------------------------------------------------------------------------------- -- | -- Module : Language.C.Smart--- Copyright : (c) Harvard University2008+-- Copyright : (c) Harvard University 2010-2011 -- License : BSD-style -- Maintainer : mainland@eecs.harvard.edu --@@ -38,73 +38,81 @@ module Language.C.Smart where +import qualified Data.Loc+import qualified Data.Symbol import Language.C.Quote.C-import qualified Language.C.Syntax as C+import Language.C.Syntax as C import qualified Language.C.Syntax -instance Enum C.Exp where- toEnum n = [$cexp|$int:n|]+instance Enum Exp where+ toEnum n = [cexp|$int:n|] - fromEnum [$cexp|$int:n|] = fromIntegral n- fromEnum [$cexp|$uint:n|] = fromIntegral n- fromEnum [$cexp|$lint:n|] = fromIntegral n- fromEnum [$cexp|$ulint:n|] = fromIntegral n- fromEnum _ = error "fromEnum: non-integer constant C expressions"+ fromEnum [cexp|$int:n|] = fromIntegral n+ fromEnum [cexp|$uint:n|] = fromIntegral n+ fromEnum [cexp|$lint:n|] = fromIntegral n+ fromEnum [cexp|$ulint:n|] = fromIntegral n + fromEnum _ =+ error "fromEnum: non-integer constant C expressions"+ instance Num C.Exp where- e1 + e2 = [$cexp|$exp:e1 + $exp:e2|]- e1 * e2 = [$cexp|$exp:e1 * $exp:e2|]- e1 - e2 = [$cexp|$exp:e1 - $exp:e2|]- negate e = [$cexp|-$exp:e|]- abs e = [$cexp|abs($exp:e)|]- signum e = [$cexp|$exp:e > 0 ? 1 : ($exp:e < 0 ? -1 : 0)|]- fromInteger n = [$cexp|$int:n|]+ e1 + e2 = [cexp|$exp:e1 + $exp:e2|]+ e1 * e2 = [cexp|$exp:e1 * $exp:e2|]+ e1 - e2 = [cexp|$exp:e1 - $exp:e2|]+ negate e = [cexp|-$exp:e|]+ abs e = [cexp|abs($exp:e)|]+ signum e = [cexp|$exp:e > 0 ? 1 : ($exp:e < 0 ? -1 : 0)|]+ fromInteger n = [cexp|$int:n|] instance Real C.Exp where- toRational [$cexp|$float:n|] = n- toRational [$cexp|$double:n|] = n- toRational [$cexp|$ldouble:n|] = n- toRational _ = error "fromEnum: non-rational constant C expressions"+ toRational [cexp|$float:n|] = n+ toRational [cexp|$double:n|] = n+ toRational [cexp|$ldouble:n|] = n + toRational _ =+ error "fromEnum: non-rational constant C expressions"+ instance Integral C.Exp where- e1 `quotRem` e2 = ([$cexp|$exp:e1 / $exp:e2|], [$cexp|$exp:e1 % $exp:e2|])+ e1 `quotRem` e2 = ([cexp|$exp:e1 / $exp:e2|], [cexp|$exp:e1 % $exp:e2|]) - toInteger [$cexp|$int:n|] = n- toInteger [$cexp|$uint:n|] = n- toInteger [$cexp|$lint:n|] = n- toInteger [$cexp|$ulint:n|] = n- toInteger _ = error "fromInteger: non-integer constant C expressions"+ toInteger [cexp|$int:n|] = n+ toInteger [cexp|$uint:n|] = n+ toInteger [cexp|$lint:n|] = n+ toInteger [cexp|$ulint:n|] = n + toInteger _ =+ error "fromInteger: non-integer constant C expressions"+ instance Fractional C.Exp where- e1 / e2 = [$cexp|$exp:e1 / $exp:e2|]- recip e = [$cexp|1 / $exp:e|]+ e1 / e2 = [cexp|$exp:e1 / $exp:e2|]+ recip e = [cexp|1 / $exp:e|] - fromRational n = [$cexp|$double:n|]+ fromRational n = [cexp|$double:n|] instance Floating C.Exp where- pi = [$cexp|3.141592653589793238|]- exp e = [$cexp|exp($exp:e)|]- sqrt e = [$cexp|sqrt($exp:e)|]- log e = [$cexp|log($exp:e)|]- e1 ** e2 = [$cexp|pow($exp:e1, $exp:e2)|]- logBase e1 e2 = [$cexp|log($exp:e2)/log($exp:e1)|]- sin e = [$cexp|sin($exp:e)|]- tan e = [$cexp|tan($exp:e)|]- cos e = [$cexp|cos($exp:e)|]- asin e = [$cexp|asin($exp:e)|]- atan e = [$cexp|atan($exp:e)|]- acos e = [$cexp|acos($exp:e)|]- sinh e = [$cexp|sinh($exp:e)|]- tanh e = [$cexp|tanh($exp:e)|]- cosh e = [$cexp|cosh($exp:e)|]- asinh e = [$cexp|asinh($exp:e)|]- atanh e = [$cexp|atanh($exp:e)|]- acosh e = [$cexp|acosh($exp:e)|]+ pi = [cexp|3.141592653589793238|]+ exp e = [cexp|exp($exp:e)|]+ sqrt e = [cexp|sqrt($exp:e)|]+ log e = [cexp|log($exp:e)|]+ e1 ** e2 = [cexp|pow($exp:e1, $exp:e2)|]+ logBase e1 e2 = [cexp|log($exp:e2)/log($exp:e1)|]+ sin e = [cexp|sin($exp:e)|]+ tan e = [cexp|tan($exp:e)|]+ cos e = [cexp|cos($exp:e)|]+ asin e = [cexp|asin($exp:e)|]+ atan e = [cexp|atan($exp:e)|]+ acos e = [cexp|acos($exp:e)|]+ sinh e = [cexp|sinh($exp:e)|]+ tanh e = [cexp|tanh($exp:e)|]+ cosh e = [cexp|cosh($exp:e)|]+ asinh e = [cexp|asinh($exp:e)|]+ atanh e = [cexp|atanh($exp:e)|]+ acosh e = [cexp|acosh($exp:e)|] infix 4 === (===) :: C.Exp -> C.Exp -> C.Stm-e1 === e2 = [$cstm|$exp:e1 = $exp:e2;|]+e1 === e2 = [cstm|$exp:e1 = $exp:e2;|] infix 4 += (+=) :: C.Exp -> C.Exp -> C.Stm-e1 += e2 = [$cstm|$exp:e1 += $exp:e2;|]+e1 += e2 = [cstm|$exp:e1 += $exp:e2;|]
Setup.hs view
@@ -1,14 +1,3 @@-import Distribution.PackageDescription import Distribution.Simple-import Distribution.Simple.LocalBuildInfo-import System.FilePath-import System.Process (system) -main = defaultMainWithHooks hooks- where- hooks = simpleUserHooks { runTests = runTests' }--runTests' :: Args -> Bool -> PackageDescription -> LocalBuildInfo -> IO ()-runTests' _ _ _ lbi = system unit_test >> return ()- where- unit_test = buildDir lbi </> "unit-test" </> "unit-test"+main = defaultMain
− dist/build/Language/C/Parser/Lexer.hs
@@ -1,718 +0,0 @@-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# LINE 1 "Language/C/Parser/Lexer.x" #-}--{-# OPTIONS -w #-}-{-# LANGUAGE CPP #-}---- Copyright (c) 2006-2010--- The President and Fellows of Harvard College.------ Redistribution and use in source and binary forms, with or without--- modification, are permitted provided that the following conditions--- are met:--- 1. Redistributions of source code must retain the above copyright--- notice, this list of conditions and the following disclaimer.--- 2. Redistributions in binary form must reproduce the above copyright--- notice, this list of conditions and the following disclaimer in the--- documentation and/or other materials provided with the distribution.--- 3. Neither the name of the University nor the names of its contributors--- may be used to endorse or promote products derived from this software--- without specific prior written permission.---- THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY AND CONTRIBUTORS ``AS IS'' AND--- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE--- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE--- ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE--- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL--- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS--- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)--- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT--- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY--- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF--- SUCH DAMAGE.------------------------------------------------------------------------------------- |--- Module : Language.C.Parser.Lexer--- Copyright : (c) Harvard University 2006-2010--- License : BSD-style--- Maintainer : mainland@eecs.harvard.edu--------------------------------------------------------------------------------------module Language.C.Parser.Lexer (- lexToken- ) where--import Control.Monad (when)-import Control.Monad.Error-import Control.Monad.Exception-import Control.Monad.Identity-import Control.Monad.State-import Control.Monad.Trans-import qualified Data.ByteString.Char8 as B-import Data.Char (isAlphaNum,- isDigit,- isOctDigit,- isHexDigit,- isLower,- isSpace,- chr,- toLower)-import Data.List (foldl', intersperse)-import Data.Loc-import qualified Data.Map as Map-import Data.Ratio ((%))-import qualified Data.Set as Set-import Data.Symbol-import Data.Maybe (fromMaybe)-import Text.PrettyPrint.Mainland--import qualified Language.C.Syntax as C-import Language.C.Parser.Monad-import Language.C.Parser.Tokens--#if __GLASGOW_HASKELL__ >= 603-#include "ghcconfig.h"-#elif defined(__GLASGOW_HASKELL__)-#include "config.h"-#endif-#if __GLASGOW_HASKELL__ >= 503-import Data.Array-import Data.Char (ord)-import Data.Array.Base (unsafeAt)-#else-import Array-import Char (ord)-#endif-#if __GLASGOW_HASKELL__ >= 503-import GHC.Exts-#else-import GlaExts-#endif-alex_base :: AlexAddr-alex_base = AlexA# "\xf8\xff\xff\xff\x6e\x00\x00\x00\x92\xff\xff\xff\x00\x00\x00\x00\xbd\x00\x00\x00\x8e\xff\xff\xff\x08\x01\x00\x00\x98\xff\xff\xff\x53\x01\x00\x00\xa4\xff\xff\xff\x9e\x01\x00\x00\x9c\xff\xff\xff\xe9\x01\x00\x00\xaa\xff\xff\xff\x34\x02\x00\x00\x9f\xff\xff\xff\x7f\x02\x00\x00\xa8\xff\xff\xff\xca\x02\x00\x00\x00\x00\x00\x00\xe4\x02\x00\x00\x18\x00\x00\x00\xd4\xff\xff\xff\x00\x00\x00\x00\x9b\xff\xff\xff\xd6\xff\xff\xff\x00\x00\x00\x00\xa9\xff\xff\xff\xa3\xff\xff\xff\xa0\xff\xff\xff\xd9\xff\xff\xff\x00\x00\x00\x00\xb3\xff\xff\xff\xca\xff\xff\xff\xa2\xff\xff\xff\x1a\x00\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\x0f\x00\x00\x00\x0a\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x12\x00\x00\x00\x21\x00\x00\x00\x10\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\xe6\x02\x00\x00\x13\x00\x00\x00\x23\x00\x00\x00\x1b\x00\x00\x00\x25\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x39\x00\x00\x00\x68\x00\x00\x00\x62\x00\x00\x00\x92\x00\x00\x00\xbe\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x99\x00\x00\x00\x89\x00\x00\x00\xc2\x00\x00\x00\x00\x00\x00\x00\xe2\x02\x00\x00\xab\x00\x00\x00\x94\x00\x00\x00\xac\x00\x00\x00\xb2\x00\x00\x00\xe1\x00\x00\x00\x00\x00\x00\x00\xed\x02\x00\x00\xd2\x00\x00\x00\x09\x01\x00\x00\x00\x00\x00\x00\xd6\x00\x00\x00\xe2\x00\x00\x00\x0c\x01\x00\x00\x00\x00\x00\x00\xd5\x00\x00\x00\xfc\x00\x00\x00\xf1\x00\x00\x00\x0e\x01\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\xfa\x00\x00\x00\xeb\x02\x00\x00\x00\x00\x00\x00\x2e\x01\x00\x00\x00\x00\x00\x00\x28\x01\x00\x00\x2b\x01\x00\x00\x23\x01\x00\x00\xec\x02\x00\x00\x00\x00\x00\x00\x56\x01\x00\x00\x00\x00\x00\x00\x1c\x01\x00\x00\x25\x01\x00\x00\xee\x02\x00\x00\x00\x00\x00\x00\x59\x01\x00\x00\x00\x00\x00\x00\x4b\x01\x00\x00\x75\x01\x00\x00\x00\x00\x00\x00\x4c\x01\x00\x00\x4d\x01\x00\x00\x47\x01\x00\x00\xf0\x02\x00\x00\x00\x00\x00\x00\x9f\x01\x00\x00\x00\x00\x00\x00\x73\x01\x00\x00\x6d\x01\x00\x00\x12\x03\x00\x00\x00\x00\x00\x00\xa1\x01\x00\x00\x00\x00\x00\x00\x14\x03\x00\x00\x00\x00\x00\x00\xa2\x01\x00\x00\x00\x00\x00\x00\x64\x01\x00\x00\xa4\x01\x00\x00\x00\x00\x00\x00\x94\x01\x00\x00\x97\x01\x00\x00\xc1\x01\x00\x00\x00\x00\x00\x00\x9b\x01\x00\x00\x8c\x01\x00\x00\xc2\x01\x00\x00\xb7\x01\x00\x00\x15\x03\x00\x00\x00\x00\x00\x00\xeb\x01\x00\x00\x1c\x02\x00\x00\x1d\x02\x00\x00\x1e\x02\x00\x00\x1f\x02\x00\x00\x49\x03\x00\x00\x50\x03\x00\x00\x52\x03\x00\x00\x53\x03\x00\x00\x5d\x03\x00\x00\x64\x03\x00\x00\x6d\x03\x00\x00\x87\x03\x00\x00\xa1\x03\x00\x00\xbb\x03\x00\x00\x8f\x03\x00\x00\xa9\x03\x00\x00\xfb\x02\x00\x00\xfe\x02\x00\x00\xfd\x02\x00\x00\x3a\x02\x00\x00\x3b\x02\x00\x00\x3c\x02\x00\x00\x3d\x02\x00\x00\x69\x03\x00\x00\x74\x03\x00\x00\xc0\x03\x00\x00\xc1\x03\x00\x00\xdb\x03\x00\x00\xec\x03\x00\x00\xf6\x03\x00\x00\x10\x04\x00\x00\x2a\x04\x00\x00\x44\x04\x00\x00\x3f\x02\x00\x00\x64\x02\x00\x00\x51\x03\x00\x00\x00\x00\x00\x00\x45\x02\x00\x00\x46\x02\x00\x00\x47\x02\x00\x00\x68\x02\x00\x00\xfe\x03\x00\x00\x4e\x04\x00\x00\x99\x04\x00\x00\xe4\x04\x00\x00\x2f\x05\x00\x00\x7a\x05\x00\x00\xc5\x05\x00\x00\x10\x06\x00\x00\x5b\x06\x00\x00\xa6\x06\x00\x00\xf1\x06\x00\x00\x3c\x07\x00\x00\x87\x07\x00\x00\xd2\x07\x00\x00\x1d\x08\x00\x00\x68\x08\x00\x00\x00\x00\x00\x00\xb3\x08\x00\x00\xbd\x08\x00\x00\xda\x08\x00\x00\xfb\x08\x00\x00\x37\x04\x00\x00\x1a\x09\x00\x00\x38\x09\x00\x00\x5e\x09\x00\x00\x84\x09\x00\x00\xaf\x09\x00\x00\xd5\x09\x00\x00\x05\x09\x00\x00\xf5\x09\x00\x00\x24\x09\x00\x00\x00\x00\x00\x00\x6e\x02\x00\x00\xaf\x08\x00\x00\x66\x02\x00\x00\x70\x02\x00\x00\x00\x00\x00\x00\x71\x02\x00\x00\xb0\x08\x00\x00\x6a\x02\x00\x00\x3d\x03\x00\x00\x00\x00\x00\x00\xff\x09\x00\x00\x90\x03\x00\x00\xb2\x08\x00\x00\x5b\x03\x00\x00\x92\x03\x00\x00\x45\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x03\x00\x00\x00\x00\x00\x00\x61\x02\x00\x00\x58\x03\x00\x00\x36\x02\x00\x00\x53\x02\x00\x00\x00\x00\x00\x00\xd4\x03\x00\x00\x91\x03\x00\x00\x54\x02\x00\x00\xcd\x02\x00\x00\x45\x03\x00\x00\x85\x03\x00\x00\xac\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\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"#--alex_table :: AlexAddr-alex_table = AlexA# "\x00\x00\xb5\x00\xb5\x00\xb5\x00\xb5\x00\xb5\x00\x05\x00\x07\x00\x09\x00\x0b\x00\x0d\x00\x0f\x00\x11\x00\x03\x00\x13\x00\x19\x00\x17\x00\x1d\x00\x1c\x00\x1a\x00\x1e\x00\x25\x00\x23\x00\x37\x00\xb5\x00\x02\x01\xe6\x00\x9b\x00\x21\x00\xf7\x00\xf9\x00\xe5\x00\xe7\x00\xe8\x00\xf6\x00\xf5\x00\xed\x00\xf2\x00\xca\x00\xaf\x00\xce\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xef\x00\xee\x00\xfd\x00\x06\x01\xff\x00\xf0\x00\x22\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xe9\x00\x1f\x00\xea\x00\xfb\x00\xb7\x00\x26\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xeb\x00\xfa\x00\xec\x00\xf8\x00\xb5\x00\xb5\x00\xb5\x00\xb5\x00\xb5\x00\x16\x00\x27\x00\x28\x00\x24\x00\x2b\x00\x2c\x00\x2d\x00\x29\x00\x2e\x00\x33\x00\x18\x00\x34\x00\x32\x00\x4e\x00\x35\x00\x2f\x00\x74\x00\x38\x00\xb5\x00\x02\x01\xe6\x00\x9b\x00\x14\x00\xf7\x00\xf9\x00\xe5\x00\xe7\x00\xe8\x00\xf6\x00\xf5\x00\xed\x00\xf2\x00\xca\x00\xaf\x00\xce\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xcc\x00\xef\x00\xee\x00\xfd\x00\x06\x01\xff\x00\xf0\x00\x39\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xe9\x00\x3a\x00\xea\x00\xfb\x00\xb7\x00\x3b\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\x06\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xc3\x00\xeb\x00\xfa\x00\xec\x00\xf8\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x3c\x00\x36\x00\x3f\x00\x40\x00\x41\x00\x3d\x00\x46\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x7a\x00\x48\x00\x47\x00\x42\x00\xc4\x00\x45\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x4c\x00\x49\x00\x4f\x00\x50\x00\x4d\x00\x53\x00\x51\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x54\x00\x55\x00\x58\x00\x59\x00\xc4\x00\x5a\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x08\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x65\x00\x66\x00\x67\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x6b\x00\x69\x00\x6f\x00\x6e\x00\xc4\x00\x70\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x0a\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x75\x00\x71\x00\x76\x00\x77\x00\x7b\x00\x7f\x00\x7d\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x82\x00\x83\x00\x80\x00\x86\x00\xc4\x00\x87\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x0c\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x88\x00\x89\x00\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc4\x00\xff\xff\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x0e\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xff\xff\xb1\x00\xb1\x00\xb1\x00\xff\xff\x0c\x01\xb0\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xf3\x00\x0e\x01\x11\x01\x07\x01\xc4\x00\x05\x01\x10\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\xd8\x00\xd4\x00\xd4\x00\xdd\x00\x00\x00\xd9\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xd8\x00\xd4\x00\xd4\x00\xdd\x00\xc4\x00\xd9\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x12\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x14\x01\x12\x01\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x56\x00\x5c\x00\x00\x00\x63\x00\xc4\x00\x6c\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x04\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x52\x00\x5d\x00\x3e\x00\x30\x00\x4a\x00\x2a\x00\x57\x00\x73\x00\x15\x00\x79\x00\x84\x00\x20\x00\x6d\x00\x81\x00\xff\xff\x85\x00\x31\x00\x44\x00\x43\x00\x7e\x00\x1b\x00\xff\xff\x64\x00\xff\xff\xff\xff\x5b\x00\x62\x00\x6a\x00\x68\x00\x9a\x00\x72\x00\x9d\x00\x4b\x00\x94\x00\x94\x00\x94\x00\x94\x00\x94\x00\x8c\x00\x9e\x00\x95\x00\x94\x00\x95\x00\x95\x00\x95\x00\x8d\x00\xff\xff\x8c\x00\x8d\x00\x94\x00\x94\x00\x94\x00\x94\x00\x94\x00\xb2\x00\x00\x00\x94\x00\xff\xff\x90\x00\xad\x00\xfc\x00\x08\x01\x00\x01\x95\x00\x78\x00\x91\x00\x7c\x00\x8b\x00\xd9\x00\x00\x00\x9f\x00\x00\x00\x94\x00\x0d\x01\x00\x00\x95\x00\x94\x00\x95\x00\x95\x00\x95\x00\x0a\x01\xa0\x00\x00\x00\x99\x00\x98\x00\x99\x00\x99\x00\x99\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x95\x00\x00\x00\xd9\x00\x98\x00\x98\x00\x98\x00\x98\x00\x98\x00\x99\x00\xde\x00\x00\x00\xac\x00\xab\x00\xac\x00\xac\x00\xac\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x98\x00\x13\x01\x15\x01\x99\x00\x98\x00\x99\x00\x99\x00\x99\x00\xac\x00\xff\xff\xff\xff\x00\x00\x00\x00\x10\x01\x01\x01\xde\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x96\x00\x99\x00\xe3\x00\x00\x00\xde\x00\x0b\x01\xf1\x00\x00\x00\x9f\x00\xa0\x00\xa7\x00\xa7\x00\xa7\x00\xa7\x00\xa7\x00\x09\x01\xfe\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\x97\x00\xa8\x00\xa7\x00\xa8\x00\xa8\x00\xa8\x00\x03\x01\xa7\x00\xe3\x00\xa3\x00\xde\x00\xa7\x00\xa7\x00\xa7\x00\xa7\x00\xa7\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xb5\x00\xb5\x00\xb5\x00\xb5\x00\xa8\x00\x04\x01\xa4\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00\x9c\x00\xa7\x00\x00\x00\x00\x00\xa8\x00\xa7\x00\xa8\x00\xa8\x00\xa8\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa8\x00\x00\x00\x00\x00\xab\x00\xab\x00\xab\x00\xab\x00\xab\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xab\x00\x00\x00\x00\x00\xac\x00\xab\x00\xac\x00\xac\x00\xac\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xa9\x00\xac\x00\xf4\x00\x00\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\x00\x00\x00\x00\x00\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xaa\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xb9\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xba\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xbb\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xbc\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xbd\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xbe\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xbf\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc0\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc1\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc4\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\xc7\x00\x00\x00\xd0\x00\xc5\x00\x00\x00\xd7\x00\xdc\x00\x00\x00\xe2\x00\xc5\x00\x00\x00\x00\x00\xd0\x00\xc5\x00\xd4\x00\xd9\x00\x00\x00\xde\x00\x00\x00\xc5\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\xc5\x00\x00\x00\xd7\x00\xdc\x00\x00\x00\xe2\x00\xc5\x00\xc5\x00\x00\x00\xd0\x00\xc5\x00\xd4\x00\xd9\x00\xc5\x00\xde\x00\x00\x00\xc5\x00\x00\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\x00\x00\xc5\x00\xc5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x00\xc5\x00\xc6\x00\x00\x00\xcb\x00\xcb\x00\xcb\x00\xcb\x00\xcb\x00\xcb\x00\xcb\x00\xcb\x00\xcb\x00\xcb\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\x00\x00\xd2\x00\x00\x00\xc5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\xc5\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\xd5\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\xcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x00\x00\x00\x00\x00\xd5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\xd5\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcb\x00\xcb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x00\x00\x00\x00\x00\xd5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x00\x00\x00\x00\x00\xe4\x00\xc6\x00\x00\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcb\x00\xcb\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x00\x00\x00\xdb\x00\xe4\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x00\x00\xd1\x00\x00\x00\xda\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x00\x00\x00\xd3\x00\x00\x00\xda\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xc9\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x74\x00\x79\x00\x70\x00\x65\x00\x6e\x00\x61\x00\x6d\x00\x65\x00\x3a\x00\x74\x00\x3a\x00\x6e\x00\x69\x00\x3a\x00\x74\x00\x6c\x00\x74\x00\x64\x00\x20\x00\x21\x00\x22\x00\x23\x00\x69\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\x6e\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\x3a\x00\x5d\x00\x5e\x00\x5f\x00\x69\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\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\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x64\x00\x6e\x00\x74\x00\x3a\x00\x6c\x00\x6f\x00\x61\x00\x3a\x00\x74\x00\x62\x00\x6e\x00\x6c\x00\x75\x00\x75\x00\x65\x00\x3a\x00\x74\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\x75\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\x62\x00\x5d\x00\x5e\x00\x5f\x00\x6c\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\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\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x65\x00\x3a\x00\x68\x00\x61\x00\x72\x00\x3a\x00\x69\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\x6d\x00\x67\x00\x6e\x00\x3a\x00\x5f\x00\x72\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x70\x00\x3a\x00\x6e\x00\x63\x00\x3a\x00\x72\x00\x3a\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\x67\x00\x73\x00\x63\x00\x6c\x00\x5f\x00\x3a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x65\x00\x63\x00\x6c\x00\x3a\x00\x75\x00\x6d\x00\x3a\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\x63\x00\x3a\x00\x63\x00\x65\x00\x5f\x00\x6c\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x65\x00\x3a\x00\x6d\x00\x3a\x00\x3a\x00\x79\x00\x3a\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\x65\x00\x63\x00\x3a\x00\x61\x00\x5f\x00\x72\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x61\x00\x6d\x00\x3a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\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\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x5f\x00\x0a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\x2a\x00\x2a\x00\x2a\x00\x0a\x00\x3d\x00\x2f\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\x2e\x00\x3d\x00\x3d\x00\x3d\x00\x5f\x00\x3d\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x4c\x00\x55\x00\x4c\x00\x4c\x00\xff\xff\x55\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\x6c\x00\x75\x00\x6c\x00\x6c\x00\x5f\x00\x75\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x0a\x00\xff\xff\x0a\x00\x0a\x00\x3c\x00\x3d\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\x3a\x00\x3a\x00\xff\xff\x3a\x00\x5f\x00\x3a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x61\x00\x64\x00\x63\x00\x64\x00\x65\x00\x66\x00\x65\x00\x3a\x00\x69\x00\x3a\x00\x3a\x00\x6c\x00\x64\x00\x70\x00\x0a\x00\x70\x00\x6f\x00\x74\x00\x73\x00\x74\x00\x75\x00\x0a\x00\x6e\x00\x0a\x00\x0a\x00\x73\x00\x73\x00\x73\x00\x73\x00\x65\x00\x73\x00\x69\x00\x78\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x22\x00\x6e\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x22\x00\x0a\x00\x22\x00\x22\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x2a\x00\xff\xff\x20\x00\x0a\x00\x22\x00\x2f\x00\x3c\x00\x3d\x00\x2b\x00\x20\x00\x73\x00\x22\x00\x73\x00\x73\x00\x4c\x00\xff\xff\x22\x00\xff\xff\x20\x00\x3d\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x3d\x00\x22\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x20\x00\xff\xff\x6c\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x55\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x20\x00\x3d\x00\x3e\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x0a\x00\x0a\x00\xff\xff\xff\xff\x3d\x00\x2d\x00\x75\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x20\x00\x4c\x00\xff\xff\x4c\x00\x3d\x00\x3e\x00\xff\xff\x22\x00\x22\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x3d\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x26\x00\x20\x00\x6c\x00\x22\x00\x6c\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\x7c\x00\x22\x00\xff\xff\xff\xff\x3d\x00\xff\xff\xff\xff\xff\xff\x6c\x00\x20\x00\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x20\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\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x20\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\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x20\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x45\x00\x46\x00\xff\xff\x4c\x00\x4c\x00\xff\xff\x4c\x00\x4c\x00\xff\xff\xff\xff\x45\x00\x46\x00\x55\x00\x55\x00\xff\xff\x55\x00\xff\xff\x4c\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\x66\x00\xff\xff\x6c\x00\x6c\x00\xff\xff\x6c\x00\x6c\x00\x46\x00\xff\xff\x65\x00\x66\x00\x75\x00\x75\x00\x4c\x00\x75\x00\xff\xff\x6c\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x66\x00\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\x4c\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x45\x00\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x6c\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x55\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\x75\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x55\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\x75\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\xff\xff\x58\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x75\x00\xff\xff\x4c\x00\x78\x00\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\x55\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\x75\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x75\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\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"#--alex_deflt :: AlexAddr-alex_deflt = AlexA# "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x8f\x00\x8e\x00\x8f\x00\x92\x00\x93\x00\x92\x00\x93\x00\xff\xff\xb4\x00\xff\xff\xb4\x00\xff\xff\xb4\x00\xb4\x00\xb4\x00\xb4\x00\xb4\x00\xb4\x00\xa1\x00\xa2\x00\xa1\x00\xa2\x00\xa5\x00\xa6\x00\xa5\x00\xa6\x00\xff\xff\xb4\x00\xff\xff\xb4\x00\xff\xff\xb4\x00\xae\x00\xae\x00\xff\xff\xff\xff\xb3\x00\xb3\x00\xb3\x00\xb4\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"#--alex_accept = listArray (0::Int,277) [[],[],[],[(AlexAccPred (alex_action_0) ( allowAnti ))],[(AlexAccPred (alex_action_0) ( allowAnti )),(AlexAcc (alex_action_39))],[],[(AlexAcc (alex_action_39))],[],[(AlexAcc (alex_action_39))],[],[(AlexAcc (alex_action_39))],[],[(AlexAcc (alex_action_39))],[],[(AlexAcc (alex_action_39))],[],[(AlexAcc (alex_action_39))],[],[(AlexAcc (alex_action_39))],[(AlexAccPred (alex_action_1) ( allowAnti ))],[(AlexAccPred (alex_action_31) ( allowAnti ))],[],[],[(AlexAccPred (alex_action_2) ( allowAnti ))],[],[],[(AlexAccPred (alex_action_3) ( allowAnti ))],[],[],[],[],[(AlexAccPred (alex_action_4) ( allowAnti ))],[],[],[],[],[(AlexAccPred (alex_action_5) ( allowAnti ))],[],[],[],[],[(AlexAccPred (alex_action_6) ( allowAnti ))],[],[],[],[],[],[(AlexAccPred (alex_action_7) ( allowAnti ))],[],[],[],[],[],[],[(AlexAccPred (alex_action_8) ( allowAnti ))],[],[],[],[],[],[],[(AlexAccPred (alex_action_9) ( allowAnti ))],[],[],[],[],[(AlexAccPred (alex_action_10) ( allowAnti ))],[],[],[],[],[],[],[(AlexAccPred (alex_action_11) ( allowAnti ))],[],[],[],[(AlexAccPred (alex_action_12) ( allowAnti ))],[],[],[],[(AlexAccPred (alex_action_13) ( allowAnti ))],[],[],[],[],[(AlexAccPred (alex_action_14) ( allowAnti ))],[],[],[],[(AlexAccPred (alex_action_15) ( allowAnti ))],[],[(AlexAccPred (alex_action_16) ( allowAnti ))],[],[],[],[],[(AlexAccPred (alex_action_17) ( allowAnti ))],[],[(AlexAccPred (alex_action_18) ( allowAnti ))],[],[],[],[(AlexAccPred (alex_action_19) ( allowAnti ))],[],[(AlexAccPred (alex_action_20) ( allowAnti ))],[],[],[(AlexAccPred (alex_action_21) ( allowAnti ))],[],[],[],[],[(AlexAccPred (alex_action_22) ( allowAnti ))],[],[(AlexAccPred (alex_action_23) ( allowAnti ))],[],[],[],[(AlexAccPred (alex_action_24) ( allowAnti ))],[],[(AlexAccPred (alex_action_25) ( allowAnti ))],[],[(AlexAccPred (alex_action_26) ( allowAnti ))],[],[(AlexAccPred (alex_action_27) ( allowAnti ))],[],[],[(AlexAccPred (alex_action_28) ( allowAnti ))],[],[],[],[(AlexAccPred (alex_action_29) ( allowAnti ))],[],[],[],[],[],[(AlexAccPred (alex_action_30) ( allowAnti ))],[],[(AlexAccPred (alex_action_32) (alexPrevCharIs '\n'))],[(AlexAccPred (alex_action_32) (alexPrevCharIs '\n')),(AlexAccSkipPred (alexPrevCharIs '\n'))],[(AlexAccPred (alex_action_32) (alexPrevCharIs '\n'))],[(AlexAccPred (alex_action_32) (alexPrevCharIs '\n')),(AlexAccSkipPred (alexPrevCharIs '\n'))],[],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[(AlexAccPred (alex_action_33) (alexPrevCharIs '\n'))],[(AlexAccPred (alex_action_33) (alexPrevCharIs '\n')),(AlexAccSkipPred (alexPrevCharIs '\n'))],[(AlexAccPred (alex_action_33) (alexPrevCharIs '\n'))],[(AlexAccPred (alex_action_33) (alexPrevCharIs '\n')),(AlexAccSkipPred (alexPrevCharIs '\n'))],[],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAcc (alex_action_62))],[(AlexAccSkip)],[],[],[],[(AlexAccSkipPred (alexPrevCharIs '\n'))],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_40))],[(AlexAcc (alex_action_40))],[(AlexAcc (alex_action_40))],[(AlexAcc (alex_action_40))],[(AlexAcc (alex_action_40))],[(AlexAcc (alex_action_56))],[],[(AlexAcc (alex_action_41))],[(AlexAcc (alex_action_41))],[(AlexAcc (alex_action_42))],[(AlexAcc (alex_action_42))],[],[],[],[],[(AlexAcc (alex_action_41))],[(AlexAcc (alex_action_41))],[(AlexAcc (alex_action_41))],[(AlexAcc (alex_action_41))],[(AlexAcc (alex_action_41))],[(AlexAcc (alex_action_42))],[(AlexAcc (alex_action_42))],[(AlexAcc (alex_action_42))],[(AlexAcc (alex_action_42))],[(AlexAcc (alex_action_42))],[(AlexAcc (alex_action_43))],[(AlexAcc (alex_action_43))],[(AlexAcc (alex_action_43))],[(AlexAcc (alex_action_43))],[(AlexAcc (alex_action_43))],[(AlexAcc (alex_action_43))],[],[(AlexAcc (alex_action_44))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_46))],[(AlexAcc (alex_action_47))],[(AlexAcc (alex_action_48))],[(AlexAcc (alex_action_49))],[(AlexAcc (alex_action_50))],[(AlexAcc (alex_action_51))],[(AlexAcc (alex_action_52))],[(AlexAcc (alex_action_53))],[(AlexAcc (alex_action_54))],[(AlexAcc (alex_action_55))],[(AlexAcc (alex_action_57))],[(AlexAcc (alex_action_60))],[(AlexAcc (alex_action_58))],[],[(AlexAcc (alex_action_59))],[(AlexAcc (alex_action_61))],[(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_77))],[(AlexAcc (alex_action_69))],[(AlexAcc (alex_action_78))],[(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_81))],[(AlexAcc (alex_action_76))],[(AlexAcc (alex_action_79))],[(AlexAcc (alex_action_80))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_84))],[(AlexAcc (alex_action_85))],[(AlexAcc (alex_action_86))],[(AlexAcc (alex_action_87))],[(AlexAcc (alex_action_88))],[(AlexAcc (alex_action_89))],[(AlexAcc (alex_action_90))],[(AlexAcc (alex_action_91))],[(AlexAccPred (alex_action_92) ( ifExtension cudaExts ))],[(AlexAccPred (alex_action_93) ( ifExtension cudaExts ))]]-{-# LINE 218 "Language/C/Parser/Lexer.x" #-}--charEscapes :: [(Char, Char)]-charEscapes = [('n', '\n'),- ('t', '\t'),- ('v', '\v'),- ('b', '\b'),- ('r', '\r'),- ('f', '\f'),- ('a', '\a'),- ('\\', '\\'),- ('?', '?'),- ('\'', '\''),- ('\"', '\"')- ]--type Action = Pos -> B.ByteString -> Int -> P (L Token)--setLineFromPragma :: Action-setLineFromPragma pos buf len = do- setPos pos'- lexToken- where- (_ : l : ws) = (words . B.unpack . B.take len) buf- line = read l - 1- filename = (takeWhile (/= '\"') . drop 1 . concat . intersperse " ") ws-- pos' :: Pos- pos' = Pos (intern filename) line 1 (posCoff pos)--locateTok :: Pos -> Token -> P (L Token)-locateTok end tok = do- start <- getLastPos- setLastPos end- return $ L (Loc start end) tok--token :: Token -> Action-token tok pos buf len =- locateTok pos tok--identifier :: Action-identifier pos buf len =- case Map.lookup kw keywordMap of- Nothing -> nonKeyword- Just (tok, Nothing) -> keyword tok- Just (tok, Just i) -> do isKw <- useExts i- if isKw then keyword tok else nonKeyword- where- kw = (B.unpack . B.take len) buf-- keyword tok = locateTok pos tok-- nonKeyword = do- test <- isTypedef kw- if test- then locateTok pos (Tnamed kw)- else locateTok pos (Tidentifier kw)--lexAnti ::(String -> Token) -> Action-lexAnti antiTok pos buf len = do- c <- alexGetCharOrFail- s <- case c of- '(' -> lexExpression 0 ""- _ | isIdStartChar c -> lexIdChars [c]- | otherwise -> illegalCharacterLiteral pos- end <- getPos- locateTok end (antiTok s)- where- lexIdChars :: String -> P String- lexIdChars s = do- inp <- getInput- maybe_c <- alexMaybeGetChar- case maybe_c of- Nothing -> return (reverse s)- Just c | isIdChar c -> lexIdChars (c : s)- | otherwise -> setInput inp >> return (reverse s)-- lexExpression :: Int -> String -> P String- lexExpression depth s = do- inp <- getInput- maybe_c <- alexMaybeGetChar- case maybe_c of- Nothing -> return (reverse s)- Just '(' -> lexExpression (depth+1) ('(' : s)- Just ')' | depth == 0 -> return (reverse s)- | otherwise -> lexExpression (depth-1) (')' : s)- Just c -> lexExpression depth (c : s)-- isIdStartChar :: Char -> Bool- isIdStartChar '_' = True- isIdStartChar c = isLower c-- isIdChar :: Char -> Bool- isIdChar '_' = True- isIdChar '\'' = True- isIdChar c = isAlphaNum c--lexCharTok :: Action-lexCharTok pos buf len = do- c <- alexGetCharOrFail- case c of- '\'' -> emptyCharacterLiteral pos- '\\' -> do c <- lexEscape- quote <- alexGetCharOrFail- when (quote /= '\'') $- illegalCharacterLiteral pos- end <- getPos- raw <- liftM ('\'' :) (getBuffRange pos end)- locateTok end (TcharConst (raw, c))- _ -> do quote <- alexGetCharOrFail- when (quote /= '\'') $- illegalCharacterLiteral pos- end <- getPos- raw <- liftM ('\'' :) (getBuffRange pos end)- locateTok end (TcharConst (raw, c))--lexStringTok :: Action-lexStringTok pos buf len = do- s <- lexString ""- end <- getPos- raw <- liftM ('"' :) (getBuffRange pos end)- locateTok end (TstringConst (raw, s))- where- lexString :: String -> P String- lexString s = do- c <- alexGetCharOrFail- case c of- '"' -> return (reverse s)- '\\' -> do c' <- lexEscape- lexString (c' : s)- _ -> lexString (c : s)--lexEscape :: P Char-lexEscape = do- inp <- getInput- c <- alexGetCharOrFail- case c of- 'x' -> do i <- checkedReadNum isHexDigit 16 hexDigit- return $ chr i- n | isDigit n ->- do setInput inp- i <- checkedReadNum isOctDigit 8 octDigit- return $ chr i- c -> case lookup c charEscapes of- Nothing -> return c- Just c' -> return c'--type Radix = (Integer, Char -> Int)--decDigit :: Char -> Int-decDigit c | c >= '0' && c <= '9' = ord c - ord '0'- | otherwise = error "error in decimal constant"--octDigit :: Char -> Int-octDigit c | c >= '0' && c <= '7' = ord c - ord '0'- | otherwise = error "error in octal constant"--hexDigit :: Char -> Int-hexDigit c | c >= 'a' && c <= 'f' = ord c - ord 'a'- | c >= 'A' && c <= 'F' = ord c - ord 'A'- | c >= '0' && c <= '9' = ord c - ord '0'- | otherwise = error "error in hexadecimal constant"--decimal :: Radix-decimal = (10, decDigit)--octal :: Radix-octal = (8, octDigit)--hexadecimal :: Radix-hexadecimal = (16, hexDigit)--readInteger :: Radix -> ReadS Integer-readInteger (radix, charToInt) =- go 0- where- go :: Integer -> ReadS Integer- go x [] = return (x, "")- go x (c : cs) | isDigit c = go (x * radix + toInteger (charToInt c)) cs- | otherwise = return (x, c : cs)--readRational :: ReadS Rational-readRational s = do- (n, d, t) <- readFix s- (x, u) <- readExponent t- return ((n % 1) * 10^^(x - toInteger d), t)- where- readFix :: String -> [(Integer, Int, String)]- readFix s =- return (read (i ++ f), length f, u)- where- (i, t) = span isDigit s- (f, u) = case t of- '.' : u -> span isDigit u- _ -> ("", t)-- readExponent :: ReadS Integer- readExponent "" = return (0, "")- readExponent (e : s) | e `elem` "eE" = go s- | otherwise = return (0, s)- where- go :: ReadS Integer- go ('+' : s) = readDecimal s- go ('-' : s) = do (x, t) <- readDecimal s- return (-x, t)- go s = readDecimal s-- readDecimal :: ReadS Integer- readDecimal = readInteger decimal--lexInteger :: Int- -> Radix- -> Action-lexInteger ndrop radix pos buf len =- case i of- [n] -> locateTok pos (toToken n)- _ -> fail "bad parse for integer"- where- num :: String- num = (takeWhile isDigit . drop ndrop) s-- suffix :: String- suffix = (map toLower . takeWhile (not . isDigit) . reverse) s-- s :: String- s = (B.unpack . B.take len) buf-- i :: [Integer]- i = do (n, _) <- readInteger radix s- return n-- toToken :: Integer -> Token- toToken n =- case numElls of- 0 -> TintConst (s, isUnsigned, n)- 1 -> TlongIntConst (s, isUnsigned, n)- 2 -> TlongLongIntConst (s, isUnsigned, n)- where- numElls :: Int- numElls = (length . filter (== 'l')) suffix-- isUnsigned :: C.Signed- isUnsigned = if 'u' `elem` suffix then C.Unsigned else C.Signed--lexFloat :: Action-lexFloat pos buf len =- case i of- [n] -> locateTok pos (toToken n)- _ -> fail "bad parse for integer"- where- s :: String- s = (B.unpack . B.take len) buf-- prefix :: String- prefix = takeWhile (not . isSuffix) s-- suffix :: String- suffix = (map toLower . takeWhile isSuffix . reverse) s-- isSuffix :: Char -> Bool- isSuffix = (`elem` ['l', 'L', 'f', 'F'])-- i :: [Rational]- i = do (n, _) <- readRational s- return n-- toToken :: Rational -> Token- toToken n =- case suffix of- "" -> TdoubleConst (s, n)- "f" -> TfloatConst (s, n)- "l" -> TlongDoubleConst (s, n)--checkedReadNum :: (Char -> Bool) -> Int -> (Char -> Int) -> P Int-checkedReadNum isDigit base conv = do- c <- alexGetCharOrFail- when (not $ isDigit c) $- getPos >>= illegalNumericalLiteral- readNum isDigit base conv- where- readNum :: (Char -> Bool) -> Int -> (Char -> Int) -> P Int- readNum isDigit base conv = read 0- where- read :: Int -> P Int- read i = do- inp <- getInput- c <- alexGetCharOrFail- if isDigit c- then read (i*base + conv c)- else setInput inp >> return i--lexToken :: P (L Token)-lexToken = do- inp@(AlexInput pos buf off) <- getInput- sc <- getLexState- st <- get- case alexScanUser st inp sc of- AlexEOF -> return $ L (Loc pos pos) Teof- AlexError (AlexInput pos2 _ _) ->- lexerError pos2 ((text . B.unpack . B.take (min 80 (B.length rest))) rest)- where- rest = B.drop off buf- AlexSkip inp2 _ -> do- setInput inp2- pos <- getPos- setLastPos pos- lexToken- AlexToken inp2@(AlexInput end _ _) len t -> do- setInput inp2- t end (B.drop off buf) len--emptyCharacterLiteral :: Pos -> P a-emptyCharacterLiteral pos =- throw $ ParserException (getLoc pos) (text "empty character literal")--illegalCharacterLiteral :: Pos -> P a-illegalCharacterLiteral pos =- throw $ ParserException (getLoc pos) (text "illegal character literal")--illegalNumericalLiteral :: Pos -> P a-illegalNumericalLiteral pos =- throw $ ParserException (getLoc pos) (text "illegal numerical literal")--lexerError :: Pos -> Doc -> P a-lexerError pos s =- throw $ ParserException (getLoc pos) (text "lexer error on" <+> squotes s)---qq :: Int-qq = 1-alex_action_0 = token Ttypename -alex_action_1 = lexAnti Tanti_id -alex_action_2 = lexAnti Tanti_int -alex_action_3 = lexAnti Tanti_uint -alex_action_4 = lexAnti Tanti_lint -alex_action_5 = lexAnti Tanti_ulint -alex_action_6 = lexAnti Tanti_float -alex_action_7 = lexAnti Tanti_double -alex_action_8 = lexAnti Tanti_long_double -alex_action_9 = lexAnti Tanti_char -alex_action_10 = lexAnti Tanti_string -alex_action_11 = lexAnti Tanti_exp -alex_action_12 = lexAnti Tanti_func -alex_action_13 = lexAnti Tanti_args -alex_action_14 = lexAnti Tanti_decl -alex_action_15 = lexAnti Tanti_decls -alex_action_16 = lexAnti Tanti_sdecl -alex_action_17 = lexAnti Tanti_sdecls -alex_action_18 = lexAnti Tanti_enum -alex_action_19 = lexAnti Tanti_enums -alex_action_20 = lexAnti Tanti_esc -alex_action_21 = lexAnti Tanti_edecl -alex_action_22 = lexAnti Tanti_edecls -alex_action_23 = lexAnti Tanti_item -alex_action_24 = lexAnti Tanti_items -alex_action_25 = lexAnti Tanti_stm -alex_action_26 = lexAnti Tanti_stms -alex_action_27 = lexAnti Tanti_type -alex_action_28 = lexAnti Tanti_spec -alex_action_29 = lexAnti Tanti_param -alex_action_30 = lexAnti Tanti_params -alex_action_31 = lexAnti Tanti_exp -alex_action_32 = setLineFromPragma -alex_action_33 = setLineFromPragma -alex_action_39 = identifier -alex_action_40 = lexFloat -alex_action_41 = lexInteger 0 decimal -alex_action_42 = lexInteger 1 octal -alex_action_43 = lexInteger 2 hexadecimal -alex_action_44 = lexCharTok -alex_action_45 = lexStringTok -alex_action_46 = token Tlparen -alex_action_47 = token Trparen -alex_action_48 = token Tlbrack -alex_action_49 = token Trbrack -alex_action_50 = token Tlbrace -alex_action_51 = token Trbrace -alex_action_52 = token Tcomma -alex_action_53 = token Tsemi -alex_action_54 = token Tcolon -alex_action_55 = token Tquestion -alex_action_56 = token Tdot -alex_action_57 = token Tarrow -alex_action_58 = token Tellipses -alex_action_59 = token Tplus -alex_action_60 = token Tminus -alex_action_61 = token Tstar -alex_action_62 = token Tdiv -alex_action_63 = token Tmod -alex_action_64 = token Tnot -alex_action_65 = token Tand -alex_action_66 = token Tor -alex_action_67 = token Txor -alex_action_68 = token Tlsh -alex_action_69 = token Trsh -alex_action_70 = token Tinc -alex_action_71 = token Tdec -alex_action_72 = token Tlnot -alex_action_73 = token Tland -alex_action_74 = token Tlor -alex_action_75 = token Teq -alex_action_76 = token Tne -alex_action_77 = token Tlt -alex_action_78 = token Tgt -alex_action_79 = token Tle -alex_action_80 = token Tge -alex_action_81 = token Tassign -alex_action_82 = token Tadd_assign -alex_action_83 = token Tsub_assign -alex_action_84 = token Tmul_assign -alex_action_85 = token Tdiv_assign -alex_action_86 = token Tmod_assign -alex_action_87 = token Tand_assign -alex_action_88 = token Tor_assign -alex_action_89 = token Txor_assign -alex_action_90 = token Tlsh_assign -alex_action_91 = token Trsh_assign -alex_action_92 = token T3lt -alex_action_93 = token T3gt -{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command-line>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- -------------------------------------------------------------------------------- ALEX TEMPLATE------ This code is in the PUBLIC DOMAIN; you may copy it freely and use--- it for any purpose whatsoever.---- -------------------------------------------------------------------------------- INTERNALS and main scanner engine--{-# LINE 35 "templates/GenericTemplate.hs" #-}--{-# LINE 45 "templates/GenericTemplate.hs" #-}---data AlexAddr = AlexA# Addr#--#if __GLASGOW_HASKELL__ < 503-uncheckedShiftL# = shiftL#-#endif--{-# INLINE alexIndexInt16OffAddr #-}-alexIndexInt16OffAddr (AlexA# arr) off =-#ifdef WORDS_BIGENDIAN- narrow16Int# i- where- i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- low = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 2#-#else- indexInt16OffAddr# arr off-#endif------{-# INLINE alexIndexInt32OffAddr #-}-alexIndexInt32OffAddr (AlexA# arr) off = -#ifdef WORDS_BIGENDIAN- narrow32Int# i- where- i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`- (b2 `uncheckedShiftL#` 16#) `or#`- (b1 `uncheckedShiftL#` 8#) `or#` b0)- b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))- b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))- b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- b0 = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 4#-#else- indexInt32OffAddr# arr off-#endif------#if __GLASGOW_HASKELL__ < 503-quickIndex arr i = arr ! i-#else--- GHC >= 503, unsafeAt is available from Data.Array.Base.-quickIndex = unsafeAt-#endif------- -------------------------------------------------------------------------------- Main lexing routines--data AlexReturn a- = AlexEOF- | AlexError !AlexInput- | AlexSkip !AlexInput !Int- | AlexToken !AlexInput !Int a---- alexScan :: AlexInput -> StartCode -> AlexReturn a-alexScan input (I# (sc))- = alexScanUser undefined input (I# (sc))--alexScanUser user input (I# (sc))- = case alex_scan_tkn user input 0# input sc AlexNone of- (AlexNone, input') ->- case alexGetChar input of- Nothing -> ---- AlexEOF- Just _ ->---- AlexError input'-- (AlexLastSkip input len, _) ->---- AlexSkip input len-- (AlexLastAcc k input len, _) ->---- AlexToken input len k----- Push the input through the DFA, remembering the most recent accepting--- state it encountered.--alex_scan_tkn user orig_input len input s last_acc =- input `seq` -- strict in the input- let - new_acc = check_accs (alex_accept `quickIndex` (I# (s)))- in- new_acc `seq`- case alexGetChar input of- Nothing -> (new_acc, input)- Just (c, new_input) -> ---- let- 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)- then alexIndexInt16OffAddr alex_table offset- else alexIndexInt16OffAddr alex_deflt s- in- case new_s of - -1# -> (new_acc, input)- -- on an error, we want to keep the input *before* the- -- character that failed, not after.- _ -> alex_scan_tkn user orig_input (len +# 1#) - new_input new_s new_acc-- where- 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- = AlexLastAcc a input (I# (len))- check_accs (AlexAccSkipPred pred : rest)- | pred user orig_input (I# (len)) input- = AlexLastSkip input (I# (len))- check_accs (_ : rest) = check_accs rest--data AlexLastAcc a- = AlexNone- | AlexLastAcc a !AlexInput !Int- | AlexLastSkip !AlexInput !Int--data AlexAcc a user- = AlexAcc a- | AlexAccSkip- | AlexAccPred a (AlexAccPred user)- | AlexAccSkipPred (AlexAccPred user)--type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool---- -------------------------------------------------------------------------------- Predicates on a rule--alexAndPred p1 p2 user in1 len in2- = p1 user in1 len in2 && p2 user in1 len in2----alexPrevCharIsPred :: Char -> AlexAccPred _ -alexPrevCharIs c _ input _ _ = c == alexInputPrevChar input----alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _ -alexPrevCharIsOneOf arr _ input _ _ = arr ! alexInputPrevChar input----alexRightContext :: Int -> AlexAccPred _-alexRightContext (I# (sc)) user _ _ input = - case alex_scan_tkn user input 0# input sc AlexNone of- (AlexNone, _) -> False- _ -> True- -- TODO: there's no need to find the longest- -- match when checking the right context, just- -- the first match will do.---- used by wrappers-iUnbox (I# (i)) = i
− dist/build/Language/C/Parser/Parser.hs
@@ -1,6378 +0,0 @@-{-# OPTIONS_GHC -fno-warn-overlapping-patterns #-}-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# OPTIONS -w #-}---- Copyright (c) 2006-2010--- The President and Fellows of Harvard College.------ Redistribution and use in source and binary forms, with or without--- modification, are permitted provided that the following conditions--- are met:--- 1. Redistributions of source code must retain the above copyright--- notice, this list of conditions and the following disclaimer.--- 2. Redistributions in binary form must reproduce the above copyright--- notice, this list of conditions and the following disclaimer in the--- documentation and/or other materials provided with the distribution.--- 3. Neither the name of the University nor the names of its contributors--- may be used to endorse or promote products derived from this software--- without specific prior written permission.---- THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY AND CONTRIBUTORS ``AS IS'' AND--- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE--- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE--- ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE--- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL--- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS--- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)--- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT--- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY--- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF--- SUCH DAMAGE.------------------------------------------------------------------------------------- |--- Module : Language.C.Parser.Parser--- Copyright : (c) Harvard University 2006-2010--- License : BSD-style--- Maintainer : mainland@eecs.harvard.edu--------------------------------------------------------------------------------------module Language.C.Parser.Parser where--import Control.Monad (forM_,- when)-import Control.Monad.Exception-import Data.List (intersperse)-import Data.Loc-import Data.Maybe (catMaybes)-import Text.PrettyPrint.Mainland--import Language.C.Parser.Lexer-import Language.C.Parser.Monad-import qualified Language.C.Parser.Tokens as T-import Language.C.Pretty-import Language.C.Syntax-import qualified Language.C.Syntax as C-#if __GLASGOW_HASKELL__ >= 503-import qualified Data.Array as Happy_Data_Array-#else-import qualified Array as Happy_Data_Array-#endif-#if __GLASGOW_HASKELL__ >= 503-import qualified GHC.Exts as Happy_GHC_Exts-#else-import qualified GlaExts as Happy_GHC_Exts-#endif---- parser produced by Happy Version 1.18.4--newtype HappyAbsSyn = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn14 :: (Id) -> (HappyAbsSyn )-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> (Id)-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: (Id) -> (HappyAbsSyn )-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> (Id)-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: (Const) -> (HappyAbsSyn )-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> (Const)-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (Exp) -> (HappyAbsSyn )-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (Exp)-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (RevList (L (String, String))) -> (HappyAbsSyn )-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> (RevList (L (String, String)))-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (Exp) -> (HappyAbsSyn )-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> (Exp)-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (ExeConfig) -> (HappyAbsSyn )-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (ExeConfig)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (RevList Exp) -> (HappyAbsSyn )-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> (RevList Exp)-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (Exp) -> (HappyAbsSyn )-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> (Exp)-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: (Exp) -> (HappyAbsSyn )-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> (Exp)-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (Exp) -> (HappyAbsSyn )-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> (Exp)-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (Exp) -> (HappyAbsSyn )-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> (Exp)-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (Exp) -> (HappyAbsSyn )-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> (Exp)-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (Exp) -> (HappyAbsSyn )-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> (Exp)-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: (Exp) -> (HappyAbsSyn )-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> (Exp)-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Exp) -> (HappyAbsSyn )-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (Exp)-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (Exp) -> (HappyAbsSyn )-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (Exp)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (Exp) -> (HappyAbsSyn )-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> (Exp)-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (Exp) -> (HappyAbsSyn )-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> (Exp)-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (Exp) -> (HappyAbsSyn )-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> (Exp)-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: (Exp) -> (HappyAbsSyn )-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> (Exp)-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: (Exp) -> (HappyAbsSyn )-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> (Exp)-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (Exp) -> (HappyAbsSyn )-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (Exp)-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: (Maybe Exp) -> (HappyAbsSyn )-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> (Maybe Exp)-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: (Exp) -> (HappyAbsSyn )-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> (Exp)-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: (InitGroup) -> (HappyAbsSyn )-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> (InitGroup)-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: (InitGroup) -> (HappyAbsSyn )-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> (InitGroup)-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ((DeclSpec, Decl)) -> (HappyAbsSyn )-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> ((DeclSpec, Decl))-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: ((DeclSpec, Decl)) -> (HappyAbsSyn )-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> ((DeclSpec, Decl))-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: ((DeclSpec, Decl)) -> (HappyAbsSyn )-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> ((DeclSpec, Decl))-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: ([TySpec]) -> (HappyAbsSyn )-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> ([TySpec])-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: ([TySpec]) -> (HappyAbsSyn )-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> ([TySpec])-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (RevList Init) -> (HappyAbsSyn )-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> (RevList Init)-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (Maybe AsmLabel) -> (HappyAbsSyn )-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (Maybe AsmLabel)-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (Init) -> (HappyAbsSyn )-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (Init)-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (TySpec) -> (HappyAbsSyn )-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (TySpec)-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (TySpec) -> (HappyAbsSyn )-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> (TySpec)-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (TySpec) -> (HappyAbsSyn )-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> (TySpec)-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (L (Maybe Id -> Maybe [FieldGroup] -> [Attr] -> SrcLoc -> TySpec)) -> (HappyAbsSyn )-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> (L (Maybe Id -> Maybe [FieldGroup] -> [Attr] -> SrcLoc -> TySpec))-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (RevList FieldGroup) -> (HappyAbsSyn )-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (RevList FieldGroup)-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (FieldGroup) -> (HappyAbsSyn )-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (FieldGroup)-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: ([TySpec]) -> (HappyAbsSyn )-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> ([TySpec])-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: ([TySpec]) -> (HappyAbsSyn )-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> ([TySpec])-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: (RevList Field) -> (HappyAbsSyn )-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> (RevList Field)-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (Field) -> (HappyAbsSyn )-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> (Field)-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (TySpec) -> (HappyAbsSyn )-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> (TySpec)-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: (RevList CEnum) -> (HappyAbsSyn )-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> (RevList CEnum)-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: (CEnum) -> (HappyAbsSyn )-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> (CEnum)-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: (TySpec) -> (HappyAbsSyn )-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> (TySpec)-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: ((Id, Decl -> Decl)) -> (HappyAbsSyn )-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> ((Id, Decl -> Decl))-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: ((Id, Decl -> Decl)) -> (HappyAbsSyn )-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> ((Id, Decl -> Decl))-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: ((Id, Decl -> Decl)) -> (HappyAbsSyn )-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> ((Id, Decl -> Decl))-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: ((Id, Decl -> Decl)) -> (HappyAbsSyn )-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> ((Id, Decl -> Decl))-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: ((Id, Decl -> Decl)) -> (HappyAbsSyn )-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> ((Id, Decl -> Decl))-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: ((Id, Decl -> Decl)) -> (HappyAbsSyn )-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> ((Id, Decl -> Decl))-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: ((Id, Decl -> Decl)) -> (HappyAbsSyn )-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> ((Id, Decl -> Decl))-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: ((Id, Decl -> Decl)) -> (HappyAbsSyn )-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> ((Id, Decl -> Decl))-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (Decl -> Decl) -> (HappyAbsSyn )-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> (Decl -> Decl)-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (Decl -> Decl) -> (HappyAbsSyn )-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> (Decl -> Decl)-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (RevList TySpec) -> (HappyAbsSyn )-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> (RevList TySpec)-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (Params) -> (HappyAbsSyn )-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> (Params)-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (RevList Param) -> (HappyAbsSyn )-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> (RevList Param)-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (Param) -> (HappyAbsSyn )-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> (Param)-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (Type) -> (HappyAbsSyn )-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> (Type)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (RevList Id) -> (HappyAbsSyn )-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (RevList Id)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: (Type) -> (HappyAbsSyn )-happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> (Type)-happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: (Decl -> Decl) -> (HappyAbsSyn )-happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> (Decl -> Decl)-happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: (Decl -> Decl) -> (HappyAbsSyn )-happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> (Decl -> Decl)-happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: (TySpec) -> (HappyAbsSyn )-happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> (TySpec)-happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: (Initializer) -> (HappyAbsSyn )-happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> (Initializer)-happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: (RevList (Maybe Designation, Initializer)) -> (HappyAbsSyn )-happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> (RevList (Maybe Designation, Initializer))-happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: (Designation) -> (HappyAbsSyn )-happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> (Designation)-happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (RevList Designator) -> (HappyAbsSyn )-happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (RevList Designator)-happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: (Designator) -> (HappyAbsSyn )-happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> (Designator)-happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: (Stm) -> (HappyAbsSyn )-happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> (Stm)-happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (Stm) -> (HappyAbsSyn )-happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (Stm)-happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (Stm) -> (HappyAbsSyn )-happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (Stm)-happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: (RevList BlockItem) -> (HappyAbsSyn )-happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> (RevList BlockItem)-happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: (BlockItem) -> (HappyAbsSyn )-happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> (BlockItem)-happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: (()) -> (HappyAbsSyn )-happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> (())-happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: (()) -> (HappyAbsSyn )-happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> (())-happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: (RevList InitGroup) -> (HappyAbsSyn )-happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> (RevList InitGroup)-happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: (Stm) -> (HappyAbsSyn )-happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> (Stm)-happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: (Stm) -> (HappyAbsSyn )-happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> (Stm)-happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: (Stm) -> (HappyAbsSyn )-happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> (Stm)-happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (Stm) -> (HappyAbsSyn )-happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (Stm)-happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: ([Definition]) -> (HappyAbsSyn )-happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> ([Definition])-happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: (RevList Definition) -> (HappyAbsSyn )-happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> (RevList Definition)-happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: (Definition) -> (HappyAbsSyn )-happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> (Definition)-happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: (Func) -> (HappyAbsSyn )-happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> (Func)-happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: ([Attr]) -> (HappyAbsSyn )-happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> ([Attr])-happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: ([Attr]) -> (HappyAbsSyn )-happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> ([Attr])-happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: (RevList Attr) -> (HappyAbsSyn )-happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> (RevList Attr)-happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (Attr) -> (HappyAbsSyn )-happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (Attr)-happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (Id) -> (HappyAbsSyn )-happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (Id)-happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: (Bool) -> (HappyAbsSyn )-happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> (Bool)-happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: (Stm) -> (HappyAbsSyn )-happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> (Stm)-happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: (RevList String) -> (HappyAbsSyn )-happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> (RevList String)-happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyIn112 :: ([(String, Exp)]) -> (HappyAbsSyn )-happyIn112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn112 #-}-happyOut112 :: (HappyAbsSyn ) -> ([(String, Exp)])-happyOut112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut112 #-}-happyIn113 :: (RevList (String, Exp)) -> (HappyAbsSyn )-happyIn113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn113 #-}-happyOut113 :: (HappyAbsSyn ) -> (RevList (String, Exp))-happyOut113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut113 #-}-happyIn114 :: ((String, Exp)) -> (HappyAbsSyn )-happyIn114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn114 #-}-happyOut114 :: (HappyAbsSyn ) -> ((String, Exp))-happyOut114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut114 #-}-happyIn115 :: ([String]) -> (HappyAbsSyn )-happyIn115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn115 #-}-happyOut115 :: (HappyAbsSyn ) -> ([String])-happyOut115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut115 #-}-happyIn116 :: (RevList String) -> (HappyAbsSyn )-happyIn116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn116 #-}-happyOut116 :: (HappyAbsSyn ) -> (RevList String)-happyOut116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut116 #-}-happyIn117 :: (String) -> (HappyAbsSyn )-happyIn117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn117 #-}-happyOut117 :: (HappyAbsSyn ) -> (String)-happyOut117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut117 #-}-happyInTok :: ((L T.Token)) -> (HappyAbsSyn )-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> ((L T.Token))-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\xf2\x10\x6d\x07\x5d\x08\x19\x09\x53\x00\xad\x08\x7c\x06\xf6\x0f\xda\x03\x1d\x07\xad\x08\xc3\x04\x00\x00\x31\x01\x00\x00\x00\x00\x4f\x09\xf7\x16\xcf\x16\x00\x00\x27\x01\x00\x00\xf7\x16\xf7\x16\x3f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\xc7\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\xb9\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\xa8\x04\x15\x01\x2e\x04\xcd\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x04\x00\x00\x00\x00\xb5\x04\x13\x02\x9b\x09\x00\x00\xec\x03\xf8\x03\xed\x03\x6e\x03\xd1\x03\x97\x04\x90\x04\x95\x04\x89\x04\xfa\xff\x00\x00\x00\x00\x27\x00\x23\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\xec\x02\x00\x00\x00\x00\xf2\x10\xf2\x10\xf2\x10\xf2\x10\xf2\x10\xb8\x10\xb8\x10\x91\x10\xb3\x01\x91\x10\x53\x01\x9a\x04\xda\x03\x9c\x04\x0d\x00\x9b\x04\x42\x0c\x57\x10\x91\x04\x8d\x04\x3c\x04\x81\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\x07\x04\xf5\x0d\x1b\x01\x07\x04\x00\x00\x1b\x01\x07\x04\x5b\x04\xf5\x03\x00\x00\x54\x17\xf5\x03\x18\x01\x00\x00\x50\x11\xd4\x07\x00\x00\x18\x01\x57\x00\xf5\x03\x15\x01\xf5\x03\x0b\x00\x30\x10\x00\x00\x75\x04\x00\x00\x00\x00\x9c\x03\x00\x00\x86\x03\x7d\x01\x6c\x01\xae\x00\x00\x00\x00\x00\x00\x00\x23\x01\x58\x03\x74\x04\x00\x00\x6c\x04\x00\x00\xdc\x03\x00\x00\x88\x00\x30\x10\xd4\x07\x54\x17\x00\x00\xd4\x07\xb6\x03\x50\x11\x00\x00\x50\x11\x30\x10\x00\x00\x00\x00\x64\x03\x00\x00\x00\x00\xfd\x00\x00\x00\x33\x03\x00\x00\x38\x04\x2b\x0b\x00\x00\x00\x00\x00\x00\x34\x01\xf6\x0f\x02\x00\x00\x00\x30\x10\x0c\x00\x30\x10\x6f\x04\x00\x00\x30\x10\x30\x10\x00\x00\xec\x02\x20\x00\x00\x00\x00\x00\x30\x10\xd2\x00\x00\x00\x8a\x00\x1c\x04\xda\x03\x00\x00\x00\x00\x00\x00\x00\x00\x65\x04\x00\x00\x00\x00\x00\x00\x00\x00\xec\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xef\x03\xe2\x01\x78\x02\x67\x04\xe2\x01\xe2\x01\x00\x00\x00\x00\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\x30\x10\xbc\x09\x69\x0c\x57\x00\x57\x00\x00\x00\x00\x00\xfc\x0a\x00\x00\xda\x03\x00\x00\x00\x00\x05\x01\x00\x00\x00\x00\x00\x00\x63\x03\x00\x00\x63\x04\x54\x00\x2d\x00\x00\x00\x00\x00\x61\x04\x54\x00\xe3\x08\x00\x00\xcf\x16\xcf\x16\xcf\x16\x00\x00\xcf\x16\xf7\x16\x00\x00\x0d\x08\x00\x00\x00\x00\xbd\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x60\x04\x00\x00\xe3\x08\xa7\x03\x00\x00\x00\x00\x00\x00\x2d\x00\x62\x04\x4d\x02\x29\x04\x3e\x03\x00\x00\x4a\x04\x00\x00\x18\x00\x43\x04\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x02\x00\x00\xe4\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\xec\x03\xec\x03\x6b\x03\x6b\x03\x25\x03\x25\x03\x25\x03\x25\x03\x6e\x03\x6e\x03\xda\x02\x40\x04\x39\x04\x37\x04\x2d\x04\x1f\x03\x13\x03\x00\x00\x82\x05\x00\x00\x00\x00\x00\x00\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x00\x00\x36\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x04\xda\x03\x00\x00\x33\x04\x2c\x04\x28\x04\x30\x10\x00\x00\x00\x00\x00\x00\x92\x03\x00\x00\x00\x00\x1b\x02\x79\x03\x27\x03\x35\x04\x1e\x04\x00\x00\x27\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x0b\x25\x04\xe0\x0c\x00\x00\x00\x00\x58\x0f\x57\x0d\xc8\x01\xfd\x00\x21\x04\x1b\x04\x00\x00\x37\x01\x38\x04\x00\x00\x00\x00\x00\x00\x2a\x06\x0d\x03\xd9\x02\xb6\x02\x00\x00\x2e\x05\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\xd4\x07\x00\x00\x00\x00\xc8\x03\x30\x10\x00\x00\x00\x00\x1a\x04\x00\x00\x58\x03\x99\x00\x13\x04\x03\x01\x00\x00\xdc\x04\x00\x00\x8a\x04\x96\x00\x00\x00\x00\x00\x00\x00\x17\x04\xd4\x02\x00\x00\x0f\x04\xd1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x31\x11\x00\x00\x00\x00\x06\x04\x87\x02\x00\x00\x01\x04\x00\x00\x2a\x00\x00\x00\x00\x00\xd8\x05\x00\x00\xdb\x03\x00\x00\x00\x00\xf6\x03\x57\x0d\x00\x00\xee\x03\x00\x00\x31\x0f\x30\x10\x00\x00\x00\x00\xba\x0e\x00\x00\x00\x00\x00\x00\xad\x08\xd4\x01\x00\x00\x00\x00\xda\x03\x00\x00\xda\x03\x00\x00\xe7\x03\x00\x00\xda\x03\xdf\x03\x30\x10\x30\x10\x00\x00\xae\x03\x00\x00\x00\x00\xa5\x03\x00\x00\xf5\x0d\x30\x10\x00\x00\x00\x00\x83\x0a\x00\x00\x00\x00\xa4\x03\xa8\x03\x00\x00\x1c\x0e\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x2b\x00\xa7\x01\xe3\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x0e\x8a\x03\xe3\x09\x00\x00\x00\x00\x00\x00\x45\x02\x00\x00\x19\x03\x77\x03\x93\x0e\x3c\x03\x00\x00\x00\x00\x00\x00\x68\x03\x4e\x03\x35\x03\x00\x00\x2c\x03\x00\x00\x00\x00\x26\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x47\x02\x00\x00\x21\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\x5c\x0a\x1a\x03\x31\x11\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x01\x0c\x03\x00\x00\xd8\x02\x00\x00\xda\x03\x11\x02\xda\x03\xca\x0b\x00\x00\xfc\x02\x00\x00\x7e\x0d\x83\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x01\x00\x00\xda\x03\x00\x00\xda\x03\x00\x00\x30\x10\x05\x03\xca\x02\xc2\x02\x00\x00\x00\x00\xdd\x01\x00\x00\xaf\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\xda\x03\x00\x00\x00\x00\x94\x02\x93\x02\x50\x02\x3b\x02\x00\x00\x00\x00\x00\x00\x42\x02\x2c\x02\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x5c\x19\x95\x0a\x2e\x0e\x9e\x14\x8b\x01\xcd\x0e\x20\x13\xf0\x05\x8b\x14\xf5\x09\xe6\x03\x00\x00\x00\x00\x17\x03\x00\x00\x00\x00\x4c\x02\x27\x02\x38\x06\x00\x00\xb1\x00\x00\x00\x19\x02\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x77\x04\x00\x00\xd0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x15\xe1\x01\x00\x00\x21\x0c\xd7\x0b\x38\x0b\xf0\x09\x75\x09\x1c\x0a\xf7\x06\x3f\x09\x00\x00\x2f\x18\x00\x00\x00\x00\x32\x14\x00\x00\x1c\x02\x00\x00\x45\x19\xa5\x06\x00\x00\x00\x00\x9c\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\x90\x15\x54\x02\x00\x00\x00\x00\x95\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x07\x00\x00\xe1\x02\x00\x00\xdb\x02\x22\x02\x00\x00\x47\x01\x03\x02\x00\x00\xe5\x01\x00\x00\x00\x00\xff\x1a\x00\x00\x00\x00\x00\x00\x00\x00\xba\x01\x00\x00\xad\x01\x69\x01\x7e\x01\x17\x06\x00\x00\x00\x00\x00\x00\xf9\x01\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x01\x18\x18\x9a\x01\x0c\x04\x00\x00\xf6\x01\x00\x00\x28\x15\x00\x00\xe3\x14\x01\x18\x00\x00\x00\x00\x82\x01\x00\x00\x00\x00\xa8\x01\x00\x00\x71\x01\x00\x00\x08\x16\xf0\x16\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x05\x6b\x01\x00\x00\xea\x17\x89\x01\xe9\x1a\x00\x00\x00\x00\x2e\x19\x17\x19\x00\x00\xf0\x14\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\xf0\x15\x00\x00\x1b\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x11\x00\x00\x86\x02\x00\x00\x00\x00\x58\x02\xd2\x01\x00\x00\x00\x00\xe9\x18\xd8\x0d\x56\x0b\x14\x0f\xab\x09\xdd\x0a\x66\x0a\x3d\x0a\x73\x0c\x7e\x0b\x06\x0b\x8d\x0a\xc9\x0c\x4e\x0c\x2c\x08\x50\x06\x09\x09\xb9\x08\x69\x08\xd3\x1a\xbd\x1a\xa7\x1a\x91\x1a\x7b\x1a\x65\x1a\x4f\x1a\x39\x1a\x23\x1a\x0d\x1a\xf7\x19\xb5\x19\xd2\x18\x61\x01\x38\x01\x00\x00\x00\x00\x73\x19\x00\x00\x04\x14\x00\x00\x00\x00\x9c\x16\x00\x00\x00\x00\x00\x00\x83\x16\x00\x00\x00\x00\x29\x01\x87\x01\x00\x00\x00\x00\x00\x00\xe5\x00\xca\x11\x00\x00\x98\x04\xf9\x03\x52\x03\x00\x00\xfe\x02\xb2\x01\x00\x00\xdc\x0b\x00\x00\x00\x00\x7b\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x12\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xee\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\xa5\x17\x00\x00\x00\x00\x00\x00\x79\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x13\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x15\x00\x00\x79\x17\x00\x00\x00\x00\xd8\x06\x3c\x11\x00\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x0c\x00\x00\x00\x00\x00\x00\x5f\x08\x30\x01\x20\x01\x13\x01\x00\x00\x5c\x16\x00\x00\x00\x00\x00\x00\x5f\x07\x00\x00\xa8\x00\x00\x00\x00\x00\x5f\x00\xcb\x16\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x6d\x00\x00\x00\x32\x16\x00\x00\x7e\x06\x0c\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x99\x12\x00\x00\x65\x00\x00\x00\x00\x00\x00\x00\x63\x17\x00\x00\x00\x00\x00\x00\xd8\x06\xe1\x19\x00\x00\x00\x00\x4d\x05\x00\x00\x00\x00\x00\x00\xb0\x08\x00\x00\x00\x00\x00\x00\x94\x13\x00\x00\x7d\x13\x00\x00\x00\x00\x00\x00\x24\x13\x00\x00\x46\x18\xbb\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x15\x15\x1b\x00\x00\x00\x00\xcb\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x23\x12\x67\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x04\x00\x00\x9f\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\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\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x19\x00\x00\xbc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x13\x00\x00\xf6\x12\x8d\x18\x00\x00\x00\x00\x00\x00\xa6\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x12\x00\x00\x86\x12\x00\x00\x76\x18\xdf\xff\x00\x00\x96\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x12\x00\x00\x00\x00\x00\x00\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\xff\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\xfe\x00\x00\x00\x00\xf4\xff\x00\x00\x79\xff\x78\xff\x76\xff\x67\xff\x75\xff\x4b\xff\x00\x00\x4a\xff\x65\xff\x71\xff\x00\x00\xc1\xfe\x5a\xff\x53\xff\x19\xff\x4e\xff\x00\x00\x57\xff\x4f\xff\x18\xff\x51\xff\x50\xff\x59\xff\x17\xff\x52\xff\x4d\xff\x58\xff\x40\xff\x55\xff\x3f\xff\x4c\xff\x54\xff\x16\xff\x49\xff\x00\x00\x15\xff\x14\xff\x13\xff\x12\xff\x11\xff\x10\xff\x00\x00\x77\xff\x7b\xff\x6c\xfe\x00\x00\x00\x00\x00\x00\x72\xfe\x71\xfe\x6d\xfe\x6b\xfe\x7c\xff\x6a\xfe\x69\xfe\x70\xfe\xe0\xff\xdf\xff\xd7\xff\xde\xff\xc0\xff\xb4\xff\xb1\xff\xad\xff\xaa\xff\xa7\xff\xa2\xff\x9f\xff\x9d\xff\x9b\xff\x99\xff\x97\xff\x95\xff\x93\xff\x87\xff\x00\x00\x00\x00\xad\xfe\xac\xfe\xab\xfe\xaa\xfe\xa9\xfe\xa8\xfe\xa7\xfe\xea\xff\xd9\xff\xf0\xff\xef\xff\xee\xff\xed\xff\xec\xff\xeb\xff\x00\x00\x97\xfe\x91\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\xfe\x00\x00\xf3\xff\xe9\xff\xe8\xff\xe7\xff\xe6\xff\xe5\xff\xe4\xff\xe3\xff\xe2\xff\xe1\xff\xda\xff\xa6\xfe\xe0\xff\xbb\xfe\x00\x00\x00\x00\xdb\xfe\x00\x00\xd8\xfe\xd7\xfe\x00\x00\x1c\xff\x00\x00\x1a\xff\x30\xff\x00\x00\x00\x00\xe3\xfe\x00\x00\x34\xff\x37\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\xff\x7f\xff\x63\xff\xfd\xfe\x0f\xff\xfc\xfe\x06\xff\x00\x00\x00\x00\x80\xff\x66\xfe\x7d\xff\x04\xff\x00\x00\xe7\xfe\x00\x00\xf2\xff\x00\x00\xf1\xff\x00\x00\x2b\xff\x29\xff\x00\x00\x33\xff\x30\xff\xe2\xfe\x32\xff\x00\x00\x2f\xff\x36\xff\x2d\xff\x00\x00\xf3\xfe\xf2\xfe\xfb\xfe\xd6\xfe\xc7\xfe\xcc\xfe\xd5\xfe\xcb\xfe\xf9\xfe\x00\x00\x00\x00\xda\xfe\xd9\xfe\xb6\xfe\x00\x00\x00\x00\x00\x00\xb1\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x4c\xfe\x00\x00\x00\x00\xb7\xff\x00\x00\x00\x00\x76\xfe\x77\xfe\x00\x00\x00\x00\x7d\xfe\x00\x00\x00\x00\x00\x00\x7a\xfe\x7b\xfe\xb4\xff\x83\xff\x00\x00\x78\xfe\x79\xfe\xb8\xff\xbe\xff\x00\x00\xbf\xff\xbd\xff\xb9\xff\xbc\xff\xba\xff\xbb\xff\x00\x00\x00\x00\xd1\xfe\x00\x00\x00\x00\xd2\xfe\xce\xfe\x8f\xfe\x90\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\xc9\xff\x00\x00\xd8\xff\x00\x00\x6f\xfe\x6e\xfe\x00\x00\x82\xff\xc0\xfe\xbf\xfe\x00\x00\x56\xff\x25\xff\x00\x00\x00\x00\x70\xff\x64\xff\x48\xff\x00\x00\x00\x00\x74\xff\x6d\xff\x6b\xff\x69\xff\x66\xff\x73\xff\x6f\xff\x7a\xff\x00\x00\x95\xfe\x68\xfe\x00\x00\x94\xfe\x6e\xff\x72\xff\x68\xff\x6a\xff\x6c\xff\x00\x00\x3e\xff\x3d\xff\x47\xff\x65\xfe\x00\x00\x00\x00\x21\xff\x20\xff\x24\xff\x00\x00\x00\x00\x00\x00\x5f\xff\x61\xff\x5b\xff\x00\x00\xa5\xfe\x00\x00\xc5\xff\xc4\xff\xc3\xff\xcb\xff\xcc\xff\x00\x00\xd6\xff\x00\x00\xd4\xff\xd3\xff\x89\xff\x88\xff\x8a\xff\x8b\xff\x8c\xff\x8f\xff\x90\xff\x91\xff\x8d\xff\x8e\xff\x92\xff\xae\xff\xaf\xff\xb0\xff\xab\xff\xac\xff\xa8\xff\xa9\xff\xa3\xff\xa4\xff\xa5\xff\xa6\xff\xa0\xff\xa1\xff\x9e\xff\x9c\xff\x9a\xff\x98\xff\x96\xff\x00\x00\xcc\xfe\xcd\xfe\x00\x00\xd0\xfe\xdb\xff\xb2\xff\x00\x00\xcf\xfe\xdc\xff\xdd\xff\x9d\xfe\x9c\xfe\x96\xfe\x9f\xfe\x00\x00\xa1\xfe\x9b\xfe\x99\xfe\x98\xfe\x9a\xfe\x00\x00\x00\x00\xa3\xfe\x00\x00\x84\xff\x00\x00\x85\xff\x85\xfe\x7c\xfe\x7e\xfe\x00\x00\x74\xfe\x75\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\xfe\x00\x00\xb0\xfe\xb2\xfe\xb5\xfe\xb9\xfe\xba\xfe\x00\x00\x00\x00\x00\x00\xf0\xfe\xf1\xfe\x00\x00\x00\x00\x00\x00\xcc\xfe\x00\x00\xe1\xfe\xdf\xfe\x00\x00\x00\x00\xc5\xfe\xde\xfe\xc6\xfe\x00\x00\x0e\xff\xfa\xfe\xca\xfe\xf7\xfe\x00\x00\x1b\xff\x2c\xff\x2e\xff\x00\x00\x39\xff\x31\xff\x35\xff\x27\xff\x28\xff\x00\x00\x3a\xff\x38\xff\x00\x00\xe5\xfe\xe6\xfe\x00\x00\x7e\xff\x05\xff\x01\xff\x00\x00\x0a\xff\x00\x00\x00\x00\x86\xff\x62\xff\xd4\xfe\x00\x00\x00\x00\x09\xff\x00\x00\x00\x00\x00\xff\x02\xff\x03\xff\xe4\xfe\x00\x00\x26\xff\x2a\xff\x00\x00\x00\x00\xf6\xfe\x00\x00\xc3\xfe\xcc\xfe\xc8\xfe\xc9\xfe\x00\x00\xc4\xfe\x00\x00\x0b\xff\x0c\xff\x00\x00\x00\x00\xe9\xfe\x00\x00\xef\xfe\x00\x00\x00\x00\xee\xfe\xb4\xfe\x00\x00\xb7\xfe\xb8\xfe\xaf\xfe\x00\x00\x00\x00\x47\xfe\x88\xfe\x00\x00\x8a\xfe\x00\x00\xb5\xff\xb6\xff\x8c\xfe\x00\x00\x00\x00\x85\xff\x00\x00\xa4\xfe\x00\x00\xa2\xfe\x9e\xfe\x00\x00\xb3\xff\x00\x00\x00\x00\xd2\xff\xd1\xff\x00\x00\xd5\xff\xd0\xff\x00\x00\x00\x00\x5e\xff\x00\x00\xbc\xfe\xbd\xfe\xbe\xfe\x00\x00\x23\xff\x1f\xff\x00\x00\x00\x00\x3c\xff\x45\xff\x46\xff\x3b\xff\x93\xfe\x67\xfe\x92\xfe\x00\x00\x43\xff\x44\xff\x1e\xff\x1d\xff\x22\xff\x5d\xff\x00\x00\x00\x00\x00\x00\xc2\xff\xc1\xff\x94\xff\x00\x00\xa0\xfe\x00\x00\x00\x00\x00\x00\x8e\xfe\x8b\xfe\x89\xfe\x46\xfe\x00\x00\x45\xfe\x00\x00\xb3\xfe\x00\x00\xe8\xfe\xed\xfe\x00\x00\xec\xfe\xf8\xfe\xdd\xfe\xe0\xfe\xdc\xfe\xc2\xfe\xf4\xfe\x00\x00\xf5\xfe\x5f\xfe\x00\x00\x63\xfe\x61\xfe\x59\xfe\x51\xfe\x58\xfe\x4f\xfe\x5d\xfe\x50\xfe\x5a\xfe\x52\xfe\x55\xfe\x5c\xfe\x54\xfe\x53\xfe\x5e\xfe\x5b\xfe\x56\xfe\x4e\xfe\x57\xfe\xfe\xfe\xff\xfe\x07\xff\x08\xff\x00\x00\x00\x00\x00\x00\xd3\xfe\xeb\xfe\xea\xfe\xc6\xff\x00\x00\x44\xfe\x43\xfe\x00\x00\x4b\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x86\xfe\x00\x00\xc8\xff\x00\x00\x00\x00\xcf\xff\x60\xff\x5c\xff\x41\xff\x42\xff\xce\xff\xcd\xff\xc7\xff\x87\xfe\x00\x00\x82\xfe\x00\x00\x84\xfe\x00\x00\x8d\xfe\x00\x00\x00\x00\x00\x00\x45\xfe\x62\xfe\x64\xfe\x00\x00\x60\xfe\x00\x00\x4a\xfe\x42\xfe\x00\x00\x81\xfe\x83\xfe\x7f\xfe\x00\x00\x80\xfe\x41\xfe\x00\x00\x40\xfe\x00\x00\x3f\xfe\x3e\xfe\x3c\xfe\x49\xfe\x00\x00\x00\x00\x48\xfe\x3d\xfe"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x00\x00\x14\x00\x0d\x00\x0f\x00\x10\x00\x67\x00\x12\x00\x00\x00\x09\x00\x09\x00\x15\x00\x00\x00\x18\x00\x19\x00\x1a\x00\x11\x00\x09\x00\x1d\x00\x1e\x00\x00\x00\x27\x00\x00\x00\x01\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x01\x00\x0c\x00\x21\x00\x65\x00\x66\x00\x67\x00\x11\x00\x2e\x00\x11\x00\x12\x00\x09\x00\x09\x00\x0b\x00\x09\x00\x0d\x00\x11\x00\x12\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x64\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x09\x00\x09\x00\x0a\x00\x5e\x00\x09\x00\x0a\x00\x61\x00\x62\x00\x63\x00\x5b\x00\x00\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x6d\x00\x6d\x00\x7a\x00\x7b\x00\x65\x00\x5c\x00\x5d\x00\x5e\x00\x6d\x00\x5a\x00\x5b\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x8b\x00\x6d\x00\x6d\x00\x00\x00\x6d\x00\x13\x00\x12\x00\x00\x00\x39\x00\x09\x00\x0a\x00\x0b\x00\x18\x00\x19\x00\x1a\x00\x0c\x00\x39\x00\x1d\x00\x1e\x00\x7e\x00\x7f\x00\x7e\x00\x7f\x00\x23\x00\x24\x00\x25\x00\x1a\x00\x00\x00\x01\x00\x5f\x00\x09\x00\x0a\x00\x0b\x00\x09\x00\x0a\x00\x0b\x00\x5b\x00\x0c\x00\x00\x00\x01\x00\x13\x00\x30\x00\x6d\x00\x6d\x00\x13\x00\x39\x00\x6d\x00\x1a\x00\x3c\x00\x3d\x00\x1a\x00\x3a\x00\x3b\x00\x41\x00\x2f\x00\x43\x00\x44\x00\x45\x00\x00\x00\x7e\x00\x00\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x30\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x39\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x12\x00\x00\x00\x01\x00\x5f\x00\x43\x00\x09\x00\x0a\x00\x61\x00\x62\x00\x63\x00\x00\x00\x0f\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x32\x00\x6d\x00\x7a\x00\x00\x00\x09\x00\x0a\x00\x0b\x00\x39\x00\x0d\x00\x5a\x00\x5b\x00\x5f\x00\x0b\x00\x0a\x00\x0d\x00\x87\x00\x88\x00\x43\x00\x0f\x00\x00\x00\x11\x00\x12\x00\x6d\x00\x5d\x00\x5e\x00\x6d\x00\x2e\x00\x2f\x00\x09\x00\x0a\x00\x0b\x00\x09\x00\x0a\x00\x0b\x00\x09\x00\x0a\x00\x0b\x00\x12\x00\x0d\x00\x00\x00\x01\x00\x13\x00\x09\x00\x0a\x00\x0b\x00\x1a\x00\x09\x00\x0a\x00\x1a\x00\x2e\x00\x00\x00\x1a\x00\x0f\x00\x00\x00\x00\x00\x01\x00\x09\x00\x0a\x00\x0b\x00\x1a\x00\x39\x00\x5f\x00\x5b\x00\x3c\x00\x3d\x00\x0c\x00\x10\x00\x11\x00\x41\x00\x00\x00\x43\x00\x44\x00\x45\x00\x1a\x00\x39\x00\x6d\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x4f\x00\x50\x00\x00\x00\x52\x00\x53\x00\x39\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x00\x00\x0a\x00\x00\x00\x01\x00\x5e\x00\x5f\x00\x12\x00\x10\x00\x62\x00\x63\x00\x39\x00\x6d\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x2b\x00\x2c\x00\x5f\x00\x09\x00\x0a\x00\x0b\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x3a\x00\x6d\x00\x61\x00\x5b\x00\x6d\x00\x5f\x00\x00\x00\x6d\x00\x00\x00\x21\x00\x00\x00\x87\x00\x88\x00\x11\x00\x12\x00\x6d\x00\x32\x00\x3c\x00\x3d\x00\x6d\x00\x00\x00\x37\x00\x41\x00\x39\x00\x43\x00\x30\x00\x45\x00\x5a\x00\x5b\x00\x6d\x00\x49\x00\x4a\x00\x4b\x00\x43\x00\x4d\x00\x3a\x00\x4f\x00\x50\x00\x00\x00\x00\x00\x53\x00\x39\x00\x2e\x00\x56\x00\x57\x00\x58\x00\x59\x00\x32\x00\x0a\x00\x34\x00\x00\x00\x49\x00\x2e\x00\x2f\x00\x10\x00\x62\x00\x63\x00\x2f\x00\x39\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x5a\x00\x5b\x00\x12\x00\x31\x00\x32\x00\x00\x00\x0c\x00\x30\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x13\x00\x1f\x00\x7c\x00\x7d\x00\x0c\x00\x23\x00\x02\x00\x42\x00\x43\x00\x6d\x00\x32\x00\x5e\x00\x5f\x00\x87\x00\x88\x00\x37\x00\x0c\x00\x39\x00\x30\x00\x3c\x00\x3d\x00\x00\x00\x39\x00\x13\x00\x41\x00\x0c\x00\x43\x00\x43\x00\x45\x00\x0b\x00\x11\x00\x0d\x00\x49\x00\x4a\x00\x4b\x00\x39\x00\x4d\x00\x00\x00\x4f\x00\x50\x00\x00\x00\x00\x00\x53\x00\x5f\x00\x1a\x00\x56\x00\x57\x00\x58\x00\x59\x00\x0c\x00\x0a\x00\x00\x00\x01\x00\x20\x00\x11\x00\x22\x00\x10\x00\x62\x00\x63\x00\x39\x00\x3a\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x42\x00\x43\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x00\x00\x00\x00\x0c\x00\x0b\x00\x3a\x00\x0d\x00\x1f\x00\x11\x00\x7c\x00\x7d\x00\x23\x00\x30\x00\x0c\x00\x15\x00\x16\x00\x31\x00\x32\x00\x33\x00\x34\x00\x87\x00\x88\x00\x4f\x00\x3b\x00\x30\x00\x3a\x00\x3c\x00\x3d\x00\x23\x00\x24\x00\x1f\x00\x41\x00\x00\x00\x43\x00\x23\x00\x45\x00\x12\x00\x5a\x00\x5b\x00\x49\x00\x4a\x00\x4b\x00\x02\x00\x4d\x00\x1f\x00\x4f\x00\x50\x00\x30\x00\x23\x00\x53\x00\x11\x00\x00\x00\x56\x00\x57\x00\x58\x00\x59\x00\x30\x00\x0c\x00\x00\x00\x10\x00\x11\x00\x30\x00\x11\x00\x0c\x00\x62\x00\x63\x00\x0c\x00\x3b\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x24\x00\x25\x00\x26\x00\x0f\x00\x7c\x00\x7d\x00\x12\x00\x64\x00\x00\x00\x2d\x00\x10\x00\x11\x00\x18\x00\x19\x00\x1a\x00\x87\x00\x88\x00\x1d\x00\x1e\x00\x00\x00\x0c\x00\x31\x00\x32\x00\x23\x00\x24\x00\x25\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x0c\x00\x44\x00\x39\x00\x3a\x00\x0c\x00\x11\x00\x02\x00\x42\x00\x43\x00\x11\x00\x0e\x00\x42\x00\x43\x00\x11\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x12\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x39\x00\x3a\x00\x0b\x00\x5e\x00\x0d\x00\x02\x00\x61\x00\x62\x00\x63\x00\x42\x00\x43\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x12\x00\x0c\x00\x7a\x00\x7b\x00\x0c\x00\x00\x00\x11\x00\x0b\x00\x0b\x00\x11\x00\x0d\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x62\x00\x63\x00\x64\x00\x0f\x00\x62\x00\x63\x00\x64\x00\x24\x00\x25\x00\x26\x00\x28\x00\x29\x00\x18\x00\x19\x00\x1a\x00\x02\x00\x2d\x00\x1d\x00\x1e\x00\x30\x00\x2b\x00\x2c\x00\x12\x00\x23\x00\x24\x00\x25\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x00\x00\x0b\x00\x00\x00\x0d\x00\x3a\x00\x1e\x00\x11\x00\x0b\x00\x44\x00\x0d\x00\x23\x00\x24\x00\x25\x00\x26\x00\x0c\x00\x0c\x00\x00\x00\x3c\x00\x3d\x00\x11\x00\x2d\x00\x0b\x00\x41\x00\x30\x00\x43\x00\x11\x00\x45\x00\x13\x00\x0c\x00\x0e\x00\x49\x00\x4a\x00\x4b\x00\x11\x00\x4d\x00\x0e\x00\x4f\x00\x50\x00\x51\x00\x0b\x00\x53\x00\x0d\x00\x0c\x00\x56\x00\x57\x00\x58\x00\x59\x00\x21\x00\x22\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x61\x00\x62\x00\x63\x00\x02\x00\x3a\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0b\x00\x1e\x00\x0d\x00\x1a\x00\x87\x00\x88\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x12\x00\x18\x00\x19\x00\x1a\x00\x42\x00\x2d\x00\x1d\x00\x1e\x00\x30\x00\x18\x00\x19\x00\x0c\x00\x23\x00\x24\x00\x25\x00\x12\x00\x11\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x0b\x00\x00\x00\x0d\x00\x2d\x00\x3d\x00\x0c\x00\x30\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x5e\x00\x5f\x00\x0c\x00\x3c\x00\x3d\x00\x49\x00\x3b\x00\x11\x00\x41\x00\x4d\x00\x43\x00\x0b\x00\x45\x00\x0d\x00\x02\x00\x44\x00\x49\x00\x4a\x00\x4b\x00\x0b\x00\x4d\x00\x59\x00\x4f\x00\x50\x00\x51\x00\x10\x00\x53\x00\x10\x00\x11\x00\x56\x00\x57\x00\x58\x00\x59\x00\x0f\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x61\x00\x62\x00\x63\x00\x11\x00\x12\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x0b\x00\x0b\x00\x0c\x00\x0d\x00\x0f\x00\x87\x00\x88\x00\x12\x00\x11\x00\x12\x00\x00\x00\x0c\x00\x12\x00\x18\x00\x19\x00\x1a\x00\x11\x00\x0f\x00\x1d\x00\x1e\x00\x28\x00\x29\x00\x0c\x00\x0e\x00\x23\x00\x24\x00\x25\x00\x11\x00\x1b\x00\x1c\x00\x1d\x00\x0e\x00\x1f\x00\x1a\x00\x1b\x00\x1c\x00\x23\x00\x24\x00\x25\x00\x26\x00\x0c\x00\x21\x00\x22\x00\x18\x00\x19\x00\x0c\x00\x2d\x00\x3a\x00\x3b\x00\x30\x00\x1e\x00\x3e\x00\x3f\x00\x40\x00\x0c\x00\x23\x00\x24\x00\x25\x00\x26\x00\x46\x00\x47\x00\x48\x00\x0c\x00\x11\x00\x0b\x00\x2d\x00\x5f\x00\x4e\x00\x30\x00\x44\x00\x51\x00\x11\x00\x0c\x00\x54\x00\x11\x00\x24\x00\x25\x00\x26\x00\x0e\x00\x5a\x00\x0e\x00\x2a\x00\x02\x00\x5e\x00\x2d\x00\x12\x00\x61\x00\x30\x00\x11\x00\x0b\x00\x59\x00\x0c\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x10\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x1a\x00\x26\x00\x11\x00\x0b\x00\x1f\x00\x2e\x00\x00\x00\x20\x00\x02\x00\x03\x00\x04\x00\x05\x00\x1e\x00\x85\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\x0c\x00\x0f\x00\x0f\x00\x39\x00\x0f\x00\x0c\x00\x3c\x00\x3d\x00\x5a\x00\x00\x00\x13\x00\x41\x00\x0b\x00\x43\x00\x44\x00\x45\x00\x12\x00\x0b\x00\x8b\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x11\x00\x4f\x00\x50\x00\x2e\x00\x52\x00\x53\x00\x0b\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x09\x00\x0a\x00\x59\x00\x0c\x00\x20\x00\x0b\x00\x22\x00\x62\x00\x63\x00\x0b\x00\x45\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x0b\x00\x0b\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x13\x00\x8b\x00\x26\x00\x20\x00\x3a\x00\x5a\x00\x5b\x00\x1f\x00\x1e\x00\x1e\x00\x02\x00\x13\x00\x8b\x00\x12\x00\x23\x00\x24\x00\x25\x00\x26\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x39\x00\x0b\x00\x2d\x00\x3c\x00\x3d\x00\x30\x00\x02\x00\x8b\x00\x41\x00\x09\x00\x43\x00\x44\x00\x45\x00\xff\xff\x5a\x00\x5b\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x09\x00\x0a\x00\xff\xff\x0c\x00\xff\xff\xff\xff\xff\xff\x62\x00\x63\x00\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x09\x00\x0a\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x45\x00\x62\x00\x63\x00\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x5b\x00\xff\xff\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\x87\x00\x88\x00\x89\x00\x8a\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x62\x00\x63\x00\x45\x00\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x1a\x00\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x45\x00\x62\x00\x63\x00\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x17\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\x00\x00\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\xff\xff\x0a\x00\x45\x00\x0c\x00\x20\x00\xff\xff\x22\x00\x62\x00\x63\x00\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\x00\x00\x3a\x00\x02\x00\x03\x00\x04\x00\x05\x00\x1e\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x23\x00\x24\x00\x25\x00\x26\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x39\x00\xff\xff\x2d\x00\x3c\x00\x3d\x00\x30\x00\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x5b\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\x00\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\xff\xff\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x62\x00\x63\x00\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x2d\x00\xff\xff\x08\x00\x30\x00\xff\xff\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x3c\x00\x3d\x00\x3e\x00\x41\x00\x40\x00\x43\x00\x44\x00\x45\x00\x44\x00\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x0a\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x62\x00\x63\x00\x08\x00\x09\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x2d\x00\xff\xff\x08\x00\x30\x00\xff\xff\xff\xff\x87\x00\x88\x00\x89\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\x00\x00\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x44\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x0a\x00\x58\x00\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x62\x00\x63\x00\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\x78\x00\x3a\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\x00\x00\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x0a\x00\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x62\x00\x63\x00\x08\x00\x09\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x78\x00\xff\xff\x7a\x00\xff\xff\x3a\x00\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\x62\x00\x63\x00\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\x2d\x00\xff\xff\x78\x00\x30\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\x3d\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x49\x00\xff\xff\x62\x00\x63\x00\x4d\x00\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\x00\x00\x59\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x7a\x00\x7b\x00\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x0a\x00\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x62\x00\x63\x00\x08\x00\x09\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x7a\x00\x7b\x00\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x3c\x00\x3d\x00\x3e\x00\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\x44\x00\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x0a\x00\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x62\x00\x63\x00\x08\x00\x09\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\x0a\x00\x41\x00\x3f\x00\x43\x00\x44\x00\x45\x00\xff\xff\x44\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x62\x00\x63\x00\x08\x00\x09\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\x0a\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\xff\xff\x4d\x00\xff\xff\x4f\x00\x50\x00\x87\x00\x88\x00\x53\x00\xff\xff\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x62\x00\x63\x00\x08\x00\x09\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\x0a\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\x7c\x00\x7d\x00\xff\xff\x49\x00\x4a\x00\x4b\x00\xff\xff\x4d\x00\xff\xff\x4f\x00\x50\x00\x87\x00\x88\x00\x53\x00\xff\xff\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x62\x00\x63\x00\x08\x00\x09\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\x7c\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x87\x00\x88\x00\x53\x00\xff\xff\xff\xff\x56\x00\x57\x00\x58\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x62\x00\x63\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x6c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x18\x00\x19\x00\x1a\x00\x88\x00\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x08\x00\x09\x00\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x61\x00\x02\x00\x03\x00\x04\x00\x05\x00\x2d\x00\xff\xff\x08\x00\x30\x00\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x51\x00\x79\x00\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x61\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x0b\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x0b\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x51\x00\x79\x00\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x61\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\xff\xff\x58\x00\x59\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\xff\xff\x79\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x0b\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x00\x00\x0e\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x08\x00\x09\x00\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\x51\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x61\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x3d\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x49\x00\x79\x00\xff\xff\xff\xff\x4d\x00\xff\xff\xff\xff\xff\xff\x51\x00\x52\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x59\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x0d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x08\x00\x09\x00\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x4c\x00\x08\x00\x09\x00\x61\x00\xff\xff\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x12\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x0b\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\x00\x00\x61\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1b\x00\x1c\x00\x1d\x00\x2d\x00\x1f\x00\xff\xff\x30\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3b\x00\x2d\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x44\x00\xff\xff\x49\x00\xff\xff\x39\x00\x3a\x00\x4d\x00\x3c\x00\x3d\x00\x3e\x00\x51\x00\x52\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\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\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x0d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x3d\x00\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\x49\x00\x23\x00\x24\x00\x25\x00\x4d\x00\xff\xff\xff\xff\xff\xff\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x61\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x0d\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x51\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x61\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\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\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x51\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\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\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\x61\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x51\x00\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x61\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\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\x61\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x51\x00\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x61\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\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\x61\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x51\x00\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x1d\x00\x1e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\x0a\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x51\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\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x39\x00\xff\xff\x30\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\xff\xff\x44\x00\x45\x00\x3b\x00\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\xff\xff\x4d\x00\x6d\x00\x4f\x00\x50\x00\xff\xff\xff\xff\x53\x00\xff\xff\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x62\x00\x63\x00\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\x3b\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\x50\x00\x44\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x60\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\xff\xff\xff\xff\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\x3b\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x44\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x60\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x4a\x00\x4b\x00\x4c\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x60\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3e\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x60\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x60\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x4a\x00\x4b\x00\x4c\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x60\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3e\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x60\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x60\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x60\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x60\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x60\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x60\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x60\x00\x4a\x00\x4b\x00\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x60\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\x29\x00\x4a\x00\x4b\x00\x4c\x00\x2d\x00\x3b\x00\xff\xff\x30\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x60\x00\x41\x00\xff\xff\xff\xff\x44\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x4c\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\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\x2d\x00\x3b\x00\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\xff\xff\x44\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x4c\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\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\x2d\x00\x3b\x00\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\xff\xff\x44\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x4c\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\x48\x00\x49\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\x45\x00\x46\x00\x47\x00\x48\x00\x49\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\x45\x00\xff\xff\x47\x00\x48\x00\x49\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x44\x00\x2d\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\x42\x00\x43\x00\x44\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x2d\x00\xff\xff\x08\x00\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\x3b\x00\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x41\x00\xff\xff\xff\xff\x44\x00\xff\xff\x2d\x00\xff\xff\x00\x00\x30\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x44\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\xff\xff\xff\xff\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\x5a\x00\x5b\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\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xff\xff\x4f\x00\x50\x00\x30\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x62\x00\xff\xff\xff\xff\x3d\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\x49\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\xff\xff\x55\x00\xff\xff\xff\xff\xff\xff\x59\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\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\x3c\x00\x3d\x00\xff\xff\x30\x00\xff\xff\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\xff\xff\x4d\x00\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\x53\x00\xff\xff\x30\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\x42\x00\x43\x00\x44\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\x00\x00\x18\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\x00\x00\x18\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\x00\x00\x18\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\x00\x00\x18\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\x9a\x01\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x1a\x00\x6b\x00\xea\x00\x07\x01\xdc\x00\x6c\x00\x96\xfe\xbc\x02\x6d\x00\x33\x01\x0d\x00\x0d\x00\xdd\x00\x29\x02\x6e\x00\x6f\x00\x70\x00\xa9\x00\x0d\x00\x71\x00\x72\x00\xaa\x01\x08\x01\xb9\x00\x63\x02\x73\x00\x74\x00\x75\x00\x05\x01\xb9\x00\x35\x01\xb2\x02\x2b\x02\xb4\x02\xb5\x02\xb6\x02\xa9\x00\xb4\x01\xa9\x00\xab\x01\x0d\x00\x0d\x00\xc5\x01\x0d\x00\xd4\x00\xa9\x00\x06\x01\x1b\x00\x76\x00\x77\x00\x1c\x00\x1d\x00\x78\x00\x79\x00\x7a\x00\x1e\x00\xaa\x02\x1f\x00\x20\x00\x21\x00\x7b\x00\x7c\x00\x7d\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x7e\x00\x27\x00\x28\x00\x7f\x00\x29\x00\x2a\x00\x80\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x81\x00\x0d\x00\x0d\x00\xbc\x00\x82\x00\x0d\x00\xbc\x00\x83\x00\x30\x00\x31\x00\x53\x01\x7f\x02\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x84\x00\x84\x00\x43\x00\x9b\x01\x2a\x02\x64\x02\x65\x02\x66\x02\x84\x00\x36\x01\xb3\x00\x9c\x01\x9d\x01\x8f\x00\x9e\x01\x39\x00\x3a\x00\xa6\x01\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x1a\x00\x6b\x00\xff\xff\x84\x00\x84\x00\xef\x01\x84\x00\xd8\x01\x85\xff\x98\x00\xcc\x01\x0d\x00\xb6\x00\xb7\x00\x6e\x00\x6f\x00\x70\x00\xf0\x01\xe0\x01\x71\x00\x72\x00\x9b\x00\x41\x02\x9b\x00\x58\x01\x73\x00\x74\x00\x75\x00\xb8\x00\xb9\x00\x3a\x01\xb9\x00\x0d\x00\xb6\x00\xb7\x00\x0d\x00\xb6\x00\xb7\x00\x53\x01\xb3\x02\xb9\x00\x63\x02\xc0\x00\x9e\x00\x84\x00\x84\x00\xb4\x02\x1b\x00\x84\x00\xb8\x00\x1c\x00\x1d\x00\xb8\x00\xdb\x01\xdc\x01\x1e\x00\x3f\x02\x1f\x00\x20\x00\x21\x00\xa9\x00\x9b\x00\xa7\x01\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xc2\x00\x27\x00\x28\x00\x7f\x00\x29\x00\x2a\x00\xcd\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xa8\x01\xb9\x00\x52\x01\xb9\x00\xcb\x01\x0d\x00\xbc\x00\x83\x00\x30\x00\x31\x00\x98\x00\x38\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\xc9\x01\x84\x00\x43\x00\x5f\x01\x0d\x00\xd2\x00\xd3\x00\xcd\x00\xd4\x00\x3b\x01\xb3\x00\xb9\x00\xe2\x01\x1a\x00\xd4\x00\x39\x00\x3a\x00\xcb\x01\x6c\x00\xb5\x00\x61\xff\x61\xff\x84\x00\xa4\x02\x66\x02\x84\x00\x30\x02\x56\x01\x0d\x00\xb6\x00\xb7\x00\x0d\x00\xb6\x00\xb7\x00\x0d\x00\xd2\x00\xd3\x00\x81\xff\xd4\x00\xb9\x00\x58\x01\xc0\x00\x0d\x00\xb6\x00\xb7\x00\xb8\x00\x0d\x00\xbc\x00\xb8\x00\x61\xff\xb6\x01\xb8\x00\x3d\x01\xfb\x01\xb9\x00\x65\x01\x0d\x00\xb6\x00\xb7\x00\xb8\x00\x1b\x00\xb9\x00\x53\x01\x1c\x00\x1d\x00\xfc\x01\xb7\x01\xb8\x01\x1e\x00\xa9\x00\x1f\x00\x20\x00\x21\x00\xb8\x00\xc7\x01\x84\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xee\x00\x27\x00\x28\x00\x95\x02\x29\x00\x2a\x00\xcc\x01\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xa9\x00\x1a\x00\xb9\x00\x66\x01\x60\x01\xb9\x00\xef\x00\x96\x02\x30\x00\x31\x00\xe2\x01\x84\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xbc\x00\xbd\x00\xb9\x00\x0d\x00\xb6\x00\xb7\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xbe\x00\x5f\x01\xa9\x00\x43\x00\x4a\x01\xb1\x00\x84\x00\x0f\x02\x53\x01\x84\x00\xb9\x00\x98\x00\x84\x00\xb0\x01\x5c\x01\x98\x00\x39\x00\x3a\x00\x61\xff\x61\xff\x84\x00\xc9\x01\x1c\x00\x1d\x00\x84\x00\xa9\x00\xfe\x01\x1e\x00\xcd\x00\x1f\x00\xc2\x00\x21\x00\xd6\x01\xb3\x00\x84\x00\x22\x00\x23\x00\x24\x00\xcb\x01\x26\x00\xf0\x01\x27\x00\x28\x00\x3e\x02\xa9\x00\x2a\x00\xc7\x01\x61\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xc9\x01\x1a\x00\xdf\x01\xf3\x00\xb2\x01\x55\x01\x56\x01\x3f\x02\x30\x00\x31\x00\x99\x00\xcc\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x5d\x01\xb3\x00\xf4\x00\xc9\x00\xad\x00\x00\x02\xa3\x02\xc2\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xa4\x02\x4a\x01\xa2\x00\x39\x02\x01\x02\x11\x00\x52\x02\xcf\x00\xd0\x00\x84\x00\xc9\x01\x60\x01\xb9\x00\xa3\x00\xa4\x00\xca\x01\x53\x02\xcd\x00\x16\x00\x1c\x00\x1d\x00\xa9\x00\xe0\x01\x54\x02\x1e\x00\xa8\x02\x1f\x00\xcb\x01\x21\x00\x8d\x01\x27\x02\xd4\x00\x22\x00\x23\x00\x24\x00\xe2\x01\x26\x00\xaf\x02\x27\x00\x28\x00\x37\x02\xa9\x00\x2a\x00\xde\x00\xb8\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xb0\x02\x1a\x00\xb9\x00\xba\x00\xaa\x00\xa9\x00\xab\x00\x38\x02\x30\x00\x31\x00\xcd\x00\x8a\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x8b\x01\xd0\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\x16\x02\xe8\x00\x9f\x02\x25\x01\xb1\x00\x26\x01\x38\x01\xa9\x00\xa2\x00\x39\x02\x11\x00\x9e\x00\x17\x02\x27\x01\x28\x01\xbe\x01\xad\x00\xdd\x01\xaf\x00\xa3\x00\xa4\x00\xfd\x00\xd3\x01\x16\x00\xb1\x00\x1c\x00\x1d\x00\x29\x01\x2a\x01\x39\x01\x1e\x00\x31\x01\x1f\x00\x11\x00\x21\x00\xbc\x02\xb2\x00\xb3\x00\x22\x00\x23\x00\x24\x00\xb8\x02\x26\x00\x41\x01\x27\x00\x28\x00\x16\x00\x11\x00\x2a\x00\xba\x02\x2e\x02\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x9e\x00\x7e\x02\xa9\x00\x8f\x02\x90\x02\x16\x00\x7f\x02\x2f\x02\x30\x00\x31\x00\xbb\x02\xc0\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x1a\x00\x6b\x00\x42\x01\x13\x00\x14\x00\x6c\x00\xa2\x00\x39\x02\x6d\x00\x2b\x01\x90\x01\x15\x00\x42\x02\x33\x02\x6e\x00\x6f\x00\x70\x00\xa3\x00\xa4\x00\x71\x00\x72\x00\x97\x02\x91\x01\xc9\x00\xad\x00\x73\x00\x74\x00\x75\x00\xca\x00\xcb\x00\xd4\x00\xcd\x00\xce\x00\x98\x02\x43\x01\xcd\x00\x8a\x01\x61\x02\x27\x02\xb8\x02\xd5\x00\xd0\x00\x62\x02\x28\x02\x8d\x01\xd0\x00\xa9\x00\x1b\x00\x76\x00\x77\x00\x1c\x00\x1d\x00\x78\x00\x79\x00\x7a\x00\x1e\x00\xb9\x02\x1f\x00\x20\x00\x21\x00\x7b\x00\x7c\x00\x7d\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x7e\x00\x27\x00\x28\x00\x7f\x00\x29\x00\x2a\x00\x80\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x81\x00\xcd\x00\x8a\x01\xc9\x01\x82\x00\xd4\x00\x87\x02\x83\x00\x30\x00\x31\x00\x91\x01\xd0\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\xaa\x02\x79\x02\x43\x00\x9b\x01\x7b\x02\xa9\x00\x62\x02\xa1\x02\xce\x01\x62\x02\xd4\x00\x9c\x01\x9d\x01\x8f\x00\x9e\x01\x39\x00\x3a\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x1a\x00\x6b\x00\xa8\x02\x84\x02\x85\x02\x6c\x00\x83\x02\x84\x02\x85\x02\xc1\x00\x13\x00\x14\x00\x0d\x01\x0e\x01\x6e\x00\x6f\x00\x70\x00\x87\x02\x15\x00\x71\x00\x72\x00\xc2\x00\xc4\x00\xbd\x00\x9a\x02\x73\x00\x74\x00\x75\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xbe\x00\xa9\x00\xe4\x01\x8d\x02\xd4\x00\xb1\x00\x4b\x01\xa2\x02\x8d\x01\xc3\x00\xd4\x00\x3e\x01\x3f\x01\x13\x00\x14\x00\x8e\x02\xa6\x02\x12\x02\x1c\x00\x1d\x00\xa9\x00\x15\x00\x7d\x02\x1e\x00\x40\x01\x1f\x00\xa9\x00\x21\x00\x24\x02\x13\x02\x81\x02\x22\x00\x23\x00\x24\x00\xa9\x00\x26\x00\x82\x02\x27\x00\x28\x00\x7f\x00\xc9\x01\x2a\x00\xd4\x00\x83\x02\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x13\x01\x14\x01\xac\x00\xad\x00\xae\x00\xaf\x00\x45\x01\x83\x00\x30\x00\x31\x00\x87\x02\xb1\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x1a\x00\xf7\x00\xce\x01\x4c\x01\xd4\x00\xb8\x00\x03\x01\x04\x01\x3e\x01\x3f\x01\x13\x00\x14\x00\x14\x02\x88\x02\x6e\x00\x6f\x00\x70\x00\x89\x02\x15\x00\x71\x00\x72\x00\x40\x01\x15\x01\x16\x01\x15\x02\x73\x00\x74\x00\x75\x00\x8c\x02\xa9\x00\x9b\x00\x13\x00\x14\x00\x3c\x02\x50\x01\x9d\x00\xe2\x01\x18\x02\xd4\x00\x15\x00\x1d\x00\x93\x02\x9e\x00\x0f\x01\x10\x01\x11\x01\x12\x01\x60\x01\xb9\x00\x19\x02\x1c\x00\x1d\x00\x22\x00\x9f\x00\xa9\x00\x1e\x00\x26\x00\x1f\x00\xe4\x01\x21\x00\xd4\x00\x45\x02\xa0\x00\x22\x00\x23\x00\x24\x00\x46\x02\x26\x00\x2f\x00\x27\x00\x28\x00\x7f\x00\x4b\x02\x2a\x00\x32\x02\x33\x02\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x02\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x83\x00\x30\x00\x31\x00\xd2\x01\xd3\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x25\x02\x6b\x00\xce\x01\x5c\x02\xd4\x00\x6c\x00\x03\x01\x04\x01\x6d\x00\xd2\x01\xd9\x01\x93\x01\x26\x02\x4e\x02\x6e\x00\x6f\x00\x70\x00\x27\x02\x23\x02\x71\x00\x72\x00\x0d\x01\x0e\x01\x94\x01\x59\x02\x73\x00\x74\x00\x75\x00\xa9\x00\x0d\x00\x0e\x00\x0f\x00\x5b\x02\x10\x00\x17\x01\x18\x01\x19\x01\x11\x00\x12\x00\x13\x00\x14\x00\x60\x02\x13\x01\x14\x01\x15\x01\x16\x01\x63\x02\x15\x00\x76\x00\x77\x00\x16\x00\x4d\x01\x78\x00\x79\x00\x7a\x00\x7a\x02\x3e\x01\x3f\x01\x13\x00\x14\x00\x7b\x00\x7c\x00\x7d\x00\x7c\x02\xe5\x01\xf2\x01\x15\x00\xb9\x00\x7e\x00\x40\x01\x17\x00\x7f\x00\xfd\x01\xfe\x01\x80\x00\x0f\x02\xc5\x00\x13\x00\x14\x00\x09\x02\x81\x00\x0e\x02\xd4\x01\x11\x02\x82\x00\x15\x00\x1b\x02\x83\x00\xc7\x00\xa9\x00\x1c\x02\x18\x00\x1e\x02\x0d\x00\x1a\x00\xc5\x01\xc6\x01\xd4\x00\x1f\x02\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\xb8\x00\x09\x01\x27\x02\x2b\x02\x0a\x01\x2d\x02\x8f\x00\x0b\x01\x47\x00\x48\x00\x49\x00\x4a\x00\x0c\x01\x8f\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x90\x00\x30\x02\x35\x02\x55\x01\x1b\x00\x5a\x01\x8f\x01\x1c\x00\x1d\x00\xa2\x01\xa9\x00\xa0\x01\x1e\x00\xaf\x01\x1f\x00\x20\x00\x21\x00\xda\x01\xdb\x01\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xe5\x01\x27\x00\x28\x00\xc9\x00\x29\x00\x2a\x00\xde\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xff\xff\x0d\x00\x1a\x00\xe0\x00\xeb\x01\xaa\x00\xe1\x00\xab\x00\x30\x00\x31\x00\xe2\x00\x42\x02\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x84\x00\xe8\x00\xeb\x00\xac\x00\xad\x00\xae\x00\xaf\x00\x2f\x01\xed\x00\xff\xff\x09\x01\x0b\x01\xb1\x00\x43\x02\xb3\x00\x0a\x01\x0c\x01\x4e\x01\x2c\x01\x2d\x01\xff\xff\x31\x01\x3e\x01\x3f\x01\x13\x00\x14\x00\x39\x00\x3a\x00\x96\x00\xc7\x01\x1b\x00\x34\x01\x15\x00\x1c\x00\x1d\x00\x40\x01\x35\x01\xff\xff\x1e\x00\x0d\x00\x1f\x00\x20\x00\x21\x00\x00\x00\xb2\x00\xb3\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x0d\x00\x1a\x00\x00\x00\xee\x01\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x84\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x90\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3a\x00\x96\x00\xc7\x01\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x0d\x00\x1a\x00\x00\x00\xf7\x01\x00\x00\x00\x00\x93\x02\x30\x00\x31\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x84\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x53\x01\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x90\x00\x39\x00\x3a\x00\x96\x00\xc7\x01\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x8d\x01\xc6\x01\xd4\x00\x30\x00\x31\x00\x55\x02\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x84\x00\xb8\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x90\x00\x00\x00\x39\x00\x3a\x00\x96\x00\xc7\x01\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\xb4\x01\x30\x00\x31\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x5e\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x90\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3a\x00\x96\x00\xc7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\xa9\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x1a\x00\x91\x00\xf9\x01\xde\x01\x00\x00\xab\x00\x30\x00\x31\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x8f\x00\xb1\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3d\x01\x00\x00\xef\x00\x4c\x00\x7a\x01\x3e\x01\x3f\x01\x13\x00\x14\x00\x39\x00\x3a\x00\x96\x00\x5f\x02\x1b\x00\x00\x00\x15\x00\x1c\x00\x1d\x00\x40\x01\x00\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x21\x00\x00\x00\x00\x00\x53\x01\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\xe7\x01\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x93\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x15\x00\x00\x00\xe2\x00\x16\x00\x00\x00\x00\x00\x39\x00\x3a\x00\x96\x00\xc7\x01\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\xe8\x01\xc1\x01\xc2\x01\x1e\x00\xe9\x01\x1f\x00\x20\x00\x21\x00\x17\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x1a\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x30\x00\x31\x00\xef\x00\xfa\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x3a\x00\x3b\x00\x3c\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x15\x00\x00\x00\xf5\x00\x16\x00\x00\x00\x00\x00\x39\x00\x3a\x00\x96\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\xa9\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x21\x00\x00\x00\x17\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x1a\x00\x2d\x01\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x01\x30\x00\x31\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x42\x00\xb1\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x2f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x1e\x00\xa9\x00\x1f\x00\x20\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x1a\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x30\x00\x31\x00\xef\x00\x21\x02\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\xf3\x01\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xbe\x00\x42\x00\x00\x00\x43\x00\x00\x00\xb1\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x30\x00\x31\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xc5\x00\x13\x00\x14\x00\x00\x00\x00\x00\x00\x00\xc6\x00\x00\x00\x00\x00\x15\x00\x00\x00\x42\x00\xc7\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x1d\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x22\x00\x00\x00\x30\x00\x31\x00\x26\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x8f\x00\x2f\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x7b\x01\x43\x00\x3c\x02\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x1a\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x30\x00\x31\x00\xef\x00\x77\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x93\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x43\x00\x4a\x01\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\xf7\x01\xc1\x01\xc2\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x21\x00\x17\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x1a\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x30\x00\x31\x00\xef\x00\x78\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x96\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x1a\x00\x1e\x00\x54\x02\x1f\x00\x20\x00\x21\x00\x00\x00\x17\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x30\x00\x31\x00\xef\x00\x79\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x1a\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x39\x00\x3a\x00\x2a\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x30\x00\x31\x00\xef\x00\xf4\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x1a\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x21\x00\xa2\x00\x52\x01\x00\x00\x22\x00\x23\x00\x24\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\xa3\x00\xa4\x00\x2a\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x30\x00\x31\x00\xef\x00\xf8\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x21\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\xa3\x00\xa4\x00\x2a\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x30\x00\x31\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x85\x01\x38\x00\x6b\x01\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x6c\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01\x20\x01\x21\x01\x22\x01\x23\x01\x24\x01\x6e\x00\x6f\x00\x70\x00\x45\x01\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x92\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\xf9\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x3a\x00\x3b\x00\x3c\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x8f\x00\x83\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x15\x00\x00\x00\xf7\x00\x16\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x7f\x00\x65\x01\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x83\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x82\x01\x3d\x00\x3e\x00\x3f\x00\x40\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x00\x00\x65\x01\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x8f\x00\x6b\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x83\x01\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x8f\x00\x6b\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x7e\x01\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x3a\x00\x3b\x00\x3c\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x7f\x00\x65\x01\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x83\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x84\x01\x00\x00\xa6\x00\x40\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x00\x00\x48\x02\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x8f\x00\x6b\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x7f\x01\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x01\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x00\x00\x8f\x00\xbc\x01\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\xfa\x00\x00\x00\x6e\x00\x6f\x00\xbd\x01\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x83\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x87\x01\x1d\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x22\x00\x65\x01\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x7f\x00\xbe\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x2f\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x80\x01\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x0c\x02\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x00\x00\xdc\x00\x00\x00\x93\x00\x0d\x02\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x9c\x02\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x9d\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\xfb\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x46\x01\x3b\x00\xa5\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x47\x01\xef\x00\xfc\x00\x83\x00\x00\x00\x48\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\xe6\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xe7\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x7c\x01\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x69\x01\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x8f\x00\x6b\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x81\x01\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x39\x02\x3b\x00\xa5\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x02\x00\x00\x8f\x00\x83\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x7d\x01\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\xa9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x07\x02\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x9b\x00\x13\x00\x14\x00\x33\x02\x50\x01\x9d\x00\x93\x00\x0e\x00\x0f\x00\x15\x00\x10\x00\x00\x00\x9e\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x9f\x00\x15\x00\x00\x00\x00\x00\x16\x00\xbe\x01\xad\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x22\x00\x00\x00\xcd\x00\xf9\x01\x26\x00\xc0\x01\xc1\x01\xc2\x01\x7f\x00\x08\x02\x00\x00\xc3\x01\xd0\x00\x17\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\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\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x00\x00\xdc\x00\x00\x00\x93\x00\x99\x02\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x1d\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x22\x00\x73\x00\x74\x00\x75\x00\x26\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x83\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x88\x01\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x00\x00\xdc\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\xa4\x00\x3b\x00\xa5\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x8b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x96\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x7f\x00\x97\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x83\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x86\x01\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x58\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x04\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x23\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x7f\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x83\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\xe4\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x7f\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x83\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\xf7\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x00\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x0d\x00\x00\x00\x6b\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x7f\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x75\x00\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\xbc\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x7f\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x01\x02\x00\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x68\x02\x00\x00\x9e\x00\x69\x02\x6a\x02\x00\x00\x00\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x6c\x02\x6d\x02\x02\x02\x00\x00\x00\x00\x6e\x02\x6f\x02\x70\x02\x71\x02\x00\x00\x00\x00\x72\x02\x73\x02\x00\x00\x74\x02\x00\x00\x00\x00\x75\x02\x00\x00\x76\x02\x77\x02\x78\x02\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x00\x00\x26\x00\x84\x00\x27\x00\x28\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x31\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x00\x00\x00\x00\x94\x01\x3b\x00\xa5\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x9b\x00\x13\x00\x14\x00\x4f\x01\x50\x01\x9d\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x9f\x00\x00\x00\x95\x01\x5b\x00\x5c\x00\x96\x01\x97\x01\x00\x00\x98\x01\xa0\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x00\x00\x00\x00\x94\x01\x3b\x00\xa5\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x9b\x00\x13\x00\x14\x00\x00\x00\x35\x02\x9d\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x9f\x00\x00\x00\x95\x01\x5b\x00\x5c\x00\x00\x00\x1f\x02\x00\x00\x20\x02\xa0\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x93\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\xb0\x02\x5b\x00\x5c\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\xac\x02\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\xad\x02\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x93\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x9d\x02\x5b\x00\x5c\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x9f\x02\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x4e\x02\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x02\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x50\x02\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x1c\x02\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x01\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\xa0\x01\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\xeb\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xfe\x00\x9b\x00\x13\x00\x14\x00\x00\x00\x9c\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x9e\x00\x9b\x00\x13\x00\x14\x00\x00\x00\x00\x00\xff\x00\x5a\x00\x5b\x00\x5c\x00\x15\x00\x9f\x00\x00\x00\x9e\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x9e\x01\x00\x00\x00\x00\xa0\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x01\x01\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xfe\x00\x9b\x00\x13\x00\x14\x00\x00\x00\x00\x00\xcf\x01\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x9e\x00\x9b\x00\x13\x00\x14\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x15\x00\x9f\x00\x00\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\xa0\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x01\x01\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xfe\x00\x9b\x00\x13\x00\x14\x00\x00\x00\x00\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x9e\x00\x9b\x00\x13\x00\x14\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x15\x00\x9f\x00\x00\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\xa0\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x01\x01\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x90\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x90\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x90\x00\x00\x00\x00\x00\x00\x00\xd6\x00\x49\x02\xd8\x00\xd9\x00\xda\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x02\x00\x00\x0a\x02\xd9\x00\xda\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xa2\x01\xa3\x01\xa9\x00\xa4\x01\x3b\x00\xa5\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x93\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x00\x00\x00\x00\xe7\x01\x00\x00\x17\x00\x15\x00\x00\x00\x00\x00\x16\x00\xbe\x01\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\xbf\x01\x00\x00\xc0\x01\xc1\x01\xc2\x01\x00\x00\x00\x00\x00\x00\xc3\x01\xd0\x00\x17\x00\x93\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x00\x00\x00\x00\xe7\x01\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x01\xc1\x01\xc2\x01\x00\x00\xec\x01\x00\x00\x00\x00\x00\x00\x17\x00\x93\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x15\x00\x00\x00\x5a\x01\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x01\xc1\x01\xc2\x01\x00\x00\xf5\x01\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x13\x00\x14\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x46\x01\x3b\x00\xa5\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x5c\x01\x9f\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x5b\x01\x00\x00\x00\x00\xa0\x00\x00\x00\x15\x00\x00\x00\x8f\x00\x16\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xf0\x00\x17\x00\x00\x00\x00\x00\xf2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x47\x01\x00\x00\x00\x00\x00\x00\x00\x00\x48\x01\x00\x00\x00\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x5d\x01\xb3\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\xb8\x01\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x00\x00\x27\x00\x28\x00\x9e\x00\x29\x00\x2a\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\xb9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x30\x00\x00\x00\x00\x00\x1d\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x25\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x59\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x04\x02\x00\x00\x1c\x00\x1d\x00\x00\x00\xc2\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x24\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x2a\x00\x00\x00\xc2\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x93\x00\x0e\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x8a\x01\x00\x00\xc0\x01\xc1\x01\xc2\x01\x00\x00\x00\x00\x00\x00\xc3\x01\xd0\x00\x17\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xf0\x00\x00\x00\x00\x00\x8f\x00\xb1\x01\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xf0\x00\x00\x00\x00\x00\x8f\x00\xce\x01\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xf0\x00\x00\x00\x00\x00\x8f\x00\xd5\x01\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xf0\x00\x00\x00\x00\x00\x8f\x00\xf1\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xa2\x01\x4c\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xa2\x01\x19\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xab\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x9a\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x89\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x4b\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x67\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x89\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xa8\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xac\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xad\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xe4\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\xa7\x00\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x61\x01\x62\x01\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x63\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\xa6\x02\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x63\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x90\x02\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x63\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x69\x01\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x63\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x46\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x56\x02\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x6c\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x6d\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x6e\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x6f\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x70\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x71\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x72\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x73\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x74\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x75\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x76\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\xaf\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\xe5\x01\x8f\x00\x00\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xef\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x48\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 (11, 451) [- (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),- (307 , happyReduce_307),- (308 , happyReduce_308),- (309 , happyReduce_309),- (310 , happyReduce_310),- (311 , happyReduce_311),- (312 , happyReduce_312),- (313 , happyReduce_313),- (314 , happyReduce_314),- (315 , happyReduce_315),- (316 , happyReduce_316),- (317 , happyReduce_317),- (318 , happyReduce_318),- (319 , happyReduce_319),- (320 , happyReduce_320),- (321 , happyReduce_321),- (322 , happyReduce_322),- (323 , happyReduce_323),- (324 , happyReduce_324),- (325 , happyReduce_325),- (326 , happyReduce_326),- (327 , happyReduce_327),- (328 , happyReduce_328),- (329 , happyReduce_329),- (330 , happyReduce_330),- (331 , happyReduce_331),- (332 , happyReduce_332),- (333 , happyReduce_333),- (334 , happyReduce_334),- (335 , happyReduce_335),- (336 , happyReduce_336),- (337 , happyReduce_337),- (338 , happyReduce_338),- (339 , happyReduce_339),- (340 , happyReduce_340),- (341 , happyReduce_341),- (342 , happyReduce_342),- (343 , happyReduce_343),- (344 , happyReduce_344),- (345 , happyReduce_345),- (346 , happyReduce_346),- (347 , happyReduce_347),- (348 , happyReduce_348),- (349 , happyReduce_349),- (350 , happyReduce_350),- (351 , happyReduce_351),- (352 , happyReduce_352),- (353 , happyReduce_353),- (354 , happyReduce_354),- (355 , happyReduce_355),- (356 , happyReduce_356),- (357 , happyReduce_357),- (358 , happyReduce_358),- (359 , happyReduce_359),- (360 , happyReduce_360),- (361 , happyReduce_361),- (362 , happyReduce_362),- (363 , happyReduce_363),- (364 , happyReduce_364),- (365 , happyReduce_365),- (366 , happyReduce_366),- (367 , happyReduce_367),- (368 , happyReduce_368),- (369 , happyReduce_369),- (370 , happyReduce_370),- (371 , happyReduce_371),- (372 , happyReduce_372),- (373 , happyReduce_373),- (374 , happyReduce_374),- (375 , happyReduce_375),- (376 , happyReduce_376),- (377 , happyReduce_377),- (378 , happyReduce_378),- (379 , happyReduce_379),- (380 , happyReduce_380),- (381 , happyReduce_381),- (382 , happyReduce_382),- (383 , happyReduce_383),- (384 , happyReduce_384),- (385 , happyReduce_385),- (386 , happyReduce_386),- (387 , happyReduce_387),- (388 , happyReduce_388),- (389 , happyReduce_389),- (390 , happyReduce_390),- (391 , happyReduce_391),- (392 , happyReduce_392),- (393 , happyReduce_393),- (394 , happyReduce_394),- (395 , happyReduce_395),- (396 , happyReduce_396),- (397 , happyReduce_397),- (398 , happyReduce_398),- (399 , happyReduce_399),- (400 , happyReduce_400),- (401 , happyReduce_401),- (402 , happyReduce_402),- (403 , happyReduce_403),- (404 , happyReduce_404),- (405 , happyReduce_405),- (406 , happyReduce_406),- (407 , happyReduce_407),- (408 , happyReduce_408),- (409 , happyReduce_409),- (410 , happyReduce_410),- (411 , happyReduce_411),- (412 , happyReduce_412),- (413 , happyReduce_413),- (414 , happyReduce_414),- (415 , happyReduce_415),- (416 , happyReduce_416),- (417 , happyReduce_417),- (418 , happyReduce_418),- (419 , happyReduce_419),- (420 , happyReduce_420),- (421 , happyReduce_421),- (422 , happyReduce_422),- (423 , happyReduce_423),- (424 , happyReduce_424),- (425 , happyReduce_425),- (426 , happyReduce_426),- (427 , happyReduce_427),- (428 , happyReduce_428),- (429 , happyReduce_429),- (430 , happyReduce_430),- (431 , happyReduce_431),- (432 , happyReduce_432),- (433 , happyReduce_433),- (434 , happyReduce_434),- (435 , happyReduce_435),- (436 , happyReduce_436),- (437 , happyReduce_437),- (438 , happyReduce_438),- (439 , happyReduce_439),- (440 , happyReduce_440),- (441 , happyReduce_441),- (442 , happyReduce_442),- (443 , happyReduce_443),- (444 , happyReduce_444),- (445 , happyReduce_445),- (446 , happyReduce_446),- (447 , happyReduce_447),- (448 , happyReduce_448),- (449 , happyReduce_449),- (450 , happyReduce_450),- (451 , happyReduce_451)- ]--happy_n_terms = 140 :: Int-happy_n_nonterms = 104 :: Int--happyReduce_11 = happySpecReduce_1 0# happyReduction_11-happyReduction_11 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn14- (Id (getID happy_var_1) (locOf happy_var_1)- )}--happyReduce_12 = happySpecReduce_1 0# happyReduction_12-happyReduction_12 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn14- (AntiId (getANTI_ID happy_var_1) (locOf happy_var_1)- )}--happyReduce_13 = happySpecReduce_1 1# happyReduction_13-happyReduction_13 happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 -> - happyIn15- (happy_var_1- )}--happyReduce_14 = happySpecReduce_1 1# happyReduction_14-happyReduction_14 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn15- (Id (getNAMED happy_var_1) (locOf happy_var_1)- )}--happyReduce_15 = happySpecReduce_1 2# happyReduction_15-happyReduction_15 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (let (s, sign, n) = getINT happy_var_1- in- IntConst s sign n (locOf happy_var_1)- )}--happyReduce_16 = happySpecReduce_1 2# happyReduction_16-happyReduction_16 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (let (s, sign, n) = getLONG happy_var_1- in- LongIntConst s sign n (locOf happy_var_1)- )}--happyReduce_17 = happySpecReduce_1 2# happyReduction_17-happyReduction_17 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (let (s, sign, n) = getLONG_LONG happy_var_1- in- LongLongIntConst s sign n (locOf happy_var_1)- )}--happyReduce_18 = happySpecReduce_1 2# happyReduction_18-happyReduction_18 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (let (s, n) = getFLOAT happy_var_1- in- FloatConst s n (locOf happy_var_1)- )}--happyReduce_19 = happySpecReduce_1 2# happyReduction_19-happyReduction_19 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (let (s, n) = getDOUBLE happy_var_1- in- DoubleConst s n (locOf happy_var_1)- )}--happyReduce_20 = happySpecReduce_1 2# happyReduction_20-happyReduction_20 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (let (s, n) = getLONG_DOUBLE happy_var_1- in- LongDoubleConst s n (locOf happy_var_1)- )}--happyReduce_21 = happySpecReduce_1 2# happyReduction_21-happyReduction_21 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (let (s, c) = getCHAR happy_var_1- in- CharConst s c (locOf happy_var_1)- )}--happyReduce_22 = happySpecReduce_1 2# happyReduction_22-happyReduction_22 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (AntiInt (getANTI_INT happy_var_1) (locOf happy_var_1)- )}--happyReduce_23 = happySpecReduce_1 2# happyReduction_23-happyReduction_23 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (AntiUInt (getANTI_UINT happy_var_1) (locOf happy_var_1)- )}--happyReduce_24 = happySpecReduce_1 2# happyReduction_24-happyReduction_24 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (AntiLInt (getANTI_LINT happy_var_1) (locOf happy_var_1)- )}--happyReduce_25 = happySpecReduce_1 2# happyReduction_25-happyReduction_25 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (AntiULInt (getANTI_ULINT happy_var_1) (locOf happy_var_1)- )}--happyReduce_26 = happySpecReduce_1 2# happyReduction_26-happyReduction_26 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (AntiFloat (getANTI_FLOAT happy_var_1) (locOf happy_var_1)- )}--happyReduce_27 = happySpecReduce_1 2# happyReduction_27-happyReduction_27 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (AntiDouble (getANTI_DOUBLE happy_var_1) (locOf happy_var_1)- )}--happyReduce_28 = happySpecReduce_1 2# happyReduction_28-happyReduction_28 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (AntiLongDouble (getANTI_LONG_DOUBLE happy_var_1) (locOf happy_var_1)- )}--happyReduce_29 = happySpecReduce_1 2# happyReduction_29-happyReduction_29 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (AntiChar (getANTI_CHAR happy_var_1) (locOf happy_var_1)- )}--happyReduce_30 = happySpecReduce_1 2# happyReduction_30-happyReduction_30 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn16- (AntiString (getANTI_STRING happy_var_1) (locOf happy_var_1)- )}--happyReduce_31 = happySpecReduce_1 3# happyReduction_31-happyReduction_31 happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 -> - happyIn17- (Var happy_var_1 (locOf happy_var_1)- )}--happyReduce_32 = happySpecReduce_1 3# happyReduction_32-happyReduction_32 happy_x_1- = case happyOut16 happy_x_1 of { happy_var_1 -> - happyIn17- (Const happy_var_1 (locOf happy_var_1)- )}--happyReduce_33 = happySpecReduce_1 3# happyReduction_33-happyReduction_33 happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - happyIn17- (let { ss = rev happy_var_1- ; loc = locOf ss- ; raw = map (fst . unLoc) ss- ; s = (concat . intersperse " " . map (snd . unLoc)) ss- }- in- Const (StringConst raw s loc) loc- )}--happyReduce_34 = happySpecReduce_3 3# happyReduction_34-happyReduction_34 happy_x_3- happy_x_2- happy_x_1- = case happyOut36 happy_x_2 of { happy_var_2 -> - happyIn17- (happy_var_2- )}--happyReduce_35 = happyMonadReduce 3# 3# happyReduction_35-happyReduction_35 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut36 happy_x_2 of { happy_var_2 -> - ( unclosed (happy_var_1 <--> happy_var_2) "(")}}- ) (\r -> happyReturn (happyIn17 r))--happyReduce_36 = happySpecReduce_3 3# happyReduction_36-happyReduction_36 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut90 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn17- (let Block items _ = happy_var_2- in- StmExpr items (happy_var_1 <--> happy_var_3)- )}}}--happyReduce_37 = happySpecReduce_1 3# happyReduction_37-happyReduction_37 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn17- (AntiExp (getANTI_EXP happy_var_1) (locOf happy_var_1)- )}--happyReduce_38 = happySpecReduce_1 4# happyReduction_38-happyReduction_38 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn18- (rsingleton (L (getLoc happy_var_1) (getSTRING happy_var_1))- )}--happyReduce_39 = happySpecReduce_2 4# happyReduction_39-happyReduction_39 happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn18- (rcons (L (getLoc happy_var_2) (getSTRING happy_var_2)) happy_var_1- )}}--happyReduce_40 = happySpecReduce_1 5# happyReduction_40-happyReduction_40 happy_x_1- = case happyOut17 happy_x_1 of { happy_var_1 -> - happyIn19- (happy_var_1- )}--happyReduce_41 = happyMonadReduce 3# 5# happyReduction_41-happyReduction_41 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut19 happy_x_1 of { happy_var_1 -> - ( unclosed (locOf happy_var_1) "[")}- ) (\r -> happyReturn (happyIn19 r))--happyReduce_42 = happyReduce 4# 5# happyReduction_42-happyReduction_42 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut36 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - happyIn19- (Index happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_43 = happyMonadReduce 3# 5# happyReduction_43-happyReduction_43 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_2 of { happy_var_2 -> - ( unclosed (locOf happy_var_2) "(")}- ) (\r -> happyReturn (happyIn19 r))--happyReduce_44 = happySpecReduce_3 5# happyReduction_44-happyReduction_44 happy_x_3- happy_x_2- happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn19- (FnCall happy_var_1 [] (happy_var_1 <--> happy_var_3)- )}}--happyReduce_45 = happyMonadReduce 4# 5# happyReduction_45-happyReduction_45 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOut21 happy_x_3 of { happy_var_3 -> - ( unclosed (happy_var_2 <--> rev happy_var_3) "(")}}- ) (\r -> happyReturn (happyIn19 r))--happyReduce_46 = happyReduce 4# 5# happyReduction_46-happyReduction_46 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut21 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - happyIn19- (FnCall happy_var_1 (rev happy_var_3) (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_47 = happyMonadReduce 4# 5# happyReduction_47-happyReduction_47 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOut20 happy_x_3 of { happy_var_3 -> - ( unclosed (happy_var_2 <--> happy_var_3) "<<<")}}- ) (\r -> happyReturn (happyIn19 r))--happyReduce_48 = happyReduce 6# 5# happyReduction_48-happyReduction_48 (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 happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut20 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_6 of { happy_var_6 -> - happyIn19- (CudaCall happy_var_1 happy_var_3 [] (happy_var_1 <--> happy_var_6)- ) `HappyStk` happyRest}}}--happyReduce_49 = happyMonadReduce 7# 5# happyReduction_49-happyReduction_49 (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) tk- = happyThen (case happyOutTok happy_x_5 of { happy_var_5 -> - case happyOut21 happy_x_6 of { happy_var_6 -> - ( unclosed (happy_var_5 <--> rev happy_var_6) "(")}}- ) (\r -> happyReturn (happyIn19 r))--happyReduce_50 = happyReduce 7# 5# happyReduction_50-happyReduction_50 (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 happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut20 happy_x_3 of { happy_var_3 -> - case happyOut21 happy_x_6 of { happy_var_6 -> - case happyOutTok happy_x_7 of { happy_var_7 -> - happyIn19- (CudaCall happy_var_1 happy_var_3 (rev happy_var_6) (happy_var_1 <--> happy_var_7)- ) `HappyStk` happyRest}}}}--happyReduce_51 = happySpecReduce_3 5# happyReduction_51-happyReduction_51 happy_x_3- happy_x_2- happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_3 of { happy_var_3 -> - happyIn19- (Member happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_52 = happySpecReduce_3 5# happyReduction_52-happyReduction_52 happy_x_3- happy_x_2- happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_3 of { happy_var_3 -> - happyIn19- (PtrMember happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_53 = happySpecReduce_2 5# happyReduction_53-happyReduction_53 happy_x_2- happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn19- (PostInc happy_var_1 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_54 = happySpecReduce_2 5# happyReduction_54-happyReduction_54 happy_x_2- happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn19- (PostDec happy_var_1 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_55 = happyReduce 6# 5# happyReduction_55-happyReduction_55 (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 { happy_var_1 -> - case happyOut79 happy_x_2 of { happy_var_2 -> - case happyOut84 happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { happy_var_6 -> - happyIn19- (CompoundLit (happy_var_2 :: Type) (rev happy_var_5) (happy_var_1 <--> happy_var_6)- ) `HappyStk` happyRest}}}}--happyReduce_56 = happyReduce 7# 5# happyReduction_56-happyReduction_56 (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 { happy_var_1 -> - case happyOut79 happy_x_2 of { happy_var_2 -> - case happyOut84 happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_7 of { happy_var_7 -> - happyIn19- (CompoundLit happy_var_2 (rev happy_var_5) (happy_var_1 <--> happy_var_7)- ) `HappyStk` happyRest}}}}--happyReduce_57 = happyReduce 6# 5# happyReduction_57-happyReduction_57 (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 { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - case happyOut77 happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { happy_var_6 -> - happyIn19- (BuiltinVaArg happy_var_3 happy_var_5 (happy_var_1 <--> happy_var_6)- ) `HappyStk` happyRest}}}}--happyReduce_58 = happyMonadReduce 1# 6# happyReduction_58-happyReduction_58 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut21 happy_x_1 of { happy_var_1 -> - (do { let args = rev happy_var_1- ; when (length args < 2 || length args > 4) $- badExecutionContext (getLoc args) args- ; return $- case args of- [gridDim, blockDim] ->- ExeConfig gridDim blockDim- Nothing Nothing- (locOf args)- [gridDim, blockDim, sharedSize] ->- ExeConfig gridDim blockDim- (Just sharedSize) Nothing- (locOf args)- [gridDim, blockDim, sharedSize, exeStream] ->- ExeConfig gridDim blockDim- (Just sharedSize) (Just exeStream)- (locOf args)- })}- ) (\r -> happyReturn (happyIn20 r))--happyReduce_59 = happySpecReduce_1 7# happyReduction_59-happyReduction_59 happy_x_1- = case happyOut35 happy_x_1 of { happy_var_1 -> - happyIn21- (rsingleton happy_var_1- )}--happyReduce_60 = happySpecReduce_1 7# happyReduction_60-happyReduction_60 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn21- (rsingleton (AntiArgs (getANTI_ARGS happy_var_1) (locOf happy_var_1))- )}--happyReduce_61 = happySpecReduce_3 7# happyReduction_61-happyReduction_61 happy_x_3- happy_x_2- happy_x_1- = case happyOut21 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn21- (rcons happy_var_3 happy_var_1- )}}--happyReduce_62 = happySpecReduce_3 7# happyReduction_62-happyReduction_62 happy_x_3- happy_x_2- happy_x_1- = case happyOut21 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn21- (rcons (AntiArgs (getANTI_ARGS happy_var_3) (locOf happy_var_3)) happy_var_1- )}}--happyReduce_63 = happySpecReduce_1 8# happyReduction_63-happyReduction_63 happy_x_1- = case happyOut19 happy_x_1 of { happy_var_1 -> - happyIn22- (happy_var_1- )}--happyReduce_64 = happySpecReduce_2 8# happyReduction_64-happyReduction_64 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut22 happy_x_2 of { happy_var_2 -> - happyIn22- (PreInc happy_var_2 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_65 = happySpecReduce_2 8# happyReduction_65-happyReduction_65 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut22 happy_x_2 of { happy_var_2 -> - happyIn22- (PreDec happy_var_2 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_66 = happySpecReduce_2 8# happyReduction_66-happyReduction_66 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - happyIn22- (UnOp AddrOf happy_var_2 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_67 = happySpecReduce_2 8# happyReduction_67-happyReduction_67 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - happyIn22- (UnOp Deref happy_var_2 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_68 = happySpecReduce_2 8# happyReduction_68-happyReduction_68 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - happyIn22- (UnOp Positive happy_var_2 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_69 = happySpecReduce_2 8# happyReduction_69-happyReduction_69 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - happyIn22- (UnOp Negate happy_var_2 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_70 = happySpecReduce_2 8# happyReduction_70-happyReduction_70 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - happyIn22- (UnOp Not happy_var_2 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_71 = happySpecReduce_2 8# happyReduction_71-happyReduction_71 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - happyIn22- (UnOp Lnot happy_var_2 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_72 = happySpecReduce_2 8# happyReduction_72-happyReduction_72 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut22 happy_x_2 of { happy_var_2 -> - happyIn22- (SizeofExp happy_var_2 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_73 = happyReduce 4# 8# happyReduction_73-happyReduction_73 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut79 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - happyIn22- (SizeofType happy_var_3 (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_74 = happyMonadReduce 4# 8# happyReduction_74-happyReduction_74 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOut79 happy_x_3 of { happy_var_3 -> - ( unclosed (happy_var_2 <--> happy_var_3) "(")}}- ) (\r -> happyReturn (happyIn22 r))--happyReduce_75 = happySpecReduce_1 9# happyReduction_75-happyReduction_75 happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - happyIn23- (happy_var_1- )}--happyReduce_76 = happyReduce 4# 9# happyReduction_76-happyReduction_76 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut79 happy_x_2 of { happy_var_2 -> - case happyOut23 happy_x_4 of { happy_var_4 -> - happyIn23- (Cast happy_var_2 happy_var_4 (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_77 = happyMonadReduce 3# 9# happyReduction_77-happyReduction_77 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut79 happy_x_2 of { happy_var_2 -> - ( unclosed (happy_var_1 <--> happy_var_2) "(")}}- ) (\r -> happyReturn (happyIn23 r))--happyReduce_78 = happySpecReduce_1 10# happyReduction_78-happyReduction_78 happy_x_1- = case happyOut23 happy_x_1 of { happy_var_1 -> - happyIn24- (happy_var_1- )}--happyReduce_79 = happySpecReduce_3 10# happyReduction_79-happyReduction_79 happy_x_3- happy_x_2- happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_3 of { happy_var_3 -> - happyIn24- (BinOp Mul happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_80 = happySpecReduce_3 10# happyReduction_80-happyReduction_80 happy_x_3- happy_x_2- happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_3 of { happy_var_3 -> - happyIn24- (BinOp Div happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_81 = happySpecReduce_3 10# happyReduction_81-happyReduction_81 happy_x_3- happy_x_2- happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_3 of { happy_var_3 -> - happyIn24- (BinOp Mod happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_82 = happySpecReduce_1 11# happyReduction_82-happyReduction_82 happy_x_1- = case happyOut24 happy_x_1 of { happy_var_1 -> - happyIn25- (happy_var_1- )}--happyReduce_83 = happySpecReduce_3 11# happyReduction_83-happyReduction_83 happy_x_3- happy_x_2- happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_3 of { happy_var_3 -> - happyIn25- (BinOp Add happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_84 = happySpecReduce_3 11# happyReduction_84-happyReduction_84 happy_x_3- happy_x_2- happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_3 of { happy_var_3 -> - happyIn25- (BinOp Sub happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_85 = happySpecReduce_1 12# happyReduction_85-happyReduction_85 happy_x_1- = case happyOut25 happy_x_1 of { happy_var_1 -> - happyIn26- (happy_var_1- )}--happyReduce_86 = happySpecReduce_3 12# happyReduction_86-happyReduction_86 happy_x_3- happy_x_2- happy_x_1- = case happyOut26 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - happyIn26- (BinOp Lsh happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_87 = happySpecReduce_3 12# happyReduction_87-happyReduction_87 happy_x_3- happy_x_2- happy_x_1- = case happyOut26 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - happyIn26- (BinOp Rsh happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_88 = happySpecReduce_1 13# happyReduction_88-happyReduction_88 happy_x_1- = case happyOut26 happy_x_1 of { happy_var_1 -> - happyIn27- (happy_var_1- )}--happyReduce_89 = happySpecReduce_3 13# happyReduction_89-happyReduction_89 happy_x_3- happy_x_2- happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - case happyOut26 happy_x_3 of { happy_var_3 -> - happyIn27- (BinOp Lt happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_90 = happySpecReduce_3 13# happyReduction_90-happyReduction_90 happy_x_3- happy_x_2- happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - case happyOut26 happy_x_3 of { happy_var_3 -> - happyIn27- (BinOp Gt happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_91 = happySpecReduce_3 13# happyReduction_91-happyReduction_91 happy_x_3- happy_x_2- happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - case happyOut26 happy_x_3 of { happy_var_3 -> - happyIn27- (BinOp Le happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_92 = happySpecReduce_3 13# happyReduction_92-happyReduction_92 happy_x_3- happy_x_2- happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - case happyOut26 happy_x_3 of { happy_var_3 -> - happyIn27- (BinOp Ge happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_93 = happySpecReduce_1 14# happyReduction_93-happyReduction_93 happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - happyIn28- (happy_var_1- )}--happyReduce_94 = happySpecReduce_3 14# happyReduction_94-happyReduction_94 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_3 of { happy_var_3 -> - happyIn28- (BinOp Eq happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_95 = happySpecReduce_3 14# happyReduction_95-happyReduction_95 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_3 of { happy_var_3 -> - happyIn28- (BinOp Ne happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_96 = happySpecReduce_1 15# happyReduction_96-happyReduction_96 happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - happyIn29- (happy_var_1- )}--happyReduce_97 = happySpecReduce_3 15# happyReduction_97-happyReduction_97 happy_x_3- happy_x_2- happy_x_1- = case happyOut29 happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - happyIn29- (BinOp And happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_98 = happySpecReduce_1 16# happyReduction_98-happyReduction_98 happy_x_1- = case happyOut29 happy_x_1 of { happy_var_1 -> - happyIn30- (happy_var_1- )}--happyReduce_99 = happySpecReduce_3 16# happyReduction_99-happyReduction_99 happy_x_3- happy_x_2- happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - case happyOut29 happy_x_3 of { happy_var_3 -> - happyIn30- (BinOp Xor happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_100 = happySpecReduce_1 17# happyReduction_100-happyReduction_100 happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - happyIn31- (happy_var_1- )}--happyReduce_101 = happySpecReduce_3 17# happyReduction_101-happyReduction_101 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - case happyOut30 happy_x_3 of { happy_var_3 -> - happyIn31- (BinOp Or happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_102 = happySpecReduce_1 18# happyReduction_102-happyReduction_102 happy_x_1- = case happyOut31 happy_x_1 of { happy_var_1 -> - happyIn32- (happy_var_1- )}--happyReduce_103 = happySpecReduce_3 18# happyReduction_103-happyReduction_103 happy_x_3- happy_x_2- happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - case happyOut31 happy_x_3 of { happy_var_3 -> - happyIn32- (BinOp Land happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_104 = happySpecReduce_1 19# happyReduction_104-happyReduction_104 happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - happyIn33- (happy_var_1- )}--happyReduce_105 = happySpecReduce_3 19# happyReduction_105-happyReduction_105 happy_x_3- happy_x_2- happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut32 happy_x_3 of { happy_var_3 -> - happyIn33- (BinOp Lor happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_106 = happySpecReduce_1 20# happyReduction_106-happyReduction_106 happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - happyIn34- (happy_var_1- )}--happyReduce_107 = happyReduce 5# 20# happyReduction_107-happyReduction_107 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut36 happy_x_3 of { happy_var_3 -> - case happyOut34 happy_x_5 of { happy_var_5 -> - happyIn34- (Cond happy_var_1 happy_var_3 happy_var_5 (happy_var_1 <--> happy_var_5)- ) `HappyStk` happyRest}}}--happyReduce_108 = happySpecReduce_1 21# happyReduction_108-happyReduction_108 happy_x_1- = case happyOut34 happy_x_1 of { happy_var_1 -> - happyIn35- (happy_var_1- )}--happyReduce_109 = happySpecReduce_3 21# happyReduction_109-happyReduction_109 happy_x_3- happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (Assign happy_var_1 JustAssign happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_110 = happySpecReduce_3 21# happyReduction_110-happyReduction_110 happy_x_3- happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (Assign happy_var_1 MulAssign happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_111 = happySpecReduce_3 21# happyReduction_111-happyReduction_111 happy_x_3- happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (Assign happy_var_1 DivAssign happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_112 = happySpecReduce_3 21# happyReduction_112-happyReduction_112 happy_x_3- happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (Assign happy_var_1 ModAssign happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_113 = happySpecReduce_3 21# happyReduction_113-happyReduction_113 happy_x_3- happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (Assign happy_var_1 AddAssign happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_114 = happySpecReduce_3 21# happyReduction_114-happyReduction_114 happy_x_3- happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (Assign happy_var_1 SubAssign happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_115 = happySpecReduce_3 21# happyReduction_115-happyReduction_115 happy_x_3- happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (Assign happy_var_1 LshAssign happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_116 = happySpecReduce_3 21# happyReduction_116-happyReduction_116 happy_x_3- happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (Assign happy_var_1 RshAssign happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_117 = happySpecReduce_3 21# happyReduction_117-happyReduction_117 happy_x_3- happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (Assign happy_var_1 AndAssign happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_118 = happySpecReduce_3 21# happyReduction_118-happyReduction_118 happy_x_3- happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (Assign happy_var_1 XorAssign happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_119 = happySpecReduce_3 21# happyReduction_119-happyReduction_119 happy_x_3- happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn35- (Assign happy_var_1 OrAssign happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_120 = happySpecReduce_1 22# happyReduction_120-happyReduction_120 happy_x_1- = case happyOut35 happy_x_1 of { happy_var_1 -> - happyIn36- (happy_var_1- )}--happyReduce_121 = happySpecReduce_3 22# happyReduction_121-happyReduction_121 happy_x_3- happy_x_2- happy_x_1- = case happyOut36 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn36- (Seq happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_122 = happySpecReduce_0 23# happyReduction_122-happyReduction_122 = happyIn37- (Nothing- )--happyReduce_123 = happySpecReduce_1 23# happyReduction_123-happyReduction_123 happy_x_1- = case happyOut36 happy_x_1 of { happy_var_1 -> - happyIn37- (Just happy_var_1- )}--happyReduce_124 = happySpecReduce_1 24# happyReduction_124-happyReduction_124 happy_x_1- = case happyOut34 happy_x_1 of { happy_var_1 -> - happyIn38- (happy_var_1- )}--happyReduce_125 = happySpecReduce_2 25# happyReduction_125-happyReduction_125 happy_x_2- happy_x_1- = case happyOut40 happy_x_1 of { happy_var_1 -> - happyIn39- (happy_var_1- )}--happyReduce_126 = happyMonadReduce 1# 26# happyReduction_126-happyReduction_126 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 -> - ( do{ let (dspec, decl) = happy_var_1- ; checkInitGroup dspec decl [] []- })}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_127 = happyMonadReduce 2# 26# happyReduction_127-happyReduction_127 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 -> - case happyOut104 happy_x_2 of { happy_var_2 -> - ( do{ let (dspec, decl) = happy_var_1- ; checkInitGroup dspec decl happy_var_2 []- })}}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_128 = happyMonadReduce 2# 26# happyReduction_128-happyReduction_128 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 -> - case happyOut46 happy_x_2 of { happy_var_2 -> - ( do{ let (dspec, decl) = happy_var_1- ; let inits = rev happy_var_2- ; checkInitGroup dspec decl [] (rev happy_var_2)- })}}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_129 = happyMonadReduce 3# 26# happyReduction_129-happyReduction_129 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 -> - case happyOut104 happy_x_2 of { happy_var_2 -> - case happyOut46 happy_x_3 of { happy_var_3 -> - ( do{ let (dspec, decl) = happy_var_1- ; checkInitGroup dspec decl happy_var_2 (rev happy_var_3)- })}}}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_130 = happyMonadReduce 2# 26# happyReduction_130-happyReduction_130 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 -> - ( do{ let (_, decl) = happy_var_1- ; expected (locOf decl) ["';'"]- })}- ) (\r -> happyReturn (happyIn40 r))--happyReduce_131 = happySpecReduce_1 26# happyReduction_131-happyReduction_131 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn40- (AntiDecl (getANTI_DECL happy_var_1) (locOf happy_var_1)- )}--happyReduce_132 = happySpecReduce_1 27# happyReduction_132-happyReduction_132 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn41- (let { v = getANTI_TYPE happy_var_1- ; loc = locOf happy_var_1- }- in- (AntiTypeDeclSpec [] [] v loc, AntiTypeDecl v loc)- )}--happyReduce_133 = happySpecReduce_2 27# happyReduction_133-happyReduction_133 happy_x_2- happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn41- (let { storage = mkStorage happy_var_1- ; typeQuals = mkTypeQuals happy_var_1- ; v = getANTI_TYPE happy_var_2- ; loc = happy_var_1 <--> happy_var_2- }- in- (AntiTypeDeclSpec storage typeQuals v loc, AntiTypeDecl v loc)- )}}--happyReduce_134 = happySpecReduce_1 27# happyReduction_134-happyReduction_134 happy_x_1- = case happyOut42 happy_x_1 of { happy_var_1 -> - happyIn41- (happy_var_1- )}--happyReduce_135 = happySpecReduce_1 27# happyReduction_135-happyReduction_135 happy_x_1- = case happyOut43 happy_x_1 of { happy_var_1 -> - happyIn41- (happy_var_1- )}--happyReduce_136 = happySpecReduce_1 28# happyReduction_136-happyReduction_136 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn42- (let dspec = AntiDeclSpec (getANTI_SPEC happy_var_1) (locOf happy_var_1)- in- (dspec, DeclRoot (locOf happy_var_1))- )}--happyReduce_137 = happyMonadReduce 1# 28# happyReduction_137-happyReduction_137 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_1 of { happy_var_1 -> - ( do{ dspec <- mkDeclSpec happy_var_1- ; return (dspec, DeclRoot (locOf happy_var_1))- })}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_138 = happyMonadReduce 1# 28# happyReduction_138-happyReduction_138 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut50 happy_x_1 of { happy_var_1 -> - ( do{ dspec <- mkDeclSpec [happy_var_1]- ; return (dspec, DeclRoot (locOf happy_var_1) )- })}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_139 = happyMonadReduce 2# 28# happyReduction_139-happyReduction_139 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut44 happy_x_2 of { happy_var_2 -> - ( do{ dspec <- mkDeclSpec (happy_var_1 : happy_var_2)- ; return (dspec, DeclRoot (happy_var_1 <--> happy_var_2))- })}}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_140 = happyMonadReduce 2# 28# happyReduction_140-happyReduction_140 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_1 of { happy_var_1 -> - case happyOut50 happy_x_2 of { happy_var_2 -> - ( do{ dspec <- mkDeclSpec (happy_var_1 ++ [happy_var_2])- ; return $(dspec, DeclRoot (happy_var_1 <--> happy_var_2))- })}}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_141 = happyMonadReduce 3# 28# happyReduction_141-happyReduction_141 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_1 of { happy_var_1 -> - case happyOut50 happy_x_2 of { happy_var_2 -> - case happyOut44 happy_x_3 of { happy_var_3 -> - ( do{ dspec <- mkDeclSpec (happy_var_1 ++ happy_var_2 : happy_var_3)- ; return (dspec, DeclRoot (happy_var_1 <--> happy_var_3))- })}}}- ) (\r -> happyReturn (happyIn42 r))--happyReduce_142 = happyMonadReduce 1# 29# happyReduction_142-happyReduction_142 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut82 happy_x_1 of { happy_var_1 -> - ( do{ dspec <- mkDeclSpec [happy_var_1]- ; return (dspec, DeclRoot (locOf happy_var_1))- })}- ) (\r -> happyReturn (happyIn43 r))--happyReduce_143 = happyMonadReduce 2# 29# happyReduction_143-happyReduction_143 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut82 happy_x_1 of { happy_var_1 -> - case happyOut45 happy_x_2 of { happy_var_2 -> - ( do{ dspec <- mkDeclSpec (happy_var_1 : happy_var_2)- ; return (dspec, DeclRoot (happy_var_1 <--> happy_var_2))- })}}- ) (\r -> happyReturn (happyIn43 r))--happyReduce_144 = happyMonadReduce 2# 29# happyReduction_144-happyReduction_144 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_1 of { happy_var_1 -> - case happyOut82 happy_x_2 of { happy_var_2 -> - ( do{ dspec <- mkDeclSpec (happy_var_1 ++ [happy_var_2])- ; return (dspec, DeclRoot (happy_var_1 <--> happy_var_2))- })}}- ) (\r -> happyReturn (happyIn43 r))--happyReduce_145 = happyMonadReduce 3# 29# happyReduction_145-happyReduction_145 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut45 happy_x_1 of { happy_var_1 -> - case happyOut82 happy_x_2 of { happy_var_2 -> - case happyOut45 happy_x_3 of { happy_var_3 -> - ( do{ dspec <- mkDeclSpec (happy_var_1 ++ happy_var_2 : happy_var_3)- ; return (dspec, DeclRoot (happy_var_1 <--> happy_var_3))- })}}}- ) (\r -> happyReturn (happyIn43 r))--happyReduce_146 = happySpecReduce_1 30# happyReduction_146-happyReduction_146 happy_x_1- = case happyOut49 happy_x_1 of { happy_var_1 -> - happyIn44- ([happy_var_1]- )}--happyReduce_147 = happySpecReduce_2 30# happyReduction_147-happyReduction_147 happy_x_2- happy_x_1- = case happyOut49 happy_x_1 of { happy_var_1 -> - case happyOut44 happy_x_2 of { happy_var_2 -> - happyIn44- (happy_var_1 : happy_var_2- )}}--happyReduce_148 = happySpecReduce_1 30# happyReduction_148-happyReduction_148 happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn44- ([happy_var_1]- )}--happyReduce_149 = happySpecReduce_2 30# happyReduction_149-happyReduction_149 happy_x_2- happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut44 happy_x_2 of { happy_var_2 -> - happyIn44- (happy_var_1 : happy_var_2- )}}--happyReduce_150 = happySpecReduce_1 30# happyReduction_150-happyReduction_150 happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - happyIn44- ([happy_var_1]- )}--happyReduce_151 = happySpecReduce_2 30# happyReduction_151-happyReduction_151 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - case happyOut44 happy_x_2 of { happy_var_2 -> - happyIn44- (happy_var_1 : happy_var_2- )}}--happyReduce_152 = happySpecReduce_1 31# happyReduction_152-happyReduction_152 happy_x_1- = case happyOut49 happy_x_1 of { happy_var_1 -> - happyIn45- ([happy_var_1]- )}--happyReduce_153 = happySpecReduce_2 31# happyReduction_153-happyReduction_153 happy_x_2- happy_x_1- = case happyOut49 happy_x_1 of { happy_var_1 -> - case happyOut45 happy_x_2 of { happy_var_2 -> - happyIn45- (happy_var_1 : happy_var_2- )}}--happyReduce_154 = happySpecReduce_1 31# happyReduction_154-happyReduction_154 happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - happyIn45- ([happy_var_1]- )}--happyReduce_155 = happySpecReduce_2 31# happyReduction_155-happyReduction_155 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - case happyOut45 happy_x_2 of { happy_var_2 -> - happyIn45- (happy_var_1 : happy_var_2- )}}--happyReduce_156 = happySpecReduce_1 32# happyReduction_156-happyReduction_156 happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 -> - happyIn46- (rsingleton happy_var_1- )}--happyReduce_157 = happySpecReduce_3 32# happyReduction_157-happyReduction_157 happy_x_3- happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { happy_var_1 -> - case happyOut48 happy_x_3 of { happy_var_3 -> - happyIn46- (rcons happy_var_3 happy_var_1- )}}--happyReduce_158 = happySpecReduce_0 33# happyReduction_158-happyReduction_158 = happyIn47- (Nothing- )--happyReduce_159 = happyReduce 4# 33# happyReduction_159-happyReduction_159 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn47- (Just ((fst . getSTRING) happy_var_3)- ) `HappyStk` happyRest}--happyReduce_160 = happySpecReduce_2 34# happyReduction_160-happyReduction_160 happy_x_2- happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - happyIn48- (let { (ident, declToDecl) = happy_var_1- ; decl = declToDecl (declRoot ident)- }- in- Init ident decl happy_var_2 Nothing [] (ident <--> decl)- )}}--happyReduce_161 = happySpecReduce_3 34# happyReduction_161-happyReduction_161 happy_x_3- happy_x_2- happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - case happyOut104 happy_x_2 of { happy_var_2 -> - case happyOut47 happy_x_3 of { happy_var_3 -> - happyIn48- (let { (ident, declToDecl) = happy_var_1- ; decl = declToDecl (declRoot ident)- }- in- Init ident decl happy_var_3 Nothing happy_var_2 (ident <--> decl)- )}}}--happyReduce_162 = happyReduce 4# 34# happyReduction_162-happyReduction_162 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut67 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - case happyOut83 happy_x_4 of { happy_var_4 -> - happyIn48- (let { (ident, declToDecl) = happy_var_1- ; decl = declToDecl (declRoot ident)- }- in- Init ident decl happy_var_2 (Just happy_var_4) [] (ident <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_163 = happyReduce 5# 34# happyReduction_163-happyReduction_163 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut67 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - case happyOut104 happy_x_4 of { happy_var_4 -> - case happyOut83 happy_x_5 of { happy_var_5 -> - happyIn48- (let { (ident, declToDecl) = happy_var_1- ; decl = declToDecl (declRoot ident)- }- in- Init ident decl happy_var_2 (Just happy_var_5) happy_var_4 (ident <--> happy_var_5)- ) `HappyStk` happyRest}}}}--happyReduce_164 = happyMonadReduce 2# 34# happyReduction_164-happyReduction_164 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut67 happy_x_1 of { happy_var_1 -> - ( do{ let (ident, declToDecl) = happy_var_1- ; let decl = declToDecl (declRoot ident)- ; expected (locOf decl) ["'='"]- })}- ) (\r -> happyReturn (happyIn48 r))--happyReduce_165 = happySpecReduce_1 35# happyReduction_165-happyReduction_165 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn49- (TSauto (locOf happy_var_1)- )}--happyReduce_166 = happySpecReduce_1 35# happyReduction_166-happyReduction_166 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn49- (TSregister (locOf happy_var_1)- )}--happyReduce_167 = happySpecReduce_1 35# happyReduction_167-happyReduction_167 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn49- (TSstatic (locOf happy_var_1)- )}--happyReduce_168 = happySpecReduce_1 35# happyReduction_168-happyReduction_168 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn49- (TSextern (locOf happy_var_1)- )}--happyReduce_169 = happySpecReduce_2 35# happyReduction_169-happyReduction_169 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn49- (TSexternL ((snd . getSTRING) happy_var_2) (locOf happy_var_1)- )}}--happyReduce_170 = happySpecReduce_1 35# happyReduction_170-happyReduction_170 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn49- (TStypedef (locOf happy_var_1)- )}--happyReduce_171 = happySpecReduce_1 36# happyReduction_171-happyReduction_171 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn50- (TSvoid (locOf happy_var_1)- )}--happyReduce_172 = happySpecReduce_1 36# happyReduction_172-happyReduction_172 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn50- (TSchar (locOf happy_var_1)- )}--happyReduce_173 = happySpecReduce_1 36# happyReduction_173-happyReduction_173 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn50- (TSshort (locOf happy_var_1)- )}--happyReduce_174 = happySpecReduce_1 36# happyReduction_174-happyReduction_174 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn50- (TSint (locOf happy_var_1)- )}--happyReduce_175 = happySpecReduce_1 36# happyReduction_175-happyReduction_175 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn50- (TSlong (locOf happy_var_1)- )}--happyReduce_176 = happySpecReduce_1 36# happyReduction_176-happyReduction_176 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn50- (TSfloat (locOf happy_var_1)- )}--happyReduce_177 = happySpecReduce_1 36# happyReduction_177-happyReduction_177 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn50- (TSdouble (locOf happy_var_1)- )}--happyReduce_178 = happySpecReduce_1 36# happyReduction_178-happyReduction_178 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn50- (TSsigned (locOf happy_var_1)- )}--happyReduce_179 = happySpecReduce_1 36# happyReduction_179-happyReduction_179 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn50- (TSunsigned (locOf happy_var_1)- )}--happyReduce_180 = happySpecReduce_1 36# happyReduction_180-happyReduction_180 happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - happyIn50- (happy_var_1- )}--happyReduce_181 = happySpecReduce_1 36# happyReduction_181-happyReduction_181 happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 -> - happyIn50- (happy_var_1- )}--happyReduce_182 = happySpecReduce_1 36# happyReduction_182-happyReduction_182 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn50- (TSva_list (locOf happy_var_1)- )}--happyReduce_183 = happySpecReduce_2 37# happyReduction_183-happyReduction_183 happy_x_2- happy_x_1- = case happyOut52 happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_2 of { happy_var_2 -> - happyIn51- ((unLoc happy_var_1) (Just happy_var_2) Nothing [] (happy_var_1 <--> happy_var_2)- )}}--happyReduce_184 = happySpecReduce_3 37# happyReduction_184-happyReduction_184 happy_x_3- happy_x_2- happy_x_1- = case happyOut52 happy_x_1 of { happy_var_1 -> - case happyOut104 happy_x_2 of { happy_var_2 -> - case happyOut15 happy_x_3 of { happy_var_3 -> - happyIn51- ((unLoc happy_var_1) (Just happy_var_3) Nothing happy_var_2 (happy_var_1 <--> happy_var_3)- )}}}--happyReduce_185 = happyReduce 4# 37# happyReduction_185-happyReduction_185 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut52 happy_x_1 of { happy_var_1 -> - case happyOut53 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - happyIn51- ((unLoc happy_var_1) Nothing (Just (rev happy_var_3)) [] (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_186 = happyMonadReduce 4# 37# happyReduction_186-happyReduction_186 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut52 happy_x_1 of { happy_var_1 -> - case happyOut53 happy_x_3 of { happy_var_3 -> - ( unclosed (happy_var_1 <--> rev happy_var_3) "{")}}- ) (\r -> happyReturn (happyIn51 r))--happyReduce_187 = happyReduce 5# 37# happyReduction_187-happyReduction_187 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut52 happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_2 of { happy_var_2 -> - case happyOut53 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { happy_var_5 -> - happyIn51- ((unLoc happy_var_1) (Just happy_var_2) (Just (rev happy_var_4)) [] (happy_var_1 <--> happy_var_5)- ) `HappyStk` happyRest}}}}--happyReduce_188 = happyMonadReduce 5# 37# happyReduction_188-happyReduction_188 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut52 happy_x_1 of { happy_var_1 -> - case happyOut53 happy_x_4 of { happy_var_4 -> - ( unclosed (happy_var_1 <--> rev happy_var_4) "{")}}- ) (\r -> happyReturn (happyIn51 r))--happyReduce_189 = happyReduce 6# 37# happyReduction_189-happyReduction_189 (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 happyOut52 happy_x_1 of { happy_var_1 -> - case happyOut104 happy_x_2 of { happy_var_2 -> - case happyOut15 happy_x_3 of { happy_var_3 -> - case happyOut53 happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { happy_var_6 -> - happyIn51- ((unLoc happy_var_1) (Just happy_var_3) (Just (rev happy_var_5)) happy_var_2 (happy_var_1 <--> happy_var_6)- ) `HappyStk` happyRest}}}}}--happyReduce_190 = happyMonadReduce 6# 37# happyReduction_190-happyReduction_190 (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) tk- = happyThen (case happyOut52 happy_x_1 of { happy_var_1 -> - case happyOut53 happy_x_5 of { happy_var_5 -> - ( unclosed (happy_var_1 <--> rev happy_var_5) "{")}}- ) (\r -> happyReturn (happyIn51 r))--happyReduce_191 = happySpecReduce_1 38# happyReduction_191-happyReduction_191 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn52- (L (getLoc happy_var_1) TSstruct- )}--happyReduce_192 = happySpecReduce_1 38# happyReduction_192-happyReduction_192 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn52- (L (getLoc happy_var_1) TSunion- )}--happyReduce_193 = happySpecReduce_1 39# happyReduction_193-happyReduction_193 happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn53- (rsingleton happy_var_1- )}--happyReduce_194 = happySpecReduce_1 39# happyReduction_194-happyReduction_194 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn53- (rsingleton (AntiSdecls (getANTI_SDECLS happy_var_1) (locOf happy_var_1))- )}--happyReduce_195 = happySpecReduce_2 39# happyReduction_195-happyReduction_195 happy_x_2- happy_x_1- = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut54 happy_x_2 of { happy_var_2 -> - happyIn53- (rcons happy_var_2 happy_var_1- )}}--happyReduce_196 = happySpecReduce_2 39# happyReduction_196-happyReduction_196 happy_x_2- happy_x_1- = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn53- (rcons (AntiSdecls (getANTI_SDECLS happy_var_2) (locOf happy_var_2)) happy_var_1- )}}--happyReduce_197 = happySpecReduce_3 40# happyReduction_197-happyReduction_197 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut57 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn54- (let dspec = AntiDeclSpec (getANTI_SPEC happy_var_1) (locOf happy_var_1)- in- FieldGroup dspec (rev happy_var_2) (happy_var_1 <--> happy_var_3)- )}}}--happyReduce_198 = happyMonadReduce 3# 40# happyReduction_198-happyReduction_198 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut55 happy_x_1 of { happy_var_1 -> - case happyOut57 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - ( do{ dspec <- mkDeclSpec happy_var_1- ; return $ FieldGroup dspec (rev happy_var_2) (happy_var_1 <--> happy_var_3)- })}}}- ) (\r -> happyReturn (happyIn54 r))--happyReduce_199 = happyMonadReduce 3# 40# happyReduction_199-happyReduction_199 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - ( do{ let v = getANTI_TYPE happy_var_1- ; let dspec = AntiTypeDeclSpec [] [] v (locOf happy_var_1)- ; let decl = AntiTypeDecl v (locOf happy_var_1)- ; let field = Field (Just happy_var_2) (Just decl) Nothing (happy_var_1 <--> happy_var_2)- ; return $ FieldGroup dspec [field] (happy_var_1 <--> happy_var_3)- })}}}- ) (\r -> happyReturn (happyIn54 r))--happyReduce_200 = happySpecReduce_1 40# happyReduction_200-happyReduction_200 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn54- (AntiSdecl (getANTI_SDECL happy_var_1) (locOf happy_var_1)- )}--happyReduce_201 = happySpecReduce_2 41# happyReduction_201-happyReduction_201 happy_x_2- happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut56 happy_x_2 of { happy_var_2 -> - happyIn55- (happy_var_1 : happy_var_2- )}}--happyReduce_202 = happySpecReduce_3 41# happyReduction_202-happyReduction_202 happy_x_3- happy_x_2- happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOut50 happy_x_2 of { happy_var_2 -> - case happyOut56 happy_x_3 of { happy_var_3 -> - happyIn55- (rev happy_var_1 ++ [happy_var_2] ++ happy_var_3- )}}}--happyReduce_203 = happySpecReduce_1 41# happyReduction_203-happyReduction_203 happy_x_1- = case happyOut82 happy_x_1 of { happy_var_1 -> - happyIn55- ([happy_var_1]- )}--happyReduce_204 = happySpecReduce_2 41# happyReduction_204-happyReduction_204 happy_x_2- happy_x_1- = case happyOut82 happy_x_1 of { happy_var_1 -> - case happyOut73 happy_x_2 of { happy_var_2 -> - happyIn55- (happy_var_1 : rev happy_var_2- )}}--happyReduce_205 = happySpecReduce_2 41# happyReduction_205-happyReduction_205 happy_x_2- happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOut82 happy_x_2 of { happy_var_2 -> - happyIn55- (rev happy_var_1 ++ [happy_var_2]- )}}--happyReduce_206 = happySpecReduce_3 41# happyReduction_206-happyReduction_206 happy_x_3- happy_x_2- happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOut82 happy_x_2 of { happy_var_2 -> - case happyOut73 happy_x_3 of { happy_var_3 -> - happyIn55- (rev happy_var_1 ++ [happy_var_2] ++ rev happy_var_3- )}}}--happyReduce_207 = happySpecReduce_0 42# happyReduction_207-happyReduction_207 = happyIn56- ([]- )--happyReduce_208 = happySpecReduce_1 42# happyReduction_208-happyReduction_208 happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn56- ([happy_var_1]- )}--happyReduce_209 = happySpecReduce_2 42# happyReduction_209-happyReduction_209 happy_x_2- happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_2 of { happy_var_2 -> - happyIn56- (happy_var_1 : happy_var_2- )}}--happyReduce_210 = happySpecReduce_1 42# happyReduction_210-happyReduction_210 happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - happyIn56- ([happy_var_1]- )}--happyReduce_211 = happySpecReduce_2 42# happyReduction_211-happyReduction_211 happy_x_2- happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_2 of { happy_var_2 -> - happyIn56- (happy_var_1 : happy_var_2- )}}--happyReduce_212 = happySpecReduce_1 43# happyReduction_212-happyReduction_212 happy_x_1- = case happyOut58 happy_x_1 of { happy_var_1 -> - happyIn57- (rsingleton happy_var_1- )}--happyReduce_213 = happySpecReduce_3 43# happyReduction_213-happyReduction_213 happy_x_3- happy_x_2- happy_x_1- = case happyOut57 happy_x_1 of { happy_var_1 -> - case happyOut58 happy_x_3 of { happy_var_3 -> - happyIn57- (rcons happy_var_3 happy_var_1- )}}--happyReduce_214 = happySpecReduce_1 44# happyReduction_214-happyReduction_214 happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - happyIn58- (let { (ident, declToDecl) = happy_var_1- ; decl = declToDecl (declRoot ident)- }- in- Field (Just ident) (Just decl) Nothing (locOf decl)- )}--happyReduce_215 = happySpecReduce_2 44# happyReduction_215-happyReduction_215 happy_x_2- happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - happyIn58- (let { (ident, declToDecl) = happy_var_1- ; decl = declToDecl (declRoot ident)- }- in- Field (Just ident) (Just decl) Nothing (locOf decl)- )}--happyReduce_216 = happySpecReduce_2 44# happyReduction_216-happyReduction_216 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_2 of { happy_var_2 -> - happyIn58- (Field Nothing Nothing (Just happy_var_2) (happy_var_1 <--> happy_var_2)- )}}--happyReduce_217 = happySpecReduce_3 44# happyReduction_217-happyReduction_217 happy_x_3- happy_x_2- happy_x_1- = case happyOut67 happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_3 of { happy_var_3 -> - happyIn58- (let { (ident, declToDecl) = happy_var_1- ; decl = declToDecl (declRoot ident)- }- in- Field (Just ident) (Just decl) (Just happy_var_3) (locOf decl)- )}}--happyReduce_218 = happySpecReduce_2 45# happyReduction_218-happyReduction_218 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_2 of { happy_var_2 -> - happyIn59- (TSenum (Just happy_var_2) [] [] (happy_var_1 <--> happy_var_2)- )}}--happyReduce_219 = happySpecReduce_3 45# happyReduction_219-happyReduction_219 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut104 happy_x_2 of { happy_var_2 -> - case happyOut15 happy_x_3 of { happy_var_3 -> - happyIn59- (TSenum (Just happy_var_3) [] happy_var_2 (happy_var_1 <--> happy_var_3)- )}}}--happyReduce_220 = happyReduce 4# 45# happyReduction_220-happyReduction_220 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut60 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - happyIn59- (TSenum Nothing (rev happy_var_3) [] (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_221 = happyReduce 5# 45# happyReduction_221-happyReduction_221 (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 { happy_var_1 -> - case happyOut15 happy_x_2 of { happy_var_2 -> - case happyOut60 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { happy_var_5 -> - happyIn59- (TSenum (Just happy_var_2) (rev happy_var_4) [] (happy_var_1 <--> happy_var_5)- ) `HappyStk` happyRest}}}}--happyReduce_222 = happySpecReduce_1 46# happyReduction_222-happyReduction_222 happy_x_1- = case happyOut61 happy_x_1 of { happy_var_1 -> - happyIn60- (rsingleton happy_var_1- )}--happyReduce_223 = happySpecReduce_1 46# happyReduction_223-happyReduction_223 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn60- (rsingleton (AntiEnums (getANTI_ENUMS happy_var_1) (locOf happy_var_1))- )}--happyReduce_224 = happySpecReduce_2 46# happyReduction_224-happyReduction_224 happy_x_2- happy_x_1- = case happyOut60 happy_x_1 of { happy_var_1 -> - happyIn60- (happy_var_1- )}--happyReduce_225 = happySpecReduce_3 46# happyReduction_225-happyReduction_225 happy_x_3- happy_x_2- happy_x_1- = case happyOut60 happy_x_1 of { happy_var_1 -> - case happyOut61 happy_x_3 of { happy_var_3 -> - happyIn60- (rcons happy_var_3 happy_var_1- )}}--happyReduce_226 = happySpecReduce_3 46# happyReduction_226-happyReduction_226 happy_x_3- happy_x_2- happy_x_1- = case happyOut60 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn60- (rcons (AntiEnums (getANTI_ENUMS happy_var_3) (locOf happy_var_3)) happy_var_1- )}}--happyReduce_227 = happySpecReduce_1 47# happyReduction_227-happyReduction_227 happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 -> - happyIn61- (CEnum happy_var_1 Nothing (locOf happy_var_1)- )}--happyReduce_228 = happySpecReduce_3 47# happyReduction_228-happyReduction_228 happy_x_3- happy_x_2- happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_3 of { happy_var_3 -> - happyIn61- (CEnum happy_var_1 (Just happy_var_3) (happy_var_1 <--> happy_var_3)- )}}--happyReduce_229 = happySpecReduce_1 47# happyReduction_229-happyReduction_229 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn61- (AntiEnum (getANTI_ENUM happy_var_1) (locOf happy_var_1)- )}--happyReduce_230 = happySpecReduce_1 48# happyReduction_230-happyReduction_230 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn62- (TSconst (locOf happy_var_1)- )}--happyReduce_231 = happySpecReduce_1 48# happyReduction_231-happyReduction_231 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn62- (TSinline (locOf happy_var_1)- )}--happyReduce_232 = happySpecReduce_1 48# happyReduction_232-happyReduction_232 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn62- (TSrestrict (locOf happy_var_1)- )}--happyReduce_233 = happySpecReduce_1 48# happyReduction_233-happyReduction_233 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn62- (TSvolatile (locOf happy_var_1)- )}--happyReduce_234 = happySpecReduce_1 48# happyReduction_234-happyReduction_234 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn62- (TSdevice (locOf happy_var_1)- )}--happyReduce_235 = happySpecReduce_1 48# happyReduction_235-happyReduction_235 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn62- (TSglobal (locOf happy_var_1)- )}--happyReduce_236 = happySpecReduce_1 48# happyReduction_236-happyReduction_236 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn62- (TShost (locOf happy_var_1)- )}--happyReduce_237 = happySpecReduce_1 48# happyReduction_237-happyReduction_237 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn62- (TSconstant (locOf happy_var_1)- )}--happyReduce_238 = happySpecReduce_1 48# happyReduction_238-happyReduction_238 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn62- (TSshared (locOf happy_var_1)- )}--happyReduce_239 = happySpecReduce_1 48# happyReduction_239-happyReduction_239 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn62- (TSnoinline (locOf happy_var_1)- )}--happyReduce_240 = happySpecReduce_1 49# happyReduction_240-happyReduction_240 happy_x_1- = case happyOut64 happy_x_1 of { happy_var_1 -> - happyIn63- (happy_var_1- )}--happyReduce_241 = happySpecReduce_2 49# happyReduction_241-happyReduction_241 happy_x_2- happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - case happyOut64 happy_x_2 of { happy_var_2 -> - happyIn63- (let (ident, dirDecl) = happy_var_2- in- (ident, dirDecl . happy_var_1)- )}}--happyReduce_242 = happySpecReduce_1 50# happyReduction_242-happyReduction_242 happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 -> - happyIn64- ((happy_var_1, id)- )}--happyReduce_243 = happySpecReduce_3 50# happyReduction_243-happyReduction_243 happy_x_3- happy_x_2- happy_x_1- = case happyOut63 happy_x_2 of { happy_var_2 -> - happyIn64- (happy_var_2- )}--happyReduce_244 = happyMonadReduce 3# 50# happyReduction_244-happyReduction_244 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut63 happy_x_2 of { happy_var_2 -> - (do { let (ident, declToDecl) = happy_var_2- ; let decl = declToDecl (declRoot ident)- ; unclosed (happy_var_1 <--> decl) "("- })}}- ) (\r -> happyReturn (happyIn64 r))--happyReduce_245 = happySpecReduce_2 50# happyReduction_245-happyReduction_245 happy_x_2- happy_x_1- = case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOut71 happy_x_2 of { happy_var_2 -> - happyIn64- (let (ident, declToDecl) = happy_var_1- in- (ident, declToDecl . happy_var_2)- )}}--happyReduce_246 = happySpecReduce_3 50# happyReduction_246-happyReduction_246 happy_x_3- happy_x_2- happy_x_1- = case happyOut64 happy_x_1 of { happy_var_1 -> - happyIn64- (let { (ident, declToDecl) = happy_var_1- ; proto = mkOldProto []- }- in- (ident, declToDecl . proto)- )}--happyReduce_247 = happyReduce 4# 50# happyReduction_247-happyReduction_247 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOut74 happy_x_3 of { happy_var_3 -> - happyIn64- (let { (ident, declToDecl) = happy_var_1- ; proto = mkProto happy_var_3- }- in- (ident, declToDecl . proto)- ) `HappyStk` happyRest}}--happyReduce_248 = happyReduce 4# 50# happyReduction_248-happyReduction_248 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOut78 happy_x_3 of { happy_var_3 -> - happyIn64- (let { (ident, declToDecl) = happy_var_1- ; proto = mkOldProto (rev happy_var_3)- }- in- (ident, declToDecl . proto)- ) `HappyStk` happyRest}}--happyReduce_249 = happySpecReduce_1 51# happyReduction_249-happyReduction_249 happy_x_1- = case happyOut66 happy_x_1 of { happy_var_1 -> - happyIn65- (happy_var_1- )}--happyReduce_250 = happySpecReduce_2 51# happyReduction_250-happyReduction_250 happy_x_2- happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - case happyOut66 happy_x_2 of { happy_var_2 -> - happyIn65- (let (ident, dirDecl) = happy_var_2- in- (ident, dirDecl . happy_var_1)- )}}--happyReduce_251 = happySpecReduce_1 52# happyReduction_251-happyReduction_251 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn66- ((Id (getNAMED happy_var_1) (locOf happy_var_1), id)- )}--happyReduce_252 = happySpecReduce_3 52# happyReduction_252-happyReduction_252 happy_x_3- happy_x_2- happy_x_1- = case happyOut65 happy_x_2 of { happy_var_2 -> - happyIn66- (happy_var_2- )}--happyReduce_253 = happyMonadReduce 3# 52# happyReduction_253-happyReduction_253 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut65 happy_x_2 of { happy_var_2 -> - (do { let (ident, declToDecl) = happy_var_2- ; let decl = declToDecl (declRoot ident)- ; unclosed (happy_var_1 <--> decl) "("- })}}- ) (\r -> happyReturn (happyIn66 r))--happyReduce_254 = happySpecReduce_2 52# happyReduction_254-happyReduction_254 happy_x_2- happy_x_1- = case happyOut66 happy_x_1 of { happy_var_1 -> - case happyOut71 happy_x_2 of { happy_var_2 -> - happyIn66- (let (ident, declToDecl) = happy_var_1- in- (ident, declToDecl . happy_var_2)- )}}--happyReduce_255 = happySpecReduce_3 52# happyReduction_255-happyReduction_255 happy_x_3- happy_x_2- happy_x_1- = case happyOut66 happy_x_1 of { happy_var_1 -> - happyIn66- (let { (ident, declToDecl) = happy_var_1- ; proto = mkOldProto []- }- in- (ident, declToDecl . proto)- )}--happyReduce_256 = happyReduce 4# 52# happyReduction_256-happyReduction_256 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut66 happy_x_1 of { happy_var_1 -> - case happyOut74 happy_x_3 of { happy_var_3 -> - happyIn66- (let { (ident, declToDecl) = happy_var_1- ; proto = mkProto happy_var_3- }- in- (ident, declToDecl . proto)- ) `HappyStk` happyRest}}--happyReduce_257 = happyReduce 4# 52# happyReduction_257-happyReduction_257 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut66 happy_x_1 of { happy_var_1 -> - case happyOut78 happy_x_3 of { happy_var_3 -> - happyIn66- (let { (ident, declToDecl) = happy_var_1- ; proto = mkOldProto (rev happy_var_3)- }- in- (ident, declToDecl . proto)- ) `HappyStk` happyRest}}--happyReduce_258 = happySpecReduce_1 53# happyReduction_258-happyReduction_258 happy_x_1- = case happyOut63 happy_x_1 of { happy_var_1 -> - happyIn67- (happy_var_1- )}--happyReduce_259 = happySpecReduce_1 53# happyReduction_259-happyReduction_259 happy_x_1- = case happyOut65 happy_x_1 of { happy_var_1 -> - happyIn67- (happy_var_1- )}--happyReduce_260 = happySpecReduce_1 54# happyReduction_260-happyReduction_260 happy_x_1- = case happyOut69 happy_x_1 of { happy_var_1 -> - happyIn68- (happy_var_1- )}--happyReduce_261 = happySpecReduce_2 54# happyReduction_261-happyReduction_261 happy_x_2- happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - case happyOut69 happy_x_2 of { happy_var_2 -> - happyIn68- (let (ident, dirDecl) = happy_var_2- in- (ident, dirDecl . happy_var_1)- )}}--happyReduce_262 = happySpecReduce_1 55# happyReduction_262-happyReduction_262 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn69- ((Id (getNAMED happy_var_1) (locOf happy_var_1), id)- )}--happyReduce_263 = happyReduce 4# 55# happyReduction_263-happyReduction_263 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut72 happy_x_2 of { happy_var_2 -> - case happyOut69 happy_x_3 of { happy_var_3 -> - happyIn69- (let (ident, dirDecl) = happy_var_3- in- (ident, dirDecl . happy_var_2)- ) `HappyStk` happyRest}}--happyReduce_264 = happySpecReduce_2 55# happyReduction_264-happyReduction_264 happy_x_2- happy_x_1- = case happyOut69 happy_x_1 of { happy_var_1 -> - case happyOut71 happy_x_2 of { happy_var_2 -> - happyIn69- (let (ident, declToDecl) = happy_var_1- in- (ident, declToDecl . happy_var_2)- )}}--happyReduce_265 = happySpecReduce_3 55# happyReduction_265-happyReduction_265 happy_x_3- happy_x_2- happy_x_1- = case happyOut69 happy_x_1 of { happy_var_1 -> - happyIn69- (let { (ident, declToDecl) = happy_var_1- ; proto = mkOldProto []- }- in- (ident, declToDecl . proto)- )}--happyReduce_266 = happyReduce 4# 55# happyReduction_266-happyReduction_266 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut69 happy_x_1 of { happy_var_1 -> - case happyOut74 happy_x_3 of { happy_var_3 -> - happyIn69- (let { (ident, declToDecl) = happy_var_1- ; proto = mkProto happy_var_3- }- in- (ident, declToDecl . proto)- ) `HappyStk` happyRest}}--happyReduce_267 = happyReduce 4# 55# happyReduction_267-happyReduction_267 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut69 happy_x_1 of { happy_var_1 -> - case happyOut78 happy_x_3 of { happy_var_3 -> - happyIn69- (let { (ident, declToDecl) = happy_var_1- ; proto = mkOldProto (rev happy_var_3)- }- in- (ident, declToDecl . proto)- ) `HappyStk` happyRest}}--happyReduce_268 = happySpecReduce_1 56# happyReduction_268-happyReduction_268 happy_x_1- = case happyOut63 happy_x_1 of { happy_var_1 -> - happyIn70- (happy_var_1- )}--happyReduce_269 = happySpecReduce_1 56# happyReduction_269-happyReduction_269 happy_x_1- = case happyOut68 happy_x_1 of { happy_var_1 -> - happyIn70- (happy_var_1- )}--happyReduce_270 = happySpecReduce_2 57# happyReduction_270-happyReduction_270 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn71- (mkArray [] (NoArraySize (happy_var_1 <--> happy_var_2))- )}}--happyReduce_271 = happyMonadReduce 2# 57# happyReduction_271-happyReduction_271 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - ( unclosed (getLoc happy_var_1) "[")}- ) (\r -> happyReturn (happyIn71 r))--happyReduce_272 = happySpecReduce_3 57# happyReduction_272-happyReduction_272 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut73 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn71- (mkArray (rev happy_var_2) (NoArraySize (happy_var_1 <--> happy_var_3))- )}}}--happyReduce_273 = happySpecReduce_3 57# happyReduction_273-happyReduction_273 happy_x_3- happy_x_2- happy_x_1- = case happyOut35 happy_x_2 of { happy_var_2 -> - happyIn71- (mkArray [] (ArraySize False happy_var_2 (locOf happy_var_2))- )}--happyReduce_274 = happyReduce 4# 57# happyReduction_274-happyReduction_274 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut73 happy_x_2 of { happy_var_2 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn71- (mkArray (rev happy_var_2) (ArraySize False happy_var_3 (locOf happy_var_3))- ) `HappyStk` happyRest}}--happyReduce_275 = happyReduce 4# 57# happyReduction_275-happyReduction_275 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn71- (mkArray [] (ArraySize True happy_var_3 (locOf happy_var_3))- ) `HappyStk` happyRest}--happyReduce_276 = happyReduce 5# 57# 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 happyOut73 happy_x_3 of { happy_var_3 -> - case happyOut35 happy_x_4 of { happy_var_4 -> - happyIn71- (mkArray (rev happy_var_3) (ArraySize True happy_var_4 (locOf happy_var_4))- ) `HappyStk` happyRest}}--happyReduce_277 = happyReduce 5# 57# 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 happyOut73 happy_x_2 of { happy_var_2 -> - case happyOut35 happy_x_4 of { happy_var_4 -> - happyIn71- (mkArray (rev happy_var_2) (ArraySize True happy_var_4 (locOf happy_var_4))- ) `HappyStk` happyRest}}--happyReduce_278 = happySpecReduce_3 57# happyReduction_278-happyReduction_278 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn71- (mkArray [] (VariableArraySize (happy_var_1 <--> happy_var_3))- )}}--happyReduce_279 = happyReduce 4# 57# 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 { happy_var_1 -> - case happyOut73 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - happyIn71- (mkArray (rev happy_var_2) (VariableArraySize (happy_var_1 <--> happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_280 = happySpecReduce_1 58# happyReduction_280-happyReduction_280 happy_x_1- = happyIn72- (mkPtr []- )--happyReduce_281 = happySpecReduce_2 58# happyReduction_281-happyReduction_281 happy_x_2- happy_x_1- = case happyOut73 happy_x_2 of { happy_var_2 -> - happyIn72- (mkPtr (rev happy_var_2)- )}--happyReduce_282 = happySpecReduce_2 58# happyReduction_282-happyReduction_282 happy_x_2- happy_x_1- = case happyOut72 happy_x_2 of { happy_var_2 -> - happyIn72- (happy_var_2 . mkPtr []- )}--happyReduce_283 = happySpecReduce_3 58# happyReduction_283-happyReduction_283 happy_x_3- happy_x_2- happy_x_1- = case happyOut73 happy_x_2 of { happy_var_2 -> - case happyOut72 happy_x_3 of { happy_var_3 -> - happyIn72- (happy_var_3 . mkPtr (rev happy_var_2)- )}}--happyReduce_284 = happySpecReduce_1 59# happyReduction_284-happyReduction_284 happy_x_1- = case happyOut62 happy_x_1 of { happy_var_1 -> - happyIn73- (rsingleton happy_var_1- )}--happyReduce_285 = happySpecReduce_2 59# happyReduction_285-happyReduction_285 happy_x_2- happy_x_1- = case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOut62 happy_x_2 of { happy_var_2 -> - happyIn73- (rcons happy_var_2 happy_var_1- )}}--happyReduce_286 = happySpecReduce_1 60# happyReduction_286-happyReduction_286 happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 -> - happyIn74- (let params = rev happy_var_1- in- Params params False (locOf params)- )}--happyReduce_287 = happySpecReduce_3 60# happyReduction_287-happyReduction_287 happy_x_3- happy_x_2- happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn74- (let params = rev happy_var_1- in- Params params True (params <--> happy_var_3)- )}}--happyReduce_288 = happySpecReduce_1 61# happyReduction_288-happyReduction_288 happy_x_1- = case happyOut76 happy_x_1 of { happy_var_1 -> - happyIn75- (rsingleton happy_var_1- )}--happyReduce_289 = happySpecReduce_1 61# happyReduction_289-happyReduction_289 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn75- (rsingleton (AntiParams (getANTI_PARAMS happy_var_1) (locOf happy_var_1))- )}--happyReduce_290 = happySpecReduce_3 61# happyReduction_290-happyReduction_290 happy_x_3- happy_x_2- happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn75- (rcons happy_var_3 happy_var_1- )}}--happyReduce_291 = happySpecReduce_3 61# happyReduction_291-happyReduction_291 happy_x_3- happy_x_2- happy_x_1- = case happyOut75 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn75- (rcons (AntiParams (getANTI_PARAMS happy_var_3) (locOf happy_var_3)) happy_var_1- )}}--happyReduce_292 = happySpecReduce_1 62# happyReduction_292-happyReduction_292 happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - happyIn76- (let (dspec, decl) = happy_var_1- in- Param Nothing dspec decl (dspec <--> decl)- )}--happyReduce_293 = happySpecReduce_2 62# happyReduction_293-happyReduction_293 happy_x_2- happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - case happyOut70 happy_x_2 of { happy_var_2 -> - happyIn76- (let { (dspec, declRoot) = happy_var_1- ; (ident, declToDecl) = happy_var_2- ; decl = declToDecl declRoot- }- in- Param (Just ident) dspec decl (ident <--> decl)- )}}--happyReduce_294 = happySpecReduce_2 62# happyReduction_294-happyReduction_294 happy_x_2- happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - case happyOut80 happy_x_2 of { happy_var_2 -> - happyIn76- (let { (dspec, declRoot) = happy_var_1- ; decl = happy_var_2 declRoot- }- in- Param Nothing dspec decl (dspec <--> decl)- )}}--happyReduce_295 = happySpecReduce_1 62# happyReduction_295-happyReduction_295 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn76- (AntiParam (getANTI_PARAM happy_var_1) (locOf happy_var_1)- )}--happyReduce_296 = happySpecReduce_1 63# happyReduction_296-happyReduction_296 happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - happyIn77- (let (dspec, decl) = happy_var_1- in- Type dspec decl (dspec <--> decl)- )}--happyReduce_297 = happySpecReduce_2 63# happyReduction_297-happyReduction_297 happy_x_2- happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - case happyOut70 happy_x_2 of { happy_var_2 -> - happyIn77- (let { (dspec, declRoot) = happy_var_1- ; (ident, declToDecl) = happy_var_2- ; decl = declToDecl declRoot- }- in- Type dspec decl (dspec <--> decl)- )}}--happyReduce_298 = happySpecReduce_2 63# happyReduction_298-happyReduction_298 happy_x_2- happy_x_1- = case happyOut41 happy_x_1 of { happy_var_1 -> - case happyOut80 happy_x_2 of { happy_var_2 -> - happyIn77- (let { (dspec, declRoot) = happy_var_1- ; decl = happy_var_2 declRoot- }- in- Type dspec decl (dspec <--> decl)- )}}--happyReduce_299 = happySpecReduce_1 64# happyReduction_299-happyReduction_299 happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 -> - happyIn78- (rsingleton happy_var_1- )}--happyReduce_300 = happySpecReduce_3 64# happyReduction_300-happyReduction_300 happy_x_3- happy_x_2- happy_x_1- = case happyOut78 happy_x_1 of { happy_var_1 -> - case happyOut14 happy_x_3 of { happy_var_3 -> - happyIn78- (rcons happy_var_3 happy_var_1- )}}--happyReduce_301 = happySpecReduce_1 65# happyReduction_301-happyReduction_301 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn79- (let dspec = AntiDeclSpec (getANTI_SPEC happy_var_1) (locOf happy_var_1)- in- Type dspec (declRoot happy_var_1) (locOf happy_var_1)- )}--happyReduce_302 = happyMonadReduce 1# 65# happyReduction_302-happyReduction_302 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut55 happy_x_1 of { happy_var_1 -> - ( do{ dspec <- mkDeclSpec happy_var_1- ; return $ Type dspec (declRoot happy_var_1) (locOf happy_var_1)- })}- ) (\r -> happyReturn (happyIn79 r))--happyReduce_303 = happySpecReduce_2 65# happyReduction_303-happyReduction_303 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut80 happy_x_2 of { happy_var_2 -> - happyIn79- (let { dspec = AntiDeclSpec (getANTI_SPEC happy_var_1) (locOf happy_var_1)- ; decl = happy_var_2 (declRoot happy_var_1)- }- in- Type dspec decl (dspec <--> decl)- )}}--happyReduce_304 = happyMonadReduce 2# 65# happyReduction_304-happyReduction_304 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut55 happy_x_1 of { happy_var_1 -> - case happyOut80 happy_x_2 of { happy_var_2 -> - ( do{ let decl = happy_var_2 (declRoot happy_var_1)- ; dspec <- mkDeclSpec happy_var_1- ; return $ Type dspec decl (dspec <--> decl)- })}}- ) (\r -> happyReturn (happyIn79 r))--happyReduce_305 = happySpecReduce_1 65# happyReduction_305-happyReduction_305 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn79- (AntiType (getANTI_TYPE happy_var_1) (locOf happy_var_1)- )}--happyReduce_306 = happySpecReduce_2 65# happyReduction_306-happyReduction_306 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut80 happy_x_2 of { happy_var_2 -> - happyIn79- (let { v = getANTI_TYPE happy_var_1- ; decl = happy_var_2 (AntiTypeDecl v (locOf happy_var_1))- }- in- Type (AntiTypeDeclSpec [] [] v (locOf happy_var_1)) decl (happy_var_1 <--> decl)- )}}--happyReduce_307 = happySpecReduce_1 66# happyReduction_307-happyReduction_307 happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - happyIn80- (happy_var_1- )}--happyReduce_308 = happySpecReduce_1 66# happyReduction_308-happyReduction_308 happy_x_1- = case happyOut81 happy_x_1 of { happy_var_1 -> - happyIn80- (happy_var_1- )}--happyReduce_309 = happySpecReduce_2 66# happyReduction_309-happyReduction_309 happy_x_2- happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - case happyOut81 happy_x_2 of { happy_var_2 -> - happyIn80- (happy_var_2 . happy_var_1- )}}--happyReduce_310 = happySpecReduce_3 67# happyReduction_310-happyReduction_310 happy_x_3- happy_x_2- happy_x_1- = case happyOut80 happy_x_2 of { happy_var_2 -> - happyIn81- (happy_var_2- )}--happyReduce_311 = happyMonadReduce 3# 67# happyReduction_311-happyReduction_311 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut80 happy_x_2 of { happy_var_2 -> - ( do{ let decl = happy_var_2 (declRoot happy_var_1)- ; unclosed (happy_var_1 <--> decl) "("- })}}- ) (\r -> happyReturn (happyIn81 r))--happyReduce_312 = happySpecReduce_1 67# happyReduction_312-happyReduction_312 happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn81- (happy_var_1- )}--happyReduce_313 = happySpecReduce_2 67# happyReduction_313-happyReduction_313 happy_x_2- happy_x_1- = case happyOut81 happy_x_1 of { happy_var_1 -> - case happyOut71 happy_x_2 of { happy_var_2 -> - happyIn81- (happy_var_1 . happy_var_2- )}}--happyReduce_314 = happySpecReduce_2 67# happyReduction_314-happyReduction_314 happy_x_2- happy_x_1- = happyIn81- (mkOldProto []- )--happyReduce_315 = happySpecReduce_3 67# happyReduction_315-happyReduction_315 happy_x_3- happy_x_2- happy_x_1- = case happyOut74 happy_x_2 of { happy_var_2 -> - happyIn81- (mkProto happy_var_2- )}--happyReduce_316 = happySpecReduce_3 67# happyReduction_316-happyReduction_316 happy_x_3- happy_x_2- happy_x_1- = case happyOut81 happy_x_1 of { happy_var_1 -> - happyIn81- (happy_var_1 . mkOldProto []- )}--happyReduce_317 = happyReduce 4# 67# happyReduction_317-happyReduction_317 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut81 happy_x_1 of { happy_var_1 -> - case happyOut74 happy_x_3 of { happy_var_3 -> - happyIn81- (happy_var_1 . mkProto happy_var_3- ) `HappyStk` happyRest}}--happyReduce_318 = happySpecReduce_1 68# happyReduction_318-happyReduction_318 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn82- (TSnamed (Id (getNAMED happy_var_1) (locOf happy_var_1)) (locOf happy_var_1)- )}--happyReduce_319 = happySpecReduce_2 68# happyReduction_319-happyReduction_319 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut14 happy_x_2 of { happy_var_2 -> - happyIn82- (TSnamed happy_var_2 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_320 = happyMonadReduce 2# 68# happyReduction_320-happyReduction_320 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - ( expected (locOf happy_var_1) ["identifier"])}- ) (\r -> happyReturn (happyIn82 r))--happyReduce_321 = happyReduce 4# 68# happyReduction_321-happyReduction_321 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut22 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - happyIn82- (TStypeofExp happy_var_3 (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_322 = happyReduce 4# 68# happyReduction_322-happyReduction_322 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut79 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - happyIn82- (TStypeofType happy_var_3 (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_323 = happyMonadReduce 4# 68# happyReduction_323-happyReduction_323 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOut79 happy_x_3 of { happy_var_3 -> - ( unclosed (happy_var_2 <--> happy_var_3) "(")}}- ) (\r -> happyReturn (happyIn82 r))--happyReduce_324 = happySpecReduce_1 69# happyReduction_324-happyReduction_324 happy_x_1- = case happyOut35 happy_x_1 of { happy_var_1 -> - happyIn83- (ExpInitializer happy_var_1 (locOf happy_var_1)- )}--happyReduce_325 = happySpecReduce_3 69# happyReduction_325-happyReduction_325 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut84 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn83- (CompoundInitializer (rev happy_var_2) (happy_var_1 <--> happy_var_3)- )}}}--happyReduce_326 = happyMonadReduce 3# 69# happyReduction_326-happyReduction_326 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut84 happy_x_2 of { happy_var_2 -> - ( do{ let (_, inits) = unzip (rev happy_var_2)- ; unclosed (happy_var_1 <--> inits) "{"- })}}- ) (\r -> happyReturn (happyIn83 r))--happyReduce_327 = happyReduce 4# 69# happyReduction_327-happyReduction_327 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut84 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - happyIn83- (CompoundInitializer (rev happy_var_2) (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_328 = happyMonadReduce 4# 69# happyReduction_328-happyReduction_328 (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 { happy_var_1 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - ( unclosed (happy_var_1 <--> happy_var_3) "{")}}- ) (\r -> happyReturn (happyIn83 r))--happyReduce_329 = happySpecReduce_1 70# happyReduction_329-happyReduction_329 happy_x_1- = case happyOut83 happy_x_1 of { happy_var_1 -> - happyIn84- (rsingleton (Nothing, happy_var_1)- )}--happyReduce_330 = happySpecReduce_2 70# happyReduction_330-happyReduction_330 happy_x_2- happy_x_1- = case happyOut85 happy_x_1 of { happy_var_1 -> - case happyOut83 happy_x_2 of { happy_var_2 -> - happyIn84- (rsingleton (Just happy_var_1, happy_var_2)- )}}--happyReduce_331 = happySpecReduce_3 70# happyReduction_331-happyReduction_331 happy_x_3- happy_x_2- happy_x_1- = case happyOut84 happy_x_1 of { happy_var_1 -> - case happyOut83 happy_x_3 of { happy_var_3 -> - happyIn84- (rcons (Nothing, happy_var_3) happy_var_1- )}}--happyReduce_332 = happyReduce 4# 70# happyReduction_332-happyReduction_332 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut84 happy_x_1 of { happy_var_1 -> - case happyOut85 happy_x_3 of { happy_var_3 -> - case happyOut83 happy_x_4 of { happy_var_4 -> - happyIn84- (rcons (Just happy_var_3, happy_var_4) happy_var_1- ) `HappyStk` happyRest}}}--happyReduce_333 = happySpecReduce_2 71# happyReduction_333-happyReduction_333 happy_x_2- happy_x_1- = case happyOut86 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn85- (let designators = rev happy_var_1- in- Designation designators (designators <--> happy_var_2)- )}}--happyReduce_334 = happySpecReduce_1 72# happyReduction_334-happyReduction_334 happy_x_1- = case happyOut87 happy_x_1 of { happy_var_1 -> - happyIn86- (rsingleton happy_var_1- )}--happyReduce_335 = happySpecReduce_2 72# happyReduction_335-happyReduction_335 happy_x_2- happy_x_1- = case happyOut86 happy_x_1 of { happy_var_1 -> - case happyOut87 happy_x_2 of { happy_var_2 -> - happyIn86- (rcons happy_var_2 happy_var_1- )}}--happyReduce_336 = happySpecReduce_3 73# happyReduction_336-happyReduction_336 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn87- (IndexDesignator happy_var_2 (happy_var_1 <--> happy_var_3)- )}}}--happyReduce_337 = happySpecReduce_2 73# happyReduction_337-happyReduction_337 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut14 happy_x_2 of { happy_var_2 -> - happyIn87- (MemberDesignator happy_var_2 (happy_var_1 <--> happy_var_2)- )}}--happyReduce_338 = happySpecReduce_1 74# happyReduction_338-happyReduction_338 happy_x_1- = case happyOut89 happy_x_1 of { happy_var_1 -> - happyIn88- (happy_var_1- )}--happyReduce_339 = happySpecReduce_1 74# happyReduction_339-happyReduction_339 happy_x_1- = case happyOut90 happy_x_1 of { happy_var_1 -> - happyIn88- (happy_var_1- )}--happyReduce_340 = happySpecReduce_1 74# happyReduction_340-happyReduction_340 happy_x_1- = case happyOut96 happy_x_1 of { happy_var_1 -> - happyIn88- (happy_var_1- )}--happyReduce_341 = happySpecReduce_1 74# happyReduction_341-happyReduction_341 happy_x_1- = case happyOut97 happy_x_1 of { happy_var_1 -> - happyIn88- (happy_var_1- )}--happyReduce_342 = happySpecReduce_1 74# happyReduction_342-happyReduction_342 happy_x_1- = case happyOut98 happy_x_1 of { happy_var_1 -> - happyIn88- (happy_var_1- )}--happyReduce_343 = happySpecReduce_1 74# happyReduction_343-happyReduction_343 happy_x_1- = case happyOut99 happy_x_1 of { happy_var_1 -> - happyIn88- (happy_var_1- )}--happyReduce_344 = happySpecReduce_1 74# happyReduction_344-happyReduction_344 happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 -> - happyIn88- (happy_var_1- )}--happyReduce_345 = happySpecReduce_1 74# happyReduction_345-happyReduction_345 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn88- (AntiStm (getANTI_STM happy_var_1) (locOf happy_var_1)- )}--happyReduce_346 = happySpecReduce_3 75# happyReduction_346-happyReduction_346 happy_x_3- happy_x_2- happy_x_1- = case happyOut14 happy_x_1 of { happy_var_1 -> - case happyOut88 happy_x_3 of { happy_var_3 -> - happyIn89- (Label happy_var_1 happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_347 = happyReduce 4# 75# happyReduction_347-happyReduction_347 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_2 of { happy_var_2 -> - case happyOut88 happy_x_4 of { happy_var_4 -> - happyIn89- (Case happy_var_2 happy_var_4 (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_348 = happySpecReduce_3 75# happyReduction_348-happyReduction_348 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut88 happy_x_3 of { happy_var_3 -> - happyIn89- (Default happy_var_3 (happy_var_1 <--> happy_var_3)- )}}--happyReduce_349 = happyReduce 4# 76# happyReduction_349-happyReduction_349 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - happyIn90- (Block [] (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}--happyReduce_350 = happyMonadReduce 3# 76# happyReduction_350-happyReduction_350 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_3 of { happy_var_3 -> - ( unclosed (locOf happy_var_3) "{")}- ) (\r -> happyReturn (happyIn90 r))--happyReduce_351 = happyReduce 5# 76# happyReduction_351-happyReduction_351 (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 { happy_var_1 -> - case happyOut91 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_5 of { happy_var_5 -> - happyIn90- (Block (rev happy_var_3) (happy_var_1 <--> happy_var_5)- ) `HappyStk` happyRest}}}--happyReduce_352 = happySpecReduce_1 77# happyReduction_352-happyReduction_352 happy_x_1- = case happyOut92 happy_x_1 of { happy_var_1 -> - happyIn91- (rsingleton happy_var_1- )}--happyReduce_353 = happySpecReduce_2 77# happyReduction_353-happyReduction_353 happy_x_2- happy_x_1- = case happyOut91 happy_x_1 of { happy_var_1 -> - case happyOut92 happy_x_2 of { happy_var_2 -> - happyIn91- (rcons happy_var_2 happy_var_1- )}}--happyReduce_354 = happySpecReduce_1 78# happyReduction_354-happyReduction_354 happy_x_1- = case happyOut39 happy_x_1 of { happy_var_1 -> - happyIn92- (BlockDecl happy_var_1- )}--happyReduce_355 = happySpecReduce_1 78# happyReduction_355-happyReduction_355 happy_x_1- = case happyOut88 happy_x_1 of { happy_var_1 -> - happyIn92- (BlockStm happy_var_1- )}--happyReduce_356 = happySpecReduce_1 78# happyReduction_356-happyReduction_356 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn92- (BlockDecl (AntiDecls (getANTI_DECLS happy_var_1) (locOf happy_var_1))- )}--happyReduce_357 = happySpecReduce_1 78# happyReduction_357-happyReduction_357 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn92- (BlockStm (AntiStms (getANTI_STMS happy_var_1) (locOf happy_var_1))- )}--happyReduce_358 = happySpecReduce_1 78# happyReduction_358-happyReduction_358 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn92- (AntiBlockItem (getANTI_ITEM happy_var_1) (locOf happy_var_1)- )}--happyReduce_359 = happySpecReduce_1 78# happyReduction_359-happyReduction_359 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn92- (AntiBlockItems (getANTI_ITEMS happy_var_1) (locOf happy_var_1)- )}--happyReduce_360 = happyMonadReduce 0# 79# happyReduction_360-happyReduction_360 (happyRest) tk- = happyThen (( pushScope)- ) (\r -> happyReturn (happyIn93 r))--happyReduce_361 = happyMonadReduce 0# 80# happyReduction_361-happyReduction_361 (happyRest) tk- = happyThen (( popScope)- ) (\r -> happyReturn (happyIn94 r))--happyReduce_362 = happySpecReduce_1 81# happyReduction_362-happyReduction_362 happy_x_1- = case happyOut39 happy_x_1 of { happy_var_1 -> - happyIn95- (rsingleton happy_var_1- )}--happyReduce_363 = happySpecReduce_1 81# happyReduction_363-happyReduction_363 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn95- (rsingleton (AntiDecls (getANTI_DECLS happy_var_1) (locOf happy_var_1))- )}--happyReduce_364 = happySpecReduce_2 81# happyReduction_364-happyReduction_364 happy_x_2- happy_x_1- = case happyOut95 happy_x_1 of { happy_var_1 -> - case happyOut39 happy_x_2 of { happy_var_2 -> - happyIn95- (rcons happy_var_2 happy_var_1- )}}--happyReduce_365 = happySpecReduce_2 81# happyReduction_365-happyReduction_365 happy_x_2- happy_x_1- = case happyOut95 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn95- (rcons (AntiDecls (getANTI_DECLS happy_var_2) (locOf happy_var_2)) happy_var_1- )}}--happyReduce_366 = happySpecReduce_1 82# happyReduction_366-happyReduction_366 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn96- (Exp Nothing (locOf happy_var_1)- )}--happyReduce_367 = happySpecReduce_2 82# happyReduction_367-happyReduction_367 happy_x_2- happy_x_1- = case happyOut36 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn96- (Exp (Just happy_var_1) (happy_var_1 <--> happy_var_2)- )}}--happyReduce_368 = happyMonadReduce 2# 82# happyReduction_368-happyReduction_368 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut36 happy_x_1 of { happy_var_1 -> - ( expected (locOf happy_var_1) ["';'"])}- ) (\r -> happyReturn (happyIn96 r))--happyReduce_369 = happyReduce 5# 83# happyReduction_369-happyReduction_369 (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 { happy_var_1 -> - case happyOut36 happy_x_3 of { happy_var_3 -> - case happyOut88 happy_x_5 of { happy_var_5 -> - happyIn97- (If happy_var_3 happy_var_5 Nothing (happy_var_1 <--> happy_var_5)- ) `HappyStk` happyRest}}}--happyReduce_370 = happyReduce 7# 83# happyReduction_370-happyReduction_370 (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 { happy_var_1 -> - case happyOut36 happy_x_3 of { happy_var_3 -> - case happyOut88 happy_x_5 of { happy_var_5 -> - case happyOut88 happy_x_7 of { happy_var_7 -> - happyIn97- (If happy_var_3 happy_var_5 (Just happy_var_7) (happy_var_1 <--> happy_var_7)- ) `HappyStk` happyRest}}}}--happyReduce_371 = happyMonadReduce 4# 83# happyReduction_371-happyReduction_371 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOut36 happy_x_3 of { happy_var_3 -> - ( unclosed (happy_var_2 <--> happy_var_3) "(")}}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_372 = happyReduce 5# 83# happyReduction_372-happyReduction_372 (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 { happy_var_1 -> - case happyOut36 happy_x_3 of { happy_var_3 -> - case happyOut88 happy_x_5 of { happy_var_5 -> - happyIn97- (Switch happy_var_3 happy_var_5 (happy_var_1 <--> happy_var_5)- ) `HappyStk` happyRest}}}--happyReduce_373 = happyMonadReduce 4# 83# happyReduction_373-happyReduction_373 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOut36 happy_x_3 of { happy_var_3 -> - ( unclosed (happy_var_2 <--> happy_var_3) "(")}}- ) (\r -> happyReturn (happyIn97 r))--happyReduce_374 = happyReduce 5# 84# happyReduction_374-happyReduction_374 (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 { happy_var_1 -> - case happyOut36 happy_x_3 of { happy_var_3 -> - case happyOut88 happy_x_5 of { happy_var_5 -> - happyIn98- (While happy_var_3 happy_var_5 (happy_var_1 <--> happy_var_5)- ) `HappyStk` happyRest}}}--happyReduce_375 = happyMonadReduce 4# 84# happyReduction_375-happyReduction_375 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOut36 happy_x_3 of { happy_var_3 -> - ( unclosed (happy_var_2 <--> happy_var_3) "(")}}- ) (\r -> happyReturn (happyIn98 r))--happyReduce_376 = happyReduce 7# 84# happyReduction_376-happyReduction_376 (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 { happy_var_1 -> - case happyOut88 happy_x_2 of { happy_var_2 -> - case happyOut36 happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_7 of { happy_var_7 -> - happyIn98- (DoWhile happy_var_2 happy_var_5 (happy_var_1 <--> happy_var_7)- ) `HappyStk` happyRest}}}}--happyReduce_377 = happyMonadReduce 6# 84# happyReduction_377-happyReduction_377 (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) tk- = happyThen (case happyOutTok happy_x_4 of { happy_var_4 -> - case happyOut36 happy_x_5 of { happy_var_5 -> - ( unclosed (happy_var_4 <--> happy_var_5) "(")}}- ) (\r -> happyReturn (happyIn98 r))--happyReduce_378 = happyMonadReduce 3# 84# happyReduction_378-happyReduction_378 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_2 of { happy_var_2 -> - ( expected (locOf happy_var_2) ["expression", "declaration"])}- ) (\r -> happyReturn (happyIn98 r))--happyReduce_379 = happyReduce 7# 84# happyReduction_379-happyReduction_379 (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 { happy_var_1 -> - case happyOut39 happy_x_3 of { happy_var_3 -> - case happyOut37 happy_x_4 of { happy_var_4 -> - case happyOut88 happy_x_7 of { happy_var_7 -> - happyIn98- (For (Left happy_var_3) happy_var_4 Nothing happy_var_7 (happy_var_1 <--> happy_var_7)- ) `HappyStk` happyRest}}}}--happyReduce_380 = happyReduce 8# 84# happyReduction_380-happyReduction_380 (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 happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut37 happy_x_3 of { happy_var_3 -> - case happyOut37 happy_x_5 of { happy_var_5 -> - case happyOut88 happy_x_8 of { happy_var_8 -> - happyIn98- (For (Right happy_var_3) happy_var_5 Nothing happy_var_8 (happy_var_1 <--> happy_var_8)- ) `HappyStk` happyRest}}}}--happyReduce_381 = happyMonadReduce 7# 84# happyReduction_381-happyReduction_381 (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) tk- = happyThen (case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_6 of { happy_var_6 -> - ( unclosed (happy_var_2 <--> happy_var_6) "(")}}- ) (\r -> happyReturn (happyIn98 r))--happyReduce_382 = happyReduce 8# 84# happyReduction_382-happyReduction_382 (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 happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut39 happy_x_3 of { happy_var_3 -> - case happyOut37 happy_x_4 of { happy_var_4 -> - case happyOut36 happy_x_6 of { happy_var_6 -> - case happyOut88 happy_x_8 of { happy_var_8 -> - happyIn98- (For (Left happy_var_3) happy_var_4 (Just happy_var_6) happy_var_8 (happy_var_1 <--> happy_var_8)- ) `HappyStk` happyRest}}}}}--happyReduce_383 = happyReduce 9# 84# happyReduction_383-happyReduction_383 (happy_x_9 `HappyStk`- 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 happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut37 happy_x_3 of { happy_var_3 -> - case happyOut37 happy_x_5 of { happy_var_5 -> - case happyOut36 happy_x_7 of { happy_var_7 -> - case happyOut88 happy_x_9 of { happy_var_9 -> - happyIn98- (For (Right happy_var_3) happy_var_5 (Just happy_var_7) happy_var_9 (happy_var_1 <--> happy_var_9)- ) `HappyStk` happyRest}}}}}--happyReduce_384 = happyMonadReduce 8# 84# happyReduction_384-happyReduction_384 (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) tk- = happyThen (case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOut36 happy_x_7 of { happy_var_7 -> - ( unclosed (happy_var_2 <--> happy_var_7) "(")}}- ) (\r -> happyReturn (happyIn98 r))--happyReduce_385 = happySpecReduce_3 85# happyReduction_385-happyReduction_385 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut14 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn99- (Goto happy_var_2 (happy_var_1 <--> happy_var_3)- )}}}--happyReduce_386 = happyMonadReduce 2# 85# happyReduction_386-happyReduction_386 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - ( expected (locOf happy_var_1) ["identifier"])}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_387 = happyMonadReduce 3# 85# happyReduction_387-happyReduction_387 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut14 happy_x_2 of { happy_var_2 -> - ( expected (locOf happy_var_2) ["';'"])}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_388 = happySpecReduce_2 85# happyReduction_388-happyReduction_388 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn99- (Continue (happy_var_1 <--> happy_var_2)- )}}--happyReduce_389 = happyMonadReduce 2# 85# happyReduction_389-happyReduction_389 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - ( expected (locOf happy_var_1) ["';'"])}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_390 = happySpecReduce_2 85# happyReduction_390-happyReduction_390 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn99- (Break (happy_var_1 <--> happy_var_2)- )}}--happyReduce_391 = happyMonadReduce 2# 85# happyReduction_391-happyReduction_391 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - ( expected (locOf happy_var_1) ["';'"])}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_392 = happySpecReduce_2 85# happyReduction_392-happyReduction_392 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn99- (Return Nothing (happy_var_1 <--> happy_var_2)- )}}--happyReduce_393 = happyMonadReduce 2# 85# happyReduction_393-happyReduction_393 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> - ( expected (locOf happy_var_1) ["';'"])}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_394 = happySpecReduce_3 85# happyReduction_394-happyReduction_394 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut36 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - happyIn99- (Return (Just happy_var_2) (happy_var_1 <--> happy_var_3)- )}}}--happyReduce_395 = happyMonadReduce 3# 85# happyReduction_395-happyReduction_395 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut36 happy_x_2 of { happy_var_2 -> - ( expected (locOf happy_var_2) ["';'"])}- ) (\r -> happyReturn (happyIn99 r))--happyReduce_396 = happySpecReduce_0 86# happyReduction_396-happyReduction_396 = happyIn100- ([]- )--happyReduce_397 = happySpecReduce_1 86# happyReduction_397-happyReduction_397 happy_x_1- = case happyOut101 happy_x_1 of { happy_var_1 -> - happyIn100- (rev happy_var_1- )}--happyReduce_398 = happySpecReduce_1 87# happyReduction_398-happyReduction_398 happy_x_1- = case happyOut102 happy_x_1 of { happy_var_1 -> - happyIn101- (rsingleton happy_var_1- )}--happyReduce_399 = happySpecReduce_1 87# happyReduction_399-happyReduction_399 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn101- (rsingleton (AntiEdecls (getANTI_EDECLS happy_var_1) (locOf happy_var_1))- )}--happyReduce_400 = happySpecReduce_2 87# happyReduction_400-happyReduction_400 happy_x_2- happy_x_1- = case happyOut101 happy_x_1 of { happy_var_1 -> - case happyOut102 happy_x_2 of { happy_var_2 -> - happyIn101- (rcons happy_var_2 happy_var_1- )}}--happyReduce_401 = happySpecReduce_2 87# happyReduction_401-happyReduction_401 happy_x_2- happy_x_1- = case happyOut101 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn101- (rcons (AntiEdecls (getANTI_EDECLS happy_var_2) (locOf happy_var_2)) happy_var_1- )}}--happyReduce_402 = happySpecReduce_1 88# happyReduction_402-happyReduction_402 happy_x_1- = case happyOut103 happy_x_1 of { happy_var_1 -> - happyIn102- (FuncDef happy_var_1 (locOf happy_var_1)- )}--happyReduce_403 = happySpecReduce_1 88# happyReduction_403-happyReduction_403 happy_x_1- = case happyOut39 happy_x_1 of { happy_var_1 -> - happyIn102- (DecDef happy_var_1 (locOf happy_var_1)- )}--happyReduce_404 = happySpecReduce_1 88# happyReduction_404-happyReduction_404 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn102- (AntiFunc (getANTI_FUNC happy_var_1) (locOf happy_var_1)- )}--happyReduce_405 = happySpecReduce_1 88# happyReduction_405-happyReduction_405 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn102- (AntiEsc (getANTI_ESC happy_var_1) (locOf happy_var_1)- )}--happyReduce_406 = happySpecReduce_1 88# happyReduction_406-happyReduction_406 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn102- (AntiEdecl (getANTI_EDECL happy_var_1) (locOf happy_var_1)- )}--happyReduce_407 = happyMonadReduce 3# 89# happyReduction_407-happyReduction_407 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 -> - case happyOut67 happy_x_2 of { happy_var_2 -> - case happyOut90 happy_x_3 of { happy_var_3 -> - ( do{ let (dspec, declRoot) = happy_var_1- ; let (ident, declToDecl) = happy_var_2- ; let Block blockItems _ = happy_var_3- ; let decl = declToDecl declRoot- ; case decl of- { Proto protoDecl args _ -> return $- Func dspec ident protoDecl args- blockItems- (decl <--> blockItems)- ; OldProto protoDecl args _ -> return $- OldFunc dspec ident protoDecl args Nothing- blockItems- (decl <--> blockItems)- ; _ -> failAt (decl <--> blockItems :: Loc)- "bad function declaration"- }- })}}}- ) (\r -> happyReturn (happyIn103 r))--happyReduce_408 = happyMonadReduce 4# 89# happyReduction_408-happyReduction_408 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen (case happyOut41 happy_x_1 of { happy_var_1 -> - case happyOut67 happy_x_2 of { happy_var_2 -> - case happyOut95 happy_x_3 of { happy_var_3 -> - case happyOut90 happy_x_4 of { happy_var_4 -> - ( do{ let (dspec, declRoot) = happy_var_1- ; let (ident, declToDecl) = happy_var_2- ; let argDecls = happy_var_3- ; let Block blockItems _ = happy_var_4- ; let decl = declToDecl declRoot- ; case decl of- { OldProto protoDecl args _ -> return $- OldFunc dspec ident protoDecl args (Just (rev argDecls))- blockItems- (decl <--> blockItems)- ; _ -> failAt (decl <--> blockItems :: Loc)- "bad function declaration"- }- })}}}}- ) (\r -> happyReturn (happyIn103 r))--happyReduce_409 = happySpecReduce_1 90# happyReduction_409-happyReduction_409 happy_x_1- = case happyOut105 happy_x_1 of { happy_var_1 -> - happyIn104- (happy_var_1- )}--happyReduce_410 = happySpecReduce_2 90# happyReduction_410-happyReduction_410 happy_x_2- happy_x_1- = case happyOut104 happy_x_1 of { happy_var_1 -> - case happyOut105 happy_x_2 of { happy_var_2 -> - happyIn104- (happy_var_1 ++ happy_var_2- )}}--happyReduce_411 = happyReduce 6# 91# happyReduction_411-happyReduction_411 (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 happyOut106 happy_x_4 of { happy_var_4 -> - happyIn105- (rev happy_var_4- ) `HappyStk` happyRest}--happyReduce_412 = happySpecReduce_1 92# happyReduction_412-happyReduction_412 happy_x_1- = case happyOut107 happy_x_1 of { happy_var_1 -> - happyIn106- (rsingleton happy_var_1- )}--happyReduce_413 = happySpecReduce_3 92# happyReduction_413-happyReduction_413 happy_x_3- happy_x_2- happy_x_1- = case happyOut106 happy_x_1 of { happy_var_1 -> - case happyOut107 happy_x_3 of { happy_var_3 -> - happyIn106- (rcons happy_var_3 happy_var_1- )}}--happyReduce_414 = happySpecReduce_1 93# happyReduction_414-happyReduction_414 happy_x_1- = case happyOut108 happy_x_1 of { happy_var_1 -> - happyIn107- (Attr happy_var_1 [] (locOf happy_var_1)- )}--happyReduce_415 = happyReduce 4# 93# happyReduction_415-happyReduction_415 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut108 happy_x_1 of { happy_var_1 -> - case happyOut21 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - happyIn107- (Attr happy_var_1 (rev happy_var_3) (happy_var_1 <--> happy_var_4)- ) `HappyStk` happyRest}}}--happyReduce_416 = happySpecReduce_1 94# happyReduction_416-happyReduction_416 happy_x_1- = case happyOut15 happy_x_1 of { happy_var_1 -> - happyIn108- (happy_var_1- )}--happyReduce_417 = happySpecReduce_1 94# happyReduction_417-happyReduction_417 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "static" (locOf happy_var_1)- )}--happyReduce_418 = happySpecReduce_1 94# happyReduction_418-happyReduction_418 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "extern" (locOf happy_var_1)- )}--happyReduce_419 = happySpecReduce_1 94# happyReduction_419-happyReduction_419 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "register" (locOf happy_var_1)- )}--happyReduce_420 = happySpecReduce_1 94# happyReduction_420-happyReduction_420 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "typedef" (locOf happy_var_1)- )}--happyReduce_421 = happySpecReduce_1 94# happyReduction_421-happyReduction_421 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "inline" (locOf happy_var_1)- )}--happyReduce_422 = happySpecReduce_1 94# happyReduction_422-happyReduction_422 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "auto" (locOf happy_var_1)- )}--happyReduce_423 = happySpecReduce_1 94# happyReduction_423-happyReduction_423 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "const" (locOf happy_var_1)- )}--happyReduce_424 = happySpecReduce_1 94# happyReduction_424-happyReduction_424 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "volatile" (locOf happy_var_1)- )}--happyReduce_425 = happySpecReduce_1 94# happyReduction_425-happyReduction_425 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "unsigned" (locOf happy_var_1)- )}--happyReduce_426 = happySpecReduce_1 94# happyReduction_426-happyReduction_426 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "long" (locOf happy_var_1)- )}--happyReduce_427 = happySpecReduce_1 94# happyReduction_427-happyReduction_427 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "short" (locOf happy_var_1)- )}--happyReduce_428 = happySpecReduce_1 94# happyReduction_428-happyReduction_428 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "signed" (locOf happy_var_1)- )}--happyReduce_429 = happySpecReduce_1 94# happyReduction_429-happyReduction_429 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "int" (locOf happy_var_1)- )}--happyReduce_430 = happySpecReduce_1 94# happyReduction_430-happyReduction_430 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "char" (locOf happy_var_1)- )}--happyReduce_431 = happySpecReduce_1 94# happyReduction_431-happyReduction_431 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "float" (locOf happy_var_1)- )}--happyReduce_432 = happySpecReduce_1 94# happyReduction_432-happyReduction_432 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "double" (locOf happy_var_1)- )}--happyReduce_433 = happySpecReduce_1 94# happyReduction_433-happyReduction_433 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn108- (Id "void" (locOf happy_var_1)- )}--happyReduce_434 = happySpecReduce_0 95# happyReduction_434-happyReduction_434 = happyIn109- (False- )--happyReduce_435 = happySpecReduce_1 95# happyReduction_435-happyReduction_435 happy_x_1- = happyIn109- (True- )--happyReduce_436 = happyReduce 6# 96# happyReduction_436-happyReduction_436 (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 { happy_var_1 -> - case happyOut109 happy_x_2 of { happy_var_2 -> - case happyOut111 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { happy_var_5 -> - happyIn110- (Asm happy_var_2 [] (rev happy_var_4) [] [] [] (happy_var_1 <--> happy_var_5)- ) `HappyStk` happyRest}}}}--happyReduce_437 = happyReduce 8# 96# happyReduction_437-happyReduction_437 (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 happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut109 happy_x_2 of { happy_var_2 -> - case happyOut111 happy_x_4 of { happy_var_4 -> - case happyOut112 happy_x_6 of { happy_var_6 -> - case happyOutTok happy_x_7 of { happy_var_7 -> - happyIn110- (Asm happy_var_2 [] (rev happy_var_4) happy_var_6 [] [] (happy_var_1 <--> happy_var_7)- ) `HappyStk` happyRest}}}}}--happyReduce_438 = happyReduce 10# 96# happyReduction_438-happyReduction_438 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- 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 happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut109 happy_x_2 of { happy_var_2 -> - case happyOut111 happy_x_4 of { happy_var_4 -> - case happyOut112 happy_x_6 of { happy_var_6 -> - case happyOut112 happy_x_8 of { happy_var_8 -> - case happyOutTok happy_x_9 of { happy_var_9 -> - happyIn110- (Asm happy_var_2 [] (rev happy_var_4) happy_var_6 happy_var_8 [] (happy_var_1 <--> happy_var_9)- ) `HappyStk` happyRest}}}}}}--happyReduce_439 = happyReduce 12# 96# happyReduction_439-happyReduction_439 (happy_x_12 `HappyStk`- happy_x_11 `HappyStk`- happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- 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 happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut109 happy_x_2 of { happy_var_2 -> - case happyOut111 happy_x_4 of { happy_var_4 -> - case happyOut112 happy_x_6 of { happy_var_6 -> - case happyOut112 happy_x_8 of { happy_var_8 -> - case happyOut115 happy_x_10 of { happy_var_10 -> - case happyOutTok happy_x_11 of { happy_var_11 -> - happyIn110- (Asm happy_var_2 [] (rev happy_var_4) happy_var_6 happy_var_8 happy_var_10 (happy_var_1 <--> happy_var_11)- ) `HappyStk` happyRest}}}}}}}--happyReduce_440 = happySpecReduce_1 97# happyReduction_440-happyReduction_440 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn111- (rsingleton ((fst . getSTRING) happy_var_1)- )}--happyReduce_441 = happySpecReduce_2 97# happyReduction_441-happyReduction_441 happy_x_2- happy_x_1- = case happyOut111 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn111- (rcons ((fst . getSTRING) happy_var_2) happy_var_1- )}}--happyReduce_442 = happySpecReduce_0 98# happyReduction_442-happyReduction_442 = happyIn112- ([]- )--happyReduce_443 = happySpecReduce_1 98# happyReduction_443-happyReduction_443 happy_x_1- = case happyOut113 happy_x_1 of { happy_var_1 -> - happyIn112- (rev happy_var_1- )}--happyReduce_444 = happySpecReduce_1 99# happyReduction_444-happyReduction_444 happy_x_1- = case happyOut114 happy_x_1 of { happy_var_1 -> - happyIn113- (rsingleton happy_var_1- )}--happyReduce_445 = happySpecReduce_3 99# happyReduction_445-happyReduction_445 happy_x_3- happy_x_2- happy_x_1- = case happyOut113 happy_x_1 of { happy_var_1 -> - case happyOut114 happy_x_3 of { happy_var_3 -> - happyIn113- (rcons happy_var_3 happy_var_1- )}}--happyReduce_446 = happyReduce 4# 100# happyReduction_446-happyReduction_446 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut36 happy_x_3 of { happy_var_3 -> - happyIn114- (((fst . getSTRING) happy_var_1, happy_var_3)- ) `HappyStk` happyRest}}--happyReduce_447 = happySpecReduce_0 101# happyReduction_447-happyReduction_447 = happyIn115- ([]- )--happyReduce_448 = happySpecReduce_1 101# happyReduction_448-happyReduction_448 happy_x_1- = case happyOut116 happy_x_1 of { happy_var_1 -> - happyIn115- (rev happy_var_1- )}--happyReduce_449 = happySpecReduce_1 102# happyReduction_449-happyReduction_449 happy_x_1- = case happyOut117 happy_x_1 of { happy_var_1 -> - happyIn116- (rsingleton happy_var_1- )}--happyReduce_450 = happySpecReduce_3 102# happyReduction_450-happyReduction_450 happy_x_3- happy_x_2- happy_x_1- = case happyOut116 happy_x_1 of { happy_var_1 -> - case happyOut117 happy_x_3 of { happy_var_3 -> - happyIn116- (rcons happy_var_3 happy_var_1- )}}--happyReduce_451 = happySpecReduce_1 103# happyReduction_451-happyReduction_451 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn117- ((fst . getSTRING) happy_var_1- )}--happyNewToken action sts stk- = lexer(\tk -> - let cont i = happyDoAction i tk action sts stk in- case tk of {- L _ T.Teof -> happyDoAction 139# tk action sts stk;- L _ (T.TcharConst _) -> cont 1#;- L _ (T.TstringConst _) -> cont 2#;- L _ (T.TintConst _) -> cont 3#;- L _ (T.TlongIntConst _) -> cont 4#;- L _ (T.TlongLongIntConst _) -> cont 5#;- L _ (T.TfloatConst _) -> cont 6#;- L _ (T.TdoubleConst _) -> cont 7#;- L _ (T.TlongDoubleConst _) -> cont 8#;- L _ (T.Tidentifier _) -> cont 9#;- L _ (T.Tnamed _) -> cont 10#;- L _ T.Tlparen -> cont 11#;- L _ T.Trparen -> cont 12#;- L _ T.Tlbrack -> cont 13#;- L _ T.Trbrack -> cont 14#;- L _ T.Tlbrace -> cont 15#;- L _ T.Trbrace -> cont 16#;- L _ T.Tcomma -> cont 17#;- L _ T.Tsemi -> cont 18#;- L _ T.Tcolon -> cont 19#;- L _ T.Tquestion -> cont 20#;- L _ T.Tdot -> cont 21#;- L _ T.Tarrow -> cont 22#;- L _ T.Tellipses -> cont 23#;- L _ T.Tplus -> cont 24#;- L _ T.Tminus -> cont 25#;- L _ T.Tstar -> cont 26#;- L _ T.Tdiv -> cont 27#;- L _ T.Tmod -> cont 28#;- L _ T.Tnot -> cont 29#;- L _ T.Tand -> cont 30#;- L _ T.Tor -> cont 31#;- L _ T.Txor -> cont 32#;- L _ T.Tlsh -> cont 33#;- L _ T.Trsh -> cont 34#;- L _ T.Tinc -> cont 35#;- L _ T.Tdec -> cont 36#;- L _ T.Tlnot -> cont 37#;- L _ T.Tland -> cont 38#;- L _ T.Tlor -> cont 39#;- L _ T.Teq -> cont 40#;- L _ T.Tne -> cont 41#;- L _ T.Tlt -> cont 42#;- L _ T.Tgt -> cont 43#;- L _ T.Tle -> cont 44#;- L _ T.Tge -> cont 45#;- L _ T.Tassign -> cont 46#;- L _ T.Tadd_assign -> cont 47#;- L _ T.Tsub_assign -> cont 48#;- L _ T.Tmul_assign -> cont 49#;- L _ T.Tdiv_assign -> cont 50#;- L _ T.Tmod_assign -> cont 51#;- L _ T.Tlsh_assign -> cont 52#;- L _ T.Trsh_assign -> cont 53#;- L _ T.Tand_assign -> cont 54#;- L _ T.Tor_assign -> cont 55#;- L _ T.Txor_assign -> cont 56#;- L _ T.Tauto -> cont 57#;- L _ T.Tbreak -> cont 58#;- L _ T.Tcase -> cont 59#;- L _ T.Tchar -> cont 60#;- L _ T.Tconst -> cont 61#;- L _ T.Tcontinue -> cont 62#;- L _ T.Tdefault -> cont 63#;- L _ T.Tdo -> cont 64#;- L _ T.Tdouble -> cont 65#;- L _ T.Telse -> cont 66#;- L _ T.Tenum -> cont 67#;- L _ T.Textern -> cont 68#;- L _ T.Tfloat -> cont 69#;- L _ T.Tfor -> cont 70#;- L _ T.Tgoto -> cont 71#;- L _ T.Tif -> cont 72#;- L _ T.Tinline -> cont 73#;- L _ T.Tint -> cont 74#;- L _ T.Tlong -> cont 75#;- L _ T.Tregister -> cont 76#;- L _ T.Trestrict -> cont 77#;- L _ T.Treturn -> cont 78#;- L _ T.Tshort -> cont 79#;- L _ T.Tsigned -> cont 80#;- L _ T.Tsizeof -> cont 81#;- L _ T.Tstatic -> cont 82#;- L _ T.Tstruct -> cont 83#;- L _ T.Tswitch -> cont 84#;- L _ T.Ttypedef -> cont 85#;- L _ T.Tunion -> cont 86#;- L _ T.Tunsigned -> cont 87#;- L _ T.Tvoid -> cont 88#;- L _ T.Tvolatile -> cont 89#;- L _ T.Twhile -> cont 90#;- L _ T.TBool -> cont 91#;- L _ T.TComplex -> cont 92#;- L _ T.TImaginary -> cont 93#;- L _ T.Tasm -> cont 94#;- L _ T.Tattribute -> cont 95#;- L _ T.Textension -> cont 96#;- L _ T.Tbuiltin_va_arg -> cont 97#;- L _ T.Tbuiltin_va_list -> cont 98#;- L _ T.Ttypeof -> cont 99#;- L _ T.T3lt -> cont 100#;- L _ T.T3gt -> cont 101#;- L _ T.Tdevice -> cont 102#;- L _ T.Tglobal -> cont 103#;- L _ T.Thost -> cont 104#;- L _ T.Tconstant -> cont 105#;- L _ T.Tshared -> cont 106#;- L _ T.Tnoinline -> cont 107#;- L _ T.Ttypename -> cont 108#;- L _ (T.Tanti_id _) -> cont 109#;- L _ (T.Tanti_int _) -> cont 110#;- L _ (T.Tanti_uint _) -> cont 111#;- L _ (T.Tanti_lint _) -> cont 112#;- L _ (T.Tanti_ulint _) -> cont 113#;- L _ (T.Tanti_float _) -> cont 114#;- L _ (T.Tanti_double _) -> cont 115#;- L _ (T.Tanti_long_double _) -> cont 116#;- L _ (T.Tanti_char _) -> cont 117#;- L _ (T.Tanti_string _) -> cont 118#;- L _ (T.Tanti_exp _) -> cont 119#;- L _ (T.Tanti_func _) -> cont 120#;- L _ (T.Tanti_args _) -> cont 121#;- L _ (T.Tanti_decl _) -> cont 122#;- L _ (T.Tanti_decls _) -> cont 123#;- L _ (T.Tanti_sdecl _) -> cont 124#;- L _ (T.Tanti_sdecls _) -> cont 125#;- L _ (T.Tanti_enum _) -> cont 126#;- L _ (T.Tanti_enums _) -> cont 127#;- L _ (T.Tanti_esc _) -> cont 128#;- L _ (T.Tanti_edecl _) -> cont 129#;- L _ (T.Tanti_edecls _) -> cont 130#;- L _ (T.Tanti_item _) -> cont 131#;- L _ (T.Tanti_items _) -> cont 132#;- L _ (T.Tanti_stm _) -> cont 133#;- L _ (T.Tanti_stms _) -> cont 134#;- L _ (T.Tanti_spec _) -> cont 135#;- L _ (T.Tanti_type _) -> cont 136#;- L _ (T.Tanti_param _) -> cont 137#;- L _ (T.Tanti_params _) -> cont 138#;- _ -> happyError' tk- })--happyError_ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (>>=)-happyReturn :: () => a -> P a-happyReturn = (return)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => ((L T.Token)) -> P a-happyError' tk = happyError tk--parseExp = happySomeParser where- happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut36 x))--parseEdecl = happySomeParser where- happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut102 x))--parseDecl = happySomeParser where- happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut39 x))--parseStructDecl = happySomeParser where- happySomeParser = happyThen (happyParse 3#) (\x -> happyReturn (happyOut54 x))--parseEnum = happySomeParser where- happySomeParser = happyThen (happyParse 4#) (\x -> happyReturn (happyOut61 x))--parseType = happySomeParser where- happySomeParser = happyThen (happyParse 5#) (\x -> happyReturn (happyOut77 x))--parseParam = happySomeParser where- happySomeParser = happyThen (happyParse 6#) (\x -> happyReturn (happyOut76 x))--parseInit = happySomeParser where- happySomeParser = happyThen (happyParse 7#) (\x -> happyReturn (happyOut83 x))--parseStm = happySomeParser where- happySomeParser = happyThen (happyParse 8#) (\x -> happyReturn (happyOut88 x))--parseUnit = happySomeParser where- happySomeParser = happyThen (happyParse 9#) (\x -> happyReturn (happyOut100 x))--parseFunc = happySomeParser where- happySomeParser = happyThen (happyParse 10#) (\x -> happyReturn (happyOut103 x))--happySeq = happyDontSeq---happyError :: L T.Token -> P a-happyError (L (Loc start _) _) =- throw $ ParserException (Loc start start) (text "parse error")--getCHAR (L _ (T.TcharConst x)) = x-getSTRING (L _ (T.TstringConst x)) = x-getINT (L _ (T.TintConst x)) = x-getLONG (L _ (T.TlongIntConst x)) = x-getLONG_LONG (L _ (T.TlongLongIntConst x)) = x-getFLOAT (L _ (T.TfloatConst x)) = x-getDOUBLE (L _ (T.TdoubleConst x)) = x-getLONG_DOUBLE (L _ (T.TlongDoubleConst x)) = x-getID (L _ (T.Tidentifier id)) = id-getNAMED (L _ (T.Tnamed id)) = id--getANTI_ID (L _ (T.Tanti_id v)) = v-getANTI_INT (L _ (T.Tanti_int v)) = v-getANTI_UINT (L _ (T.Tanti_uint v)) = v-getANTI_LINT (L _ (T.Tanti_lint v)) = v-getANTI_ULINT (L _ (T.Tanti_ulint v)) = v-getANTI_FLOAT (L _ (T.Tanti_float v)) = v-getANTI_DOUBLE (L _ (T.Tanti_double v)) = v-getANTI_LONG_DOUBLE (L _ (T.Tanti_long_double v)) = v-getANTI_CHAR (L _ (T.Tanti_char v)) = v-getANTI_STRING (L _ (T.Tanti_string v)) = v-getANTI_EXP (L _ (T.Tanti_exp v)) = v-getANTI_FUNC (L _ (T.Tanti_func v)) = v-getANTI_ARGS (L _ (T.Tanti_args v)) = v-getANTI_DECL (L _ (T.Tanti_decl v)) = v-getANTI_DECLS (L _ (T.Tanti_decls v)) = v-getANTI_SDECL (L _ (T.Tanti_sdecl v)) = v-getANTI_SDECLS (L _ (T.Tanti_sdecls v)) = v-getANTI_ENUM (L _ (T.Tanti_enum v)) = v-getANTI_ENUMS (L _ (T.Tanti_enums v)) = v-getANTI_ESC (L _ (T.Tanti_esc v)) = v-getANTI_EDECL (L _ (T.Tanti_edecl v)) = v-getANTI_EDECLS (L _ (T.Tanti_edecls v)) = v-getANTI_ITEM (L _ (T.Tanti_item v)) = v-getANTI_ITEMS (L _ (T.Tanti_items v)) = v-getANTI_STM (L _ (T.Tanti_stm v)) = v-getANTI_STMS (L _ (T.Tanti_stms v)) = v-getANTI_TYPE (L _ (T.Tanti_type v)) = v-getANTI_SPEC (L _ (T.Tanti_spec v)) = v-getANTI_PARAM (L _ (T.Tanti_param v)) = v-getANTI_PARAMS (L _ (T.Tanti_params v)) = v--lexer :: (L T.Token -> P a) -> P a-lexer cont = do- tok <- lexToken- cont tok--locate :: Loc -> (SrcLoc -> a) -> L a-locate loc f = L loc (f (SrcLoc loc))--data DeclTySpec = DeclTySpec DeclSpec !SrcLoc- | AntiDeclTySpec String !SrcLoc--data TySpec = TSauto !SrcLoc- | TSregister !SrcLoc- | TSstatic !SrcLoc- | TSextern !SrcLoc- | TSexternL String !SrcLoc- | TStypedef !SrcLoc-- | TSconst !SrcLoc- | TSvolatile !SrcLoc- | TSinline !SrcLoc-- | TSsigned !SrcLoc- | TSunsigned !SrcLoc-- | TSvoid !SrcLoc- | TSchar !SrcLoc- | TSshort !SrcLoc- | TSint !SrcLoc- | TSlong !SrcLoc- | TSfloat !SrcLoc- | TSdouble !SrcLoc-- | TSstruct (Maybe Id) (Maybe [FieldGroup]) [Attr] !SrcLoc- | TSunion (Maybe Id) (Maybe [FieldGroup]) [Attr] !SrcLoc- | TSenum (Maybe Id) [CEnum] [Attr] !SrcLoc- | TSnamed Id !SrcLoc-- | TStypeofExp Exp !SrcLoc- | TStypeofType Type !SrcLoc- | TSva_list !SrcLoc-- -- C99- | TSrestrict !SrcLoc-- -- CUDA- | TSdevice !SrcLoc- | TSglobal !SrcLoc- | TShost !SrcLoc- | TSconstant !SrcLoc- | TSshared !SrcLoc- | TSnoinline !SrcLoc--instance Located DeclTySpec where- getLoc (DeclTySpec _ loc) = getLoc loc- getLoc (AntiDeclTySpec _ loc) = getLoc loc--instance Located TySpec where- getLoc (TSauto loc) = getLoc loc- getLoc (TSregister loc) = getLoc loc- getLoc (TSstatic loc) = getLoc loc- getLoc (TSextern loc) = getLoc loc- getLoc (TSexternL _ loc) = getLoc loc- getLoc (TStypedef loc) = getLoc loc-- getLoc (TSconst loc) = getLoc loc- getLoc (TSvolatile loc) = getLoc loc- getLoc (TSinline loc) = getLoc loc-- getLoc (TSsigned loc) = getLoc loc- getLoc (TSunsigned loc) = getLoc loc-- getLoc (TSvoid loc) = getLoc loc- getLoc (TSchar loc) = getLoc loc- getLoc (TSshort loc) = getLoc loc- getLoc (TSint loc) = getLoc loc- getLoc (TSlong loc) = getLoc loc- getLoc (TSfloat loc) = getLoc loc- getLoc (TSdouble loc) = getLoc loc-- getLoc (TSstruct _ _ _ loc) = getLoc loc- getLoc (TSunion _ _ _ loc) = getLoc loc- getLoc (TSenum _ _ _ loc) = getLoc loc- getLoc (TSnamed _ loc) = getLoc loc-- getLoc (TStypeofExp _ loc) = getLoc loc- getLoc (TStypeofType _ loc) = getLoc loc- getLoc (TSva_list loc) = getLoc loc-- getLoc (TSrestrict loc) = getLoc loc-- getLoc (TSdevice loc) = getLoc loc- getLoc (TSglobal loc) = getLoc loc- getLoc (TShost loc) = getLoc loc- getLoc (TSconstant loc) = getLoc loc- getLoc (TSshared loc) = getLoc loc- getLoc (TSnoinline loc) = getLoc loc--instance Pretty TySpec where- ppr (TSauto _) = text "auto"- ppr (TSregister _) = text "register"- ppr (TSstatic _) = text "static"- ppr (TSextern _) = text "extern"- ppr (TSexternL l _) = text "extern" <+> ppr l- ppr (TStypedef _) = text "typedef"-- ppr (TSconst _) = text "const"- ppr (TSinline _) = text "inline"- ppr (TSrestrict _) = text "restrict"- ppr (TSvolatile _) = text "volatile"-- ppr (TSsigned _) = text "signed"- ppr (TSunsigned _) = text "unsigned"-- ppr (TSvoid _) = text "void"- ppr (TSchar _) = text "char"- ppr (TSshort _) = text "short"- ppr (TSint _) = text "int"- ppr (TSlong _) = text "long"- ppr (TSfloat _) = text "float"- ppr (TSdouble _) = text "double"-- ppr (TSstruct maybe_id maybe_fields attrs _) =- pprStructOrUnion "struct" maybe_id maybe_fields attrs-- ppr (TSunion maybe_id maybe_fields attrs _) =- pprStructOrUnion "union" maybe_id maybe_fields attrs-- ppr (TSenum maybe_id cenums attrs _) =- pprEnum maybe_id cenums attrs-- ppr (TStypeofExp e _) = text "__typeof__" <> parens (ppr e)- ppr (TStypeofType ty _) = text "__typeof__" <> parens (ppr ty)- ppr (TSnamed ident _) = ppr ident-- ppr (TSva_list _) = text "__builtin_va_list"-- ppr (TSdevice _) = text "__device__"- ppr (TSglobal _) = text "__global__"- ppr (TShost _) = text "__host__"- ppr (TSconstant _) = text "__constant__"- ppr (TSshared _) = text "__shared__"- ppr (TSnoinline _) = text "__noinline__"--isStorage :: TySpec -> Bool-isStorage (TSauto _) = True-isStorage (TSregister _) = True-isStorage (TSstatic _) = True-isStorage (TSextern _) = True-isStorage (TSexternL _ _) = True-isStorage (TStypedef _) = True-isStorage _ = False--mkStorage :: [TySpec] -> [Storage]-mkStorage specs = map mk (filter isStorage specs)- where- mk :: TySpec -> Storage- mk (TSauto loc) = Tauto loc- mk (TSregister loc) = Tregister loc- mk (TSstatic loc) = Tstatic loc- mk (TSextern loc) = Textern loc- mk (TSexternL l loc) = TexternL l loc- mk (TStypedef loc) = Ttypedef loc- mk _ = error "internal error in mkStorage"--isTypeQual :: TySpec -> Bool-isTypeQual (TSconst _) = True-isTypeQual (TSvolatile _) = True-isTypeQual (TSinline _) = True-isTypeQual (TSrestrict _) = True-isTypeQual (TSdevice _) = True-isTypeQual (TSglobal _) = True-isTypeQual (TShost _) = True-isTypeQual (TSconstant _) = True-isTypeQual (TSshared _) = True-isTypeQual (TSnoinline _) = True-isTypeQual _ = False--mkTypeQuals :: [TySpec] -> [TypeQual]-mkTypeQuals specs = map mk (filter isTypeQual specs)- where- mk :: TySpec -> TypeQual- mk (TSconst loc) = Tconst loc- mk (TSvolatile loc) = Tvolatile loc- mk (TSinline loc) = Tinline loc- mk (TSrestrict loc) = Trestrict loc- mk (TSdevice loc) = Tdevice loc- mk (TSglobal loc) = Tglobal loc- mk (TShost loc) = Thost loc- mk (TSconstant loc) = Tconstant loc- mk (TSshared loc) = Tshared loc- mk (TSnoinline loc) = Tnoinline loc- mk _ = error "internal error in mkTypeQual"--isSign :: TySpec -> Bool-isSign (TSsigned _) = True-isSign (TSunsigned _) = True-isSign _ = False--hasSign :: [TySpec] -> Bool-hasSign specs = any isSign specs--mkSign :: [TySpec] -> P (Maybe Sign)-mkSign specs =- case filter isSign specs of- [] -> return Nothing- [TSunsigned loc] -> return (Just (Tunsigned loc))- [TSsigned loc] -> return (Just (Tsigned loc))- [_] -> fail "internal error in mkSign"- _ -> fail "multiple signs specified"--checkNoSign :: [TySpec] -> String -> P ()-checkNoSign spec msg | hasSign spec = fail msg- | otherwise = return ()--composeDecls :: Decl -> Decl -> Decl-composeDecls (DeclRoot _) root =- root--composeDecls (C.Ptr quals decl loc) root =- C.Ptr quals (composeDecls decl root) loc--composeDecls (Array quals size decl loc) root =- Array quals size (composeDecls decl root) loc--composeDecls (Proto decl args loc) root =- Proto (composeDecls decl root) args loc--composeDecls (OldProto decl args loc) root =- OldProto (composeDecls decl root) args loc--mkDeclSpec :: [TySpec] -> P DeclSpec-mkDeclSpec specs =- go rest- where- storage ::[Storage]- storage = mkStorage specs-- quals :: [TypeQual]- quals = mkTypeQuals specs-- rest :: [TySpec]- rest = [x | x <- specs- , not (isStorage x) && not (isTypeQual x) && not (isSign x)]-- go :: [TySpec] -> P DeclSpec- go [TSvoid loc] = do- checkNoSign specs "sign specified for void type"- return $ cdeclSpec storage quals (Tvoid loc)-- go [TSchar loc] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tchar sign loc)-- go [TSshort loc] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tshort sign loc)-- go [TSshort _, TSint _] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tshort sign (locOf rest))-- go [TSint _, TSshort _] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tshort sign (locOf rest))-- go [TSint loc] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tint sign loc)-- go [TSlong loc] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tlong sign loc)-- go [TSlong _, TSint _] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tlong sign (locOf rest))-- go [TSint _, TSlong _] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tlong sign (locOf rest))-- go [TSlong _, TSlong _] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tlong_long sign (locOf rest))-- go [TSlong _, TSlong _, TSint _] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tlong_long sign (locOf rest))-- go [TSlong _, TSint _, TSlong _] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tlong_long sign (locOf rest))-- go [TSint _, TSlong _, TSlong _] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tlong_long sign (locOf rest))-- go [TSfloat loc] = do- checkNoSign specs "sign specified for float type"- return $ cdeclSpec storage quals (Tfloat loc)-- go [TSdouble loc] = do- checkNoSign specs "sign specified for double type"- return $ cdeclSpec storage quals (Tdouble loc)-- go [TSlong _, TSdouble _] = do- checkNoSign specs "sign specified for long double type"- return $ cdeclSpec storage quals (Tlong_double (locOf rest))-- go [TSdouble _, TSlong _] = do- checkNoSign specs "sign specified for long double type"- return $ cdeclSpec storage quals (Tlong_double (locOf rest))-- go [TSstruct ident fields attrs loc] = do- checkNoSign specs "sign specified for struct type"- return $ cdeclSpec storage quals (Tstruct ident fields attrs loc)-- go [TSunion ident fields attrs loc] = do- checkNoSign specs "sign specified for union type"- return $ cdeclSpec storage quals (Tunion ident fields attrs loc)-- go [TSenum ident enums attrs loc] = do- checkNoSign specs "sign specified for enum type"- return $ cdeclSpec storage quals (Tenum ident enums attrs loc)-- go [TSnamed ident loc] = do- checkNoSign specs "sign specified for named type"- return $ cdeclSpec storage quals (Tnamed ident loc)-- go [TStypeofExp e loc] = do- checkNoSign specs "sign specified for typeof"- return $ cdeclSpec storage quals (TtypeofExp e loc)-- go [TStypeofType ty loc] = do- checkNoSign specs "sign specified for typeof"- return $ cdeclSpec storage quals (TtypeofType ty loc)-- go [TSva_list loc] = do- checkNoSign specs "sign specified for __builtin_va_list"- return $ cdeclSpec storage quals (Tva_list loc)-- go [] = do- sign <- mkSign specs- return $ cdeclSpec storage quals (Tint sign (storage <--> quals))-- go tyspecs =- throw $ ParserException loc- (text "bad type:" <+> spread (map ppr tyspecs))- where- loc = getLoc tyspecs--mkPtr :: [TySpec] -> Decl -> Decl-mkPtr specs decl = C.Ptr quals decl (specs <--> decl)- where- quals = mkTypeQuals specs--mkArray :: [TySpec] -> ArraySize -> Decl -> Decl-mkArray specs size decl = Array quals size decl (specs <--> decl)- where- quals = mkTypeQuals specs--mkProto :: Params -> Decl -> Decl-mkProto args decl = Proto decl args (args <--> decl)--mkOldProto :: [Id] -> Decl -> Decl-mkOldProto args decl = OldProto decl args (args <--> decl)--checkInitGroup :: DeclSpec -> Decl -> [Attr] -> [Init] -> P InitGroup-checkInitGroup dspec decl attrs inits =- go dspec- where- go :: DeclSpec -> P InitGroup- go (DeclSpec storage quals tspec _) | any isTypedef storage = do- typedefs <- mapM checkInit inits'- let dspec' = cdeclSpec storage' quals tspec- return $ ctypedefGroup dspec' attrs typedefs- where- storage' :: [Storage]- storage' = [x | x <- storage, (not . isTypedef) x]-- isTypedef :: Storage -> Bool- isTypedef (Ttypedef _) = True- isTypedef _ = False-- checkInit :: Init -> P Typedef- checkInit init@(Init ident _ _ (Just _) _ _)=- throw $ ParserException (getLoc init) $- text "typedef" <+>- squotes (ppr ident) <+>- text "is illegaly initialized"-- checkInit (Init ident@(Id name _) decl _ _ attrs _) = do- addTypedef name- return $ ctypedef ident decl attrs-- checkInit (Init ident@(AntiId _ _) decl _ _ attrs _) =- return $ ctypedef ident decl attrs-- go _ = do- mapM_ checkInit inits'- return $ cinitGroup dspec attrs inits'- where- checkInit :: Init -> P ()- checkInit (Init (Id name _) _ _ _ _ _) = addVariable name- checkInit (Init (AntiId _ _) _ _ _ _ _) = return ()-- composeInitDecl :: Decl -> Init -> Init- composeInitDecl decl (Init ident initDecl maybe_asmlabel maybe_exp attrs loc) =- Init ident (composeDecls initDecl decl) maybe_asmlabel maybe_exp attrs loc-- inits' = map (composeInitDecl decl) inits-- loc :: Loc- loc = (dspec <--> attrs :: Loc) <--> inits--declRoot :: Located a => a -> Decl-declRoot x = DeclRoot (locOf x)--data RevList a = RNil- | RCons a (RevList a)--rnil :: RevList a-rnil = RNil--rsingleton :: a -> RevList a-rsingleton x = RCons x RNil--rcons :: a -> RevList a -> RevList a-rcons x xs = RCons x xs--rev :: RevList a -> [a]-rev xs = go [] xs- where- go l RNil = l- go l (RCons x xs) = go (x : l) xs--expected :: Loc- -> [String]- -> P a-expected loc alts =- throw $ ParserException (locEnd loc)- (text "unclosed" <+> go alts)- where- go :: [String] -> Doc- go [] = empty- go [x] = text x- go [x, y] = text x <+> text "or" <+> text y- go (x : xs) = text x <> comma <+> go xs--unclosed :: Loc- -> String- -> P a-unclosed loc x =- throw $ ParserException (locEnd loc)- (text "unclosed" <+> squotes (text x))--badExecutionContext :: Loc- -> [Exp]- -> P a-badExecutionContext loc es =- throw $ ParserException (locEnd loc) $- text "execution context should have 2-4 arguments, but saw" <+>- ppr (length es)--badFunctionDeclaration :: Loc- -> [Exp]- -> P a-badFunctionDeclaration loc es =- throw $ ParserException (locEnd loc) $- text "execution context should have 2-4 arguments, but saw" <+>- ppr (length es)-{-# 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 Happy_GHC_Exts.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 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 127 "templates/GenericTemplate.hs" #-}---indexShortOffAddr (HappyA# arr) off =-#if __GLASGOW_HASKELL__ > 500- Happy_GHC_Exts.narrow16Int# i-#elif __GLASGOW_HASKELL__ == 500- Happy_GHC_Exts.intToInt16# i-#else- Happy_GHC_Exts.iShiftRA# (Happy_GHC_Exts.iShiftL# i 16#) 16#-#endif- where-#if __GLASGOW_HASKELL__ >= 503- i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)-#else- i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.shiftL# high 8#) low)-#endif- 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 170 "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 #-}----------------------------------------------------------------------------------- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq--- otherwise it emits--- happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template. GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.
language-c-quote.cabal view
@@ -1,45 +1,40 @@ name: language-c-quote-version: 0.2.0.1-cabal-version: >= 1.8+version: 0.3.0.0+cabal-version: >= 1.10 license: BSD3 license-file: LICENSE-copyright: (c) 2006-2010 Harvard University+copyright: (c) 2006-2011 Harvard University author: Geoffrey Mainland <mainland@eecs.harvard.edu> maintainer: mainland@eecs.harvard.edu stability: alpha homepage: http://www.eecs.harvard.edu/~mainland/ category: Language synopsis: C/CUDA quasiquoting library.-description: C/CUDA quasiquoting library. -build-type: Custom+description:+ This package provides a general parser for the C language, including most GCC+ extensions and some CUDA extensions. -flag tests- description: Build test programs.- default: False+build-type: Custom library+ default-language: Haskell98+ build-depends: array >=0.2 && <0.4, base >=4 && <5, bytestring >=0.9 && <0.10,- containers >=0.2 && <0.4,- exception-mtl >=0.1 && <0.2,- filepath >=1.1 && <1.2,- srcloc >=0.1 && <0.2,+ containers >=0.4 && <0.5,+ exception-mtl >=0.3 && <0.4,+ exception-transformers >=0.3 && <0.4,+ filepath >=1.2 && <1.3,+ haskell-src-meta >= 0.4 && < 0.5, mainland-pretty >=0.1 && <0.2,- mtl >=1.1 && <1.2,- syb >=0.1 && <0.2,+ mtl >=2.0 && <2.1,+ srcloc >=0.1 && <0.2,+ syb >=0.3 && <0.4, symbol >=0.1 && <0.2,- template-haskell >=2.3 && <2.5-- if impl(ghc >= 6.10 && < 6.12)- build-depends:- haskell-src-meta >= 0.0 && < 0.1-- if impl(ghc >= 6.12 && < 6.13)- build-depends:- haskell-src-meta >= 0.1 && < 0.2+ template-haskell >=2.5 && <2.6 exposed-modules: Language.C@@ -49,6 +44,7 @@ Language.C.Parser.Parser Language.C.Parser.Tokens Language.C.Pretty+ Language.C.Quote Language.C.Quote.Base Language.C.Quote.C Language.C.Quote.CUDA@@ -56,17 +52,18 @@ Language.C.Smart Language.C.Syntax -executable unit-test+test-suite unit+ type: exitcode-stdio-1.0+ hs-source-dirs: tests/unit+ main-is: Main.hs+ default-language: Haskell98+ build-depends: HUnit >=1.2 && <1.3,- base>=4 && <5,- language-c-quote >=0.2 && <0.3-- main-is: Main.hs- hs-source-dirs: tests/unit-- if !flag(tests)- buildable: False+ base >=4 && <5,+ language-c-quote >=0.3.0 && <0.3.1,+ srcloc >=0.1 && <0.2,+ symbol >=0.1 && <0.2 source-repository head type: svn
− tests/unit/Main.hs
@@ -1,141 +0,0 @@-{-# LANGUAGE QuasiQuotes #-}--module Main where--import Test.HUnit--import Language.C.Quote.C-import qualified Language.C.Syntax--main = runTestTT tests--tests = TestList [exp_id, exp_int, exp_float, exp_char, exp_string,- exp_exp, exp_func, exp_args, exp_decl, exp_sdecl,- exp_enum, exp_edecl, exp_stm, exp_param, exp_ty,- pat_args]---exp_id = "exp id" ~: [$cexp|$id:ident|] ~?= [$cexp|x|]- where- ident = "x"--exp_int =- "exp int" ~: [$cexp|$int:one + $uint:one + $lint:one + $ulint:one|]- ~?= [$cexp|1 + 1U + 1L + 1UL|]- where- one = 1--exp_float =- "exp float" ~: [$cexp|$float:one + $double:one + $ldouble:one|]- ~?= [$cexp|1.0F + 1.0 + 1.0L|]- where- one = 1--exp_char = "exp char" ~: [$cexp|$char:a|] ~?= [$cexp|'a'|]- where- a = 'a'--exp_string =- "exp string" ~: [$cexp|$string:hello|] ~?= [$cexp|"Hello, world\n"|]- where- hello = "Hello, world\n"--exp_exp =- "exp expression" ~: [$cexp|$exp:e1 + $exp:e2|] ~?= [$cexp|1 + 2|]- where- e1 = [$cexp|1|]- e2 = [$cexp|2|]--exp_func =- "exp function" ~: [$cunit|$func:f|]- ~?= [$cunit|int add(int x) { return x + 10; }|]- where- f = add 10- add n = [$cfun|int add(int x) { return x + $int:n; } |]--exp_args =- "exp args" ~: [$cstm|f($exp:e1, $args:args, $exp:e2);|]- ~?= [$cstm|f(1, 1, 2, 2);|]- where- e1 = [$cexp|1|]- e2 = [$cexp|2|]- args = [e1, e2]--exp_decl =- "exp decl" ~: [$cfun|int inc(int n) {- $decl:d1;- $decls:decls-- return n + 1;- }|]- ~?= [$cfun|int inc(int n) {- int i;- int j;- char c = 'c';-- return n + 1;- }|]- where- d1 = [$cdecl|int i;|]- d2 = [$cdecl|int j;|]- d3 = [$cdecl|char c = 'c';|]- decls = [d2, d3]--exp_sdecl =- "exp sdecl" ~: [$cty|struct foo { $sdecl:d1 $sdecls:decls }|]- ~?= [$cty|struct foo { int i; int j; char c; }|]- where- d1 = [$csdecl|int i;|]- d2 = [$csdecl|int j;|]- d3 = [$csdecl|char c;|]- decls = [d2, d3]--exp_enum = "exp enum" ~: [$cty|enum foo { $enum:enum1, $enums:enums }|]- ~?= [$cty|enum foo { A = 0, B, C = 2 }|]- where- enum1 = [$cenum|A = 0|]- enum2 = [$cenum|B|]- enum3 = [$cenum|C = 2|]- enums = [enum2, enum3]--exp_edecl =- "exp edecl" ~: [$cunit|$edecl:d1 $edecls:decls|]- ~?= [$cunit|int i; int j; char c = 'c';|]- where- d1 = [$cedecl|int i;|]- d2 = [$cedecl|int j;|]- d3 = [$cedecl|char c = 'c';|]- decls = [d2, d3]--exp_stm =- "exp stm" ~: [$cfun|int add(int x) { $stms:stms return x + 1; }|]- ~?= [$cfun|int add(int x) { a = 1; b = 2; return x + 1; }|]- where- one = 1- stm1 = [$cstm|a = $int:one;|]- stm2 = [$cstm|b = 2;|]- stms = [stm1, stm2]--exp_param =- "exp param" ~: [$cdecl|int f($param:ty1, $params:tys);|]- ~?= [$cdecl|int f(char, int, float);|]- where- ty1 = [$cparam|char|]- ty2 = [$cparam|int|]- ty3 = [$cparam|float|]- tys = [ty2, ty3]--exp_ty =- "exp ty" ~: [$cdecl|$ty:ty1 f(const $ty:ty2);|]- ~?= [$cdecl|int f(const float);|]- where- ty1 = [$cty|int|]- ty2 = [$cty|float|]--pat_args =- "pat args" ~: stms- ~?= [[$cexp|2|], [$cexp|3|]]- where- stms = case [$cstm|f(1, 2, 3);|] of- [$cstm|f(1, $args:es);|] -> es- _ -> []