    {-# OPTIONS_GHC -w #-}
    {-# OPTIONS -XMagicHash -XBangPatterns -XTypeSynonymInstances -XFlexibleInstances -cpp #-}
    #if __GLASGOW_HASKELL__ >= 710
    {-# OPTIONS_GHC -XPartialTypeSignatures #-}
    #endif
    -- |
    -- Module      :  Cryptol.Parser
    -- Copyright   :  (c) 2013-2016 Galois, Inc.
    -- License     :  BSD3
    -- Maintainer  :  cryptol@galois.com
    -- Stability   :  provisional
    -- Portability :  portable

    {-# LANGUAGE OverloadedStrings #-}
    {-# LANGUAGE Trustworthy #-}
    module Cryptol.Parser
      ( parseModule
      , parseProgram, parseProgramWith
      , parseExpr, parseExprWith
      , parseDecl, parseDeclWith
      , parseDecls, parseDeclsWith
      , parseLetDecl, parseLetDeclWith
      , parseRepl, parseReplWith
      , parseSchema, parseSchemaWith
      , parseModName, parseHelpName
      , ParseError(..), ppError
      , Layout(..)
      , Config(..), defaultConfig
      , guessPreProc, PreProc(..)
      ) where

    import           Control.Applicative as A
    import           Data.Maybe(fromMaybe)
    import           Data.Text(Text)
    import qualified Data.Text as T
    import           Control.Monad(liftM2,msum)

    import Cryptol.Parser.AST
    import Cryptol.Parser.Position
    import Cryptol.Parser.LexerUtils hiding (mkIdent)
    import Cryptol.Parser.ParserUtils
    import Cryptol.Parser.Unlit(PreProc(..), guessPreProc)
    import Cryptol.Utils.Ident(paramInstModName)

    import Paths_cryptol
    import qualified Data.Array as Happy_Data_Array
    import qualified Data.Bits as Bits
    import qualified GHC.Exts as Happy_GHC_Exts
    import Control.Applicative(Applicative(..))
    import Control.Monad (ap)

    -- parser produced by Happy Version 1.19.12

    newtype HappyAbsSyn  = HappyAbsSyn HappyAny
    #if __GLASGOW_HASKELL__ >= 607
    type HappyAny = Happy_GHC_Exts.Any
    #else
    type HappyAny = forall a . a
    #endif
    newtype HappyWrap15 = HappyWrap15 (Module PName)
    happyIn15 :: (Module PName) -> (HappyAbsSyn )
    happyIn15 :: Module PName -> HappyAbsSyn
    happyIn15 x :: Module PName
    x = HappyWrap15 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Module PName -> HappyWrap15
    HappyWrap15 Module PName
    x)
    {-# INLINE happyIn15 #-}
    happyOut15 :: (HappyAbsSyn ) -> HappyWrap15
    happyOut15 :: HappyAbsSyn -> HappyWrap15
    happyOut15 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap15
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut15 #-}
    newtype HappyWrap16 = HappyWrap16 (([Located Import], [TopDecl PName]))
    happyIn16 :: (([Located Import], [TopDecl PName])) -> (HappyAbsSyn )
    happyIn16 :: ([Located Import], [TopDecl PName]) -> HappyAbsSyn
    happyIn16 x :: ([Located Import], [TopDecl PName])
    x = HappyWrap16 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (([Located Import], [TopDecl PName]) -> HappyWrap16
    HappyWrap16 ([Located Import], [TopDecl PName])
    x)
    {-# INLINE happyIn16 #-}
    happyOut16 :: (HappyAbsSyn ) -> HappyWrap16
    happyOut16 :: HappyAbsSyn -> HappyWrap16
    happyOut16 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap16
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut16 #-}
    newtype HappyWrap17 = HappyWrap17 ([Located Import])
    happyIn17 :: ([Located Import]) -> (HappyAbsSyn )
    happyIn17 :: [Located Import] -> HappyAbsSyn
    happyIn17 x :: [Located Import]
    x = HappyWrap17 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Located Import] -> HappyWrap17
    HappyWrap17 [Located Import]
    x)
    {-# INLINE happyIn17 #-}
    happyOut17 :: (HappyAbsSyn ) -> HappyWrap17
    happyOut17 :: HappyAbsSyn -> HappyWrap17
    happyOut17 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap17
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut17 #-}
    newtype HappyWrap18 = HappyWrap18 (Located Import)
    happyIn18 :: (Located Import) -> (HappyAbsSyn )
    happyIn18 :: Located Import -> HappyAbsSyn
    happyIn18 x :: Located Import
    x = HappyWrap18 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Located Import -> HappyWrap18
    HappyWrap18 Located Import
    x)
    {-# INLINE happyIn18 #-}
    happyOut18 :: (HappyAbsSyn ) -> HappyWrap18
    happyOut18 :: HappyAbsSyn -> HappyWrap18
    happyOut18 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap18
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut18 #-}
    newtype HappyWrap19 = HappyWrap19 (Maybe (Located ModName))
    happyIn19 :: (Maybe (Located ModName)) -> (HappyAbsSyn )
    happyIn19 :: Maybe (Located ModName) -> HappyAbsSyn
    happyIn19 x :: Maybe (Located ModName)
    x = HappyWrap19 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Maybe (Located ModName) -> HappyWrap19
    HappyWrap19 Maybe (Located ModName)
    x)
    {-# INLINE happyIn19 #-}
    happyOut19 :: (HappyAbsSyn ) -> HappyWrap19
    happyOut19 :: HappyAbsSyn -> HappyWrap19
    happyOut19 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap19
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut19 #-}
    newtype HappyWrap20 = HappyWrap20 (Maybe (Located ImportSpec))
    happyIn20 :: (Maybe (Located ImportSpec)) -> (HappyAbsSyn )
    happyIn20 :: Maybe (Located ImportSpec) -> HappyAbsSyn
    happyIn20 x :: Maybe (Located ImportSpec)
    x = HappyWrap20 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Maybe (Located ImportSpec) -> HappyWrap20
    HappyWrap20 Maybe (Located ImportSpec)
    x)
    {-# INLINE happyIn20 #-}
    happyOut20 :: (HappyAbsSyn ) -> HappyWrap20
    happyOut20 :: HappyAbsSyn -> HappyWrap20
    happyOut20 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap20
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut20 #-}
    newtype HappyWrap21 = HappyWrap21 ([LIdent])
    happyIn21 :: ([LIdent]) -> (HappyAbsSyn )
    happyIn21 :: [LIdent] -> HappyAbsSyn
    happyIn21 x :: [LIdent]
    x = HappyWrap21 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([LIdent] -> HappyWrap21
    HappyWrap21 [LIdent]
    x)
    {-# INLINE happyIn21 #-}
    happyOut21 :: (HappyAbsSyn ) -> HappyWrap21
    happyOut21 :: HappyAbsSyn -> HappyWrap21
    happyOut21 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap21
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut21 #-}
    newtype HappyWrap22 = HappyWrap22 ([Ident] -> ImportSpec)
    happyIn22 :: ([Ident] -> ImportSpec) -> (HappyAbsSyn )
    happyIn22 :: ([Ident] -> ImportSpec) -> HappyAbsSyn
    happyIn22 x :: [Ident] -> ImportSpec
    x = HappyWrap22 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (([Ident] -> ImportSpec) -> HappyWrap22
    HappyWrap22 [Ident] -> ImportSpec
    x)
    {-# INLINE happyIn22 #-}
    happyOut22 :: (HappyAbsSyn ) -> HappyWrap22
    happyOut22 :: HappyAbsSyn -> HappyWrap22
    happyOut22 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap22
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut22 #-}
    newtype HappyWrap23 = HappyWrap23 (Program PName)
    happyIn23 :: (Program PName) -> (HappyAbsSyn )
    happyIn23 :: Program PName -> HappyAbsSyn
    happyIn23 x :: Program PName
    x = HappyWrap23 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Program PName -> HappyWrap23
    HappyWrap23 Program PName
    x)
    {-# INLINE happyIn23 #-}
    happyOut23 :: (HappyAbsSyn ) -> HappyWrap23
    happyOut23 :: HappyAbsSyn -> HappyWrap23
    happyOut23 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap23
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut23 #-}
    newtype HappyWrap24 = HappyWrap24 (Program PName)
    happyIn24 :: (Program PName) -> (HappyAbsSyn )
    happyIn24 :: Program PName -> HappyAbsSyn
    happyIn24 x :: Program PName
    x = HappyWrap24 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Program PName -> HappyWrap24
    HappyWrap24 Program PName
    x)
    {-# INLINE happyIn24 #-}
    happyOut24 :: (HappyAbsSyn ) -> HappyWrap24
    happyOut24 :: HappyAbsSyn -> HappyWrap24
    happyOut24 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap24
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut24 #-}
    newtype HappyWrap25 = HappyWrap25 ([TopDecl PName])
    happyIn25 :: ([TopDecl PName]) -> (HappyAbsSyn )
    happyIn25 :: [TopDecl PName] -> HappyAbsSyn
    happyIn25 x :: [TopDecl PName]
    x = HappyWrap25 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap25
    HappyWrap25 [TopDecl PName]
    x)
    {-# INLINE happyIn25 #-}
    happyOut25 :: (HappyAbsSyn ) -> HappyWrap25
    happyOut25 :: HappyAbsSyn -> HappyWrap25
    happyOut25 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap25
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut25 #-}
    newtype HappyWrap26 = HappyWrap26 ([TopDecl PName])
    happyIn26 :: ([TopDecl PName]) -> (HappyAbsSyn )
    happyIn26 :: [TopDecl PName] -> HappyAbsSyn
    happyIn26 x :: [TopDecl PName]
    x = HappyWrap26 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap26
    HappyWrap26 [TopDecl PName]
    x)
    {-# INLINE happyIn26 #-}
    happyOut26 :: (HappyAbsSyn ) -> HappyWrap26
    happyOut26 :: HappyAbsSyn -> HappyWrap26
    happyOut26 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap26
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut26 #-}
    newtype HappyWrap27 = HappyWrap27 ([TopDecl PName])
    happyIn27 :: ([TopDecl PName]) -> (HappyAbsSyn )
    happyIn27 :: [TopDecl PName] -> HappyAbsSyn
    happyIn27 x :: [TopDecl PName]
    x = HappyWrap27 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap27
    HappyWrap27 [TopDecl PName]
    x)
    {-# INLINE happyIn27 #-}
    happyOut27 :: (HappyAbsSyn ) -> HappyWrap27
    happyOut27 :: HappyAbsSyn -> HappyWrap27
    happyOut27 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap27
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut27 #-}
    newtype HappyWrap28 = HappyWrap28 ([TopDecl PName])
    happyIn28 :: ([TopDecl PName]) -> (HappyAbsSyn )
    happyIn28 :: [TopDecl PName] -> HappyAbsSyn
    happyIn28 x :: [TopDecl PName]
    x = HappyWrap28 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap28
    HappyWrap28 [TopDecl PName]
    x)
    {-# INLINE happyIn28 #-}
    happyOut28 :: (HappyAbsSyn ) -> HappyWrap28
    happyOut28 :: HappyAbsSyn -> HappyWrap28
    happyOut28 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap28
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut28 #-}
    newtype HappyWrap29 = HappyWrap29 ([TopDecl PName])
    happyIn29 :: ([TopDecl PName]) -> (HappyAbsSyn )
    happyIn29 :: [TopDecl PName] -> HappyAbsSyn
    happyIn29 x :: [TopDecl PName]
    x = HappyWrap29 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap29
    HappyWrap29 [TopDecl PName]
    x)
    {-# INLINE happyIn29 #-}
    happyOut29 :: (HappyAbsSyn ) -> HappyWrap29
    happyOut29 :: HappyAbsSyn -> HappyWrap29
    happyOut29 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap29
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut29 #-}
    newtype HappyWrap30 = HappyWrap30 ([TopDecl PName])
    happyIn30 :: ([TopDecl PName]) -> (HappyAbsSyn )
    happyIn30 :: [TopDecl PName] -> HappyAbsSyn
    happyIn30 x :: [TopDecl PName]
    x = HappyWrap30 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap30
    HappyWrap30 [TopDecl PName]
    x)
    {-# INLINE happyIn30 #-}
    happyOut30 :: (HappyAbsSyn ) -> HappyWrap30
    happyOut30 :: HappyAbsSyn -> HappyWrap30
    happyOut30 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap30
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut30 #-}
    newtype HappyWrap31 = HappyWrap31 ([TopDecl PName])
    happyIn31 :: ([TopDecl PName]) -> (HappyAbsSyn )
    happyIn31 :: [TopDecl PName] -> HappyAbsSyn
    happyIn31 x :: [TopDecl PName]
    x = HappyWrap31 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap31
    HappyWrap31 [TopDecl PName]
    x)
    {-# INLINE happyIn31 #-}
    happyOut31 :: (HappyAbsSyn ) -> HappyWrap31
    happyOut31 :: HappyAbsSyn -> HappyWrap31
    happyOut31 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap31
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut31 #-}
    newtype HappyWrap32 = HappyWrap32 ([TopDecl PName])
    happyIn32 :: ([TopDecl PName]) -> (HappyAbsSyn )
    happyIn32 :: [TopDecl PName] -> HappyAbsSyn
    happyIn32 x :: [TopDecl PName]
    x = HappyWrap32 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([TopDecl PName] -> HappyWrap32
    HappyWrap32 [TopDecl PName]
    x)
    {-# INLINE happyIn32 #-}
    happyOut32 :: (HappyAbsSyn ) -> HappyWrap32
    happyOut32 :: HappyAbsSyn -> HappyWrap32
    happyOut32 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap32
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut32 #-}
    newtype HappyWrap33 = HappyWrap33 (TopDecl PName)
    happyIn33 :: (TopDecl PName) -> (HappyAbsSyn )
    happyIn33 :: TopDecl PName -> HappyAbsSyn
    happyIn33 x :: TopDecl PName
    x = HappyWrap33 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (TopDecl PName -> HappyWrap33
    HappyWrap33 TopDecl PName
    x)
    {-# INLINE happyIn33 #-}
    happyOut33 :: (HappyAbsSyn ) -> HappyWrap33
    happyOut33 :: HappyAbsSyn -> HappyWrap33
    happyOut33 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap33
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut33 #-}
    newtype HappyWrap34 = HappyWrap34 (Located String)
    happyIn34 :: (Located String) -> (HappyAbsSyn )
    happyIn34 :: Located String -> HappyAbsSyn
    happyIn34 x :: Located String
    x = HappyWrap34 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Located String -> HappyWrap34
    HappyWrap34 Located String
    x)
    {-# INLINE happyIn34 #-}
    happyOut34 :: (HappyAbsSyn ) -> HappyWrap34
    happyOut34 :: HappyAbsSyn -> HappyWrap34
    happyOut34 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap34
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut34 #-}
    newtype HappyWrap35 = HappyWrap35 (Maybe (Located String))
    happyIn35 :: (Maybe (Located String)) -> (HappyAbsSyn )
    happyIn35 :: Maybe (Located String) -> HappyAbsSyn
    happyIn35 x :: Maybe (Located String)
    x = HappyWrap35 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Maybe (Located String) -> HappyWrap35
    HappyWrap35 Maybe (Located String)
    x)
    {-# INLINE happyIn35 #-}
    happyOut35 :: (HappyAbsSyn ) -> HappyWrap35
    happyOut35 :: HappyAbsSyn -> HappyWrap35
    happyOut35 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap35
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut35 #-}
    newtype HappyWrap36 = HappyWrap36 (Decl PName)
    happyIn36 :: (Decl PName) -> (HappyAbsSyn )
    happyIn36 :: Decl PName -> HappyAbsSyn
    happyIn36 x :: Decl PName
    x = HappyWrap36 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Decl PName -> HappyWrap36
    HappyWrap36 Decl PName
    x)
    {-# INLINE happyIn36 #-}
    happyOut36 :: (HappyAbsSyn ) -> HappyWrap36
    happyOut36 :: HappyAbsSyn -> HappyWrap36
    happyOut36 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap36
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut36 #-}
    newtype HappyWrap37 = HappyWrap37 (Decl PName)
    happyIn37 :: (Decl PName) -> (HappyAbsSyn )
    happyIn37 :: Decl PName -> HappyAbsSyn
    happyIn37 x :: Decl PName
    x = HappyWrap37 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Decl PName -> HappyWrap37
    HappyWrap37 Decl PName
    x)
    {-# INLINE happyIn37 #-}
    happyOut37 :: (HappyAbsSyn ) -> HappyWrap37
    happyOut37 :: HappyAbsSyn -> HappyWrap37
    happyOut37 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap37
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut37 #-}
    newtype HappyWrap38 = HappyWrap38 (Newtype PName)
    happyIn38 :: (Newtype PName) -> (HappyAbsSyn )
    happyIn38 :: Newtype PName -> HappyAbsSyn
    happyIn38 x :: Newtype PName
    x = HappyWrap38 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Newtype PName -> HappyWrap38
    HappyWrap38 Newtype PName
    x)
    {-# INLINE happyIn38 #-}
    happyOut38 :: (HappyAbsSyn ) -> HappyWrap38
    happyOut38 :: HappyAbsSyn -> HappyWrap38
    happyOut38 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap38
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut38 #-}
    newtype HappyWrap39 = HappyWrap39 ([Named (Type PName)])
    happyIn39 :: ([Named (Type PName)]) -> (HappyAbsSyn )
    happyIn39 :: [Named (Type PName)] -> HappyAbsSyn
    happyIn39 x :: [Named (Type PName)]
    x = HappyWrap39 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Named (Type PName)] -> HappyWrap39
    HappyWrap39 [Named (Type PName)]
    x)
    {-# INLINE happyIn39 #-}
    happyOut39 :: (HappyAbsSyn ) -> HappyWrap39
    happyOut39 :: HappyAbsSyn -> HappyWrap39
    happyOut39 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap39
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut39 #-}
    newtype HappyWrap40 = HappyWrap40 ([ LPName ])
    happyIn40 :: ([ LPName ]) -> (HappyAbsSyn )
    happyIn40 :: [LPName] -> HappyAbsSyn
    happyIn40 x :: [LPName]
    x = HappyWrap40 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([LPName] -> HappyWrap40
    HappyWrap40 [LPName]
    x)
    {-# INLINE happyIn40 #-}
    happyOut40 :: (HappyAbsSyn ) -> HappyWrap40
    happyOut40 :: HappyAbsSyn -> HappyWrap40
    happyOut40 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap40
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut40 #-}
    newtype HappyWrap41 = HappyWrap41 (LPName)
    happyIn41 :: (LPName) -> (HappyAbsSyn )
    happyIn41 :: LPName -> HappyAbsSyn
    happyIn41 x :: LPName
    x = HappyWrap41 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap41
    HappyWrap41 LPName
    x)
    {-# INLINE happyIn41 #-}
    happyOut41 :: (HappyAbsSyn ) -> HappyWrap41
    happyOut41 :: HappyAbsSyn -> HappyWrap41
    happyOut41 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap41
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut41 #-}
    newtype HappyWrap42 = HappyWrap42 ([Pattern PName])
    happyIn42 :: ([Pattern PName]) -> (HappyAbsSyn )
    happyIn42 :: [Pattern PName] -> HappyAbsSyn
    happyIn42 x :: [Pattern PName]
    x = HappyWrap42 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Pattern PName] -> HappyWrap42
    HappyWrap42 [Pattern PName]
    x)
    {-# INLINE happyIn42 #-}
    happyOut42 :: (HappyAbsSyn ) -> HappyWrap42
    happyOut42 :: HappyAbsSyn -> HappyWrap42
    happyOut42 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap42
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut42 #-}
    newtype HappyWrap43 = HappyWrap43 ([Pattern PName])
    happyIn43 :: ([Pattern PName]) -> (HappyAbsSyn )
    happyIn43 :: [Pattern PName] -> HappyAbsSyn
    happyIn43 x :: [Pattern PName]
    x = HappyWrap43 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Pattern PName] -> HappyWrap43
    HappyWrap43 [Pattern PName]
    x)
    {-# INLINE happyIn43 #-}
    happyOut43 :: (HappyAbsSyn ) -> HappyWrap43
    happyOut43 :: HappyAbsSyn -> HappyWrap43
    happyOut43 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap43
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut43 #-}
    newtype HappyWrap44 = HappyWrap44 ([Pattern PName])
    happyIn44 :: ([Pattern PName]) -> (HappyAbsSyn )
    happyIn44 :: [Pattern PName] -> HappyAbsSyn
    happyIn44 x :: [Pattern PName]
    x = HappyWrap44 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Pattern PName] -> HappyWrap44
    HappyWrap44 [Pattern PName]
    x)
    {-# INLINE happyIn44 #-}
    happyOut44 :: (HappyAbsSyn ) -> HappyWrap44
    happyOut44 :: HappyAbsSyn -> HappyWrap44
    happyOut44 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap44
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut44 #-}
    newtype HappyWrap45 = HappyWrap45 (([Pattern PName], [Pattern PName]))
    happyIn45 :: (([Pattern PName], [Pattern PName])) -> (HappyAbsSyn )
    happyIn45 :: ([Pattern PName], [Pattern PName]) -> HappyAbsSyn
    happyIn45 x :: ([Pattern PName], [Pattern PName])
    x = HappyWrap45 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (([Pattern PName], [Pattern PName]) -> HappyWrap45
    HappyWrap45 ([Pattern PName], [Pattern PName])
    x)
    {-# INLINE happyIn45 #-}
    happyOut45 :: (HappyAbsSyn ) -> HappyWrap45
    happyOut45 :: HappyAbsSyn -> HappyWrap45
    happyOut45 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap45
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut45 #-}
    newtype HappyWrap46 = HappyWrap46 ([Decl PName])
    happyIn46 :: ([Decl PName]) -> (HappyAbsSyn )
    happyIn46 :: [Decl PName] -> HappyAbsSyn
    happyIn46 x :: [Decl PName]
    x = HappyWrap46 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Decl PName] -> HappyWrap46
    HappyWrap46 [Decl PName]
    x)
    {-# INLINE happyIn46 #-}
    happyOut46 :: (HappyAbsSyn ) -> HappyWrap46
    happyOut46 :: HappyAbsSyn -> HappyWrap46
    happyOut46 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap46
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut46 #-}
    newtype HappyWrap47 = HappyWrap47 ([Decl PName])
    happyIn47 :: ([Decl PName]) -> (HappyAbsSyn )
    happyIn47 :: [Decl PName] -> HappyAbsSyn
    happyIn47 x :: [Decl PName]
    x = HappyWrap47 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Decl PName] -> HappyWrap47
    HappyWrap47 [Decl PName]
    x)
    {-# INLINE happyIn47 #-}
    happyOut47 :: (HappyAbsSyn ) -> HappyWrap47
    happyOut47 :: HappyAbsSyn -> HappyWrap47
    happyOut47 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap47
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut47 #-}
    newtype HappyWrap48 = HappyWrap48 ([Decl PName])
    happyIn48 :: ([Decl PName]) -> (HappyAbsSyn )
    happyIn48 :: [Decl PName] -> HappyAbsSyn
    happyIn48 x :: [Decl PName]
    x = HappyWrap48 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Decl PName] -> HappyWrap48
    HappyWrap48 [Decl PName]
    x)
    {-# INLINE happyIn48 #-}
    happyOut48 :: (HappyAbsSyn ) -> HappyWrap48
    happyOut48 :: HappyAbsSyn -> HappyWrap48
    happyOut48 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap48
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut48 #-}
    newtype HappyWrap49 = HappyWrap49 (ReplInput PName)
    happyIn49 :: (ReplInput PName) -> (HappyAbsSyn )
    happyIn49 :: ReplInput PName -> HappyAbsSyn
    happyIn49 x :: ReplInput PName
    x = HappyWrap49 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (ReplInput PName -> HappyWrap49
    HappyWrap49 ReplInput PName
    x)
    {-# INLINE happyIn49 #-}
    happyOut49 :: (HappyAbsSyn ) -> HappyWrap49
    happyOut49 :: HappyAbsSyn -> HappyWrap49
    happyOut49 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap49
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut49 #-}
    newtype HappyWrap50 = HappyWrap50 (LPName)
    happyIn50 :: (LPName) -> (HappyAbsSyn )
    happyIn50 :: LPName -> HappyAbsSyn
    happyIn50 x :: LPName
    x = HappyWrap50 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap50
    HappyWrap50 LPName
    x)
    {-# INLINE happyIn50 #-}
    happyOut50 :: (HappyAbsSyn ) -> HappyWrap50
    happyOut50 :: HappyAbsSyn -> HappyWrap50
    happyOut50 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap50
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut50 #-}
    newtype HappyWrap51 = HappyWrap51 (LPName)
    happyIn51 :: (LPName) -> (HappyAbsSyn )
    happyIn51 :: LPName -> HappyAbsSyn
    happyIn51 x :: LPName
    x = HappyWrap51 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap51
    HappyWrap51 LPName
    x)
    {-# INLINE happyIn51 #-}
    happyOut51 :: (HappyAbsSyn ) -> HappyWrap51
    happyOut51 :: HappyAbsSyn -> HappyWrap51
    happyOut51 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap51
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut51 #-}
    newtype HappyWrap52 = HappyWrap52 (LPName)
    happyIn52 :: (LPName) -> (HappyAbsSyn )
    happyIn52 :: LPName -> HappyAbsSyn
    happyIn52 x :: LPName
    x = HappyWrap52 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap52
    HappyWrap52 LPName
    x)
    {-# INLINE happyIn52 #-}
    happyOut52 :: (HappyAbsSyn ) -> HappyWrap52
    happyOut52 :: HappyAbsSyn -> HappyWrap52
    happyOut52 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap52
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut52 #-}
    newtype HappyWrap53 = HappyWrap53 (LPName)
    happyIn53 :: (LPName) -> (HappyAbsSyn )
    happyIn53 :: LPName -> HappyAbsSyn
    happyIn53 x :: LPName
    x = HappyWrap53 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap53
    HappyWrap53 LPName
    x)
    {-# INLINE happyIn53 #-}
    happyOut53 :: (HappyAbsSyn ) -> HappyWrap53
    happyOut53 :: HappyAbsSyn -> HappyWrap53
    happyOut53 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap53
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut53 #-}
    newtype HappyWrap54 = HappyWrap54 ([LPName])
    happyIn54 :: ([LPName]) -> (HappyAbsSyn )
    happyIn54 :: [LPName] -> HappyAbsSyn
    happyIn54 x :: [LPName]
    x = HappyWrap54 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([LPName] -> HappyWrap54
    HappyWrap54 [LPName]
    x)
    {-# INLINE happyIn54 #-}
    happyOut54 :: (HappyAbsSyn ) -> HappyWrap54
    happyOut54 :: HappyAbsSyn -> HappyWrap54
    happyOut54 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap54
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut54 #-}
    newtype HappyWrap55 = HappyWrap55 (Expr PName)
    happyIn55 :: (Expr PName) -> (HappyAbsSyn )
    happyIn55 :: Expr PName -> HappyAbsSyn
    happyIn55 x :: Expr PName
    x = HappyWrap55 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap55
    HappyWrap55 Expr PName
    x)
    {-# INLINE happyIn55 #-}
    happyOut55 :: (HappyAbsSyn ) -> HappyWrap55
    happyOut55 :: HappyAbsSyn -> HappyWrap55
    happyOut55 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap55
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut55 #-}
    newtype HappyWrap56 = HappyWrap56 (Expr PName)
    happyIn56 :: (Expr PName) -> (HappyAbsSyn )
    happyIn56 :: Expr PName -> HappyAbsSyn
    happyIn56 x :: Expr PName
    x = HappyWrap56 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap56
    HappyWrap56 Expr PName
    x)
    {-# INLINE happyIn56 #-}
    happyOut56 :: (HappyAbsSyn ) -> HappyWrap56
    happyOut56 :: HappyAbsSyn -> HappyWrap56
    happyOut56 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap56
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut56 #-}
    newtype HappyWrap57 = HappyWrap57 (Located [Decl PName])
    happyIn57 :: (Located [Decl PName]) -> (HappyAbsSyn )
    happyIn57 :: Located [Decl PName] -> HappyAbsSyn
    happyIn57 x :: Located [Decl PName]
    x = HappyWrap57 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Located [Decl PName] -> HappyWrap57
    HappyWrap57 Located [Decl PName]
    x)
    {-# INLINE happyIn57 #-}
    happyOut57 :: (HappyAbsSyn ) -> HappyWrap57
    happyOut57 :: HappyAbsSyn -> HappyWrap57
    happyOut57 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap57
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut57 #-}
    newtype HappyWrap58 = HappyWrap58 (Expr PName)
    happyIn58 :: (Expr PName) -> (HappyAbsSyn )
    happyIn58 :: Expr PName -> HappyAbsSyn
    happyIn58 x :: Expr PName
    x = HappyWrap58 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap58
    HappyWrap58 Expr PName
    x)
    {-# INLINE happyIn58 #-}
    happyOut58 :: (HappyAbsSyn ) -> HappyWrap58
    happyOut58 :: HappyAbsSyn -> HappyWrap58
    happyOut58 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap58
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut58 #-}
    newtype HappyWrap59 = HappyWrap59 (Expr PName)
    happyIn59 :: (Expr PName) -> (HappyAbsSyn )
    happyIn59 :: Expr PName -> HappyAbsSyn
    happyIn59 x :: Expr PName
    x = HappyWrap59 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap59
    HappyWrap59 Expr PName
    x)
    {-# INLINE happyIn59 #-}
    happyOut59 :: (HappyAbsSyn ) -> HappyWrap59
    happyOut59 :: HappyAbsSyn -> HappyWrap59
    happyOut59 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap59
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut59 #-}
    newtype HappyWrap60 = HappyWrap60 (Expr PName)
    happyIn60 :: (Expr PName) -> (HappyAbsSyn )
    happyIn60 :: Expr PName -> HappyAbsSyn
    happyIn60 x :: Expr PName
    x = HappyWrap60 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap60
    HappyWrap60 Expr PName
    x)
    {-# INLINE happyIn60 #-}
    happyOut60 :: (HappyAbsSyn ) -> HappyWrap60
    happyOut60 :: HappyAbsSyn -> HappyWrap60
    happyOut60 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap60
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut60 #-}
    newtype HappyWrap61 = HappyWrap61 ([(Expr PName, Expr PName)])
    happyIn61 :: ([(Expr PName, Expr PName)]) -> (HappyAbsSyn )
    happyIn61 :: [(Expr PName, Expr PName)] -> HappyAbsSyn
    happyIn61 x :: [(Expr PName, Expr PName)]
    x = HappyWrap61 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([(Expr PName, Expr PName)] -> HappyWrap61
    HappyWrap61 [(Expr PName, Expr PName)]
    x)
    {-# INLINE happyIn61 #-}
    happyOut61 :: (HappyAbsSyn ) -> HappyWrap61
    happyOut61 :: HappyAbsSyn -> HappyWrap61
    happyOut61 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap61
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut61 #-}
    newtype HappyWrap62 = HappyWrap62 ((Expr PName, Expr PName))
    happyIn62 :: ((Expr PName, Expr PName)) -> (HappyAbsSyn )
    happyIn62 :: (Expr PName, Expr PName) -> HappyAbsSyn
    happyIn62 x :: (Expr PName, Expr PName)
    x = HappyWrap62 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ((Expr PName, Expr PName) -> HappyWrap62
    HappyWrap62 (Expr PName, Expr PName)
    x)
    {-# INLINE happyIn62 #-}
    happyOut62 :: (HappyAbsSyn ) -> HappyWrap62
    happyOut62 :: HappyAbsSyn -> HappyWrap62
    happyOut62 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap62
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut62 #-}
    newtype HappyWrap63 = HappyWrap63 (Expr PName)
    happyIn63 :: (Expr PName) -> (HappyAbsSyn )
    happyIn63 :: Expr PName -> HappyAbsSyn
    happyIn63 x :: Expr PName
    x = HappyWrap63 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap63
    HappyWrap63 Expr PName
    x)
    {-# INLINE happyIn63 #-}
    happyOut63 :: (HappyAbsSyn ) -> HappyWrap63
    happyOut63 :: HappyAbsSyn -> HappyWrap63
    happyOut63 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap63
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut63 #-}
    newtype HappyWrap64 = HappyWrap64 (Expr PName)
    happyIn64 :: (Expr PName) -> (HappyAbsSyn )
    happyIn64 :: Expr PName -> HappyAbsSyn
    happyIn64 x :: Expr PName
    x = HappyWrap64 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap64
    HappyWrap64 Expr PName
    x)
    {-# INLINE happyIn64 #-}
    happyOut64 :: (HappyAbsSyn ) -> HappyWrap64
    happyOut64 :: HappyAbsSyn -> HappyWrap64
    happyOut64 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap64
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut64 #-}
    newtype HappyWrap65 = HappyWrap65 (Expr PName)
    happyIn65 :: (Expr PName) -> (HappyAbsSyn )
    happyIn65 :: Expr PName -> HappyAbsSyn
    happyIn65 x :: Expr PName
    x = HappyWrap65 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap65
    HappyWrap65 Expr PName
    x)
    {-# INLINE happyIn65 #-}
    happyOut65 :: (HappyAbsSyn ) -> HappyWrap65
    happyOut65 :: HappyAbsSyn -> HappyWrap65
    happyOut65 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap65
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut65 #-}
    newtype HappyWrap66 = HappyWrap66 (Expr PName)
    happyIn66 :: (Expr PName) -> (HappyAbsSyn )
    happyIn66 :: Expr PName -> HappyAbsSyn
    happyIn66 x :: Expr PName
    x = HappyWrap66 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap66
    HappyWrap66 Expr PName
    x)
    {-# INLINE happyIn66 #-}
    happyOut66 :: (HappyAbsSyn ) -> HappyWrap66
    happyOut66 :: HappyAbsSyn -> HappyWrap66
    happyOut66 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap66
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut66 #-}
    newtype HappyWrap67 = HappyWrap67 ([Expr PName])
    happyIn67 :: ([Expr PName]) -> (HappyAbsSyn )
    happyIn67 :: [Expr PName] -> HappyAbsSyn
    happyIn67 x :: [Expr PName]
    x = HappyWrap67 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Expr PName] -> HappyWrap67
    HappyWrap67 [Expr PName]
    x)
    {-# INLINE happyIn67 #-}
    happyOut67 :: (HappyAbsSyn ) -> HappyWrap67
    happyOut67 :: HappyAbsSyn -> HappyWrap67
    happyOut67 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap67
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut67 #-}
    newtype HappyWrap68 = HappyWrap68 (Expr PName)
    happyIn68 :: (Expr PName) -> (HappyAbsSyn )
    happyIn68 :: Expr PName -> HappyAbsSyn
    happyIn68 x :: Expr PName
    x = HappyWrap68 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap68
    HappyWrap68 Expr PName
    x)
    {-# INLINE happyIn68 #-}
    happyOut68 :: (HappyAbsSyn ) -> HappyWrap68
    happyOut68 :: HappyAbsSyn -> HappyWrap68
    happyOut68 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap68
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut68 #-}
    newtype HappyWrap69 = HappyWrap69 (Expr PName)
    happyIn69 :: (Expr PName) -> (HappyAbsSyn )
    happyIn69 :: Expr PName -> HappyAbsSyn
    happyIn69 x :: Expr PName
    x = HappyWrap69 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap69
    HappyWrap69 Expr PName
    x)
    {-# INLINE happyIn69 #-}
    happyOut69 :: (HappyAbsSyn ) -> HappyWrap69
    happyOut69 :: HappyAbsSyn -> HappyWrap69
    happyOut69 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap69
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut69 #-}
    newtype HappyWrap70 = HappyWrap70 (Expr PName)
    happyIn70 :: (Expr PName) -> (HappyAbsSyn )
    happyIn70 :: Expr PName -> HappyAbsSyn
    happyIn70 x :: Expr PName
    x = HappyWrap70 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap70
    HappyWrap70 Expr PName
    x)
    {-# INLINE happyIn70 #-}
    happyOut70 :: (HappyAbsSyn ) -> HappyWrap70
    happyOut70 :: HappyAbsSyn -> HappyWrap70
    happyOut70 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap70
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut70 #-}
    newtype HappyWrap71 = HappyWrap71 ([(Bool, Integer)])
    happyIn71 :: ([(Bool, Integer)]) -> (HappyAbsSyn )
    happyIn71 :: [(Bool, Integer)] -> HappyAbsSyn
    happyIn71 x :: [(Bool, Integer)]
    x = HappyWrap71 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([(Bool, Integer)] -> HappyWrap71
    HappyWrap71 [(Bool, Integer)]
    x)
    {-# INLINE happyIn71 #-}
    happyOut71 :: (HappyAbsSyn ) -> HappyWrap71
    happyOut71 :: HappyAbsSyn -> HappyWrap71
    happyOut71 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap71
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut71 #-}
    newtype HappyWrap72 = HappyWrap72 ((Bool, Integer))
    happyIn72 :: ((Bool, Integer)) -> (HappyAbsSyn )
    happyIn72 :: (Bool, Integer) -> HappyAbsSyn
    happyIn72 x :: (Bool, Integer)
    x = HappyWrap72 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ((Bool, Integer) -> HappyWrap72
    HappyWrap72 (Bool, Integer)
    x)
    {-# INLINE happyIn72 #-}
    happyOut72 :: (HappyAbsSyn ) -> HappyWrap72
    happyOut72 :: HappyAbsSyn -> HappyWrap72
    happyOut72 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap72
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut72 #-}
    newtype HappyWrap73 = HappyWrap73 (Located Selector)
    happyIn73 :: (Located Selector) -> (HappyAbsSyn )
    happyIn73 :: Located Selector -> HappyAbsSyn
    happyIn73 x :: Located Selector
    x = HappyWrap73 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Located Selector -> HappyWrap73
    HappyWrap73 Located Selector
    x)
    {-# INLINE happyIn73 #-}
    happyOut73 :: (HappyAbsSyn ) -> HappyWrap73
    happyOut73 :: HappyAbsSyn -> HappyWrap73
    happyOut73 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap73
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut73 #-}
    newtype HappyWrap74 = HappyWrap74 ([Expr PName])
    happyIn74 :: ([Expr PName]) -> (HappyAbsSyn )
    happyIn74 :: [Expr PName] -> HappyAbsSyn
    happyIn74 x :: [Expr PName]
    x = HappyWrap74 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Expr PName] -> HappyWrap74
    HappyWrap74 [Expr PName]
    x)
    {-# INLINE happyIn74 #-}
    happyOut74 :: (HappyAbsSyn ) -> HappyWrap74
    happyOut74 :: HappyAbsSyn -> HappyWrap74
    happyOut74 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap74
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut74 #-}
    newtype HappyWrap75 = HappyWrap75 (Expr PName)
    happyIn75 :: (Expr PName) -> (HappyAbsSyn )
    happyIn75 :: Expr PName -> HappyAbsSyn
    happyIn75 x :: Expr PName
    x = HappyWrap75 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap75
    HappyWrap75 Expr PName
    x)
    {-# INLINE happyIn75 #-}
    happyOut75 :: (HappyAbsSyn ) -> HappyWrap75
    happyOut75 :: HappyAbsSyn -> HappyWrap75
    happyOut75 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap75
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut75 #-}
    newtype HappyWrap76 = HappyWrap76 (UpdField PName)
    happyIn76 :: (UpdField PName) -> (HappyAbsSyn )
    happyIn76 :: UpdField PName -> HappyAbsSyn
    happyIn76 x :: UpdField PName
    x = HappyWrap76 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (UpdField PName -> HappyWrap76
    HappyWrap76 UpdField PName
    x)
    {-# INLINE happyIn76 #-}
    happyOut76 :: (HappyAbsSyn ) -> HappyWrap76
    happyOut76 :: HappyAbsSyn -> HappyWrap76
    happyOut76 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap76
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut76 #-}
    newtype HappyWrap77 = HappyWrap77 (UpdHow)
    happyIn77 :: (UpdHow) -> (HappyAbsSyn )
    happyIn77 :: UpdHow -> HappyAbsSyn
    happyIn77 x :: UpdHow
    x = HappyWrap77 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (UpdHow -> HappyWrap77
    HappyWrap77 UpdHow
    x)
    {-# INLINE happyIn77 #-}
    happyOut77 :: (HappyAbsSyn ) -> HappyWrap77
    happyOut77 :: HappyAbsSyn -> HappyWrap77
    happyOut77 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap77
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut77 #-}
    newtype HappyWrap78 = HappyWrap78 ([ Located Selector ])
    happyIn78 :: ([ Located Selector ]) -> (HappyAbsSyn )
    happyIn78 :: [Located Selector] -> HappyAbsSyn
    happyIn78 x :: [Located Selector]
    x = HappyWrap78 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Located Selector] -> HappyWrap78
    HappyWrap78 [Located Selector]
    x)
    {-# INLINE happyIn78 #-}
    happyOut78 :: (HappyAbsSyn ) -> HappyWrap78
    happyOut78 :: HappyAbsSyn -> HappyWrap78
    happyOut78 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap78
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut78 #-}
    newtype HappyWrap79 = HappyWrap79 ([UpdField PName])
    happyIn79 :: ([UpdField PName]) -> (HappyAbsSyn )
    happyIn79 :: [UpdField PName] -> HappyAbsSyn
    happyIn79 x :: [UpdField PName]
    x = HappyWrap79 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([UpdField PName] -> HappyWrap79
    HappyWrap79 [UpdField PName]
    x)
    {-# INLINE happyIn79 #-}
    happyOut79 :: (HappyAbsSyn ) -> HappyWrap79
    happyOut79 :: HappyAbsSyn -> HappyWrap79
    happyOut79 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap79
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut79 #-}
    newtype HappyWrap80 = HappyWrap80 (Expr PName)
    happyIn80 :: (Expr PName) -> (HappyAbsSyn )
    happyIn80 :: Expr PName -> HappyAbsSyn
    happyIn80 x :: Expr PName
    x = HappyWrap80 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Expr PName -> HappyWrap80
    HappyWrap80 Expr PName
    x)
    {-# INLINE happyIn80 #-}
    happyOut80 :: (HappyAbsSyn ) -> HappyWrap80
    happyOut80 :: HappyAbsSyn -> HappyWrap80
    happyOut80 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap80
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut80 #-}
    newtype HappyWrap81 = HappyWrap81 ([[Match PName]])
    happyIn81 :: ([[Match PName]]) -> (HappyAbsSyn )
    happyIn81 :: [[Match PName]] -> HappyAbsSyn
    happyIn81 x :: [[Match PName]]
    x = HappyWrap81 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([[Match PName]] -> HappyWrap81
    HappyWrap81 [[Match PName]]
    x)
    {-# INLINE happyIn81 #-}
    happyOut81 :: (HappyAbsSyn ) -> HappyWrap81
    happyOut81 :: HappyAbsSyn -> HappyWrap81
    happyOut81 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap81
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut81 #-}
    newtype HappyWrap82 = HappyWrap82 ([Match PName])
    happyIn82 :: ([Match PName]) -> (HappyAbsSyn )
    happyIn82 :: [Match PName] -> HappyAbsSyn
    happyIn82 x :: [Match PName]
    x = HappyWrap82 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Match PName] -> HappyWrap82
    HappyWrap82 [Match PName]
    x)
    {-# INLINE happyIn82 #-}
    happyOut82 :: (HappyAbsSyn ) -> HappyWrap82
    happyOut82 :: HappyAbsSyn -> HappyWrap82
    happyOut82 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap82
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut82 #-}
    newtype HappyWrap83 = HappyWrap83 (Match PName)
    happyIn83 :: (Match PName) -> (HappyAbsSyn )
    happyIn83 :: Match PName -> HappyAbsSyn
    happyIn83 x :: Match PName
    x = HappyWrap83 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Match PName -> HappyWrap83
    HappyWrap83 Match PName
    x)
    {-# INLINE happyIn83 #-}
    happyOut83 :: (HappyAbsSyn ) -> HappyWrap83
    happyOut83 :: HappyAbsSyn -> HappyWrap83
    happyOut83 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap83
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut83 #-}
    newtype HappyWrap84 = HappyWrap84 (Pattern PName)
    happyIn84 :: (Pattern PName) -> (HappyAbsSyn )
    happyIn84 :: Pattern PName -> HappyAbsSyn
    happyIn84 x :: Pattern PName
    x = HappyWrap84 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Pattern PName -> HappyWrap84
    HappyWrap84 Pattern PName
    x)
    {-# INLINE happyIn84 #-}
    happyOut84 :: (HappyAbsSyn ) -> HappyWrap84
    happyOut84 :: HappyAbsSyn -> HappyWrap84
    happyOut84 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap84
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut84 #-}
    newtype HappyWrap85 = HappyWrap85 (Pattern PName)
    happyIn85 :: (Pattern PName) -> (HappyAbsSyn )
    happyIn85 :: Pattern PName -> HappyAbsSyn
    happyIn85 x :: Pattern PName
    x = HappyWrap85 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Pattern PName -> HappyWrap85
    HappyWrap85 Pattern PName
    x)
    {-# INLINE happyIn85 #-}
    happyOut85 :: (HappyAbsSyn ) -> HappyWrap85
    happyOut85 :: HappyAbsSyn -> HappyWrap85
    happyOut85 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap85
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut85 #-}
    newtype HappyWrap86 = HappyWrap86 (Pattern PName)
    happyIn86 :: (Pattern PName) -> (HappyAbsSyn )
    happyIn86 :: Pattern PName -> HappyAbsSyn
    happyIn86 x :: Pattern PName
    x = HappyWrap86 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Pattern PName -> HappyWrap86
    HappyWrap86 Pattern PName
    x)
    {-# INLINE happyIn86 #-}
    happyOut86 :: (HappyAbsSyn ) -> HappyWrap86
    happyOut86 :: HappyAbsSyn -> HappyWrap86
    happyOut86 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap86
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut86 #-}
    newtype HappyWrap87 = HappyWrap87 ([Pattern PName])
    happyIn87 :: ([Pattern PName]) -> (HappyAbsSyn )
    happyIn87 :: [Pattern PName] -> HappyAbsSyn
    happyIn87 x :: [Pattern PName]
    x = HappyWrap87 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Pattern PName] -> HappyWrap87
    HappyWrap87 [Pattern PName]
    x)
    {-# INLINE happyIn87 #-}
    happyOut87 :: (HappyAbsSyn ) -> HappyWrap87
    happyOut87 :: HappyAbsSyn -> HappyWrap87
    happyOut87 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap87
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut87 #-}
    newtype HappyWrap88 = HappyWrap88 (Named (Pattern PName))
    happyIn88 :: (Named (Pattern PName)) -> (HappyAbsSyn )
    happyIn88 :: Named (Pattern PName) -> HappyAbsSyn
    happyIn88 x :: Named (Pattern PName)
    x = HappyWrap88 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Named (Pattern PName) -> HappyWrap88
    HappyWrap88 Named (Pattern PName)
    x)
    {-# INLINE happyIn88 #-}
    happyOut88 :: (HappyAbsSyn ) -> HappyWrap88
    happyOut88 :: HappyAbsSyn -> HappyWrap88
    happyOut88 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap88
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut88 #-}
    newtype HappyWrap89 = HappyWrap89 ([Named (Pattern PName)])
    happyIn89 :: ([Named (Pattern PName)]) -> (HappyAbsSyn )
    happyIn89 :: [Named (Pattern PName)] -> HappyAbsSyn
    happyIn89 x :: [Named (Pattern PName)]
    x = HappyWrap89 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Named (Pattern PName)] -> HappyWrap89
    HappyWrap89 [Named (Pattern PName)]
    x)
    {-# INLINE happyIn89 #-}
    happyOut89 :: (HappyAbsSyn ) -> HappyWrap89
    happyOut89 :: HappyAbsSyn -> HappyWrap89
    happyOut89 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap89
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut89 #-}
    newtype HappyWrap90 = HappyWrap90 (Schema PName)
    happyIn90 :: (Schema PName) -> (HappyAbsSyn )
    happyIn90 :: Schema PName -> HappyAbsSyn
    happyIn90 x :: Schema PName
    x = HappyWrap90 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Schema PName -> HappyWrap90
    HappyWrap90 Schema PName
    x)
    {-# INLINE happyIn90 #-}
    happyOut90 :: (HappyAbsSyn ) -> HappyWrap90
    happyOut90 :: HappyAbsSyn -> HappyWrap90
    happyOut90 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap90
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut90 #-}
    newtype HappyWrap91 = HappyWrap91 (Located [TParam PName])
    happyIn91 :: (Located [TParam PName]) -> (HappyAbsSyn )
    happyIn91 :: Located [TParam PName] -> HappyAbsSyn
    happyIn91 x :: Located [TParam PName]
    x = HappyWrap91 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Located [TParam PName] -> HappyWrap91
    HappyWrap91 Located [TParam PName]
    x)
    {-# INLINE happyIn91 #-}
    happyOut91 :: (HappyAbsSyn ) -> HappyWrap91
    happyOut91 :: HappyAbsSyn -> HappyWrap91
    happyOut91 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap91
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut91 #-}
    newtype HappyWrap92 = HappyWrap92 (Located [Prop PName])
    happyIn92 :: (Located [Prop PName]) -> (HappyAbsSyn )
    happyIn92 :: Located [Prop PName] -> HappyAbsSyn
    happyIn92 x :: Located [Prop PName]
    x = HappyWrap92 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Located [Prop PName] -> HappyWrap92
    HappyWrap92 Located [Prop PName]
    x)
    {-# INLINE happyIn92 #-}
    happyOut92 :: (HappyAbsSyn ) -> HappyWrap92
    happyOut92 :: HappyAbsSyn -> HappyWrap92
    happyOut92 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap92
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut92 #-}
    newtype HappyWrap93 = HappyWrap93 (Located [Prop PName])
    happyIn93 :: (Located [Prop PName]) -> (HappyAbsSyn )
    happyIn93 :: Located [Prop PName] -> HappyAbsSyn
    happyIn93 x :: Located [Prop PName]
    x = HappyWrap93 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Located [Prop PName] -> HappyWrap93
    HappyWrap93 Located [Prop PName]
    x)
    {-# INLINE happyIn93 #-}
    happyOut93 :: (HappyAbsSyn ) -> HappyWrap93
    happyOut93 :: HappyAbsSyn -> HappyWrap93
    happyOut93 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap93
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut93 #-}
    newtype HappyWrap94 = HappyWrap94 (Located Kind)
    happyIn94 :: (Located Kind) -> (HappyAbsSyn )
    happyIn94 :: Located Kind -> HappyAbsSyn
    happyIn94 x :: Located Kind
    x = HappyWrap94 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Located Kind -> HappyWrap94
    HappyWrap94 Located Kind
    x)
    {-# INLINE happyIn94 #-}
    happyOut94 :: (HappyAbsSyn ) -> HappyWrap94
    happyOut94 :: HappyAbsSyn -> HappyWrap94
    happyOut94 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap94
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut94 #-}
    newtype HappyWrap95 = HappyWrap95 (TParam PName)
    happyIn95 :: (TParam PName) -> (HappyAbsSyn )
    happyIn95 :: TParam PName -> HappyAbsSyn
    happyIn95 x :: TParam PName
    x = HappyWrap95 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (TParam PName -> HappyWrap95
    HappyWrap95 TParam PName
    x)
    {-# INLINE happyIn95 #-}
    happyOut95 :: (HappyAbsSyn ) -> HappyWrap95
    happyOut95 :: HappyAbsSyn -> HappyWrap95
    happyOut95 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap95
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut95 #-}
    newtype HappyWrap96 = HappyWrap96 ([TParam PName])
    happyIn96 :: ([TParam PName]) -> (HappyAbsSyn )
    happyIn96 :: [TParam PName] -> HappyAbsSyn
    happyIn96 x :: [TParam PName]
    x = HappyWrap96 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([TParam PName] -> HappyWrap96
    HappyWrap96 [TParam PName]
    x)
    {-# INLINE happyIn96 #-}
    happyOut96 :: (HappyAbsSyn ) -> HappyWrap96
    happyOut96 :: HappyAbsSyn -> HappyWrap96
    happyOut96 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap96
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut96 #-}
    newtype HappyWrap97 = HappyWrap97 (TParam PName)
    happyIn97 :: (TParam PName) -> (HappyAbsSyn )
    happyIn97 :: TParam PName -> HappyAbsSyn
    happyIn97 x :: TParam PName
    x = HappyWrap97 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (TParam PName -> HappyWrap97
    HappyWrap97 TParam PName
    x)
    {-# INLINE happyIn97 #-}
    happyOut97 :: (HappyAbsSyn ) -> HappyWrap97
    happyOut97 :: HappyAbsSyn -> HappyWrap97
    happyOut97 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap97
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut97 #-}
    newtype HappyWrap98 = HappyWrap98 ([TParam PName])
    happyIn98 :: ([TParam PName]) -> (HappyAbsSyn )
    happyIn98 :: [TParam PName] -> HappyAbsSyn
    happyIn98 x :: [TParam PName]
    x = HappyWrap98 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([TParam PName] -> HappyWrap98
    HappyWrap98 [TParam PName]
    x)
    {-# INLINE happyIn98 #-}
    happyOut98 :: (HappyAbsSyn ) -> HappyWrap98
    happyOut98 :: HappyAbsSyn -> HappyWrap98
    happyOut98 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap98
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut98 #-}
    newtype HappyWrap99 = HappyWrap99 (Type PName)
    happyIn99 :: (Type PName) -> (HappyAbsSyn )
    happyIn99 :: Type PName -> HappyAbsSyn
    happyIn99 x :: Type PName
    x = HappyWrap99 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Type PName -> HappyWrap99
    HappyWrap99 Type PName
    x)
    {-# INLINE happyIn99 #-}
    happyOut99 :: (HappyAbsSyn ) -> HappyWrap99
    happyOut99 :: HappyAbsSyn -> HappyWrap99
    happyOut99 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap99
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut99 #-}
    newtype HappyWrap100 = HappyWrap100 (Type PName)
    happyIn100 :: (Type PName) -> (HappyAbsSyn )
    happyIn100 :: Type PName -> HappyAbsSyn
    happyIn100 x :: Type PName
    x = HappyWrap100 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Type PName -> HappyWrap100
    HappyWrap100 Type PName
    x)
    {-# INLINE happyIn100 #-}
    happyOut100 :: (HappyAbsSyn ) -> HappyWrap100
    happyOut100 :: HappyAbsSyn -> HappyWrap100
    happyOut100 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap100
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut100 #-}
    newtype HappyWrap101 = HappyWrap101 (Type PName)
    happyIn101 :: (Type PName) -> (HappyAbsSyn )
    happyIn101 :: Type PName -> HappyAbsSyn
    happyIn101 x :: Type PName
    x = HappyWrap101 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Type PName -> HappyWrap101
    HappyWrap101 Type PName
    x)
    {-# INLINE happyIn101 #-}
    happyOut101 :: (HappyAbsSyn ) -> HappyWrap101
    happyOut101 :: HappyAbsSyn -> HappyWrap101
    happyOut101 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap101
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut101 #-}
    newtype HappyWrap102 = HappyWrap102 (Type PName)
    happyIn102 :: (Type PName) -> (HappyAbsSyn )
    happyIn102 :: Type PName -> HappyAbsSyn
    happyIn102 x :: Type PName
    x = HappyWrap102 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Type PName -> HappyWrap102
    HappyWrap102 Type PName
    x)
    {-# INLINE happyIn102 #-}
    happyOut102 :: (HappyAbsSyn ) -> HappyWrap102
    happyOut102 :: HappyAbsSyn -> HappyWrap102
    happyOut102 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap102
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut102 #-}
    newtype HappyWrap103 = HappyWrap103 ([ Type PName ])
    happyIn103 :: ([ Type PName ]) -> (HappyAbsSyn )
    happyIn103 :: [Type PName] -> HappyAbsSyn
    happyIn103 x :: [Type PName]
    x = HappyWrap103 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Type PName] -> HappyWrap103
    HappyWrap103 [Type PName]
    x)
    {-# INLINE happyIn103 #-}
    happyOut103 :: (HappyAbsSyn ) -> HappyWrap103
    happyOut103 :: HappyAbsSyn -> HappyWrap103
    happyOut103 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap103
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut103 #-}
    newtype HappyWrap104 = HappyWrap104 (Located [Type PName])
    happyIn104 :: (Located [Type PName]) -> (HappyAbsSyn )
    happyIn104 :: Located [Type PName] -> HappyAbsSyn
    happyIn104 x :: Located [Type PName]
    x = HappyWrap104 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Located [Type PName] -> HappyWrap104
    HappyWrap104 Located [Type PName]
    x)
    {-# INLINE happyIn104 #-}
    happyOut104 :: (HappyAbsSyn ) -> HappyWrap104
    happyOut104 :: HappyAbsSyn -> HappyWrap104
    happyOut104 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap104
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut104 #-}
    newtype HappyWrap105 = HappyWrap105 ([Type PName])
    happyIn105 :: ([Type PName]) -> (HappyAbsSyn )
    happyIn105 :: [Type PName] -> HappyAbsSyn
    happyIn105 x :: [Type PName]
    x = HappyWrap105 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Type PName] -> HappyWrap105
    HappyWrap105 [Type PName]
    x)
    {-# INLINE happyIn105 #-}
    happyOut105 :: (HappyAbsSyn ) -> HappyWrap105
    happyOut105 :: HappyAbsSyn -> HappyWrap105
    happyOut105 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap105
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut105 #-}
    newtype HappyWrap106 = HappyWrap106 (Named (Type PName))
    happyIn106 :: (Named (Type PName)) -> (HappyAbsSyn )
    happyIn106 :: Named (Type PName) -> HappyAbsSyn
    happyIn106 x :: Named (Type PName)
    x = HappyWrap106 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Named (Type PName) -> HappyWrap106
    HappyWrap106 Named (Type PName)
    x)
    {-# INLINE happyIn106 #-}
    happyOut106 :: (HappyAbsSyn ) -> HappyWrap106
    happyOut106 :: HappyAbsSyn -> HappyWrap106
    happyOut106 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap106
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut106 #-}
    newtype HappyWrap107 = HappyWrap107 ([Named (Type PName)])
    happyIn107 :: ([Named (Type PName)]) -> (HappyAbsSyn )
    happyIn107 :: [Named (Type PName)] -> HappyAbsSyn
    happyIn107 x :: [Named (Type PName)]
    x = HappyWrap107 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Named (Type PName)] -> HappyWrap107
    HappyWrap107 [Named (Type PName)]
    x)
    {-# INLINE happyIn107 #-}
    happyOut107 :: (HappyAbsSyn ) -> HappyWrap107
    happyOut107 :: HappyAbsSyn -> HappyWrap107
    happyOut107 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap107
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut107 #-}
    newtype HappyWrap108 = HappyWrap108 (Located Ident)
    happyIn108 :: (Located Ident) -> (HappyAbsSyn )
    happyIn108 :: LIdent -> HappyAbsSyn
    happyIn108 x :: LIdent
    x = HappyWrap108 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (LIdent -> HappyWrap108
    HappyWrap108 LIdent
    x)
    {-# INLINE happyIn108 #-}
    happyOut108 :: (HappyAbsSyn ) -> HappyWrap108
    happyOut108 :: HappyAbsSyn -> HappyWrap108
    happyOut108 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap108
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut108 #-}
    newtype HappyWrap109 = HappyWrap109 (LPName)
    happyIn109 :: (LPName) -> (HappyAbsSyn )
    happyIn109 :: LPName -> HappyAbsSyn
    happyIn109 x :: LPName
    x = HappyWrap109 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap109
    HappyWrap109 LPName
    x)
    {-# INLINE happyIn109 #-}
    happyOut109 :: (HappyAbsSyn ) -> HappyWrap109
    happyOut109 :: HappyAbsSyn -> HappyWrap109
    happyOut109 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap109
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut109 #-}
    newtype HappyWrap110 = HappyWrap110 (Located ModName)
    happyIn110 :: (Located ModName) -> (HappyAbsSyn )
    happyIn110 :: Located ModName -> HappyAbsSyn
    happyIn110 x :: Located ModName
    x = HappyWrap110 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Located ModName -> HappyWrap110
    HappyWrap110 Located ModName
    x)
    {-# INLINE happyIn110 #-}
    happyOut110 :: (HappyAbsSyn ) -> HappyWrap110
    happyOut110 :: HappyAbsSyn -> HappyWrap110
    happyOut110 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap110
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut110 #-}
    newtype HappyWrap111 = HappyWrap111 (Located ModName)
    happyIn111 :: (Located ModName) -> (HappyAbsSyn )
    happyIn111 :: Located ModName -> HappyAbsSyn
    happyIn111 x :: Located ModName
    x = HappyWrap111 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Located ModName -> HappyWrap111
    HappyWrap111 Located ModName
    x)
    {-# INLINE happyIn111 #-}
    happyOut111 :: (HappyAbsSyn ) -> HappyWrap111
    happyOut111 :: HappyAbsSyn -> HappyWrap111
    happyOut111 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap111
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut111 #-}
    newtype HappyWrap112 = HappyWrap112 (Located PName)
    happyIn112 :: (Located PName) -> (HappyAbsSyn )
    happyIn112 :: LPName -> HappyAbsSyn
    happyIn112 x :: LPName
    x = HappyWrap112 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap112
    HappyWrap112 LPName
    x)
    {-# INLINE happyIn112 #-}
    happyOut112 :: (HappyAbsSyn ) -> HappyWrap112
    happyOut112 :: HappyAbsSyn -> HappyWrap112
    happyOut112 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap112
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut112 #-}
    newtype HappyWrap113 = HappyWrap113 (Located PName)
    happyIn113 :: (Located PName) -> (HappyAbsSyn )
    happyIn113 :: LPName -> HappyAbsSyn
    happyIn113 x :: LPName
    x = HappyWrap113 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (LPName -> HappyWrap113
    HappyWrap113 LPName
    x)
    {-# INLINE happyIn113 #-}
    happyOut113 :: (HappyAbsSyn ) -> HappyWrap113
    happyOut113 :: HappyAbsSyn -> HappyWrap113
    happyOut113 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap113
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut113 #-}
    newtype HappyWrap114 = HappyWrap114 (Type PName)
    happyIn114 :: (Type PName) -> (HappyAbsSyn )
    happyIn114 :: Type PName -> HappyAbsSyn
    happyIn114 x :: Type PName
    x = HappyWrap114 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Type PName -> HappyWrap114
    HappyWrap114 Type PName
    x)
    {-# INLINE happyIn114 #-}
    happyOut114 :: (HappyAbsSyn ) -> HappyWrap114
    happyOut114 :: HappyAbsSyn -> HappyWrap114
    happyOut114 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap114
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut114 #-}
    newtype HappyWrap115 = HappyWrap115 (Named (Type PName))
    happyIn115 :: (Named (Type PName)) -> (HappyAbsSyn )
    happyIn115 :: Named (Type PName) -> HappyAbsSyn
    happyIn115 x :: Named (Type PName)
    x = HappyWrap115 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# (Named (Type PName) -> HappyWrap115
    HappyWrap115 Named (Type PName)
    x)
    {-# INLINE happyIn115 #-}
    happyOut115 :: (HappyAbsSyn ) -> HappyWrap115
    happyOut115 :: HappyAbsSyn -> HappyWrap115
    happyOut115 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap115
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut115 #-}
    newtype HappyWrap116 = HappyWrap116 ([Named (Type PName)])
    happyIn116 :: ([Named (Type PName)]) -> (HappyAbsSyn )
    happyIn116 :: [Named (Type PName)] -> HappyAbsSyn
    happyIn116 x :: [Named (Type PName)]
    x = HappyWrap116 -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# ([Named (Type PName)] -> HappyWrap116
    HappyWrap116 [Named (Type PName)]
    x)
    {-# INLINE happyIn116 #-}
    happyOut116 :: (HappyAbsSyn ) -> HappyWrap116
    happyOut116 :: HappyAbsSyn -> HappyWrap116
    happyOut116 x :: HappyAbsSyn
    x = HappyAbsSyn -> HappyWrap116
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOut116 #-}
    happyInTok :: (Located Token) -> (HappyAbsSyn )
    happyInTok :: Located Token -> HappyAbsSyn
    happyInTok x :: Located Token
    x = Located Token -> HappyAbsSyn
    Happy_GHC_Exts.unsafeCoerce# Located Token
    x
    {-# INLINE happyInTok #-}
    happyOutTok :: (HappyAbsSyn ) -> (Located Token)
    happyOutTok :: HappyAbsSyn -> Located Token
    happyOutTok x :: HappyAbsSyn
    x = HappyAbsSyn -> Located Token
    Happy_GHC_Exts.unsafeCoerce# HappyAbsSyn
    x
    {-# INLINE happyOutTok #-}

    happyExpList :: HappyAddr
    happyExpList :: HappyAddr
    happyExpList = Addr# -> HappyAddr
    HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x20\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x79\x40\x04\x21\x80\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x73\x00\x12\x41\x28\x31\x30\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\xf3\x80\x08\x42\x00\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x9c\x07\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x80\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xce\x01\x40\x04\x21\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x0e\x00\x02\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x10\x40\x00\x00\xfe\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1c\x00\x04\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x0e\x00\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\x9d\x03\x80\x08\x42\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x73\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x03\x80\x08\x42\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x07\x00\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x39\x00\x88\x60\x04\x10\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xe7\x00\x20\x82\x50\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x20\x82\x10\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x07\x20\x11\x84\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x21\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xcf\x01\x48\x04\xa3\xc4\xf8\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x00\x22\x08\x27\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x10\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x03\x80\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x07\x20\x11\x84\x12\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x1e\x10\x41\x08\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x20\x82\x10\x40\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xe7\x01\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x05\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x88\x21\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x04\x23\x80\xf8\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0e\x00\x02\x00\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\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xef\x01\x11\x84\x00\x0a\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x79\x40\x04\x21\x80\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x0e\x00\x02\x00\x20\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\x1e\x10\x41\x08\x20\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\xf7\x80\x08\x42\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x07\x00\x01\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x83\x80\x00\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\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x80\x08\x46\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x40\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x80\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\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\xfc\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x04\x21\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x40\x22\x08\x25\x06\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x44\x10\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x88\x20\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x22\x08\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x41\x08\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x07\x00\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x39\x00\x88\x20\x0c\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x88\x20\x44\x12\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x41\x88\x24\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1c\x80\x44\x10\x4a\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xe7\x00\x24\x82\x50\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x80\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x11\x84\x00\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x38\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xc4\x01\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x03\x90\x08\x42\x89\x81\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x80\x38\x00\x08\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x73\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x07\x00\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x39\x00\x88\x20\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xce\x01\x40\x04\x21\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x40\xe7\x00\x20\x82\x10\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x39\x00\x88\x20\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x32\x08\x01\x84\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x07\x20\x11\x84\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xcf\x01\x48\x04\xa1\xc4\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x40\x22\x08\x25\x06\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\x9f\x03\x90\x08\x42\x89\x81\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1c\x80\x44\x10\x4a\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x73\x00\x12\x41\x28\x31\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1c\x00\x44\x10\x4a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xe7\x00\x20\x82\x50\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1c\x80\x44\x10\x4a\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xe7\x00\x20\x82\x50\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x80\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x40\x22\x08\x25\x06\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x1e\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x9c\x07\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x03\x90\x08\x42\x89\x81\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x20\x82\x10\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x00\x01\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\x71\x00\x10\x40\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x20\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x88\x20\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0e\x00\x22\x08\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x03\x80\x08\x42\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x11\x84\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x1e\x10\x41\x18\x20\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\xf3\x80\x08\x42\x00\x05\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xbc\x07\x44\x10\x02\x08\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xef\x01\x11\x84\x00\x02\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x22\x08\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x03\x80\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x3d\x20\x82\x10\x40\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0e\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xef\x01\x11\x84\x00\x02\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x7c\x0f\x88\x20\x04\x10\x00\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\x02\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x10\xef\x01\x11\x84\x00\x02\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x08\x20\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x04\x21\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x03\x80\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\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\x80\x38\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x03\x80\x08\x42\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x79\x40\x04\x61\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1c\x80\x44\x10\x4a\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x9d\x03\x80\x08\x42\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x04\x10\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe7\x00\x20\x82\x10\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x40\x22\x08\x25\x06\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xe7\x00\x24\x82\x50\x62\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x07\x20\x11\x84\x12\x03\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0e\x00\x22\x08\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xbe\x07\x44\x10\x02\x08\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x40\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0e\x40\x22\x08\x25\x06\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x80\x08\x42\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1c\x80\x44\x10\x4a\x0c\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xa0\x73\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1c\x00\x44\x10\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x07\x00\x11\x84\x08\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x39\x00\x89\x20\x94\x18\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x40\x00\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x38\x00\x08\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x73\x00\x12\x41\x28\x31\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x39\x00\x88\x20\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xce\x01\x40\x04\x21\x80\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xdf\x03\x22\x08\x01\x04\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x73\x00\x10\x41\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x07\x00\x11\x84\x00\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\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x04\x00\x00\x20\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#

    {-# NOINLINE happyExpListPerState #-}
    happyExpListPerState :: Int -> [a]
    happyExpListPerState st :: Int
    st =
        [a]
    token_strs_expected
      where token_strs :: [a]
    token_strs = ["error","%dummy","%start_vmodule","%start_program","%start_programLayout","%start_expr","%start_decl","%start_decls","%start_declsLayout","%start_letDecl","%start_repl","%start_schema","%start_modName","%start_helpName","vmodule","vmod_body","vimports","import","mbAs","mbImportSpec","name_list","mbHiding","program","program_layout","top_decls","vtop_decls","vtop_decl","top_decl","private_decls","prim_bind","parameter_decls","par_decls","par_decl","doc","mbDoc","decl","let_decl","newtype","newtype_body","vars_comma","var","apats","indices","indices1","apats_indices","decls","vdecls","decls_layout","repl","qop","op","pat_op","other_op","ops","expr","exprNoWhere","whereClause","typedExpr","simpleExpr","longExpr","ifBranches","ifBranch","simpleRHS","longRHS","simpleApp","longApp","aexprs","aexpr","no_sel_aexpr","sel_expr","poly_terms","poly_term","selector","tuple_exprs","rec_expr","field_expr","field_how","sels","field_exprs","list_expr","list_alts","matches","match","pat","ipat","apat","tuple_pats","field_pat","field_pats","schema","schema_vars","schema_quals","schema_qual","kind","schema_param","schema_params","tysyn_param","tysyn_params","type","infix_type","app_type","atype","atypes","dimensions","tuple_types","field_type","field_types","ident","name","smodName","modName","qname","help_name","tick_ty","field_ty_val","field_ty_vals","NUM","STRLIT","CHARLIT","IDENT","QIDENT","'include'","'import'","'as'","'hiding'","'private'","'parameter'","'property'","'infix'","'infixl'","'infixr'","'type'","'newtype'","'module'","'where'","'let'","'if'","'then'","'else'","'x'","'primitive'","'constraint'","'Prop'","'['","']'","'<-'","'..'","'...'","'|'","'('","')'","','","';'","'.'","'{'","'}'","'<|'","'|>'","'='","'`'","':'","'->'","'=>'","'\\\\'","'_'","'v{'","'v}'","'v;'","'+'","'*'","'^^'","'-'","'~'","'#'","'@'","OP","QOP","DOC","%eof"]
            bit_start :: Int
    bit_start = Int
    st Int -> Int -> Int
    forall a. Num a => a -> a -> a
    * 179
            bit_end :: Int
    bit_end = (Int
    st Int -> Int -> Int
    forall a. Num a => a -> a -> a
    + 1) Int -> Int -> Int
    forall a. Num a => a -> a -> a
    * 179
            read_bit :: Int -> Bool
    read_bit = HappyAddr -> Int -> Bool
    readArrayBit HappyAddr
    happyExpList
            bits :: [Bool]
    bits = (Int -> Bool) -> [Int] -> [Bool]
    forall a b. (a -> b) -> [a] -> [b]
    map Int -> Bool
    read_bit [Int
    bit_start..Int
    bit_end Int -> Int -> Int
    forall a. Num a => a -> a -> a
    - 1]
            bits_indexed :: [(Bool, Int)]
    bits_indexed = [Bool] -> [Int] -> [(Bool, Int)]
    forall a b. [a] -> [b] -> [(a, b)]
    zip [Bool]
    bits [0..178]
            token_strs_expected :: [a]
    token_strs_expected = ((Bool, Int) -> [a]) -> [(Bool, Int)] -> [a]
    forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
    concatMap (Bool, Int) -> [a]
    f [(Bool, Int)]
    bits_indexed
            f :: (Bool, Int) -> [a]
    f (False, _) = []
            f (True, nr :: Int
    nr) = [[a]
    token_strs [a] -> Int -> a
    forall a. [a] -> Int -> a
    !! Int
    nr]

    happyActOffsets :: HappyAddr
    happyActOffsets :: HappyAddr
    happyActOffsets = Addr# -> HappyAddr
    HappyA# "\x44\x00\xb9\x01\x66\x00\x5c\x06\x32\x08\x32\x08\xb9\x00\x99\x00\xf8\x05\xc6\x08\xbe\x05\x85\x03\x19\x01\xbe\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x01\x00\x00\xe2\x04\x0d\x01\xe2\x08\xe2\x08\x00\x00\x11\x01\x6f\x0b\x00\x00\x00\x00\xf8\x08\x14\x09\x00\x00\x00\x00\x2a\x09\x25\x03\xab\x02\x00\x00\x00\x00\x15\x01\x2f\x01\x00\x00\x00\x00\x5f\x0b\x00\x00\x00\x00\x00\x00\x75\x0a\x00\x00\x94\x08\x00\x00\x30\x01\x3c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x0a\x5c\x06\x2a\x06\xfb\x02\x78\x08\x1c\x00\xdb\x0a\x4f\x0a\x00\x00\x5c\x08\x5c\x08\x39\x01\x39\x01\x98\x07\x5b\x01\xc0\x00\xe9\x06\xf9\x01\x68\x00\xad\x05\x1f\x05\x00\x00\x90\x01\xb7\x01\xbf\x01\x2f\x07\xe5\x09\x77\x06\xcf\x03\x00\x00\x8f\x01\xf2\xff\x8f\x01\x51\x02\x8f\x01\xd4\x01\xb1\x01\x00\x00\x00\x00\xd0\x01\x00\x00\xdd\x01\x00\x00\xac\x01\xbe\x05\x25\x02\x15\x02\x89\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\x81\x01\x00\x00\xbe\x05\xd2\x01\x07\x02\x25\x00\x00\x00\x93\x06\x00\x00\x42\x02\xcc\x00\x00\x00\x70\x01\x00\x00\x66\x01\x47\x02\x00\x00\x65\x02\x87\x01\xd9\xff\x00\x00\xd1\x01\x00\x00\x13\x0a\x00\x00\xea\xff\x95\x00\x00\x00\x3b\x0c\x43\x0c\xf6\x01\x03\x03\xa1\x02\x4b\x0c\x4b\x0c\x4b\x0c\x4f\x0a\x5c\x06\x4f\x0a\x68\x02\xfa\x06\x7c\x02\x00\x00\x4f\x0a\x74\x04\x46\x09\x00\x00\x00\x00\x97\x01\x00\x00\x8c\x0a\x00\x00\x9e\x0a\x00\x00\x1c\x0a\x00\x00\x00\x00\x00\x00\x5c\x09\xae\x07\x33\x01\x00\x00\x00\x00\x79\x02\x00\x00\x9f\x02\xe2\x00\xce\x06\x92\x02\x00\x00\xce\x06\xa3\x02\x2a\x02\x45\x02\x00\x00\xca\x02\xaf\x02\xc6\x00\xee\x02\x00\x00\x5c\x08\x5c\x08\xd0\x02\xce\x02\xd8\x02\x00\x00\x06\x02\x4d\x00\x00\x00\xef\x00\x0b\x07\x41\x03\x41\x03\x00\x00\x00\x00\x5c\x06\x5c\x09\x00\x00\xf2\x01\x00\x00\x44\x02\xc1\x02\xd1\x0a\xd6\x02\x56\x03\x60\x03\x00\x00\x06\x04\xde\x02\x00\x00\x78\x09\x00\x00\x8e\x09\x00\x00\x8e\x09\x8e\x09\x8e\x09\x00\x00\x00\x00\xd2\x02\x8e\x09\xd2\x02\x00\x00\xe3\x02\xf5\x02\xdc\x02\x00\x00\xeb\x02\x00\x00\x00\x00\x06\x03\x21\x03\x00\x00\x64\x0a\xf3\x02\x00\x00\x00\x00\x8e\x09\x00\x00\x8e\x09\x00\x00\xec\x05\xa1\x02\x00\x00\xa1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x03\x5c\x06\x5c\x06\x5c\x06\x5c\x06\x00\x00\x5c\x06\x5c\x06\x00\x00\x4f\x0a\x5c\x06\x00\x00\x00\x00\x5c\x06\x00\x00\xb0\x08\xb0\x08\x55\x02\x5c\x06\x00\x00\x00\x00\x00\x00\x55\x02\x5c\x06\xb0\x08\x45\x03\x00\x00\x82\x00\x61\x02\x80\x02\x24\x03\x00\x00\x8e\x02\x00\x00\x30\x03\x00\x00\x5c\x06\x32\x08\x00\x00\x32\x08\x00\x00\x00\x00\x00\x00\x4b\x0c\x1c\x03\x00\x00\x5c\x06\x00\x00\x4f\x0a\x00\x00\x2b\x03\x62\x03\x6c\x03\x00\x00\x67\x03\x67\x03\x67\x03\x76\x03\x4b\x0c\xeb\x08\x00\x00\x1d\x09\x00\x00\x8e\x09\xab\x04\x00\x00\x4f\x0a\x00\x00\x4f\x0a\x00\x00\x8e\x09\x00\x00\x6f\x03\x4f\x0a\xa1\x02\x00\x00\x00\x00\x06\x08\xc4\x07\xd1\x02\x00\x00\xd1\x02\x00\x00\x83\x03\xaa\x09\x4b\x0c\xbe\x05\x87\x03\xd1\x02\xe0\x03\x00\x00\xf4\x03\xa1\x02\x19\x05\x00\x00\xe3\x03\xf6\x03\x8a\x02\x8a\x02\x00\x00\x00\x00\x5c\x01\x00\x00\x5c\x01\xe1\x03\xd1\x02\x4f\x09\x24\x0a\x00\x00\x6a\x01\xbe\x05\x99\x01\xb2\x01\x00\x00\x31\x06\x43\x04\x41\x04\x36\x04\xaa\x09\x00\x00\x00\x00\xb4\x01\x00\x00\x1c\x08\x00\x00\x00\x00\x00\x00\x5c\x06\x00\x00\x00\x00\x00\x00\x50\x04\x00\x00\x00\x00\xc0\x09\x81\x09\xc0\x09\xab\x04\xe6\xff\x4b\x0c\x5c\x06\x52\x04\x84\x04\x4f\x0a\x79\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x02\x00\x00\xc0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x04\x80\x04\x96\x04\xb1\x04\x5c\x06\xb1\x04\x5c\x06\x00\x00\xaf\x04\xbf\x04\x6c\x02\xbb\x04\xb9\x04\x00\x00\xca\x04\xd6\x04\xd6\x04\xd6\x04\x00\x00\x00\x00\xd6\x04\x5c\x06\x00\x00\xc4\x04\x00\x00\xcd\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x09\x00\x00\x64\x0a\x25\x02\xd3\x04\xe6\xff\xe6\xff\xf4\x04\x5c\x06\x4f\x0a\x4f\x0a\x5c\x06\x00\x00\xf4\x04\xf4\x04\x00\x00\xde\x04\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x83\x01\xe9\x04\x00\x00\xc0\x09\x00\x00\xc0\x09\x0c\x05\x00\x00\x00\x00\x00\x00\xe6\xff\xf3\x04\xf6\x04\x05\x05\x8c\x03\x0d\x05\x00\x00\x0d\x05\x00\x00\x00\x00\x00\x00\x3c\x05\x00\x00\x48\x0a\x5c\x06\xb3\x09\x38\x05\xb1\x02\xb3\x02\x00\x00\x00\x00\x00\x00\x3d\x04\x38\x05\x55\x05\x5c\x06\xa1\x02\x00\x00\x00\x00\x46\x05\xc0\x09\xdc\x09\x25\x02\xdc\x09\x3b\x05\x00\x00\x00\x00\xf2\x09\x00\x00\x6e\x05\x5e\x05\x00\x00\x8c\x05\x72\x05\x00\x00\x00\x00\x00\x00\x77\x05\x00\x00\x00\x00\xe6\xff\xa6\x03\x00\x00\xa5\x05\x00\x00\xc4\x02\x00\x00\x00\x00\x00\x00\xa1\x02\x8b\x05\x00\x00\x00\x00\x00\x00"#

    happyGotoOffsets :: HappyAddr
    happyGotoOffsets :: HappyAddr
    happyGotoOffsets = Addr# -> HappyAddr
    HappyA# "\xc4\x05\x8a\x00\xbc\x05\x9b\x03\x0e\x00\xa9\x00\xa9\x05\xb7\x05\x08\x01\x9b\x0a\xab\xff\x91\x01\x00\x00\x28\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\x3c\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\x08\x00\x00\x00\x86\x06\xb1\x08\x00\x00\x00\x00\x6d\x03\x00\x00\x00\x00\x44\x03\x22\x04\x00\x00\x00\x00\x15\x09\x20\x02\xb9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x04\x00\x00\x00\x00\x00\x00\xaa\x05\x00\x00\x72\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc9\x01\x3b\x03\x4b\x03\x99\x02\x0e\x06\x75\x02\xa7\x04\x21\x00\x00\x00\x18\x07\x23\x07\x00\x00\x00\x00\x2e\x01\x00\x00\x00\x00\x48\x00\x1d\x01\x00\x00\xdb\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\xf4\x02\x29\x02\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x04\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x01\xc9\x05\x00\x00\x15\x05\x00\x00\x00\x00\x00\x00\x00\x00\xda\x03\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x03\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x03\x00\x00\xe0\xff\x4f\x01\x84\x05\x92\x04\xaa\x04\xc9\x04\xfc\xff\xb9\x03\x1e\x02\x00\x00\x33\x00\x00\x00\x00\x00\xa7\x00\x04\x00\xc6\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x05\x00\x00\xc1\x05\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x47\x09\x84\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x67\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x07\x60\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\xd8\xff\xe5\xff\x00\x00\x00\x00\x0d\x07\x79\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x03\x00\x00\x00\x00\xeb\x03\x00\x00\x08\x0a\x00\x00\x58\x0b\xf7\x02\x66\x0b\x00\x00\x00\x00\x00\x00\xe3\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x0b\x00\x00\x82\x0b\x00\x00\x32\x0b\xbe\x00\x00\x00\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x03\x8b\x06\x82\x03\xf0\x03\x00\x00\x09\x04\x27\x04\x00\x00\x5a\x02\x40\x04\x00\x00\x00\x00\x5e\x04\x00\x00\x3d\x07\xe2\x02\xb4\x05\x77\x04\x00\x00\x00\x00\x00\x00\xb5\x05\x95\x04\x12\x08\x00\x00\x00\x00\xbf\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x06\x52\x01\x00\x00\x55\x01\x00\x00\x00\x00\x00\x00\xcd\x03\x00\x00\x00\x00\xae\x04\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\x03\xcb\x01\x00\x00\x9f\x01\x00\x00\x90\x0b\xc2\x01\x00\x00\x88\x00\x00\x00\xf5\x01\x00\x00\x9e\x0b\x00\x00\x00\x00\xe6\x03\x12\x00\x00\x00\x00\x00\x36\x01\x38\x01\xe8\x00\x00\x00\x03\x01\x00\x00\x00\x00\xdd\x0a\x8c\x04\x4c\x05\x13\x05\xac\x00\xf3\x05\x00\x00\x00\x00\xed\x03\x0c\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x05\xc7\x00\xed\x01\x30\x00\x00\x00\x1c\x01\x6c\x05\x00\x00\x00\x00\x00\x00\x11\x04\x00\x00\x00\x00\x00\x00\xf4\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x01\x00\x00\x00\x00\x00\x00\xcc\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x0b\xc5\x01\xba\x0b\xe5\x01\xaf\x05\x1b\x05\xe5\x04\x00\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\xc8\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x05\x00\x00\x1c\x05\x00\x00\x00\x00\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\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x0b\x00\x00\x00\x00\x16\x00\x00\x00\xb0\x05\xbb\x05\x00\x00\x53\x05\xc6\x01\x97\x03\x71\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x0b\x00\x00\xf2\x0b\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x05\x00\x00\x00\x00\x00\x00\x24\x04\x64\x05\x00\x00\x82\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x8a\x05\xf7\x01\xeb\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x05\xf9\x05\x00\x00\xa8\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x0b\x0b\x2b\x00\x22\x0b\x00\x00\x00\x00\x00\x00\x0e\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x05\x00\x00\x00\x00\x00\x00\x00\x00"#

    happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#
    happyAdjustOffset :: Int# -> Int#
    happyAdjustOffset off :: Int#
    off = Int#
    off

    happyDefActions :: HappyAddr
    happyDefActions :: HappyAddr
    happyDefActions = Addr# -> HappyAddr
    HappyA# "\x00\x00\x00\x00\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\xfe\x8f\xff\x8d\xff\x8a\xff\xe7\xfe\xe2\xfe\xe0\xfe\x00\x00\xec\xfe\xe1\xfe\xe9\xfe\xe8\xfe\xea\xfe\xeb\xfe\x00\x00\x88\xff\x89\xff\x85\xff\x87\xff\x86\xff\x8c\xff\x8b\xff\x84\xff\x8e\xff\xe6\xfe\xe4\xfe\x00\x00\xe5\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x15\xff\x1c\xff\x06\xff\x04\xff\x01\xff\x00\x00\x00\xff\xfe\xfe\xfd\xfe\x00\x00\x00\x00\x00\x00\xf6\xfe\x90\xff\x00\x00\x91\xff\x81\xff\x7d\xff\x00\x00\x68\xff\x76\xff\x7e\xff\x67\xff\x6b\xff\x6a\xff\x66\xff\x64\xff\x63\xff\x62\xff\x61\xff\x60\xff\x5f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\xff\x00\x00\x00\x00\x2c\xff\xa2\xff\xab\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\xbb\xff\x00\x00\xcc\xff\x00\x00\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\xee\xff\xe9\xff\xed\xff\xd8\xff\xce\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\xd5\xff\x00\x00\xea\xfe\x00\x00\x00\x00\xcb\xff\x00\x00\xda\xff\x00\x00\x00\x00\xdb\xff\x00\x00\x1e\xff\x00\x00\x00\x00\x23\xff\x00\x00\x00\x00\x2e\xff\x2c\xff\x00\x00\x2b\xff\x00\x00\x29\xff\x00\x00\x00\x00\x26\xff\x00\x00\xe7\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\xff\x00\x00\xa0\xff\x00\x00\x00\x00\x00\x00\x98\xff\x96\xff\x00\x00\x92\xff\x67\xff\x6c\xff\x67\xff\x6d\xff\x00\x00\xdd\xfe\x56\xff\xdc\xfe\x00\x00\x00\x00\x00\x00\x50\xff\x4e\xff\x4d\xff\x54\xff\x00\x00\x3e\xff\x00\x00\x00\x00\x3d\xff\x00\x00\x45\xff\x4b\xff\x4a\xff\x5a\xff\x5e\xff\x00\x00\x00\x00\x00\x00\x5b\xff\x87\xff\x86\xff\x3a\xff\x39\xff\x00\x00\x58\xff\x00\x00\x00\x00\x73\xff\x00\x00\x2b\xff\x00\x00\x00\x00\x65\xff\x69\xff\x00\x00\x00\x00\x0d\xff\x00\x00\xee\xfe\x00\x00\x0f\xff\x18\xff\x00\x00\x00\x00\x00\x00\xfa\xfe\x00\x00\x00\x00\xf5\xfe\x02\xff\x00\xff\x00\x00\x03\xff\x00\x00\x00\x00\x00\x00\x14\xff\x16\xff\x1a\xff\x00\x00\x1b\xff\xe3\xfe\x00\x00\x00\x00\x00\x00\xde\xfe\x19\xff\x07\xff\x05\xff\x00\x00\x00\x00\xf4\xfe\xf3\xfe\x00\x00\xf8\xfe\xf9\xfe\x00\x00\xfb\xfe\x00\x00\xff\xfe\x00\x00\x00\x00\xf7\xfe\x00\x00\x17\xff\x78\xff\x77\xff\x7f\xff\x52\xff\x4b\xff\x4a\xff\x51\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\xff\x00\x00\x00\x00\x36\xff\x00\x00\x00\x00\x5c\xff\x5d\xff\x00\x00\x55\xff\x00\x00\x00\x00\x00\x00\x00\x00\x40\xff\x3f\xff\x59\xff\x00\x00\x00\x00\x00\x00\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\xe7\xfe\xd5\xfe\x00\x00\xda\xfe\x00\x00\x9f\xff\x00\x00\x00\x00\x93\xff\x00\x00\xb9\xff\xa3\xff\xa2\xff\x00\x00\x99\xff\x9c\xff\x00\x00\x9a\xff\x00\x00\x97\xff\x2d\xff\xb8\xff\x00\x00\x83\xff\xac\xff\xae\xff\xad\xff\x00\x00\x00\x00\x00\x00\x09\xff\x00\x00\x0b\xff\x00\x00\x00\x00\x24\xff\x00\x00\x25\xff\x00\x00\x27\xff\x00\x00\x28\xff\xa1\xff\x00\x00\x00\x00\x22\xff\x80\xff\x00\x00\x00\x00\x00\x00\xdc\xff\x00\x00\xd9\xff\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\x00\x00\xe6\xff\xd0\xff\x00\x00\x00\x00\x00\x00\xd4\xff\xea\xfe\x00\x00\x00\x00\x00\x00\xf1\xff\xeb\xff\xf0\xff\xea\xff\xef\xff\xba\xff\x00\x00\x00\x00\x00\x00\xd3\xff\xdf\xff\x00\x00\x00\x00\x00\x00\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\xff\xd6\xff\x00\x00\x7a\xff\x00\x00\x7c\xff\x1d\xff\x1f\xff\x00\x00\x2f\xff\x21\xff\x20\xff\x00\x00\xb4\xff\x08\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\xff\xb6\xff\x00\x00\x00\x00\x95\xff\x94\xff\x74\xff\xdb\xfe\x00\x00\xd9\xfe\x00\x00\xd7\xfe\xd8\xfe\x4f\xff\x4c\xff\x00\x00\x3e\xff\x47\xff\x44\xff\x00\x00\x43\xff\x00\x00\x3c\xff\x46\xff\x49\xff\x49\xff\x3b\xff\x34\xff\x32\xff\x00\x00\x38\xff\x48\xff\x71\xff\x72\xff\x75\xff\xaa\xff\x00\x00\x0c\xff\x0f\xff\xed\xfe\x0e\xff\xef\xfe\x11\xff\x12\xff\x13\xff\xf1\xfe\xf0\xfe\x00\x00\xfc\xfe\xf2\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xa9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x35\xff\x42\xff\x41\xff\xd6\xfe\x00\x00\xd4\xfe\xa1\xff\x9b\xff\xb5\xff\x82\xff\x00\x00\x00\x00\xb1\xff\x00\x00\xb3\xff\x00\x00\xb7\xff\x7b\xff\x79\xff\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\xc4\xff\xba\xff\xc9\xff\xe7\xff\xe8\xff\x00\x00\xe0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xff\xc8\xff\xa8\xff\x00\x00\x00\x00\xd1\xff\x00\x00\xe1\xff\xc0\xff\xc1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\xff\xb2\xff\xb0\xff\x00\x00\x0a\xff\x37\xff\x33\xff\x31\xff\x30\xff\x10\xff\xf3\xff\xaf\xff\xc6\xff\x00\x00\xbf\xff\xbd\xff\x00\x00\x00\x00\xe2\xff\xd2\xff\xa7\xff\x00\x00\xa6\xff\xa5\xff\xe5\xff\x00\x00\xbe\xff\xf2\xff\xe3\xff"#

    happyCheck :: HappyAddr
    happyCheck :: HappyAddr
    happyCheck = Addr# -> HappyAddr
    HappyA# "\xff\xff\x1b\x00\x01\x00\x02\x00\x03\x00\x13\x00\x2d\x00\x1d\x00\x5d\x00\x06\x00\x5f\x00\x60\x00\x0b\x00\x0c\x00\x24\x00\x0e\x00\x0f\x00\x10\x00\x3a\x00\x3a\x00\x13\x00\x14\x00\x15\x00\x01\x00\x02\x00\x03\x00\x19\x00\x1a\x00\x36\x00\x01\x00\x1a\x00\x3a\x00\x3a\x00\x0b\x00\x0c\x00\x15\x00\x0e\x00\x0f\x00\x10\x00\x19\x00\x1a\x00\x13\x00\x14\x00\x15\x00\x01\x00\x02\x00\x03\x00\x19\x00\x1a\x00\x3f\x00\x52\x00\x53\x00\x18\x00\x5d\x00\x0b\x00\x0c\x00\x13\x00\x0e\x00\x0f\x00\x10\x00\x1b\x00\x5d\x00\x13\x00\x14\x00\x15\x00\x03\x00\x5d\x00\x47\x00\x19\x00\x1a\x00\x2a\x00\x46\x00\x47\x00\x0b\x00\x0c\x00\x1b\x00\x0e\x00\x0f\x00\x10\x00\x1c\x00\x2b\x00\x13\x00\x14\x00\x15\x00\x46\x00\x47\x00\x12\x00\x19\x00\x1a\x00\x5d\x00\x5e\x00\x49\x00\x46\x00\x47\x00\x5d\x00\x5e\x00\x5d\x00\x5d\x00\x5e\x00\x1b\x00\x17\x00\x5d\x00\x1e\x00\x5f\x00\x47\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x61\x00\x21\x00\x5d\x00\x03\x00\x46\x00\x47\x00\x5d\x00\x5e\x00\x47\x00\x32\x00\x47\x00\x0b\x00\x0c\x00\x47\x00\x0e\x00\x0f\x00\x10\x00\x5d\x00\x5e\x00\x13\x00\x14\x00\x15\x00\x01\x00\x46\x00\x47\x00\x19\x00\x1a\x00\x5d\x00\x5e\x00\x47\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x47\x00\x5d\x00\x5e\x00\x08\x00\x2b\x00\x0a\x00\x49\x00\x4a\x00\x0d\x00\x32\x00\x0f\x00\x18\x00\x5d\x00\x5e\x00\x13\x00\x14\x00\x15\x00\x5d\x00\x5e\x00\x3a\x00\x19\x00\x1a\x00\x5d\x00\x5e\x00\x0b\x00\x0c\x00\x5d\x00\x0e\x00\x0f\x00\x10\x00\x14\x00\x25\x00\x13\x00\x14\x00\x15\x00\x1d\x00\x46\x00\x47\x00\x19\x00\x1a\x00\x0b\x00\x0c\x00\x24\x00\x0e\x00\x0f\x00\x10\x00\x34\x00\x15\x00\x13\x00\x14\x00\x15\x00\x19\x00\x1a\x00\x1d\x00\x19\x00\x1a\x00\x47\x00\x1f\x00\x1b\x00\x5d\x00\x5e\x00\x1e\x00\x45\x00\x46\x00\x47\x00\x46\x00\x47\x00\x0b\x00\x0c\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x5d\x00\x13\x00\x13\x00\x14\x00\x15\x00\x5d\x00\x5e\x00\x64\x00\x19\x00\x1a\x00\x46\x00\x47\x00\x24\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x23\x00\x24\x00\x32\x00\x3e\x00\x2d\x00\x47\x00\x46\x00\x47\x00\x25\x00\x46\x00\x47\x00\x0c\x00\x47\x00\x0e\x00\x0f\x00\x10\x00\x5d\x00\x5e\x00\x13\x00\x14\x00\x15\x00\x47\x00\x33\x00\x34\x00\x19\x00\x1a\x00\x21\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x26\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x46\x00\x47\x00\x0c\x00\x25\x00\x0e\x00\x0f\x00\x10\x00\x5d\x00\x5e\x00\x13\x00\x14\x00\x15\x00\x5b\x00\x2b\x00\x5d\x00\x19\x00\x1a\x00\x16\x00\x34\x00\x0d\x00\x05\x00\x0f\x00\x07\x00\x5d\x00\x5e\x00\x13\x00\x14\x00\x15\x00\x3a\x00\x22\x00\x12\x00\x19\x00\x1a\x00\x46\x00\x47\x00\x28\x00\x29\x00\x15\x00\x2b\x00\x2c\x00\x2d\x00\x19\x00\x1a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x2f\x00\x1b\x00\x13\x00\x15\x00\x1e\x00\x5d\x00\x5e\x00\x19\x00\x1a\x00\x46\x00\x47\x00\x15\x00\x3f\x00\x15\x00\x20\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\x52\x00\x3f\x00\x1f\x00\x26\x00\x15\x00\x20\x00\x46\x00\x47\x00\x19\x00\x1a\x00\x2a\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x26\x00\x46\x00\x47\x00\x5d\x00\x5e\x00\x15\x00\x35\x00\x61\x00\x15\x00\x19\x00\x1a\x00\x47\x00\x19\x00\x1a\x00\x5d\x00\x5e\x00\x15\x00\x09\x00\x46\x00\x47\x00\x19\x00\x1a\x00\x3f\x00\x50\x00\x5d\x00\x5e\x00\x46\x00\x47\x00\x46\x00\x47\x00\x25\x00\x25\x00\x1b\x00\x5d\x00\x5e\x00\x1e\x00\x5d\x00\x06\x00\x46\x00\x47\x00\x24\x00\x5d\x00\x5e\x00\x0c\x00\x28\x00\x25\x00\x34\x00\x01\x00\x11\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x27\x00\x46\x00\x47\x00\x19\x00\x46\x00\x47\x00\x33\x00\x34\x00\x5d\x00\x5e\x00\x52\x00\x32\x00\x46\x00\x47\x00\x3e\x00\x23\x00\x35\x00\x36\x00\x37\x00\x23\x00\x24\x00\x5d\x00\x5e\x00\x47\x00\x5d\x00\x5e\x00\x2e\x00\x5d\x00\x5e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x01\x00\x00\x00\x5d\x00\x5e\x00\x25\x00\x04\x00\x25\x00\x06\x00\x01\x00\x08\x00\x09\x00\x0a\x00\x5d\x00\x5e\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x33\x00\x34\x00\x33\x00\x34\x00\x3f\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x61\x00\x00\x00\x1c\x00\x25\x00\x25\x00\x04\x00\x25\x00\x06\x00\x22\x00\x08\x00\x09\x00\x0a\x00\x02\x00\x27\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x33\x00\x34\x00\x33\x00\x34\x00\x19\x00\x31\x00\x3f\x00\x18\x00\x19\x00\x5d\x00\x5e\x00\x1c\x00\x52\x00\x61\x00\x62\x00\x23\x00\x24\x00\x22\x00\x3e\x00\x3f\x00\x00\x00\x04\x00\x27\x00\x5d\x00\x04\x00\x08\x00\x09\x00\x0a\x00\x08\x00\x09\x00\x0a\x00\x32\x00\x31\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x44\x00\x45\x00\x46\x00\x47\x00\x18\x00\x46\x00\x47\x00\x18\x00\x3e\x00\x3f\x00\x52\x00\x1c\x00\x24\x00\x52\x00\x22\x00\x13\x00\x28\x00\x22\x00\x16\x00\x52\x00\x53\x00\x5d\x00\x27\x00\x2b\x00\x5d\x00\x5d\x00\x5e\x00\x00\x00\x5d\x00\x5e\x00\x5d\x00\x04\x00\x31\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\x52\x00\x3f\x00\x32\x00\x45\x00\x46\x00\x47\x00\x18\x00\x19\x00\x52\x00\x53\x00\x1c\x00\x5d\x00\x23\x00\x24\x00\x25\x00\x26\x00\x22\x00\x33\x00\x52\x00\x5d\x00\x21\x00\x27\x00\x24\x00\x25\x00\x26\x00\x26\x00\x00\x00\x5d\x00\x5e\x00\x5d\x00\x04\x00\x31\x00\x06\x00\x33\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x3e\x00\x46\x00\x47\x00\x21\x00\x25\x00\x24\x00\x18\x00\x19\x00\x26\x00\x28\x00\x1c\x00\x45\x00\x46\x00\x47\x00\x48\x00\x2b\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\x5a\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x13\x00\x2b\x00\x61\x00\x31\x00\x2e\x00\x33\x00\x24\x00\x5d\x00\x5e\x00\x23\x00\x28\x00\x00\x00\x1f\x00\x20\x00\x25\x00\x04\x00\x3e\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\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x18\x00\x19\x00\x24\x00\x04\x00\x1c\x00\x2b\x00\x28\x00\x08\x00\x09\x00\x0a\x00\x22\x00\x38\x00\x39\x00\x04\x00\x37\x00\x27\x00\x24\x00\x08\x00\x09\x00\x0a\x00\x28\x00\x5d\x00\x5e\x00\x18\x00\x28\x00\x31\x00\x23\x00\x24\x00\x25\x00\x26\x00\x21\x00\x28\x00\x29\x00\x18\x00\x2b\x00\x2c\x00\x2d\x00\x24\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x23\x00\x28\x00\x3b\x00\x04\x00\x25\x00\x06\x00\x25\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x13\x00\x33\x00\x34\x00\x33\x00\x34\x00\x24\x00\x18\x00\x19\x00\x21\x00\x28\x00\x1c\x00\x2d\x00\x1f\x00\x20\x00\x21\x00\x24\x00\x22\x00\x24\x00\x1d\x00\x5d\x00\x5e\x00\x27\x00\x23\x00\x61\x00\x1d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x2f\x00\x31\x00\x08\x00\x09\x00\x0a\x00\x23\x00\x04\x00\x13\x00\x50\x00\x51\x00\x08\x00\x09\x00\x0a\x00\x32\x00\x3e\x00\x15\x00\x23\x00\x24\x00\x18\x00\x5b\x00\x5c\x00\x5d\x00\x1c\x00\x36\x00\x37\x00\x2f\x00\x18\x00\x3a\x00\x22\x00\x23\x00\x3d\x00\x2d\x00\x3f\x00\x27\x00\x1d\x00\x29\x00\x22\x00\x01\x00\x2c\x00\x03\x00\x04\x00\x05\x00\x30\x00\x31\x00\x08\x00\x09\x00\x0a\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x45\x00\x46\x00\x47\x00\x48\x00\x18\x00\x1d\x00\x5d\x00\x5e\x00\x1c\x00\x01\x00\x61\x00\x2b\x00\x04\x00\x01\x00\x22\x00\x23\x00\x08\x00\x09\x00\x0a\x00\x27\x00\x56\x00\x57\x00\x2b\x00\x59\x00\x5d\x00\x5e\x00\x23\x00\x5d\x00\x5e\x00\x31\x00\x3b\x00\x61\x00\x18\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x28\x00\x29\x00\x3a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x28\x00\x29\x00\x13\x00\x2b\x00\x2c\x00\x2d\x00\x23\x00\x24\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x23\x00\x24\x00\x5d\x00\x3b\x00\x5f\x00\x60\x00\x04\x00\x05\x00\x24\x00\x41\x00\x08\x00\x09\x00\x0a\x00\x04\x00\x24\x00\x25\x00\x26\x00\x08\x00\x09\x00\x0a\x00\x2b\x00\x5d\x00\x5e\x00\x2b\x00\x57\x00\x61\x00\x18\x00\x24\x00\x25\x00\x26\x00\x5d\x00\x5e\x00\x2d\x00\x18\x00\x61\x00\x1a\x00\x22\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x2d\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x28\x00\x29\x00\x3e\x00\x2b\x00\x2c\x00\x2d\x00\x23\x00\x24\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x5b\x00\x5c\x00\x5d\x00\x08\x00\x09\x00\x0a\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x08\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x24\x00\x25\x00\x26\x00\x5d\x00\x5e\x00\x02\x00\x28\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x25\x00\x26\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x24\x00\x25\x00\x26\x00\x08\x00\x09\x00\x0a\x00\x45\x00\x46\x00\x47\x00\x48\x00\x32\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x32\x00\x5d\x00\x5e\x00\x45\x00\x46\x00\x47\x00\x28\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x5d\x00\x5e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x57\x00\x5d\x00\x5e\x00\x08\x00\x09\x00\x0a\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x61\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x13\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x23\x00\x24\x00\x25\x00\x26\x00\x2d\x00\x23\x00\x28\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x5d\x00\x5e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x57\x00\x58\x00\x2b\x00\x08\x00\x09\x00\x0a\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\x61\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x3b\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x22\x00\x13\x00\x23\x00\x24\x00\x25\x00\x26\x00\x23\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x26\x00\x26\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x24\x00\x25\x00\x26\x00\x08\x00\x09\x00\x0a\x00\x24\x00\x25\x00\x26\x00\x27\x00\x24\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x13\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x22\x00\x24\x00\x25\x00\x26\x00\x27\x00\x13\x00\x24\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x21\x00\x24\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x05\x00\x1e\x00\x13\x00\x08\x00\x09\x00\x0a\x00\x24\x00\x25\x00\x26\x00\x27\x00\x2d\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x2e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x5d\x00\x5e\x00\x33\x00\x13\x00\x61\x00\x2b\x00\x63\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x13\x00\x2b\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x05\x00\x13\x00\x2d\x00\x08\x00\x09\x00\x0a\x00\x11\x00\x12\x00\x13\x00\x14\x00\x32\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x2d\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x11\x00\x12\x00\x13\x00\x14\x00\x24\x00\x25\x00\x26\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x2b\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x5d\x00\x3c\x00\x5f\x00\x60\x00\x22\x00\x27\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x13\x00\x2e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x5d\x00\x2d\x00\x5f\x00\x60\x00\x12\x00\x13\x00\x14\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x13\x00\x24\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x12\x00\x13\x00\x14\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x13\x00\x2e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x5d\x00\x33\x00\x5f\x00\x60\x00\x5b\x00\x5c\x00\x5d\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x13\x00\x2e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x05\x00\x00\x00\x09\x00\x08\x00\x09\x00\x0a\x00\x5d\x00\x21\x00\x5f\x00\x60\x00\x16\x00\x5d\x00\x5e\x00\x28\x00\x29\x00\x61\x00\x2b\x00\x2c\x00\x2d\x00\x18\x00\x2d\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x17\x00\x5d\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x5d\x00\x5e\x00\x3c\x00\x2c\x00\x61\x00\x2a\x00\x01\x00\x2d\x00\x03\x00\x04\x00\x05\x00\x3e\x00\x3e\x00\x08\x00\x09\x00\x0a\x00\x04\x00\x39\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x4f\x00\x4f\x00\x08\x00\x09\x00\x0a\x00\x18\x00\x18\x00\x5d\x00\x5e\x00\x1b\x00\x1c\x00\x61\x00\x4f\x00\x5d\x00\x14\x00\x15\x00\x22\x00\x4f\x00\x18\x00\x18\x00\x4f\x00\x27\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\x31\x00\xff\xff\x27\x00\xff\xff\x29\x00\x36\x00\xff\xff\x2c\x00\xff\xff\x3a\x00\xff\xff\x30\x00\x31\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x38\x00\x39\x00\x08\x00\x09\x00\x0a\x00\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\xff\xff\x15\x00\xff\xff\x10\x00\x18\x00\x35\x00\x36\x00\x37\x00\x1c\x00\x1d\x00\x3a\x00\x18\x00\x3c\x00\x3d\x00\x22\x00\x3f\x00\x40\x00\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x38\x00\x39\x00\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\xff\xff\x15\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\x04\x00\xff\xff\xff\xff\x22\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x38\x00\x39\x00\xff\xff\x04\x00\xff\xff\x22\x00\x23\x00\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x18\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x29\x00\x22\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x29\x00\xff\xff\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x4d\x00\x4e\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\x18\x00\x61\x00\x5d\x00\x5e\x00\x1c\x00\xff\xff\x61\x00\x04\x00\xff\xff\xff\xff\x22\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x27\x00\xff\xff\x5d\x00\x5e\x00\x2b\x00\xff\xff\x61\x00\x2e\x00\xff\xff\x04\x00\x31\x00\xff\xff\x18\x00\x08\x00\x09\x00\x0a\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x3b\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\x04\x00\x27\x00\xff\xff\x18\x00\x08\x00\x09\x00\x0a\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x18\x00\x3b\x00\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\x04\x00\xff\xff\x3b\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x2d\x00\xff\xff\x31\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x2d\x00\x3b\x00\x18\x00\xff\xff\x1a\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x2d\x00\x22\x00\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\x37\x00\x5d\x00\x5e\x00\x3a\x00\xff\xff\x61\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x2d\x00\xff\xff\x61\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xff\xff\x5d\x00\x5e\x00\x04\x00\xff\xff\x61\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\xff\xff\xff\xff\x5d\x00\x5e\x00\x27\x00\xff\xff\x61\x00\xff\xff\xff\xff\x00\x00\xff\xff\x18\x00\xff\xff\x04\x00\x31\x00\x1c\x00\x33\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x27\x00\x28\x00\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\x18\x00\x59\x00\x5a\x00\x31\x00\x1c\x00\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x22\x00\xff\xff\x64\x00\x65\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x04\x00\x31\x00\x06\x00\x33\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x18\x00\x19\x00\x04\x00\xff\xff\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x18\x00\xff\xff\x04\x00\x31\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\x18\x00\xff\xff\x04\x00\x31\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\x36\x00\x37\x00\x18\x00\xff\xff\x3a\x00\x31\x00\x1c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\x31\x00\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x15\x00\xff\xff\x61\x00\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x18\x00\xff\xff\xff\xff\x31\x00\x1c\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\x4e\x00\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\xff\xff\xff\xff\x22\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x31\x00\x1c\x00\x01\x00\x2b\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\x4e\x00\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\xff\xff\xff\xff\x22\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x31\x00\x1c\x00\x01\x00\x2b\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\xff\xff\xff\xff\x22\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x31\x00\x1c\x00\x01\x00\x2b\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\xff\xff\xff\xff\x22\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x31\x00\x1c\x00\x01\x00\x2b\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\x54\x00\x55\x00\x56\x00\x57\x00\x27\x00\x59\x00\xff\xff\xff\xff\x22\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x31\x00\x1c\x00\x01\x00\x2b\x00\x03\x00\x04\x00\x05\x00\x22\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x27\x00\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\x31\x00\xff\xff\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x1c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x18\x00\x22\x00\xff\xff\xff\xff\x1c\x00\x1d\x00\x27\x00\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\x18\x00\xff\xff\x27\x00\x31\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\x31\x00\x04\x00\xff\xff\x27\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x04\x00\xff\xff\xff\xff\x31\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x04\x00\xff\xff\xff\xff\x18\x00\x08\x00\x09\x00\x0a\x00\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x22\x00\x23\x00\xff\xff\x1c\x00\xff\xff\x27\x00\xff\xff\x18\x00\xff\xff\x22\x00\xff\xff\x1c\x00\xff\xff\xff\xff\x27\x00\x31\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x27\x00\x04\x00\x31\x00\xff\xff\x2b\x00\x08\x00\x09\x00\x0a\x00\x04\x00\xff\xff\x31\x00\xff\xff\x08\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\x18\x00\x59\x00\xff\xff\xff\xff\x1c\x00\x5d\x00\x5e\x00\x18\x00\xff\xff\x61\x00\x22\x00\x1c\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x22\x00\xff\xff\x2b\x00\xff\xff\xff\xff\x27\x00\x13\x00\xff\xff\x31\x00\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x15\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x2e\x00\x2f\x00\xff\xff\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x15\x00\x2d\x00\x3f\x00\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x15\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\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\x18\x00\x59\x00\xff\xff\x25\x00\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x22\x00\x2d\x00\x2e\x00\x2f\x00\xff\xff\x27\x00\xff\xff\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\xff\xff\x3f\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x4f\x00\xff\xff\x61\x00\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\x2d\x00\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x54\x00\x55\x00\x56\x00\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\x61\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\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"#

    happyTable :: HappyAddr
    happyTable :: HappyAddr
    happyTable = Addr# -> HappyAddr
    HappyA# "\x00\x00\xd6\x01\x7c\x00\x7d\x00\x7e\x00\x92\x00\x65\x01\x62\x01\x26\x00\x2d\x02\x27\x00\x28\x00\x7f\x00\x80\x00\x63\x01\x81\x00\x82\x00\x83\x00\x1d\x01\xac\x00\x84\x00\x85\x00\x86\x00\xde\x01\x7d\x00\x7e\x00\x5d\x00\x5e\x00\xd7\x01\xc4\x00\x47\x01\x1a\x01\xd8\x01\x7f\x00\x80\x00\x6c\x00\x81\x00\x82\x00\x83\x00\x5d\x00\x5e\x00\x84\x00\x85\x00\x86\x00\x29\x02\x7d\x00\x7e\x00\x5d\x00\x5e\x00\xff\xff\x5a\x01\x5b\x01\xc5\x00\x1b\x01\x7f\x00\x80\x00\x03\x01\x81\x00\x82\x00\x83\x00\xbb\x00\x5c\x01\x84\x00\x85\x00\x86\x00\x84\x01\x1b\x01\x52\x01\x5d\x00\x5e\x00\xc6\x00\x60\x00\x61\x00\x85\x01\x80\x00\x07\x02\x81\x00\x82\x00\x83\x00\x4d\x01\x75\x01\x84\x00\x85\x00\x86\x00\x60\x00\x61\x00\x7b\x00\x5d\x00\x5e\x00\x12\x00\x9b\x00\x9b\x01\x60\x00\x61\x00\x12\x00\x62\x00\x2e\x02\x12\x00\x48\x01\xad\x00\x21\x01\x26\x00\xae\x00\xff\x00\xaf\x00\x12\x00\x13\x00\x12\x00\x62\x00\x88\x01\x22\x01\x94\x00\x82\x01\x60\x00\x61\x00\x12\x00\x62\x00\x41\x01\x7c\x00\xaf\x00\x83\x01\x80\x00\x41\x01\x81\x00\x82\x00\x83\x00\x12\x00\x9b\x00\x84\x00\x85\x00\x86\x00\xc4\x00\x60\x00\x61\x00\x5d\x00\x5e\x00\x12\x00\x62\x00\xed\x01\x12\x00\x9b\x00\x12\x00\x9b\x00\xaf\x00\x12\x00\x9b\x00\x70\x00\xab\x00\x71\x00\x92\x00\x93\x00\x72\x00\x70\x00\x73\x00\xc5\x00\x12\x00\x62\x00\x74\x00\x75\x00\x76\x00\x12\x00\x9b\x00\xac\x00\x5d\x00\x5e\x00\x12\x00\x9b\x00\x8f\x00\x80\x00\x94\x00\x81\x00\x82\x00\x83\x00\x4f\x00\x80\x01\x84\x00\x85\x00\x86\x00\x60\x01\x60\x00\x61\x00\x5d\x00\x5e\x00\x8d\x01\x80\x00\x61\x01\x81\x00\x82\x00\x83\x00\x81\x01\x5c\x00\x84\x00\x85\x00\x86\x00\x5d\x00\x5e\x00\x4a\x01\x5d\x00\x5e\x00\x41\x01\x5f\x00\xad\x00\x12\x00\x62\x00\x34\x01\xa0\x01\x98\x00\x99\x00\x60\x00\x61\x00\x0b\x02\x80\x00\xab\x01\x81\x00\x82\x00\x83\x00\xea\x01\x92\x00\x84\x00\x85\x00\x86\x00\x12\x00\x9b\x00\xeb\x01\x5d\x00\x5e\x00\x60\x00\x61\x00\xb2\x00\x12\x00\x9b\x00\x12\x00\x62\x00\x2b\x01\x2c\x01\x5c\x00\x35\x01\xb3\x00\x4b\x01\x60\x00\x61\x00\x6e\x01\x60\x00\x61\x00\x96\x01\xaf\x00\x81\x00\x82\x00\x83\x00\x12\x00\x62\x00\x84\x00\x85\x00\x86\x00\x4b\x01\x6f\x01\x70\x01\x5d\x00\x5e\x00\x63\xff\x12\x00\x9b\x00\x12\x00\x62\x00\xe1\x00\x12\x00\x62\x00\x12\x00\x9b\x00\x60\x00\x61\x00\x95\x01\x6e\x01\x81\x00\x82\x00\x83\x00\x12\x00\x9b\x00\x84\x00\x85\x00\x86\x00\xd2\x01\x20\x01\x0b\x01\x5d\x00\x5e\x00\x3b\x00\x70\x01\x8e\x00\x04\x02\x73\x00\x05\x02\x12\x00\x62\x00\x74\x00\x75\x00\x76\x00\xac\x00\x3c\x00\x0e\x00\x5d\x00\x5e\x00\x60\x00\x61\x00\x3d\x00\x3e\x00\xac\x00\x3f\x00\x40\x00\x41\x00\x5d\x00\x5e\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xfb\x00\xad\x00\x92\x00\xb4\x00\x1e\x01\x12\x00\x62\x00\x5d\x00\x5e\x00\x60\x00\x61\x00\x5c\x00\xff\xff\xb4\x00\xb5\x00\x5d\x00\x5e\x00\x5d\x00\x5e\x00\xa1\x00\xff\xff\x99\x01\xe2\x00\x7c\x01\x97\x01\x60\x00\x61\x00\x5d\x00\x5e\x00\x39\x01\xa2\x00\xa3\x00\x12\x00\x62\x00\xe1\x00\x60\x00\x61\x00\x12\x00\x13\x00\xb0\x01\x3a\x01\x4a\x00\xaf\x01\x5d\x00\x5e\x00\xaf\x00\x5d\x00\x5e\x00\x12\x00\x62\x00\xac\x00\x07\x02\x60\x00\x61\x00\x5d\x00\x5e\x00\xff\xff\xd0\x01\x12\x00\x62\x00\x60\x00\x61\x00\x60\x00\x61\x00\xb4\x00\x6e\x01\xad\x00\x12\x00\x9b\x00\x2f\x01\xd1\x01\x7a\x01\x60\x00\x61\x00\x69\x01\x12\x00\x62\x00\x7b\x01\x6a\x01\xe4\xff\x70\x01\xa9\x00\x7c\x01\x12\x00\x62\x00\x12\x00\x62\x00\x6c\x01\x60\x00\x61\x00\x8d\x00\x60\x00\x61\x00\xe4\xff\xe4\xff\x12\x00\x62\x00\x58\x01\x6d\x01\x60\x00\x61\x00\x30\x01\x21\x02\xe2\x00\x48\x00\x49\x00\x66\x01\x63\x01\xa2\x00\x59\x01\xaf\x00\x12\x00\x62\x00\xe0\x01\x12\x00\x62\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xa8\x00\x64\x00\x12\x00\x62\x00\x44\x01\x17\x00\x6e\x01\x78\x00\xa7\x00\x19\x00\x1a\x00\x1b\x00\x12\x00\x9b\x00\x65\x00\x66\x00\x67\x00\x68\x00\x45\x01\x46\x01\x03\x02\x70\x01\xff\xff\x12\x00\x13\x00\x1c\x00\xba\xff\x4a\x00\x64\x00\x69\x00\x8e\x00\x00\x02\x17\x00\x44\x01\x78\x00\x6a\x00\x19\x00\x1a\x00\x1b\x00\x8c\x00\x6b\x00\x65\x00\x66\x00\x67\x00\x68\x00\x01\x02\x02\x02\xf9\x01\x46\x01\x8d\x00\x6c\x00\xff\xff\x1c\x00\xba\xff\x12\x00\x13\x00\x69\x00\xa3\x01\x14\x00\x15\x00\x64\x01\x61\x01\x6a\x00\x79\x00\xdd\xff\x64\x00\x17\x00\x6b\x00\x5c\x01\x17\x00\x19\x00\x1a\x00\x1b\x00\x19\x00\x1a\x00\x1b\x00\x77\x01\x6c\x00\x65\x00\x66\x00\x67\x00\x68\x00\x23\x02\xc8\x01\x98\x00\x99\x00\x1c\x00\xde\x00\x99\x00\x1c\x00\x79\x00\xde\xff\xa1\x01\x69\x00\x16\x01\xa3\x01\xa6\x00\x92\x00\x17\x01\x6a\x00\x23\x01\x5a\x01\xa5\x01\x5c\x01\x6b\x00\x5e\x01\x5c\x01\x12\x00\x9b\x00\x64\x00\x12\x00\xdf\x00\x5c\x01\x17\x00\x6c\x00\xba\xff\x88\x00\x19\x00\x1a\x00\x89\x00\x8a\x00\xba\xff\x65\x00\x66\x00\x67\x00\x68\x00\xba\xff\xf1\x01\xff\xff\x76\x01\x9f\x01\x98\x00\x99\x00\x1c\x00\xba\xff\x5a\x01\x09\x02\x69\x00\x5c\x01\xec\x00\x0f\x00\x10\x00\x11\x00\x6a\x00\x82\x01\xa3\x01\x5c\x01\xe7\xfe\x6b\x00\x96\x00\x10\x00\x11\x00\xe7\xfe\x64\x00\x12\x00\x9b\x00\x5c\x01\x17\x00\x6c\x00\xba\xff\xec\xff\x19\x00\x1a\x00\x89\x00\x8a\x00\xba\xff\x65\x00\x66\x00\x67\x00\x68\x00\xba\xff\x79\x00\x50\x01\x99\x00\x61\xff\x71\x01\x14\x01\x1c\x00\xba\xff\x61\xff\x15\x01\x69\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x68\x01\x6a\x00\xed\x00\x30\x00\x31\x00\x32\x00\x6b\x00\x33\x00\xee\x00\x12\x00\x9b\x00\x12\x00\x13\x00\x92\x00\x32\x01\x34\x00\x6c\x00\x33\x01\x91\x00\x11\x01\x12\x00\x9b\x00\x67\x01\xb8\x01\x64\x00\xe6\x01\xe7\x01\x50\x01\x17\x00\x79\x00\xba\xff\x88\x00\x19\x00\x1a\x00\x89\x00\x8a\x00\xba\xff\x65\x00\x66\x00\x67\x00\x68\x00\xba\xff\xc5\x01\xc6\x01\xc7\x01\xc8\x01\x98\x00\x99\x00\x1c\x00\xba\xff\x0f\x01\x17\x00\x69\x00\x4d\x01\xb7\x01\x19\x00\x1a\x00\x1b\x00\x6a\x00\xc1\x00\xc2\x00\x17\x00\x38\x01\x6b\x00\xb4\x01\x19\x00\x1a\x00\x1b\x00\xb5\x01\x12\x00\x9b\x00\x1c\x00\x34\x01\x6c\x00\xd1\x00\x0f\x00\x10\x00\x11\x00\x37\x01\xd2\x00\x3e\x00\x1c\x00\x3f\x00\x40\x00\x41\x00\x2f\x01\x79\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x64\x00\x2d\x01\xec\x00\xd3\x00\x17\x00\x6e\x01\xba\xff\x00\x02\x19\x00\x1a\x00\x89\x00\x8a\x00\xba\xff\x65\x00\x66\x00\x67\x00\x68\x00\xba\xff\x92\x00\x0f\x02\x70\x01\x0e\x02\x02\x02\x14\x01\x1c\x00\xba\xff\x2e\x01\x34\x02\x69\x00\x13\x01\x26\x01\x27\x01\x28\x01\x25\x01\x6a\x00\x29\x01\x24\x01\x12\x00\x13\x00\x6b\x00\x12\x01\x4a\x00\x0b\x01\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\xfb\x00\x6c\x00\x19\x00\x1a\x00\x1b\x00\x04\x01\x17\x00\x03\x01\xe6\x00\xe7\x00\x19\x00\x1a\x00\x1b\x00\xde\x01\x79\x00\x50\x00\x2a\x01\x25\x01\x1c\x00\xe8\x00\xe9\x00\xea\x00\x51\x00\xba\x01\xbb\x01\xfb\x00\x1c\x00\xc8\x00\x52\x00\xd5\x00\xc1\x01\xdb\x01\xcb\x00\x53\x00\xdd\x01\x54\x00\xa6\x00\x36\x00\x55\x00\x37\x00\x17\x00\x18\x00\x56\x00\x57\x00\x19\x00\x1a\x00\x1b\x00\x1e\x00\x1f\x00\x20\x00\xd6\x00\xd7\x00\x23\x00\x24\x00\x25\x00\x26\x00\x9e\x00\x98\x00\x99\x00\x9f\x00\x1c\x00\xdc\x01\xcd\x00\x13\x00\x38\x00\x1d\x01\x4a\x00\xd0\x01\x17\x00\xba\x01\x39\x00\xf0\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x06\x01\x32\x00\xb6\x01\x33\x00\x12\x00\x9b\x00\xb3\x01\x12\x00\x13\x00\x3b\x00\xae\x01\x34\x00\x1c\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xdb\x00\x3e\x00\xac\x00\x3f\x00\x40\x00\x41\x00\xdc\x00\xdd\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xd7\x00\x3e\x00\x92\x00\x3f\x00\x40\x00\x41\x00\x10\x01\x11\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x0e\x01\x0f\x01\x26\x00\xd8\x00\x27\x00\x01\x01\x17\x00\x18\x00\xaa\x01\xd9\x00\x19\x00\x1a\x00\x1b\x00\x17\x00\xf8\x00\x10\x00\x11\x00\x19\x00\x1a\x00\x1b\x00\xab\x01\x12\x00\x13\x00\x9e\x01\xf6\x00\x4a\x00\x1c\x00\x5e\x01\x10\x00\x11\x00\x12\x00\x13\x00\xa9\x01\x1c\x00\xf4\x00\x19\x02\x1d\x00\x12\x00\x13\x00\xdb\x00\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x95\x01\xcc\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x6d\x00\x3e\x00\x79\x00\x3f\x00\x40\x00\x41\x00\x35\x02\x36\x02\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\xe8\x00\xe9\x00\x0b\x01\x19\x00\x1a\x00\x1b\x00\x22\x02\xc7\x01\xc8\x01\x98\x00\x99\x00\x12\x00\x13\x00\x51\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\x8d\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xae\x01\x10\x00\x11\x00\x12\x00\x9b\x00\x8b\x01\x96\x00\x12\x00\x13\x00\xce\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\xa9\x00\x11\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\xa7\x01\x10\x00\x11\x00\x19\x00\x1a\x00\x1b\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x88\x01\x12\x00\x13\x00\xcb\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\x79\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x87\x01\x12\x00\x9b\x00\x9c\x01\x98\x00\x99\x00\x0d\x01\x12\x00\x13\x00\xca\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x12\x00\x71\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\x09\x01\x12\x00\x9b\x00\x19\x00\x1a\x00\x1b\x00\x12\x00\x13\x00\x12\x00\x89\x01\xf4\x00\x12\x00\x13\x00\xc9\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\xfd\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x00\x01\x0f\x00\x10\x00\x11\x00\xfb\x01\xfc\x01\x33\x02\x12\x00\x13\x00\xc4\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x12\x00\xfd\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\xf2\x00\xf3\x00\xf6\x01\x19\x00\x1a\x00\x1b\x00\x12\x00\x13\x00\x12\x00\x17\x02\xf4\x00\x12\x00\x13\x00\xc3\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\xae\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x01\x92\x00\xe4\x00\x0f\x00\x10\x00\x11\x00\xed\x01\x12\x00\x13\x00\xbf\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\xe2\x00\xe1\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\x92\x01\x10\x00\x11\x00\x19\x00\x1a\x00\x1b\x00\x53\x01\x10\x00\x11\x00\x56\x01\x2f\x01\x12\x00\x13\x00\xbd\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\x92\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xa6\x00\x53\x01\x10\x00\x11\x00\x55\x01\x92\x00\x2f\x01\x12\x00\x13\x00\xac\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\xe5\x01\xe4\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\x2a\x00\xe3\x01\x92\x00\x19\x00\x1a\x00\x1b\x00\x53\x01\x10\x00\x11\x00\x54\x01\xe1\x01\x12\x00\x13\x00\xf6\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\xe0\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x12\x00\x13\x00\x27\x02\x92\x00\xbc\x00\xb6\x01\xbd\x00\x12\x00\x13\x00\xee\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x92\x00\x20\x02\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\x18\x00\x92\x00\x1c\x02\x19\x00\x1a\x00\x1b\x00\x8e\x01\x8f\x01\x74\x00\x90\x01\x1b\x02\x12\x00\x13\x00\xe8\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\x1a\x02\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x0c\x02\x8f\x01\x74\x00\x90\x01\xef\x01\x10\x00\x11\x00\x12\x00\x13\x00\xe7\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x2b\xff\x79\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x2b\xff\x2b\xff\x2b\xff\x2b\xff\x2b\xff\x2b\xff\x26\x00\x2b\xff\x27\x00\x8a\x00\x15\x02\x11\x02\x12\x00\x13\x00\xe1\x01\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x92\x00\xe0\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x26\x00\x2d\x02\x27\x00\x77\x01\x16\x02\x74\x00\x90\x01\x12\x00\x13\x00\x24\x02\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x92\x00\xe4\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x15\x02\x74\x00\x90\x01\x12\x00\x13\x00\x21\x02\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x92\x00\xe0\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x26\x00\x38\x02\x27\x00\x91\x01\xe8\x00\x31\x02\x0b\x01\x12\x00\x13\x00\x12\x02\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x92\x00\xe0\x01\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\x2a\x00\x79\x00\x6e\x00\x19\x00\x1a\x00\x1b\x00\x26\x00\x5a\x00\x27\x00\x03\x02\x59\x00\x12\x00\x13\x00\x2f\x02\x3e\x00\x4a\x00\x3f\x00\x40\x00\x41\x00\x1c\x00\xe3\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x78\x01\x57\x01\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x12\x00\x13\x00\x25\x00\x2b\x00\x4a\x00\x6a\x01\x36\x00\xe3\x00\x37\x00\x17\x00\x18\x00\xc0\x01\xbe\x01\x19\x00\x1a\x00\x1b\x00\x8b\x01\xb8\x01\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\xf0\x01\x25\x02\x19\x00\x1a\x00\x1b\x00\x0f\x02\x1c\x00\x12\x00\x13\x00\xd6\x01\x38\x00\x4a\x00\xd3\x01\x38\x02\x4f\x00\x50\x00\x39\x00\x1c\x02\x1c\x00\x30\x02\x36\x02\xf1\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x53\x00\x00\x00\x54\x00\xd7\x01\x00\x00\x55\x00\x00\x00\xd8\x01\x00\x00\x56\x00\x57\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x58\x00\x59\x00\x19\x00\x1a\x00\x1b\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\xff\x01\x1c\x00\xc6\x00\x48\x00\xc7\x00\x51\x00\xdb\x00\xc8\x00\x1c\x00\xc9\x00\xca\x00\x52\x00\xcb\x00\xcc\x00\x00\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x58\x00\x59\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x13\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x50\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x52\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x69\x00\x58\x00\x59\x00\x00\x00\x17\x00\x00\x00\x9d\x00\x9e\x00\x19\x00\x1a\x00\x1b\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x1c\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\xcd\x01\x74\x01\x3f\x00\x40\x00\x41\x00\x00\x00\x00\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xb1\x01\x00\x00\x3f\x00\x40\x00\x41\x00\x00\x00\x00\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x17\x00\xfd\x00\x2e\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\xfe\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x1c\x00\x34\x00\x12\x00\x13\x00\x69\x00\x00\x00\x4a\x00\x17\x00\x00\x00\x00\x00\x9d\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6b\x00\x00\x00\x12\x00\x13\x00\x32\x01\x00\x00\x4a\x00\x33\x01\x00\x00\x17\x00\x6c\x00\x00\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x69\x00\x00\x00\x00\x00\x00\x00\xb1\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x17\x00\x6b\x00\x00\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x1c\x00\xb1\x00\x00\x00\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x17\x00\x00\x00\x4f\x01\x00\x00\x19\x00\x1a\x00\x1b\x00\x41\x00\x00\x00\x6c\x00\x18\x01\x19\x01\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x41\x00\xb1\x00\x1c\x00\x00\x00\xa5\x00\xb9\x00\xba\x00\x46\x00\x47\x00\x48\x00\x49\x00\x41\x00\xa6\x00\x00\x00\x00\x00\x00\x00\xb7\x00\xb8\x00\x46\x00\x47\x00\x48\x00\x49\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xba\x00\x46\x00\x47\x00\x48\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x01\xbb\x01\x12\x00\x13\x00\xc8\x00\x00\x00\x4a\x00\xca\x00\x00\x00\xcb\x00\xc2\x01\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x41\x00\x00\x00\x4a\x00\x00\x00\x00\x00\xb7\x00\xb8\x00\x46\x00\x47\x00\x48\x00\x49\x00\x64\x00\x00\x00\xcd\x00\x13\x00\x17\x00\x00\x00\x4a\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x69\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x12\x00\x13\x00\x6b\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x64\x00\x00\x00\x1c\x00\x00\x00\x17\x00\x6c\x00\x38\x00\xb7\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x39\x00\x65\x00\x66\x00\x67\x00\x68\x00\xf1\x00\x40\x01\x00\x00\x3a\x01\x30\x00\x31\x00\x32\x00\x1c\x00\x33\x00\x3b\x01\x3b\x00\x69\x00\x3c\x01\x13\x00\x00\x00\x00\x00\x34\x00\x6a\x00\x00\x00\x3d\x01\x3e\x01\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x17\x00\x6c\x00\xbb\xff\x99\x01\x19\x00\x1a\x00\x7e\x01\x7f\x01\xbb\xff\x65\x00\x66\x00\x67\x00\x68\x00\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x1c\x00\xbb\xff\x17\x00\x00\x00\x69\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6a\x00\x65\x00\x66\x00\x67\x00\x68\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x1c\x00\x00\x00\x17\x00\x6c\x00\x69\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6a\x00\x65\x00\x66\x00\x67\x00\x68\x00\x6b\x00\x9b\x01\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x1c\x00\x00\x00\x17\x00\x6c\x00\x69\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x6a\x00\x65\x00\x66\x00\x67\x00\x68\x00\x6b\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xba\x01\xbb\x01\x1c\x00\x00\x00\xc8\x00\x6c\x00\x69\x00\xca\x00\x00\x00\xcb\x00\xbc\x01\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x00\x00\x6c\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x13\x00\x50\x00\x00\x00\x4a\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x51\x00\xcf\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x52\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x53\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x51\x00\x4c\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x52\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x53\x00\xd0\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x51\x00\xcf\x00\x4d\x00\x4e\x00\x17\x00\x18\x00\x52\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x53\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x51\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x00\x00\x55\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x57\x00\x38\x00\x36\x00\x00\x00\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3a\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x38\x00\xfb\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\xfc\x00\x30\x00\x31\x00\x32\x00\xf1\x00\x33\x00\x00\x00\x00\x00\xa6\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x3b\x00\xf8\x00\x36\x00\xa7\x01\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\xf6\x00\xfb\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\x04\x01\x30\x00\x31\x00\x32\x00\xf1\x00\x33\x00\x00\x00\x00\x00\xa6\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x3b\x00\x38\x00\x36\x00\xa5\x01\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x38\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\xf1\x00\x30\x00\x31\x00\x32\x00\x3a\x00\x33\x00\x00\x00\x00\x00\xa6\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x3b\x00\x38\x00\x36\x00\x0b\x02\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\xf6\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\x40\x01\x30\x00\x31\x00\x32\x00\xf1\x00\x33\x00\x00\x00\x00\x00\xa6\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x3b\x00\x38\x00\x36\x00\xf4\x01\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x38\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\x17\x01\x30\x00\x31\x00\x32\x00\x3a\x00\x33\x00\x00\x00\x00\x00\xa6\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x3b\x00\x38\x00\x36\x00\x12\x02\x37\x00\x17\x00\x18\x00\x39\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\xf1\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3b\x00\x00\x00\x36\x00\x1c\x00\x37\x00\x17\x00\x18\x00\x38\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x39\x00\x00\x00\x00\x00\x69\x00\xa1\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x6b\x00\x3b\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x6c\x00\x17\x00\x00\x00\xf1\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x3b\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x17\x00\x00\x00\x00\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x9d\x00\x9e\x00\x00\x00\x69\x00\x00\x00\x6b\x00\x00\x00\x1c\x00\x00\x00\x9d\x00\x00\x00\x69\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x43\x01\x6b\x00\x17\x00\x6c\x00\x00\x00\x09\x02\x19\x00\x1a\x00\x1b\x00\x17\x00\x00\x00\x6c\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x08\x01\x30\x00\x31\x00\x32\x00\x1c\x00\x33\x00\x00\x00\x00\x00\x69\x00\x12\x00\x13\x00\x1c\x00\x00\x00\x34\x00\x9d\x00\x69\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x9d\x00\x00\x00\x14\x02\x00\x00\x00\x00\x6b\x00\xfc\xfe\x00\x00\x6c\x00\xfc\xfe\xfc\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\x00\x00\xfc\xfe\xfc\xfe\xfc\xfe\x50\x00\x00\x00\xfc\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xfe\xfc\xfe\xfc\xfe\x00\x00\x00\x00\x00\x00\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\xfc\xfe\x50\x00\x6e\xff\xfc\xfe\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x6e\xff\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\xff\x00\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x6f\xff\x00\x00\x70\xff\x00\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\xff\x70\xff\x70\xff\x70\xff\x70\xff\x70\xff\x70\xff\x70\xff\x70\xff\xbf\x00\x00\x00\x00\x00\x17\x00\x18\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x1c\x00\x33\x00\x00\x00\xf8\xfe\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xc0\x00\xf8\xfe\xf8\xfe\xf8\xfe\x00\x00\xc1\x00\x00\x00\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\xf8\xfe\x00\x00\x00\x00\xf8\xfe\x46\x01\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x93\x01\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xf9\x01\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x2a\x02\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x28\x02\x2c\x00\x2d\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\xd3\x01\x00\x00\x34\x00\x00\x00\x00\x00\xd4\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\xe6\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x07\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x05\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xd9\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xd8\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xa2\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x9e\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xf4\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xf2\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xe9\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\xd4\x01\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x1e\x02\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x1d\x02\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x2b\x02\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x27\x02\x30\x00\x31\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x34\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x0b\xff\x0b\xff\x0b\xff\x0b\xff\x0b\xff\x0b\xff\x0b\xff\x0b\xff\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#

    happyReduceArr :: Array
      Int
      (Int#
       -> Located Token
       -> Int#
       -> Happy_IntList
       -> HappyStk HappyAbsSyn
       -> ParseM HappyAbsSyn)
    happyReduceArr = (Int, Int)
    -> [(Int,
         Int#
         -> Located Token
         -> Int#
         -> Happy_IntList
         -> HappyStk HappyAbsSyn
         -> ParseM HappyAbsSyn)]
    -> Array
         Int
         (Int#
          -> Located Token
          -> Int#
          -> Happy_IntList
          -> HappyStk HappyAbsSyn
          -> ParseM HappyAbsSyn)
    forall i e. Ix i => (i, i) -> [(i, e)] -> Array i e
    Happy_Data_Array.array (12, 299) [
    	(12 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_12),
    	(13 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_13),
    	(14 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_14),
    	(15 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_15),
    	(16 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_16),
    	(17 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_17),
    	(18 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_18),
    	(19 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_19),
    	(20 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_20),
    	(21 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_21),
    	(22 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_22),
    	(23 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_23),
    	(24 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_24),
    	(25 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_25),
    	(26 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_26),
    	(27 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_27),
    	(28 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_28),
    	(29 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_29),
    	(30 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_30),
    	(31 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_31),
    	(32 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_32),
    	(33 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_33),
    	(34 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_34),
    	(35 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_35),
    	(36 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_36),
    	(37 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_37),
    	(38 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_38),
    	(39 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_39),
    	(40 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_40),
    	(41 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_41),
    	(42 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_42),
    	(43 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_43),
    	(44 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_44),
    	(45 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_45),
    	(46 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_46),
    	(47 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_47),
    	(48 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_48),
    	(49 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_49),
    	(50 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_50),
    	(51 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_51),
    	(52 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_52),
    	(53 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_53),
    	(54 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_54),
    	(55 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_55),
    	(56 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_56),
    	(57 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_57),
    	(58 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_58),
    	(59 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_59),
    	(60 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_60),
    	(61 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_61),
    	(62 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_62),
    	(63 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_63),
    	(64 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_64),
    	(65 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_65),
    	(66 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_66),
    	(67 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_67),
    	(68 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_68),
    	(69 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_69),
    	(70 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_70),
    	(71 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_71),
    	(72 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_72),
    	(73 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_73),
    	(74 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_74),
    	(75 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_75),
    	(76 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_76),
    	(77 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_77),
    	(78 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_78),
    	(79 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_79),
    	(80 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_80),
    	(81 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_81),
    	(82 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_82),
    	(83 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_83),
    	(84 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_84),
    	(85 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_85),
    	(86 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_86),
    	(87 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_87),
    	(88 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_88),
    	(89 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_89),
    	(90 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_90),
    	(91 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_91),
    	(92 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_92),
    	(93 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_93),
    	(94 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_94),
    	(95 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_95),
    	(96 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_96),
    	(97 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_97),
    	(98 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_98),
    	(99 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_99),
    	(100 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_100),
    	(101 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_101),
    	(102 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_102),
    	(103 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_103),
    	(104 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_104),
    	(105 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_105),
    	(106 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_106),
    	(107 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_107),
    	(108 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_108),
    	(109 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_109),
    	(110 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_110),
    	(111 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_111),
    	(112 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_112),
    	(113 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_113),
    	(114 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_114),
    	(115 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_115),
    	(116 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_116),
    	(117 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_117),
    	(118 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_118),
    	(119 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_119),
    	(120 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_120),
    	(121 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_121),
    	(122 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_122),
    	(123 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_123),
    	(124 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_124),
    	(125 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_125),
    	(126 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_126),
    	(127 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_127),
    	(128 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_128),
    	(129 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_129),
    	(130 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_130),
    	(131 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_131),
    	(132 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_132),
    	(133 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_133),
    	(134 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_134),
    	(135 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_135),
    	(136 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_136),
    	(137 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_137),
    	(138 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_138),
    	(139 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_139),
    	(140 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_140),
    	(141 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_141),
    	(142 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_142),
    	(143 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_143),
    	(144 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_144),
    	(145 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_145),
    	(146 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_146),
    	(147 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_147),
    	(148 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_148),
    	(149 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_149),
    	(150 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_150),
    	(151 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_151),
    	(152 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_152),
    	(153 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_153),
    	(154 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_154),
    	(155 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_155),
    	(156 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_156),
    	(157 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_157),
    	(158 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_158),
    	(159 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_159),
    	(160 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_160),
    	(161 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_161),
    	(162 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_162),
    	(163 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_163),
    	(164 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_164),
    	(165 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_165),
    	(166 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_166),
    	(167 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_167),
    	(168 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_168),
    	(169 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_169),
    	(170 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_170),
    	(171 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_171),
    	(172 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_172),
    	(173 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_173),
    	(174 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_174),
    	(175 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_175),
    	(176 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_176),
    	(177 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_177),
    	(178 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_178),
    	(179 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_179),
    	(180 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_180),
    	(181 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_181),
    	(182 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_182),
    	(183 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_183),
    	(184 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_184),
    	(185 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_185),
    	(186 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_186),
    	(187 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_187),
    	(188 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_188),
    	(189 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_189),
    	(190 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_190),
    	(191 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_191),
    	(192 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_192),
    	(193 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_193),
    	(194 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_194),
    	(195 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_195),
    	(196 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_196),
    	(197 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_197),
    	(198 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_198),
    	(199 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_199),
    	(200 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_200),
    	(201 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_201),
    	(202 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_202),
    	(203 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_203),
    	(204 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_204),
    	(205 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_205),
    	(206 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_206),
    	(207 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_207),
    	(208 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_208),
    	(209 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_209),
    	(210 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_210),
    	(211 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_211),
    	(212 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_212),
    	(213 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_213),
    	(214 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_214),
    	(215 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_215),
    	(216 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_216),
    	(217 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_217),
    	(218 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_218),
    	(219 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_219),
    	(220 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_220),
    	(221 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_221),
    	(222 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_222),
    	(223 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_223),
    	(224 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_224),
    	(225 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_225),
    	(226 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_226),
    	(227 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_227),
    	(228 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_228),
    	(229 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_229),
    	(230 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_230),
    	(231 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_231),
    	(232 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_232),
    	(233 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_233),
    	(234 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_234),
    	(235 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_235),
    	(236 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_236),
    	(237 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_237),
    	(238 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_238),
    	(239 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_239),
    	(240 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_240),
    	(241 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_241),
    	(242 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_242),
    	(243 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_243),
    	(244 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_244),
    	(245 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_245),
    	(246 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_246),
    	(247 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_247),
    	(248 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_248),
    	(249 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_249),
    	(250 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_250),
    	(251 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_251),
    	(252 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_252),
    	(253 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_253),
    	(254 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_254),
    	(255 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_255),
    	(256 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_256),
    	(257 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_257),
    	(258 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_258),
    	(259 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_259),
    	(260 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_260),
    	(261 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_261),
    	(262 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_262),
    	(263 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_263),
    	(264 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_264),
    	(265 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_265),
    	(266 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_266),
    	(267 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_267),
    	(268 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_268),
    	(269 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_269),
    	(270 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_270),
    	(271 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_271),
    	(272 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_272),
    	(273 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_273),
    	(274 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_274),
    	(275 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_275),
    	(276 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_276),
    	(277 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_277),
    	(278 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_278),
    	(279 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_279),
    	(280 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_280),
    	(281 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_281),
    	(282 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_282),
    	(283 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_283),
    	(284 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_284),
    	(285 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_285),
    	(286 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_286),
    	(287 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_287),
    	(288 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_288),
    	(289 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_289),
    	(290 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_290),
    	(291 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_291),
    	(292 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_292),
    	(293 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_293),
    	(294 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_294),
    	(295 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_295),
    	(296 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_296),
    	(297 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_297),
    	(298 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_298),
    	(299 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_299)
    	]

    happy_n_terms :: Int
    happy_n_terms = 64 :: Int
    happy_n_nonterms :: Int
    happy_n_nonterms = 102 :: Int

    happyReduce_12 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_12 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_12 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 6# 0# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_12
    happyReduction_12 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_12 (happy_x_6 :: HappyAbsSyn
    happy_x_6 `HappyStk`
    	happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap111
    happyOut111 HappyAbsSyn
    happy_x_2 of { (HappyWrap111 happy_var_2 :: Located ModName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap16
    happyOut16 HappyAbsSyn
    happy_x_5 of { (HappyWrap16 happy_var_5 :: ([Located Import], [TopDecl PName])
    happy_var_5) ->
    	Module PName -> HappyAbsSyn
    happyIn15
    		 (Located ModName
    -> ([Located Import], [TopDecl PName]) -> Module PName
    mkModule Located ModName
    happy_var_2 ([Located Import], [TopDecl PName])
    happy_var_5
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}

    happyReduce_13 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_13 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_13 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 8# 0# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_13
    happyReduction_13 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_13 (happy_x_8 :: HappyAbsSyn
    happy_x_8 `HappyStk`
    	happy_x_7 :: HappyAbsSyn
    happy_x_7 `HappyStk`
    	happy_x_6 :: HappyAbsSyn
    happy_x_6 `HappyStk`
    	happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap111
    happyOut111 HappyAbsSyn
    happy_x_2 of { (HappyWrap111 happy_var_2 :: Located ModName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap111
    happyOut111 HappyAbsSyn
    happy_x_4 of { (HappyWrap111 happy_var_4 :: Located ModName
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap16
    happyOut16 HappyAbsSyn
    happy_x_7 of { (HappyWrap16 happy_var_7 :: ([Located Import], [TopDecl PName])
    happy_var_7) ->
    	Module PName -> HappyAbsSyn
    happyIn15
    		 (Located ModName
    -> Located ModName
    -> ([Located Import], [TopDecl PName])
    -> Module PName
    mkModuleInstance Located ModName
    happy_var_2 Located ModName
    happy_var_4 ([Located Import], [TopDecl PName])
    happy_var_7
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_14 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_14 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_14 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  0# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_14
    happyReduction_14 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_14 happy_x_3 :: p
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap16
    happyOut16 HappyAbsSyn
    happy_x_2 of { (HappyWrap16 happy_var_2 :: ([Located Import], [TopDecl PName])
    happy_var_2) ->
    	Module PName -> HappyAbsSyn
    happyIn15
    		 (([Located Import], [TopDecl PName]) -> Module PName
    mkAnonymousModule ([Located Import], [TopDecl PName])
    happy_var_2
    	)}

    happyReduce_15 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_15 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_15 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  1# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_15
    happyReduction_15 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_15 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap17
    happyOut17 HappyAbsSyn
    happy_x_1 of { (HappyWrap17 happy_var_1 :: [Located Import]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_3 of { (HappyWrap26 happy_var_3 :: [TopDecl PName]
    happy_var_3) ->
    	([Located Import], [TopDecl PName]) -> HappyAbsSyn
    happyIn16
    		 (([Located Import] -> [Located Import]
    forall a. [a] -> [a]
    reverse [Located Import]
    happy_var_1, [TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a]
    reverse [TopDecl PName]
    happy_var_3)
    	)}}

    happyReduce_16 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_16 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_16 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  1# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_16
    happyReduction_16 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_16 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap17
    happyOut17 HappyAbsSyn
    happy_x_1 of { (HappyWrap17 happy_var_1 :: [Located Import]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_3 of { (HappyWrap26 happy_var_3 :: [TopDecl PName]
    happy_var_3) ->
    	([Located Import], [TopDecl PName]) -> HappyAbsSyn
    happyIn16
    		 (([Located Import] -> [Located Import]
    forall a. [a] -> [a]
    reverse [Located Import]
    happy_var_1, [TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a]
    reverse [TopDecl PName]
    happy_var_3)
    	)}}

    happyReduce_17 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_17 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_17 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  1# HappyAbsSyn -> HappyAbsSyn
    happyReduction_17
    happyReduction_17 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_17 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap17
    happyOut17 HappyAbsSyn
    happy_x_1 of { (HappyWrap17 happy_var_1 :: [Located Import]
    happy_var_1) ->
    	([Located Import], [TopDecl PName]) -> HappyAbsSyn
    happyIn16
    		 (([Located Import] -> [Located Import]
    forall a. [a] -> [a]
    reverse [Located Import]
    happy_var_1, [])
    	)}

    happyReduce_18 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_18 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_18 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  1# HappyAbsSyn -> HappyAbsSyn
    happyReduction_18
    happyReduction_18 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_18 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_1 of { (HappyWrap26 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	([Located Import], [TopDecl PName]) -> HappyAbsSyn
    happyIn16
    		 (([], [TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a]
    reverse [TopDecl PName]
    happy_var_1)
    	)}

    happyReduce_19 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_19 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_19 = Int#
    -> HappyAbsSyn
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  1# HappyAbsSyn
    happyReduction_19
    happyReduction_19 :: HappyAbsSyn
    happyReduction_19  =  ([Located Import], [TopDecl PName]) -> HappyAbsSyn
    happyIn16
    		 (([], [])
    	)

    happyReduce_20 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_20 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_20 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  2# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_20
    happyReduction_20 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_20 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap17
    happyOut17 HappyAbsSyn
    happy_x_1 of { (HappyWrap17 happy_var_1 :: [Located Import]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap18
    happyOut18 HappyAbsSyn
    happy_x_3 of { (HappyWrap18 happy_var_3 :: Located Import
    happy_var_3) ->
    	[Located Import] -> HappyAbsSyn
    happyIn17
    		 (Located Import
    happy_var_3 Located Import -> [Located Import] -> [Located Import]
    forall k1. k1 -> [k1] -> [k1]
    : [Located Import]
    happy_var_1
    	)}}

    happyReduce_21 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_21 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_21 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  2# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_21
    happyReduction_21 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_21 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap17
    happyOut17 HappyAbsSyn
    happy_x_1 of { (HappyWrap17 happy_var_1 :: [Located Import]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap18
    happyOut18 HappyAbsSyn
    happy_x_3 of { (HappyWrap18 happy_var_3 :: Located Import
    happy_var_3) ->
    	[Located Import] -> HappyAbsSyn
    happyIn17
    		 (Located Import
    happy_var_3 Located Import -> [Located Import] -> [Located Import]
    forall k1. k1 -> [k1] -> [k1]
    : [Located Import]
    happy_var_1
    	)}}

    happyReduce_22 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_22 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_22 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  2# HappyAbsSyn -> HappyAbsSyn
    happyReduction_22
    happyReduction_22 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_22 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap18
    happyOut18 HappyAbsSyn
    happy_x_1 of { (HappyWrap18 happy_var_1 :: Located Import
    happy_var_1) ->
    	[Located Import] -> HappyAbsSyn
    happyIn17
    		 ([Located Import
    happy_var_1]
    	)}

    happyReduce_23 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_23 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_23 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 3# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_23
    happyReduction_23 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_23 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_import)    _)) ->
    	case HappyAbsSyn -> HappyWrap111
    happyOut111 HappyAbsSyn
    happy_x_2 of { (HappyWrap111 happy_var_2 :: Located ModName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap19
    happyOut19 HappyAbsSyn
    happy_x_3 of { (HappyWrap19 happy_var_3 :: Maybe (Located ModName)
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap20
    happyOut20 HappyAbsSyn
    happy_x_4 of { (HappyWrap20 happy_var_4 :: Maybe (Located ImportSpec)
    happy_var_4) ->
    	Located Import -> HappyAbsSyn
    happyIn18
    		 ($WLocated :: forall a. Range -> a -> Located a
    Located { srcRange :: Range
    srcRange = Range -> Range -> Range
    rComb Range
    happy_var_1
                                                       (Range -> Range) -> Range -> Range
    forall a b. (a -> b) -> a -> b
    $ Range -> Maybe Range -> Range
    forall a. a -> Maybe a -> a
    fromMaybe (Located ModName -> Range
    forall a. Located a -> Range
    srcRange Located ModName
    happy_var_2)
                                                       (Maybe Range -> Range) -> Maybe Range -> Range
    forall a b. (a -> b) -> a -> b
    $ [Maybe Range] -> Maybe Range
    forall (t :: * -> *) (m :: * -> *) a.
    (Foldable t, MonadPlus m) =>
    t (m a) -> m a
    msum [ (Located ImportSpec -> Range)
    -> Maybe (Located ImportSpec) -> Maybe Range
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap Located ImportSpec -> Range
    forall a. Located a -> Range
    srcRange Maybe (Located ImportSpec)
    happy_var_4
                                                              , (Located ModName -> Range)
    -> Maybe (Located ModName) -> Maybe Range
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap Located ModName -> Range
    forall a. Located a -> Range
    srcRange Maybe (Located ModName)
    happy_var_3
                                                              ]
                                            , thing :: Import
    thing    = $WImport :: ModName -> Maybe ModName -> Maybe ImportSpec -> Import
    Import
                                              { iModule :: ModName
    iModule    = Located ModName -> ModName
    forall a. Located a -> a
    thing Located ModName
    happy_var_2
                                              , iAs :: Maybe ModName
    iAs        = (Located ModName -> ModName)
    -> Maybe (Located ModName) -> Maybe ModName
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap Located ModName -> ModName
    forall a. Located a -> a
    thing Maybe (Located ModName)
    happy_var_3
                                              , iSpec :: Maybe ImportSpec
    iSpec      = (Located ImportSpec -> ImportSpec)
    -> Maybe (Located ImportSpec) -> Maybe ImportSpec
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap Located ImportSpec -> ImportSpec
    forall a. Located a -> a
    thing Maybe (Located ImportSpec)
    happy_var_4
                                              }
                                            }
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}}

    happyReduce_24 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_24 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_24 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  4# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_24
    happyReduction_24 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_24 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap111
    happyOut111 HappyAbsSyn
    happy_x_2 of { (HappyWrap111 happy_var_2 :: Located ModName
    happy_var_2) ->
    	Maybe (Located ModName) -> HappyAbsSyn
    happyIn19
    		 (Located ModName -> Maybe (Located ModName)
    forall k1. k1 -> Maybe k1
    Just Located ModName
    happy_var_2
    	)}

    happyReduce_25 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_25 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_25 = Int#
    -> HappyAbsSyn
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  4# HappyAbsSyn
    happyReduction_25
    happyReduction_25 :: HappyAbsSyn
    happyReduction_25  =  Maybe (Located ModName) -> HappyAbsSyn
    happyIn19
    		 (Maybe (Located ModName)
    forall k1. Maybe k1
    Nothing
    	)

    happyReduce_26 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_26 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_26 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 5# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_26
    happyReduction_26 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_26 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap22
    happyOut22 HappyAbsSyn
    happy_x_1 of { (HappyWrap22 happy_var_1 :: [Ident] -> ImportSpec
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap21
    happyOut21 HappyAbsSyn
    happy_x_3 of { (HappyWrap21 happy_var_3 :: [LIdent]
    happy_var_3) ->
    	Maybe (Located ImportSpec) -> HappyAbsSyn
    happyIn20
    		 (Located ImportSpec -> Maybe (Located ImportSpec)
    forall k1. k1 -> Maybe k1
    Just $WLocated :: forall a. Range -> a -> Located a
    Located
                                      { srcRange :: Range
    srcRange = case [LIdent]
    happy_var_3 of
                                          { [] -> Range
    emptyRange
                                          ; xs :: [LIdent]
    xs -> [Range] -> Range
    rCombs ((LIdent -> Range) -> [LIdent] -> [Range]
    forall a b. (a -> b) -> [a] -> [b]
    map LIdent -> Range
    forall a. Located a -> Range
    srcRange [LIdent]
    xs) }
                                      , thing :: ImportSpec
    thing    = [Ident] -> ImportSpec
    happy_var_1 ([Ident] -> [Ident]
    forall a. [a] -> [a]
    reverse ((LIdent -> Ident) -> [LIdent] -> [Ident]
    forall a b. (a -> b) -> [a] -> [b]
    map LIdent -> Ident
    forall a. Located a -> a
    thing [LIdent]
    happy_var_3))
                                      }
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}

    happyReduce_27 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_27 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_27 = Int#
    -> HappyAbsSyn
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  5# HappyAbsSyn
    happyReduction_27
    happyReduction_27 :: HappyAbsSyn
    happyReduction_27  =  Maybe (Located ImportSpec) -> HappyAbsSyn
    happyIn20
    		 (Maybe (Located ImportSpec)
    forall k1. Maybe k1
    Nothing
    	)

    happyReduce_28 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_28 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_28 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  6# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_28
    happyReduction_28 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_28 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap21
    happyOut21 HappyAbsSyn
    happy_x_1 of { (HappyWrap21 happy_var_1 :: [LIdent]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_3 of { (HappyWrap108 happy_var_3 :: LIdent
    happy_var_3) ->
    	[LIdent] -> HappyAbsSyn
    happyIn21
    		 (LIdent
    happy_var_3 LIdent -> [LIdent] -> [LIdent]
    forall k1. k1 -> [k1] -> [k1]
    : [LIdent]
    happy_var_1
    	)}}

    happyReduce_29 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_29 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_29 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  6# HappyAbsSyn -> HappyAbsSyn
    happyReduction_29
    happyReduction_29 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_29 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
    happy_var_1) ->
    	[LIdent] -> HappyAbsSyn
    happyIn21
    		 ([LIdent
    happy_var_1]
    	)}

    happyReduce_30 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_30 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_30 = Int#
    -> HappyAbsSyn
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  6# HappyAbsSyn
    happyReduction_30
    happyReduction_30 :: HappyAbsSyn
    happyReduction_30  =  [LIdent] -> HappyAbsSyn
    happyIn21
    		 ([]
    	)

    happyReduce_31 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_31 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_31 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  7# HappyAbsSyn -> HappyAbsSyn
    forall p. p -> HappyAbsSyn
    happyReduction_31
    happyReduction_31 :: p -> HappyAbsSyn
    happyReduction_31 happy_x_1 :: p
    happy_x_1
    	 =  ([Ident] -> ImportSpec) -> HappyAbsSyn
    happyIn22
    		 ([Ident] -> ImportSpec
    Hiding
    	)

    happyReduce_32 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_32 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_32 = Int#
    -> HappyAbsSyn
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  7# HappyAbsSyn
    happyReduction_32
    happyReduction_32 :: HappyAbsSyn
    happyReduction_32  =  ([Ident] -> ImportSpec) -> HappyAbsSyn
    happyIn22
    		 ([Ident] -> ImportSpec
    Only
    	)

    happyReduce_33 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_33 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_33 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  8# HappyAbsSyn -> HappyAbsSyn
    happyReduction_33
    happyReduction_33 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_33 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap25
    happyOut25 HappyAbsSyn
    happy_x_1 of { (HappyWrap25 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	Program PName -> HappyAbsSyn
    happyIn23
    		 ([TopDecl PName] -> Program PName
    forall name. [TopDecl name] -> Program name
    Program ([TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a]
    reverse [TopDecl PName]
    happy_var_1)
    	)}

    happyReduce_34 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_34 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_34 = Int#
    -> HappyAbsSyn
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  8# HappyAbsSyn
    happyReduction_34
    happyReduction_34 :: HappyAbsSyn
    happyReduction_34  =  Program PName -> HappyAbsSyn
    happyIn23
    		 ([TopDecl PName] -> Program PName
    forall name. [TopDecl name] -> Program name
    Program []
    	)

    happyReduce_35 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_35 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_35 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  9# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_35
    happyReduction_35 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_35 happy_x_3 :: p
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_2 of { (HappyWrap26 happy_var_2 :: [TopDecl PName]
    happy_var_2) ->
    	Program PName -> HappyAbsSyn
    happyIn24
    		 ([TopDecl PName] -> Program PName
    forall name. [TopDecl name] -> Program name
    Program ([TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a]
    reverse [TopDecl PName]
    happy_var_2)
    	)}

    happyReduce_36 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_36 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_36 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  9# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p p. p -> p -> HappyAbsSyn
    happyReduction_36
    happyReduction_36 :: p -> p -> HappyAbsSyn
    happyReduction_36 happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  Program PName -> HappyAbsSyn
    happyIn24
    		 ([TopDecl PName] -> Program PName
    forall name. [TopDecl name] -> Program name
    Program []
    	)

    happyReduce_37 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_37 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_37 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  10# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_37
    happyReduction_37 :: p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_37 happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap28
    happyOut28 HappyAbsSyn
    happy_x_1 of { (HappyWrap28 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn25
    		 ([TopDecl PName]
    happy_var_1
    	)}

    happyReduce_38 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_38 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_38 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  10# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_38
    happyReduction_38 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_38 happy_x_3 :: p
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap25
    happyOut25 HappyAbsSyn
    happy_x_1 of { (HappyWrap25 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap28
    happyOut28 HappyAbsSyn
    happy_x_2 of { (HappyWrap28 happy_var_2 :: [TopDecl PName]
    happy_var_2) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn25
    		 ([TopDecl PName]
    happy_var_2 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a] -> [a]
    ++ [TopDecl PName]
    happy_var_1
    	)}}

    happyReduce_39 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_39 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_39 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  11# HappyAbsSyn -> HappyAbsSyn
    happyReduction_39
    happyReduction_39 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_39 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap27
    happyOut27 HappyAbsSyn
    happy_x_1 of { (HappyWrap27 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn26
    		 ([TopDecl PName]
    happy_var_1
    	)}

    happyReduce_40 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_40 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_40 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  11# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_40
    happyReduction_40 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_40 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_1 of { (HappyWrap26 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap27
    happyOut27 HappyAbsSyn
    happy_x_3 of { (HappyWrap27 happy_var_3 :: [TopDecl PName]
    happy_var_3) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn26
    		 ([TopDecl PName]
    happy_var_3 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a] -> [a]
    ++ [TopDecl PName]
    happy_var_1
    	)}}

    happyReduce_41 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_41 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_41 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  11# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_41
    happyReduction_41 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_41 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_1 of { (HappyWrap26 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap27
    happyOut27 HappyAbsSyn
    happy_x_3 of { (HappyWrap27 happy_var_3 :: [TopDecl PName]
    happy_var_3) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn26
    		 ([TopDecl PName]
    happy_var_3 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a] -> [a]
    ++ [TopDecl PName]
    happy_var_1
    	)}}

    happyReduce_42 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_42 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_42 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  12# HappyAbsSyn -> HappyAbsSyn
    happyReduction_42
    happyReduction_42 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_42 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    happy_x_1 of { (HappyWrap36 happy_var_1 :: Decl PName
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn27
    		 ([Maybe (Located String) -> ExportType -> Decl PName -> TopDecl PName
    exportDecl Maybe (Located String)
    forall k1. Maybe k1
    Nothing   ExportType
    Public Decl PName
    happy_var_1]
    	)}

    happyReduce_43 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_43 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_43 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_43
    happyReduction_43 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_43 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap34
    happyOut34 HappyAbsSyn
    happy_x_1 of { (HappyWrap34 happy_var_1 :: Located String
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    happy_x_2 of { (HappyWrap36 happy_var_2 :: Decl PName
    happy_var_2) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn27
    		 ([Maybe (Located String) -> ExportType -> Decl PName -> TopDecl PName
    exportDecl (Located String -> Maybe (Located String)
    forall k1. k1 -> Maybe k1
    Just Located String
    happy_var_1) ExportType
    Public Decl PName
    happy_var_2]
    	)}}

    happyReduce_44 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_44 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_44 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 3# 12# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_44
    happyReduction_44 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_44 (happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM [TopDecl PName]
    -> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (happy_var_3 :: Located Token
    happy_var_3@(Located _ (Token (StrLit {}) _))) ->
    	( (TopDecl PName -> [TopDecl PName]
    forall (m :: * -> *) a. Monad m => a -> m a
    return (TopDecl PName -> [TopDecl PName])
    -> (Located String -> TopDecl PName)
    -> Located String
    -> [TopDecl PName]
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . Located String -> TopDecl PName
    forall name. Located String -> TopDecl name
    Include) (Located String -> [TopDecl PName])
    -> ParseM (Located String) -> ParseM [TopDecl PName]
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` Located Token -> ParseM (Located String)
    fromStrLit Located Token
    happy_var_3)})
    	) (\r :: [TopDecl PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([TopDecl PName] -> HappyAbsSyn
    happyIn27 [TopDecl PName]
    r))

    happyReduce_45 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_45 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_45 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 6# 12# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_45
    happyReduction_45 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_45 (happy_x_6 :: HappyAbsSyn
    happy_x_6 `HappyStk`
    	happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap42
    happyOut42 HappyAbsSyn
    happy_x_4 of { (HappyWrap42 happy_var_4 :: [Pattern PName]
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_6 of { (HappyWrap55 happy_var_6 :: Expr PName
    happy_var_6) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn27
    		 ([Maybe (Located String) -> ExportType -> Decl PName -> TopDecl PName
    exportDecl Maybe (Located String)
    happy_var_1 ExportType
    Public (LPName -> [Pattern PName] -> Expr PName -> Decl PName
    mkProperty LPName
    happy_var_3 [Pattern PName]
    happy_var_4 Expr PName
    happy_var_6)]
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}}

    happyReduce_46 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_46 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_46 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 5# 12# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_46
    happyReduction_46 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_46 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_5 of { (HappyWrap55 happy_var_5 :: Expr PName
    happy_var_5) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn27
    		 ([Maybe (Located String) -> ExportType -> Decl PName -> TopDecl PName
    exportDecl Maybe (Located String)
    happy_var_1 ExportType
    Public (LPName -> [Pattern PName] -> Expr PName -> Decl PName
    mkProperty LPName
    happy_var_3 [] Expr PName
    happy_var_5)]
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_47 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_47 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_47 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_47
    happyReduction_47 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_47 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap38
    happyOut38 HappyAbsSyn
    happy_x_2 of { (HappyWrap38 happy_var_2 :: Newtype PName
    happy_var_2) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn27
    		 ([ExportType
    -> Maybe (Located String) -> Newtype PName -> TopDecl PName
    exportNewtype ExportType
    Public Maybe (Located String)
    happy_var_1 Newtype PName
    happy_var_2]
    	)}}

    happyReduce_48 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_48 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_48 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  12# HappyAbsSyn -> HappyAbsSyn
    happyReduction_48
    happyReduction_48 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_48 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap30
    happyOut30 HappyAbsSyn
    happy_x_1 of { (HappyWrap30 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn27
    		 ([TopDecl PName]
    happy_var_1
    	)}

    happyReduce_49 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_49 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_49 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  12# HappyAbsSyn -> HappyAbsSyn
    happyReduction_49
    happyReduction_49 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_49 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap29
    happyOut29 HappyAbsSyn
    happy_x_1 of { (HappyWrap29 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn27
    		 ([TopDecl PName]
    happy_var_1
    	)}

    happyReduce_50 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_50 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_50 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  12# HappyAbsSyn -> HappyAbsSyn
    happyReduction_50
    happyReduction_50 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_50 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap31
    happyOut31 HappyAbsSyn
    happy_x_1 of { (HappyWrap31 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn27
    		 ([TopDecl PName]
    happy_var_1
    	)}

    happyReduce_51 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_51 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_51 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  13# HappyAbsSyn -> HappyAbsSyn
    happyReduction_51
    happyReduction_51 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_51 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    happy_x_1 of { (HappyWrap36 happy_var_1 :: Decl PName
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn28
    		 ([TopLevel (Decl PName) -> TopDecl PName
    forall name. TopLevel (Decl name) -> TopDecl name
    Decl (TopLevel :: forall a. ExportType -> Maybe (Located String) -> a -> TopLevel a
    TopLevel {tlExport :: ExportType
    tlExport = ExportType
    Public, tlValue :: Decl PName
    tlValue = Decl PName
    happy_var_1 })]
    	)}

    happyReduce_52 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_52 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_52 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 2# 13# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_52
    happyReduction_52 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_52 (happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM [TopDecl PName]
    -> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (happy_var_2 :: Located Token
    happy_var_2@(Located _ (Token (StrLit {}) _))) ->
    	( (TopDecl PName -> [TopDecl PName]
    forall (m :: * -> *) a. Monad m => a -> m a
    return (TopDecl PName -> [TopDecl PName])
    -> (Located String -> TopDecl PName)
    -> Located String
    -> [TopDecl PName]
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . Located String -> TopDecl PName
    forall name. Located String -> TopDecl name
    Include) (Located String -> [TopDecl PName])
    -> ParseM (Located String) -> ParseM [TopDecl PName]
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` Located Token -> ParseM (Located String)
    fromStrLit Located Token
    happy_var_2)})
    	) (\r :: [TopDecl PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([TopDecl PName] -> HappyAbsSyn
    happyIn28 [TopDecl PName]
    r))

    happyReduce_53 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_53 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_53 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  13# HappyAbsSyn -> HappyAbsSyn
    happyReduction_53
    happyReduction_53 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_53 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap30
    happyOut30 HappyAbsSyn
    happy_x_1 of { (HappyWrap30 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn28
    		 ([TopDecl PName]
    happy_var_1
    	)}

    happyReduce_54 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_54 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_54 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 14# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_54
    happyReduction_54 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_54 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_3 of { (HappyWrap26 happy_var_3 :: [TopDecl PName]
    happy_var_3) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn29
    		 (ExportType -> [TopDecl PName] -> [TopDecl PName]
    changeExport ExportType
    Private ([TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a]
    reverse [TopDecl PName]
    happy_var_3)
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}

    happyReduce_55 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_55 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_55 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 5# 14# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_55
    happyReduction_55 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_55 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_4 of { (HappyWrap26 happy_var_4 :: [TopDecl PName]
    happy_var_4) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn29
    		 (ExportType -> [TopDecl PName] -> [TopDecl PName]
    changeExport ExportType
    Private ([TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a]
    reverse [TopDecl PName]
    happy_var_4)
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}

    happyReduce_56 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_56 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_56 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 5# 15# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_56
    happyReduction_56 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_56 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap90
    happyOut90 HappyAbsSyn
    happy_x_5 of { (HappyWrap90 happy_var_5 :: Schema PName
    happy_var_5) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn30
    		 (Maybe (Located String) -> LPName -> Schema PName -> [TopDecl PName]
    mkPrimDecl Maybe (Located String)
    happy_var_1 LPName
    happy_var_3 Schema PName
    happy_var_5
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_57 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_57 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_57 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 7# 15# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_57
    happyReduction_57 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_57 (happy_x_7 :: HappyAbsSyn
    happy_x_7 `HappyStk`
    	happy_x_6 :: HappyAbsSyn
    happy_x_6 `HappyStk`
    	happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_4 of { (HappyWrap51 happy_var_4 :: LPName
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap90
    happyOut90 HappyAbsSyn
    happy_x_7 of { (HappyWrap90 happy_var_7 :: Schema PName
    happy_var_7) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn30
    		 (Maybe (Located String) -> LPName -> Schema PName -> [TopDecl PName]
    mkPrimDecl Maybe (Located String)
    happy_var_1 LPName
    happy_var_4 Schema PName
    happy_var_7
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_58 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_58 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_58 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 6# 15# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_58
    happyReduction_58 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_58 (happy_x_6 :: HappyAbsSyn
    happy_x_6 `HappyStk`
    	happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM [TopDecl PName]
    -> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap90
    happyOut90 HappyAbsSyn
    happy_x_4 of { (HappyWrap90 happy_var_4 :: Schema PName
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap94
    happyOut94 HappyAbsSyn
    happy_x_6 of { (HappyWrap94 happy_var_6 :: Located Kind
    happy_var_6) ->
    	( Maybe (Located String)
    -> Schema PName -> Located Kind -> ParseM [TopDecl PName]
    mkPrimTypeDecl Maybe (Located String)
    happy_var_1 Schema PName
    happy_var_4 Located Kind
    happy_var_6)}}})
    	) (\r :: [TopDecl PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([TopDecl PName] -> HappyAbsSyn
    happyIn30 [TopDecl PName]
    r))

    happyReduce_59 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_59 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_59 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 16# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_59
    happyReduction_59 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_59 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap32
    happyOut32 HappyAbsSyn
    happy_x_3 of { (HappyWrap32 happy_var_3 :: [TopDecl PName]
    happy_var_3) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn31
    		 ([TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a]
    reverse [TopDecl PName]
    happy_var_3
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}

    happyReduce_60 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_60 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_60 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 5# 16# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_60
    happyReduction_60 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_60 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap32
    happyOut32 HappyAbsSyn
    happy_x_4 of { (HappyWrap32 happy_var_4 :: [TopDecl PName]
    happy_var_4) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn31
    		 ([TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a]
    reverse [TopDecl PName]
    happy_var_4
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}

    happyReduce_61 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_61 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_61 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  17# HappyAbsSyn -> HappyAbsSyn
    happyReduction_61
    happyReduction_61 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_61 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap33
    happyOut33 HappyAbsSyn
    happy_x_1 of { (HappyWrap33 happy_var_1 :: TopDecl PName
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn32
    		 ([TopDecl PName
    happy_var_1]
    	)}

    happyReduce_62 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_62 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_62 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  17# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_62
    happyReduction_62 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_62 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap32
    happyOut32 HappyAbsSyn
    happy_x_1 of { (HappyWrap32 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap33
    happyOut33 HappyAbsSyn
    happy_x_3 of { (HappyWrap33 happy_var_3 :: TopDecl PName
    happy_var_3) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn32
    		 (TopDecl PName
    happy_var_3 TopDecl PName -> [TopDecl PName] -> [TopDecl PName]
    forall k1. k1 -> [k1] -> [k1]
    : [TopDecl PName]
    happy_var_1
    	)}}

    happyReduce_63 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_63 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_63 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  17# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_63
    happyReduction_63 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_63 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap32
    happyOut32 HappyAbsSyn
    happy_x_1 of { (HappyWrap32 happy_var_1 :: [TopDecl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap33
    happyOut33 HappyAbsSyn
    happy_x_3 of { (HappyWrap33 happy_var_3 :: TopDecl PName
    happy_var_3) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn32
    		 (TopDecl PName
    happy_var_3 TopDecl PName -> [TopDecl PName] -> [TopDecl PName]
    forall k1. k1 -> [k1] -> [k1]
    : [TopDecl PName]
    happy_var_1
    	)}}

    happyReduce_64 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_64 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_64 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 18# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_64
    happyReduction_64 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_64 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_2 of { (HappyWrap109 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap90
    happyOut90 HappyAbsSyn
    happy_x_4 of { (HappyWrap90 happy_var_4 :: Schema PName
    happy_var_4) ->
    	TopDecl PName -> HappyAbsSyn
    happyIn33
    		 (Maybe (Located String) -> LPName -> Schema PName -> TopDecl PName
    mkParFun Maybe (Located String)
    happy_var_1 LPName
    happy_var_2 Schema PName
    happy_var_4
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_65 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_65 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_65 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 5# 18# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_65
    happyReduction_65 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_65 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (TopDecl PName)
    -> (TopDecl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_1 of { (HappyWrap35 happy_var_1 :: Maybe (Located String)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap94
    happyOut94 HappyAbsSyn
    happy_x_5 of { (HappyWrap94 happy_var_5 :: Located Kind
    happy_var_5) ->
    	( Maybe (Located String)
    -> LPName -> Located Kind -> ParseM (TopDecl PName)
    mkParType Maybe (Located String)
    happy_var_1 LPName
    happy_var_3 Located Kind
    happy_var_5)}}})
    	) (\r :: TopDecl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (TopDecl PName -> HappyAbsSyn
    happyIn33 TopDecl PName
    r))

    happyReduce_66 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_66 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_66 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 4# 18# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_66
    happyReduction_66 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_66 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (TopDecl PName)
    -> (TopDecl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_4 of { (HappyWrap99 happy_var_4 :: Type PName
    happy_var_4) ->
    	( (Located [Prop PName] -> TopDecl PName)
    -> ParseM (Located [Prop PName]) -> ParseM (TopDecl PName)
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap ([Located (Prop PName)] -> TopDecl PName
    forall name. [Located (Prop name)] -> TopDecl name
    DParameterConstraint ([Located (Prop PName)] -> TopDecl PName)
    -> (Located [Prop PName] -> [Located (Prop PName)])
    -> Located [Prop PName]
    -> TopDecl PName
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . Located [Prop PName] -> [Located (Prop PName)]
    forall a. Located [a] -> [Located a]
    distrLoc)
                                                (Type PName -> ParseM (Located [Prop PName])
    mkProp Type PName
    happy_var_4))})
    	) (\r :: TopDecl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (TopDecl PName -> HappyAbsSyn
    happyIn33 TopDecl PName
    r))

    happyReduce_67 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_67 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_67 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  19# HappyAbsSyn -> HappyAbsSyn
    happyReduction_67
    happyReduction_67 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_67 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (White DocStr) _))) ->
    	Located String -> HappyAbsSyn
    happyIn34
    		 (Located Text -> Located String
    mkDoc ((Token -> Text) -> Located Token -> Located Text
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap Token -> Text
    tokenText Located Token
    happy_var_1)
    	)}

    happyReduce_68 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_68 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_68 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  20# HappyAbsSyn -> HappyAbsSyn
    happyReduction_68
    happyReduction_68 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_68 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap34
    happyOut34 HappyAbsSyn
    happy_x_1 of { (HappyWrap34 happy_var_1 :: Located String
    happy_var_1) ->
    	Maybe (Located String) -> HappyAbsSyn
    happyIn35
    		 (Located String -> Maybe (Located String)
    forall k1. k1 -> Maybe k1
    Just Located String
    happy_var_1
    	)}

    happyReduce_69 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_69 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_69 = Int#
    -> HappyAbsSyn
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  20# HappyAbsSyn
    happyReduction_69
    happyReduction_69 :: HappyAbsSyn
    happyReduction_69  =  Maybe (Located String) -> HappyAbsSyn
    happyIn35
    		 (Maybe (Located String)
    forall k1. Maybe k1
    Nothing
    	)

    happyReduce_70 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_70 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_70 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  21# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_70
    happyReduction_70 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_70 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap40
    happyOut40 HappyAbsSyn
    happy_x_1 of { (HappyWrap40 happy_var_1 :: [LPName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap90
    happyOut90 HappyAbsSyn
    happy_x_3 of { (HappyWrap90 happy_var_3 :: Schema PName
    happy_var_3) ->
    	Decl PName -> HappyAbsSyn
    happyIn36
    		 ((LPName, Schema PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at ([LPName] -> LPName
    forall a. [a] -> a
    head [LPName]
    happy_var_1,Schema PName
    happy_var_3) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $ [LPName] -> Schema PName -> Decl PName
    forall name. [Located name] -> Schema name -> Decl name
    DSignature ([LPName] -> [LPName]
    forall a. [a] -> [a]
    reverse [LPName]
    happy_var_1) Schema PName
    happy_var_3
    	)}}

    happyReduce_71 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_71 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_71 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  21# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_71
    happyReduction_71 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_71 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap85
    happyOut85 HappyAbsSyn
    happy_x_1 of { (HappyWrap85 happy_var_1 :: Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
    happy_var_3) ->
    	Decl PName -> HappyAbsSyn
    happyIn36
    		 ((Pattern PName, Expr PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Pattern PName
    happy_var_1,Expr PName
    happy_var_3) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $ Pattern PName -> Expr PName -> Decl PName
    forall name. Pattern name -> Expr name -> Decl name
    DPatBind Pattern PName
    happy_var_1 Expr PName
    happy_var_3
    	)}}

    happyReduce_72 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_72 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_72 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 5# 21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_72
    happyReduction_72 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_72 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_2 of { (HappyWrap51 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_5 of { (HappyWrap55 happy_var_5 :: Expr PName
    happy_var_5) ->
    	Decl PName -> HappyAbsSyn
    happyIn36
    		 ((Range, Expr PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Expr PName
    happy_var_5) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $ Pattern PName -> Expr PName -> Decl PName
    forall name. Pattern name -> Expr name -> Decl name
    DPatBind (LPName -> Pattern PName
    forall n. Located n -> Pattern n
    PVar LPName
    happy_var_2) Expr PName
    happy_var_5
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_73 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_73 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_73 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_73
    happyReduction_73 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_73 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap41
    happyOut41 HappyAbsSyn
    happy_x_1 of { (HappyWrap41 happy_var_1 :: LPName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap45
    happyOut45 HappyAbsSyn
    happy_x_2 of { (HappyWrap45 happy_var_2 :: ([Pattern PName], [Pattern PName])
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_4 of { (HappyWrap55 happy_var_4 :: Expr PName
    happy_var_4) ->
    	Decl PName -> HappyAbsSyn
    happyIn36
    		 ((LPName, Expr PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (LPName
    happy_var_1,Expr PName
    happy_var_4) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $ LPName
    -> ([Pattern PName], [Pattern PName]) -> Expr PName -> Decl PName
    mkIndexedDecl LPName
    happy_var_1 ([Pattern PName], [Pattern PName])
    happy_var_2 Expr PName
    happy_var_4
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_74 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_74 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_74 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 5# 21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_74
    happyReduction_74 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_74 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap86
    happyOut86 HappyAbsSyn
    happy_x_1 of { (HappyWrap86 happy_var_1 :: Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap52
    happyOut52 HappyAbsSyn
    happy_x_2 of { (HappyWrap52 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap86
    happyOut86 HappyAbsSyn
    happy_x_3 of { (HappyWrap86 happy_var_3 :: Pattern PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_5 of { (HappyWrap55 happy_var_5 :: Expr PName
    happy_var_5) ->
    	Decl PName -> HappyAbsSyn
    happyIn36
    		 ((Pattern PName, Expr PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Pattern PName
    happy_var_1,Expr PName
    happy_var_5) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $
                                 Bind PName -> Decl PName
    forall name. Bind name -> Decl name
    DBind (Bind PName -> Decl PName) -> Bind PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $ Bind :: forall name.
    Located name
    -> [Pattern name]
    -> Located (BindDef name)
    -> Maybe (Schema name)
    -> Bool
    -> Maybe Fixity
    -> [Pragma]
    -> Bool
    -> Maybe String
    -> Bind name
    Bind { bName :: LPName
    bName      = LPName
    happy_var_2
                                              , bParams :: [Pattern PName]
    bParams    = [Pattern PName
    happy_var_1,Pattern PName
    happy_var_3]
                                              , bDef :: Located (BindDef PName)
    bDef       = Expr PName -> Located (BindDef PName) -> Located (BindDef PName)
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Expr PName
    happy_var_5 (Range -> BindDef PName -> Located (BindDef PName)
    forall a. Range -> a -> Located a
    Located Range
    emptyRange (Expr PName -> BindDef PName
    forall name. Expr name -> BindDef name
    DExpr Expr PName
    happy_var_5))
                                              , bSignature :: Maybe (Schema PName)
    bSignature = Maybe (Schema PName)
    forall k1. Maybe k1
    Nothing
                                              , bPragmas :: [Pragma]
    bPragmas   = []
                                              , bMono :: Bool
    bMono      = Bool
    False
                                              , bInfix :: Bool
    bInfix     = Bool
    True
                                              , bFixity :: Maybe Fixity
    bFixity    = Maybe Fixity
    forall k1. Maybe k1
    Nothing
                                              , bDoc :: Maybe String
    bDoc       = Maybe String
    forall k1. Maybe k1
    Nothing
                                              }
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}}

    happyReduce_75 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_75 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_75 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 4# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_75
    happyReduction_75 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_75 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_type   ) _)) ->
    	case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_2 of { (HappyWrap109 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_4 of { (HappyWrap99 happy_var_4 :: Type PName
    happy_var_4) ->
    	( (Range, Type PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Type PName
    happy_var_4) (Decl PName -> Decl PName)
    -> ParseM (Decl PName) -> ParseM (Decl PName)
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
    mkTySyn LPName
    happy_var_2 [] Type PName
    happy_var_4)}}})
    	) (\r :: Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn36 Decl PName
    r))

    happyReduce_76 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_76 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_76 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 5# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_76
    happyReduction_76 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_76 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_type   ) _)) ->
    	case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_2 of { (HappyWrap109 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap98
    happyOut98 HappyAbsSyn
    happy_x_3 of { (HappyWrap98 happy_var_3 :: [TParam PName]
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_5 of { (HappyWrap99 happy_var_5 :: Type PName
    happy_var_5) ->
    	( (Range, Type PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Type PName
    happy_var_5) (Decl PName -> Decl PName)
    -> ParseM (Decl PName) -> ParseM (Decl PName)
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
    mkTySyn LPName
    happy_var_2 ([TParam PName] -> [TParam PName]
    forall a. [a] -> [a]
    reverse [TParam PName]
    happy_var_3) Type PName
    happy_var_5)}}}})
    	) (\r :: Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn36 Decl PName
    r))

    happyReduce_77 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_77 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_77 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 6# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_77
    happyReduction_77 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_77 (happy_x_6 :: HappyAbsSyn
    happy_x_6 `HappyStk`
    	happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_type   ) _)) ->
    	case HappyAbsSyn -> HappyWrap97
    happyOut97 HappyAbsSyn
    happy_x_2 of { (HappyWrap97 happy_var_2 :: TParam PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_3 of { (HappyWrap51 happy_var_3 :: LPName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap97
    happyOut97 HappyAbsSyn
    happy_x_4 of { (HappyWrap97 happy_var_4 :: TParam PName
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_6 of { (HappyWrap99 happy_var_6 :: Type PName
    happy_var_6) ->
    	( (Range, Type PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Type PName
    happy_var_6) (Decl PName -> Decl PName)
    -> ParseM (Decl PName) -> ParseM (Decl PName)
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
    mkTySyn LPName
    happy_var_3 [TParam PName
    happy_var_2, TParam PName
    happy_var_4] Type PName
    happy_var_6)}}}}})
    	) (\r :: Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn36 Decl PName
    r))

    happyReduce_78 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_78 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_78 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 5# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_78
    happyReduction_78 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_78 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (KW KW_constraint) _)) ->
    	case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_5 of { (HappyWrap99 happy_var_5 :: Type PName
    happy_var_5) ->
    	( (Range, Type PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_2,Type PName
    happy_var_5) (Decl PName -> Decl PName)
    -> ParseM (Decl PName) -> ParseM (Decl PName)
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
    mkPropSyn LPName
    happy_var_3 [] Type PName
    happy_var_5)}}})
    	) (\r :: Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn36 Decl PName
    r))

    happyReduce_79 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_79 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_79 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 6# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_79
    happyReduction_79 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_79 (happy_x_6 :: HappyAbsSyn
    happy_x_6 `HappyStk`
    	happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (KW KW_constraint) _)) ->
    	case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_3 of { (HappyWrap109 happy_var_3 :: LPName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap98
    happyOut98 HappyAbsSyn
    happy_x_4 of { (HappyWrap98 happy_var_4 :: [TParam PName]
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_6 of { (HappyWrap99 happy_var_6 :: Type PName
    happy_var_6) ->
    	( (Range, Type PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_2,Type PName
    happy_var_6) (Decl PName -> Decl PName)
    -> ParseM (Decl PName) -> ParseM (Decl PName)
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
    mkPropSyn LPName
    happy_var_3 ([TParam PName] -> [TParam PName]
    forall a. [a] -> [a]
    reverse [TParam PName]
    happy_var_4) Type PName
    happy_var_6)}}}})
    	) (\r :: Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn36 Decl PName
    r))

    happyReduce_80 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_80 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_80 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 7# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_80
    happyReduction_80 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_80 (happy_x_7 :: HappyAbsSyn
    happy_x_7 `HappyStk`
    	happy_x_6 :: HappyAbsSyn
    happy_x_6 `HappyStk`
    	happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (KW KW_constraint) _)) ->
    	case HappyAbsSyn -> HappyWrap97
    happyOut97 HappyAbsSyn
    happy_x_3 of { (HappyWrap97 happy_var_3 :: TParam PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_4 of { (HappyWrap51 happy_var_4 :: LPName
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap97
    happyOut97 HappyAbsSyn
    happy_x_5 of { (HappyWrap97 happy_var_5 :: TParam PName
    happy_var_5) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_7 of { (HappyWrap99 happy_var_7 :: Type PName
    happy_var_7) ->
    	( (Range, Type PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_2,Type PName
    happy_var_7) (Decl PName -> Decl PName)
    -> ParseM (Decl PName) -> ParseM (Decl PName)
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` LPName -> [TParam PName] -> Type PName -> ParseM (Decl PName)
    mkPropSyn LPName
    happy_var_4 [TParam PName
    happy_var_3, TParam PName
    happy_var_5] Type PName
    happy_var_7)}}}}})
    	) (\r :: Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn36 Decl PName
    r))

    happyReduce_81 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_81 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_81 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 3# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_81
    happyReduction_81 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_81 (happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (happy_var_2 :: Located Token
    happy_var_2@(Located _ (Token (Num   {}) _))) ->
    	case HappyAbsSyn -> HappyWrap54
    happyOut54 HappyAbsSyn
    happy_x_3 of { (HappyWrap54 happy_var_3 :: [LPName]
    happy_var_3) ->
    	( Assoc -> Located Token -> [LPName] -> ParseM (Decl PName)
    mkFixity Assoc
    LeftAssoc  Located Token
    happy_var_2 ([LPName] -> [LPName]
    forall a. [a] -> [a]
    reverse [LPName]
    happy_var_3))}})
    	) (\r :: Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn36 Decl PName
    r))

    happyReduce_82 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_82 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_82 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 3# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_82
    happyReduction_82 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_82 (happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (happy_var_2 :: Located Token
    happy_var_2@(Located _ (Token (Num   {}) _))) ->
    	case HappyAbsSyn -> HappyWrap54
    happyOut54 HappyAbsSyn
    happy_x_3 of { (HappyWrap54 happy_var_3 :: [LPName]
    happy_var_3) ->
    	( Assoc -> Located Token -> [LPName] -> ParseM (Decl PName)
    mkFixity Assoc
    RightAssoc Located Token
    happy_var_2 ([LPName] -> [LPName]
    forall a. [a] -> [a]
    reverse [LPName]
    happy_var_3))}})
    	) (\r :: Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn36 Decl PName
    r))

    happyReduce_83 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_83 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_83 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 3# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_83
    happyReduction_83 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_83 (happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (happy_var_2 :: Located Token
    happy_var_2@(Located _ (Token (Num   {}) _))) ->
    	case HappyAbsSyn -> HappyWrap54
    happyOut54 HappyAbsSyn
    happy_x_3 of { (HappyWrap54 happy_var_3 :: [LPName]
    happy_var_3) ->
    	( Assoc -> Located Token -> [LPName] -> ParseM (Decl PName)
    mkFixity Assoc
    NonAssoc   Located Token
    happy_var_2 ([LPName] -> [LPName]
    forall a. [a] -> [a]
    reverse [LPName]
    happy_var_3))}})
    	) (\r :: Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn36 Decl PName
    r))

    happyReduce_84 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_84 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_84 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 1# 21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall a p. HappyStk a -> p -> ParseM HappyAbsSyn
    happyReduction_84
    happyReduction_84 :: HappyStk a -> p -> ParseM HappyAbsSyn
    happyReduction_84 (happy_x_1 :: a
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk a
    happyRest) tk :: p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((( String -> ParseM (Decl PName)
    forall a. String -> ParseM a
    expected "a declaration"))
    	) (\r :: Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn36 Decl PName
    r))

    happyReduce_85 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_85 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_85 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 22# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_85
    happyReduction_85 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_85 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap85
    happyOut85 HappyAbsSyn
    happy_x_2 of { (HappyWrap85 happy_var_2 :: Pattern PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_4 of { (HappyWrap55 happy_var_4 :: Expr PName
    happy_var_4) ->
    	Decl PName -> HappyAbsSyn
    happyIn37
    		 ((Pattern PName, Expr PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Pattern PName
    happy_var_2,Expr PName
    happy_var_4) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $ Pattern PName -> Expr PName -> Decl PName
    forall name. Pattern name -> Expr name -> Decl name
    DPatBind Pattern PName
    happy_var_2 Expr PName
    happy_var_4
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}

    happyReduce_86 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_86 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_86 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 5# 22# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_86
    happyReduction_86 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_86 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_2 of { (HappyWrap109 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap45
    happyOut45 HappyAbsSyn
    happy_x_3 of { (HappyWrap45 happy_var_3 :: ([Pattern PName], [Pattern PName])
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_5 of { (HappyWrap55 happy_var_5 :: Expr PName
    happy_var_5) ->
    	Decl PName -> HappyAbsSyn
    happyIn37
    		 ((LPName, Expr PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (LPName
    happy_var_2,Expr PName
    happy_var_5) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $ LPName
    -> ([Pattern PName], [Pattern PName]) -> Expr PName -> Decl PName
    mkIndexedDecl LPName
    happy_var_2 ([Pattern PName], [Pattern PName])
    happy_var_3 Expr PName
    happy_var_5
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_87 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_87 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_87 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 23# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_87
    happyReduction_87 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_87 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap112
    happyOut112 HappyAbsSyn
    happy_x_2 of { (HappyWrap112 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap39
    happyOut39 HappyAbsSyn
    happy_x_4 of { (HappyWrap39 happy_var_4 :: [Named (Type PName)]
    happy_var_4) ->
    	Newtype PName -> HappyAbsSyn
    happyIn38
    		 (Newtype :: forall name.
    Located name
    -> [TParam name] -> [Named (Type name)] -> Newtype name
    Newtype { nName :: LPName
    nName = LPName
    happy_var_2, nParams :: [TParam PName]
    nParams = [], nBody :: [Named (Type PName)]
    nBody = [Named (Type PName)]
    happy_var_4 }
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}

    happyReduce_88 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_88 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_88 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 5# 23# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_88
    happyReduction_88 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_88 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap112
    happyOut112 HappyAbsSyn
    happy_x_2 of { (HappyWrap112 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap98
    happyOut98 HappyAbsSyn
    happy_x_3 of { (HappyWrap98 happy_var_3 :: [TParam PName]
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap39
    happyOut39 HappyAbsSyn
    happy_x_5 of { (HappyWrap39 happy_var_5 :: [Named (Type PName)]
    happy_var_5) ->
    	Newtype PName -> HappyAbsSyn
    happyIn38
    		 (Newtype :: forall name.
    Located name
    -> [TParam name] -> [Named (Type name)] -> Newtype name
    Newtype { nName :: LPName
    nName = LPName
    happy_var_2, nParams :: [TParam PName]
    nParams = [TParam PName]
    happy_var_3, nBody :: [Named (Type PName)]
    nBody = [Named (Type PName)]
    happy_var_5 }
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_89 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_89 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_89 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  24# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p p. p -> p -> HappyAbsSyn
    happyReduction_89
    happyReduction_89 :: p -> p -> HappyAbsSyn
    happyReduction_89 happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  [Named (Type PName)] -> HappyAbsSyn
    happyIn39
    		 ([]
    	)

    happyReduce_90 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_90 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_90 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  24# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_90
    happyReduction_90 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_90 happy_x_3 :: p
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap107
    happyOut107 HappyAbsSyn
    happy_x_2 of { (HappyWrap107 happy_var_2 :: [Named (Type PName)]
    happy_var_2) ->
    	[Named (Type PName)] -> HappyAbsSyn
    happyIn39
    		 ([Named (Type PName)]
    happy_var_2
    	)}

    happyReduce_91 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_91 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_91 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  25# HappyAbsSyn -> HappyAbsSyn
    happyReduction_91
    happyReduction_91 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_91 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap41
    happyOut41 HappyAbsSyn
    happy_x_1 of { (HappyWrap41 happy_var_1 :: LPName
    happy_var_1) ->
    	[LPName] -> HappyAbsSyn
    happyIn40
    		 ([ LPName
    happy_var_1]
    	)}

    happyReduce_92 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_92 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_92 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  25# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_92
    happyReduction_92 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_92 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap40
    happyOut40 HappyAbsSyn
    happy_x_1 of { (HappyWrap40 happy_var_1 :: [LPName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap41
    happyOut41 HappyAbsSyn
    happy_x_3 of { (HappyWrap41 happy_var_3 :: LPName
    happy_var_3) ->
    	[LPName] -> HappyAbsSyn
    happyIn40
    		 (LPName
    happy_var_3 LPName -> [LPName] -> [LPName]
    forall k1. k1 -> [k1] -> [k1]
    : [LPName]
    happy_var_1
    	)}}

    happyReduce_93 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_93 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_93 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  26# HappyAbsSyn -> HappyAbsSyn
    happyReduction_93
    happyReduction_93 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_93 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_1 of { (HappyWrap109 happy_var_1 :: LPName
    happy_var_1) ->
    	LPName -> HappyAbsSyn
    happyIn41
    		 (LPName
    happy_var_1
    	)}

    happyReduce_94 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_94 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_94 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  26# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_94
    happyReduction_94 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_94 happy_x_3 :: p
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_2 of { (HappyWrap51 happy_var_2 :: LPName
    happy_var_2) ->
    	LPName -> HappyAbsSyn
    happyIn41
    		 (LPName
    happy_var_2
    	)}

    happyReduce_95 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_95 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_95 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  27# HappyAbsSyn -> HappyAbsSyn
    happyReduction_95
    happyReduction_95 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_95 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap86
    happyOut86 HappyAbsSyn
    happy_x_1 of { (HappyWrap86 happy_var_1 :: Pattern PName
    happy_var_1) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn42
    		 ([Pattern PName
    happy_var_1]
    	)}

    happyReduce_96 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_96 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_96 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  27# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_96
    happyReduction_96 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_96 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap42
    happyOut42 HappyAbsSyn
    happy_x_1 of { (HappyWrap42 happy_var_1 :: [Pattern PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap86
    happyOut86 HappyAbsSyn
    happy_x_2 of { (HappyWrap86 happy_var_2 :: Pattern PName
    happy_var_2) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn42
    		 (Pattern PName
    happy_var_2 Pattern PName -> [Pattern PName] -> [Pattern PName]
    forall k1. k1 -> [k1] -> [k1]
    : [Pattern PName]
    happy_var_1
    	)}}

    happyReduce_97 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_97 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_97 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  28# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_97
    happyReduction_97 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_97 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap44
    happyOut44 HappyAbsSyn
    happy_x_2 of { (HappyWrap44 happy_var_2 :: [Pattern PName]
    happy_var_2) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn43
    		 ([Pattern PName]
    happy_var_2
    	)}

    happyReduce_98 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_98 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_98 = Int#
    -> HappyAbsSyn
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  28# HappyAbsSyn
    happyReduction_98
    happyReduction_98 :: HappyAbsSyn
    happyReduction_98  =  [Pattern PName] -> HappyAbsSyn
    happyIn43
    		 ([]
    	)

    happyReduce_99 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_99 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_99 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  29# HappyAbsSyn -> HappyAbsSyn
    happyReduction_99
    happyReduction_99 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_99 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap86
    happyOut86 HappyAbsSyn
    happy_x_1 of { (HappyWrap86 happy_var_1 :: Pattern PName
    happy_var_1) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn44
    		 ([Pattern PName
    happy_var_1]
    	)}

    happyReduce_100 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_100 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_100 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  29# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_100
    happyReduction_100 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_100 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap44
    happyOut44 HappyAbsSyn
    happy_x_1 of { (HappyWrap44 happy_var_1 :: [Pattern PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap86
    happyOut86 HappyAbsSyn
    happy_x_3 of { (HappyWrap86 happy_var_3 :: Pattern PName
    happy_var_3) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn44
    		 (Pattern PName
    happy_var_3 Pattern PName -> [Pattern PName] -> [Pattern PName]
    forall k1. k1 -> [k1] -> [k1]
    : [Pattern PName]
    happy_var_1
    	)}}

    happyReduce_101 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_101 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_101 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  30# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_101
    happyReduction_101 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_101 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap42
    happyOut42 HappyAbsSyn
    happy_x_1 of { (HappyWrap42 happy_var_1 :: [Pattern PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap43
    happyOut43 HappyAbsSyn
    happy_x_2 of { (HappyWrap43 happy_var_2 :: [Pattern PName]
    happy_var_2) ->
    	([Pattern PName], [Pattern PName]) -> HappyAbsSyn
    happyIn45
    		 (([Pattern PName]
    happy_var_1, [Pattern PName]
    happy_var_2)
    	)}}

    happyReduce_102 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_102 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_102 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  30# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_102
    happyReduction_102 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_102 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap44
    happyOut44 HappyAbsSyn
    happy_x_2 of { (HappyWrap44 happy_var_2 :: [Pattern PName]
    happy_var_2) ->
    	([Pattern PName], [Pattern PName]) -> HappyAbsSyn
    happyIn45
    		 (([], [Pattern PName]
    happy_var_2)
    	)}

    happyReduce_103 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_103 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_103 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  31# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_103
    happyReduction_103 :: p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_103 happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    happy_x_1 of { (HappyWrap36 happy_var_1 :: Decl PName
    happy_var_1) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn46
    		 ([Decl PName
    happy_var_1]
    	)}

    happyReduce_104 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_104 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_104 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  31# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_104
    happyReduction_104 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_104 happy_x_3 :: p
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap46
    happyOut46 HappyAbsSyn
    happy_x_1 of { (HappyWrap46 happy_var_1 :: [Decl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    happy_x_2 of { (HappyWrap36 happy_var_2 :: Decl PName
    happy_var_2) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn46
    		 (Decl PName
    happy_var_2 Decl PName -> [Decl PName] -> [Decl PName]
    forall k1. k1 -> [k1] -> [k1]
    : [Decl PName]
    happy_var_1
    	)}}

    happyReduce_105 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_105 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_105 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  32# HappyAbsSyn -> HappyAbsSyn
    happyReduction_105
    happyReduction_105 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_105 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    happy_x_1 of { (HappyWrap36 happy_var_1 :: Decl PName
    happy_var_1) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn47
    		 ([Decl PName
    happy_var_1]
    	)}

    happyReduce_106 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_106 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_106 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  32# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_106
    happyReduction_106 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_106 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap47
    happyOut47 HappyAbsSyn
    happy_x_1 of { (HappyWrap47 happy_var_1 :: [Decl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    happy_x_3 of { (HappyWrap36 happy_var_3 :: Decl PName
    happy_var_3) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn47
    		 (Decl PName
    happy_var_3 Decl PName -> [Decl PName] -> [Decl PName]
    forall k1. k1 -> [k1] -> [k1]
    : [Decl PName]
    happy_var_1
    	)}}

    happyReduce_107 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_107 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_107 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  32# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_107
    happyReduction_107 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_107 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap47
    happyOut47 HappyAbsSyn
    happy_x_1 of { (HappyWrap47 happy_var_1 :: [Decl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    happy_x_3 of { (HappyWrap36 happy_var_3 :: Decl PName
    happy_var_3) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn47
    		 (Decl PName
    happy_var_3 Decl PName -> [Decl PName] -> [Decl PName]
    forall k1. k1 -> [k1] -> [k1]
    : [Decl PName]
    happy_var_1
    	)}}

    happyReduce_108 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_108 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_108 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  33# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_108
    happyReduction_108 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_108 happy_x_3 :: p
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap47
    happyOut47 HappyAbsSyn
    happy_x_2 of { (HappyWrap47 happy_var_2 :: [Decl PName]
    happy_var_2) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn48
    		 ([Decl PName]
    happy_var_2
    	)}

    happyReduce_109 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_109 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_109 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  33# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p p. p -> p -> HappyAbsSyn
    happyReduction_109
    happyReduction_109 :: p -> p -> HappyAbsSyn
    happyReduction_109 happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  [Decl PName] -> HappyAbsSyn
    happyIn48
    		 ([]
    	)

    happyReduce_110 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_110 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_110 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  34# HappyAbsSyn -> HappyAbsSyn
    happyReduction_110
    happyReduction_110 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_110 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
    happy_var_1) ->
    	ReplInput PName -> HappyAbsSyn
    happyIn49
    		 (Expr PName -> ReplInput PName
    forall name. Expr name -> ReplInput name
    ExprInput Expr PName
    happy_var_1
    	)}

    happyReduce_111 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_111 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_111 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  34# HappyAbsSyn -> HappyAbsSyn
    happyReduction_111
    happyReduction_111 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_111 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap37
    happyOut37 HappyAbsSyn
    happy_x_1 of { (HappyWrap37 happy_var_1 :: Decl PName
    happy_var_1) ->
    	ReplInput PName -> HappyAbsSyn
    happyIn49
    		 (Decl PName -> ReplInput PName
    forall name. Decl name -> ReplInput name
    LetInput Decl PName
    happy_var_1
    	)}

    happyReduce_112 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_112 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_112 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  35# HappyAbsSyn -> HappyAbsSyn
    happyReduction_112
    happyReduction_112 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_112 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_1 of { (HappyWrap51 happy_var_1 :: LPName
    happy_var_1) ->
    	LPName -> HappyAbsSyn
    happyIn50
    		 (LPName
    happy_var_1
    	)}

    happyReduce_113 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_113 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_113 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  35# HappyAbsSyn -> HappyAbsSyn
    happyReduction_113
    happyReduction_113 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_113 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (Op  Other{}   )  _))) ->
    	LPName -> HappyAbsSyn
    happyIn50
    		 (let Token (Op (Other ns :: [Text]
    ns i :: Text
    i)) _ = Located Token -> Token
    forall a. Located a -> a
    thing Located Token
    happy_var_1
                                           in ModName -> Ident -> PName
    mkQual ([Text] -> ModName
    mkModName [Text]
    ns) (Text -> Ident
    mkInfix Text
    i) PName -> Located Token -> LPName
    forall (f :: * -> *) a b. Functor f => a -> f b -> f a
    A.<$ Located Token
    happy_var_1
    	)}

    happyReduce_114 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_114 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_114 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  36# HappyAbsSyn -> HappyAbsSyn
    happyReduction_114
    happyReduction_114 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_114 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap52
    happyOut52 HappyAbsSyn
    happy_x_1 of { (HappyWrap52 happy_var_1 :: LPName
    happy_var_1) ->
    	LPName -> HappyAbsSyn
    happyIn51
    		 (LPName
    happy_var_1
    	)}

    happyReduce_115 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_115 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_115 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  36# HappyAbsSyn -> HappyAbsSyn
    happyReduction_115
    happyReduction_115 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_115 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Hash) _)) ->
    	LPName -> HappyAbsSyn
    happyIn51
    		 (Range -> PName -> LPName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> LPName) -> PName -> LPName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix "#"
    	)}

    happyReduce_116 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_116 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_116 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  36# HappyAbsSyn -> HappyAbsSyn
    happyReduction_116
    happyReduction_116 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_116 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op At) _)) ->
    	LPName -> HappyAbsSyn
    happyIn51
    		 (Range -> PName -> LPName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> LPName) -> PName -> LPName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix "@"
    	)}

    happyReduce_117 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_117 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_117 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
    happyReduction_117
    happyReduction_117 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_117 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap53
    happyOut53 HappyAbsSyn
    happy_x_1 of { (HappyWrap53 happy_var_1 :: LPName
    happy_var_1) ->
    	LPName -> HappyAbsSyn
    happyIn52
    		 (LPName
    happy_var_1
    	)}

    happyReduce_118 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_118 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_118 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
    happyReduction_118
    happyReduction_118 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_118 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Mul)   _)) ->
    	LPName -> HappyAbsSyn
    happyIn52
    		 (Range -> PName -> LPName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> LPName) -> PName -> LPName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix "*"
    	)}

    happyReduce_119 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_119 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_119 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
    happyReduction_119
    happyReduction_119 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_119 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Plus)  _)) ->
    	LPName -> HappyAbsSyn
    happyIn52
    		 (Range -> PName -> LPName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> LPName) -> PName -> LPName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix "+"
    	)}

    happyReduce_120 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_120 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_120 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
    happyReduction_120
    happyReduction_120 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_120 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Minus) _)) ->
    	LPName -> HappyAbsSyn
    happyIn52
    		 (Range -> PName -> LPName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> LPName) -> PName -> LPName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix "-"
    	)}

    happyReduce_121 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_121 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_121 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
    happyReduction_121
    happyReduction_121 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_121 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Complement) _)) ->
    	LPName -> HappyAbsSyn
    happyIn52
    		 (Range -> PName -> LPName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> LPName) -> PName -> LPName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix "~"
    	)}

    happyReduce_122 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_122 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_122 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  37# HappyAbsSyn -> HappyAbsSyn
    happyReduction_122
    happyReduction_122 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_122 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Exp)   _)) ->
    	LPName -> HappyAbsSyn
    happyIn52
    		 (Range -> PName -> LPName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> LPName) -> PName -> LPName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix "^^"
    	)}

    happyReduce_123 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_123 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_123 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  38# HappyAbsSyn -> HappyAbsSyn
    happyReduction_123
    happyReduction_123 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_123 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (Op (Other [] _)) _))) ->
    	LPName -> HappyAbsSyn
    happyIn53
    		 (let Token (Op (Other [] str :: Text
    str)) _ = Located Token -> Token
    forall a. Located a -> a
    thing Located Token
    happy_var_1
                                           in Ident -> PName
    mkUnqual (Text -> Ident
    mkInfix Text
    str) PName -> Located Token -> LPName
    forall (f :: * -> *) a b. Functor f => a -> f b -> f a
    A.<$ Located Token
    happy_var_1
    	)}

    happyReduce_124 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_124 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_124 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  39# HappyAbsSyn -> HappyAbsSyn
    happyReduction_124
    happyReduction_124 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_124 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_1 of { (HappyWrap51 happy_var_1 :: LPName
    happy_var_1) ->
    	[LPName] -> HappyAbsSyn
    happyIn54
    		 ([LPName
    happy_var_1]
    	)}

    happyReduce_125 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_125 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_125 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  39# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_125
    happyReduction_125 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_125 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap54
    happyOut54 HappyAbsSyn
    happy_x_1 of { (HappyWrap54 happy_var_1 :: [LPName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_3 of { (HappyWrap51 happy_var_3 :: LPName
    happy_var_3) ->
    	[LPName] -> HappyAbsSyn
    happyIn54
    		 (LPName
    happy_var_3 LPName -> [LPName] -> [LPName]
    forall k1. k1 -> [k1] -> [k1]
    : [LPName]
    happy_var_1
    	)}}

    happyReduce_126 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_126 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_126 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  40# HappyAbsSyn -> HappyAbsSyn
    happyReduction_126
    happyReduction_126 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_126 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap56
    happyOut56 HappyAbsSyn
    happy_x_1 of { (HappyWrap56 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn55
    		 (Expr PName
    happy_var_1
    	)}

    happyReduce_127 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_127 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_127 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  40# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_127
    happyReduction_127 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_127 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap57
    happyOut57 HappyAbsSyn
    happy_x_3 of { (HappyWrap57 happy_var_3 :: Located [Decl PName]
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn55
    		 ((Expr PName, Located [Decl PName]) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Expr PName
    happy_var_1,Located [Decl PName]
    happy_var_3) (Expr PName -> [Decl PName] -> Expr PName
    forall n. Expr n -> [Decl n] -> Expr n
    EWhere Expr PName
    happy_var_1 (Located [Decl PName] -> [Decl PName]
    forall a. Located a -> a
    thing Located [Decl PName]
    happy_var_3))
    	)}}

    happyReduce_128 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_128 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_128 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  41# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_128
    happyReduction_128 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_128 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap59
    happyOut59 HappyAbsSyn
    happy_x_1 of { (HappyWrap59 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap50
    happyOut50 HappyAbsSyn
    happy_x_2 of { (HappyWrap50 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap64
    happyOut64 HappyAbsSyn
    happy_x_3 of { (HappyWrap64 happy_var_3 :: Expr PName
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn56
    		 ((Expr PName, Expr PName) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Expr PName
    happy_var_1,Expr PName
    happy_var_3) (Expr PName -> LPName -> Expr PName -> Expr PName
    binOp Expr PName
    happy_var_1 LPName
    happy_var_2 Expr PName
    happy_var_3)
    	)}}}

    happyReduce_129 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_129 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_129 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  41# HappyAbsSyn -> HappyAbsSyn
    happyReduction_129
    happyReduction_129 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_129 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap64
    happyOut64 HappyAbsSyn
    happy_x_1 of { (HappyWrap64 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn56
    		 (Expr PName
    happy_var_1
    	)}

    happyReduce_130 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_130 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_130 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  41# HappyAbsSyn -> HappyAbsSyn
    happyReduction_130
    happyReduction_130 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_130 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap58
    happyOut58 HappyAbsSyn
    happy_x_1 of { (HappyWrap58 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn56
    		 (Expr PName
    happy_var_1
    	)}

    happyReduce_131 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_131 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_131 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  42# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_131
    happyReduction_131 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_131 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym CurlyR  ) _)) ->
    	Located [Decl PName] -> HappyAbsSyn
    happyIn57
    		 (Range -> [Decl PName] -> Located [Decl PName]
    forall a. Range -> a -> Located a
    Located (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_2) []
    	)}}

    happyReduce_132 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_132 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_132 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  42# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_132
    happyReduction_132 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_132 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap46
    happyOut46 HappyAbsSyn
    happy_x_2 of { (HappyWrap46 happy_var_2 :: [Decl PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym CurlyR  ) _)) ->
    	Located [Decl PName] -> HappyAbsSyn
    happyIn57
    		 (Range -> [Decl PName] -> Located [Decl PName]
    forall a. Range -> a -> Located a
    Located (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_3) ([Decl PName] -> [Decl PName]
    forall a. [a] -> [a]
    reverse [Decl PName]
    happy_var_2)
    	)}}}

    happyReduce_133 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_133 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_133 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  42# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_133
    happyReduction_133 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_133 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Virt VCurlyL)  _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Virt VCurlyR)  _)) ->
    	Located [Decl PName] -> HappyAbsSyn
    happyIn57
    		 (Range -> [Decl PName] -> Located [Decl PName]
    forall a. Range -> a -> Located a
    Located (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_2) []
    	)}}

    happyReduce_134 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_134 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_134 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  42# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_134
    happyReduction_134 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_134 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Virt VCurlyL)  _)) ->
    	case HappyAbsSyn -> HappyWrap47
    happyOut47 HappyAbsSyn
    happy_x_2 of { (HappyWrap47 happy_var_2 :: [Decl PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Virt VCurlyR)  _)) ->
    	Located [Decl PName] -> HappyAbsSyn
    happyIn57
    		 (let l2 :: Range
    l2 = Range -> Maybe Range -> Range
    forall a. a -> Maybe a -> a
    fromMaybe Range
    happy_var_3 ([Decl PName] -> Maybe Range
    forall t. HasLoc t => t -> Maybe Range
    getLoc [Decl PName]
    happy_var_2)
                                        in Range -> [Decl PName] -> Located [Decl PName]
    forall a. Range -> a -> Located a
    Located (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    l2) ([Decl PName] -> [Decl PName]
    forall a. [a] -> [a]
    reverse [Decl PName]
    happy_var_2)
    	)}}}

    happyReduce_135 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_135 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_135 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  43# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_135
    happyReduction_135 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_135 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap59
    happyOut59 HappyAbsSyn
    happy_x_1 of { (HappyWrap59 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn58
    		 ((Expr PName, Type PName) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Expr PName
    happy_var_1,Type PName
    happy_var_3) (Expr PName -> Type PName -> Expr PName
    forall n. Expr n -> Type n -> Expr n
    ETyped Expr PName
    happy_var_1 Type PName
    happy_var_3)
    	)}}

    happyReduce_136 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_136 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_136 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  44# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_136
    happyReduction_136 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_136 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap59
    happyOut59 HappyAbsSyn
    happy_x_1 of { (HappyWrap59 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap50
    happyOut50 HappyAbsSyn
    happy_x_2 of { (HappyWrap50 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap63
    happyOut63 HappyAbsSyn
    happy_x_3 of { (HappyWrap63 happy_var_3 :: Expr PName
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn59
    		 ((Expr PName, Expr PName) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Expr PName
    happy_var_1,Expr PName
    happy_var_3) (Expr PName -> LPName -> Expr PName -> Expr PName
    binOp Expr PName
    happy_var_1 LPName
    happy_var_2 Expr PName
    happy_var_3)
    	)}}}

    happyReduce_137 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_137 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_137 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  44# HappyAbsSyn -> HappyAbsSyn
    happyReduction_137
    happyReduction_137 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_137 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap63
    happyOut63 HappyAbsSyn
    happy_x_1 of { (HappyWrap63 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn59
    		 (Expr PName
    happy_var_1
    	)}

    happyReduce_138 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_138 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_138 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 45# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_138
    happyReduction_138 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_138 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_if     ) _)) ->
    	case HappyAbsSyn -> HappyWrap61
    happyOut61 HappyAbsSyn
    happy_x_2 of { (HappyWrap61 happy_var_2 :: [(Expr PName, Expr PName)]
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap56
    happyOut56 HappyAbsSyn
    happy_x_4 of { (HappyWrap56 happy_var_4 :: Expr PName
    happy_var_4) ->
    	Expr PName -> HappyAbsSyn
    happyIn60
    		 ((Range, Expr PName) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Expr PName
    happy_var_4) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ [(Expr PName, Expr PName)] -> Expr PName -> Expr PName
    mkIf ([(Expr PName, Expr PName)] -> [(Expr PName, Expr PName)]
    forall a. [a] -> [a]
    reverse [(Expr PName, Expr PName)]
    happy_var_2) Expr PName
    happy_var_4
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_139 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_139 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_139 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 45# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_139
    happyReduction_139 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_139 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym Lambda  ) _)) ->
    	case HappyAbsSyn -> HappyWrap42
    happyOut42 HappyAbsSyn
    happy_x_2 of { (HappyWrap42 happy_var_2 :: [Pattern PName]
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap56
    happyOut56 HappyAbsSyn
    happy_x_4 of { (HappyWrap56 happy_var_4 :: Expr PName
    happy_var_4) ->
    	Expr PName -> HappyAbsSyn
    happyIn60
    		 ((Range, Expr PName) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Expr PName
    happy_var_4) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ [Pattern PName] -> Expr PName -> Expr PName
    forall n. [Pattern n] -> Expr n -> Expr n
    EFun ([Pattern PName] -> [Pattern PName]
    forall a. [a] -> [a]
    reverse [Pattern PName]
    happy_var_2) Expr PName
    happy_var_4
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_140 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_140 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_140 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  46# HappyAbsSyn -> HappyAbsSyn
    happyReduction_140
    happyReduction_140 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_140 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap62
    happyOut62 HappyAbsSyn
    happy_x_1 of { (HappyWrap62 happy_var_1 :: (Expr PName, Expr PName)
    happy_var_1) ->
    	[(Expr PName, Expr PName)] -> HappyAbsSyn
    happyIn61
    		 ([(Expr PName, Expr PName)
    happy_var_1]
    	)}

    happyReduce_141 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_141 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_141 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  46# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_141
    happyReduction_141 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_141 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap61
    happyOut61 HappyAbsSyn
    happy_x_1 of { (HappyWrap61 happy_var_1 :: [(Expr PName, Expr PName)]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap62
    happyOut62 HappyAbsSyn
    happy_x_3 of { (HappyWrap62 happy_var_3 :: (Expr PName, Expr PName)
    happy_var_3) ->
    	[(Expr PName, Expr PName)] -> HappyAbsSyn
    happyIn61
    		 ((Expr PName, Expr PName)
    happy_var_3 (Expr PName, Expr PName)
    -> [(Expr PName, Expr PName)] -> [(Expr PName, Expr PName)]
    forall k1. k1 -> [k1] -> [k1]
    : [(Expr PName, Expr PName)]
    happy_var_1
    	)}}

    happyReduce_142 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_142 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_142 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  47# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_142
    happyReduction_142 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_142 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
    happy_var_3) ->
    	(Expr PName, Expr PName) -> HappyAbsSyn
    happyIn62
    		 ((Expr PName
    happy_var_1, Expr PName
    happy_var_3)
    	)}}

    happyReduce_143 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_143 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_143 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  48# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_143
    happyReduction_143 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_143 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Minus) _)) ->
    	case HappyAbsSyn -> HappyWrap65
    happyOut65 HappyAbsSyn
    happy_x_2 of { (HappyWrap65 happy_var_2 :: Expr PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn63
    		 ((Range, Expr PName) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Expr PName
    happy_var_2) (Expr PName -> Expr PName
    forall n. Expr n -> Expr n
    ENeg Expr PName
    happy_var_2)
    	)}}

    happyReduce_144 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_144 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_144 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  48# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_144
    happyReduction_144 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_144 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Complement) _)) ->
    	case HappyAbsSyn -> HappyWrap65
    happyOut65 HappyAbsSyn
    happy_x_2 of { (HappyWrap65 happy_var_2 :: Expr PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn63
    		 ((Range, Expr PName) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Expr PName
    happy_var_2) (Expr PName -> Expr PName
    forall n. Expr n -> Expr n
    EComplement Expr PName
    happy_var_2)
    	)}}

    happyReduce_145 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_145 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_145 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  48# HappyAbsSyn -> HappyAbsSyn
    happyReduction_145
    happyReduction_145 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_145 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap65
    happyOut65 HappyAbsSyn
    happy_x_1 of { (HappyWrap65 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn63
    		 (Expr PName
    happy_var_1
    	)}

    happyReduce_146 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_146 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_146 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  49# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_146
    happyReduction_146 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_146 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Minus) _)) ->
    	case HappyAbsSyn -> HappyWrap66
    happyOut66 HappyAbsSyn
    happy_x_2 of { (HappyWrap66 happy_var_2 :: Expr PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn64
    		 ((Range, Expr PName) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Expr PName
    happy_var_2) (Expr PName -> Expr PName
    forall n. Expr n -> Expr n
    ENeg Expr PName
    happy_var_2)
    	)}}

    happyReduce_147 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_147 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_147 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  49# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_147
    happyReduction_147 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_147 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Complement) _)) ->
    	case HappyAbsSyn -> HappyWrap66
    happyOut66 HappyAbsSyn
    happy_x_2 of { (HappyWrap66 happy_var_2 :: Expr PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn64
    		 ((Range, Expr PName) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Expr PName
    happy_var_2) (Expr PName -> Expr PName
    forall n. Expr n -> Expr n
    EComplement Expr PName
    happy_var_2)
    	)}}

    happyReduce_148 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_148 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_148 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  49# HappyAbsSyn -> HappyAbsSyn
    happyReduction_148
    happyReduction_148 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_148 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap66
    happyOut66 HappyAbsSyn
    happy_x_1 of { (HappyWrap66 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn64
    		 (Expr PName
    happy_var_1
    	)}

    happyReduce_149 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_149 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_149 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  50# HappyAbsSyn -> HappyAbsSyn
    happyReduction_149
    happyReduction_149 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_149 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap67
    happyOut67 HappyAbsSyn
    happy_x_1 of { (HappyWrap67 happy_var_1 :: [Expr PName]
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn65
    		 ([Expr PName] -> Expr PName
    mkEApp [Expr PName]
    happy_var_1
    	)}

    happyReduce_150 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_150 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_150 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  51# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_150
    happyReduction_150 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_150 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap65
    happyOut65 HappyAbsSyn
    happy_x_1 of { (HappyWrap65 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap60
    happyOut60 HappyAbsSyn
    happy_x_2 of { (HappyWrap60 happy_var_2 :: Expr PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn66
    		 ((Expr PName, Expr PName) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Expr PName
    happy_var_1,Expr PName
    happy_var_2) (Expr PName -> Expr PName -> Expr PName
    forall n. Expr n -> Expr n -> Expr n
    EApp Expr PName
    happy_var_1 Expr PName
    happy_var_2)
    	)}}

    happyReduce_151 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_151 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_151 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  51# HappyAbsSyn -> HappyAbsSyn
    happyReduction_151
    happyReduction_151 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_151 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap60
    happyOut60 HappyAbsSyn
    happy_x_1 of { (HappyWrap60 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn66
    		 (Expr PName
    happy_var_1
    	)}

    happyReduce_152 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_152 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_152 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  51# HappyAbsSyn -> HappyAbsSyn
    happyReduction_152
    happyReduction_152 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_152 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap65
    happyOut65 HappyAbsSyn
    happy_x_1 of { (HappyWrap65 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn66
    		 (Expr PName
    happy_var_1
    	)}

    happyReduce_153 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_153 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_153 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  52# HappyAbsSyn -> HappyAbsSyn
    happyReduction_153
    happyReduction_153 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_153 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap68
    happyOut68 HappyAbsSyn
    happy_x_1 of { (HappyWrap68 happy_var_1 :: Expr PName
    happy_var_1) ->
    	[Expr PName] -> HappyAbsSyn
    happyIn67
    		 ([Expr PName
    happy_var_1]
    	)}

    happyReduce_154 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_154 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_154 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  52# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_154
    happyReduction_154 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_154 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap67
    happyOut67 HappyAbsSyn
    happy_x_1 of { (HappyWrap67 happy_var_1 :: [Expr PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap68
    happyOut68 HappyAbsSyn
    happy_x_2 of { (HappyWrap68 happy_var_2 :: Expr PName
    happy_var_2) ->
    	[Expr PName] -> HappyAbsSyn
    happyIn67
    		 (Expr PName
    happy_var_2 Expr PName -> [Expr PName] -> [Expr PName]
    forall k1. k1 -> [k1] -> [k1]
    : [Expr PName]
    happy_var_1
    	)}}

    happyReduce_155 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_155 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_155 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  53# HappyAbsSyn -> HappyAbsSyn
    happyReduction_155
    happyReduction_155 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_155 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap69
    happyOut69 HappyAbsSyn
    happy_x_1 of { (HappyWrap69 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn68
    		 (Expr PName
    happy_var_1
    	)}

    happyReduce_156 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_156 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_156 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  53# HappyAbsSyn -> HappyAbsSyn
    happyReduction_156
    happyReduction_156 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_156 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap70
    happyOut70 HappyAbsSyn
    happy_x_1 of { (HappyWrap70 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn68
    		 (Expr PName
    happy_var_1
    	)}

    happyReduce_157 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_157 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_157 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  54# HappyAbsSyn -> HappyAbsSyn
    happyReduction_157
    happyReduction_157 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_157 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap112
    happyOut112 HappyAbsSyn
    happy_x_1 of { (HappyWrap112 happy_var_1 :: LPName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 (LPName -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at LPName
    happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ PName -> Expr PName
    forall n. n -> Expr n
    EVar (LPName -> PName
    forall a. Located a -> a
    thing LPName
    happy_var_1)
    	)}

    happyReduce_158 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_158 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_158 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  54# HappyAbsSyn -> HappyAbsSyn
    happyReduction_158
    happyReduction_158 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_158 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (Num   {}) _))) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 (Located Token -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Located Token
    happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ TokenT -> Expr PName
    numLit (Token -> TokenT
    tokenType (Located Token -> Token
    forall a. Located a -> a
    thing Located Token
    happy_var_1))
    	)}

    happyReduce_159 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_159 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_159 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  54# HappyAbsSyn -> HappyAbsSyn
    happyReduction_159
    happyReduction_159 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_159 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (StrLit {}) _))) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 (Located Token -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Located Token
    happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ Literal -> Expr PName
    forall n. Literal -> Expr n
    ELit (Literal -> Expr PName) -> Literal -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ String -> Literal
    ECString (String -> Literal) -> String -> Literal
    forall a b. (a -> b) -> a -> b
    $ Located Token -> String
    getStr Located Token
    happy_var_1
    	)}

    happyReduce_160 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_160 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_160 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  54# HappyAbsSyn -> HappyAbsSyn
    happyReduction_160
    happyReduction_160 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_160 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (ChrLit {}) _))) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 (Located Token -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Located Token
    happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ Literal -> Expr PName
    forall n. Literal -> Expr n
    ELit (Literal -> Expr PName) -> Literal -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ Integer -> NumInfo -> Literal
    ECNum (Located Token -> Integer
    getNum Located Token
    happy_var_1) NumInfo
    CharLit
    	)}

    happyReduce_161 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_161 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_161 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  54# HappyAbsSyn -> HappyAbsSyn
    happyReduction_161
    happyReduction_161 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_161 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym Underscore ) _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 (Range -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Range
    happy_var_1 (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ PName -> Expr PName
    forall n. n -> Expr n
    EVar (PName -> Expr PName) -> PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkIdent "_"
    	)}

    happyReduce_162 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_162 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_162 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_162
    happyReduction_162 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_162 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_2 of { (HappyWrap55 happy_var_2 :: Expr PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym ParenR  ) _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 ((Range, Range) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ Expr PName -> Expr PName
    forall n. Expr n -> Expr n
    EParens Expr PName
    happy_var_2
    	)}}}

    happyReduce_163 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_163 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_163 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_163
    happyReduction_163 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_163 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap74
    happyOut74 HappyAbsSyn
    happy_x_2 of { (HappyWrap74 happy_var_2 :: [Expr PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym ParenR  ) _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 ((Range, Range) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ [Expr PName] -> Expr PName
    forall n. [Expr n] -> Expr n
    ETuple ([Expr PName] -> [Expr PName]
    forall a. [a] -> [a]
    reverse [Expr PName]
    happy_var_2)
    	)}}}

    happyReduce_164 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_164 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_164 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_164
    happyReduction_164 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_164 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym ParenR  ) _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 ((Range, Range) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ [Expr PName] -> Expr PName
    forall n. [Expr n] -> Expr n
    ETuple []
    	)}}

    happyReduce_165 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_165 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_165 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_165
    happyReduction_165 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_165 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym CurlyR  ) _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 ((Range, Range) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ [Named (Expr PName)] -> Expr PName
    forall n. [Named (Expr n)] -> Expr n
    ERecord []
    	)}}

    happyReduce_166 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_166 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_166 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_166
    happyReduction_166 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_166 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_2 of { (HappyWrap75 happy_var_2 :: Expr PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym CurlyR  ) _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 ((Range, Range) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) Expr PName
    happy_var_2
    	)}}}

    happyReduce_167 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_167 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_167 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_167
    happyReduction_167 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_167 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym BracketL) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym BracketR) _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 ((Range, Range) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ [Expr PName] -> Expr PName
    forall n. [Expr n] -> Expr n
    EList []
    	)}}

    happyReduce_168 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_168 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_168 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_168
    happyReduction_168 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_168 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym BracketL) _)) ->
    	case HappyAbsSyn -> HappyWrap80
    happyOut80 HappyAbsSyn
    happy_x_2 of { (HappyWrap80 happy_var_2 :: Expr PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym BracketR) _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 ((Range, Range) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) Expr PName
    happy_var_2
    	)}}}

    happyReduce_169 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_169 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_169 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_169
    happyReduction_169 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_169 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym BackTick) _)) ->
    	case HappyAbsSyn -> HappyWrap114
    happyOut114 HappyAbsSyn
    happy_x_2 of { (HappyWrap114 happy_var_2 :: Type PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 ((Range, Type PName) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Type PName
    happy_var_2) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ Type PName -> Expr PName
    forall n. Type n -> Expr n
    ETypeVal Type PName
    happy_var_2
    	)}}

    happyReduce_170 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_170 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_170 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  54# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_170
    happyReduction_170 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_170 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap50
    happyOut50 HappyAbsSyn
    happy_x_2 of { (HappyWrap50 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym ParenR  ) _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn69
    		 ((Range, Range) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ PName -> Expr PName
    forall n. n -> Expr n
    EVar (PName -> Expr PName) -> PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ LPName -> PName
    forall a. Located a -> a
    thing LPName
    happy_var_2
    	)}}}

    happyReduce_171 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_171 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_171 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 2# 54# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_171
    happyReduction_171 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_171 (happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym TriL    ) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym TriR    ) _)) ->
    	( Range -> [(Bool, Integer)] -> ParseM (Expr PName)
    mkPoly (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_2) [])}})
    	) (\r :: Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn69 Expr PName
    r))

    happyReduce_172 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_172 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_172 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 3# 54# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_172
    happyReduction_172 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_172 (happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym TriL    ) _)) ->
    	case HappyAbsSyn -> HappyWrap71
    happyOut71 HappyAbsSyn
    happy_x_2 of { (HappyWrap71 happy_var_2 :: [(Bool, Integer)]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym TriR    ) _)) ->
    	( Range -> [(Bool, Integer)] -> ParseM (Expr PName)
    mkPoly (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_3) [(Bool, Integer)]
    happy_var_2)}}})
    	) (\r :: Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn69 Expr PName
    r))

    happyReduce_173 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_173 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_173 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  55# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_173
    happyReduction_173 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_173 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap69
    happyOut69 HappyAbsSyn
    happy_x_1 of { (HappyWrap69 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap73
    happyOut73 HappyAbsSyn
    happy_x_3 of { (HappyWrap73 happy_var_3 :: Located Selector
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn70
    		 ((Expr PName, Located Selector) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Expr PName
    happy_var_1,Located Selector
    happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ Expr PName -> Selector -> Expr PName
    forall n. Expr n -> Selector -> Expr n
    ESel Expr PName
    happy_var_1 (Located Selector -> Selector
    forall a. Located a -> a
    thing Located Selector
    happy_var_3)
    	)}}

    happyReduce_174 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_174 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_174 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  55# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_174
    happyReduction_174 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_174 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap70
    happyOut70 HappyAbsSyn
    happy_x_1 of { (HappyWrap70 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap73
    happyOut73 HappyAbsSyn
    happy_x_3 of { (HappyWrap73 happy_var_3 :: Located Selector
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn70
    		 ((Expr PName, Located Selector) -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Expr PName
    happy_var_1,Located Selector
    happy_var_3) (Expr PName -> Expr PName) -> Expr PName -> Expr PName
    forall a b. (a -> b) -> a -> b
    $ Expr PName -> Selector -> Expr PName
    forall n. Expr n -> Selector -> Expr n
    ESel Expr PName
    happy_var_1 (Located Selector -> Selector
    forall a. Located a -> a
    thing Located Selector
    happy_var_3)
    	)}}

    happyReduce_175 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_175 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_175 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  56# HappyAbsSyn -> HappyAbsSyn
    happyReduction_175
    happyReduction_175 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_175 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap72
    happyOut72 HappyAbsSyn
    happy_x_1 of { (HappyWrap72 happy_var_1 :: (Bool, Integer)
    happy_var_1) ->
    	[(Bool, Integer)] -> HappyAbsSyn
    happyIn71
    		 ([(Bool, Integer)
    happy_var_1]
    	)}

    happyReduce_176 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_176 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_176 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  56# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_176
    happyReduction_176 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_176 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap71
    happyOut71 HappyAbsSyn
    happy_x_1 of { (HappyWrap71 happy_var_1 :: [(Bool, Integer)]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap72
    happyOut72 HappyAbsSyn
    happy_x_3 of { (HappyWrap72 happy_var_3 :: (Bool, Integer)
    happy_var_3) ->
    	[(Bool, Integer)] -> HappyAbsSyn
    happyIn71
    		 ((Bool, Integer)
    happy_var_3 (Bool, Integer) -> [(Bool, Integer)] -> [(Bool, Integer)]
    forall k1. k1 -> [k1] -> [k1]
    : [(Bool, Integer)]
    happy_var_1
    	)}}

    happyReduce_177 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_177 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_177 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 1# 57# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_177
    happyReduction_177 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_177 (happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Bool, Integer)
    -> ((Bool, Integer) -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (Num   {}) _))) ->
    	( Range -> Integer -> Integer -> ParseM (Bool, Integer)
    polyTerm (Located Token -> Range
    forall a. Located a -> Range
    srcRange Located Token
    happy_var_1) (Located Token -> Integer
    getNum Located Token
    happy_var_1) 0)})
    	) (\r :: (Bool, Integer)
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ((Bool, Integer) -> HappyAbsSyn
    happyIn72 (Bool, Integer)
    r))

    happyReduce_178 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_178 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_178 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 1# 57# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_178
    happyReduction_178 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_178 (happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Bool, Integer)
    -> ((Bool, Integer) -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_x)       _)) ->
    	( Range -> Integer -> Integer -> ParseM (Bool, Integer)
    polyTerm Range
    happy_var_1 1 1)})
    	) (\r :: (Bool, Integer)
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ((Bool, Integer) -> HappyAbsSyn
    happyIn72 (Bool, Integer)
    r))

    happyReduce_179 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_179 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_179 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 3# 57# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_179
    happyReduction_179 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_179 (happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Bool, Integer)
    -> ((Bool, Integer) -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_x)       _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (happy_var_3 :: Located Token
    happy_var_3@(Located _ (Token (Num   {}) _))) ->
    	( Range -> Integer -> Integer -> ParseM (Bool, Integer)
    polyTerm (Range -> Range -> Range
    rComb Range
    happy_var_1 (Located Token -> Range
    forall a. Located a -> Range
    srcRange Located Token
    happy_var_3))
                                                                1 (Located Token -> Integer
    getNum Located Token
    happy_var_3))}})
    	) (\r :: (Bool, Integer)
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ((Bool, Integer) -> HappyAbsSyn
    happyIn72 (Bool, Integer)
    r))

    happyReduce_180 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_180 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_180 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  58# HappyAbsSyn -> HappyAbsSyn
    happyReduction_180
    happyReduction_180 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_180 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
    happy_var_1) ->
    	Located Selector -> HappyAbsSyn
    happyIn73
    		 ((Ident -> Selector) -> LIdent -> Located Selector
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap (Ident -> Maybe [Ident] -> Selector
    `RecordSel` Maybe [Ident]
    forall k1. Maybe k1
    Nothing) LIdent
    happy_var_1
    	)}

    happyReduce_181 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_181 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_181 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 1# 58# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_181
    happyReduction_181 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_181 (happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Located Selector)
    -> (Located Selector -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (Num   {}) _))) ->
    	( Range -> Integer -> ParseM (Located Selector)
    mkTupleSel (Located Token -> Range
    forall a. Located a -> Range
    srcRange Located Token
    happy_var_1) (Located Token -> Integer
    getNum Located Token
    happy_var_1))})
    	) (\r :: Located Selector
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Located Selector -> HappyAbsSyn
    happyIn73 Located Selector
    r))

    happyReduce_182 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_182 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_182 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  59# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_182
    happyReduction_182 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_182 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
    happy_var_3) ->
    	[Expr PName] -> HappyAbsSyn
    happyIn74
    		 ([ Expr PName
    happy_var_3, Expr PName
    happy_var_1]
    	)}}

    happyReduce_183 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_183 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_183 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  59# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_183
    happyReduction_183 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_183 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap74
    happyOut74 HappyAbsSyn
    happy_x_1 of { (HappyWrap74 happy_var_1 :: [Expr PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
    happy_var_3) ->
    	[Expr PName] -> HappyAbsSyn
    happyIn74
    		 (Expr PName
    happy_var_3 Expr PName -> [Expr PName] -> [Expr PName]
    forall k1. k1 -> [k1] -> [k1]
    : [Expr PName]
    happy_var_1
    	)}}

    happyReduce_184 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_184 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_184 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  60# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_184
    happyReduction_184 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_184 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap68
    happyOut68 HappyAbsSyn
    happy_x_1 of { (HappyWrap68 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap79
    happyOut79 HappyAbsSyn
    happy_x_3 of { (HappyWrap79 happy_var_3 :: [UpdField PName]
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn75
    		 (Maybe (Expr PName) -> [UpdField PName] -> Expr PName
    forall n. Maybe (Expr n) -> [UpdField n] -> Expr n
    EUpd (Expr PName -> Maybe (Expr PName)
    forall k1. k1 -> Maybe k1
    Just Expr PName
    happy_var_1) ([UpdField PName] -> [UpdField PName]
    forall a. [a] -> [a]
    reverse [UpdField PName]
    happy_var_3)
    	)}}

    happyReduce_185 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_185 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_185 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  60# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p p. HappyAbsSyn -> p -> p -> HappyAbsSyn
    happyReduction_185
    happyReduction_185 :: HappyAbsSyn -> p -> p -> HappyAbsSyn
    happyReduction_185 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap79
    happyOut79 HappyAbsSyn
    happy_x_3 of { (HappyWrap79 happy_var_3 :: [UpdField PName]
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn75
    		 (Maybe (Expr PName) -> [UpdField PName] -> Expr PName
    forall n. Maybe (Expr n) -> [UpdField n] -> Expr n
    EUpd Maybe (Expr PName)
    forall k1. Maybe k1
    Nothing   ([UpdField PName] -> [UpdField PName]
    forall a. [a] -> [a]
    reverse [UpdField PName]
    happy_var_3)
    	)}

    happyReduce_186 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_186 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_186 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 1# 60# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_186
    happyReduction_186 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_186 (happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap79
    happyOut79 HappyAbsSyn
    happy_x_1 of { (HappyWrap79 happy_var_1 :: [UpdField PName]
    happy_var_1) ->
    	( do { [Named (Expr PName)]
    xs <- (UpdField PName -> ParseM (Named (Expr PName)))
    -> [UpdField PName] -> ParseM [Named (Expr PName)]
    forall (t :: * -> *) (m :: * -> *) a b.
    (Traversable t, Monad m) =>
    (a -> m b) -> t a -> m (t b)
    mapM UpdField PName -> ParseM (Named (Expr PName))
    ufToNamed [UpdField PName]
    happy_var_1;
                                              Expr PName -> ParseM (Expr PName)
    forall (f :: * -> *) a. Applicative f => a -> f a
    pure ([Named (Expr PName)] -> Expr PName
    forall n. [Named (Expr n)] -> Expr n
    ERecord ([Named (Expr PName)] -> [Named (Expr PName)]
    forall a. [a] -> [a]
    reverse [Named (Expr PName)]
    xs)) })})
    	) (\r :: Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn75 Expr PName
    r))

    happyReduce_187 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_187 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_187 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  61# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_187
    happyReduction_187 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_187 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap73
    happyOut73 HappyAbsSyn
    happy_x_1 of { (HappyWrap73 happy_var_1 :: Located Selector
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap77
    happyOut77 HappyAbsSyn
    happy_x_2 of { (HappyWrap77 happy_var_2 :: UpdHow
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
    happy_var_3) ->
    	UpdField PName -> HappyAbsSyn
    happyIn76
    		 (UpdHow -> [Located Selector] -> Expr PName -> UpdField PName
    forall n. UpdHow -> [Located Selector] -> Expr n -> UpdField n
    UpdField UpdHow
    happy_var_2 [Located Selector
    happy_var_1] Expr PName
    happy_var_3
    	)}}}

    happyReduce_188 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_188 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_188 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  61# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_188
    happyReduction_188 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_188 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap78
    happyOut78 HappyAbsSyn
    happy_x_1 of { (HappyWrap78 happy_var_1 :: [Located Selector]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap77
    happyOut77 HappyAbsSyn
    happy_x_2 of { (HappyWrap77 happy_var_2 :: UpdHow
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
    happy_var_3) ->
    	UpdField PName -> HappyAbsSyn
    happyIn76
    		 (UpdHow -> [Located Selector] -> Expr PName -> UpdField PName
    forall n. UpdHow -> [Located Selector] -> Expr n -> UpdField n
    UpdField UpdHow
    happy_var_2 [Located Selector]
    happy_var_1 Expr PName
    happy_var_3
    	)}}}

    happyReduce_189 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_189 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_189 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 61# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_189
    happyReduction_189 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_189 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap78
    happyOut78 HappyAbsSyn
    happy_x_1 of { (HappyWrap78 happy_var_1 :: [Located Selector]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap45
    happyOut45 HappyAbsSyn
    happy_x_2 of { (HappyWrap45 happy_var_2 :: ([Pattern PName], [Pattern PName])
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap77
    happyOut77 HappyAbsSyn
    happy_x_3 of { (HappyWrap77 happy_var_3 :: UpdHow
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_4 of { (HappyWrap55 happy_var_4 :: Expr PName
    happy_var_4) ->
    	UpdField PName -> HappyAbsSyn
    happyIn76
    		 (UpdHow -> [Located Selector] -> Expr PName -> UpdField PName
    forall n. UpdHow -> [Located Selector] -> Expr n -> UpdField n
    UpdField UpdHow
    happy_var_3 [Located Selector]
    happy_var_1 (([Pattern PName], [Pattern PName]) -> Expr PName -> Expr PName
    mkIndexedExpr ([Pattern PName], [Pattern PName])
    happy_var_2 Expr PName
    happy_var_4)
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}}

    happyReduce_190 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_190 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_190 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 61# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_190
    happyReduction_190 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_190 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap73
    happyOut73 HappyAbsSyn
    happy_x_1 of { (HappyWrap73 happy_var_1 :: Located Selector
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap45
    happyOut45 HappyAbsSyn
    happy_x_2 of { (HappyWrap45 happy_var_2 :: ([Pattern PName], [Pattern PName])
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap77
    happyOut77 HappyAbsSyn
    happy_x_3 of { (HappyWrap77 happy_var_3 :: UpdHow
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_4 of { (HappyWrap55 happy_var_4 :: Expr PName
    happy_var_4) ->
    	UpdField PName -> HappyAbsSyn
    happyIn76
    		 (UpdHow -> [Located Selector] -> Expr PName -> UpdField PName
    forall n. UpdHow -> [Located Selector] -> Expr n -> UpdField n
    UpdField UpdHow
    happy_var_3 [Located Selector
    happy_var_1] (([Pattern PName], [Pattern PName]) -> Expr PName -> Expr PName
    mkIndexedExpr ([Pattern PName], [Pattern PName])
    happy_var_2 Expr PName
    happy_var_4)
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}}

    happyReduce_191 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_191 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_191 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  62# HappyAbsSyn -> HappyAbsSyn
    forall p. p -> HappyAbsSyn
    happyReduction_191
    happyReduction_191 :: p -> HappyAbsSyn
    happyReduction_191 happy_x_1 :: p
    happy_x_1
    	 =  UpdHow -> HappyAbsSyn
    happyIn77
    		 (UpdHow
    UpdSet
    	)

    happyReduce_192 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_192 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_192 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  62# HappyAbsSyn -> HappyAbsSyn
    forall p. p -> HappyAbsSyn
    happyReduction_192
    happyReduction_192 :: p -> HappyAbsSyn
    happyReduction_192 happy_x_1 :: p
    happy_x_1
    	 =  UpdHow -> HappyAbsSyn
    happyIn77
    		 (UpdHow
    UpdFun
    	)

    happyReduce_193 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_193 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_193 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 1# 63# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_193
    happyReduction_193 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_193 (happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM [Located Selector]
    -> ([Located Selector] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap70
    happyOut70 HappyAbsSyn
    happy_x_1 of { (HappyWrap70 happy_var_1 :: Expr PName
    happy_var_1) ->
    	( Expr PName -> ParseM [Located Selector]
    selExprToSels Expr PName
    happy_var_1)})
    	) (\r :: [Located Selector]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([Located Selector] -> HappyAbsSyn
    happyIn78 [Located Selector]
    r))

    happyReduce_194 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_194 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_194 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  64# HappyAbsSyn -> HappyAbsSyn
    happyReduction_194
    happyReduction_194 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_194 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap76
    happyOut76 HappyAbsSyn
    happy_x_1 of { (HappyWrap76 happy_var_1 :: UpdField PName
    happy_var_1) ->
    	[UpdField PName] -> HappyAbsSyn
    happyIn79
    		 ([UpdField PName
    happy_var_1]
    	)}

    happyReduce_195 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_195 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_195 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  64# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_195
    happyReduction_195 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_195 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap79
    happyOut79 HappyAbsSyn
    happy_x_1 of { (HappyWrap79 happy_var_1 :: [UpdField PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap76
    happyOut76 HappyAbsSyn
    happy_x_3 of { (HappyWrap76 happy_var_3 :: UpdField PName
    happy_var_3) ->
    	[UpdField PName] -> HappyAbsSyn
    happyIn79
    		 (UpdField PName
    happy_var_3 UpdField PName -> [UpdField PName] -> [UpdField PName]
    forall k1. k1 -> [k1] -> [k1]
    : [UpdField PName]
    happy_var_1
    	)}}

    happyReduce_196 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_196 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_196 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  65# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_196
    happyReduction_196 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_196 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap81
    happyOut81 HappyAbsSyn
    happy_x_3 of { (HappyWrap81 happy_var_3 :: [[Match PName]]
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn80
    		 (Expr PName -> [[Match PName]] -> Expr PName
    forall n. Expr n -> [[Match n]] -> Expr n
    EComp Expr PName
    happy_var_1 ([[Match PName]] -> [[Match PName]]
    forall a. [a] -> [a]
    reverse [[Match PName]]
    happy_var_3)
    	)}}

    happyReduce_197 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_197 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_197 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  65# HappyAbsSyn -> HappyAbsSyn
    happyReduction_197
    happyReduction_197 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_197 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn80
    		 ([Expr PName] -> Expr PName
    forall n. [Expr n] -> Expr n
    EList [Expr PName
    happy_var_1]
    	)}

    happyReduce_198 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_198 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_198 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  65# HappyAbsSyn -> HappyAbsSyn
    happyReduction_198
    happyReduction_198 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_198 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap74
    happyOut74 HappyAbsSyn
    happy_x_1 of { (HappyWrap74 happy_var_1 :: [Expr PName]
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn80
    		 ([Expr PName] -> Expr PName
    forall n. [Expr n] -> Expr n
    EList ([Expr PName] -> [Expr PName]
    forall a. [a] -> [a]
    reverse [Expr PName]
    happy_var_1)
    	)}

    happyReduce_199 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_199 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_199 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 3# 65# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_199
    happyReduction_199 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_199 (happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym DotDot  ) _)) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
    happy_var_3) ->
    	( Range
    -> Expr PName
    -> Maybe (Expr PName)
    -> Expr PName
    -> ParseM (Expr PName)
    eFromTo Range
    happy_var_2 Expr PName
    happy_var_1 Maybe (Expr PName)
    forall k1. Maybe k1
    Nothing   Expr PName
    happy_var_3)}}})
    	) (\r :: Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn80 Expr PName
    r))

    happyReduce_200 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_200 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_200 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 5# 65# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_200
    happyReduction_200 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_200 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
    happy_var_3) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_4 of { (Located happy_var_4 :: Range
    happy_var_4 (Token (Sym DotDot  ) _)) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_5 of { (HappyWrap55 happy_var_5 :: Expr PName
    happy_var_5) ->
    	( Range
    -> Expr PName
    -> Maybe (Expr PName)
    -> Expr PName
    -> ParseM (Expr PName)
    eFromTo Range
    happy_var_4 Expr PName
    happy_var_1 (Expr PName -> Maybe (Expr PName)
    forall k1. k1 -> Maybe k1
    Just Expr PName
    happy_var_3) Expr PName
    happy_var_5)}}}})
    	) (\r :: Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn80 Expr PName
    r))

    happyReduce_201 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_201 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_201 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  65# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_201
    happyReduction_201 :: p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_201 happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn80
    		 (Expr PName -> Maybe (Expr PName) -> Expr PName
    forall n. Expr n -> Maybe (Expr n) -> Expr n
    EInfFrom Expr PName
    happy_var_1 Maybe (Expr PName)
    forall k1. Maybe k1
    Nothing
    	)}

    happyReduce_202 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_202 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_202 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 65# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_202
    happyReduction_202 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_202 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_1 of { (HappyWrap55 happy_var_1 :: Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn80
    		 (Expr PName -> Maybe (Expr PName) -> Expr PName
    forall n. Expr n -> Maybe (Expr n) -> Expr n
    EInfFrom Expr PName
    happy_var_1 (Expr PName -> Maybe (Expr PName)
    forall k1. k1 -> Maybe k1
    Just Expr PName
    happy_var_3)
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}

    happyReduce_203 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_203 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_203 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  66# HappyAbsSyn -> HappyAbsSyn
    happyReduction_203
    happyReduction_203 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_203 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap82
    happyOut82 HappyAbsSyn
    happy_x_1 of { (HappyWrap82 happy_var_1 :: [Match PName]
    happy_var_1) ->
    	[[Match PName]] -> HappyAbsSyn
    happyIn81
    		 ([ [Match PName] -> [Match PName]
    forall a. [a] -> [a]
    reverse [Match PName]
    happy_var_1 ]
    	)}

    happyReduce_204 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_204 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_204 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  66# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_204
    happyReduction_204 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_204 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap81
    happyOut81 HappyAbsSyn
    happy_x_1 of { (HappyWrap81 happy_var_1 :: [[Match PName]]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap82
    happyOut82 HappyAbsSyn
    happy_x_3 of { (HappyWrap82 happy_var_3 :: [Match PName]
    happy_var_3) ->
    	[[Match PName]] -> HappyAbsSyn
    happyIn81
    		 ([Match PName] -> [Match PName]
    forall a. [a] -> [a]
    reverse [Match PName]
    happy_var_3 [Match PName] -> [[Match PName]] -> [[Match PName]]
    forall k1. k1 -> [k1] -> [k1]
    : [[Match PName]]
    happy_var_1
    	)}}

    happyReduce_205 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_205 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_205 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  67# HappyAbsSyn -> HappyAbsSyn
    happyReduction_205
    happyReduction_205 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_205 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap83
    happyOut83 HappyAbsSyn
    happy_x_1 of { (HappyWrap83 happy_var_1 :: Match PName
    happy_var_1) ->
    	[Match PName] -> HappyAbsSyn
    happyIn82
    		 ([Match PName
    happy_var_1]
    	)}

    happyReduce_206 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_206 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_206 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  67# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_206
    happyReduction_206 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_206 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap82
    happyOut82 HappyAbsSyn
    happy_x_1 of { (HappyWrap82 happy_var_1 :: [Match PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap83
    happyOut83 HappyAbsSyn
    happy_x_3 of { (HappyWrap83 happy_var_3 :: Match PName
    happy_var_3) ->
    	[Match PName] -> HappyAbsSyn
    happyIn82
    		 (Match PName
    happy_var_3 Match PName -> [Match PName] -> [Match PName]
    forall k1. k1 -> [k1] -> [k1]
    : [Match PName]
    happy_var_1
    	)}}

    happyReduce_207 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_207 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_207 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  68# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_207
    happyReduction_207 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_207 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap84
    happyOut84 HappyAbsSyn
    happy_x_1 of { (HappyWrap84 happy_var_1 :: Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_3 of { (HappyWrap55 happy_var_3 :: Expr PName
    happy_var_3) ->
    	Match PName -> HappyAbsSyn
    happyIn83
    		 (Pattern PName -> Expr PName -> Match PName
    forall name. Pattern name -> Expr name -> Match name
    Match Pattern PName
    happy_var_1 Expr PName
    happy_var_3
    	)}}

    happyReduce_208 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_208 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_208 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  69# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_208
    happyReduction_208 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_208 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap85
    happyOut85 HappyAbsSyn
    happy_x_1 of { (HappyWrap85 happy_var_1 :: Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
    happy_var_3) ->
    	Pattern PName -> HappyAbsSyn
    happyIn84
    		 ((Pattern PName, Type PName) -> Pattern PName -> Pattern PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Pattern PName
    happy_var_1,Type PName
    happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
    forall a b. (a -> b) -> a -> b
    $ Pattern PName -> Type PName -> Pattern PName
    forall n. Pattern n -> Type n -> Pattern n
    PTyped Pattern PName
    happy_var_1 Type PName
    happy_var_3
    	)}}

    happyReduce_209 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_209 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_209 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  69# HappyAbsSyn -> HappyAbsSyn
    happyReduction_209
    happyReduction_209 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_209 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap85
    happyOut85 HappyAbsSyn
    happy_x_1 of { (HappyWrap85 happy_var_1 :: Pattern PName
    happy_var_1) ->
    	Pattern PName -> HappyAbsSyn
    happyIn84
    		 (Pattern PName
    happy_var_1
    	)}

    happyReduce_210 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_210 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_210 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  70# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_210
    happyReduction_210 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_210 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap85
    happyOut85 HappyAbsSyn
    happy_x_1 of { (HappyWrap85 happy_var_1 :: Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap85
    happyOut85 HappyAbsSyn
    happy_x_3 of { (HappyWrap85 happy_var_3 :: Pattern PName
    happy_var_3) ->
    	Pattern PName -> HappyAbsSyn
    happyIn85
    		 ((Pattern PName, Pattern PName) -> Pattern PName -> Pattern PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Pattern PName
    happy_var_1,Pattern PName
    happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
    forall a b. (a -> b) -> a -> b
    $ Pattern PName -> Pattern PName -> Pattern PName
    forall n. Pattern n -> Pattern n -> Pattern n
    PSplit Pattern PName
    happy_var_1 Pattern PName
    happy_var_3
    	)}}

    happyReduce_211 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_211 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_211 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  70# HappyAbsSyn -> HappyAbsSyn
    happyReduction_211
    happyReduction_211 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_211 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap86
    happyOut86 HappyAbsSyn
    happy_x_1 of { (HappyWrap86 happy_var_1 :: Pattern PName
    happy_var_1) ->
    	Pattern PName -> HappyAbsSyn
    happyIn85
    		 (Pattern PName
    happy_var_1
    	)}

    happyReduce_212 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_212 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_212 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  71# HappyAbsSyn -> HappyAbsSyn
    happyReduction_212
    happyReduction_212 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_212 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_1 of { (HappyWrap109 happy_var_1 :: LPName
    happy_var_1) ->
    	Pattern PName -> HappyAbsSyn
    happyIn86
    		 (LPName -> Pattern PName
    forall n. Located n -> Pattern n
    PVar LPName
    happy_var_1
    	)}

    happyReduce_213 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_213 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_213 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  71# HappyAbsSyn -> HappyAbsSyn
    happyReduction_213
    happyReduction_213 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_213 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym Underscore ) _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn86
    		 (Range -> Pattern PName -> Pattern PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Range
    happy_var_1       (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
    forall a b. (a -> b) -> a -> b
    $ Pattern PName
    forall n. Pattern n
    PWild
    	)}

    happyReduce_214 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_214 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_214 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_214
    happyReduction_214 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_214 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym ParenR  ) _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn86
    		 ((Range, Range) -> Pattern PName -> Pattern PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_2) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
    forall a b. (a -> b) -> a -> b
    $ [Pattern PName] -> Pattern PName
    forall n. [Pattern n] -> Pattern n
    PTuple []
    	)}}

    happyReduce_215 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_215 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_215 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_215
    happyReduction_215 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_215 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap84
    happyOut84 HappyAbsSyn
    happy_x_2 of { (HappyWrap84 happy_var_2 :: Pattern PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym ParenR  ) _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn86
    		 ((Range, Range) -> Pattern PName -> Pattern PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3)   Pattern PName
    happy_var_2
    	)}}}

    happyReduce_216 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_216 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_216 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_216
    happyReduction_216 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_216 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap87
    happyOut87 HappyAbsSyn
    happy_x_2 of { (HappyWrap87 happy_var_2 :: [Pattern PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym ParenR  ) _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn86
    		 ((Range, Range) -> Pattern PName -> Pattern PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
    forall a b. (a -> b) -> a -> b
    $ [Pattern PName] -> Pattern PName
    forall n. [Pattern n] -> Pattern n
    PTuple ([Pattern PName] -> [Pattern PName]
    forall a. [a] -> [a]
    reverse [Pattern PName]
    happy_var_2)
    	)}}}

    happyReduce_217 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_217 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_217 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_217
    happyReduction_217 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_217 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym BracketL) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym BracketR) _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn86
    		 ((Range, Range) -> Pattern PName -> Pattern PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_2) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
    forall a b. (a -> b) -> a -> b
    $ [Pattern PName] -> Pattern PName
    forall n. [Pattern n] -> Pattern n
    PList []
    	)}}

    happyReduce_218 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_218 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_218 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_218
    happyReduction_218 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_218 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym BracketL) _)) ->
    	case HappyAbsSyn -> HappyWrap84
    happyOut84 HappyAbsSyn
    happy_x_2 of { (HappyWrap84 happy_var_2 :: Pattern PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym BracketR) _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn86
    		 ((Range, Range) -> Pattern PName -> Pattern PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
    forall a b. (a -> b) -> a -> b
    $ [Pattern PName] -> Pattern PName
    forall n. [Pattern n] -> Pattern n
    PList [Pattern PName
    happy_var_2]
    	)}}}

    happyReduce_219 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_219 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_219 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_219
    happyReduction_219 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_219 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym BracketL) _)) ->
    	case HappyAbsSyn -> HappyWrap87
    happyOut87 HappyAbsSyn
    happy_x_2 of { (HappyWrap87 happy_var_2 :: [Pattern PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym BracketR) _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn86
    		 ((Range, Range) -> Pattern PName -> Pattern PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
    forall a b. (a -> b) -> a -> b
    $ [Pattern PName] -> Pattern PName
    forall n. [Pattern n] -> Pattern n
    PList ([Pattern PName] -> [Pattern PName]
    forall a. [a] -> [a]
    reverse [Pattern PName]
    happy_var_2)
    	)}}}

    happyReduce_220 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_220 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_220 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_220
    happyReduction_220 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_220 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym CurlyR  ) _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn86
    		 ((Range, Range) -> Pattern PName -> Pattern PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_2) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
    forall a b. (a -> b) -> a -> b
    $ [Named (Pattern PName)] -> Pattern PName
    forall n. [Named (Pattern n)] -> Pattern n
    PRecord []
    	)}}

    happyReduce_221 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_221 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_221 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_221
    happyReduction_221 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_221 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap89
    happyOut89 HappyAbsSyn
    happy_x_2 of { (HappyWrap89 happy_var_2 :: [Named (Pattern PName)]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym CurlyR  ) _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn86
    		 ((Range, Range) -> Pattern PName -> Pattern PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) (Pattern PName -> Pattern PName) -> Pattern PName -> Pattern PName
    forall a b. (a -> b) -> a -> b
    $ [Named (Pattern PName)] -> Pattern PName
    forall n. [Named (Pattern n)] -> Pattern n
    PRecord ([Named (Pattern PName)] -> [Named (Pattern PName)]
    forall a. [a] -> [a]
    reverse [Named (Pattern PName)]
    happy_var_2)
    	)}}}

    happyReduce_222 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_222 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_222 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  72# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_222
    happyReduction_222 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_222 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap84
    happyOut84 HappyAbsSyn
    happy_x_1 of { (HappyWrap84 happy_var_1 :: Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap84
    happyOut84 HappyAbsSyn
    happy_x_3 of { (HappyWrap84 happy_var_3 :: Pattern PName
    happy_var_3) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn87
    		 ([Pattern PName
    happy_var_3, Pattern PName
    happy_var_1]
    	)}}

    happyReduce_223 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_223 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_223 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  72# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_223
    happyReduction_223 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_223 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap87
    happyOut87 HappyAbsSyn
    happy_x_1 of { (HappyWrap87 happy_var_1 :: [Pattern PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap84
    happyOut84 HappyAbsSyn
    happy_x_3 of { (HappyWrap84 happy_var_3 :: Pattern PName
    happy_var_3) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn87
    		 (Pattern PName
    happy_var_3 Pattern PName -> [Pattern PName] -> [Pattern PName]
    forall k1. k1 -> [k1] -> [k1]
    : [Pattern PName]
    happy_var_1
    	)}}

    happyReduce_224 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_224 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_224 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  73# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_224
    happyReduction_224 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_224 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap84
    happyOut84 HappyAbsSyn
    happy_x_3 of { (HappyWrap84 happy_var_3 :: Pattern PName
    happy_var_3) ->
    	Named (Pattern PName) -> HappyAbsSyn
    happyIn88
    		 (Named :: forall a. LIdent -> a -> Named a
    Named { name :: LIdent
    name = LIdent
    happy_var_1, value :: Pattern PName
    value = Pattern PName
    happy_var_3 }
    	)}}

    happyReduce_225 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_225 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_225 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  74# HappyAbsSyn -> HappyAbsSyn
    happyReduction_225
    happyReduction_225 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_225 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap88
    happyOut88 HappyAbsSyn
    happy_x_1 of { (HappyWrap88 happy_var_1 :: Named (Pattern PName)
    happy_var_1) ->
    	[Named (Pattern PName)] -> HappyAbsSyn
    happyIn89
    		 ([Named (Pattern PName)
    happy_var_1]
    	)}

    happyReduce_226 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_226 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_226 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  74# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_226
    happyReduction_226 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_226 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap89
    happyOut89 HappyAbsSyn
    happy_x_1 of { (HappyWrap89 happy_var_1 :: [Named (Pattern PName)]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap88
    happyOut88 HappyAbsSyn
    happy_x_3 of { (HappyWrap88 happy_var_3 :: Named (Pattern PName)
    happy_var_3) ->
    	[Named (Pattern PName)] -> HappyAbsSyn
    happyIn89
    		 (Named (Pattern PName)
    happy_var_3 Named (Pattern PName)
    -> [Named (Pattern PName)] -> [Named (Pattern PName)]
    forall k1. k1 -> [k1] -> [k1]
    : [Named (Pattern PName)]
    happy_var_1
    	)}}

    happyReduce_227 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_227 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_227 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  75# HappyAbsSyn -> HappyAbsSyn
    happyReduction_227
    happyReduction_227 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_227 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_1 of { (HappyWrap99 happy_var_1 :: Type PName
    happy_var_1) ->
    	Schema PName -> HappyAbsSyn
    happyIn90
    		 (Type PName -> Schema PName -> Schema PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Type PName
    happy_var_1 (Schema PName -> Schema PName) -> Schema PName -> Schema PName
    forall a b. (a -> b) -> a -> b
    $ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
    mkSchema [] [] Type PName
    happy_var_1
    	)}

    happyReduce_228 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_228 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_228 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  75# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_228
    happyReduction_228 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_228 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap91
    happyOut91 HappyAbsSyn
    happy_x_1 of { (HappyWrap91 happy_var_1 :: Located [TParam PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
    happy_var_2) ->
    	Schema PName -> HappyAbsSyn
    happyIn90
    		 ((Located [TParam PName], Type PName)
    -> Schema PName -> Schema PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Located [TParam PName]
    happy_var_1,Type PName
    happy_var_2) (Schema PName -> Schema PName) -> Schema PName -> Schema PName
    forall a b. (a -> b) -> a -> b
    $ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
    mkSchema (Located [TParam PName] -> [TParam PName]
    forall a. Located a -> a
    thing Located [TParam PName]
    happy_var_1) [] Type PName
    happy_var_2
    	)}}

    happyReduce_229 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_229 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_229 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  75# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_229
    happyReduction_229 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_229 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap92
    happyOut92 HappyAbsSyn
    happy_x_1 of { (HappyWrap92 happy_var_1 :: Located [Prop PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
    happy_var_2) ->
    	Schema PName -> HappyAbsSyn
    happyIn90
    		 ((Located [Prop PName], Type PName) -> Schema PName -> Schema PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Located [Prop PName]
    happy_var_1,Type PName
    happy_var_2) (Schema PName -> Schema PName) -> Schema PName -> Schema PName
    forall a b. (a -> b) -> a -> b
    $ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
    mkSchema [] (Located [Prop PName] -> [Prop PName]
    forall a. Located a -> a
    thing Located [Prop PName]
    happy_var_1) Type PName
    happy_var_2
    	)}}

    happyReduce_230 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_230 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_230 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  75# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_230
    happyReduction_230 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_230 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap91
    happyOut91 HappyAbsSyn
    happy_x_1 of { (HappyWrap91 happy_var_1 :: Located [TParam PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap92
    happyOut92 HappyAbsSyn
    happy_x_2 of { (HappyWrap92 happy_var_2 :: Located [Prop PName]
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
    happy_var_3) ->
    	Schema PName -> HappyAbsSyn
    happyIn90
    		 ((Located [TParam PName], Type PName)
    -> Schema PName -> Schema PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Located [TParam PName]
    happy_var_1,Type PName
    happy_var_3) (Schema PName -> Schema PName) -> Schema PName -> Schema PName
    forall a b. (a -> b) -> a -> b
    $ [TParam PName] -> [Prop PName] -> Type PName -> Schema PName
    mkSchema (Located [TParam PName] -> [TParam PName]
    forall a. Located a -> a
    thing Located [TParam PName]
    happy_var_1)
                                                              (Located [Prop PName] -> [Prop PName]
    forall a. Located a -> a
    thing Located [Prop PName]
    happy_var_2) Type PName
    happy_var_3
    	)}}}

    happyReduce_231 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_231 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_231 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  76# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_231
    happyReduction_231 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_231 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym CurlyR  ) _)) ->
    	Located [TParam PName] -> HappyAbsSyn
    happyIn91
    		 (Range -> [TParam PName] -> Located [TParam PName]
    forall a. Range -> a -> Located a
    Located (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_2) []
    	)}}

    happyReduce_232 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_232 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_232 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  76# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_232
    happyReduction_232 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_232 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap96
    happyOut96 HappyAbsSyn
    happy_x_2 of { (HappyWrap96 happy_var_2 :: [TParam PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym CurlyR  ) _)) ->
    	Located [TParam PName] -> HappyAbsSyn
    happyIn91
    		 (Range -> [TParam PName] -> Located [TParam PName]
    forall a. Range -> a -> Located a
    Located (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_3) ([TParam PName] -> [TParam PName]
    forall a. [a] -> [a]
    reverse [TParam PName]
    happy_var_2)
    	)}}}

    happyReduce_233 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_233 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_233 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  77# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_233
    happyReduction_233 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_233 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap92
    happyOut92 HappyAbsSyn
    happy_x_1 of { (HappyWrap92 happy_var_1 :: Located [Prop PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap93
    happyOut93 HappyAbsSyn
    happy_x_2 of { (HappyWrap93 happy_var_2 :: Located [Prop PName]
    happy_var_2) ->
    	Located [Prop PName] -> HappyAbsSyn
    happyIn92
    		 ((Located [Prop PName], Located [Prop PName])
    -> Located [Prop PName] -> Located [Prop PName]
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Located [Prop PName]
    happy_var_1,Located [Prop PName]
    happy_var_2) (Located [Prop PName] -> Located [Prop PName])
    -> Located [Prop PName] -> Located [Prop PName]
    forall a b. (a -> b) -> a -> b
    $ ([Prop PName] -> [Prop PName])
    -> Located [Prop PName] -> Located [Prop PName]
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap ([Prop PName] -> [Prop PName] -> [Prop PName]
    forall a. [a] -> [a] -> [a]
    ++ Located [Prop PName] -> [Prop PName]
    forall a. Located a -> a
    thing Located [Prop PName]
    happy_var_2) Located [Prop PName]
    happy_var_1
    	)}}

    happyReduce_234 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_234 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_234 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  77# HappyAbsSyn -> HappyAbsSyn
    happyReduction_234
    happyReduction_234 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_234 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap93
    happyOut93 HappyAbsSyn
    happy_x_1 of { (HappyWrap93 happy_var_1 :: Located [Prop PName]
    happy_var_1) ->
    	Located [Prop PName] -> HappyAbsSyn
    happyIn92
    		 (Located [Prop PName]
    happy_var_1
    	)}

    happyReduce_235 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_235 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_235 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 2# 78# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_235
    happyReduction_235 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_235 (happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Located [Prop PName])
    -> (Located [Prop PName] -> ParseM HappyAbsSyn)
    -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_1 of { (HappyWrap99 happy_var_1 :: Type PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym FatArrR ) _)) ->
    	( (Located [Prop PName] -> Located [Prop PName])
    -> ParseM (Located [Prop PName]) -> ParseM (Located [Prop PName])
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap (\x :: Located [Prop PName]
    x -> (Located [Prop PName], Range)
    -> Located [Prop PName] -> Located [Prop PName]
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Located [Prop PName]
    x,Range
    happy_var_2) Located [Prop PName]
    x) (Type PName -> ParseM (Located [Prop PName])
    mkProp Type PName
    happy_var_1))}})
    	) (\r :: Located [Prop PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Located [Prop PName] -> HappyAbsSyn
    happyIn93 Located [Prop PName]
    r))

    happyReduce_236 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_236 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_236 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  79# HappyAbsSyn -> HappyAbsSyn
    happyReduction_236
    happyReduction_236 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_236 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Hash) _)) ->
    	Located Kind -> HappyAbsSyn
    happyIn94
    		 (Range -> Kind -> Located Kind
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 Kind
    KNum
    	)}

    happyReduce_237 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_237 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_237 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  79# HappyAbsSyn -> HappyAbsSyn
    happyReduction_237
    happyReduction_237 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_237 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Op Mul)   _)) ->
    	Located Kind -> HappyAbsSyn
    happyIn94
    		 (Range -> Kind -> Located Kind
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 Kind
    KType
    	)}

    happyReduce_238 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_238 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_238 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  79# HappyAbsSyn -> HappyAbsSyn
    happyReduction_238
    happyReduction_238 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_238 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_Prop) _)) ->
    	Located Kind -> HappyAbsSyn
    happyIn94
    		 (Range -> Kind -> Located Kind
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 Kind
    KProp
    	)}

    happyReduce_239 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_239 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_239 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  79# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_239
    happyReduction_239 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_239 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap94
    happyOut94 HappyAbsSyn
    happy_x_1 of { (HappyWrap94 happy_var_1 :: Located Kind
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap94
    happyOut94 HappyAbsSyn
    happy_x_3 of { (HappyWrap94 happy_var_3 :: Located Kind
    happy_var_3) ->
    	Located Kind -> HappyAbsSyn
    happyIn94
    		 ((Kind -> Kind -> Kind)
    -> Located Kind -> Located Kind -> Located Kind
    forall a b c. (a -> b -> c) -> Located a -> Located b -> Located c
    combLoc Kind -> Kind -> Kind
    KFun Located Kind
    happy_var_1 Located Kind
    happy_var_3
    	)}}

    happyReduce_240 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_240 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_240 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 1# 80# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_240
    happyReduction_240 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_240 (happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (TParam PName)
    -> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
    happy_var_1) ->
    	( LIdent -> Maybe Kind -> ParseM (TParam PName)
    mkTParam LIdent
    happy_var_1 Maybe Kind
    forall k1. Maybe k1
    Nothing)})
    	) (\r :: TParam PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (TParam PName -> HappyAbsSyn
    happyIn95 TParam PName
    r))

    happyReduce_241 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_241 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_241 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 3# 80# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_241
    happyReduction_241 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_241 (happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (TParam PName)
    -> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap94
    happyOut94 HappyAbsSyn
    happy_x_3 of { (HappyWrap94 happy_var_3 :: Located Kind
    happy_var_3) ->
    	( LIdent -> Maybe Kind -> ParseM (TParam PName)
    mkTParam ((LIdent, Located Kind) -> LIdent -> LIdent
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (LIdent
    happy_var_1,Located Kind
    happy_var_3) LIdent
    happy_var_1) (Kind -> Maybe Kind
    forall k1. k1 -> Maybe k1
    Just (Located Kind -> Kind
    forall a. Located a -> a
    thing Located Kind
    happy_var_3)))}})
    	) (\r :: TParam PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (TParam PName -> HappyAbsSyn
    happyIn95 TParam PName
    r))

    happyReduce_242 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_242 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_242 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  81# HappyAbsSyn -> HappyAbsSyn
    happyReduction_242
    happyReduction_242 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_242 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap95
    happyOut95 HappyAbsSyn
    happy_x_1 of { (HappyWrap95 happy_var_1 :: TParam PName
    happy_var_1) ->
    	[TParam PName] -> HappyAbsSyn
    happyIn96
    		 ([TParam PName
    happy_var_1]
    	)}

    happyReduce_243 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_243 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_243 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  81# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_243
    happyReduction_243 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_243 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap96
    happyOut96 HappyAbsSyn
    happy_x_1 of { (HappyWrap96 happy_var_1 :: [TParam PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap95
    happyOut95 HappyAbsSyn
    happy_x_3 of { (HappyWrap95 happy_var_3 :: TParam PName
    happy_var_3) ->
    	[TParam PName] -> HappyAbsSyn
    happyIn96
    		 (TParam PName
    happy_var_3 TParam PName -> [TParam PName] -> [TParam PName]
    forall k1. k1 -> [k1] -> [k1]
    : [TParam PName]
    happy_var_1
    	)}}

    happyReduce_244 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_244 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_244 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 1# 82# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_244
    happyReduction_244 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_244 (happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (TParam PName)
    -> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
    happy_var_1) ->
    	( LIdent -> Maybe Kind -> ParseM (TParam PName)
    mkTParam LIdent
    happy_var_1 Maybe Kind
    forall k1. Maybe k1
    Nothing)})
    	) (\r :: TParam PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (TParam PName -> HappyAbsSyn
    happyIn97 TParam PName
    r))

    happyReduce_245 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_245 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_245 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 5# 82# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_245
    happyReduction_245 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_245 (happy_x_5 :: HappyAbsSyn
    happy_x_5 `HappyStk`
    	happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (TParam PName)
    -> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_2 of { (HappyWrap108 happy_var_2 :: LIdent
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap94
    happyOut94 HappyAbsSyn
    happy_x_4 of { (HappyWrap94 happy_var_4 :: Located Kind
    happy_var_4) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_5 of { (Located happy_var_5 :: Range
    happy_var_5 (Token (Sym ParenR  ) _)) ->
    	( LIdent -> Maybe Kind -> ParseM (TParam PName)
    mkTParam ((Range, Range) -> LIdent -> LIdent
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_5) LIdent
    happy_var_2) (Kind -> Maybe Kind
    forall k1. k1 -> Maybe k1
    Just (Located Kind -> Kind
    forall a. Located a -> a
    thing Located Kind
    happy_var_4)))}}}})
    	) (\r :: TParam PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (TParam PName -> HappyAbsSyn
    happyIn97 TParam PName
    r))

    happyReduce_246 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_246 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_246 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  83# HappyAbsSyn -> HappyAbsSyn
    happyReduction_246
    happyReduction_246 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_246 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap97
    happyOut97 HappyAbsSyn
    happy_x_1 of { (HappyWrap97 happy_var_1 :: TParam PName
    happy_var_1) ->
    	[TParam PName] -> HappyAbsSyn
    happyIn98
    		 ([TParam PName
    happy_var_1]
    	)}

    happyReduce_247 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_247 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_247 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  83# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_247
    happyReduction_247 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_247 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap98
    happyOut98 HappyAbsSyn
    happy_x_1 of { (HappyWrap98 happy_var_1 :: [TParam PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap97
    happyOut97 HappyAbsSyn
    happy_x_2 of { (HappyWrap97 happy_var_2 :: TParam PName
    happy_var_2) ->
    	[TParam PName] -> HappyAbsSyn
    happyIn98
    		 (TParam PName
    happy_var_2 TParam PName -> [TParam PName] -> [TParam PName]
    forall k1. k1 -> [k1] -> [k1]
    : [TParam PName]
    happy_var_1
    	)}}

    happyReduce_248 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_248 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_248 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  84# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_248
    happyReduction_248 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_248 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap100
    happyOut100 HappyAbsSyn
    happy_x_1 of { (HappyWrap100 happy_var_1 :: Type PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
    happy_var_3) ->
    	Type PName -> HappyAbsSyn
    happyIn99
    		 ((Type PName, Type PName) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Type PName
    happy_var_1,Type PName
    happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ Type PName -> Type PName -> Type PName
    forall n. Type n -> Type n -> Type n
    TFun Type PName
    happy_var_1 Type PName
    happy_var_3
    	)}}

    happyReduce_249 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_249 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_249 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  84# HappyAbsSyn -> HappyAbsSyn
    happyReduction_249
    happyReduction_249 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_249 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap100
    happyOut100 HappyAbsSyn
    happy_x_1 of { (HappyWrap100 happy_var_1 :: Type PName
    happy_var_1) ->
    	Type PName -> HappyAbsSyn
    happyIn99
    		 (Type PName
    happy_var_1
    	)}

    happyReduce_250 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_250 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_250 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  85# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_250
    happyReduction_250 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_250 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap100
    happyOut100 HappyAbsSyn
    happy_x_1 of { (HappyWrap100 happy_var_1 :: Type PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_2 of { (HappyWrap51 happy_var_2 :: LPName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap101
    happyOut101 HappyAbsSyn
    happy_x_3 of { (HappyWrap101 happy_var_3 :: Type PName
    happy_var_3) ->
    	Type PName -> HappyAbsSyn
    happyIn100
    		 ((Type PName, Type PName) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Type PName
    happy_var_1,Type PName
    happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ Type PName -> LPName -> Fixity -> Type PName -> Type PName
    forall n. Type n -> Located n -> Fixity -> Type n -> Type n
    TInfix Type PName
    happy_var_1 LPName
    happy_var_2 Fixity
    defaultFixity Type PName
    happy_var_3
    	)}}}

    happyReduce_251 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_251 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_251 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  85# HappyAbsSyn -> HappyAbsSyn
    happyReduction_251
    happyReduction_251 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_251 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap101
    happyOut101 HappyAbsSyn
    happy_x_1 of { (HappyWrap101 happy_var_1 :: Type PName
    happy_var_1) ->
    	Type PName -> HappyAbsSyn
    happyIn100
    		 (Type PName
    happy_var_1
    	)}

    happyReduce_252 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_252 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_252 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  86# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_252
    happyReduction_252 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_252 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap104
    happyOut104 HappyAbsSyn
    happy_x_1 of { (HappyWrap104 happy_var_1 :: Located [Type PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap102
    happyOut102 HappyAbsSyn
    happy_x_2 of { (HappyWrap102 happy_var_2 :: Type PName
    happy_var_2) ->
    	Type PName -> HappyAbsSyn
    happyIn101
    		 ((Located [Type PName], Type PName) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Located [Type PName]
    happy_var_1,Type PName
    happy_var_2) (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ (Type PName -> Type PName -> Type PName)
    -> Type PName -> [Type PName] -> Type PName
    forall (t :: * -> *) a b.
    Foldable t =>
    (a -> b -> b) -> b -> t a -> b
    foldr Type PName -> Type PName -> Type PName
    forall n. Type n -> Type n -> Type n
    TSeq Type PName
    happy_var_2 ([Type PName] -> [Type PName]
    forall a. [a] -> [a]
    reverse (Located [Type PName] -> [Type PName]
    forall a. Located a -> a
    thing Located [Type PName]
    happy_var_1))
    	)}}

    happyReduce_253 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_253 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_253 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  86# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_253
    happyReduction_253 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_253 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap112
    happyOut112 HappyAbsSyn
    happy_x_1 of { (HappyWrap112 happy_var_1 :: LPName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap103
    happyOut103 HappyAbsSyn
    happy_x_2 of { (HappyWrap103 happy_var_2 :: [Type PName]
    happy_var_2) ->
    	Type PName -> HappyAbsSyn
    happyIn101
    		 ((LPName, Type PName) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (LPName
    happy_var_1,[Type PName] -> Type PName
    forall a. [a] -> a
    head [Type PName]
    happy_var_2)
                                         (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ PName -> [Type PName] -> Type PName
    forall n. n -> [Type n] -> Type n
    TUser (LPName -> PName
    forall a. Located a -> a
    thing LPName
    happy_var_1) ([Type PName] -> [Type PName]
    forall a. [a] -> [a]
    reverse [Type PName]
    happy_var_2)
    	)}}

    happyReduce_254 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_254 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_254 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  86# HappyAbsSyn -> HappyAbsSyn
    happyReduction_254
    happyReduction_254 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_254 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap102
    happyOut102 HappyAbsSyn
    happy_x_1 of { (HappyWrap102 happy_var_1 :: Type PName
    happy_var_1) ->
    	Type PName -> HappyAbsSyn
    happyIn101
    		 (Type PName
    happy_var_1
    	)}

    happyReduce_255 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_255 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_255 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  87# HappyAbsSyn -> HappyAbsSyn
    happyReduction_255
    happyReduction_255 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_255 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap112
    happyOut112 HappyAbsSyn
    happy_x_1 of { (HappyWrap112 happy_var_1 :: LPName
    happy_var_1) ->
    	Type PName -> HappyAbsSyn
    happyIn102
    		 (LPName -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at LPName
    happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ PName -> [Type PName] -> Type PName
    forall n. n -> [Type n] -> Type n
    TUser (LPName -> PName
    forall a. Located a -> a
    thing LPName
    happy_var_1) []
    	)}

    happyReduce_256 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_256 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_256 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_256
    happyReduction_256 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_256 happy_x_3 :: p
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap50
    happyOut50 HappyAbsSyn
    happy_x_2 of { (HappyWrap50 happy_var_2 :: LPName
    happy_var_2) ->
    	Type PName -> HappyAbsSyn
    happyIn102
    		 (Range -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Range
    happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ PName -> [Type PName] -> Type PName
    forall n. n -> [Type n] -> Type n
    TUser (LPName -> PName
    forall a. Located a -> a
    thing LPName
    happy_var_2) []
    	)}}

    happyReduce_257 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_257 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_257 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  87# HappyAbsSyn -> HappyAbsSyn
    happyReduction_257
    happyReduction_257 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_257 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (Num   {}) _))) ->
    	Type PName -> HappyAbsSyn
    happyIn102
    		 (Located Token -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Located Token
    happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ Integer -> Type PName
    forall n. Integer -> Type n
    TNum  (Located Token -> Integer
    getNum Located Token
    happy_var_1)
    	)}

    happyReduce_258 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_258 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_258 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  87# HappyAbsSyn -> HappyAbsSyn
    happyReduction_258
    happyReduction_258 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_258 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (ChrLit {}) _))) ->
    	Type PName -> HappyAbsSyn
    happyIn102
    		 (Located Token -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Located Token
    happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ Char -> Type PName
    forall n. Char -> Type n
    TChar (Int -> Char
    forall a. Enum a => Int -> a
    toEnum (Int -> Char) -> Int -> Char
    forall a b. (a -> b) -> a -> b
    $ Integer -> Int
    forall a. Num a => Integer -> a
    fromInteger
                                                              (Integer -> Int) -> Integer -> Int
    forall a b. (a -> b) -> a -> b
    $ Located Token -> Integer
    getNum Located Token
    happy_var_1)
    	)}

    happyReduce_259 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_259 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_259 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_259
    happyReduction_259 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_259 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym BracketL) _)) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym BracketR) _)) ->
    	Type PName -> HappyAbsSyn
    happyIn102
    		 ((Range, Range) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ Type PName -> Type PName -> Type PName
    forall n. Type n -> Type n -> Type n
    TSeq Type PName
    happy_var_2 Type PName
    forall n. Type n
    TBit
    	)}}}

    happyReduce_260 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_260 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_260 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_260
    happyReduction_260 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_260 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym ParenR  ) _)) ->
    	Type PName -> HappyAbsSyn
    happyIn102
    		 ((Range, Range) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ Type PName -> Type PName
    forall n. Type n -> Type n
    TParens Type PName
    happy_var_2
    	)}}}

    happyReduce_261 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_261 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_261 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_261
    happyReduction_261 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_261 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym ParenR  ) _)) ->
    	Type PName -> HappyAbsSyn
    happyIn102
    		 ((Range, Range) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_2) (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ [Type PName] -> Type PName
    forall n. [Type n] -> Type n
    TTuple []
    	)}}

    happyReduce_262 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_262 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_262 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_262
    happyReduction_262 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_262 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap105
    happyOut105 HappyAbsSyn
    happy_x_2 of { (HappyWrap105 happy_var_2 :: [Type PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym ParenR  ) _)) ->
    	Type PName -> HappyAbsSyn
    happyIn102
    		 ((Range, Range) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ [Type PName] -> Type PName
    forall n. [Type n] -> Type n
    TTuple  ([Type PName] -> [Type PName]
    forall a. [a] -> [a]
    reverse [Type PName]
    happy_var_2)
    	)}}}

    happyReduce_263 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_263 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_263 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_263
    happyReduction_263 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_263 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym CurlyR  ) _)) ->
    	Type PName -> HappyAbsSyn
    happyIn102
    		 ((Range, Range) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_2) (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ [Named (Type PName)] -> Type PName
    forall n. [Named (Type n)] -> Type n
    TRecord []
    	)}}

    happyReduce_264 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_264 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_264 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_264
    happyReduction_264 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_264 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap107
    happyOut107 HappyAbsSyn
    happy_x_2 of { (HappyWrap107 happy_var_2 :: [Named (Type PName)]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym CurlyR  ) _)) ->
    	Type PName -> HappyAbsSyn
    happyIn102
    		 ((Range, Range) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ [Named (Type PName)] -> Type PName
    forall n. [Named (Type n)] -> Type n
    TRecord ([Named (Type PName)] -> [Named (Type PName)]
    forall a. [a] -> [a]
    reverse [Named (Type PName)]
    happy_var_2)
    	)}}}

    happyReduce_265 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_265 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_265 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  87# HappyAbsSyn -> HappyAbsSyn
    happyReduction_265
    happyReduction_265 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_265 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym Underscore ) _)) ->
    	Type PName -> HappyAbsSyn
    happyIn102
    		 (Range -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Range
    happy_var_1 Type PName
    forall n. Type n
    TWild
    	)}

    happyReduce_266 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_266 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_266 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  88# HappyAbsSyn -> HappyAbsSyn
    happyReduction_266
    happyReduction_266 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_266 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap102
    happyOut102 HappyAbsSyn
    happy_x_1 of { (HappyWrap102 happy_var_1 :: Type PName
    happy_var_1) ->
    	[Type PName] -> HappyAbsSyn
    happyIn103
    		 ([ Type PName
    happy_var_1 ]
    	)}

    happyReduce_267 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_267 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_267 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  88# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_267
    happyReduction_267 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_267 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap103
    happyOut103 HappyAbsSyn
    happy_x_1 of { (HappyWrap103 happy_var_1 :: [Type PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap102
    happyOut102 HappyAbsSyn
    happy_x_2 of { (HappyWrap102 happy_var_2 :: Type PName
    happy_var_2) ->
    	[Type PName] -> HappyAbsSyn
    happyIn103
    		 (Type PName
    happy_var_2 Type PName -> [Type PName] -> [Type PName]
    forall k1. k1 -> [k1] -> [k1]
    : [Type PName]
    happy_var_1
    	)}}

    happyReduce_268 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_268 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_268 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  89# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_268
    happyReduction_268 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_268 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym BracketL) _)) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym BracketR) _)) ->
    	Located [Type PName] -> HappyAbsSyn
    happyIn104
    		 (Range -> [Type PName] -> Located [Type PName]
    forall a. Range -> a -> Located a
    Located (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_3) [ Type PName
    happy_var_2 ]
    	)}}}

    happyReduce_269 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_269 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_269 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce 4# 89# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_269
    happyReduction_269 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_269 (happy_x_4 :: HappyAbsSyn
    happy_x_4 `HappyStk`
    	happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap104
    happyOut104 HappyAbsSyn
    happy_x_1 of { (HappyWrap104 happy_var_1 :: Located [Type PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
    happy_var_3) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_4 of { (Located happy_var_4 :: Range
    happy_var_4 (Token (Sym BracketR) _)) ->
    	Located [Type PName] -> HappyAbsSyn
    happyIn104
    		 ((Located [Type PName], Range)
    -> Located [Type PName] -> Located [Type PName]
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Located [Type PName]
    happy_var_1,Range
    happy_var_4) (([Type PName] -> [Type PName])
    -> Located [Type PName] -> Located [Type PName]
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap (Type PName
    happy_var_3 Type PName -> [Type PName] -> [Type PName]
    forall k1. k1 -> [k1] -> [k1]
    :) Located [Type PName]
    happy_var_1)
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_270 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_270 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_270 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  90# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_270
    happyReduction_270 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_270 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_1 of { (HappyWrap99 happy_var_1 :: Type PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
    happy_var_3) ->
    	[Type PName] -> HappyAbsSyn
    happyIn105
    		 ([ Type PName
    happy_var_3, Type PName
    happy_var_1]
    	)}}

    happyReduce_271 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_271 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_271 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  90# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_271
    happyReduction_271 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_271 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap105
    happyOut105 HappyAbsSyn
    happy_x_1 of { (HappyWrap105 happy_var_1 :: [Type PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
    happy_var_3) ->
    	[Type PName] -> HappyAbsSyn
    happyIn105
    		 (Type PName
    happy_var_3 Type PName -> [Type PName] -> [Type PName]
    forall k1. k1 -> [k1] -> [k1]
    : [Type PName]
    happy_var_1
    	)}}

    happyReduce_272 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_272 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_272 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  91# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_272
    happyReduction_272 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_272 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
    happy_var_3) ->
    	Named (Type PName) -> HappyAbsSyn
    happyIn106
    		 (Named :: forall a. LIdent -> a -> Named a
    Named { name :: LIdent
    name = LIdent
    happy_var_1, value :: Type PName
    value = Type PName
    happy_var_3 }
    	)}}

    happyReduce_273 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_273 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_273 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  92# HappyAbsSyn -> HappyAbsSyn
    happyReduction_273
    happyReduction_273 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_273 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap106
    happyOut106 HappyAbsSyn
    happy_x_1 of { (HappyWrap106 happy_var_1 :: Named (Type PName)
    happy_var_1) ->
    	[Named (Type PName)] -> HappyAbsSyn
    happyIn107
    		 ([Named (Type PName)
    happy_var_1]
    	)}

    happyReduce_274 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_274 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_274 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  92# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_274
    happyReduction_274 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_274 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap107
    happyOut107 HappyAbsSyn
    happy_x_1 of { (HappyWrap107 happy_var_1 :: [Named (Type PName)]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap106
    happyOut106 HappyAbsSyn
    happy_x_3 of { (HappyWrap106 happy_var_3 :: Named (Type PName)
    happy_var_3) ->
    	[Named (Type PName)] -> HappyAbsSyn
    happyIn107
    		 (Named (Type PName)
    happy_var_3 Named (Type PName) -> [Named (Type PName)] -> [Named (Type PName)]
    forall k1. k1 -> [k1] -> [k1]
    : [Named (Type PName)]
    happy_var_1
    	)}}

    happyReduce_275 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_275 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_275 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  93# HappyAbsSyn -> HappyAbsSyn
    happyReduction_275
    happyReduction_275 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_275 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (Ident [] _) _))) ->
    	LIdent -> HappyAbsSyn
    happyIn108
    		 (let Token (Ident _ str :: Text
    str) _ = Located Token -> Token
    forall a. Located a -> a
    thing Located Token
    happy_var_1
                             in Located Token
    happy_var_1 { thing :: Ident
    thing = Text -> Ident
    mkIdent Text
    str }
    	)}

    happyReduce_276 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_276 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_276 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  93# HappyAbsSyn -> HappyAbsSyn
    happyReduction_276
    happyReduction_276 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_276 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_x)       _)) ->
    	LIdent -> HappyAbsSyn
    happyIn108
    		 ($WLocated :: forall a. Range -> a -> Located a
    Located { srcRange :: Range
    srcRange = Range
    happy_var_1, thing :: Ident
    thing = Text -> Ident
    mkIdent "x" }
    	)}

    happyReduce_277 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_277 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_277 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  93# HappyAbsSyn -> HappyAbsSyn
    happyReduction_277
    happyReduction_277 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_277 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_private)   _)) ->
    	LIdent -> HappyAbsSyn
    happyIn108
    		 ($WLocated :: forall a. Range -> a -> Located a
    Located { srcRange :: Range
    srcRange = Range
    happy_var_1, thing :: Ident
    thing = Text -> Ident
    mkIdent "private" }
    	)}

    happyReduce_278 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_278 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_278 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  93# HappyAbsSyn -> HappyAbsSyn
    happyReduction_278
    happyReduction_278 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_278 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_as)        _)) ->
    	LIdent -> HappyAbsSyn
    happyIn108
    		 ($WLocated :: forall a. Range -> a -> Located a
    Located { srcRange :: Range
    srcRange = Range
    happy_var_1, thing :: Ident
    thing = Text -> Ident
    mkIdent "as" }
    	)}

    happyReduce_279 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_279 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_279 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  93# HappyAbsSyn -> HappyAbsSyn
    happyReduction_279
    happyReduction_279 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_279 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (KW KW_hiding)    _)) ->
    	LIdent -> HappyAbsSyn
    happyIn108
    		 ($WLocated :: forall a. Range -> a -> Located a
    Located { srcRange :: Range
    srcRange = Range
    happy_var_1, thing :: Ident
    thing = Text -> Ident
    mkIdent "hiding" }
    	)}

    happyReduce_280 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_280 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_280 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  94# HappyAbsSyn -> HappyAbsSyn
    happyReduction_280
    happyReduction_280 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_280 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
    happy_var_1) ->
    	LPName -> HappyAbsSyn
    happyIn109
    		 ((Ident -> PName) -> LIdent -> LPName
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap Ident -> PName
    mkUnqual LIdent
    happy_var_1
    	)}

    happyReduce_281 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_281 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_281 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  95# HappyAbsSyn -> HappyAbsSyn
    happyReduction_281
    happyReduction_281 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_281 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
    happy_var_1) ->
    	Located ModName -> HappyAbsSyn
    happyIn110
    		 ((Ident -> ModName) -> LIdent -> Located ModName
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap ([Text] -> ModName
    mkModName ([Text] -> ModName) -> (Ident -> [Text]) -> Ident -> ModName
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . (Text -> [Text] -> [Text]
    forall k1. k1 -> [k1] -> [k1]
    :[]) (Text -> [Text]) -> (Ident -> Text) -> Ident -> [Text]
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . Ident -> Text
    identText) LIdent
    happy_var_1
    	)}

    happyReduce_282 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_282 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_282 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  95# HappyAbsSyn -> HappyAbsSyn
    happyReduction_282
    happyReduction_282 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_282 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token  Ident{}     _))) ->
    	Located ModName -> HappyAbsSyn
    happyIn110
    		 (let Token (Ident ns :: [Text]
    ns i :: Text
    i) _ = Located Token -> Token
    forall a. Located a -> a
    thing Located Token
    happy_var_1
                                         in [Text] -> ModName
    mkModName ([Text]
    ns [Text] -> [Text] -> [Text]
    forall a. [a] -> [a] -> [a]
    ++ [Text
    i]) ModName -> Located Token -> Located ModName
    forall (f :: * -> *) a b. Functor f => a -> f b -> f a
    A.<$ Located Token
    happy_var_1
    	)}

    happyReduce_283 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_283 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_283 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  96# HappyAbsSyn -> HappyAbsSyn
    happyReduction_283
    happyReduction_283 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_283 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap110
    happyOut110 HappyAbsSyn
    happy_x_1 of { (HappyWrap110 happy_var_1 :: Located ModName
    happy_var_1) ->
    	Located ModName -> HappyAbsSyn
    happyIn111
    		 (Located ModName
    happy_var_1
    	)}

    happyReduce_284 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_284 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_284 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  96# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_284
    happyReduction_284 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_284 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap110
    happyOut110 HappyAbsSyn
    happy_x_2 of { (HappyWrap110 happy_var_2 :: Located ModName
    happy_var_2) ->
    	Located ModName -> HappyAbsSyn
    happyIn111
    		 ((ModName -> ModName) -> Located ModName -> Located ModName
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap ModName -> ModName
    paramInstModName Located ModName
    happy_var_2
    	)}

    happyReduce_285 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_285 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_285 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  97# HappyAbsSyn -> HappyAbsSyn
    happyReduction_285
    happyReduction_285 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_285 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_1 of { (HappyWrap109 happy_var_1 :: LPName
    happy_var_1) ->
    	LPName -> HappyAbsSyn
    happyIn112
    		 (LPName
    happy_var_1
    	)}

    happyReduce_286 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_286 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_286 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  97# HappyAbsSyn -> HappyAbsSyn
    happyReduction_286
    happyReduction_286 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_286 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token  Ident{}     _))) ->
    	LPName -> HappyAbsSyn
    happyIn112
    		 (let Token (Ident ns :: [Text]
    ns i :: Text
    i) _ = Located Token -> Token
    forall a. Located a -> a
    thing Located Token
    happy_var_1
                                         in ModName -> Ident -> PName
    mkQual ([Text] -> ModName
    mkModName [Text]
    ns) (Text -> Ident
    mkIdent Text
    i) PName -> Located Token -> LPName
    forall (f :: * -> *) a b. Functor f => a -> f b -> f a
    A.<$ Located Token
    happy_var_1
    	)}

    happyReduce_287 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_287 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_287 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  98# HappyAbsSyn -> HappyAbsSyn
    happyReduction_287
    happyReduction_287 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_287 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap112
    happyOut112 HappyAbsSyn
    happy_x_1 of { (HappyWrap112 happy_var_1 :: LPName
    happy_var_1) ->
    	LPName -> HappyAbsSyn
    happyIn113
    		 (LPName
    happy_var_1
    	)}

    happyReduce_288 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_288 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_288 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  98# HappyAbsSyn -> HappyAbsSyn
    happyReduction_288
    happyReduction_288 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_288 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap50
    happyOut50 HappyAbsSyn
    happy_x_1 of { (HappyWrap50 happy_var_1 :: LPName
    happy_var_1) ->
    	LPName -> HappyAbsSyn
    happyIn113
    		 (LPName
    happy_var_1
    	)}

    happyReduce_289 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_289 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_289 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  98# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p p. p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_289
    happyReduction_289 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_289 happy_x_3 :: p
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap50
    happyOut50 HappyAbsSyn
    happy_x_2 of { (HappyWrap50 happy_var_2 :: LPName
    happy_var_2) ->
    	LPName -> HappyAbsSyn
    happyIn113
    		 (LPName
    happy_var_2
    	)}

    happyReduce_290 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_290 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_290 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  99# HappyAbsSyn -> HappyAbsSyn
    happyReduction_290
    happyReduction_290 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_290 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap112
    happyOut112 HappyAbsSyn
    happy_x_1 of { (HappyWrap112 happy_var_1 :: LPName
    happy_var_1) ->
    	Type PName -> HappyAbsSyn
    happyIn114
    		 (LPName -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at LPName
    happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ PName -> [Type PName] -> Type PName
    forall n. n -> [Type n] -> Type n
    TUser (LPName -> PName
    forall a. Located a -> a
    thing LPName
    happy_var_1) []
    	)}

    happyReduce_291 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_291 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_291 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  99# HappyAbsSyn -> HappyAbsSyn
    happyReduction_291
    happyReduction_291 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_291 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located _ (Token (Num   {}) _))) ->
    	Type PName -> HappyAbsSyn
    happyIn114
    		 (Located Token -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Located Token
    happy_var_1 (Type PName -> Type PName) -> Type PName -> Type PName
    forall a b. (a -> b) -> a -> b
    $ Integer -> Type PName
    forall n. Integer -> Type n
    TNum  (Located Token -> Integer
    getNum Located Token
    happy_var_1)
    	)}

    happyReduce_292 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_292 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_292 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce 3# 99# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall p. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_292
    happyReduction_292 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_292 (happy_x_3 :: HappyAbsSyn
    happy_x_3 `HappyStk`
    	happy_x_2 :: HappyAbsSyn
    happy_x_2 `HappyStk`
    	happy_x_1 :: HappyAbsSyn
    happy_x_1 `HappyStk`
    	happyRest :: HappyStk HappyAbsSyn
    happyRest) tk :: p
    tk
    	 = ParseM (Type PName)
    -> (Type PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym ParenL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym ParenR  ) _)) ->
    	( Range -> Type PName -> ParseM (Type PName)
    validDemotedType (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_3) Type PName
    happy_var_2)}}})
    	) (\r :: Type PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Type PName -> HappyAbsSyn
    happyIn114 Type PName
    r))

    happyReduce_293 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_293 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_293 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  99# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_293
    happyReduction_293 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_293 happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located happy_var_2 :: Range
    happy_var_2 (Token (Sym CurlyR  ) _)) ->
    	Type PName -> HappyAbsSyn
    happyIn114
    		 ((Range, Range) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_2) ([Named (Type PName)] -> Type PName
    forall n. [Named (Type n)] -> Type n
    TRecord [])
    	)}}

    happyReduce_294 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_294 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_294 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  99# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_294
    happyReduction_294 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_294 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap116
    happyOut116 HappyAbsSyn
    happy_x_2 of { (HappyWrap116 happy_var_2 :: [Named (Type PName)]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym CurlyR  ) _)) ->
    	Type PName -> HappyAbsSyn
    happyIn114
    		 ((Range, Range) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_1,Range
    happy_var_3) ([Named (Type PName)] -> Type PName
    forall n. [Named (Type n)] -> Type n
    TRecord ([Named (Type PName)] -> [Named (Type PName)]
    forall a. [a] -> [a]
    reverse [Named (Type PName)]
    happy_var_2))
    	)}}}

    happyReduce_295 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_295 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_295 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  99# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_295
    happyReduction_295 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_295 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_2 of { (HappyWrap99 happy_var_2 :: Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym CurlyR  ) _)) ->
    	Type PName -> HappyAbsSyn
    happyIn114
    		 (Maybe Range -> [Type PName] -> Type PName
    anonRecord ((Range, Range) -> Maybe Range
    forall t. HasLoc t => t -> Maybe Range
    getLoc (Range
    happy_var_1,Range
    happy_var_3)) [Type PName
    happy_var_2]
    	)}}}

    happyReduce_296 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_296 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_296 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  99# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_296
    happyReduction_296 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_296 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: HappyAbsSyn
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located happy_var_1 :: Range
    happy_var_1 (Token (Sym CurlyL  ) _)) ->
    	case HappyAbsSyn -> HappyWrap105
    happyOut105 HappyAbsSyn
    happy_x_2 of { (HappyWrap105 happy_var_2 :: [Type PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located happy_var_3 :: Range
    happy_var_3 (Token (Sym CurlyR  ) _)) ->
    	Type PName -> HappyAbsSyn
    happyIn114
    		 (Maybe Range -> [Type PName] -> Type PName
    anonRecord ((Range, Range) -> Maybe Range
    forall t. HasLoc t => t -> Maybe Range
    getLoc (Range
    happy_var_1,Range
    happy_var_3)) ([Type PName] -> [Type PName]
    forall a. [a] -> [a]
    reverse [Type PName]
    happy_var_2)
    	)}}}

    happyReduce_297 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_297 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_297 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  100# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_297
    happyReduction_297 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_297 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_1 of { (HappyWrap108 happy_var_1 :: LIdent
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_3 of { (HappyWrap99 happy_var_3 :: Type PName
    happy_var_3) ->
    	Named (Type PName) -> HappyAbsSyn
    happyIn115
    		 (Named :: forall a. LIdent -> a -> Named a
    Named { name :: LIdent
    name = LIdent
    happy_var_1, value :: Type PName
    value = Type PName
    happy_var_3 }
    	)}}

    happyReduce_298 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_298 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_298 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  101# HappyAbsSyn -> HappyAbsSyn
    happyReduction_298
    happyReduction_298 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_298 happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap115
    happyOut115 HappyAbsSyn
    happy_x_1 of { (HappyWrap115 happy_var_1 :: Named (Type PName)
    happy_var_1) ->
    	[Named (Type PName)] -> HappyAbsSyn
    happyIn116
    		 ([Named (Type PName)
    happy_var_1]
    	)}

    happyReduce_299 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_299 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_299 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  101# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall p. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_299
    happyReduction_299 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_299 happy_x_3 :: HappyAbsSyn
    happy_x_3
    	happy_x_2 :: p
    happy_x_2
    	happy_x_1 :: HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap116
    happyOut116 HappyAbsSyn
    happy_x_1 of { (HappyWrap116 happy_var_1 :: [Named (Type PName)]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap115
    happyOut115 HappyAbsSyn
    happy_x_3 of { (HappyWrap115 happy_var_3 :: Named (Type PName)
    happy_var_3) ->
    	[Named (Type PName)] -> HappyAbsSyn
    happyIn116
    		 (Named (Type PName)
    happy_var_3 Named (Type PName) -> [Named (Type PName)] -> [Named (Type PName)]
    forall k1. k1 -> [k1] -> [k1]
    : [Named (Type PName)]
    happy_var_1
    	)}}

    happyNewToken :: Int# -> Happy_IntList -> HappyStk HappyAbsSyn -> ParseM HappyAbsSyn
    happyNewToken action :: Int#
    action sts :: Happy_IntList
    sts stk :: HappyStk HappyAbsSyn
    stk
    	= (Located Token -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a. (Located Token -> ParseM a) -> ParseM a
    lexerP(\tk :: Located Token
    tk ->
    	let cont :: Int# -> ParseM HappyAbsSyn
    cont i :: Int#
    i = Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyDoAction Int#
    i Located Token
    tk Int#
    action Happy_IntList
    sts HappyStk HappyAbsSyn
    stk in
    	case Located Token
    tk of {
    	Located _ (Token EOF _) -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyDoAction 63# Located Token
    tk Int#
    action Happy_IntList
    sts HappyStk HappyAbsSyn
    stk;
    	happy_dollar_dollar :: Located Token
    happy_dollar_dollar@(Located _ (Token (Num   {}) _)) -> Int# -> ParseM HappyAbsSyn
    cont 1#;
    	happy_dollar_dollar :: Located Token
    happy_dollar_dollar@(Located _ (Token (StrLit {}) _)) -> Int# -> ParseM HappyAbsSyn
    cont 2#;
    	happy_dollar_dollar :: Located Token
    happy_dollar_dollar@(Located _ (Token (ChrLit {}) _)) -> Int# -> ParseM HappyAbsSyn
    cont 3#;
    	happy_dollar_dollar :: Located Token
    happy_dollar_dollar@(Located _ (Token (Ident [] _) _)) -> Int# -> ParseM HappyAbsSyn
    cont 4#;
    	happy_dollar_dollar :: Located Token
    happy_dollar_dollar@(Located _ (Token  Ident{}     _)) -> Int# -> ParseM HappyAbsSyn
    cont 5#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_include)   _) -> Int# -> ParseM HappyAbsSyn
    cont 6#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_import)    _) -> Int# -> ParseM HappyAbsSyn
    cont 7#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_as)        _) -> Int# -> ParseM HappyAbsSyn
    cont 8#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_hiding)    _) -> Int# -> ParseM HappyAbsSyn
    cont 9#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_private)   _) -> Int# -> ParseM HappyAbsSyn
    cont 10#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_parameter) _) -> Int# -> ParseM HappyAbsSyn
    cont 11#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_property)  _) -> Int# -> ParseM HappyAbsSyn
    cont 12#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_infix)     _) -> Int# -> ParseM HappyAbsSyn
    cont 13#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_infixl)    _) -> Int# -> ParseM HappyAbsSyn
    cont 14#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_infixr)    _) -> Int# -> ParseM HappyAbsSyn
    cont 15#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_type   ) _) -> Int# -> ParseM HappyAbsSyn
    cont 16#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_newtype) _) -> Int# -> ParseM HappyAbsSyn
    cont 17#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_module ) _) -> Int# -> ParseM HappyAbsSyn
    cont 18#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_where  ) _) -> Int# -> ParseM HappyAbsSyn
    cont 19#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_let    ) _) -> Int# -> ParseM HappyAbsSyn
    cont 20#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_if     ) _) -> Int# -> ParseM HappyAbsSyn
    cont 21#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_then   ) _) -> Int# -> ParseM HappyAbsSyn
    cont 22#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_else   ) _) -> Int# -> ParseM HappyAbsSyn
    cont 23#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_x)       _) -> Int# -> ParseM HappyAbsSyn
    cont 24#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_primitive) _) -> Int# -> ParseM HappyAbsSyn
    cont 25#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_constraint) _) -> Int# -> ParseM HappyAbsSyn
    cont 26#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (KW KW_Prop) _) -> Int# -> ParseM HappyAbsSyn
    cont 27#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym BracketL) _) -> Int# -> ParseM HappyAbsSyn
    cont 28#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym BracketR) _) -> Int# -> ParseM HappyAbsSyn
    cont 29#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym ArrL    ) _) -> Int# -> ParseM HappyAbsSyn
    cont 30#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym DotDot  ) _) -> Int# -> ParseM HappyAbsSyn
    cont 31#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym DotDotDot) _) -> Int# -> ParseM HappyAbsSyn
    cont 32#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym Bar     ) _) -> Int# -> ParseM HappyAbsSyn
    cont 33#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym ParenL  ) _) -> Int# -> ParseM HappyAbsSyn
    cont 34#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym ParenR  ) _) -> Int# -> ParseM HappyAbsSyn
    cont 35#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym Comma   ) _) -> Int# -> ParseM HappyAbsSyn
    cont 36#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym Semi    ) _) -> Int# -> ParseM HappyAbsSyn
    cont 37#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym Dot     ) _) -> Int# -> ParseM HappyAbsSyn
    cont 38#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym CurlyL  ) _) -> Int# -> ParseM HappyAbsSyn
    cont 39#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym CurlyR  ) _) -> Int# -> ParseM HappyAbsSyn
    cont 40#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym TriL    ) _) -> Int# -> ParseM HappyAbsSyn
    cont 41#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym TriR    ) _) -> Int# -> ParseM HappyAbsSyn
    cont 42#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym EqDef   ) _) -> Int# -> ParseM HappyAbsSyn
    cont 43#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym BackTick) _) -> Int# -> ParseM HappyAbsSyn
    cont 44#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym Colon   ) _) -> Int# -> ParseM HappyAbsSyn
    cont 45#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym ArrR    ) _) -> Int# -> ParseM HappyAbsSyn
    cont 46#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym FatArrR ) _) -> Int# -> ParseM HappyAbsSyn
    cont 47#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym Lambda  ) _) -> Int# -> ParseM HappyAbsSyn
    cont 48#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Sym Underscore ) _) -> Int# -> ParseM HappyAbsSyn
    cont 49#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Virt VCurlyL)  _) -> Int# -> ParseM HappyAbsSyn
    cont 50#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Virt VCurlyR)  _) -> Int# -> ParseM HappyAbsSyn
    cont 51#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Virt VSemi)    _) -> Int# -> ParseM HappyAbsSyn
    cont 52#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Op Plus)  _) -> Int# -> ParseM HappyAbsSyn
    cont 53#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Op Mul)   _) -> Int# -> ParseM HappyAbsSyn
    cont 54#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Op Exp)   _) -> Int# -> ParseM HappyAbsSyn
    cont 55#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Op Minus) _) -> Int# -> ParseM HappyAbsSyn
    cont 56#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Op Complement) _) -> Int# -> ParseM HappyAbsSyn
    cont 57#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Op Hash) _) -> Int# -> ParseM HappyAbsSyn
    cont 58#;
    	Located happy_dollar_dollar :: Range
    happy_dollar_dollar (Token (Op At) _) -> Int# -> ParseM HappyAbsSyn
    cont 59#;
    	happy_dollar_dollar :: Located Token
    happy_dollar_dollar@(Located _ (Token (Op (Other [] _)) _)) -> Int# -> ParseM HappyAbsSyn
    cont 60#;
    	happy_dollar_dollar :: Located Token
    happy_dollar_dollar@(Located _ (Token (Op  Other{}   )  _)) -> Int# -> ParseM HappyAbsSyn
    cont 61#;
    	happy_dollar_dollar :: Located Token
    happy_dollar_dollar@(Located _ (Token (White DocStr) _)) -> Int# -> ParseM HappyAbsSyn
    cont 62#;
    	_ -> (Located Token, [String]) -> ParseM HappyAbsSyn
    forall a. (Located Token, [String]) -> ParseM a
    happyError' (Located Token
    tk, [])
    	})

    happyError_ :: [String] -> Int# -> Located Token -> ParseM a
    happyError_ explist :: [String]
    explist 63# tk :: Located Token
    tk = (Located Token, [String]) -> ParseM a
    forall a. (Located Token, [String]) -> ParseM a
    happyError' (Located Token
    tk, [String]
    explist)
    happyError_ explist :: [String]
    explist _ tk :: Located Token
    tk = (Located Token, [String]) -> ParseM a
    forall a. (Located Token, [String]) -> ParseM a
    happyError' (Located Token
    tk, [String]
    explist)

    happyThen :: () => ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen :: ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen = ParseM a -> (a -> ParseM b) -> ParseM b
    forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
    (>>=)
    happyReturn :: () => a -> ParseM a
    happyReturn :: a -> ParseM a
    happyReturn = (a -> ParseM a
    forall (m :: * -> *) a. Monad m => a -> m a
    return)
    happyParse :: () => Happy_GHC_Exts.Int# -> ParseM (HappyAbsSyn )

    happyNewToken :: () => Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )

    happyDoAction :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )

    happyReduceArr :: () => Happy_Data_Array.Array Int (Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn ))

    happyThen1 :: () => ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen1 :: ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen1 = ParseM a -> (a -> ParseM b) -> ParseM b
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen
    happyReturn1 :: () => a -> ParseM a
    happyReturn1 :: a -> ParseM a
    happyReturn1 = a -> ParseM a
    forall a. a -> ParseM a
    happyReturn
    happyError' :: () => ((Located Token), [String]) -> ParseM a
    happyError' :: (Located Token, [String]) -> ParseM a
    happyError' tk :: (Located Token, [String])
    tk = (\(tokens :: Located Token
    tokens, explist :: [String]
    explist) -> ParseM a
    forall a. ParseM a
    happyError) (Located Token, [String])
    tk
    vmodule :: ParseM (Module PName)
    vmodule = ParseM (Module PName)
    happySomeParser where
     happySomeParser :: ParseM (Module PName)
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM (Module PName)) -> ParseM (Module PName)
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 0#) (\x :: HappyAbsSyn
    x -> Module PName -> ParseM (Module PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap15 x' :: Module PName
    x') = HappyAbsSyn -> HappyWrap15
    happyOut15 HappyAbsSyn
    x} in Module PName
    x'))

    program :: ParseM (Program PName)
    program = ParseM (Program PName)
    happySomeParser where
     happySomeParser :: ParseM (Program PName)
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM (Program PName))
    -> ParseM (Program PName)
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 1#) (\x :: HappyAbsSyn
    x -> Program PName -> ParseM (Program PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap23 x' :: Program PName
    x') = HappyAbsSyn -> HappyWrap23
    happyOut23 HappyAbsSyn
    x} in Program PName
    x'))

    programLayout :: ParseM (Program PName)
    programLayout = ParseM (Program PName)
    happySomeParser where
     happySomeParser :: ParseM (Program PName)
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM (Program PName))
    -> ParseM (Program PName)
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 2#) (\x :: HappyAbsSyn
    x -> Program PName -> ParseM (Program PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap24 x' :: Program PName
    x') = HappyAbsSyn -> HappyWrap24
    happyOut24 HappyAbsSyn
    x} in Program PName
    x'))

    expr :: ParseM (Expr PName)
    expr = ParseM (Expr PName)
    happySomeParser where
     happySomeParser :: ParseM (Expr PName)
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM (Expr PName)) -> ParseM (Expr PName)
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 3#) (\x :: HappyAbsSyn
    x -> Expr PName -> ParseM (Expr PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap55 x' :: Expr PName
    x') = HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    x} in Expr PName
    x'))

    decl :: ParseM (Decl PName)
    decl = ParseM (Decl PName)
    happySomeParser where
     happySomeParser :: ParseM (Decl PName)
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM (Decl PName)) -> ParseM (Decl PName)
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 4#) (\x :: HappyAbsSyn
    x -> Decl PName -> ParseM (Decl PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap36 x' :: Decl PName
    x') = HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    x} in Decl PName
    x'))

    decls :: ParseM [Decl PName]
    decls = ParseM [Decl PName]
    happySomeParser where
     happySomeParser :: ParseM [Decl PName]
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM [Decl PName]) -> ParseM [Decl PName]
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 5#) (\x :: HappyAbsSyn
    x -> [Decl PName] -> ParseM [Decl PName]
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap46 x' :: [Decl PName]
    x') = HappyAbsSyn -> HappyWrap46
    happyOut46 HappyAbsSyn
    x} in [Decl PName]
    x'))

    declsLayout :: ParseM [Decl PName]
    declsLayout = ParseM [Decl PName]
    happySomeParser where
     happySomeParser :: ParseM [Decl PName]
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM [Decl PName]) -> ParseM [Decl PName]
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 6#) (\x :: HappyAbsSyn
    x -> [Decl PName] -> ParseM [Decl PName]
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap48 x' :: [Decl PName]
    x') = HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    x} in [Decl PName]
    x'))

    letDecl :: ParseM (Decl PName)
    letDecl = ParseM (Decl PName)
    happySomeParser where
     happySomeParser :: ParseM (Decl PName)
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM (Decl PName)) -> ParseM (Decl PName)
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 7#) (\x :: HappyAbsSyn
    x -> Decl PName -> ParseM (Decl PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap37 x' :: Decl PName
    x') = HappyAbsSyn -> HappyWrap37
    happyOut37 HappyAbsSyn
    x} in Decl PName
    x'))

    repl :: ParseM (ReplInput PName)
    repl = ParseM (ReplInput PName)
    happySomeParser where
     happySomeParser :: ParseM (ReplInput PName)
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM (ReplInput PName))
    -> ParseM (ReplInput PName)
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 8#) (\x :: HappyAbsSyn
    x -> ReplInput PName -> ParseM (ReplInput PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap49 x' :: ReplInput PName
    x') = HappyAbsSyn -> HappyWrap49
    happyOut49 HappyAbsSyn
    x} in ReplInput PName
    x'))

    schema :: ParseM (Schema PName)
    schema = ParseM (Schema PName)
    happySomeParser where
     happySomeParser :: ParseM (Schema PName)
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM (Schema PName)) -> ParseM (Schema PName)
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 9#) (\x :: HappyAbsSyn
    x -> Schema PName -> ParseM (Schema PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap90 x' :: Schema PName
    x') = HappyAbsSyn -> HappyWrap90
    happyOut90 HappyAbsSyn
    x} in Schema PName
    x'))

    modName :: ParseM (Located ModName)
    modName = ParseM (Located ModName)
    happySomeParser where
     happySomeParser :: ParseM (Located ModName)
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM (Located ModName))
    -> ParseM (Located ModName)
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 10#) (\x :: HappyAbsSyn
    x -> Located ModName -> ParseM (Located ModName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap111 x' :: Located ModName
    x') = HappyAbsSyn -> HappyWrap111
    happyOut111 HappyAbsSyn
    x} in Located ModName
    x'))

    helpName :: ParseM LPName
    helpName = ParseM LPName
    happySomeParser where
     happySomeParser :: ParseM LPName
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM LPName) -> ParseM LPName
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse 11#) (\x :: HappyAbsSyn
    x -> LPName -> ParseM LPName
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap113 x' :: LPName
    x') = HappyAbsSyn -> HappyWrap113
    happyOut113 HappyAbsSyn
    x} in LPName
    x'))

    happySeq :: a -> b -> b
    happySeq = a -> b -> b
    forall a b. a -> b -> b
    happyDontSeq

    parseModName :: String -> Maybe ModName
    parseModName :: String -> Maybe ModName
    parseModName txt :: String
    txt =
      case Config
    -> ParseM (Located ModName)
    -> String
    -> Either ParseError (Located ModName)
    forall a. Config -> ParseM a -> String -> Either ParseError a
    parseString Config
    defaultConfig { cfgModuleScope :: Bool
    cfgModuleScope = Bool
    False } ParseM (Located ModName)
    modName String
    txt of
        Right a :: Located ModName
    a -> ModName -> Maybe ModName
    forall k1. k1 -> Maybe k1
    Just (Located ModName -> ModName
    forall a. Located a -> a
    thing Located ModName
    a)
        Left _  -> Maybe ModName
    forall k1. Maybe k1
    Nothing

    parseHelpName :: String -> Maybe PName
    parseHelpName :: String -> Maybe PName
    parseHelpName txt :: String
    txt =
      case Config -> ParseM LPName -> String -> Either ParseError LPName
    forall a. Config -> ParseM a -> String -> Either ParseError a
    parseString Config
    defaultConfig { cfgModuleScope :: Bool
    cfgModuleScope = Bool
    False } ParseM LPName
    helpName String
    txt of
        Right a :: LPName
    a -> PName -> Maybe PName
    forall k1. k1 -> Maybe k1
    Just (LPName -> PName
    forall a. Located a -> a
    thing LPName
    a)
        Left _  -> Maybe PName
    forall k1. Maybe k1
    Nothing

    addImplicitIncludes :: Config -> Program PName -> Program PName
    addImplicitIncludes :: Config -> Program PName -> Program PName
    addImplicitIncludes cfg :: Config
    cfg (Program ds :: [TopDecl PName]
    ds) =
      [TopDecl PName] -> Program PName
    forall name. [TopDecl name] -> Program name
    Program ([TopDecl PName] -> Program PName)
    -> [TopDecl PName] -> Program PName
    forall a b. (a -> b) -> a -> b
    $ (String -> TopDecl PName) -> [String] -> [TopDecl PName]
    forall a b. (a -> b) -> [a] -> [b]
    map String -> TopDecl PName
    forall name. String -> TopDecl name
    path (Config -> [String]
    cfgAutoInclude Config
    cfg) [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a] -> [a]
    ++ [TopDecl PName]
    ds
      where path :: String -> TopDecl name
    path p :: String
    p = Located String -> TopDecl name
    forall name. Located String -> TopDecl name
    Include $WLocated :: forall a. Range -> a -> Located a
    Located { srcRange :: Range
    srcRange = Range
    rng, thing :: String
    thing = String
    p }
            rng :: Range
    rng    = $WRange :: Position -> Position -> String -> Range
    Range { source :: String
    source = Config -> String
    cfgSource Config
    cfg, from :: Position
    from = Position
    start, to :: Position
    to = Position
    start }

    parseProgramWith :: Config -> Text -> Either ParseError (Program PName)
    parseProgramWith :: Config -> Text -> Either ParseError (Program PName)
    parseProgramWith cfg :: Config
    cfg s :: Text
    s = case Text -> Either ParseError (Program PName)
    res Text
    s of
                              Left err :: ParseError
    err -> ParseError -> Either ParseError (Program PName)
    forall a b. a -> Either a b
    Left ParseError
    err
                              Right a :: Program PName
    a  -> Program PName -> Either ParseError (Program PName)
    forall a b. b -> Either a b
    Right (Config -> Program PName -> Program PName
    addImplicitIncludes Config
    cfg Program PName
    a)
      where
      res :: Text -> Either ParseError (Program PName)
    res = Config
    -> ParseM (Program PName)
    -> Text
    -> Either ParseError (Program PName)
    forall a. Config -> ParseM a -> Text -> Either ParseError a
    parse Config
    cfg (ParseM (Program PName)
     -> Text -> Either ParseError (Program PName))
    -> ParseM (Program PName)
    -> Text
    -> Either ParseError (Program PName)
    forall a b. (a -> b) -> a -> b
    $ case Config -> Layout
    cfgLayout Config
    cfg of
                          Layout   -> ParseM (Program PName)
    programLayout
                          NoLayout -> ParseM (Program PName)
    program

    parseModule :: Config -> Text -> Either ParseError (Module PName)
    parseModule :: Config -> Text -> Either ParseError (Module PName)
    parseModule cfg :: Config
    cfg = Config
    -> ParseM (Module PName)
    -> Text
    -> Either ParseError (Module PName)
    forall a. Config -> ParseM a -> Text -> Either ParseError a
    parse Config
    cfg { cfgModuleScope :: Bool
    cfgModuleScope = Bool
    True } ParseM (Module PName)
    vmodule

    parseProgram :: Layout -> Text -> Either ParseError (Program PName)
    parseProgram :: Layout -> Text -> Either ParseError (Program PName)
    parseProgram l :: Layout
    l = Config -> Text -> Either ParseError (Program PName)
    parseProgramWith Config
    defaultConfig { cfgLayout :: Layout
    cfgLayout = Layout
    l }

    parseExprWith :: Config -> Text -> Either ParseError (Expr PName)
    parseExprWith :: Config -> Text -> Either ParseError (Expr PName)
    parseExprWith cfg :: Config
    cfg = Config
    -> ParseM (Expr PName) -> Text -> Either ParseError (Expr PName)
    forall a. Config -> ParseM a -> Text -> Either ParseError a
    parse Config
    cfg { cfgModuleScope :: Bool
    cfgModuleScope = Bool
    False } ParseM (Expr PName)
    expr

    parseExpr :: Text -> Either ParseError (Expr PName)
    parseExpr :: Text -> Either ParseError (Expr PName)
    parseExpr = Config -> Text -> Either ParseError (Expr PName)
    parseExprWith Config
    defaultConfig

    parseDeclWith :: Config -> Text -> Either ParseError (Decl PName)
    parseDeclWith :: Config -> Text -> Either ParseError (Decl PName)
    parseDeclWith cfg :: Config
    cfg = Config
    -> ParseM (Decl PName) -> Text -> Either ParseError (Decl PName)
    forall a. Config -> ParseM a -> Text -> Either ParseError a
    parse Config
    cfg { cfgModuleScope :: Bool
    cfgModuleScope = Bool
    False } ParseM (Decl PName)
    decl

    parseDecl :: Text -> Either ParseError (Decl PName)
    parseDecl :: Text -> Either ParseError (Decl PName)
    parseDecl = Config -> Text -> Either ParseError (Decl PName)
    parseDeclWith Config
    defaultConfig

    parseDeclsWith :: Config -> Text -> Either ParseError [Decl PName]
    parseDeclsWith :: Config -> Text -> Either ParseError [Decl PName]
    parseDeclsWith cfg :: Config
    cfg = Config
    -> ParseM [Decl PName] -> Text -> Either ParseError [Decl PName]
    forall a. Config -> ParseM a -> Text -> Either ParseError a
    parse Config
    cfg { cfgModuleScope :: Bool
    cfgModuleScope = Bool
    ms } ParseM [Decl PName]
    decls'
      where (ms :: Bool
    ms, decls' :: ParseM [Decl PName]
    decls') = case Config -> Layout
    cfgLayout Config
    cfg of
                             Layout   -> (Bool
    True, ParseM [Decl PName]
    declsLayout)
                             NoLayout -> (Bool
    False, ParseM [Decl PName]
    decls)

    parseDecls :: Text -> Either ParseError [Decl PName]
    parseDecls :: Text -> Either ParseError [Decl PName]
    parseDecls = Config -> Text -> Either ParseError [Decl PName]
    parseDeclsWith Config
    defaultConfig

    parseLetDeclWith :: Config -> Text -> Either ParseError (Decl PName)
    parseLetDeclWith :: Config -> Text -> Either ParseError (Decl PName)
    parseLetDeclWith cfg :: Config
    cfg = Config
    -> ParseM (Decl PName) -> Text -> Either ParseError (Decl PName)
    forall a. Config -> ParseM a -> Text -> Either ParseError a
    parse Config
    cfg { cfgModuleScope :: Bool
    cfgModuleScope = Bool
    False } ParseM (Decl PName)
    letDecl

    parseLetDecl :: Text -> Either ParseError (Decl PName)
    parseLetDecl :: Text -> Either ParseError (Decl PName)
    parseLetDecl = Config -> Text -> Either ParseError (Decl PName)
    parseLetDeclWith Config
    defaultConfig

    parseReplWith :: Config -> Text -> Either ParseError (ReplInput PName)
    parseReplWith :: Config -> Text -> Either ParseError (ReplInput PName)
    parseReplWith cfg :: Config
    cfg = Config
    -> ParseM (ReplInput PName)
    -> Text
    -> Either ParseError (ReplInput PName)
    forall a. Config -> ParseM a -> Text -> Either ParseError a
    parse Config
    cfg { cfgModuleScope :: Bool
    cfgModuleScope = Bool
    False } ParseM (ReplInput PName)
    repl

    parseRepl :: Text -> Either ParseError (ReplInput PName)
    parseRepl :: Text -> Either ParseError (ReplInput PName)
    parseRepl = Config -> Text -> Either ParseError (ReplInput PName)
    parseReplWith Config
    defaultConfig

    parseSchemaWith :: Config -> Text -> Either ParseError (Schema PName)
    parseSchemaWith :: Config -> Text -> Either ParseError (Schema PName)
    parseSchemaWith cfg :: Config
    cfg = Config
    -> ParseM (Schema PName)
    -> Text
    -> Either ParseError (Schema PName)
    forall a. Config -> ParseM a -> Text -> Either ParseError a
    parse Config
    cfg { cfgModuleScope :: Bool
    cfgModuleScope = Bool
    False } ParseM (Schema PName)
    schema

    parseSchema :: Text -> Either ParseError (Schema PName)
    parseSchema :: Text -> Either ParseError (Schema PName)
    parseSchema = Config -> Text -> Either ParseError (Schema PName)
    parseSchemaWith Config
    defaultConfig

    -- vim: ft=haskell
    {-# LINE 1 "templates/GenericTemplate.hs" #-}
    -- $Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp $

    -- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
    #if __GLASGOW_HASKELL__ > 706
    #define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool)
    #define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)
    #define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)
    #else
    #define LT(n,m) (n Happy_GHC_Exts.<# m)
    #define GTE(n,m) (n Happy_GHC_Exts.>=# m)
    #define EQ(n,m) (n Happy_GHC_Exts.==# m)
    #endif

    data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList

    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 ERROR_TOK, 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 (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Int)) i tk st
                    -1#          -> {- nothing -}
                                         happyAccept i tk st
                    n | LT(n,(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    = happyAdjustOffset (indexShortOffAddr happyActOffsets st)
             off_i  = (off Happy_GHC_Exts.+# i)
             check  = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))
                      then EQ(indexShortOffAddr happyCheck off_i, i)
                      else False
             action
              | check     = indexShortOffAddr happyTable off_i
              | otherwise = indexShortOffAddr happyDefActions st

    indexShortOffAddr (HappyA# arr) off =
            Happy_GHC_Exts.narrow16Int# i
      where
            i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)
            high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))
            low  = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))
            off' = off Happy_GHC_Exts.*# 2#

    {-# INLINE happyLt #-}
    happyLt x y = LT(x,y)

    readArrayBit arr bit =
        Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `mod` 16)
      where unbox_int (Happy_GHC_Exts.I# x) = x

    data HappyAddr = HappyA# Happy_GHC_Exts.Addr#

    -----------------------------------------------------------------------------
    -- HappyState data type (not arrays)

    -----------------------------------------------------------------------------
    -- 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 =
          case happyDrop k (HappyCons (st) (sts)) of
            sts1@((HappyCons (st1@(action)) (_))) ->
              let drop_stk = happyDropStk k stk in
              happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_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 =
          case happyDrop k (HappyCons (st) (sts)) of
            sts1@((HappyCons (st1@(action)) (_))) ->
             let drop_stk = happyDropStk k stk

                 off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st1)
                 off_i = (off Happy_GHC_Exts.+# nt)
                 new_state = indexShortOffAddr happyTable off_i

              in
              happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))

    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 = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st)
             off_i = (off Happy_GHC_Exts.+# nt)
             new_state = indexShortOffAddr happyTable off_i

    -----------------------------------------------------------------------------
    -- Error recovery (ERROR_TOK is the error token)

    -- parse error if we are in recovery and we fail again
    happyFail explist 0# tk old_st _ stk@(x `HappyStk` _) =
         let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
    --      trace "failing" $
            happyError_ explist i 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  ERROR_TOK tk old_st CONS(HAPPYSTATE(action),sts)
                                                    (saved_tok `HappyStk` _ `HappyStk` stk) =
    --      trace ("discarding state, depth " ++ show (length stk))  $
            DO_ACTION(action,ERROR_TOK,tk,sts,(saved_tok`HappyStk`stk))
    -}

    -- Enter error recovery: generate an error token,
    --                       save the old token and carry on.
    happyFail explist 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 :: a
    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.