    {-# 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.List.NonEmpty ( NonEmpty(..), cons )
    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.Token
    import Cryptol.Parser.ParserUtils
    import Cryptol.Parser.Unlit(PreProc(..), guessPreProc)
    import Cryptol.Utils.RecordMap(RecordMap)

    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.20.1.1

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

    happyExpList :: HappyAddr
    happyExpList :: HappyAddr
    happyExpList = Addr# -> HappyAddr
    HappyA# Addr#
    "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x02\x00\x00\x00\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\xe7\x01\x04\x02\x88\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\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xe7\x01\x04\x02\x88\x00\x02\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xe7\x01\x04\x02\x88\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\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\xe7\x61\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x07\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x07\x00\x04\x00\x0e\x00\xe0\x3f\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\x18\x07\x04\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\xe0\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x07\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\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\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\x06\x40\xe0\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\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x9e\x00\xe2\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\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\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\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\x06\x20\xe0\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\x80\x1f\x07\x00\x04\x02\x88\x12\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\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\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\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\x80\x1c\x07\x00\x44\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x06\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x9e\x12\xe3\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x00\x04\x02\x88\x13\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x18\x07\x00\x04\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\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\x1f\x07\x40\x04\x02\x88\x12\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xe7\x01\x04\x02\x88\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x89\x00\x02\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xe7\x01\x04\x02\x88\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\x08\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\xe0\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\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\x08\x07\x00\x04\x06\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x9e\x00\xe2\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\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\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xef\x01\x04\x02\x88\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\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\xe7\x01\x04\x02\x88\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\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\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\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xef\x01\x04\x02\x88\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\x08\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\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x08\xef\x01\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x10\x0a\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x07\x04\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\x08\x07\x01\x04\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\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\x40\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\x00\x00\x00\x00\x00\x00\x00\x80\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\x20\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\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\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\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\x20\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\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\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x98\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\x04\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\x04\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\x06\x00\xe0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\xe0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\xe0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\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\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\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\x08\x07\x00\x04\x02\x88\x00\x02\x08\x00\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\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\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\x00\x00\x00\x00\x40\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\x40\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\x08\x07\x00\x04\x02\x88\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\x04\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\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\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\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\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\x08\x07\x00\x04\x02\x88\x00\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\x10\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\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\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\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xf0\x21\x00\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\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\x90\x00\x00\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\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\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\x00\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\x08\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\xe0\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x9e\x00\xe2\x1f\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\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\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\x06\x00\xe0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\xe0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\xe0\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\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\x20\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\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\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\x20\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\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\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\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\x80\x1c\x07\x00\x04\x02\x88\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\x1c\x07\x00\x04\x02\x88\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\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\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\x80\x1c\x07\x00\x04\x02\x88\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\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\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\x10\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\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x07\x0c\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\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\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\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\x80\x1c\x07\x00\x04\x02\x88\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\x1c\x07\x00\x04\x02\x88\x00\x02\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\x40\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\x80\x1c\x07\x00\x04\x03\x88\x00\x42\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\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\x08\x07\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\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\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\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\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\x08\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\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\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x8e\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\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\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\x00\x00\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\x1f\x07\x40\x04\x02\x88\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\x80\x1f\x07\x00\x04\x02\x88\x12\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\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x00\x04\x02\x88\x12\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\x1f\x07\x00\x04\x02\x88\x12\x02\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\x80\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\x20\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\x20\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\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\x20\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\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\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xe7\x01\x04\x02\x88\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xe7\x01\x04\x02\x88\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\xe0\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\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\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\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\x00\x08\x07\x00\x04\x02\x88\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\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\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\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\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\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\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\x08\x07\x00\x04\x02\x88\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\x08\x07\x00\x04\x02\x88\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\x1c\x07\x00\x04\x02\x88\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xe7\x01\x04\x02\x88\x01\x02\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xe7\x01\x04\x02\x88\x00\x0a\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xef\x01\x04\x02\x88\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xef\x01\x04\x02\x88\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\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\x80\x1c\x07\x00\x04\x02\x88\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\x06\x00\xe0\x1f\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\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xef\x01\x04\x02\x88\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x18\x07\x0c\x06\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x07\x04\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\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\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\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\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\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xef\x01\x04\x02\x88\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\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\x08\x02\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\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\x18\x07\x00\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x07\x0c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x07\x04\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\x40\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\x40\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\x00\x00\x08\x07\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\x04\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\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\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\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xe7\x01\x04\x02\x88\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x1f\x07\x40\x04\x02\x88\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\xe0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\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\x08\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\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x07\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\x80\x1c\x07\x00\x04\x02\x88\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x80\x1f\x07\x40\x04\x02\x88\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\x00\x00\x00\x00\x00\x00\x00\x00\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\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\x10\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\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\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\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\x10\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\x10\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\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\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\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\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\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\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\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\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\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\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\x10\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x07\x00\x04\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xef\x01\x04\x02\x88\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\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\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x07\x0c\x06\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\x01\x00\x00\x40\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x40\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\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\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\x10\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\x10\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\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\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\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\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\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\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\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\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\x01\x00\x00\x40\x04\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\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\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x44\x02\x88\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\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\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\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\x18\x07\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\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\x18\x07\x04\x04\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\x18\x07\x0c\x06\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x02\x88\x08\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\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\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\x40\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\x40\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x08\x07\x00\x04\x00\x00\x01\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\x80\x1f\x07\x40\x04\x02\x88\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\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\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x08\x07\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\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x80\x1c\x07\x00\x04\x02\x88\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\x40\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\x08\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x07\x0c\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1c\x07\x00\x04\x02\x88\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\x40\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\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\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\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\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\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\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xef\x01\x04\x02\x88\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\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\x80\x1f\x07\x40\x04\x02\x88\x12\x03\x03\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\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\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\x80\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\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\x08\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\x40\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\x00\x04\x00\x08\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\x18\x07\x0c\x06\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x07\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\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\x20\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\x80\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\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\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\x80\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\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\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\x40\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\x40\x00\x10\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\x08\x07\x00\x04\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"#

    {-# NOINLINE happyExpListPerState #-}
    happyExpListPerState :: Int -> [a]
    happyExpListPerState Int
    st =
        [a]
    token_strs_expected
      where token_strs :: [a]
    token_strs = [a
    "error",a
    "%dummy",a
    "%start_top_module",a
    "%start_program",a
    "%start_programLayout",a
    "%start_expr",a
    "%start_decl",a
    "%start_decls",a
    "%start_declsLayout",a
    "%start_letDecl",a
    "%start_repl",a
    "%start_schema",a
    "%start_modName",a
    "%start_helpName",a
    "top_module",a
    "module_def",a
    "modInstParams",a
    "namedModInstParams",a
    "namedModInstParam",a
    "modInstParam",a
    "vmod_body",a
    "imports1",a
    "import",a
    "optImportWhere",a
    "optInst",a
    "impName",a
    "impNameBT",a
    "mbAs",a
    "mbImportSpec",a
    "name_list",a
    "mbHiding",a
    "program",a
    "program_layout",a
    "top_decls",a
    "vtop_decls",a
    "vtop_decl",a
    "sig_def",a
    "sig_body",a
    "mod_param_decl",a
    "top_decl",a
    "private_decls",a
    "prim_bind",a
    "foreign_bind",a
    "parameter_decls",a
    "par_decls",a
    "par_decl",a
    "doc",a
    "mbDoc",a
    "decl",a
    "let_decls",a
    "let_decl",a
    "typeOrPropSyn",a
    "topTypeConstraint",a
    "propguards_cases",a
    "propguards_case",a
    "propguards_quals",a
    "newtype",a
    "newtype_body",a
    "vars_comma",a
    "var",a
    "apats",a
    "indices",a
    "indices1",a
    "apats_indices",a
    "opt_apats_indices",a
    "decls",a
    "vdecls",a
    "decls_layout",a
    "repl",a
    "qop",a
    "op",a
    "pat_op",a
    "other_op",a
    "ops",a
    "expr",a
    "exprNoWhere",a
    "whereClause",a
    "typedExpr",a
    "simpleExpr",a
    "longExpr",a
    "ifBranches",a
    "ifBranch",a
    "simpleRHS",a
    "longRHS",a
    "simpleApp",a
    "longApp",a
    "aexprs",a
    "aexpr",a
    "no_sel_aexpr",a
    "sel_expr",a
    "selector",a
    "poly_terms",a
    "poly_term",a
    "tuple_exprs",a
    "rec_expr",a
    "field_exprs",a
    "field_expr",a
    "field_path",a
    "field_how",a
    "list_expr",a
    "list_alts",a
    "matches",a
    "match",a
    "pat",a
    "ipat",a
    "apat",a
    "tuple_pats",a
    "field_pat",a
    "field_pats",a
    "schema",a
    "schema_vars",a
    "schema_quals",a
    "schema_qual",a
    "kind",a
    "schema_param",a
    "schema_params",a
    "type",a
    "infix_type",a
    "app_type",a
    "atype",a
    "ktype",a
    "atypes",a
    "dimensions",a
    "tuple_types",a
    "field_type",a
    "field_types",a
    "ident",a
    "name",a
    "smodName",a
    "modName",a
    "qname",a
    "help_name",a
    "tick_ty",a
    "field_ty_val",a
    "field_ty_vals",a
    "NUM",a
    "FRAC",a
    "STRLIT",a
    "CHARLIT",a
    "IDENT",a
    "QIDENT",a
    "SELECTOR",a
    "'include'",a
    "'import'",a
    "'as'",a
    "'hiding'",a
    "'private'",a
    "'parameter'",a
    "'property'",a
    "'infix'",a
    "'infixl'",a
    "'infixr'",a
    "'type'",a
    "'newtype'",a
    "'module'",a
    "'submodule'",a
    "'where'",a
    "'let'",a
    "'if'",a
    "'then'",a
    "'else'",a
    "'interface'",a
    "'x'",a
    "'down'",a
    "'by'",a
    "'primitive'",a
    "'constraint'",a
    "'foreign'",a
    "'Prop'",a
    "'['",a
    "']'",a
    "'<-'",a
    "'..'",a
    "'...'",a
    "'..<'",a
    "'..>'",a
    "'|'",a
    "'<'",a
    "'>'",a
    "'('",a
    "')'",a
    "','",a
    "';'",a
    "'{'",a
    "'}'",a
    "'<|'",a
    "'|>'",a
    "'='",a
    "'`'",a
    "':'",a
    "'->'",a
    "'=>'",a
    "'\\\\'",a
    "'_'",a
    "'v{'",a
    "'v}'",a
    "'v;'",a
    "'+'",a
    "'*'",a
    "'^^'",a
    "'-'",a
    "'~'",a
    "'#'",a
    "'@'",a
    "OP",a
    "QOP",a
    "DOC",a
    "%eof"]
            bit_start :: Int
    bit_start = Int
    st Int -> Int -> Int
    forall a. Num a => a -> a -> a
    Prelude.* Int
    208
            bit_end :: Int
    bit_end = (Int
    st Int -> Int -> Int
    forall a. Num a => a -> a -> a
    Prelude.+ Int
    1) Int -> Int -> Int
    forall a. Num a => a -> a -> a
    Prelude.* Int
    208
            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]
    Prelude.map Int -> Bool
    read_bit [Int
    bit_start..Int
    bit_end Int -> Int -> Int
    forall a. Num a => a -> a -> a
    Prelude.- Int
    1]
            bits_indexed :: [(Bool, Int)]
    bits_indexed = [Bool] -> [Int] -> [(Bool, Int)]
    forall a b. [a] -> [b] -> [(a, b)]
    Prelude.zip [Bool]
    bits [Int
    0..Int
    207]
            token_strs_expected :: [a]
    token_strs_expected = ((Bool, Int) -> [a]) -> [(Bool, Int)] -> [a]
    forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
    Prelude.concatMap (Bool, Int) -> [a]
    f [(Bool, Int)]
    bits_indexed
            f :: (Bool, Int) -> [a]
    f (Bool
    Prelude.False, Int
    _) = []
            f (Bool
    Prelude.True, Int
    nr) = [[a]
    token_strs [a] -> Int -> a
    forall a. HasCallStack => [a] -> Int -> a
    Prelude.!! Int
    nr]

    happyActOffsets :: HappyAddr
    happyActOffsets :: HappyAddr
    happyActOffsets = Addr# -> HappyAddr
    HappyA# Addr#
    "\x15\x00\x38\x02\x20\x00\x68\x04\xd9\x05\xd9\x05\x31\x00\xde\x04\xf5\x03\x8c\x06\x22\x02\x8c\x04\x7e\x00\x22\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\xe8\x05\x62\x00\x9f\x06\x9f\x06\x00\x00\x7f\x00\x75\x08\x00\x00\x00\x00\xac\x06\xbf\x06\x00\x00\x00\x00\xdf\x06\xa4\x03\xf9\x01\x00\x00\x00\x00\xd0\x00\x00\x00\xbd\x00\xfc\x00\x00\x00\x00\x00\x1e\x08\x00\x00\x00\x00\x00\x00\xb0\x0c\x00\x00\x19\x06\x00\x00\x2b\x01\x2b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x01\x65\x01\x6b\x01\x4c\x06\x29\x0c\x68\x04\x4c\x04\x5d\x03\x0c\x06\x1e\x00\x3c\x0c\x34\x0c\x00\x00\xfd\x05\xfd\x05\x45\x01\x45\x01\x16\x05\x63\x01\x00\x00\xfa\x00\x79\x02\x82\x02\x4f\x00\x10\x03\x97\x03\x00\x00\xa1\x01\xaa\x01\xcf\x01\x13\x05\xb8\x04\x9d\x02\x00\x00\x8b\x01\x10\x00\x8b\x01\xb7\x02\x8b\x01\x4e\x02\xe2\x01\x00\x00\x00\x00\xd0\x01\x00\x00\xfc\x01\x00\x00\xd5\x01\x21\x02\xf8\x02\x04\x02\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x05\x40\x06\x00\x00\x0a\x02\x13\x02\x22\x02\x00\x00\xcc\x06\x00\x00\x25\x02\x31\x02\x00\x00\x08\x01\x00\x00\xdf\x01\x36\x02\x00\x00\x58\x02\xe9\x00\x7b\x00\x00\x00\x4c\x01\x00\x00\xe1\x0b\x00\x00\x08\x00\x38\x01\x00\x00\xbb\x08\xbb\x08\xbb\x08\x34\x0c\x68\x04\x34\x0c\x6d\x02\x3c\x02\x00\x00\x04\x04\x58\x01\x00\x00\xdf\x06\x34\x0c\x8d\x01\xf2\x06\x00\x00\x00\x00\x7d\x02\x00\x00\xce\x0c\x00\x00\xe0\x0c\x00\x00\xe9\x0b\x00\x00\x00\x00\x00\x00\xff\x06\x58\x06\x76\x01\x00\x00\x00\x00\x60\x02\x00\x00\x84\x02\xb1\x02\xac\x02\x00\x00\xbb\x04\x00\x00\xbf\x02\xc9\x02\xc4\x00\x87\x02\x00\x00\xfd\x05\xfd\x05\x14\x01\xcf\x02\xf6\x02\x00\x00\x72\x02\xfb\xff\x00\x00\x16\x02\xbb\x04\xc6\x00\x10\x03\xb8\x04\xec\x02\xff\x06\xe0\x02\xbb\x08\xbb\x08\xbb\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x04\xff\x06\xde\x04\x00\x00\x8f\x03\x00\x00\x96\x03\xf1\x02\x29\x0d\x02\x03\x39\x02\x06\x03\xa2\x02\x00\x00\x14\x03\x00\x00\x12\x07\x00\x00\x32\x07\x00\x00\x32\x07\x32\x07\x32\x07\x00\x00\x00\x00\x04\x03\x32\x07\x04\x03\x00\x00\x11\x03\x00\x00\x1b\x00\x1d\x03\x4b\x09\x00\x00\x22\x03\x00\x00\x00\x00\x29\x03\x47\x03\x00\x00\x4d\x0c\x00\x00\x32\x07\x00\x00\x32\x07\x9b\x00\x00\x00\xb1\x03\x8a\x03\x00\x00\x8a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x03\x2e\x03\x2e\x03\x43\x03\x00\x00\x52\x03\x32\x07\x4a\x03\x34\x0c\x68\x04\x72\x03\x45\x07\x68\x04\x68\x04\x68\x04\x00\x00\x68\x04\x11\x04\x00\x00\x68\x04\x68\x04\x34\x0c\x68\x04\x00\x00\x00\x00\x68\x04\x00\x00\x19\x06\x00\x00\xe9\x03\x19\x06\x00\x00\x19\x06\xaa\x03\x00\x00\x6f\x00\x07\x04\x46\x04\x78\x03\x00\x00\x4f\x04\x00\x00\x91\x03\x00\x00\x68\x04\xd9\x05\x00\x00\xd9\x05\x00\x00\x00\x00\x00\x00\xbb\x08\x7f\x03\x00\x00\x8d\x03\x00\x00\xb2\x03\x68\x04\x00\x00\x34\x0c\x00\x00\x00\x00\xb0\x03\xb8\x03\xea\x03\xfb\x03\xfb\x03\xfb\x03\x00\x00\x34\x0c\x00\x00\x34\x0c\x00\x00\x52\x07\x00\x00\x13\x04\x34\x0c\x8a\x03\x00\x00\x00\x00\xa5\x05\x4a\x05\x39\x03\x00\x00\x39\x03\x00\x00\x1e\x04\x65\x07\xbb\x08\x16\x04\xe6\x03\x39\x03\x00\x00\x00\x00\x00\x00\x47\x04\x05\x08\x8a\x03\x85\x07\x22\x02\xed\x01\x8a\x03\x00\x00\x35\x04\x3f\x04\x00\x00\x3b\x04\x39\x03\x4e\x04\x8a\x03\x85\x07\x00\x00\x65\x04\xfc\x0b\x5f\x04\x97\x04\x00\x00\x46\x02\x4b\x09\x22\x02\x00\x00\xa4\x02\xa9\x02\x00\x00\x90\x06\x6b\x04\x7b\x04\x87\x04\x98\x07\x00\x00\x00\x00\xf4\x02\x00\x00\xbf\x05\x00\x00\x00\x00\x00\x00\x68\x04\x00\x00\x00\x00\x00\x00\xbb\x08\x68\x04\x7a\x04\xab\x04\x68\x04\x34\x0c\x9c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x03\x00\x00\xa5\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x04\x00\x00\x68\x04\x00\x00\x00\x00\xa7\x04\xc6\x04\x12\x00\xbd\x04\xbc\x04\x00\x00\xc5\x04\xd4\x01\x56\x02\x55\x01\x68\x04\x68\x04\xdb\x04\xdb\x04\x00\x00\x00\x00\x00\x00\x68\x04\xdb\x04\xbf\x04\xd0\x04\x00\x00\xa5\x07\xa5\x07\x00\x00\xc8\x04\x00\x00\xba\x04\x00\x00\x00\x00\x00\x00\x00\x00\xba\x04\x00\x00\x00\x00\x00\x00\x4d\x0c\x5c\x00\x1f\x07\xf8\x02\xcb\x04\x00\x00\xe0\x04\x71\x03\x9b\x00\x9b\x00\x00\x00\x68\x04\x68\x04\xf6\x04\x95\x02\x8e\x02\xef\x04\x68\x04\x68\x04\xf9\x04\x68\x04\x34\x0c\x34\x0c\x68\x04\x00\x00\x04\x05\x00\x00\xee\x04\x00\x00\x00\x00\x00\x00\x0e\x05\x0e\x05\x00\x00\x0e\x05\x00\x00\x00\x00\x00\x00\x9b\x00\xf2\x04\x21\x00\x00\x00\x00\x00\xf7\x04\x6c\x06\xe8\x04\x00\x00\xe8\x04\x00\x00\x00\x00\x27\x05\x1f\x07\x81\x01\x22\x02\x27\x05\x71\x03\x20\x0c\x68\x04\x07\x05\x00\x00\x26\x05\xb8\x07\x27\x03\x54\x03\x00\x00\x00\x00\x00\x00\x01\x05\x00\x00\x67\x03\x29\x05\x68\x04\x14\x05\x21\x05\x00\x00\x00\x00\x00\x00\x1d\x05\x8a\x03\x00\x00\xfe\xff\x00\x00\x00\x00\x18\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x05\xd8\x07\xeb\x07\x6a\x01\x00\x00\x2f\x05\xa5\x01\x29\x00\xeb\x07\x25\x05\x48\x05\x39\x05\x00\x00\x60\x05\x68\x04\x60\x05\x60\x05\x68\x04\x68\x04\x5b\x05\x6c\x05\x6c\x05\x4c\x05\x56\x05\xf8\x02\x00\x00\x58\x05\x00\x00\x68\x04\x89\x05\x89\x05\x89\x05\x00\x00\x00\x00\x21\x00\x21\x00\x00\x00\x6e\x05\x9b\x00\x8d\x01\x8b\x05\x00\x00\x9a\x04\x8a\x03\x00\x00\x9d\x05\x5b\x04\x00\x00\x21\x00\x83\x05\x00\x00\x00\x00\x8d\x05\x00\x00\x00\x00\x41\x02\x6c\x03\x00\x00\x94\x05\x00\x00\xa5\x01\x00\x00\xa5\x01\xad\x05\x00\x00\x00\x00\x8d\x01\x00\x00\x00\x00\x00\x00\x00\x00"#

    happyGotoOffsets :: HappyAddr
    happyGotoOffsets :: HappyAddr
    happyGotoOffsets = Addr# -> HappyAddr
    HappyA# Addr#
    "\xcd\x05\xb1\x00\xc1\x05\x3e\x08\x82\x01\xf4\xff\x9f\x05\xde\x03\x7c\x01\x46\x09\x9c\x02\xaf\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\x36\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\x4c\x00\x00\x00\x0f\x0d\x31\x0d\x00\x00\x00\x00\x80\x03\x00\x00\x00\x00\xf3\x01\x0f\x05\x00\x00\x00\x00\x5f\x0d\xb6\x02\x8e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x03\x00\x00\x00\x00\x00\x00\x97\x05\x00\x00\x3c\x01\x00\x00\x8e\x05\x90\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x0d\xf0\xff\xe8\x07\xf8\x07\xca\x04\xdf\x0c\xcc\x03\x06\x04\xe5\xff\x00\x00\x53\x0c\x5e\x0c\x00\x00\x00\x00\x25\x01\x00\x00\x00\x00\x00\x00\x9f\x00\xa6\x01\x00\x00\xf9\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x04\xaf\x01\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x00\x00\x00\x35\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x01\x1c\x00\x00\x00\x00\x00\x00\x00\x41\x03\x00\x00\xd0\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x05\x00\x00\x00\x00\x00\x00\x00\x00\x80\x05\xbe\x05\x46\x06\x68\x00\x4e\x08\x4a\x00\x00\x00\xb5\x05\x00\x00\x58\x00\x33\x04\x00\x00\xcb\x01\xf2\xff\xea\xff\x9c\x09\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\xa0\x05\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x7d\x0d\x1e\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x0c\x74\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x01\x00\x00\x5a\x04\xbf\x01\x00\x00\x8c\x0d\xf7\x03\x9a\x06\x3f\x07\x43\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x04\x9b\x0d\x10\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\xc6\x02\x00\x00\xaa\x0d\x00\x00\xb9\x0d\x90\x07\xc8\x0d\x00\x00\x00\x00\x00\x00\x41\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\x0d\x00\x00\xe6\x0d\x72\x05\x00\x00\x50\x0d\x67\x02\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x0d\x00\x00\xb1\x01\x84\x08\x00\x00\xf2\x09\x2a\x05\x2e\x08\x94\x08\x00\x00\xa4\x08\xda\x08\x00\x00\xea\x08\xfa\x08\x1f\x02\x30\x09\x00\x00\x00\x00\x40\x09\x00\x00\x69\x04\x00\x00\x92\x05\xea\x0c\x00\x00\x8d\x0c\x00\x00\x00\x00\x99\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x0b\xb5\x01\x00\x00\xb9\x01\x00\x00\x00\x00\x00\x00\x2b\x05\x00\x00\x00\x00\x00\x00\x00\x00\xc7\x05\x50\x09\x00\x00\xac\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x70\x03\x00\x00\x04\x0e\x00\x00\x00\x00\xca\x03\xab\xff\x00\x00\x00\x00\x7a\x00\x6f\x01\x43\x01\x00\x00\x5c\x01\x00\x00\x00\x00\x48\x0a\x44\x05\x00\x00\xac\x07\xf9\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xff\x2c\x04\x13\x0e\x05\x00\x00\x00\x3c\x04\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x07\x13\x01\x00\x00\x40\x04\x22\x0e\x00\x00\x00\x00\x7c\x00\xf1\x05\xf0\x05\x00\x00\xd5\x00\x2b\x00\x98\x03\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x9e\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xc9\x01\x00\x00\x00\x00\x00\x00\x86\x09\x00\x00\x00\x00\x00\x00\x5f\x05\x96\x09\x00\x00\x00\x00\xa6\x09\x2f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x01\x00\x00\x31\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x09\xfc\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x40\x0e\x4f\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x00\x74\x00\x00\x00\x00\x00\x00\x00\x09\x00\xa2\x05\xa8\x05\x00\x00\x42\x0a\x52\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x88\x0a\x98\x0a\x00\x00\xa8\x0a\x40\x02\x85\x02\xde\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa9\x05\x00\x00\xc1\x04\x00\x00\x00\x00\x00\x00\x5e\x0e\x2c\x05\x00\x00\x8c\x05\x00\x00\x00\x00\x06\x06\x0e\x03\xe3\x02\xd3\x03\x14\x06\x0d\x00\x5d\x02\xee\x0a\xf7\x05\x00\x00\x00\x00\xf4\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x05\x00\x00\xfe\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x05\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x0e\x4a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xff\xd8\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x0b\x00\x00\x00\x00\x44\x0b\x54\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x8a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x01\x0d\x03\x00\x00\x00\x00\xc4\x05\xf6\xff\x20\x06\x00\x00\xfc\xff\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\x00\x00\x00\x00\x00\x00\x00\x00"#

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

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

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

    happyTable :: HappyAddr
    happyTable :: HappyAddr
    happyTable = Addr# -> HappyAddr
    HappyA# Addr#
    "\x00\x00\x81\x02\x0e\x01\x9c\x01\x9d\x01\x84\x02\x99\x01\x3f\x02\xb1\x01\x48\x02\x7f\x02\x63\x02\x3c\x02\x3d\x02\x3e\x02\x3b\x02\x3c\x02\x3d\x02\x3e\x02\xc1\x00\x3f\x02\x37\x01\x65\x00\x5b\x01\x3f\x02\x66\x00\x91\x02\x9c\x00\xe0\x00\xe1\x00\xf4\x01\xca\x00\x67\x00\x68\x00\x5e\x01\x85\x02\x86\x01\x38\x01\x9a\x00\x69\x00\x9a\x00\x0e\x00\x54\x02\xce\xff\x71\x01\x85\x00\x17\x00\x2c\x00\x84\x00\x11\x01\x87\x01\x19\x00\x1a\x00\x1b\x00\x25\x02\x72\x01\x0b\x02\x0c\x02\xcb\x00\x86\x00\x87\x00\x2d\x00\xa0\x01\x88\x00\xb4\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x1c\x00\x88\x01\x8d\x00\x8e\x00\x8f\x00\xe2\x00\xe3\x00\x66\x00\x5f\x01\x6a\x00\x6b\x00\x12\x01\x85\x00\xcc\x00\x67\x00\x68\x00\x12\x00\xa3\x00\x1c\x02\x1d\x02\xff\xff\x12\x00\x5c\x01\x79\x00\x12\x00\x5c\x01\xa2\x01\x12\x00\x6c\x00\x12\x00\xa3\x00\x12\x00\x6c\x00\x12\x00\x5c\x01\x28\x00\x82\x00\x29\x00\x9e\x01\x28\x00\x65\x00\x29\x00\x9e\x01\xca\x00\x28\x00\xfa\x01\x29\x00\x0f\x01\x28\x00\x80\x02\x29\x00\x0f\x01\x40\x02\xf7\x01\x29\x00\x9e\x01\x40\x02\xe7\x01\x29\x00\x9e\x01\x6a\x00\x6b\x00\x28\x00\xae\x00\x29\x00\x9e\x01\x64\x01\x86\x00\x87\x00\xe8\x01\xcb\x00\x88\x00\xfb\x01\x89\x00\x8a\x00\x8b\x00\x8c\x00\x0e\x00\xaf\x00\x8d\x00\x8e\x00\x8f\x00\x12\x00\x6c\x00\x66\x00\x66\x02\x28\x00\x65\x00\x29\x00\x9e\x01\x66\x00\x67\x00\x68\x00\x12\x00\x1e\x02\x68\x01\xa1\x00\x67\x00\x68\x00\x86\x00\x87\x00\x2b\x02\xff\xff\x88\x00\xaf\x01\x89\x00\x8a\x00\x8b\x00\x8c\x00\x74\x01\x55\x01\x8d\x00\x8e\x00\x8f\x00\x7d\x01\x08\x01\x66\x00\x12\x00\xa3\x00\x28\x00\xed\x01\x0c\x01\xaf\x00\x67\x00\x68\x00\x79\x00\x6a\x01\x7a\x00\x7f\x01\xb0\x00\xb1\x00\x12\x00\xa3\x00\x7b\x00\x55\x01\x7c\x00\xb2\x00\x6a\x00\x6b\x00\xb3\x00\x7d\x00\x7e\x00\x7f\x00\x6a\x00\x6b\x00\x66\x00\xb4\x00\x12\x00\xa3\x00\x9a\x00\xee\x01\xb9\x01\x67\x00\x68\x00\xef\x01\x12\x00\xa3\x00\x9a\x00\x9b\x00\x12\x00\x6c\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x6c\x00\x12\x00\xa3\x00\x6a\x00\x6b\x00\x97\x00\x87\x00\x43\x01\x44\x01\x88\x00\x9c\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xb4\x00\x34\x01\x8d\x00\x8e\x00\x8f\x00\xb2\x00\xf3\x00\x66\x00\x46\x01\x47\x01\x12\x00\x6c\x00\xff\xff\x5f\x01\x67\x00\x68\x00\xaf\x00\x6a\x00\x6b\x00\xa3\x01\x87\x00\x12\x00\xa3\x00\x88\x00\x9a\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x75\x01\x72\x01\x8d\x00\x8e\x00\x8f\x00\x12\x00\xa3\x00\x66\x00\x12\x00\x13\x00\x12\x00\x6c\x00\x14\x00\x15\x00\x67\x00\x68\x00\x31\x02\x87\x00\xb8\x00\x9a\x00\x88\x00\xb4\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xb9\x00\xed\x00\x8d\x00\x8e\x00\x8f\x00\x6a\x00\x6b\x00\x66\x00\x7b\x01\x3c\x01\x3d\x01\x3e\x01\x3f\x01\x40\x01\x67\x00\x68\x00\x12\x00\xa3\x00\x41\x01\x7c\x01\x12\x00\x13\x00\xba\x00\xb2\x00\xf8\x01\x66\x00\x34\x01\x12\x00\x6c\x00\x96\x00\xeb\x00\x7c\x00\x67\x00\x68\x00\x6a\x00\x6b\x00\x7d\x00\x7e\x00\x7f\x00\xac\x01\xbb\x00\x66\x00\x88\x00\x6f\x01\x89\x00\x8a\x00\x8b\x00\x8c\x00\x67\x00\x68\x00\x8d\x00\x8e\x00\x8f\x00\xea\x00\x70\x01\x66\x00\x12\x00\x6c\x00\x9a\x00\xe9\x00\x6a\x00\x6b\x00\x67\x00\x68\x00\xab\x01\x04\x02\x05\x02\x88\x00\xb4\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x73\x01\x70\x01\x8d\x00\x8e\x00\x8f\x00\x6a\x00\x6b\x00\x66\x00\xb6\x00\x12\x00\x6c\x00\xee\x00\x4c\x00\x4d\x00\x67\x00\x68\x00\x12\x00\xa3\x00\x48\x02\x64\x01\xff\xff\x6a\x00\x6b\x00\xba\x00\x17\x00\xba\x00\x66\x00\x12\x00\x6c\x00\x19\x00\x1a\x00\x1b\x00\x6f\x02\x67\x00\x68\x00\x6a\x00\x6b\x00\x3d\x00\x3e\x00\x3f\x00\xac\x00\xad\x01\x75\x00\x12\x00\x6c\x00\x66\x00\x70\x02\x1c\x00\x4d\x01\xab\x00\x12\x00\x13\x00\x67\x00\x68\x00\x4e\x00\xd3\xff\x40\x00\x12\x00\x6c\x00\x4e\x01\x6a\x00\x6b\x00\x41\x00\x42\x00\x5e\x01\x43\x00\x44\x00\x45\x00\xd3\xff\xd3\xff\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xaf\x00\x6a\x00\x6b\x00\x66\x00\x12\x00\x6c\x00\x90\x01\x0e\x02\xaa\x00\x66\x00\x67\x00\x68\x00\xff\xff\x21\x02\x0f\x02\xbf\x01\x67\x00\x68\x00\x66\x00\xbe\x01\x6a\x00\x6b\x00\x66\x00\x12\x00\x6c\x00\x67\x00\x68\x00\x23\x02\x89\x02\x67\x00\x68\x00\x9e\x00\x10\x00\x11\x00\x9a\x00\xaf\x00\x12\x00\x13\x00\x66\x00\x95\x00\x4e\x00\x07\x02\x12\x00\x6c\x00\x60\x01\x67\x00\x68\x00\x31\x01\x10\x00\x11\x00\x8a\x02\xa5\x01\x7d\x00\xa6\x01\x17\x00\x94\x00\x6a\x00\x6b\x00\x98\x01\x19\x00\x1a\x00\x1b\x00\x6a\x00\x6b\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xe2\x01\x99\x01\x78\x01\x6a\x00\x6b\x00\x79\x01\x96\x00\x6a\x00\x6b\x00\x1c\x00\x12\x00\x6c\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\x12\x00\x6c\x00\xff\xff\x12\x00\xa3\x00\x12\x00\xa3\x00\x6a\x00\x6b\x00\x12\x00\x6c\x00\x17\x00\x2c\x00\x12\x00\x6c\x00\xf9\x00\x19\x00\x1a\x00\x1b\x00\x12\x00\xa3\x00\x61\x01\x32\x00\x33\x00\x34\x00\x93\x00\x2d\x00\x35\x00\x6e\x00\x12\x00\x6c\x00\x12\x00\x13\x00\x17\x00\x1c\x00\x36\x00\x81\x00\x94\x01\x19\x00\x1a\x00\x1b\x00\xb8\x00\x86\x01\x6f\x00\x70\x00\x71\x00\x57\x00\x17\x00\x18\x00\x36\x01\x6e\x00\x85\x01\x19\x00\x1a\x00\x1b\x00\x17\x00\x1c\x00\x80\x01\x81\x00\x9c\xff\x19\x00\x1a\x00\x1b\x00\x72\x00\x03\x01\x6f\x00\x70\x00\x71\x00\x57\x00\x7d\x01\x1c\x00\x12\x00\x13\x00\x73\x00\xb6\x00\x01\x01\x1e\x01\x74\x00\x1c\x00\x77\x01\x9a\x00\x9c\xff\x7e\x01\x7f\x01\x1f\x01\x72\x00\x7b\x01\x75\x00\x06\x02\xd2\x01\xd3\x01\xd4\x01\xd5\x01\xa0\x00\xa1\x00\x73\x00\x27\x02\x7c\x01\x17\x00\x74\x00\x82\x00\xcc\xff\x6e\x00\x19\x00\x1a\x00\x1b\x00\x76\x01\x17\x00\x9a\x00\x75\x00\x11\x02\x39\x01\x19\x00\x1a\x00\x1b\x00\x12\x00\xa3\x00\x6f\x00\x70\x00\x71\x00\x57\x00\x1c\x00\x82\x00\xcd\xff\x58\x02\xd5\x01\xa0\x00\xa1\x00\x72\x00\x68\x01\x1c\x00\x12\x00\xa3\x00\x4c\x01\x17\x00\xb6\x00\x9a\x00\x72\x00\xa5\x00\x19\x00\x1a\x00\x1b\x00\x74\x00\x9a\x00\x5f\x02\x58\x01\x4b\x01\x73\x00\x12\x00\xa3\x00\x60\x02\x74\x00\x75\x00\x42\x01\x3b\x01\x6e\x00\x55\x01\x1c\x00\x59\x01\x5a\x01\x17\x00\x75\x00\xb7\x00\x9c\xff\x9c\xff\x19\x00\x1a\x00\x91\x00\x92\x00\x9c\xff\x6f\x00\x70\x00\x71\x00\x57\x00\x9c\xff\xff\xff\x9c\xff\x12\x00\xa3\x00\x9e\x00\x1b\x01\x1c\x01\x9c\xff\x1c\x00\x7d\x01\xe9\x01\x9c\xff\x2d\x01\x9c\xff\x21\x02\x72\x00\x49\x01\x57\x02\xd4\x01\xd5\x01\xa0\x00\xa1\x00\x24\x02\x7f\x01\x4a\x01\x73\x00\x17\x00\x22\x02\x23\x02\x74\x00\x46\x01\x19\x00\x1a\x00\x1b\x00\xf9\x00\x0f\x00\x10\x00\x11\x00\x45\x02\x75\x00\x46\x02\x99\x00\x12\x00\xa3\x00\x45\x01\x6e\x00\xb6\x01\xa0\x00\xa1\x00\x1c\x00\x17\x00\x3b\x01\x82\x00\x9c\xff\x9c\xff\x19\x00\x1a\x00\x91\x00\x92\x00\x9c\xff\x6f\x00\x70\x00\x71\x00\x57\x00\x9c\xff\x28\x00\x9c\xff\x29\x00\x2a\x00\x12\x00\xa3\x00\x2f\x01\x9c\xff\x1c\x00\x87\x02\x74\x02\x9c\xff\x46\x02\x9c\xff\x3a\x01\x72\x00\xfa\x00\x32\x00\x33\x00\x34\x00\xfb\x00\x31\x01\x35\x00\xfc\x00\x58\x01\x73\x00\x12\x00\x13\x00\x21\x01\x74\x00\x36\x00\x88\x02\xa5\x01\x7d\x00\xa6\x01\x18\x01\x20\x01\x18\x02\x5a\x01\x75\x00\x1d\x01\xe4\xff\x12\x00\x13\x00\x1a\x01\x6e\x00\x01\x01\x1d\x00\x1e\x00\x08\x01\x17\x00\x13\x01\x82\x00\x9c\xff\x9c\xff\x19\x00\x1a\x00\x91\x00\x92\x00\x9c\xff\x6f\x00\x70\x00\x71\x00\x57\x00\x9c\xff\xf4\x01\x9c\xff\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x9c\xff\x1c\x00\x27\x00\x7d\x01\x9c\xff\xf7\x01\x9c\xff\x08\x01\x72\x00\xb8\x01\x50\x00\x51\x00\x52\x00\x53\x00\x17\x00\x18\x00\x35\x02\x7f\x01\x73\x00\x19\x00\x1a\x00\x1b\x00\x74\x00\xf3\x01\x17\x00\x0d\x01\x0f\x00\x10\x00\x11\x00\x19\x00\x1a\x00\x1b\x00\x75\x00\x59\x00\x17\x00\x2c\x00\xe4\x01\x1c\x00\xe7\x01\x19\x00\x1a\x00\x1b\x00\x12\x00\x13\x00\x5a\x00\x82\x00\x48\x02\x1c\x00\x21\x02\x2d\x00\xf6\x01\xe6\x01\x1d\x00\x1e\x00\x5b\x00\xd7\x00\x42\x02\x1c\x00\x5c\x00\x17\x00\x5d\x00\x34\x02\x23\x02\x5e\x00\x19\x00\x1a\x00\x1b\x00\x5f\x00\x60\x00\x7c\x02\x8e\x02\x8f\x02\x20\x00\x21\x00\x22\x00\xd8\x00\xd9\x00\x25\x00\x26\x00\x27\x00\x28\x00\x38\x00\x1c\x00\xe1\x01\x39\x00\x17\x00\x18\x00\xc9\x01\x43\x02\xc5\x01\x19\x00\x1a\x00\x1b\x00\x28\x00\x38\x00\x29\x00\x83\x01\x39\x00\x17\x00\x18\x00\x05\x01\x10\x00\x11\x00\x19\x00\x1a\x00\x1b\x00\x24\x01\xc2\x01\x1c\x00\x25\x01\xf6\xfe\xf6\xfe\xbd\x01\x22\x01\xbc\x01\x3a\x00\x23\x01\xb5\x01\xa0\x00\xa1\x00\xf6\xfe\x1c\x00\x9a\x00\x1d\x00\x1e\x00\x3b\x00\xfe\x00\xed\x01\x3a\x00\xe8\x00\xf6\xfe\xf6\xfe\xf6\xfe\xf6\xfe\xf6\xfe\xf6\xfe\xb6\x00\xf6\xfe\x3b\x00\x3d\x00\x12\x00\xa3\x00\xe8\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x3d\x00\xf0\x00\x0f\x00\x10\x00\x11\x00\xee\x01\xf3\x00\xf4\x00\xaf\x00\xef\x01\x50\x00\x51\x00\x52\x00\x53\x00\x17\x00\x18\x00\xf5\x00\xf6\x00\xf7\x00\x19\x00\x1a\x00\x1b\x00\x62\x00\x3f\x00\x54\x00\x55\x00\x56\x00\x57\x00\x28\x00\x17\x00\x29\x00\x24\x02\x58\x00\x59\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x50\x00\x51\x00\x52\x00\x53\x00\x17\x00\x18\x00\x5a\x00\xc7\x00\xc8\x00\x19\x00\x1a\x00\x1b\x00\xce\x01\xb9\x01\x1c\x00\xcf\x01\x5b\x00\xb2\x01\xa0\x00\xa1\x00\x5c\x00\x72\x00\x5d\x00\x59\x00\xb8\x01\x5e\x00\xa8\x01\x1c\x00\x82\x00\x5f\x00\x60\x00\xa5\x00\xac\x00\x11\x00\x5a\x00\x74\x00\x1e\x01\x61\x00\x62\x00\xc7\x01\x12\x00\xa3\x00\xda\x01\xdb\x01\x5b\x00\x75\x00\x12\x00\x80\x01\x5c\x00\x28\x00\x5d\x00\x29\x00\x44\x02\x5e\x00\xb4\x01\x66\x01\xa3\x01\x5f\x00\x60\x00\x50\x00\x51\x00\x52\x00\x53\x00\x17\x00\x18\x00\x61\x00\x62\x00\xab\x01\x19\x00\x1a\x00\x1b\x00\x45\x00\x62\x01\xb1\x00\x27\x01\x28\x01\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x59\x00\xf5\x00\xf6\x00\x2d\x01\x1c\x00\x50\x00\x51\x00\x52\x00\x53\x00\x17\x00\x18\x00\x5a\x00\xdd\x00\x96\x01\x19\x00\x1a\x00\x1b\x00\x1c\x01\x12\x00\x13\x00\xc6\x01\x5b\x00\xc2\x00\x95\x01\xc3\x00\x5c\x00\xc3\x01\x5d\x00\x59\x00\xc4\x01\x5e\x00\x82\x00\x1c\x00\x31\x02\x5f\x00\x60\x00\x12\x00\x13\x00\x22\x01\x5a\x00\x4e\x00\x7f\x02\x61\x00\x62\x00\x2b\x02\x17\x00\x18\x00\x32\x01\x11\x00\x5b\x00\x19\x00\x1a\x00\x1b\x00\x5c\x00\x2e\x02\x5d\x00\x12\x00\x9b\x01\x5e\x00\x17\x00\x2c\x00\x29\x02\x5f\x00\x60\x00\x19\x00\x1a\x00\x1b\x00\x1c\x02\x1c\x00\x1b\x02\x61\x00\x62\x00\x12\x00\x96\x01\x2d\x00\xf6\x01\x12\x00\x2f\x02\xc9\x01\x4c\x00\x4d\x00\x42\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xcf\x01\xcf\x00\xd0\x00\x17\x00\x1a\x02\xbd\x01\x17\x00\x9a\x00\x19\x00\x1a\x00\x1b\x00\x19\x00\x1a\x00\x1b\x00\x4f\x02\x50\x02\x11\x02\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x1c\x00\x43\x02\x49\x01\x1c\x00\x51\x02\x12\x00\x13\x00\x72\x00\x9a\x00\x4e\x00\x72\x00\x52\x02\xa5\x01\x7d\x00\xa6\x01\x1d\x00\x1e\x00\xa5\x00\xa6\x00\x0a\x02\xa5\x00\x74\x00\x08\x02\x09\x02\x74\x00\x54\x00\x55\x00\x56\x00\x57\x00\x9a\x00\xfc\x01\x75\x00\x00\x02\x58\x00\x75\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xfd\x01\xb7\x00\xd3\x00\x0f\x00\x10\x00\x11\x00\xff\x01\xd4\x00\x42\x00\x66\x02\x43\x00\x44\x00\x45\x00\x9a\x00\x5e\x02\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x6e\x00\x5b\x02\x17\x00\xd5\x00\x9a\x00\x17\x00\x65\x02\x19\x00\x1a\x00\x1b\x00\x19\x00\x1a\x00\x1b\x00\xc5\x01\x9a\x00\x6f\x00\x70\x00\x71\x00\x57\x00\x55\x02\xa6\x00\xa0\x00\xa1\x00\xa7\x00\x4f\x02\x1c\x00\x82\x00\x29\x02\x1c\x00\x25\x01\x3e\x00\x3f\x00\x72\x00\xa9\x00\x39\x02\x72\x00\x12\x00\x13\x00\x37\x02\x7d\x02\x4e\x00\x9a\x00\xa5\x00\x12\x00\xa3\x00\x73\x00\x74\x00\x74\x02\x79\x02\x74\x00\x4f\x02\x50\x02\x6e\x00\x4b\x02\x7d\x00\xa6\x01\x75\x00\x17\x00\x78\x02\x75\x00\x77\x02\xbd\x00\x19\x00\x1a\x00\x1b\x00\x73\x02\x7d\x02\x6f\x00\x70\x00\x71\x00\x57\x00\xfc\x01\x9a\x00\x52\x02\xa5\x01\x7d\x00\xa6\x01\xbd\x01\x10\x00\x11\x00\x1c\x00\xde\x01\x09\x02\x43\x00\x44\x00\x45\x00\x6e\x02\x72\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x9a\x00\x73\x00\xff\x00\x69\x02\x00\x01\x74\x00\xa8\x01\x10\x00\x11\x00\x12\x00\x13\x00\x6e\x00\x9a\x00\x01\x01\xfc\x01\x75\x00\x17\x00\xaf\x01\x68\x02\x9d\xff\x9d\xff\x19\x00\x1a\x00\x92\x01\x93\x01\x9d\xff\x6f\x00\x70\x00\x71\x00\x57\x00\x9d\xff\x8d\x02\x9d\xff\x14\x02\x10\x00\x11\x00\x12\x00\x13\x00\x9d\xff\x1c\x00\x4e\x00\x9a\x00\x9d\xff\x84\x02\x9d\xff\xe6\x01\x72\x00\x6e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\x17\x00\x4a\x02\x7d\x00\xa6\x01\x73\x00\x19\x00\x1a\x00\x1b\x00\x74\x00\x9a\x00\x6f\x00\x70\x00\x71\x00\x57\x00\x29\x01\x10\x00\x11\x00\x6d\x01\x75\x00\x12\x00\xa3\x00\x6e\x00\x91\x02\x1c\x00\x77\x02\x9a\x00\x17\x00\xf5\x00\x7a\x02\x2d\x01\x72\x00\x19\x00\x1a\x00\x1b\x00\xfc\x01\x82\x00\x6f\x00\x70\x00\x71\x00\x57\x00\x73\x00\x77\x00\x63\x00\xef\x01\x74\x00\xb1\x01\xef\x00\x6e\x00\xed\x00\x1c\x00\xeb\x00\x66\x01\x17\x00\x79\x01\x75\x00\xef\x00\x72\x00\x19\x00\x1a\x00\x1b\x00\xcc\x01\xc7\x01\x6f\x00\x70\x00\x71\x00\x57\x00\x73\x00\x17\x00\x2c\x00\x66\x01\x74\x00\x17\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x29\x01\x10\x00\x11\x00\x6c\x01\x75\x00\x29\x02\x72\x00\x27\x02\x50\x00\x51\x00\x52\x00\x53\x00\x17\x00\x18\x00\x1c\x00\x62\x02\x73\x00\x19\x00\x1a\x00\x1b\x00\x74\x00\xea\x01\x55\x02\x50\x00\x51\x00\x52\x00\x53\x00\x17\x00\x18\x00\x49\x02\x75\x00\x59\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x50\x00\x51\x00\x52\x00\x53\x00\x17\x00\x18\x00\x5a\x00\x43\x02\x37\x02\x19\x00\x1a\x00\x1b\x00\x75\x02\x86\x02\x1c\x00\x82\x02\x5b\x00\x8f\x02\x00\x00\x00\x00\x5c\x00\x5a\x00\x5d\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x1c\x00\x00\x00\x5f\x00\x60\x00\x5b\x00\x00\x00\x00\x00\x5a\x00\x5c\x00\xd2\x00\x5d\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x5b\x00\xd3\x00\x8a\x01\x8b\x01\x5c\x00\x00\x00\x5d\x00\x38\x00\x8c\x01\x5e\x00\x39\x00\x17\x00\x18\x00\x8d\x01\x60\x00\x8e\x01\x19\x00\x1a\x00\x1b\x00\x38\x00\x00\x00\x8f\x01\x39\x00\x17\x00\x18\x00\x95\x00\x00\x00\x90\x01\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\xe7\x00\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x00\x00\x1c\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x3a\x00\x00\x00\xe8\x00\x29\x01\x10\x00\x11\x00\x6b\x01\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x1c\x00\xe8\x00\x54\x01\x00\x00\x4e\x02\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x3d\x00\x00\x00\x17\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x19\x00\x1a\x00\x1b\x00\xe8\x00\x00\x00\x00\x00\x38\x00\x00\x00\x20\x02\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x1c\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x00\x00\x05\x01\xe8\x00\x17\x00\x29\x01\x10\x00\x11\x00\x2c\x01\x19\x00\x1a\x00\x1b\x00\x3b\x00\x3d\x00\x1c\x00\x00\x00\xe8\x00\x82\x01\x00\x00\x38\x00\x00\x00\x03\x01\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x00\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x39\x00\x17\x00\x18\x00\x83\x01\x3d\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x1c\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x00\x00\x3a\x00\x3c\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x3d\x00\x1c\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x38\x00\x00\x00\x03\x01\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x00\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x1c\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x00\x00\x3a\x00\x3c\x00\x29\x01\x10\x00\x11\x00\x2b\x01\x29\x01\x10\x00\x11\x00\x2a\x01\x3b\x00\x3d\x00\x1c\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x1c\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x00\x00\x3a\x00\x3c\x00\xa4\x01\xa5\x01\x7d\x00\xa6\x01\x32\x02\xa5\x01\x7d\x00\xa6\x01\x3b\x00\x3d\x00\x1c\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x38\x00\x00\x00\x3a\x00\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x39\x00\x17\x00\x18\x00\x00\x00\x3d\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x15\x01\x34\x00\x00\x00\x3a\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x3b\x00\x00\x00\x1c\x00\x00\x00\xe8\x00\x17\x00\x2c\x00\x00\x00\x00\x00\x3a\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x2d\x00\xa0\x01\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\xa1\x01\x1c\x00\x00\x00\x00\x00\xdd\x00\x42\x00\x3d\x00\x43\x00\x44\x00\x45\x00\xde\x00\xdf\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xd9\x00\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\xa2\x01\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\xda\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x12\x00\x13\x00\xdd\x00\x42\x00\x4e\x00\x43\x00\x44\x00\x45\x00\x00\x00\xdd\x01\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x76\x00\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x69\x01\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x1d\x00\x1e\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x1d\x00\x1e\x00\x4e\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x07\x01\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x12\x00\x13\x00\xe1\x01\x42\x00\x4e\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xdc\x01\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xdb\x01\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x1d\x00\x1e\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\xd8\x01\x42\x00\x4e\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xd7\x01\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xd6\x01\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x17\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x2d\x00\xf6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x12\x00\x13\x00\xd1\x01\x42\x00\x4e\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xd0\x01\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xba\x01\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x31\x00\x32\x00\x33\x00\x34\x00\x12\x00\x13\x00\x35\x00\x00\x00\x4e\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x15\x02\x42\x00\x4e\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x13\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x12\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x5a\x01\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x31\x00\x32\x00\x33\x00\x34\x00\x12\x00\x13\x00\x35\x00\x00\x00\x4e\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x0c\x02\x42\x00\x4e\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x02\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x01\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\xdf\x01\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x31\x00\x32\x00\x33\x00\x34\x00\x12\x00\x13\x00\x35\x00\x00\x00\x4e\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x02\x42\x00\x4e\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x61\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x60\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\xa9\x01\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x31\x00\x32\x00\x33\x00\x34\x00\x12\x00\x13\x00\x35\x00\x00\x00\x4e\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x5c\x02\x42\x00\x4e\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x5b\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x59\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x18\x02\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x31\x00\x32\x00\x33\x00\x34\x00\x12\x00\x13\x00\x35\x00\x00\x00\x4e\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x56\x02\x42\x00\x4e\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x39\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x79\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x35\x02\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x31\x00\x32\x00\x33\x00\x34\x00\x12\x00\x13\x00\x35\x00\x00\x00\x4e\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x6b\x02\x42\x00\x4e\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x6a\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x69\x02\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x70\x02\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x31\x00\x32\x00\x33\x00\x34\x00\x12\x00\x13\x00\x35\x00\x00\x00\x4e\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x8b\x02\x42\x00\x4e\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\xc0\x01\x00\x00\x43\x00\x44\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x1c\x00\x4e\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x72\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x12\x00\x13\x00\x00\x00\x72\x00\x4e\x00\xa5\x00\xa6\x00\x00\x00\x00\x00\x74\x00\x00\x00\x00\x00\x00\x00\xa5\x00\x00\x00\x1c\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x00\x00\x72\x00\x00\x00\x57\x01\x00\x00\x00\x00\x75\x00\x17\x00\x00\x00\x00\x00\x00\x00\xa5\x00\x19\x00\x1a\x00\x1b\x00\x74\x00\x17\x00\x00\x00\x00\x00\x2d\x02\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x75\x00\x00\x00\x17\x00\x00\x00\x00\x00\x1c\x00\xc5\x00\x19\x00\x1a\x00\x1b\x00\x17\x00\x18\x00\x72\x00\x00\x00\x1c\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x72\x00\xa5\x00\x00\x00\x00\x00\x1c\x00\x74\x00\x00\x00\x00\x00\x00\x00\x3b\x02\xe5\x00\x72\x00\x1c\x00\x00\x00\x74\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x00\x00\x00\xcb\xfe\x75\x00\x74\x00\xcb\xfe\xcb\xfe\x00\x00\xc6\x00\xcb\xfe\xcb\xfe\x00\x00\xc7\x00\x00\x00\x75\x00\x00\x00\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\x00\x00\xcb\xfe\xcb\xfe\xcb\xfe\x00\x00\xcb\xfe\x00\x00\x00\x00\xcb\xfe\x00\x00\xcb\xfe\xcb\xfe\xcb\xfe\x00\x00\x00\x00\x00\x00\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\x45\x00\x00\x00\xcb\xfe\x00\x00\x00\x00\xbf\x00\xc0\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\xbe\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x00\xc0\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\xbe\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x59\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x00\x00\xc9\x01\x4c\x00\x4d\x00\x12\x00\x13\x00\x3e\xff\x3e\xff\x4e\x00\xca\x01\xcf\x00\xd0\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x59\x00\x3e\xff\x4e\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\xff\x3e\xff\x3e\xff\x3e\xff\x3e\xff\x3e\xff\x3e\xff\x3e\xff\x3e\xff\x59\x00\x3f\xff\x3f\xff\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x3f\xff\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x40\xff\x40\xff\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x3f\xff\x00\x00\x40\xff\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xff\x40\xff\x40\xff\x40\xff\x40\xff\x40\xff\x40\xff\x40\xff\x40\xff\xcc\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xc9\x01\x4c\x00\x4d\x00\x00\x00\x6c\x02\x2e\x00\x2f\x00\x30\x00\x00\x00\xcb\x01\xd0\x00\x31\x00\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\xc7\xfe\xc7\xfe\x00\x00\x00\x00\x00\x00\xc7\xfe\x12\x00\x13\x00\x00\x00\x00\x00\x4e\x00\x00\x00\xc7\xfe\xc7\xfe\xc7\xfe\x00\x00\x00\x00\x00\x00\xc7\xfe\xc7\xfe\xc7\xfe\xc7\xfe\xc7\xfe\xc7\xfe\xc7\xfe\xc7\xfe\xc7\xfe\xc7\xfe\x0a\x01\x30\x00\xc7\xfe\x00\x00\x00\x00\x0b\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x4e\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x4f\x01\x00\x00\x00\x00\x50\x01\x13\x00\x00\x00\x00\x00\x36\x00\x08\x01\x00\x00\x51\x01\x52\x01\x09\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x08\x01\x00\x00\x36\x00\x00\x00\x13\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\xea\x01\x00\x00\x36\x00\xeb\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\xfe\x00\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\xe5\x00\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x54\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x2f\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x26\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x17\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x16\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x14\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\xf1\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\xf0\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\xe4\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\xb4\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x9a\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x2e\x02\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x0d\x02\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\xfd\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\xeb\x01\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\xe5\x00\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x4c\x02\x00\x00\x00\x00\x36\x00\x71\x02\x32\x00\x33\x00\x34\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 (Int
    12, Int
    350) [
    	(Int
    12 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_12),
    	(Int
    13 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_13),
    	(Int
    14 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_14),
    	(Int
    15 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_15),
    	(Int
    16 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_16),
    	(Int
    17 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_17),
    	(Int
    18 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_18),
    	(Int
    19 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_19),
    	(Int
    20 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_20),
    	(Int
    21 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_21),
    	(Int
    22 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_22),
    	(Int
    23 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_23),
    	(Int
    24 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_24),
    	(Int
    25 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_25),
    	(Int
    26 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_26),
    	(Int
    27 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_27),
    	(Int
    28 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_28),
    	(Int
    29 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_29),
    	(Int
    30 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_30),
    	(Int
    31 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_31),
    	(Int
    32 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_32),
    	(Int
    33 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_33),
    	(Int
    34 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_34),
    	(Int
    35 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_35),
    	(Int
    36 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_36),
    	(Int
    37 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_37),
    	(Int
    38 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_38),
    	(Int
    39 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_39),
    	(Int
    40 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_40),
    	(Int
    41 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_41),
    	(Int
    42 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_42),
    	(Int
    43 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_43),
    	(Int
    44 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_44),
    	(Int
    45 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_45),
    	(Int
    46 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_46),
    	(Int
    47 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_47),
    	(Int
    48 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_48),
    	(Int
    49 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_49),
    	(Int
    50 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_50),
    	(Int
    51 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_51),
    	(Int
    52 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_52),
    	(Int
    53 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_53),
    	(Int
    54 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_54),
    	(Int
    55 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_55),
    	(Int
    56 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_56),
    	(Int
    57 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_57),
    	(Int
    58 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_58),
    	(Int
    59 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_59),
    	(Int
    60 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_60),
    	(Int
    61 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_61),
    	(Int
    62 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_62),
    	(Int
    63 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_63),
    	(Int
    64 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_64),
    	(Int
    65 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_65),
    	(Int
    66 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_66),
    	(Int
    67 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_67),
    	(Int
    68 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_68),
    	(Int
    69 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_69),
    	(Int
    70 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_70),
    	(Int
    71 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_71),
    	(Int
    72 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_72),
    	(Int
    73 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_73),
    	(Int
    74 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_74),
    	(Int
    75 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_75),
    	(Int
    76 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_76),
    	(Int
    77 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_77),
    	(Int
    78 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_78),
    	(Int
    79 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_79),
    	(Int
    80 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_80),
    	(Int
    81 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_81),
    	(Int
    82 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_82),
    	(Int
    83 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_83),
    	(Int
    84 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_84),
    	(Int
    85 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_85),
    	(Int
    86 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_86),
    	(Int
    87 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_87),
    	(Int
    88 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_88),
    	(Int
    89 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_89),
    	(Int
    90 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_90),
    	(Int
    91 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_91),
    	(Int
    92 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_92),
    	(Int
    93 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_93),
    	(Int
    94 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_94),
    	(Int
    95 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_95),
    	(Int
    96 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_96),
    	(Int
    97 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_97),
    	(Int
    98 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_98),
    	(Int
    99 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_99),
    	(Int
    100 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_100),
    	(Int
    101 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_101),
    	(Int
    102 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_102),
    	(Int
    103 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_103),
    	(Int
    104 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_104),
    	(Int
    105 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_105),
    	(Int
    106 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_106),
    	(Int
    107 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_107),
    	(Int
    108 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_108),
    	(Int
    109 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_109),
    	(Int
    110 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_110),
    	(Int
    111 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_111),
    	(Int
    112 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_112),
    	(Int
    113 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_113),
    	(Int
    114 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_114),
    	(Int
    115 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_115),
    	(Int
    116 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_116),
    	(Int
    117 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_117),
    	(Int
    118 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_118),
    	(Int
    119 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_119),
    	(Int
    120 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_120),
    	(Int
    121 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_121),
    	(Int
    122 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_122),
    	(Int
    123 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_123),
    	(Int
    124 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_124),
    	(Int
    125 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_125),
    	(Int
    126 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_126),
    	(Int
    127 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_127),
    	(Int
    128 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_128),
    	(Int
    129 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_129),
    	(Int
    130 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_130),
    	(Int
    131 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_131),
    	(Int
    132 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_132),
    	(Int
    133 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_133),
    	(Int
    134 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_134),
    	(Int
    135 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_135),
    	(Int
    136 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_136),
    	(Int
    137 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_137),
    	(Int
    138 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_138),
    	(Int
    139 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_139),
    	(Int
    140 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_140),
    	(Int
    141 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_141),
    	(Int
    142 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_142),
    	(Int
    143 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_143),
    	(Int
    144 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_144),
    	(Int
    145 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_145),
    	(Int
    146 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_146),
    	(Int
    147 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_147),
    	(Int
    148 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_148),
    	(Int
    149 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_149),
    	(Int
    150 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_150),
    	(Int
    151 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_151),
    	(Int
    152 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_152),
    	(Int
    153 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_153),
    	(Int
    154 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_154),
    	(Int
    155 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_155),
    	(Int
    156 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_156),
    	(Int
    157 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_157),
    	(Int
    158 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_158),
    	(Int
    159 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_159),
    	(Int
    160 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_160),
    	(Int
    161 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_161),
    	(Int
    162 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_162),
    	(Int
    163 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_163),
    	(Int
    164 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_164),
    	(Int
    165 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_165),
    	(Int
    166 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_166),
    	(Int
    167 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_167),
    	(Int
    168 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_168),
    	(Int
    169 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_169),
    	(Int
    170 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_170),
    	(Int
    171 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_171),
    	(Int
    172 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_172),
    	(Int
    173 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_173),
    	(Int
    174 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_174),
    	(Int
    175 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_175),
    	(Int
    176 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_176),
    	(Int
    177 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_177),
    	(Int
    178 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_178),
    	(Int
    179 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_179),
    	(Int
    180 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_180),
    	(Int
    181 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_181),
    	(Int
    182 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_182),
    	(Int
    183 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_183),
    	(Int
    184 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_184),
    	(Int
    185 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_185),
    	(Int
    186 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_186),
    	(Int
    187 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_187),
    	(Int
    188 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_188),
    	(Int
    189 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_189),
    	(Int
    190 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_190),
    	(Int
    191 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_191),
    	(Int
    192 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_192),
    	(Int
    193 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_193),
    	(Int
    194 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_194),
    	(Int
    195 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_195),
    	(Int
    196 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_196),
    	(Int
    197 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_197),
    	(Int
    198 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_198),
    	(Int
    199 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_199),
    	(Int
    200 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_200),
    	(Int
    201 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_201),
    	(Int
    202 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_202),
    	(Int
    203 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_203),
    	(Int
    204 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_204),
    	(Int
    205 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_205),
    	(Int
    206 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_206),
    	(Int
    207 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_207),
    	(Int
    208 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_208),
    	(Int
    209 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_209),
    	(Int
    210 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_210),
    	(Int
    211 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_211),
    	(Int
    212 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_212),
    	(Int
    213 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_213),
    	(Int
    214 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_214),
    	(Int
    215 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_215),
    	(Int
    216 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_216),
    	(Int
    217 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_217),
    	(Int
    218 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_218),
    	(Int
    219 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_219),
    	(Int
    220 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_220),
    	(Int
    221 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_221),
    	(Int
    222 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_222),
    	(Int
    223 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_223),
    	(Int
    224 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_224),
    	(Int
    225 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_225),
    	(Int
    226 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_226),
    	(Int
    227 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_227),
    	(Int
    228 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_228),
    	(Int
    229 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_229),
    	(Int
    230 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_230),
    	(Int
    231 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_231),
    	(Int
    232 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_232),
    	(Int
    233 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_233),
    	(Int
    234 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_234),
    	(Int
    235 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_235),
    	(Int
    236 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_236),
    	(Int
    237 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_237),
    	(Int
    238 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_238),
    	(Int
    239 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_239),
    	(Int
    240 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_240),
    	(Int
    241 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_241),
    	(Int
    242 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_242),
    	(Int
    243 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_243),
    	(Int
    244 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_244),
    	(Int
    245 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_245),
    	(Int
    246 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_246),
    	(Int
    247 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_247),
    	(Int
    248 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_248),
    	(Int
    249 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_249),
    	(Int
    250 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_250),
    	(Int
    251 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_251),
    	(Int
    252 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_252),
    	(Int
    253 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_253),
    	(Int
    254 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_254),
    	(Int
    255 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_255),
    	(Int
    256 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_256),
    	(Int
    257 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_257),
    	(Int
    258 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_258),
    	(Int
    259 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_259),
    	(Int
    260 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_260),
    	(Int
    261 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_261),
    	(Int
    262 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_262),
    	(Int
    263 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_263),
    	(Int
    264 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_264),
    	(Int
    265 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_265),
    	(Int
    266 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_266),
    	(Int
    267 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_267),
    	(Int
    268 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_268),
    	(Int
    269 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_269),
    	(Int
    270 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_270),
    	(Int
    271 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_271),
    	(Int
    272 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_272),
    	(Int
    273 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_273),
    	(Int
    274 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_274),
    	(Int
    275 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_275),
    	(Int
    276 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_276),
    	(Int
    277 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_277),
    	(Int
    278 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_278),
    	(Int
    279 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_279),
    	(Int
    280 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_280),
    	(Int
    281 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_281),
    	(Int
    282 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_282),
    	(Int
    283 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_283),
    	(Int
    284 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_284),
    	(Int
    285 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_285),
    	(Int
    286 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_286),
    	(Int
    287 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_287),
    	(Int
    288 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_288),
    	(Int
    289 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_289),
    	(Int
    290 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_290),
    	(Int
    291 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_291),
    	(Int
    292 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_292),
    	(Int
    293 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_293),
    	(Int
    294 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_294),
    	(Int
    295 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_295),
    	(Int
    296 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_296),
    	(Int
    297 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_297),
    	(Int
    298 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_298),
    	(Int
    299 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_299),
    	(Int
    300 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_300),
    	(Int
    301 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_301),
    	(Int
    302 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_302),
    	(Int
    303 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_303),
    	(Int
    304 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_304),
    	(Int
    305 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_305),
    	(Int
    306 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_306),
    	(Int
    307 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_307),
    	(Int
    308 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_308),
    	(Int
    309 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_309),
    	(Int
    310 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_310),
    	(Int
    311 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_311),
    	(Int
    312 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_312),
    	(Int
    313 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_313),
    	(Int
    314 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_314),
    	(Int
    315 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_315),
    	(Int
    316 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_316),
    	(Int
    317 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_317),
    	(Int
    318 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_318),
    	(Int
    319 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_319),
    	(Int
    320 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_320),
    	(Int
    321 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_321),
    	(Int
    322 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_322),
    	(Int
    323 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_323),
    	(Int
    324 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_324),
    	(Int
    325 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_325),
    	(Int
    326 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_326),
    	(Int
    327 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_327),
    	(Int
    328 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_328),
    	(Int
    329 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_329),
    	(Int
    330 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_330),
    	(Int
    331 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_331),
    	(Int
    332 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_332),
    	(Int
    333 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_333),
    	(Int
    334 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_334),
    	(Int
    335 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_335),
    	(Int
    336 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_336),
    	(Int
    337 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_337),
    	(Int
    338 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_338),
    	(Int
    339 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_339),
    	(Int
    340 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_340),
    	(Int
    341 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_341),
    	(Int
    342 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_342),
    	(Int
    343 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_343),
    	(Int
    344 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_344),
    	(Int
    345 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_345),
    	(Int
    346 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_346),
    	(Int
    347 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_347),
    	(Int
    348 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_348),
    	(Int
    349 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_349),
    	(Int
    350 , Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_350)
    	]

    happy_n_terms :: Int
    happy_n_terms = Int
    74 :: Prelude.Int
    happy_n_nonterms :: Int
    happy_n_nonterms = Int
    121 :: Prelude.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 -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    2# Int#
    0# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_12
    happyReduction_12 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_12 (HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM [Module PName]
    -> ([Module PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap16
    happyOut16 HappyAbsSyn
    happy_x_2 of { (HappyWrap16 Module PName
    happy_var_2) ->
    	( Module PName -> ParseM [Module PName]
    mkTopMods Module PName
    happy_var_2)})
    	) (\[Module PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([Module PName] -> HappyAbsSyn
    happyIn15 [Module PName]
    r))

    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 -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    0# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_13
    happyReduction_13 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_13 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM [Module PName]
    -> ([Module PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap21
    happyOut21 HappyAbsSyn
    happy_x_2 of { (HappyWrap21 [TopDecl PName]
    happy_var_2) ->
    	( [TopDecl PName] -> ParseM [Module PName]
    mkAnonymousModule [TopDecl PName]
    happy_var_2)})
    	) (\[Module PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([Module PName] -> HappyAbsSyn
    happyIn15 [Module PName]
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    7# Int#
    0# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_14
    happyReduction_14 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_14 (HappyAbsSyn
    happy_x_7 `HappyStk`
    	HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap130
    happyOut130 HappyAbsSyn
    happy_x_3 of { (HappyWrap130 Located ModName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap38
    happyOut38 HappyAbsSyn
    happy_x_6 of { (HappyWrap38 Signature PName
    happy_var_6) ->
    	[Module PName] -> HappyAbsSyn
    happyIn15
    		 (Located ModName -> Signature PName -> [Module PName]
    mkTopSig Located ModName
    happy_var_3 Signature PName
    happy_var_6
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    5# Int#
    1# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_15
    happyReduction_15 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_15 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap130
    happyOut130 HappyAbsSyn
    happy_x_1 of { (HappyWrap130 Located ModName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap21
    happyOut21 HappyAbsSyn
    happy_x_4 of { (HappyWrap21 [TopDecl PName]
    happy_var_4) ->
    	Module PName -> HappyAbsSyn
    happyIn16
    		 (Located ModName -> [TopDecl PName] -> Module PName
    mkModule Located ModName
    happy_var_1 [TopDecl PName]
    happy_var_4
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    7# Int#
    1# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_16
    happyReduction_16 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_16 (HappyAbsSyn
    happy_x_7 `HappyStk`
    	HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap130
    happyOut130 HappyAbsSyn
    happy_x_1 of { (HappyWrap130 Located ModName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_3 of { (HappyWrap26 Located (ImpName PName)
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap21
    happyOut21 HappyAbsSyn
    happy_x_6 of { (HappyWrap21 [TopDecl PName]
    happy_var_6) ->
    	Module PName -> HappyAbsSyn
    happyIn16
    		 (Located ModName
    -> Located (ImpName PName) -> [TopDecl PName] -> Module PName
    mkModuleInstanceAnon Located ModName
    happy_var_1 Located (ImpName PName)
    happy_var_3 [TopDecl PName]
    happy_var_6
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    6# Int#
    1# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_17
    happyReduction_17 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_17 (HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap130
    happyOut130 HappyAbsSyn
    happy_x_1 of { (HappyWrap130 Located ModName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_3 of { (HappyWrap26 Located (ImpName PName)
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap17
    happyOut17 HappyAbsSyn
    happy_x_5 of { (HappyWrap17 ModuleInstanceArgs PName
    happy_var_5) ->
    	Module PName -> HappyAbsSyn
    happyIn16
    		 (Located ModName
    -> Located (ImpName PName)
    -> ModuleInstanceArgs PName
    -> Module PName
    mkModuleInstance Located ModName
    happy_var_1 Located (ImpName PName)
    happy_var_3 ModuleInstanceArgs PName
    happy_var_5
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    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  Int#
    2# HappyAbsSyn -> HappyAbsSyn
    happyReduction_18
    happyReduction_18 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_18 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap20
    happyOut20 HappyAbsSyn
    happy_x_1 of { (HappyWrap20 Located (ModuleInstanceArg PName)
    happy_var_1) ->
    	ModuleInstanceArgs PName -> HappyAbsSyn
    happyIn17
    		 (Located (ModuleInstanceArg PName) -> ModuleInstanceArgs PName
    forall name.
    Located (ModuleInstanceArg name) -> ModuleInstanceArgs name
    DefaultInstArg Located (ModuleInstanceArg 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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    2# HappyAbsSyn -> HappyAbsSyn
    happyReduction_19
    happyReduction_19 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_19 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap18
    happyOut18 HappyAbsSyn
    happy_x_1 of { (HappyWrap18 [ModuleInstanceNamedArg PName]
    happy_var_1) ->
    	ModuleInstanceArgs PName -> HappyAbsSyn
    happyIn17
    		 ([ModuleInstanceNamedArg PName] -> ModuleInstanceArgs PName
    forall name.
    [ModuleInstanceNamedArg name] -> ModuleInstanceArgs name
    NamedInstArgs [ModuleInstanceNamedArg PName]
    happy_var_1
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    3# HappyAbsSyn -> HappyAbsSyn
    happyReduction_20
    happyReduction_20 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_20 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap19
    happyOut19 HappyAbsSyn
    happy_x_1 of { (HappyWrap19 ModuleInstanceNamedArg PName
    happy_var_1) ->
    	[ModuleInstanceNamedArg PName] -> HappyAbsSyn
    happyIn18
    		 ([ModuleInstanceNamedArg PName
    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  Int#
    3# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_21
    happyReduction_21 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_21 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap18
    happyOut18 HappyAbsSyn
    happy_x_1 of { (HappyWrap18 [ModuleInstanceNamedArg PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap19
    happyOut19 HappyAbsSyn
    happy_x_3 of { (HappyWrap19 ModuleInstanceNamedArg PName
    happy_var_3) ->
    	[ModuleInstanceNamedArg PName] -> HappyAbsSyn
    happyIn18
    		 (ModuleInstanceNamedArg PName
    happy_var_3 ModuleInstanceNamedArg PName
    -> [ModuleInstanceNamedArg PName] -> [ModuleInstanceNamedArg PName]
    forall a. a -> [a] -> [a]
    : [ModuleInstanceNamedArg PName]
    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    4# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_22
    happyReduction_22 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_22 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap127
    happyOut127 HappyAbsSyn
    happy_x_1 of { (HappyWrap127 LIdent
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap20
    happyOut20 HappyAbsSyn
    happy_x_3 of { (HappyWrap20 Located (ModuleInstanceArg PName)
    happy_var_3) ->
    	ModuleInstanceNamedArg PName -> HappyAbsSyn
    happyIn19
    		 (LIdent
    -> Located (ModuleInstanceArg PName)
    -> ModuleInstanceNamedArg PName
    forall name.
    LIdent
    -> Located (ModuleInstanceArg name) -> ModuleInstanceNamedArg name
    ModuleInstanceNamedArg LIdent
    happy_var_1 Located (ModuleInstanceArg PName)
    happy_var_3
    	)}}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    5# HappyAbsSyn -> HappyAbsSyn
    happyReduction_23
    happyReduction_23 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_23 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_1 of { (HappyWrap26 Located (ImpName PName)
    happy_var_1) ->
    	Located (ModuleInstanceArg PName) -> HappyAbsSyn
    happyIn20
    		 ((ImpName PName -> ModuleInstanceArg PName)
    -> Located (ImpName PName) -> Located (ModuleInstanceArg PName)
    forall a b. (a -> b) -> Located a -> Located b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap ImpName PName -> ModuleInstanceArg PName
    forall name. ImpName name -> ModuleInstanceArg name
    ModuleArg Located (ImpName PName)
    happy_var_1
    	)}

    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  Int#
    5# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_24
    happyReduction_24 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_24 HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap127
    happyOut127 HappyAbsSyn
    happy_x_2 of { (HappyWrap127 LIdent
    happy_var_2) ->
    	Located (ModuleInstanceArg PName) -> HappyAbsSyn
    happyIn20
    		 ((Ident -> ModuleInstanceArg PName)
    -> LIdent -> Located (ModuleInstanceArg PName)
    forall a b. (a -> b) -> Located a -> Located b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap Ident -> ModuleInstanceArg PName
    forall name. Ident -> ModuleInstanceArg name
    ParameterArg LIdent
    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    5# HappyAbsSyn -> HappyAbsSyn
    happyReduction_25
    happyReduction_25 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_25 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    Underscore ) Text
    _)) ->
    	Located (ModuleInstanceArg PName) -> HappyAbsSyn
    happyIn20
    		 (Located { thing :: ModuleInstanceArg PName
    thing    = ModuleInstanceArg PName
    forall name. ModuleInstanceArg name
    AddParams
                                            , srcRange :: Range
    srcRange = Range
    happy_var_1 }
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    6# HappyAbsSyn -> HappyAbsSyn
    happyReduction_26
    happyReduction_26 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_26 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_1 of { (HappyWrap35 [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn21
    		 ([TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a]
    reverse [TopDecl PName]
    happy_var_1
    	)}

    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  Int#
    6# HappyAbsSyn
    happyReduction_27
    happyReduction_27 :: HappyAbsSyn
    happyReduction_27  =  [TopDecl PName] -> HappyAbsSyn
    happyIn21
    		 ([]
    	)

    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  Int#
    7# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_28
    happyReduction_28 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_28 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap22
    happyOut22 HappyAbsSyn
    happy_x_1 of { (HappyWrap22 [Located (ImportG (ImpName PName))]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap23
    happyOut23 HappyAbsSyn
    happy_x_3 of { (HappyWrap23 Located (ImportG (ImpName PName))
    happy_var_3) ->
    	[Located (ImportG (ImpName PName))] -> HappyAbsSyn
    happyIn22
    		 (Located (ImportG (ImpName PName))
    happy_var_3 Located (ImportG (ImpName PName))
    -> [Located (ImportG (ImpName PName))]
    -> [Located (ImportG (ImpName PName))]
    forall a. a -> [a] -> [a]
    : [Located (ImportG (ImpName PName))]
    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    7# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_29
    happyReduction_29 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_29 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap22
    happyOut22 HappyAbsSyn
    happy_x_1 of { (HappyWrap22 [Located (ImportG (ImpName PName))]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap23
    happyOut23 HappyAbsSyn
    happy_x_3 of { (HappyWrap23 Located (ImportG (ImpName PName))
    happy_var_3) ->
    	[Located (ImportG (ImpName PName))] -> HappyAbsSyn
    happyIn22
    		 (Located (ImportG (ImpName PName))
    happy_var_3 Located (ImportG (ImpName PName))
    -> [Located (ImportG (ImpName PName))]
    -> [Located (ImportG (ImpName PName))]
    forall a. a -> [a] -> [a]
    : [Located (ImportG (ImpName PName))]
    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    7# HappyAbsSyn -> HappyAbsSyn
    happyReduction_30
    happyReduction_30 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_30 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap23
    happyOut23 HappyAbsSyn
    happy_x_1 of { (HappyWrap23 Located (ImportG (ImpName PName))
    happy_var_1) ->
    	[Located (ImportG (ImpName PName))] -> HappyAbsSyn
    happyIn22
    		 ([Located (ImportG (ImpName PName))
    happy_var_1]
    	)}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    6# Int#
    8# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_31
    happyReduction_31 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_31 (HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Located (ImportG (ImpName PName)))
    -> (Located (ImportG (ImpName 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 Range
    happy_var_1 (Token (KW TokenKW
    KW_import)    Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_2 of { (HappyWrap26 Located (ImpName PName)
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap25
    happyOut25 HappyAbsSyn
    happy_x_3 of { (HappyWrap25 Maybe (ModuleInstanceArgs PName)
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap28
    happyOut28 HappyAbsSyn
    happy_x_4 of { (HappyWrap28 Maybe (Located ModName)
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap29
    happyOut29 HappyAbsSyn
    happy_x_5 of { (HappyWrap29 Maybe (Located ImportSpec)
    happy_var_5) ->
    	case HappyAbsSyn -> HappyWrap24
    happyOut24 HappyAbsSyn
    happy_x_6 of { (HappyWrap24 Maybe (Located [Decl PName])
    happy_var_6) ->
    	( Range
    -> Located (ImpName PName)
    -> Maybe (ModuleInstanceArgs PName)
    -> Maybe (Located ModName)
    -> Maybe (Located ImportSpec)
    -> Maybe (Located [Decl PName])
    -> ParseM (Located (ImportG (ImpName PName)))
    mkImport Range
    happy_var_1 Located (ImpName PName)
    happy_var_2 Maybe (ModuleInstanceArgs PName)
    happy_var_3 Maybe (Located ModName)
    happy_var_4 Maybe (Located ImportSpec)
    happy_var_5 Maybe (Located [Decl PName])
    happy_var_6)}}}}}})
    	) (\Located (ImportG (ImpName PName))
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Located (ImportG (ImpName PName)) -> HappyAbsSyn
    happyIn23 Located (ImportG (ImpName PName))
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    4# Int#
    8# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_32
    happyReduction_32 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_32 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Located (ImportG (ImpName PName)))
    -> (Located (ImportG (ImpName 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 Range
    happy_var_1 (Token (KW TokenKW
    KW_import)    Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap27
    happyOut27 HappyAbsSyn
    happy_x_2 of { (HappyWrap27 Located (ImpName PName)
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap28
    happyOut28 HappyAbsSyn
    happy_x_3 of { (HappyWrap28 Maybe (Located ModName)
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap29
    happyOut29 HappyAbsSyn
    happy_x_4 of { (HappyWrap29 Maybe (Located ImportSpec)
    happy_var_4) ->
    	( Range
    -> Located (ImpName PName)
    -> Maybe (Located ModName)
    -> Maybe (Located ImportSpec)
    -> ParseM (Located (ImportG (ImpName PName)))
    mkBacktickImport Range
    happy_var_1 Located (ImpName PName)
    happy_var_2 Maybe (Located ModName)
    happy_var_3 Maybe (Located ImportSpec)
    happy_var_4)}}}})
    	) (\Located (ImportG (ImpName PName))
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Located (ImportG (ImpName PName)) -> HappyAbsSyn
    happyIn23 Located (ImportG (ImpName PName))
    r))

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    9# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_33
    happyReduction_33 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_33 HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap77
    happyOut77 HappyAbsSyn
    happy_x_2 of { (HappyWrap77 Located [Decl PName]
    happy_var_2) ->
    	Maybe (Located [Decl PName]) -> HappyAbsSyn
    happyIn24
    		 (Located [Decl PName] -> Maybe (Located [Decl PName])
    forall a. a -> Maybe a
    Just Located [Decl PName]
    happy_var_2
    	)}

    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  Int#
    9# HappyAbsSyn
    happyReduction_34
    happyReduction_34 :: HappyAbsSyn
    happyReduction_34  =  Maybe (Located [Decl PName]) -> HappyAbsSyn
    happyIn24
    		 (Maybe (Located [Decl PName])
    forall a. Maybe a
    Nothing
    	)

    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  Int#
    10# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p} {p}. p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_35
    happyReduction_35 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_35 p
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap17
    happyOut17 HappyAbsSyn
    happy_x_2 of { (HappyWrap17 ModuleInstanceArgs PName
    happy_var_2) ->
    	Maybe (ModuleInstanceArgs PName) -> HappyAbsSyn
    happyIn25
    		 (ModuleInstanceArgs PName -> Maybe (ModuleInstanceArgs PName)
    forall a. a -> Maybe a
    Just ModuleInstanceArgs 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
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  Int#
    10# HappyAbsSyn
    happyReduction_36
    happyReduction_36 :: HappyAbsSyn
    happyReduction_36  =  Maybe (ModuleInstanceArgs PName) -> HappyAbsSyn
    happyIn25
    		 (Maybe (ModuleInstanceArgs PName)
    forall a. Maybe a
    Nothing
    	)

    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  Int#
    11# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_37
    happyReduction_37 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_37 HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap131
    happyOut131 HappyAbsSyn
    happy_x_2 of { (HappyWrap131 Located PName
    happy_var_2) ->
    	Located (ImpName PName) -> HappyAbsSyn
    happyIn26
    		 (PName -> ImpName PName
    forall name. name -> ImpName name
    ImpNested (PName -> ImpName PName)
    -> Located PName -> Located (ImpName PName)
    forall a b. (a -> b) -> Located a -> Located b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` Located PName
    happy_var_2
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    11# HappyAbsSyn -> HappyAbsSyn
    happyReduction_38
    happyReduction_38 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_38 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap130
    happyOut130 HappyAbsSyn
    happy_x_1 of { (HappyWrap130 Located ModName
    happy_var_1) ->
    	Located (ImpName PName) -> HappyAbsSyn
    happyIn26
    		 (ModName -> ImpName PName
    forall name. ModName -> ImpName name
    ImpTop (ModName -> ImpName PName)
    -> Located ModName -> Located (ImpName PName)
    forall a b. (a -> b) -> Located a -> Located b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` Located ModName
    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p} {p}. HappyAbsSyn -> p -> p -> HappyAbsSyn
    happyReduction_39
    happyReduction_39 :: HappyAbsSyn -> p -> p -> HappyAbsSyn
    happyReduction_39 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap131
    happyOut131 HappyAbsSyn
    happy_x_3 of { (HappyWrap131 Located PName
    happy_var_3) ->
    	Located (ImpName PName) -> HappyAbsSyn
    happyIn27
    		 (PName -> ImpName PName
    forall name. name -> ImpName name
    ImpNested (PName -> ImpName PName)
    -> Located PName -> Located (ImpName PName)
    forall a b. (a -> b) -> Located a -> Located b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` Located PName
    happy_var_3
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    12# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_40
    happyReduction_40 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_40 HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap130
    happyOut130 HappyAbsSyn
    happy_x_2 of { (HappyWrap130 Located ModName
    happy_var_2) ->
    	Located (ImpName PName) -> HappyAbsSyn
    happyIn27
    		 (ModName -> ImpName PName
    forall name. ModName -> ImpName name
    ImpTop (ModName -> ImpName PName)
    -> Located ModName -> Located (ImpName PName)
    forall a b. (a -> b) -> Located a -> Located b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` Located ModName
    happy_var_2
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    13# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_41
    happyReduction_41 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_41 HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap130
    happyOut130 HappyAbsSyn
    happy_x_2 of { (HappyWrap130 Located ModName
    happy_var_2) ->
    	Maybe (Located ModName) -> HappyAbsSyn
    happyIn28
    		 (Located ModName -> Maybe (Located ModName)
    forall a. a -> Maybe a
    Just Located ModName
    happy_var_2
    	)}

    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
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  Int#
    13# HappyAbsSyn
    happyReduction_42
    happyReduction_42 :: HappyAbsSyn
    happyReduction_42  =  Maybe (Located ModName) -> HappyAbsSyn
    happyIn28
    		 (Maybe (Located ModName)
    forall a. Maybe a
    Nothing
    	)

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    14# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_43
    happyReduction_43 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_43 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap31
    happyOut31 HappyAbsSyn
    happy_x_1 of { (HappyWrap31 [Ident] -> ImportSpec
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap30
    happyOut30 HappyAbsSyn
    happy_x_3 of { (HappyWrap30 [LIdent]
    happy_var_3) ->
    	Maybe (Located ImportSpec) -> HappyAbsSyn
    happyIn29
    		 (Located ImportSpec -> Maybe (Located ImportSpec)
    forall a. a -> Maybe a
    Just Located
                                      { srcRange :: Range
    srcRange = case [LIdent]
    happy_var_3 of
                                          { [] -> Range
    emptyRange
                                          ; [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_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#
    -> HappyAbsSyn
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  Int#
    14# HappyAbsSyn
    happyReduction_44
    happyReduction_44 :: HappyAbsSyn
    happyReduction_44  =  Maybe (Located ImportSpec) -> HappyAbsSyn
    happyIn29
    		 (Maybe (Located ImportSpec)
    forall a. Maybe a
    Nothing
    	)

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    15# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_45
    happyReduction_45 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_45 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap30
    happyOut30 HappyAbsSyn
    happy_x_1 of { (HappyWrap30 [LIdent]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap60
    happyOut60 HappyAbsSyn
    happy_x_3 of { (HappyWrap60 Located PName
    happy_var_3) ->
    	[LIdent] -> HappyAbsSyn
    happyIn30
    		 ((PName -> Ident) -> Located PName -> LIdent
    forall a b. (a -> b) -> Located a -> Located b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap PName -> Ident
    getIdent Located PName
    happy_var_3 LIdent -> [LIdent] -> [LIdent]
    forall a. a -> [a] -> [a]
    : [LIdent]
    happy_var_1
    	)}}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    15# HappyAbsSyn -> HappyAbsSyn
    happyReduction_46
    happyReduction_46 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_46 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap60
    happyOut60 HappyAbsSyn
    happy_x_1 of { (HappyWrap60 Located PName
    happy_var_1) ->
    	[LIdent] -> HappyAbsSyn
    happyIn30
    		 ([(PName -> Ident) -> Located PName -> LIdent
    forall a b. (a -> b) -> Located a -> Located b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap PName -> Ident
    getIdent Located PName
    happy_var_1]
    	)}

    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
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  Int#
    15# HappyAbsSyn
    happyReduction_47
    happyReduction_47 :: HappyAbsSyn
    happyReduction_47  =  [LIdent] -> HappyAbsSyn
    happyIn30
    		 ([]
    	)

    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  Int#
    16# HappyAbsSyn -> HappyAbsSyn
    forall {p}. p -> HappyAbsSyn
    happyReduction_48
    happyReduction_48 :: p -> HappyAbsSyn
    happyReduction_48 p
    happy_x_1
    	 =  ([Ident] -> ImportSpec) -> HappyAbsSyn
    happyIn31
    		 ([Ident] -> ImportSpec
    Hiding
    	)

    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
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  Int#
    16# HappyAbsSyn
    happyReduction_49
    happyReduction_49 :: HappyAbsSyn
    happyReduction_49  =  ([Ident] -> ImportSpec) -> HappyAbsSyn
    happyIn31
    		 ([Ident] -> ImportSpec
    Only
    	)

    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  Int#
    17# HappyAbsSyn -> HappyAbsSyn
    happyReduction_50
    happyReduction_50 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_50 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap34
    happyOut34 HappyAbsSyn
    happy_x_1 of { (HappyWrap34 [TopDecl PName]
    happy_var_1) ->
    	Program PName -> HappyAbsSyn
    happyIn32
    		 ([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_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
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  Int#
    17# HappyAbsSyn
    happyReduction_51
    happyReduction_51 :: HappyAbsSyn
    happyReduction_51  =  Program PName -> HappyAbsSyn
    happyIn32
    		 ([TopDecl PName] -> Program PName
    forall name. [TopDecl name] -> Program name
    Program []
    	)

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    18# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p} {p}. p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_52
    happyReduction_52 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_52 p
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_2 of { (HappyWrap35 [TopDecl PName]
    happy_var_2) ->
    	Program PName -> HappyAbsSyn
    happyIn33
    		 ([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_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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    18# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p} {p}. p -> p -> HappyAbsSyn
    happyReduction_53
    happyReduction_53 :: p -> p -> HappyAbsSyn
    happyReduction_53 p
    happy_x_2
    	p
    happy_x_1
    	 =  Program PName -> HappyAbsSyn
    happyIn33
    		 ([TopDecl PName] -> Program PName
    forall name. [TopDecl name] -> Program name
    Program []
    	)

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    19# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_54
    happyReduction_54 :: p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_54 p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap40
    happyOut40 HappyAbsSyn
    happy_x_1 of { (HappyWrap40 [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn34
    		 ([TopDecl PName]
    happy_var_1
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    19# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_55
    happyReduction_55 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_55 p
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap34
    happyOut34 HappyAbsSyn
    happy_x_1 of { (HappyWrap34 [TopDecl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap40
    happyOut40 HappyAbsSyn
    happy_x_2 of { (HappyWrap40 [TopDecl PName]
    happy_var_2) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn34
    		 ([TopDecl PName]
    happy_var_2 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a] -> [a]
    ++ [TopDecl PName]
    happy_var_1
    	)}}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    20# HappyAbsSyn -> HappyAbsSyn
    happyReduction_56
    happyReduction_56 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_56 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    happy_x_1 of { (HappyWrap36 [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn35
    		 ([TopDecl PName]
    happy_var_1
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    20# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_57
    happyReduction_57 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_57 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_1 of { (HappyWrap35 [TopDecl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    happy_x_3 of { (HappyWrap36 [TopDecl PName]
    happy_var_3) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn35
    		 ([TopDecl PName]
    happy_var_3 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a] -> [a]
    ++ [TopDecl PName]
    happy_var_1
    	)}}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    20# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_58
    happyReduction_58 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_58 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_1 of { (HappyWrap35 [TopDecl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap36
    happyOut36 HappyAbsSyn
    happy_x_3 of { (HappyWrap36 [TopDecl PName]
    happy_var_3) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn35
    		 ([TopDecl PName]
    happy_var_3 [TopDecl PName] -> [TopDecl PName] -> [TopDecl PName]
    forall a. [a] -> [a] -> [a]
    ++ [TopDecl PName]
    happy_var_1
    	)}}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    21# HappyAbsSyn -> HappyAbsSyn
    happyReduction_59
    happyReduction_59 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_59 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap49
    happyOut49 HappyAbsSyn
    happy_x_1 of { (HappyWrap49 Decl PName
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([Maybe (Located Text) -> ExportType -> Decl PName -> TopDecl PName
    exportDecl Maybe (Located Text)
    forall a. Maybe a
    Nothing   ExportType
    Public Decl PName
    happy_var_1]
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    21# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_60
    happyReduction_60 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_60 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap47
    happyOut47 HappyAbsSyn
    happy_x_1 of { (HappyWrap47 Located Text
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap49
    happyOut49 HappyAbsSyn
    happy_x_2 of { (HappyWrap49 Decl PName
    happy_var_2) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([Maybe (Located Text) -> ExportType -> Decl PName -> TopDecl PName
    exportDecl (Located Text -> Maybe (Located Text)
    forall a. a -> Maybe a
    Just Located Text
    happy_var_1) ExportType
    Public Decl PName
    happy_var_2]
    	)}}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_61
    happyReduction_61 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_61 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    _ (Token (StrLit {}) Text
    _))) ->
    	( (TopDecl PName -> [TopDecl PName]
    forall a. a -> [a]
    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 a b. (a -> b) -> ParseM a -> ParseM b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` Located Token -> ParseM (Located String)
    fromStrLit Located Token
    happy_var_3)})
    	) (\[TopDecl PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([TopDecl PName] -> HappyAbsSyn
    happyIn36 [TopDecl PName]
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    6# Int#
    21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_62
    happyReduction_62 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_62 (HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap128
    happyOut128 HappyAbsSyn
    happy_x_3 of { (HappyWrap128 Located PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap61
    happyOut61 HappyAbsSyn
    happy_x_4 of { (HappyWrap61 [Pattern PName]
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_6 of { (HappyWrap75 Expr PName
    happy_var_6) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([Maybe (Located Text) -> ExportType -> Decl PName -> TopDecl PName
    exportDecl Maybe (Located Text)
    happy_var_1 ExportType
    Public (Located PName -> [Pattern PName] -> Expr PName -> Decl PName
    mkProperty Located PName
    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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    5# Int#
    21# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_63
    happyReduction_63 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_63 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap128
    happyOut128 HappyAbsSyn
    happy_x_3 of { (HappyWrap128 Located PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_5 of { (HappyWrap75 Expr PName
    happy_var_5) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([Maybe (Located Text) -> ExportType -> Decl PName -> TopDecl PName
    exportDecl Maybe (Located Text)
    happy_var_1 ExportType
    Public (Located PName -> [Pattern PName] -> Expr PName -> Decl PName
    mkProperty Located 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_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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    21# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_64
    happyReduction_64 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_64 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap57
    happyOut57 HappyAbsSyn
    happy_x_2 of { (HappyWrap57 Newtype PName
    happy_var_2) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([ExportType
    -> Maybe (Located Text) -> Newtype PName -> TopDecl PName
    exportNewtype ExportType
    Public Maybe (Located Text)
    happy_var_1 Newtype PName
    happy_var_2]
    	)}}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    21# HappyAbsSyn -> HappyAbsSyn
    happyReduction_65
    happyReduction_65 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_65 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap42
    happyOut42 HappyAbsSyn
    happy_x_1 of { (HappyWrap42 [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([TopDecl PName]
    happy_var_1
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    21# HappyAbsSyn -> HappyAbsSyn
    happyReduction_66
    happyReduction_66 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_66 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap43
    happyOut43 HappyAbsSyn
    happy_x_1 of { (HappyWrap43 [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([TopDecl PName]
    happy_var_1
    	)}

    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  Int#
    21# HappyAbsSyn -> HappyAbsSyn
    happyReduction_67
    happyReduction_67 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_67 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap41
    happyOut41 HappyAbsSyn
    happy_x_1 of { (HappyWrap41 [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([TopDecl PName]
    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    4# Int#
    21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_68
    happyReduction_68 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_68 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM [TopDecl PName]
    -> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_4 of { (HappyWrap117 Type PName
    happy_var_4) ->
    	( Maybe (Located Text) -> Type PName -> ParseM [TopDecl PName]
    mkInterfaceConstraint Maybe (Located Text)
    happy_var_1 Type PName
    happy_var_4)}})
    	) (\[TopDecl PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([TopDecl PName] -> HappyAbsSyn
    happyIn36 [TopDecl PName]
    r))

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    21# HappyAbsSyn -> HappyAbsSyn
    happyReduction_69
    happyReduction_69 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_69 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap44
    happyOut44 HappyAbsSyn
    happy_x_1 of { (HappyWrap44 TopDecl PName
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([ TopDecl PName
    happy_var_1 ]
    	)}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    21# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_70
    happyReduction_70 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_70 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM [TopDecl PName]
    -> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap16
    happyOut16 HappyAbsSyn
    happy_x_3 of { (HappyWrap16 Module PName
    happy_var_3) ->
    	( ((TopDecl PName -> [TopDecl PName] -> [TopDecl PName]
    forall a. a -> [a] -> [a]
    :[]) (TopDecl PName -> [TopDecl PName])
    -> (NestedModule PName -> TopDecl PName)
    -> NestedModule PName
    -> [TopDecl PName]
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . Maybe (Located Text) -> NestedModule PName -> TopDecl PName
    exportModule Maybe (Located Text)
    happy_var_1) (NestedModule PName -> [TopDecl PName])
    -> ParseM (NestedModule PName) -> ParseM [TopDecl PName]
    forall a b. (a -> b) -> ParseM a -> ParseM b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` Module PName -> ParseM (NestedModule PName)
    mkNested Module PName
    happy_var_3)}})
    	) (\[TopDecl PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([TopDecl PName] -> HappyAbsSyn
    happyIn36 [TopDecl PName]
    r))

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    21# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_71
    happyReduction_71 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_71 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap37
    happyOut37 HappyAbsSyn
    happy_x_2 of { (HappyWrap37 (Located PName, Signature PName)
    happy_var_2) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([Maybe (Located Text)
    -> (Located PName, Signature PName) -> TopDecl PName
    mkSigDecl Maybe (Located Text)
    happy_var_1 (Located PName, Signature PName)
    happy_var_2]
    	)}}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    21# HappyAbsSyn -> HappyAbsSyn
    happyReduction_72
    happyReduction_72 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_72 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap39
    happyOut39 HappyAbsSyn
    happy_x_1 of { (HappyWrap39 ModParam PName
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([ModParam PName -> TopDecl PName
    forall name. ModParam name -> TopDecl name
    DModParam ModParam PName
    happy_var_1]
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    21# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_73
    happyReduction_73 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_73 HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap23
    happyOut23 HappyAbsSyn
    happy_x_2 of { (HappyWrap23 Located (ImportG (ImpName PName))
    happy_var_2) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn36
    		 ([Located (ImportG (ImpName PName)) -> TopDecl PName
    forall name. Located (ImportG (ImpName name)) -> TopDecl name
    DImport Located (ImportG (ImpName PName))
    happy_var_2]
    	)}

    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 Int#
    7# Int#
    22# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_74
    happyReduction_74 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_74 (HappyAbsSyn
    happy_x_7 `HappyStk`
    	HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap128
    happyOut128 HappyAbsSyn
    happy_x_3 of { (HappyWrap128 Located PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap38
    happyOut38 HappyAbsSyn
    happy_x_6 of { (HappyWrap38 Signature PName
    happy_var_6) ->
    	(Located PName, Signature PName) -> HappyAbsSyn
    happyIn37
    		 ((Located PName
    happy_var_3, Signature PName
    happy_var_6)
    	) 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 Int#
    1# Int#
    23# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_75
    happyReduction_75 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_75 (HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Signature PName)
    -> (Signature PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap45
    happyOut45 HappyAbsSyn
    happy_x_1 of { (HappyWrap45 [ParamDecl PName]
    happy_var_1) ->
    	( [Located (ImportG (ImpName PName))]
    -> [ParamDecl PName] -> ParseM (Signature PName)
    mkInterface [] [ParamDecl PName]
    happy_var_1)})
    	) (\Signature PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Signature PName -> HappyAbsSyn
    happyIn38 Signature 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 Int#
    3# Int#
    23# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_76
    happyReduction_76 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_76 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Signature PName)
    -> (Signature PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap22
    happyOut22 HappyAbsSyn
    happy_x_1 of { (HappyWrap22 [Located (ImportG (ImpName PName))]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap45
    happyOut45 HappyAbsSyn
    happy_x_3 of { (HappyWrap45 [ParamDecl PName]
    happy_var_3) ->
    	( [Located (ImportG (ImpName PName))]
    -> [ParamDecl PName] -> ParseM (Signature PName)
    mkInterface ([Located (ImportG (ImpName PName))]
    -> [Located (ImportG (ImpName PName))]
    forall a. [a] -> [a]
    reverse [Located (ImportG (ImpName PName))]
    happy_var_1) [ParamDecl PName]
    happy_var_3)}})
    	) (\Signature PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Signature PName -> HappyAbsSyn
    happyIn38 Signature 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 Int#
    3# Int#
    23# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_77
    happyReduction_77 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_77 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Signature PName)
    -> (Signature PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap22
    happyOut22 HappyAbsSyn
    happy_x_1 of { (HappyWrap22 [Located (ImportG (ImpName PName))]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap45
    happyOut45 HappyAbsSyn
    happy_x_3 of { (HappyWrap45 [ParamDecl PName]
    happy_var_3) ->
    	( [Located (ImportG (ImpName PName))]
    -> [ParamDecl PName] -> ParseM (Signature PName)
    mkInterface ([Located (ImportG (ImpName PName))]
    -> [Located (ImportG (ImpName PName))]
    forall a. [a] -> [a]
    reverse [Located (ImportG (ImpName PName))]
    happy_var_1) [ParamDecl PName]
    happy_var_3)}})
    	) (\Signature PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Signature PName -> HappyAbsSyn
    happyIn38 Signature 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 -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    5# Int#
    24# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_78
    happyReduction_78 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_78 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap26
    happyOut26 HappyAbsSyn
    happy_x_4 of { (HappyWrap26 Located (ImpName PName)
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap28
    happyOut28 HappyAbsSyn
    happy_x_5 of { (HappyWrap28 Maybe (Located ModName)
    happy_var_5) ->
    	ModParam PName -> HappyAbsSyn
    happyIn39
    		 (ModParam { mpSignature :: Located (ImpName PName)
    mpSignature = Located (ImpName PName)
    happy_var_4
                                          , mpAs :: Maybe ModName
    mpAs        = (Located ModName -> ModName)
    -> Maybe (Located ModName) -> Maybe ModName
    forall a b. (a -> b) -> Maybe a -> Maybe b
    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_5
                                          , mpName :: Ident
    mpName      = Located (ImpName PName) -> Maybe (Located ModName) -> Ident
    mkModParamName Located (ImpName PName)
    happy_var_4 Maybe (Located ModName)
    happy_var_5
                                          , mpDoc :: Maybe (Located Text)
    mpDoc       = Maybe (Located Text)
    happy_var_1
                                          , mpRenaming :: Map PName PName
    mpRenaming  = Map PName PName
    forall a. Monoid a => a
    mempty }
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    25# HappyAbsSyn -> HappyAbsSyn
    happyReduction_79
    happyReduction_79 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_79 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap49
    happyOut49 HappyAbsSyn
    happy_x_1 of { (HappyWrap49 Decl PName
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn40
    		 ([TopLevel (Decl PName) -> TopDecl PName
    forall name. TopLevel (Decl name) -> TopDecl name
    Decl (TopLevel {tlExport :: ExportType
    tlExport = ExportType
    Public, tlValue :: Decl PName
    tlValue = Decl PName
    happy_var_1 })]
    	)}

    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 Int#
    2# Int#
    25# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_80
    happyReduction_80 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_80 (HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    _ (Token (StrLit {}) Text
    _))) ->
    	( (TopDecl PName -> [TopDecl PName]
    forall a. a -> [a]
    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 a b. (a -> b) -> ParseM a -> ParseM b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` Located Token -> ParseM (Located String)
    fromStrLit Located Token
    happy_var_2)})
    	) (\[TopDecl PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([TopDecl PName] -> HappyAbsSyn
    happyIn40 [TopDecl 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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    25# HappyAbsSyn -> HappyAbsSyn
    happyReduction_81
    happyReduction_81 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_81 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap42
    happyOut42 HappyAbsSyn
    happy_x_1 of { (HappyWrap42 [TopDecl PName]
    happy_var_1) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn40
    		 ([TopDecl PName]
    happy_var_1
    	)}

    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 -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    26# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_82
    happyReduction_82 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_82 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_3 of { (HappyWrap35 [TopDecl PName]
    happy_var_3) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn41
    		 (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_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 -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    5# Int#
    26# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_83
    happyReduction_83 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_83 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap35
    happyOut35 HappyAbsSyn
    happy_x_4 of { (HappyWrap35 [TopDecl PName]
    happy_var_4) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn41
    		 (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_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 -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    5# Int#
    27# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_84
    happyReduction_84 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_84 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap128
    happyOut128 HappyAbsSyn
    happy_x_3 of { (HappyWrap128 Located PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap110
    happyOut110 HappyAbsSyn
    happy_x_5 of { (HappyWrap110 Schema PName
    happy_var_5) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn42
    		 (Maybe (Located Text)
    -> Located PName -> Schema PName -> [TopDecl PName]
    mkPrimDecl Maybe (Located Text)
    happy_var_1 Located PName
    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_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 Int#
    7# Int#
    27# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_85
    happyReduction_85 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_85 (HappyAbsSyn
    happy_x_7 `HappyStk`
    	HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap71
    happyOut71 HappyAbsSyn
    happy_x_4 of { (HappyWrap71 Located PName
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap110
    happyOut110 HappyAbsSyn
    happy_x_7 of { (HappyWrap110 Schema PName
    happy_var_7) ->
    	[TopDecl PName] -> HappyAbsSyn
    happyIn42
    		 (Maybe (Located Text)
    -> Located PName -> Schema PName -> [TopDecl PName]
    mkPrimDecl Maybe (Located Text)
    happy_var_1 Located PName
    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_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 -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    6# Int#
    27# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_86
    happyReduction_86 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_86 (HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM [TopDecl PName]
    -> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap110
    happyOut110 HappyAbsSyn
    happy_x_4 of { (HappyWrap110 Schema PName
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap114
    happyOut114 HappyAbsSyn
    happy_x_6 of { (HappyWrap114 Located Kind
    happy_var_6) ->
    	( Maybe (Located Text)
    -> Schema PName -> Located Kind -> ParseM [TopDecl PName]
    mkPrimTypeDecl Maybe (Located Text)
    happy_var_1 Schema PName
    happy_var_4 Located Kind
    happy_var_6)}}})
    	) (\[TopDecl PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([TopDecl PName] -> HappyAbsSyn
    happyIn42 [TopDecl PName]
    r))

    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 -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    5# Int#
    28# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_87
    happyReduction_87 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_87 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM [TopDecl PName]
    -> ([TopDecl PName] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap128
    happyOut128 HappyAbsSyn
    happy_x_3 of { (HappyWrap128 Located PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap110
    happyOut110 HappyAbsSyn
    happy_x_5 of { (HappyWrap110 Schema PName
    happy_var_5) ->
    	( Maybe (Located Text)
    -> Located PName -> Schema PName -> ParseM [TopDecl PName]
    mkForeignDecl Maybe (Located Text)
    happy_var_1 Located PName
    happy_var_3 Schema PName
    happy_var_5)}}})
    	) (\[TopDecl PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([TopDecl PName] -> HappyAbsSyn
    happyIn43 [TopDecl PName]
    r))

    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 Int#
    4# Int#
    29# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_88
    happyReduction_88 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_88 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap45
    happyOut45 HappyAbsSyn
    happy_x_3 of { (HappyWrap45 [ParamDecl PName]
    happy_var_3) ->
    	TopDecl PName -> HappyAbsSyn
    happyIn44
    		 ([ParamDecl PName] -> TopDecl PName
    mkParDecls ([ParamDecl PName] -> [ParamDecl PName]
    forall a. [a] -> [a]
    reverse [ParamDecl PName]
    happy_var_3)
    	) 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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    5# Int#
    29# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_89
    happyReduction_89 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_89 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap45
    happyOut45 HappyAbsSyn
    happy_x_4 of { (HappyWrap45 [ParamDecl PName]
    happy_var_4) ->
    	TopDecl PName -> HappyAbsSyn
    happyIn44
    		 ([ParamDecl PName] -> TopDecl PName
    mkParDecls ([ParamDecl PName] -> [ParamDecl PName]
    forall a. [a] -> [a]
    reverse [ParamDecl PName]
    happy_var_4)
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    30# HappyAbsSyn -> HappyAbsSyn
    happyReduction_90
    happyReduction_90 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_90 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap46
    happyOut46 HappyAbsSyn
    happy_x_1 of { (HappyWrap46 ParamDecl PName
    happy_var_1) ->
    	[ParamDecl PName] -> HappyAbsSyn
    happyIn45
    		 ([ParamDecl PName
    happy_var_1]
    	)}

    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    30# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_91
    happyReduction_91 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_91 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap45
    happyOut45 HappyAbsSyn
    happy_x_1 of { (HappyWrap45 [ParamDecl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap46
    happyOut46 HappyAbsSyn
    happy_x_3 of { (HappyWrap46 ParamDecl PName
    happy_var_3) ->
    	[ParamDecl PName] -> HappyAbsSyn
    happyIn45
    		 (ParamDecl PName
    happy_var_3 ParamDecl PName -> [ParamDecl PName] -> [ParamDecl PName]
    forall a. a -> [a] -> [a]
    : [ParamDecl PName]
    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  Int#
    30# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_92
    happyReduction_92 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_92 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap45
    happyOut45 HappyAbsSyn
    happy_x_1 of { (HappyWrap45 [ParamDecl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap46
    happyOut46 HappyAbsSyn
    happy_x_3 of { (HappyWrap46 ParamDecl PName
    happy_var_3) ->
    	[ParamDecl PName] -> HappyAbsSyn
    happyIn45
    		 (ParamDecl PName
    happy_var_3 ParamDecl PName -> [ParamDecl PName] -> [ParamDecl PName]
    forall a. a -> [a] -> [a]
    : [ParamDecl PName]
    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    31# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_93
    happyReduction_93 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_93 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap128
    happyOut128 HappyAbsSyn
    happy_x_2 of { (HappyWrap128 Located PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap110
    happyOut110 HappyAbsSyn
    happy_x_4 of { (HappyWrap110 Schema PName
    happy_var_4) ->
    	ParamDecl PName -> HappyAbsSyn
    happyIn46
    		 (Maybe (Located Text)
    -> Located PName -> Schema PName -> ParamDecl PName
    mkParFun Maybe (Located Text)
    happy_var_1 Located PName
    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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    5# Int#
    31# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_94
    happyReduction_94 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_94 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (ParamDecl PName)
    -> (ParamDecl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap128
    happyOut128 HappyAbsSyn
    happy_x_3 of { (HappyWrap128 Located PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap114
    happyOut114 HappyAbsSyn
    happy_x_5 of { (HappyWrap114 Located Kind
    happy_var_5) ->
    	( Maybe (Located Text)
    -> Located PName -> Located Kind -> ParseM (ParamDecl PName)
    mkParType Maybe (Located Text)
    happy_var_1 Located PName
    happy_var_3 Located Kind
    happy_var_5)}}})
    	) (\ParamDecl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (ParamDecl PName -> HappyAbsSyn
    happyIn46 ParamDecl PName
    r))

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    31# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_95
    happyReduction_95 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_95 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap48
    happyOut48 HappyAbsSyn
    happy_x_1 of { (HappyWrap48 Maybe (Located Text)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap52
    happyOut52 HappyAbsSyn
    happy_x_2 of { (HappyWrap52 Decl PName
    happy_var_2) ->
    	ParamDecl PName -> HappyAbsSyn
    happyIn46
    		 (Maybe Text -> Decl PName -> ParamDecl PName
    mkIfacePropSyn (Located Text -> Text
    forall a. Located a -> a
    thing (Located Text -> Text) -> Maybe (Located Text) -> Maybe Text
    forall a b. (a -> b) -> Maybe a -> Maybe b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` Maybe (Located Text)
    happy_var_1) Decl PName
    happy_var_2
    	)}}

    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  Int#
    31# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_96
    happyReduction_96 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_96 HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap53
    happyOut53 HappyAbsSyn
    happy_x_2 of { (HappyWrap53 Located [Prop PName]
    happy_var_2) ->
    	ParamDecl PName -> HappyAbsSyn
    happyIn46
    		 ([Located (Prop PName)] -> ParamDecl PName
    forall name. [Located (Prop name)] -> ParamDecl name
    DParameterConstraint (Located [Prop PName] -> [Located (Prop PName)]
    forall a. Located [a] -> [Located a]
    distrLoc Located [Prop PName]
    happy_var_2)
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    32# HappyAbsSyn -> HappyAbsSyn
    happyReduction_97
    happyReduction_97 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_97 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token (White TokenW
    DocStr) Text
    _))) ->
    	Located Text -> HappyAbsSyn
    happyIn47
    		 (Located Text -> Located Text
    mkDoc ((Token -> Text) -> Located Token -> Located Text
    forall a b. (a -> b) -> Located a -> Located b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap Token -> Text
    tokenText Located Token
    happy_var_1)
    	)}

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    33# HappyAbsSyn -> HappyAbsSyn
    happyReduction_98
    happyReduction_98 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_98 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap47
    happyOut47 HappyAbsSyn
    happy_x_1 of { (HappyWrap47 Located Text
    happy_var_1) ->
    	Maybe (Located Text) -> HappyAbsSyn
    happyIn48
    		 (Located Text -> Maybe (Located Text)
    forall a. a -> Maybe a
    Just Located Text
    happy_var_1
    	)}

    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
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  Int#
    33# HappyAbsSyn
    happyReduction_99
    happyReduction_99 :: HappyAbsSyn
    happyReduction_99  =  Maybe (Located Text) -> HappyAbsSyn
    happyIn48
    		 (Maybe (Located Text)
    forall a. Maybe a
    Nothing
    	)

    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  Int#
    34# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_100
    happyReduction_100 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_100 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap59
    happyOut59 HappyAbsSyn
    happy_x_1 of { (HappyWrap59 [Located PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap110
    happyOut110 HappyAbsSyn
    happy_x_3 of { (HappyWrap110 Schema PName
    happy_var_3) ->
    	Decl PName -> HappyAbsSyn
    happyIn49
    		 ((Located PName, Schema PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at ([Located PName] -> Located PName
    forall a. HasCallStack => [a] -> a
    head [Located PName]
    happy_var_1,Schema PName
    happy_var_3) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $ [Located PName] -> Schema PName -> Decl PName
    forall name. [Located name] -> Schema name -> Decl name
    DSignature ([Located PName] -> [Located PName]
    forall a. [a] -> [a]
    reverse [Located PName]
    happy_var_1) Schema PName
    happy_var_3
    	)}}

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    34# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_101
    happyReduction_101 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_101 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap105
    happyOut105 HappyAbsSyn
    happy_x_1 of { (HappyWrap105 Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	Decl PName -> HappyAbsSyn
    happyIn49
    		 ((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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    5# Int#
    34# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_102
    happyReduction_102 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_102 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap71
    happyOut71 HappyAbsSyn
    happy_x_2 of { (HappyWrap71 Located PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_5 of { (HappyWrap75 Expr PName
    happy_var_5) ->
    	Decl PName -> HappyAbsSyn
    happyIn49
    		 ((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 (Located PName -> Pattern PName
    forall n. Located n -> Pattern n
    PVar Located PName
    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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    34# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_103
    happyReduction_103 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_103 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap60
    happyOut60 HappyAbsSyn
    happy_x_1 of { (HappyWrap60 Located PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap64
    happyOut64 HappyAbsSyn
    happy_x_2 of { (HappyWrap64 ([Pattern PName], [Pattern PName])
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap54
    happyOut54 HappyAbsSyn
    happy_x_3 of { (HappyWrap54 [PropGuardCase PName]
    happy_var_3) ->
    	( Located PName
    -> ([Pattern PName], [Pattern PName])
    -> [PropGuardCase PName]
    -> ParseM (Decl PName)
    mkPropGuardsDecl Located PName
    happy_var_1 ([Pattern PName], [Pattern PName])
    happy_var_2 [PropGuardCase PName]
    happy_var_3)}}})
    	) (\Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn49 Decl PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    2# Int#
    34# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_104
    happyReduction_104 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_104 (HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap60
    happyOut60 HappyAbsSyn
    happy_x_1 of { (HappyWrap60 Located PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap54
    happyOut54 HappyAbsSyn
    happy_x_2 of { (HappyWrap54 [PropGuardCase PName]
    happy_var_2) ->
    	( Located PName -> [PropGuardCase PName] -> ParseM (Decl PName)
    mkConstantPropGuardsDecl Located PName
    happy_var_1 [PropGuardCase PName]
    happy_var_2)}})
    	) (\Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn49 Decl PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    34# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_105
    happyReduction_105 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_105 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap60
    happyOut60 HappyAbsSyn
    happy_x_1 of { (HappyWrap60 Located PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap64
    happyOut64 HappyAbsSyn
    happy_x_2 of { (HappyWrap64 ([Pattern PName], [Pattern PName])
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_4 of { (HappyWrap75 Expr PName
    happy_var_4) ->
    	Decl PName -> HappyAbsSyn
    happyIn49
    		 ((Located PName, Expr PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Located PName
    happy_var_1,Expr PName
    happy_var_4) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $ Located PName
    -> ([Pattern PName], [Pattern PName]) -> Expr PName -> Decl PName
    mkIndexedDecl Located PName
    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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    5# Int#
    34# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_106
    happyReduction_106 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_106 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap106
    happyOut106 HappyAbsSyn
    happy_x_1 of { (HappyWrap106 Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap72
    happyOut72 HappyAbsSyn
    happy_x_2 of { (HappyWrap72 Located PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap106
    happyOut106 HappyAbsSyn
    happy_x_3 of { (HappyWrap106 Pattern PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_5 of { (HappyWrap75 Expr PName
    happy_var_5) ->
    	Decl PName -> HappyAbsSyn
    happyIn49
    		 ((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 { bName :: Located PName
    bName      = Located PName
    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 a. Maybe a
    Nothing
                                              , bPragmas :: [Pragma]
    bPragmas   = []
                                              , bMono :: Bool
    bMono      = Bool
    False
                                              , bInfix :: Bool
    bInfix     = Bool
    True
                                              , bFixity :: Maybe Fixity
    bFixity    = Maybe Fixity
    forall a. Maybe a
    Nothing
                                              , bDoc :: Maybe Text
    bDoc       = Maybe Text
    forall a. Maybe a
    Nothing
                                              , bExport :: ExportType
    bExport    = ExportType
    Public
                                              }
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    34# HappyAbsSyn -> HappyAbsSyn
    happyReduction_107
    happyReduction_107 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_107 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap52
    happyOut52 HappyAbsSyn
    happy_x_1 of { (HappyWrap52 Decl PName
    happy_var_1) ->
    	Decl PName -> HappyAbsSyn
    happyIn49
    		 (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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    34# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_108
    happyReduction_108 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_108 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    _ (Token (Num   {}) Text
    _))) ->
    	case HappyAbsSyn -> HappyWrap74
    happyOut74 HappyAbsSyn
    happy_x_3 of { (HappyWrap74 [Located PName]
    happy_var_3) ->
    	( Assoc -> Located Token -> [Located PName] -> ParseM (Decl PName)
    mkFixity Assoc
    LeftAssoc  Located Token
    happy_var_2 ([Located PName] -> [Located PName]
    forall a. [a] -> [a]
    reverse [Located PName]
    happy_var_3))}})
    	) (\Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn49 Decl PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    34# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_109
    happyReduction_109 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_109 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    _ (Token (Num   {}) Text
    _))) ->
    	case HappyAbsSyn -> HappyWrap74
    happyOut74 HappyAbsSyn
    happy_x_3 of { (HappyWrap74 [Located PName]
    happy_var_3) ->
    	( Assoc -> Located Token -> [Located PName] -> ParseM (Decl PName)
    mkFixity Assoc
    RightAssoc Located Token
    happy_var_2 ([Located PName] -> [Located PName]
    forall a. [a] -> [a]
    reverse [Located PName]
    happy_var_3))}})
    	) (\Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn49 Decl PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    34# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_110
    happyReduction_110 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_110 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    _ (Token (Num   {}) Text
    _))) ->
    	case HappyAbsSyn -> HappyWrap74
    happyOut74 HappyAbsSyn
    happy_x_3 of { (HappyWrap74 [Located PName]
    happy_var_3) ->
    	( Assoc -> Located Token -> [Located PName] -> ParseM (Decl PName)
    mkFixity Assoc
    NonAssoc   Located Token
    happy_var_2 ([Located PName] -> [Located PName]
    forall a. [a] -> [a]
    reverse [Located PName]
    happy_var_3))}})
    	) (\Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn49 Decl PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    1# Int#
    34# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {a} {p}. HappyStk a -> p -> ParseM HappyAbsSyn
    happyReduction_111
    happyReduction_111 :: HappyStk a -> p -> ParseM HappyAbsSyn
    happyReduction_111 (a
    happy_x_1 `HappyStk`
    	HappyStk a
    happyRest) 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 String
    "a declaration"))
    	) (\Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn49 Decl PName
    r))

    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  Int#
    35# HappyAbsSyn -> HappyAbsSyn
    happyReduction_112
    happyReduction_112 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_112 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_1 of { (HappyWrap51 Decl PName
    happy_var_1) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn50
    		 ([Decl PName
    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    35# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_113
    happyReduction_113 :: p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_113 p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_1 of { (HappyWrap51 Decl PName
    happy_var_1) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn50
    		 ([Decl PName
    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    35# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_114
    happyReduction_114 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_114 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap51
    happyOut51 HappyAbsSyn
    happy_x_1 of { (HappyWrap51 Decl PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap50
    happyOut50 HappyAbsSyn
    happy_x_3 of { (HappyWrap50 [Decl PName]
    happy_var_3) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn50
    		 ((Decl PName
    happy_var_1Decl PName -> [Decl PName] -> [Decl PName]
    forall a. a -> [a] -> [a]
    :[Decl PName]
    happy_var_3)
    	)}}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    36# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_115
    happyReduction_115 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_115 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap105
    happyOut105 HappyAbsSyn
    happy_x_2 of { (HappyWrap105 Pattern PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_4 of { (HappyWrap75 Expr PName
    happy_var_4) ->
    	Decl PName -> HappyAbsSyn
    happyIn51
    		 ((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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    5# Int#
    36# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_116
    happyReduction_116 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_116 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap60
    happyOut60 HappyAbsSyn
    happy_x_2 of { (HappyWrap60 Located PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap64
    happyOut64 HappyAbsSyn
    happy_x_3 of { (HappyWrap64 ([Pattern PName], [Pattern PName])
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_5 of { (HappyWrap75 Expr PName
    happy_var_5) ->
    	Decl PName -> HappyAbsSyn
    happyIn51
    		 ((Located PName, Expr PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Located PName
    happy_var_2,Expr PName
    happy_var_5) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $ Located PName
    -> ([Pattern PName], [Pattern PName]) -> Expr PName -> Decl PName
    mkIndexedDecl Located PName
    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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    6# Int#
    36# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_117
    happyReduction_117 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_117 (HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap71
    happyOut71 HappyAbsSyn
    happy_x_3 of { (HappyWrap71 Located PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_6 of { (HappyWrap75 Expr PName
    happy_var_6) ->
    	Decl PName -> HappyAbsSyn
    happyIn51
    		 ((Range, Expr PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Range
    happy_var_2,Expr PName
    happy_var_6) (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 (Located PName -> Pattern PName
    forall n. Located n -> Pattern n
    PVar Located PName
    happy_var_3) Expr PName
    happy_var_6
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    6# Int#
    36# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_118
    happyReduction_118 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_118 (HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap106
    happyOut106 HappyAbsSyn
    happy_x_2 of { (HappyWrap106 Pattern PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap72
    happyOut72 HappyAbsSyn
    happy_x_3 of { (HappyWrap72 Located PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap106
    happyOut106 HappyAbsSyn
    happy_x_4 of { (HappyWrap106 Pattern PName
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_6 of { (HappyWrap75 Expr PName
    happy_var_6) ->
    	Decl PName -> HappyAbsSyn
    happyIn51
    		 ((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_6) (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 { bName :: Located PName
    bName      = Located PName
    happy_var_3
                                              , bParams :: [Pattern PName]
    bParams    = [Pattern PName
    happy_var_2,Pattern PName
    happy_var_4]
                                              , 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_6 (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_6))
                                              , bSignature :: Maybe (Schema PName)
    bSignature = Maybe (Schema PName)
    forall a. Maybe a
    Nothing
                                              , bPragmas :: [Pragma]
    bPragmas   = []
                                              , bMono :: Bool
    bMono      = Bool
    False
                                              , bInfix :: Bool
    bInfix     = Bool
    True
                                              , bFixity :: Maybe Fixity
    bFixity    = Maybe Fixity
    forall a. Maybe a
    Nothing
                                              , bDoc :: Maybe Text
    bDoc       = Maybe Text
    forall a. Maybe a
    Nothing
                                              , bExport :: ExportType
    bExport    = ExportType
    Public
                                              }
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    36# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_119
    happyReduction_119 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_119 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap59
    happyOut59 HappyAbsSyn
    happy_x_2 of { (HappyWrap59 [Located PName]
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap110
    happyOut110 HappyAbsSyn
    happy_x_4 of { (HappyWrap110 Schema PName
    happy_var_4) ->
    	Decl PName -> HappyAbsSyn
    happyIn51
    		 ((Located PName, Schema PName) -> Decl PName -> Decl PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at ([Located PName] -> Located PName
    forall a. HasCallStack => [a] -> a
    head [Located PName]
    happy_var_2,Schema PName
    happy_var_4) (Decl PName -> Decl PName) -> Decl PName -> Decl PName
    forall a b. (a -> b) -> a -> b
    $ [Located PName] -> Schema PName -> Decl PName
    forall name. [Located name] -> Schema name -> Decl name
    DSignature ([Located PName] -> [Located PName]
    forall a. [a] -> [a]
    reverse [Located PName]
    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_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  Int#
    36# HappyAbsSyn -> HappyAbsSyn
    happyReduction_120
    happyReduction_120 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_120 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap52
    happyOut52 HappyAbsSyn
    happy_x_1 of { (HappyWrap52 Decl PName
    happy_var_1) ->
    	Decl PName -> HappyAbsSyn
    happyIn51
    		 (Decl PName
    happy_var_1
    	)}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    36# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_121
    happyReduction_121 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_121 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    _ (Token (Num   {}) Text
    _))) ->
    	case HappyAbsSyn -> HappyWrap74
    happyOut74 HappyAbsSyn
    happy_x_3 of { (HappyWrap74 [Located PName]
    happy_var_3) ->
    	( Assoc -> Located Token -> [Located PName] -> ParseM (Decl PName)
    mkFixity Assoc
    LeftAssoc  Located Token
    happy_var_2 ([Located PName] -> [Located PName]
    forall a. [a] -> [a]
    reverse [Located PName]
    happy_var_3))}})
    	) (\Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn51 Decl PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    36# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_122
    happyReduction_122 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_122 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    _ (Token (Num   {}) Text
    _))) ->
    	case HappyAbsSyn -> HappyWrap74
    happyOut74 HappyAbsSyn
    happy_x_3 of { (HappyWrap74 [Located PName]
    happy_var_3) ->
    	( Assoc -> Located Token -> [Located PName] -> ParseM (Decl PName)
    mkFixity Assoc
    RightAssoc Located Token
    happy_var_2 ([Located PName] -> [Located PName]
    forall a. [a] -> [a]
    reverse [Located PName]
    happy_var_3))}})
    	) (\Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn51 Decl PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    36# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_123
    happyReduction_123 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_123 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    _ (Token (Num   {}) Text
    _))) ->
    	case HappyAbsSyn -> HappyWrap74
    happyOut74 HappyAbsSyn
    happy_x_3 of { (HappyWrap74 [Located PName]
    happy_var_3) ->
    	( Assoc -> Located Token -> [Located PName] -> ParseM (Decl PName)
    mkFixity Assoc
    NonAssoc   Located Token
    happy_var_2 ([Located PName] -> [Located PName]
    forall a. [a] -> [a]
    reverse [Located PName]
    happy_var_3))}})
    	) (\Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn51 Decl PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    5# Int#
    37# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_124
    happyReduction_124 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_124 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_3 of { (HappyWrap117 Type PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_5 of { (HappyWrap117 Type PName
    happy_var_5) ->
    	( Type PName -> Type PName -> ParseM (Decl PName)
    mkPropSyn Type PName
    happy_var_3 Type PName
    happy_var_5)}})
    	) (\Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn52 Decl PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    4# Int#
    37# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_125
    happyReduction_125 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_125 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Decl PName)
    -> (Decl PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_2 of { (HappyWrap117 Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_4 of { (HappyWrap117 Type PName
    happy_var_4) ->
    	( Type PName -> Type PName -> ParseM (Decl PName)
    mkTySyn   Type PName
    happy_var_2 Type PName
    happy_var_4)}})
    	) (\Decl PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Decl PName -> HappyAbsSyn
    happyIn52 Decl PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    38# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_126
    happyReduction_126 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_126 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_3 of { (HappyWrap117 Type PName
    happy_var_3) ->
    	( Type PName -> ParseM (Located [Prop PName])
    mkProp Type PName
    happy_var_3)})
    	) (\Located [Prop PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Located [Prop PName] -> HappyAbsSyn
    happyIn53 Located [Prop PName]
    r))

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    39# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_127
    happyReduction_127 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_127 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap54
    happyOut54 HappyAbsSyn
    happy_x_1 of { (HappyWrap54 [PropGuardCase PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_2 of { (HappyWrap55 PropGuardCase PName
    happy_var_2) ->
    	[PropGuardCase PName] -> HappyAbsSyn
    happyIn54
    		 (PropGuardCase PName
    happy_var_2 PropGuardCase PName
    -> [PropGuardCase PName] -> [PropGuardCase PName]
    forall a. a -> [a] -> [a]
    : [PropGuardCase PName]
    happy_var_1
    	)}}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    39# HappyAbsSyn -> HappyAbsSyn
    happyReduction_128
    happyReduction_128 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_128 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap55
    happyOut55 HappyAbsSyn
    happy_x_1 of { (HappyWrap55 PropGuardCase PName
    happy_var_1) ->
    	[PropGuardCase PName] -> HappyAbsSyn
    happyIn54
    		 ([PropGuardCase PName
    happy_var_1]
    	)}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    40# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_129
    happyReduction_129 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_129 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap56
    happyOut56 HappyAbsSyn
    happy_x_2 of { (HappyWrap56 [Located (Prop PName)]
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_4 of { (HappyWrap75 Expr PName
    happy_var_4) ->
    	PropGuardCase PName -> HappyAbsSyn
    happyIn55
    		 ([Located (Prop PName)] -> Expr PName -> PropGuardCase PName
    forall name.
    [Located (Prop name)] -> Expr name -> PropGuardCase name
    PropGuardCase [Located (Prop 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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    1# Int#
    41# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_130
    happyReduction_130 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_130 (HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_1 of { (HappyWrap117 Type PName
    happy_var_1) ->
    	( Type PName -> ParseM [Located (Prop PName)]
    mkPropGuards Type PName
    happy_var_1)})
    	) (\[Located (Prop PName)]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([Located (Prop PName)] -> HappyAbsSyn
    happyIn56 [Located (Prop PName)]
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    4# Int#
    42# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_131
    happyReduction_131 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_131 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Newtype PName)
    -> (Newtype PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_2 of { (HappyWrap117 Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap58
    happyOut58 HappyAbsSyn
    happy_x_4 of { (HappyWrap58 Located (RecordMap Ident (Range, Type PName))
    happy_var_4) ->
    	( Type PName
    -> Located (RecordMap Ident (Range, Type PName))
    -> ParseM (Newtype PName)
    mkNewtype Type PName
    happy_var_2 Located (RecordMap Ident (Range, Type PName))
    happy_var_4)}})
    	) (\Newtype PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Newtype PName -> HappyAbsSyn
    happyIn57 Newtype PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    2# Int#
    43# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_132
    happyReduction_132 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_132 (HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Located (RecordMap Ident (Range, Type PName)))
    -> (Located (RecordMap Ident (Range, 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 Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	( Range
    -> (RecordMap Ident (Range, Type PName)
        -> Located (RecordMap Ident (Range, Type PName)))
    -> [Named (Type PName)]
    -> ParseM (Located (RecordMap Ident (Range, Type PName)))
    forall b a.
    AddLoc b =>
    Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
    mkRecord (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_2) (Range
    -> RecordMap Ident (Range, Type PName)
    -> Located (RecordMap Ident (Range, Type PName))
    forall a. Range -> a -> Located a
    Located Range
    emptyRange) [])}})
    	) (\Located (RecordMap Ident (Range, Type PName))
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Located (RecordMap Ident (Range, Type PName)) -> HappyAbsSyn
    happyIn58 Located (RecordMap Ident (Range, Type PName))
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    43# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_133
    happyReduction_133 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_133 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Located (RecordMap Ident (Range, Type PName)))
    -> (Located (RecordMap Ident (Range, 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 Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap126
    happyOut126 HappyAbsSyn
    happy_x_2 of { (HappyWrap126 [Named (Type PName)]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	( Range
    -> (RecordMap Ident (Range, Type PName)
        -> Located (RecordMap Ident (Range, Type PName)))
    -> [Named (Type PName)]
    -> ParseM (Located (RecordMap Ident (Range, Type PName)))
    forall b a.
    AddLoc b =>
    Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
    mkRecord (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_3) (Range
    -> RecordMap Ident (Range, Type PName)
    -> Located (RecordMap Ident (Range, Type PName))
    forall a. Range -> a -> Located a
    Located Range
    emptyRange) [Named (Type PName)]
    happy_var_2)}}})
    	) (\Located (RecordMap Ident (Range, Type PName))
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Located (RecordMap Ident (Range, Type PName)) -> HappyAbsSyn
    happyIn58 Located (RecordMap Ident (Range, Type PName))
    r))

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    44# HappyAbsSyn -> HappyAbsSyn
    happyReduction_134
    happyReduction_134 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_134 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap60
    happyOut60 HappyAbsSyn
    happy_x_1 of { (HappyWrap60 Located PName
    happy_var_1) ->
    	[Located PName] -> HappyAbsSyn
    happyIn59
    		 ([ Located PName
    happy_var_1]
    	)}

    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  Int#
    44# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_135
    happyReduction_135 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_135 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap59
    happyOut59 HappyAbsSyn
    happy_x_1 of { (HappyWrap59 [Located PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap60
    happyOut60 HappyAbsSyn
    happy_x_3 of { (HappyWrap60 Located PName
    happy_var_3) ->
    	[Located PName] -> HappyAbsSyn
    happyIn59
    		 (Located PName
    happy_var_3 Located PName -> [Located PName] -> [Located PName]
    forall a. a -> [a] -> [a]
    : [Located PName]
    happy_var_1
    	)}}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    45# HappyAbsSyn -> HappyAbsSyn
    happyReduction_136
    happyReduction_136 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_136 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap128
    happyOut128 HappyAbsSyn
    happy_x_1 of { (HappyWrap128 Located PName
    happy_var_1) ->
    	Located PName -> HappyAbsSyn
    happyIn60
    		 (Located PName
    happy_var_1
    	)}

    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    45# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p} {p}. p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_137
    happyReduction_137 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_137 p
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap71
    happyOut71 HappyAbsSyn
    happy_x_2 of { (HappyWrap71 Located PName
    happy_var_2) ->
    	Located PName -> HappyAbsSyn
    happyIn60
    		 (Located PName
    happy_var_2
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    46# HappyAbsSyn -> HappyAbsSyn
    happyReduction_138
    happyReduction_138 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_138 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap106
    happyOut106 HappyAbsSyn
    happy_x_1 of { (HappyWrap106 Pattern PName
    happy_var_1) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn61
    		 ([Pattern PName
    happy_var_1]
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    46# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_139
    happyReduction_139 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_139 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap61
    happyOut61 HappyAbsSyn
    happy_x_1 of { (HappyWrap61 [Pattern PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap106
    happyOut106 HappyAbsSyn
    happy_x_2 of { (HappyWrap106 Pattern PName
    happy_var_2) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn61
    		 (Pattern PName
    happy_var_2 Pattern PName -> [Pattern PName] -> [Pattern PName]
    forall a. a -> [a] -> [a]
    : [Pattern PName]
    happy_var_1
    	)}}

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    47# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_140
    happyReduction_140 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_140 HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap63
    happyOut63 HappyAbsSyn
    happy_x_2 of { (HappyWrap63 [Pattern PName]
    happy_var_2) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn62
    		 ([Pattern PName]
    happy_var_2
    	)}

    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
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  Int#
    47# HappyAbsSyn
    happyReduction_141
    happyReduction_141 :: HappyAbsSyn
    happyReduction_141  =  [Pattern PName] -> HappyAbsSyn
    happyIn62
    		 ([]
    	)

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    48# HappyAbsSyn -> HappyAbsSyn
    happyReduction_142
    happyReduction_142 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_142 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap106
    happyOut106 HappyAbsSyn
    happy_x_1 of { (HappyWrap106 Pattern PName
    happy_var_1) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn63
    		 ([Pattern PName
    happy_var_1]
    	)}

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    48# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_143
    happyReduction_143 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_143 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap63
    happyOut63 HappyAbsSyn
    happy_x_1 of { (HappyWrap63 [Pattern PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap106
    happyOut106 HappyAbsSyn
    happy_x_3 of { (HappyWrap106 Pattern PName
    happy_var_3) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn63
    		 (Pattern PName
    happy_var_3 Pattern PName -> [Pattern PName] -> [Pattern PName]
    forall a. a -> [a] -> [a]
    : [Pattern PName]
    happy_var_1
    	)}}

    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  Int#
    49# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_144
    happyReduction_144 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_144 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap61
    happyOut61 HappyAbsSyn
    happy_x_1 of { (HappyWrap61 [Pattern PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap62
    happyOut62 HappyAbsSyn
    happy_x_2 of { (HappyWrap62 [Pattern PName]
    happy_var_2) ->
    	([Pattern PName], [Pattern PName]) -> HappyAbsSyn
    happyIn64
    		 (([Pattern PName]
    happy_var_1, [Pattern 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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    49# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_145
    happyReduction_145 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_145 HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap63
    happyOut63 HappyAbsSyn
    happy_x_2 of { (HappyWrap63 [Pattern PName]
    happy_var_2) ->
    	([Pattern PName], [Pattern PName]) -> HappyAbsSyn
    happyIn64
    		 (([], [Pattern PName]
    happy_var_2)
    	)}

    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
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  Int#
    50# HappyAbsSyn
    happyReduction_146
    happyReduction_146 :: HappyAbsSyn
    happyReduction_146  =  ([Pattern PName], [Pattern PName]) -> HappyAbsSyn
    happyIn65
    		 (([],[])
    	)

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    50# HappyAbsSyn -> HappyAbsSyn
    happyReduction_147
    happyReduction_147 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_147 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap64
    happyOut64 HappyAbsSyn
    happy_x_1 of { (HappyWrap64 ([Pattern PName], [Pattern PName])
    happy_var_1) ->
    	([Pattern PName], [Pattern PName]) -> HappyAbsSyn
    happyIn65
    		 (([Pattern PName], [Pattern PName])
    happy_var_1
    	)}

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    51# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_148
    happyReduction_148 :: p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_148 p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap49
    happyOut49 HappyAbsSyn
    happy_x_1 of { (HappyWrap49 Decl PName
    happy_var_1) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn66
    		 ([Decl 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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    51# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_149
    happyReduction_149 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_149 p
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap66
    happyOut66 HappyAbsSyn
    happy_x_1 of { (HappyWrap66 [Decl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap49
    happyOut49 HappyAbsSyn
    happy_x_2 of { (HappyWrap49 Decl PName
    happy_var_2) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn66
    		 (Decl PName
    happy_var_2 Decl PName -> [Decl PName] -> [Decl PName]
    forall a. a -> [a] -> [a]
    : [Decl 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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    52# HappyAbsSyn -> HappyAbsSyn
    happyReduction_150
    happyReduction_150 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_150 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap49
    happyOut49 HappyAbsSyn
    happy_x_1 of { (HappyWrap49 Decl PName
    happy_var_1) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn67
    		 ([Decl PName
    happy_var_1]
    	)}

    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    52# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_151
    happyReduction_151 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_151 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap67
    happyOut67 HappyAbsSyn
    happy_x_1 of { (HappyWrap67 [Decl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap49
    happyOut49 HappyAbsSyn
    happy_x_3 of { (HappyWrap49 Decl PName
    happy_var_3) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn67
    		 (Decl PName
    happy_var_3 Decl PName -> [Decl PName] -> [Decl PName]
    forall a. a -> [a] -> [a]
    : [Decl 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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    52# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_152
    happyReduction_152 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_152 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap67
    happyOut67 HappyAbsSyn
    happy_x_1 of { (HappyWrap67 [Decl PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap49
    happyOut49 HappyAbsSyn
    happy_x_3 of { (HappyWrap49 Decl PName
    happy_var_3) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn67
    		 (Decl PName
    happy_var_3 Decl PName -> [Decl PName] -> [Decl PName]
    forall a. a -> [a] -> [a]
    : [Decl 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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    53# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p} {p}. p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_153
    happyReduction_153 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_153 p
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap67
    happyOut67 HappyAbsSyn
    happy_x_2 of { (HappyWrap67 [Decl PName]
    happy_var_2) ->
    	[Decl PName] -> HappyAbsSyn
    happyIn68
    		 ([Decl PName]
    happy_var_2
    	)}

    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  Int#
    53# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p} {p}. p -> p -> HappyAbsSyn
    happyReduction_154
    happyReduction_154 :: p -> p -> HappyAbsSyn
    happyReduction_154 p
    happy_x_2
    	p
    happy_x_1
    	 =  [Decl PName] -> HappyAbsSyn
    happyIn68
    		 ([]
    	)

    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  Int#
    54# HappyAbsSyn -> HappyAbsSyn
    happyReduction_155
    happyReduction_155 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_155 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	ReplInput PName -> HappyAbsSyn
    happyIn69
    		 (Expr PName -> ReplInput PName
    forall name. Expr name -> ReplInput name
    ExprInput 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  Int#
    54# HappyAbsSyn -> HappyAbsSyn
    happyReduction_156
    happyReduction_156 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_156 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap50
    happyOut50 HappyAbsSyn
    happy_x_1 of { (HappyWrap50 [Decl PName]
    happy_var_1) ->
    	ReplInput PName -> HappyAbsSyn
    happyIn69
    		 ([Decl PName] -> ReplInput PName
    forall name. [Decl name] -> ReplInput name
    LetInput [Decl 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
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_0  Int#
    54# HappyAbsSyn
    happyReduction_157
    happyReduction_157 :: HappyAbsSyn
    happyReduction_157  =  ReplInput PName -> HappyAbsSyn
    happyIn69
    		 (ReplInput PName
    forall name. ReplInput name
    EmptyInput
    	)

    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  Int#
    55# HappyAbsSyn -> HappyAbsSyn
    happyReduction_158
    happyReduction_158 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_158 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap71
    happyOut71 HappyAbsSyn
    happy_x_1 of { (HappyWrap71 Located PName
    happy_var_1) ->
    	Located PName -> HappyAbsSyn
    happyIn70
    		 (Located PName
    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  Int#
    55# HappyAbsSyn -> HappyAbsSyn
    happyReduction_159
    happyReduction_159 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_159 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token (Op  Other{}   )  Text
    _))) ->
    	Located PName -> HappyAbsSyn
    happyIn70
    		 (let Token (Op (Other [Text]
    ns Text
    i)) Text
    _ = 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 -> Located PName
    forall a b. a -> Located b -> Located a
    forall (f :: * -> *) a b. Functor f => a -> f b -> f a
    A.<$ 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  Int#
    56# HappyAbsSyn -> HappyAbsSyn
    happyReduction_160
    happyReduction_160 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_160 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap72
    happyOut72 HappyAbsSyn
    happy_x_1 of { (HappyWrap72 Located PName
    happy_var_1) ->
    	Located PName -> HappyAbsSyn
    happyIn71
    		 (Located PName
    happy_var_1
    	)}

    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  Int#
    56# HappyAbsSyn -> HappyAbsSyn
    happyReduction_161
    happyReduction_161 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_161 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Hash) Text
    _)) ->
    	Located PName -> HappyAbsSyn
    happyIn71
    		 (Range -> PName -> Located PName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> Located PName) -> PName -> Located PName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix Text
    "#"
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    56# HappyAbsSyn -> HappyAbsSyn
    happyReduction_162
    happyReduction_162 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_162 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    At) Text
    _)) ->
    	Located PName -> HappyAbsSyn
    happyIn71
    		 (Range -> PName -> Located PName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> Located PName) -> PName -> Located PName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix Text
    "@"
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    57# HappyAbsSyn -> HappyAbsSyn
    happyReduction_163
    happyReduction_163 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_163 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap73
    happyOut73 HappyAbsSyn
    happy_x_1 of { (HappyWrap73 Located PName
    happy_var_1) ->
    	Located PName -> HappyAbsSyn
    happyIn72
    		 (Located PName
    happy_var_1
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    57# HappyAbsSyn -> HappyAbsSyn
    happyReduction_164
    happyReduction_164 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_164 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Mul)   Text
    _)) ->
    	Located PName -> HappyAbsSyn
    happyIn72
    		 (Range -> PName -> Located PName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> Located PName) -> PName -> Located PName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix Text
    "*"
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    57# HappyAbsSyn -> HappyAbsSyn
    happyReduction_165
    happyReduction_165 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_165 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Plus)  Text
    _)) ->
    	Located PName -> HappyAbsSyn
    happyIn72
    		 (Range -> PName -> Located PName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> Located PName) -> PName -> Located PName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix Text
    "+"
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    57# HappyAbsSyn -> HappyAbsSyn
    happyReduction_166
    happyReduction_166 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_166 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Minus) Text
    _)) ->
    	Located PName -> HappyAbsSyn
    happyIn72
    		 (Range -> PName -> Located PName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> Located PName) -> PName -> Located PName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix Text
    "-"
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    57# HappyAbsSyn -> HappyAbsSyn
    happyReduction_167
    happyReduction_167 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_167 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Complement) Text
    _)) ->
    	Located PName -> HappyAbsSyn
    happyIn72
    		 (Range -> PName -> Located PName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> Located PName) -> PName -> Located PName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix Text
    "~"
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    57# HappyAbsSyn -> HappyAbsSyn
    happyReduction_168
    happyReduction_168 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_168 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Exp)   Text
    _)) ->
    	Located PName -> HappyAbsSyn
    happyIn72
    		 (Range -> PName -> Located PName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> Located PName) -> PName -> Located PName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix Text
    "^^"
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    57# HappyAbsSyn -> HappyAbsSyn
    happyReduction_169
    happyReduction_169 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_169 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    Lt      ) Text
    _)) ->
    	Located PName -> HappyAbsSyn
    happyIn72
    		 (Range -> PName -> Located PName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> Located PName) -> PName -> Located PName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix Text
    "<"
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    57# HappyAbsSyn -> HappyAbsSyn
    happyReduction_170
    happyReduction_170 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_170 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    Gt      ) Text
    _)) ->
    	Located PName -> HappyAbsSyn
    happyIn72
    		 (Range -> PName -> Located PName
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 (PName -> Located PName) -> PName -> Located PName
    forall a b. (a -> b) -> a -> b
    $ Ident -> PName
    mkUnqual (Ident -> PName) -> Ident -> PName
    forall a b. (a -> b) -> a -> b
    $ Text -> Ident
    mkInfix Text
    ">"
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    58# HappyAbsSyn -> HappyAbsSyn
    happyReduction_171
    happyReduction_171 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_171 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token (Op (Other [] Text
    _)) Text
    _))) ->
    	Located PName -> HappyAbsSyn
    happyIn73
    		 (let Token (Op (Other [] Text
    str)) Text
    _ = 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 -> Located PName
    forall a b. a -> Located b -> Located a
    forall (f :: * -> *) a b. Functor f => a -> f b -> f a
    A.<$ Located Token
    happy_var_1
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    59# HappyAbsSyn -> HappyAbsSyn
    happyReduction_172
    happyReduction_172 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_172 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap71
    happyOut71 HappyAbsSyn
    happy_x_1 of { (HappyWrap71 Located PName
    happy_var_1) ->
    	[Located PName] -> HappyAbsSyn
    happyIn74
    		 ([Located PName
    happy_var_1]
    	)}

    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  Int#
    59# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_173
    happyReduction_173 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_173 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap74
    happyOut74 HappyAbsSyn
    happy_x_1 of { (HappyWrap74 [Located PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap71
    happyOut71 HappyAbsSyn
    happy_x_3 of { (HappyWrap71 Located PName
    happy_var_3) ->
    	[Located PName] -> HappyAbsSyn
    happyIn74
    		 (Located PName
    happy_var_3 Located PName -> [Located PName] -> [Located PName]
    forall a. a -> [a] -> [a]
    : [Located PName]
    happy_var_1
    	)}}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    60# HappyAbsSyn -> HappyAbsSyn
    happyReduction_174
    happyReduction_174 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_174 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap76
    happyOut76 HappyAbsSyn
    happy_x_1 of { (HappyWrap76 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn75
    		 (Expr PName
    happy_var_1
    	)}

    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    60# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_175
    happyReduction_175 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_175 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap77
    happyOut77 HappyAbsSyn
    happy_x_3 of { (HappyWrap77 Located [Decl PName]
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn75
    		 ((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_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  Int#
    61# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_176
    happyReduction_176 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_176 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap79
    happyOut79 HappyAbsSyn
    happy_x_1 of { (HappyWrap79 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap70
    happyOut70 HappyAbsSyn
    happy_x_2 of { (HappyWrap70 Located PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap84
    happyOut84 HappyAbsSyn
    happy_x_3 of { (HappyWrap84 Expr PName
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn76
    		 (Expr PName -> Located PName -> Expr PName -> Expr PName
    binOp Expr PName
    happy_var_1 Located PName
    happy_var_2 Expr PName
    happy_var_3
    	)}}}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    61# HappyAbsSyn -> HappyAbsSyn
    happyReduction_177
    happyReduction_177 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_177 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap84
    happyOut84 HappyAbsSyn
    happy_x_1 of { (HappyWrap84 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn76
    		 (Expr PName
    happy_var_1
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    61# HappyAbsSyn -> HappyAbsSyn
    happyReduction_178
    happyReduction_178 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_178 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap78
    happyOut78 HappyAbsSyn
    happy_x_1 of { (HappyWrap78 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn76
    		 (Expr PName
    happy_var_1
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    62# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_179
    happyReduction_179 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_179 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	Located [Decl PName] -> HappyAbsSyn
    happyIn77
    		 (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_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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    62# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_180
    happyReduction_180 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_180 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap66
    happyOut66 HappyAbsSyn
    happy_x_2 of { (HappyWrap66 [Decl PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	Located [Decl PName] -> HappyAbsSyn
    happyIn77
    		 (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_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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    62# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_181
    happyReduction_181 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_181 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Virt TokenV
    VCurlyL)  Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Virt TokenV
    VCurlyR)  Text
    _)) ->
    	Located [Decl PName] -> HappyAbsSyn
    happyIn77
    		 (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_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  Int#
    62# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_182
    happyReduction_182 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_182 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Virt TokenV
    VCurlyL)  Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap67
    happyOut67 HappyAbsSyn
    happy_x_2 of { (HappyWrap67 [Decl PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Virt TokenV
    VCurlyR)  Text
    _)) ->
    	Located [Decl PName] -> HappyAbsSyn
    happyIn77
    		 (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_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  Int#
    63# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_183
    happyReduction_183 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_183 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap79
    happyOut79 HappyAbsSyn
    happy_x_1 of { (HappyWrap79 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_3 of { (HappyWrap117 Type PName
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn78
    		 ((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_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  Int#
    64# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_184
    happyReduction_184 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_184 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap79
    happyOut79 HappyAbsSyn
    happy_x_1 of { (HappyWrap79 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap70
    happyOut70 HappyAbsSyn
    happy_x_2 of { (HappyWrap70 Located PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap83
    happyOut83 HappyAbsSyn
    happy_x_3 of { (HappyWrap83 Expr PName
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn79
    		 (Expr PName -> Located PName -> Expr PName -> Expr PName
    binOp Expr PName
    happy_var_1 Located PName
    happy_var_2 Expr 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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    64# HappyAbsSyn -> HappyAbsSyn
    happyReduction_185
    happyReduction_185 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_185 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap83
    happyOut83 HappyAbsSyn
    happy_x_1 of { (HappyWrap83 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn79
    		 (Expr PName
    happy_var_1
    	)}

    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 -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    65# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_186
    happyReduction_186 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_186 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (KW TokenKW
    KW_if     ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap81
    happyOut81 HappyAbsSyn
    happy_x_2 of { (HappyWrap81 [(Expr PName, Expr PName)]
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap76
    happyOut76 HappyAbsSyn
    happy_x_4 of { (HappyWrap76 Expr PName
    happy_var_4) ->
    	Expr PName -> HappyAbsSyn
    happyIn80
    		 ((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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    65# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_187
    happyReduction_187 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_187 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    Lambda  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap61
    happyOut61 HappyAbsSyn
    happy_x_2 of { (HappyWrap61 [Pattern PName]
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap76
    happyOut76 HappyAbsSyn
    happy_x_4 of { (HappyWrap76 Expr PName
    happy_var_4) ->
    	Expr PName -> HappyAbsSyn
    happyIn80
    		 ((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
    $ FunDesc PName -> [Pattern PName] -> Expr PName -> Expr PName
    forall n. FunDesc n -> [Pattern n] -> Expr n -> Expr n
    EFun FunDesc PName
    forall n. FunDesc n
    emptyFunDesc ([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_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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    66# HappyAbsSyn -> HappyAbsSyn
    happyReduction_188
    happyReduction_188 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_188 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap82
    happyOut82 HappyAbsSyn
    happy_x_1 of { (HappyWrap82 (Expr PName, Expr PName)
    happy_var_1) ->
    	[(Expr PName, Expr PName)] -> HappyAbsSyn
    happyIn81
    		 ([(Expr PName, Expr PName)
    happy_var_1]
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    66# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_189
    happyReduction_189 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_189 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap81
    happyOut81 HappyAbsSyn
    happy_x_1 of { (HappyWrap81 [(Expr PName, Expr PName)]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap82
    happyOut82 HappyAbsSyn
    happy_x_3 of { (HappyWrap82 (Expr PName, Expr PName)
    happy_var_3) ->
    	[(Expr PName, Expr PName)] -> HappyAbsSyn
    happyIn81
    		 ((Expr PName, Expr PName)
    happy_var_3 (Expr PName, Expr PName)
    -> [(Expr PName, Expr PName)] -> [(Expr PName, Expr PName)]
    forall a. a -> [a] -> [a]
    : [(Expr PName, Expr PName)]
    happy_var_1
    	)}}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    67# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_190
    happyReduction_190 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_190 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	(Expr PName, Expr PName) -> HappyAbsSyn
    happyIn82
    		 ((Expr PName
    happy_var_1, Expr PName
    happy_var_3)
    	)}}

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    68# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_191
    happyReduction_191 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_191 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Minus) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap85
    happyOut85 HappyAbsSyn
    happy_x_2 of { (HappyWrap85 Expr PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn83
    		 ((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) (PrefixOp -> Expr PName -> Expr PName
    forall n. PrefixOp -> Expr n -> Expr n
    EPrefix PrefixOp
    PrefixNeg Expr PName
    happy_var_2)
    	)}}

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    68# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_192
    happyReduction_192 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_192 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Complement) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap85
    happyOut85 HappyAbsSyn
    happy_x_2 of { (HappyWrap85 Expr PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn83
    		 ((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) (PrefixOp -> Expr PName -> Expr PName
    forall n. PrefixOp -> Expr n -> Expr n
    EPrefix PrefixOp
    PrefixComplement Expr PName
    happy_var_2)
    	)}}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    68# HappyAbsSyn -> HappyAbsSyn
    happyReduction_193
    happyReduction_193 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_193 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap85
    happyOut85 HappyAbsSyn
    happy_x_1 of { (HappyWrap85 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn83
    		 (Expr PName
    happy_var_1
    	)}

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    69# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_194
    happyReduction_194 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_194 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Minus) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap86
    happyOut86 HappyAbsSyn
    happy_x_2 of { (HappyWrap86 Expr PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn84
    		 ((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) (PrefixOp -> Expr PName -> Expr PName
    forall n. PrefixOp -> Expr n -> Expr n
    EPrefix PrefixOp
    PrefixNeg Expr PName
    happy_var_2)
    	)}}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    69# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_195
    happyReduction_195 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_195 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Complement) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap86
    happyOut86 HappyAbsSyn
    happy_x_2 of { (HappyWrap86 Expr PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn84
    		 ((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) (PrefixOp -> Expr PName -> Expr PName
    forall n. PrefixOp -> Expr n -> Expr n
    EPrefix PrefixOp
    PrefixComplement Expr PName
    happy_var_2)
    	)}}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    69# HappyAbsSyn -> HappyAbsSyn
    happyReduction_196
    happyReduction_196 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_196 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap86
    happyOut86 HappyAbsSyn
    happy_x_1 of { (HappyWrap86 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn84
    		 (Expr PName
    happy_var_1
    	)}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    1# Int#
    70# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_197
    happyReduction_197 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_197 (HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap87
    happyOut87 HappyAbsSyn
    happy_x_1 of { (HappyWrap87 NonEmpty (Expr PName)
    happy_var_1) ->
    	( NonEmpty (Expr PName) -> ParseM (Expr PName)
    mkEApp NonEmpty (Expr PName)
    happy_var_1)})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn85 Expr PName
    r))

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    71# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_198
    happyReduction_198 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_198 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap85
    happyOut85 HappyAbsSyn
    happy_x_1 of { (HappyWrap85 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap80
    happyOut80 HappyAbsSyn
    happy_x_2 of { (HappyWrap80 Expr PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn86
    		 ((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_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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    71# HappyAbsSyn -> HappyAbsSyn
    happyReduction_199
    happyReduction_199 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_199 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap80
    happyOut80 HappyAbsSyn
    happy_x_1 of { (HappyWrap80 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn86
    		 (Expr PName
    happy_var_1
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    71# HappyAbsSyn -> HappyAbsSyn
    happyReduction_200
    happyReduction_200 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_200 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap85
    happyOut85 HappyAbsSyn
    happy_x_1 of { (HappyWrap85 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn86
    		 (Expr PName
    happy_var_1
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    72# HappyAbsSyn -> HappyAbsSyn
    happyReduction_201
    happyReduction_201 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_201 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap88
    happyOut88 HappyAbsSyn
    happy_x_1 of { (HappyWrap88 Expr PName
    happy_var_1) ->
    	NonEmpty (Expr PName) -> HappyAbsSyn
    happyIn87
    		 (Expr PName
    happy_var_1 Expr PName -> [Expr PName] -> NonEmpty (Expr PName)
    forall a. a -> [a] -> NonEmpty a
    :| []
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    72# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_202
    happyReduction_202 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_202 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap87
    happyOut87 HappyAbsSyn
    happy_x_1 of { (HappyWrap87 NonEmpty (Expr PName)
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap88
    happyOut88 HappyAbsSyn
    happy_x_2 of { (HappyWrap88 Expr PName
    happy_var_2) ->
    	NonEmpty (Expr PName) -> HappyAbsSyn
    happyIn87
    		 (Expr PName -> NonEmpty (Expr PName) -> NonEmpty (Expr PName)
    forall a. a -> NonEmpty a -> NonEmpty a
    cons Expr PName
    happy_var_2 NonEmpty (Expr PName)
    happy_var_1
    	)}}

    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  Int#
    73# HappyAbsSyn -> HappyAbsSyn
    happyReduction_203
    happyReduction_203 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_203 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap89
    happyOut89 HappyAbsSyn
    happy_x_1 of { (HappyWrap89 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn88
    		 (Expr 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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    73# HappyAbsSyn -> HappyAbsSyn
    happyReduction_204
    happyReduction_204 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_204 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap90
    happyOut90 HappyAbsSyn
    happy_x_1 of { (HappyWrap90 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn88
    		 (Expr 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  Int#
    74# HappyAbsSyn -> HappyAbsSyn
    happyReduction_205
    happyReduction_205 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_205 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap131
    happyOut131 HappyAbsSyn
    happy_x_1 of { (HappyWrap131 Located PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 (Located PName -> Expr PName -> Expr PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Located PName
    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 (Located PName -> PName
    forall a. Located a -> a
    thing Located 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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    74# HappyAbsSyn -> HappyAbsSyn
    happyReduction_206
    happyReduction_206 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_206 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token (Num   {}) Text
    _))) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 (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
    $ Token -> Expr PName
    numLit (Located Token -> Token
    forall a. Located a -> a
    thing Located Token
    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    74# HappyAbsSyn -> HappyAbsSyn
    happyReduction_207
    happyReduction_207 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_207 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token (Frac  {}) Text
    _))) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 (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
    $ Token -> Expr PName
    fracLit (Located Token -> Token
    forall a. Located a -> a
    thing Located Token
    happy_var_1)
    	)}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    74# HappyAbsSyn -> HappyAbsSyn
    happyReduction_208
    happyReduction_208 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_208 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token (StrLit {}) Text
    _))) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 (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_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  Int#
    74# HappyAbsSyn -> HappyAbsSyn
    happyReduction_209
    happyReduction_209 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_209 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token (ChrLit {}) Text
    _))) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 (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
    $ Char -> Literal
    ECChar (Char -> Literal) -> Char -> Literal
    forall a b. (a -> b) -> a -> b
    $ Located Token -> Char
    getChr Located Token
    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    74# HappyAbsSyn -> HappyAbsSyn
    happyReduction_210
    happyReduction_210 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_210 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    Underscore ) Text
    _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 (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 Text
    "_"
    	)}

    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    74# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_211
    happyReduction_211 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_211 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_2 of { (HappyWrap75 Expr PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    ParenR  ) Text
    _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 ((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_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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    74# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_212
    happyReduction_212 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_212 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap94
    happyOut94 HappyAbsSyn
    happy_x_2 of { (HappyWrap94 [Expr PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    ParenR  ) Text
    _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 ((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_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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    74# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_213
    happyReduction_213 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_213 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    ParenR  ) Text
    _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 ((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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    2# Int#
    74# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_214
    happyReduction_214 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_214 (HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	( Range
    -> (RecordMap Ident (Range, Expr PName) -> Expr PName)
    -> [Named (Expr PName)]
    -> ParseM (Expr PName)
    forall b a.
    AddLoc b =>
    Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
    mkRecord (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_2) RecordMap Ident (Range, Expr PName) -> Expr PName
    forall n. Rec (Expr n) -> Expr n
    ERecord [])}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn89 Expr PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    74# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_215
    happyReduction_215 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_215 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap95
    happyOut95 HappyAbsSyn
    happy_x_2 of { (HappyWrap95 Either (Expr PName) [Named (Expr PName)]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	( case Either (Expr PName) [Named (Expr PName)]
    happy_var_2 of {
                                           Left Expr PName
    upd -> Expr PName -> ParseM (Expr PName)
    forall a. a -> ParseM a
    forall (f :: * -> *) a. Applicative f => a -> f a
    pure (Expr PName -> ParseM (Expr PName))
    -> Expr PName -> ParseM (Expr PName)
    forall a b. (a -> b) -> a -> b
    $ (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
    upd;
                                           Right [Named (Expr PName)]
    fs -> Range
    -> (RecordMap Ident (Range, Expr PName) -> Expr PName)
    -> [Named (Expr PName)]
    -> ParseM (Expr PName)
    forall b a.
    AddLoc b =>
    Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
    mkRecord (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_3) RecordMap Ident (Range, Expr PName) -> Expr PName
    forall n. Rec (Expr n) -> Expr n
    ERecord [Named (Expr PName)]
    fs; })}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn89 Expr PName
    r))

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    74# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_216
    happyReduction_216 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_216 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    BracketL) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    BracketR) Text
    _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 ((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_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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    74# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_217
    happyReduction_217 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_217 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    BracketL) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap100
    happyOut100 HappyAbsSyn
    happy_x_2 of { (HappyWrap100 Expr PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    BracketR) Text
    _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 ((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_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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    74# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_218
    happyReduction_218 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_218 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    BackTick) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap133
    happyOut133 HappyAbsSyn
    happy_x_2 of { (HappyWrap133 Type PName
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 ((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_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  Int#
    74# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_219
    happyReduction_219 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_219 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap70
    happyOut70 HappyAbsSyn
    happy_x_2 of { (HappyWrap70 Located PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    ParenR  ) Text
    _)) ->
    	Expr PName -> HappyAbsSyn
    happyIn89
    		 ((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
    $ Located PName -> PName
    forall a. Located a -> a
    thing Located 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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    2# Int#
    74# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_220
    happyReduction_220 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_220 (HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    happy_var_1 (Token (Sym TokenSym
    TriL    ) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    TriR    ) Text
    _)) ->
    	( Range -> [(Bool, Integer)] -> ParseM (Expr PName)
    mkPoly (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_2) [])}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn89 Expr PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    74# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_221
    happyReduction_221 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_221 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    happy_var_1 (Token (Sym TokenSym
    TriL    ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap92
    happyOut92 HappyAbsSyn
    happy_x_2 of { (HappyWrap92 [(Bool, Integer)]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    TriR    ) Text
    _)) ->
    	( Range -> [(Bool, Integer)] -> ParseM (Expr PName)
    mkPoly (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_3) [(Bool, Integer)]
    happy_var_2)}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn89 Expr PName
    r))

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    75# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_222
    happyReduction_222 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_222 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap89
    happyOut89 HappyAbsSyn
    happy_x_1 of { (HappyWrap89 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap91
    happyOut91 HappyAbsSyn
    happy_x_2 of { (HappyWrap91 Located Selector
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn90
    		 ((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_2) (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_2)
    	)}}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    75# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_223
    happyReduction_223 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_223 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap90
    happyOut90 HappyAbsSyn
    happy_x_1 of { (HappyWrap90 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap91
    happyOut91 HappyAbsSyn
    happy_x_2 of { (HappyWrap91 Located Selector
    happy_var_2) ->
    	Expr PName -> HappyAbsSyn
    happyIn90
    		 ((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_2) (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_2)
    	)}}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    76# HappyAbsSyn -> HappyAbsSyn
    happyReduction_224
    happyReduction_224 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_224 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token  (Selector SelectorType
    _) Text
    _))) ->
    	Located Selector -> HappyAbsSyn
    happyIn91
    		 (Token -> Selector
    mkSelector (Token -> Selector) -> Located Token -> Located Selector
    forall a b. (a -> b) -> Located a -> Located b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` Located Token
    happy_var_1
    	)}

    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  Int#
    77# HappyAbsSyn -> HappyAbsSyn
    happyReduction_225
    happyReduction_225 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_225 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap93
    happyOut93 HappyAbsSyn
    happy_x_1 of { (HappyWrap93 (Bool, Integer)
    happy_var_1) ->
    	[(Bool, Integer)] -> HappyAbsSyn
    happyIn92
    		 ([(Bool, Integer)
    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  Int#
    77# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_226
    happyReduction_226 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_226 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap92
    happyOut92 HappyAbsSyn
    happy_x_1 of { (HappyWrap92 [(Bool, Integer)]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap93
    happyOut93 HappyAbsSyn
    happy_x_3 of { (HappyWrap93 (Bool, Integer)
    happy_var_3) ->
    	[(Bool, Integer)] -> HappyAbsSyn
    happyIn92
    		 ((Bool, Integer)
    happy_var_3 (Bool, Integer) -> [(Bool, Integer)] -> [(Bool, Integer)]
    forall a. a -> [a] -> [a]
    : [(Bool, Integer)]
    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    1# Int#
    78# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_227
    happyReduction_227 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_227 (HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    _ (Token (Num   {}) Text
    _))) ->
    	( 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) Integer
    0)})
    	) (\(Bool, Integer)
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ((Bool, Integer) -> HappyAbsSyn
    happyIn93 (Bool, Integer)
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    1# Int#
    78# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_228
    happyReduction_228 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_228 (HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    happy_var_1 (Token (KW TokenKW
    KW_x)       Text
    _)) ->
    	( Range -> Integer -> Integer -> ParseM (Bool, Integer)
    polyTerm Range
    happy_var_1 Integer
    1 Integer
    1)})
    	) (\(Bool, Integer)
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ((Bool, Integer) -> HappyAbsSyn
    happyIn93 (Bool, Integer)
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    78# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_229
    happyReduction_229 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_229 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    happy_var_1 (Token (KW TokenKW
    KW_x)       Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (happy_var_3 :: Located Token
    happy_var_3@(Located Range
    _ (Token (Num   {}) Text
    _))) ->
    	( 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))
                                                                Integer
    1 (Located Token -> Integer
    getNum Located Token
    happy_var_3))}})
    	) (\(Bool, Integer)
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ((Bool, Integer) -> HappyAbsSyn
    happyIn93 (Bool, Integer)
    r))

    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  Int#
    79# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_230
    happyReduction_230 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_230 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	[Expr PName] -> HappyAbsSyn
    happyIn94
    		 ([ Expr PName
    happy_var_3, Expr PName
    happy_var_1]
    	)}}

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    79# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_231
    happyReduction_231 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_231 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap94
    happyOut94 HappyAbsSyn
    happy_x_1 of { (HappyWrap94 [Expr PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	[Expr PName] -> HappyAbsSyn
    happyIn94
    		 (Expr PName
    happy_var_3 Expr PName -> [Expr PName] -> [Expr PName]
    forall a. a -> [a] -> [a]
    : [Expr PName]
    happy_var_1
    	)}}

    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  Int#
    80# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_232
    happyReduction_232 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_232 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap88
    happyOut88 HappyAbsSyn
    happy_x_1 of { (HappyWrap88 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap96
    happyOut96 HappyAbsSyn
    happy_x_3 of { (HappyWrap96 [UpdField PName]
    happy_var_3) ->
    	Either (Expr PName) [Named (Expr PName)] -> HappyAbsSyn
    happyIn95
    		 (Expr PName -> Either (Expr PName) [Named (Expr PName)]
    forall a b. a -> Either a b
    Left (Maybe (Expr PName) -> [UpdField PName] -> Expr PName
    forall n. Maybe (Expr n) -> [UpdField n] -> Expr n
    EUpd (Expr PName -> Maybe (Expr PName)
    forall a. a -> Maybe a
    Just Expr PName
    happy_var_1) ([UpdField PName] -> [UpdField PName]
    forall a. [a] -> [a]
    reverse [UpdField PName]
    happy_var_3))
    	)}}

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    80# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p} {p}. HappyAbsSyn -> p -> p -> HappyAbsSyn
    happyReduction_233
    happyReduction_233 :: HappyAbsSyn -> p -> p -> HappyAbsSyn
    happyReduction_233 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap96
    happyOut96 HappyAbsSyn
    happy_x_3 of { (HappyWrap96 [UpdField PName]
    happy_var_3) ->
    	Either (Expr PName) [Named (Expr PName)] -> HappyAbsSyn
    happyIn95
    		 (Expr PName -> Either (Expr PName) [Named (Expr PName)]
    forall a b. a -> Either a b
    Left (Maybe (Expr PName) -> [UpdField PName] -> Expr PName
    forall n. Maybe (Expr n) -> [UpdField n] -> Expr n
    EUpd Maybe (Expr PName)
    forall a. Maybe a
    Nothing   ([UpdField PName] -> [UpdField PName]
    forall a. [a] -> [a]
    reverse [UpdField PName]
    happy_var_3))
    	)}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    1# Int#
    80# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_234
    happyReduction_234 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_234 (HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Either (Expr PName) [Named (Expr PName)])
    -> (Either (Expr PName) [Named (Expr PName)] -> ParseM HappyAbsSyn)
    -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap96
    happyOut96 HappyAbsSyn
    happy_x_1 of { (HappyWrap96 [UpdField PName]
    happy_var_1) ->
    	( [Named (Expr PName)] -> Either (Expr PName) [Named (Expr PName)]
    forall a b. b -> Either a b
    Right ([Named (Expr PName)] -> Either (Expr PName) [Named (Expr PName)])
    -> ParseM [Named (Expr PName)]
    -> ParseM (Either (Expr PName) [Named (Expr PName)])
    forall a b. (a -> b) -> ParseM a -> ParseM b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    `fmap` (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)
    forall (m :: * -> *) a b. Monad m => (a -> m b) -> [a] -> m [b]
    mapM UpdField PName -> ParseM (Named (Expr PName))
    ufToNamed [UpdField PName]
    happy_var_1)})
    	) (\Either (Expr PName) [Named (Expr PName)]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Either (Expr PName) [Named (Expr PName)] -> HappyAbsSyn
    happyIn95 Either (Expr PName) [Named (Expr PName)]
    r))

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    81# HappyAbsSyn -> HappyAbsSyn
    happyReduction_235
    happyReduction_235 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_235 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap97
    happyOut97 HappyAbsSyn
    happy_x_1 of { (HappyWrap97 UpdField PName
    happy_var_1) ->
    	[UpdField PName] -> HappyAbsSyn
    happyIn96
    		 ([UpdField PName
    happy_var_1]
    	)}

    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    81# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_236
    happyReduction_236 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_236 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap96
    happyOut96 HappyAbsSyn
    happy_x_1 of { (HappyWrap96 [UpdField PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap97
    happyOut97 HappyAbsSyn
    happy_x_3 of { (HappyWrap97 UpdField PName
    happy_var_3) ->
    	[UpdField PName] -> HappyAbsSyn
    happyIn96
    		 (UpdField PName
    happy_var_3 UpdField PName -> [UpdField PName] -> [UpdField PName]
    forall a. a -> [a] -> [a]
    : [UpdField PName]
    happy_var_1
    	)}}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    82# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_237
    happyReduction_237 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_237 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap98
    happyOut98 HappyAbsSyn
    happy_x_1 of { (HappyWrap98 [Located Selector]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap65
    happyOut65 HappyAbsSyn
    happy_x_2 of { (HappyWrap65 ([Pattern PName], [Pattern PName])
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap99
    happyOut99 HappyAbsSyn
    happy_x_3 of { (HappyWrap99 UpdHow
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_4 of { (HappyWrap75 Expr PName
    happy_var_4) ->
    	UpdField PName -> HappyAbsSyn
    happyIn97
    		 (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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    1# Int#
    83# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_238
    happyReduction_238 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_238 (HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM [Located Selector]
    -> ([Located Selector] -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap88
    happyOut88 HappyAbsSyn
    happy_x_1 of { (HappyWrap88 Expr PName
    happy_var_1) ->
    	( Expr PName -> ParseM [Located Selector]
    exprToFieldPath Expr PName
    happy_var_1)})
    	) (\[Located Selector]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn ([Located Selector] -> HappyAbsSyn
    happyIn98 [Located Selector]
    r))

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    84# HappyAbsSyn -> HappyAbsSyn
    forall {p}. p -> HappyAbsSyn
    happyReduction_239
    happyReduction_239 :: p -> HappyAbsSyn
    happyReduction_239 p
    happy_x_1
    	 =  UpdHow -> HappyAbsSyn
    happyIn99
    		 (UpdHow
    UpdSet
    	)

    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#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    84# HappyAbsSyn -> HappyAbsSyn
    forall {p}. p -> HappyAbsSyn
    happyReduction_240
    happyReduction_240 :: p -> HappyAbsSyn
    happyReduction_240 p
    happy_x_1
    	 =  UpdHow -> HappyAbsSyn
    happyIn99
    		 (UpdHow
    UpdFun
    	)

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    85# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_241
    happyReduction_241 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_241 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap101
    happyOut101 HappyAbsSyn
    happy_x_3 of { (HappyWrap101 [[Match PName]]
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn100
    		 (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_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  Int#
    85# HappyAbsSyn -> HappyAbsSyn
    happyReduction_242
    happyReduction_242 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_242 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn100
    		 ([Expr PName] -> Expr PName
    forall n. [Expr n] -> Expr n
    EList [Expr 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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    85# HappyAbsSyn -> HappyAbsSyn
    happyReduction_243
    happyReduction_243 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_243 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap94
    happyOut94 HappyAbsSyn
    happy_x_1 of { (HappyWrap94 [Expr PName]
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn100
    		 ([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_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 Int#
    3# Int#
    85# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_244
    happyReduction_244 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_244 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    DotDot  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 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 a. Maybe a
    Nothing   Expr PName
    happy_var_3)}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn100 Expr 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 Int#
    5# Int#
    85# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_245
    happyReduction_245 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_245 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_4 of { (Located Range
    happy_var_4 (Token (Sym TokenSym
    DotDot  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_5 of { (HappyWrap75 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 a. a -> Maybe a
    Just Expr PName
    happy_var_3) Expr PName
    happy_var_5)}}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn100 Expr 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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    4# Int#
    85# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_246
    happyReduction_246 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_246 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    DotDot  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_4 of { (HappyWrap75 Expr PName
    happy_var_4) ->
    	( Range -> Expr PName -> Expr PName -> ParseM (Expr PName)
    eFromToLessThan Range
    happy_var_2 Expr PName
    happy_var_1 Expr PName
    happy_var_4)}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn100 Expr PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    85# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_247
    happyReduction_247 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_247 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    DotDotLt) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	( Range -> Expr PName -> Expr PName -> ParseM (Expr PName)
    eFromToLessThan Range
    happy_var_2 Expr PName
    happy_var_1 Expr PName
    happy_var_3)}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn100 Expr PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    5# Int#
    85# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_248
    happyReduction_248 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_248 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    DotDot  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_5 of { (HappyWrap75 Expr PName
    happy_var_5) ->
    	( Range
    -> Expr PName
    -> Expr PName
    -> Expr PName
    -> Bool
    -> ParseM (Expr PName)
    eFromToBy Range
    happy_var_2 Expr PName
    happy_var_1 Expr PName
    happy_var_3 Expr PName
    happy_var_5 Bool
    False)}}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn100 Expr PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    6# Int#
    85# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_249
    happyReduction_249 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_249 (HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    DotDot  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_4 of { (HappyWrap75 Expr PName
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_6 of { (HappyWrap75 Expr PName
    happy_var_6) ->
    	( Range
    -> Expr PName
    -> Expr PName
    -> Expr PName
    -> Bool
    -> ParseM (Expr PName)
    eFromToBy Range
    happy_var_2 Expr PName
    happy_var_1 Expr PName
    happy_var_4 Expr PName
    happy_var_6 Bool
    True)}}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn100 Expr PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    5# Int#
    85# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_250
    happyReduction_250 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_250 (HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    DotDotLt) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_5 of { (HappyWrap75 Expr PName
    happy_var_5) ->
    	( Range
    -> Expr PName
    -> Expr PName
    -> Expr PName
    -> Bool
    -> ParseM (Expr PName)
    eFromToBy Range
    happy_var_2 Expr PName
    happy_var_1 Expr PName
    happy_var_3 Expr PName
    happy_var_5 Bool
    True)}}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn100 Expr PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    6# Int#
    85# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_251
    happyReduction_251 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_251 (HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    DotDot  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_6 of { (HappyWrap75 Expr PName
    happy_var_6) ->
    	( Range
    -> Expr PName
    -> Expr PName
    -> Expr PName
    -> Bool
    -> ParseM (Expr PName)
    eFromToDownBy Range
    happy_var_2 Expr PName
    happy_var_1 Expr PName
    happy_var_3 Expr PName
    happy_var_6 Bool
    False)}}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn100 Expr PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    7# Int#
    85# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_252
    happyReduction_252 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_252 (HappyAbsSyn
    happy_x_7 `HappyStk`
    	HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    DotDot  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_4 of { (HappyWrap75 Expr PName
    happy_var_4) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_7 of { (HappyWrap75 Expr PName
    happy_var_7) ->
    	( Range
    -> Expr PName
    -> Expr PName
    -> Expr PName
    -> Bool
    -> ParseM (Expr PName)
    eFromToDownBy Range
    happy_var_2 Expr PName
    happy_var_1 Expr PName
    happy_var_4 Expr PName
    happy_var_7 Bool
    True)}}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn100 Expr PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    6# Int#
    85# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_253
    happyReduction_253 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_253 (HappyAbsSyn
    happy_x_6 `HappyStk`
    	HappyAbsSyn
    happy_x_5 `HappyStk`
    	HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Expr PName)
    -> (Expr PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    DotDotGt) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_6 of { (HappyWrap75 Expr PName
    happy_var_6) ->
    	( Range
    -> Expr PName
    -> Expr PName
    -> Expr PName
    -> Bool
    -> ParseM (Expr PName)
    eFromToDownBy Range
    happy_var_2 Expr PName
    happy_var_1 Expr PName
    happy_var_3 Expr PName
    happy_var_6 Bool
    True)}}}})
    	) (\Expr PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Expr PName -> HappyAbsSyn
    happyIn100 Expr PName
    r))

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    85# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_254
    happyReduction_254 :: p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_254 p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	Expr PName -> HappyAbsSyn
    happyIn100
    		 (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 a. Maybe a
    Nothing
    	)}

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    85# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_255
    happyReduction_255 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_255 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_1 of { (HappyWrap75 Expr PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	Expr PName -> HappyAbsSyn
    happyIn100
    		 (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 a. a -> Maybe a
    Just Expr PName
    happy_var_3)
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    86# HappyAbsSyn -> HappyAbsSyn
    happyReduction_256
    happyReduction_256 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_256 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap102
    happyOut102 HappyAbsSyn
    happy_x_1 of { (HappyWrap102 [Match PName]
    happy_var_1) ->
    	[[Match PName]] -> HappyAbsSyn
    happyIn101
    		 ([ [Match PName] -> [Match PName]
    forall a. [a] -> [a]
    reverse [Match PName]
    happy_var_1 ]
    	)}

    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    86# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_257
    happyReduction_257 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_257 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap101
    happyOut101 HappyAbsSyn
    happy_x_1 of { (HappyWrap101 [[Match PName]]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap102
    happyOut102 HappyAbsSyn
    happy_x_3 of { (HappyWrap102 [Match PName]
    happy_var_3) ->
    	[[Match PName]] -> HappyAbsSyn
    happyIn101
    		 ([Match PName] -> [Match PName]
    forall a. [a] -> [a]
    reverse [Match PName]
    happy_var_3 [Match PName] -> [[Match PName]] -> [[Match PName]]
    forall a. a -> [a] -> [a]
    : [[Match PName]]
    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  Int#
    87# HappyAbsSyn -> HappyAbsSyn
    happyReduction_258
    happyReduction_258 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_258 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap103
    happyOut103 HappyAbsSyn
    happy_x_1 of { (HappyWrap103 Match PName
    happy_var_1) ->
    	[Match PName] -> HappyAbsSyn
    happyIn102
    		 ([Match PName
    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  Int#
    87# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_259
    happyReduction_259 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_259 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap102
    happyOut102 HappyAbsSyn
    happy_x_1 of { (HappyWrap102 [Match PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap103
    happyOut103 HappyAbsSyn
    happy_x_3 of { (HappyWrap103 Match PName
    happy_var_3) ->
    	[Match PName] -> HappyAbsSyn
    happyIn102
    		 (Match PName
    happy_var_3 Match PName -> [Match PName] -> [Match PName]
    forall a. a -> [a] -> [a]
    : [Match PName]
    happy_var_1
    	)}}

    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  Int#
    88# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_260
    happyReduction_260 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_260 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap104
    happyOut104 HappyAbsSyn
    happy_x_1 of { (HappyWrap104 Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap75
    happyOut75 HappyAbsSyn
    happy_x_3 of { (HappyWrap75 Expr PName
    happy_var_3) ->
    	Match PName -> HappyAbsSyn
    happyIn103
    		 (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_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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    89# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_261
    happyReduction_261 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_261 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap105
    happyOut105 HappyAbsSyn
    happy_x_1 of { (HappyWrap105 Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_3 of { (HappyWrap117 Type PName
    happy_var_3) ->
    	Pattern PName -> HappyAbsSyn
    happyIn104
    		 ((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_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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    89# HappyAbsSyn -> HappyAbsSyn
    happyReduction_262
    happyReduction_262 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_262 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap105
    happyOut105 HappyAbsSyn
    happy_x_1 of { (HappyWrap105 Pattern PName
    happy_var_1) ->
    	Pattern PName -> HappyAbsSyn
    happyIn104
    		 (Pattern PName
    happy_var_1
    	)}

    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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    90# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_263
    happyReduction_263 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_263 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap105
    happyOut105 HappyAbsSyn
    happy_x_1 of { (HappyWrap105 Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap105
    happyOut105 HappyAbsSyn
    happy_x_3 of { (HappyWrap105 Pattern PName
    happy_var_3) ->
    	Pattern PName -> HappyAbsSyn
    happyIn105
    		 ((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_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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    90# HappyAbsSyn -> HappyAbsSyn
    happyReduction_264
    happyReduction_264 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_264 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap106
    happyOut106 HappyAbsSyn
    happy_x_1 of { (HappyWrap106 Pattern PName
    happy_var_1) ->
    	Pattern PName -> HappyAbsSyn
    happyIn105
    		 (Pattern PName
    happy_var_1
    	)}

    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  Int#
    91# HappyAbsSyn -> HappyAbsSyn
    happyReduction_265
    happyReduction_265 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_265 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap128
    happyOut128 HappyAbsSyn
    happy_x_1 of { (HappyWrap128 Located PName
    happy_var_1) ->
    	Pattern PName -> HappyAbsSyn
    happyIn106
    		 (Located PName -> Pattern PName
    forall n. Located n -> Pattern n
    PVar Located PName
    happy_var_1
    	)}

    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  Int#
    91# HappyAbsSyn -> HappyAbsSyn
    happyReduction_266
    happyReduction_266 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_266 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    Underscore ) Text
    _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn106
    		 (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_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  Int#
    91# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_267
    happyReduction_267 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_267 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    ParenR  ) Text
    _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn106
    		 ((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_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  Int#
    91# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_268
    happyReduction_268 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_268 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap104
    happyOut104 HappyAbsSyn
    happy_x_2 of { (HappyWrap104 Pattern PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    ParenR  ) Text
    _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn106
    		 ((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_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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    91# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_269
    happyReduction_269 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_269 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap107
    happyOut107 HappyAbsSyn
    happy_x_2 of { (HappyWrap107 [Pattern PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    ParenR  ) Text
    _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn106
    		 ((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_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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    91# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_270
    happyReduction_270 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_270 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    BracketL) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    BracketR) Text
    _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn106
    		 ((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_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  Int#
    91# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_271
    happyReduction_271 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_271 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    BracketL) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap104
    happyOut104 HappyAbsSyn
    happy_x_2 of { (HappyWrap104 Pattern PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    BracketR) Text
    _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn106
    		 ((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_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  Int#
    91# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_272
    happyReduction_272 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_272 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    BracketL) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap107
    happyOut107 HappyAbsSyn
    happy_x_2 of { (HappyWrap107 [Pattern PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    BracketR) Text
    _)) ->
    	Pattern PName -> HappyAbsSyn
    happyIn106
    		 ((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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    2# Int#
    91# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_273
    happyReduction_273 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_273 (HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Pattern PName)
    -> (Pattern 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 Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	( Range
    -> (RecordMap Ident (Range, Pattern PName) -> Pattern PName)
    -> [Named (Pattern PName)]
    -> ParseM (Pattern PName)
    forall b a.
    AddLoc b =>
    Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
    mkRecord (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_2) RecordMap Ident (Range, Pattern PName) -> Pattern PName
    forall n. Rec (Pattern n) -> Pattern n
    PRecord [])}})
    	) (\Pattern PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Pattern PName -> HappyAbsSyn
    happyIn106 Pattern PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    91# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_274
    happyReduction_274 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_274 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (Pattern PName)
    -> (Pattern 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 Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_2 of { (HappyWrap109 [Named (Pattern PName)]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	( Range
    -> (RecordMap Ident (Range, Pattern PName) -> Pattern PName)
    -> [Named (Pattern PName)]
    -> ParseM (Pattern PName)
    forall b a.
    AddLoc b =>
    Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
    mkRecord (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_3) RecordMap Ident (Range, Pattern PName) -> Pattern PName
    forall n. Rec (Pattern n) -> Pattern n
    PRecord [Named (Pattern PName)]
    happy_var_2)}}})
    	) (\Pattern PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Pattern PName -> HappyAbsSyn
    happyIn106 Pattern PName
    r))

    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    92# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_275
    happyReduction_275 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_275 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap104
    happyOut104 HappyAbsSyn
    happy_x_1 of { (HappyWrap104 Pattern PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap104
    happyOut104 HappyAbsSyn
    happy_x_3 of { (HappyWrap104 Pattern PName
    happy_var_3) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn107
    		 ([Pattern PName
    happy_var_3, Pattern PName
    happy_var_1]
    	)}}

    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    92# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_276
    happyReduction_276 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_276 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap107
    happyOut107 HappyAbsSyn
    happy_x_1 of { (HappyWrap107 [Pattern PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap104
    happyOut104 HappyAbsSyn
    happy_x_3 of { (HappyWrap104 Pattern PName
    happy_var_3) ->
    	[Pattern PName] -> HappyAbsSyn
    happyIn107
    		 (Pattern PName
    happy_var_3 Pattern PName -> [Pattern PName] -> [Pattern PName]
    forall a. a -> [a] -> [a]
    : [Pattern PName]
    happy_var_1
    	)}}

    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    93# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_277
    happyReduction_277 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_277 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap127
    happyOut127 HappyAbsSyn
    happy_x_1 of { (HappyWrap127 LIdent
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap104
    happyOut104 HappyAbsSyn
    happy_x_3 of { (HappyWrap104 Pattern PName
    happy_var_3) ->
    	Named (Pattern PName) -> HappyAbsSyn
    happyIn108
    		 (Named { name :: LIdent
    name = LIdent
    happy_var_1, value :: Pattern PName
    value = Pattern PName
    happy_var_3 }
    	)}}

    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  Int#
    94# HappyAbsSyn -> HappyAbsSyn
    happyReduction_278
    happyReduction_278 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_278 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_1 of { (HappyWrap108 Named (Pattern PName)
    happy_var_1) ->
    	[Named (Pattern PName)] -> HappyAbsSyn
    happyIn109
    		 ([Named (Pattern PName)
    happy_var_1]
    	)}

    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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    94# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_279
    happyReduction_279 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_279 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap109
    happyOut109 HappyAbsSyn
    happy_x_1 of { (HappyWrap109 [Named (Pattern PName)]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap108
    happyOut108 HappyAbsSyn
    happy_x_3 of { (HappyWrap108 Named (Pattern PName)
    happy_var_3) ->
    	[Named (Pattern PName)] -> HappyAbsSyn
    happyIn109
    		 (Named (Pattern PName)
    happy_var_3 Named (Pattern PName)
    -> [Named (Pattern PName)] -> [Named (Pattern PName)]
    forall a. a -> [a] -> [a]
    : [Named (Pattern PName)]
    happy_var_1
    	)}}

    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  Int#
    95# HappyAbsSyn -> HappyAbsSyn
    happyReduction_280
    happyReduction_280 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_280 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_1 of { (HappyWrap117 Type PName
    happy_var_1) ->
    	Schema PName -> HappyAbsSyn
    happyIn110
    		 (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_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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    95# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_281
    happyReduction_281 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_281 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap111
    happyOut111 HappyAbsSyn
    happy_x_1 of { (HappyWrap111 Located [TParam PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_2 of { (HappyWrap117 Type PName
    happy_var_2) ->
    	Schema PName -> HappyAbsSyn
    happyIn110
    		 ((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_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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    95# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_282
    happyReduction_282 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_282 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap112
    happyOut112 HappyAbsSyn
    happy_x_1 of { (HappyWrap112 Located [Prop PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_2 of { (HappyWrap117 Type PName
    happy_var_2) ->
    	Schema PName -> HappyAbsSyn
    happyIn110
    		 ((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_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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    95# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_283
    happyReduction_283 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_283 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap111
    happyOut111 HappyAbsSyn
    happy_x_1 of { (HappyWrap111 Located [TParam PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap112
    happyOut112 HappyAbsSyn
    happy_x_2 of { (HappyWrap112 Located [Prop PName]
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_3 of { (HappyWrap117 Type PName
    happy_var_3) ->
    	Schema PName -> HappyAbsSyn
    happyIn110
    		 ((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_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  Int#
    96# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_284
    happyReduction_284 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_284 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	Located [TParam PName] -> HappyAbsSyn
    happyIn111
    		 (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_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 -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    96# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_285
    happyReduction_285 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_285 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap116
    happyOut116 HappyAbsSyn
    happy_x_2 of { (HappyWrap116 [TParam PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	Located [TParam PName] -> HappyAbsSyn
    happyIn111
    		 (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_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 -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    97# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_286
    happyReduction_286 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_286 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap112
    happyOut112 HappyAbsSyn
    happy_x_1 of { (HappyWrap112 Located [Prop PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap113
    happyOut113 HappyAbsSyn
    happy_x_2 of { (HappyWrap113 Located [Prop PName]
    happy_var_2) ->
    	Located [Prop PName] -> HappyAbsSyn
    happyIn112
    		 ((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 a b. (a -> b) -> Located a -> Located b
    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_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  Int#
    97# HappyAbsSyn -> HappyAbsSyn
    happyReduction_287
    happyReduction_287 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_287 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap113
    happyOut113 HappyAbsSyn
    happy_x_1 of { (HappyWrap113 Located [Prop PName]
    happy_var_1) ->
    	Located [Prop PName] -> HappyAbsSyn
    happyIn112
    		 (Located [Prop PName]
    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    2# Int#
    98# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_288
    happyReduction_288 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_288 (HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_1 of { (HappyWrap117 Type PName
    happy_var_1) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    FatArrR ) Text
    _)) ->
    	( (Located [Prop PName] -> Located [Prop PName])
    -> ParseM (Located [Prop PName]) -> ParseM (Located [Prop PName])
    forall a b. (a -> b) -> ParseM a -> ParseM b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap (\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))}})
    	) (\Located [Prop PName]
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Located [Prop PName] -> HappyAbsSyn
    happyIn113 Located [Prop PName]
    r))

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    99# HappyAbsSyn -> HappyAbsSyn
    happyReduction_289
    happyReduction_289 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_289 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Hash) Text
    _)) ->
    	Located Kind -> HappyAbsSyn
    happyIn114
    		 (Range -> Kind -> Located Kind
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 Kind
    KNum
    	)}

    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  Int#
    99# HappyAbsSyn -> HappyAbsSyn
    happyReduction_290
    happyReduction_290 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_290 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Op TokenOp
    Mul)   Text
    _)) ->
    	Located Kind -> HappyAbsSyn
    happyIn114
    		 (Range -> Kind -> Located Kind
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 Kind
    KType
    	)}

    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  Int#
    99# HappyAbsSyn -> HappyAbsSyn
    happyReduction_291
    happyReduction_291 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_291 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (KW TokenKW
    KW_Prop) Text
    _)) ->
    	Located Kind -> HappyAbsSyn
    happyIn114
    		 (Range -> Kind -> Located Kind
    forall a. Range -> a -> Located a
    Located Range
    happy_var_1 Kind
    KProp
    	)}

    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#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    99# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_292
    happyReduction_292 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_292 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap114
    happyOut114 HappyAbsSyn
    happy_x_1 of { (HappyWrap114 Located Kind
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap114
    happyOut114 HappyAbsSyn
    happy_x_3 of { (HappyWrap114 Located Kind
    happy_var_3) ->
    	Located Kind -> HappyAbsSyn
    happyIn114
    		 ((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_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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    1# Int#
    100# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_293
    happyReduction_293 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_293 (HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (TParam PName)
    -> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap127
    happyOut127 HappyAbsSyn
    happy_x_1 of { (HappyWrap127 LIdent
    happy_var_1) ->
    	( LIdent -> Maybe Kind -> ParseM (TParam PName)
    mkTParam LIdent
    happy_var_1 Maybe Kind
    forall a. Maybe a
    Nothing)})
    	) (\TParam PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (TParam PName -> HappyAbsSyn
    happyIn115 TParam PName
    r))

    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#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    100# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_294
    happyReduction_294 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_294 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) p
    tk
    	 = ParseM (TParam PName)
    -> (TParam PName -> ParseM HappyAbsSyn) -> ParseM HappyAbsSyn
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen ((case HappyAbsSyn -> HappyWrap127
    happyOut127 HappyAbsSyn
    happy_x_1 of { (HappyWrap127 LIdent
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap114
    happyOut114 HappyAbsSyn
    happy_x_3 of { (HappyWrap114 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 a. a -> Maybe a
    Just (Located Kind -> Kind
    forall a. Located a -> a
    thing Located Kind
    happy_var_3)))}})
    	) (\TParam PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (TParam PName -> HappyAbsSyn
    happyIn115 TParam PName
    r))

    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)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    101# HappyAbsSyn -> HappyAbsSyn
    happyReduction_295
    happyReduction_295 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_295 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap115
    happyOut115 HappyAbsSyn
    happy_x_1 of { (HappyWrap115 TParam PName
    happy_var_1) ->
    	[TParam PName] -> HappyAbsSyn
    happyIn116
    		 ([TParam PName
    happy_var_1]
    	)}

    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  Int#
    101# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_296
    happyReduction_296 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_296 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap116
    happyOut116 HappyAbsSyn
    happy_x_1 of { (HappyWrap116 [TParam PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap115
    happyOut115 HappyAbsSyn
    happy_x_3 of { (HappyWrap115 TParam PName
    happy_var_3) ->
    	[TParam PName] -> HappyAbsSyn
    happyIn116
    		 (TParam PName
    happy_var_3 TParam PName -> [TParam PName] -> [TParam PName]
    forall a. a -> [a] -> [a]
    : [TParam PName]
    happy_var_1
    	)}}

    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  Int#
    102# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_297
    happyReduction_297 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_297 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap118
    happyOut118 HappyAbsSyn
    happy_x_1 of { (HappyWrap118 Type PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_3 of { (HappyWrap117 Type PName
    happy_var_3) ->
    	Type PName -> HappyAbsSyn
    happyIn117
    		 ((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_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  Int#
    102# HappyAbsSyn -> HappyAbsSyn
    happyReduction_298
    happyReduction_298 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_298 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap118
    happyOut118 HappyAbsSyn
    happy_x_1 of { (HappyWrap118 Type PName
    happy_var_1) ->
    	Type PName -> HappyAbsSyn
    happyIn117
    		 (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  Int#
    103# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_299
    happyReduction_299 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_299 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap118
    happyOut118 HappyAbsSyn
    happy_x_1 of { (HappyWrap118 Type PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap71
    happyOut71 HappyAbsSyn
    happy_x_2 of { (HappyWrap71 Located PName
    happy_var_2) ->
    	case HappyAbsSyn -> HappyWrap119
    happyOut119 HappyAbsSyn
    happy_x_3 of { (HappyWrap119 Type PName
    happy_var_3) ->
    	Type PName -> HappyAbsSyn
    happyIn118
    		 ((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 -> Located PName -> Fixity -> Type PName -> Type PName
    forall n. Type n -> Located n -> Fixity -> Type n -> Type n
    TInfix Type PName
    happy_var_1 Located PName
    happy_var_2 Fixity
    defaultFixity Type PName
    happy_var_3
    	)}}}

    happyReduce_300 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_300 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_300 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    103# HappyAbsSyn -> HappyAbsSyn
    happyReduction_300
    happyReduction_300 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_300 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap119
    happyOut119 HappyAbsSyn
    happy_x_1 of { (HappyWrap119 Type PName
    happy_var_1) ->
    	Type PName -> HappyAbsSyn
    happyIn118
    		 (Type PName
    happy_var_1
    	)}

    happyReduce_301 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_301 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_301 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    104# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_301
    happyReduction_301 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_301 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap123
    happyOut123 HappyAbsSyn
    happy_x_1 of { (HappyWrap123 Located [Type PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap120
    happyOut120 HappyAbsSyn
    happy_x_2 of { (HappyWrap120 Type PName
    happy_var_2) ->
    	Type PName -> HappyAbsSyn
    happyIn119
    		 ((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 a b. (a -> b -> b) -> b -> [a] -> b
    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_302 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_302 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_302 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    104# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_302
    happyReduction_302 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_302 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap131
    happyOut131 HappyAbsSyn
    happy_x_1 of { (HappyWrap131 Located PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap122
    happyOut122 HappyAbsSyn
    happy_x_2 of { (HappyWrap122 [Type PName]
    happy_var_2) ->
    	Type PName -> HappyAbsSyn
    happyIn119
    		 ((Located PName, Type PName) -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at (Located PName
    happy_var_1,[Type PName] -> Type PName
    forall a. HasCallStack => [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 (Located PName -> PName
    forall a. Located a -> a
    thing Located PName
    happy_var_1) ([Type PName] -> [Type PName]
    forall a. [a] -> [a]
    reverse [Type PName]
    happy_var_2)
    	)}}

    happyReduce_303 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_303 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_303 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    104# HappyAbsSyn -> HappyAbsSyn
    happyReduction_303
    happyReduction_303 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_303 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap120
    happyOut120 HappyAbsSyn
    happy_x_1 of { (HappyWrap120 Type PName
    happy_var_1) ->
    	Type PName -> HappyAbsSyn
    happyIn119
    		 (Type PName
    happy_var_1
    	)}

    happyReduce_304 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_304 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_304 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    105# HappyAbsSyn -> HappyAbsSyn
    happyReduction_304
    happyReduction_304 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_304 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap131
    happyOut131 HappyAbsSyn
    happy_x_1 of { (HappyWrap131 Located PName
    happy_var_1) ->
    	Type PName -> HappyAbsSyn
    happyIn120
    		 (Located PName -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Located PName
    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 (Located PName -> PName
    forall a. Located a -> a
    thing Located PName
    happy_var_1) []
    	)}

    happyReduce_305 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_305 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_305 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    105# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_305
    happyReduction_305 :: p -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_305 p
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap70
    happyOut70 HappyAbsSyn
    happy_x_2 of { (HappyWrap70 Located PName
    happy_var_2) ->
    	Type PName -> HappyAbsSyn
    happyIn120
    		 (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 (Located PName -> PName
    forall a. Located a -> a
    thing Located PName
    happy_var_2) []
    	)}}

    happyReduce_306 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_306 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_306 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    105# HappyAbsSyn -> HappyAbsSyn
    happyReduction_306
    happyReduction_306 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_306 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token (Num   {}) Text
    _))) ->
    	Type PName -> HappyAbsSyn
    happyIn120
    		 (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_307 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_307 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_307 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    105# HappyAbsSyn -> HappyAbsSyn
    happyReduction_307
    happyReduction_307 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_307 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token (ChrLit {}) Text
    _))) ->
    	Type PName -> HappyAbsSyn
    happyIn120
    		 (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 (Located Token -> Char
    getChr Located Token
    happy_var_1)
    	)}

    happyReduce_308 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_308 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_308 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    105# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_308
    happyReduction_308 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_308 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    BracketL) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_2 of { (HappyWrap117 Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    BracketR) Text
    _)) ->
    	Type PName -> HappyAbsSyn
    happyIn120
    		 ((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_309 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_309 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_309 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    105# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_309
    happyReduction_309 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_309 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap121
    happyOut121 HappyAbsSyn
    happy_x_2 of { (HappyWrap121 Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    ParenR  ) Text
    _)) ->
    	Type PName -> HappyAbsSyn
    happyIn120
    		 ((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
    happy_var_2
    	)}}}

    happyReduce_310 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_310 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_310 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    105# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_310
    happyReduction_310 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_310 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    ParenR  ) Text
    _)) ->
    	Type PName -> HappyAbsSyn
    happyIn120
    		 ((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_311 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_311 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_311 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    105# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_311
    happyReduction_311 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_311 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap124
    happyOut124 HappyAbsSyn
    happy_x_2 of { (HappyWrap124 [Type PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    ParenR  ) Text
    _)) ->
    	Type PName -> HappyAbsSyn
    happyIn120
    		 ((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_312 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_312 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_312 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    2# Int#
    105# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_312
    happyReduction_312 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_312 (HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	( Range
    -> (RecordMap Ident (Range, Type PName) -> Type PName)
    -> [Named (Type PName)]
    -> ParseM (Type PName)
    forall b a.
    AddLoc b =>
    Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
    mkRecord (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_2) RecordMap Ident (Range, Type PName) -> Type PName
    forall n. Rec (Type n) -> Type n
    TRecord [])}})
    	) (\Type PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Type PName -> HappyAbsSyn
    happyIn120 Type PName
    r))

    happyReduce_313 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_313 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_313 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    105# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_313
    happyReduction_313 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_313 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap126
    happyOut126 HappyAbsSyn
    happy_x_2 of { (HappyWrap126 [Named (Type PName)]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	( Range
    -> (RecordMap Ident (Range, Type PName) -> Type PName)
    -> [Named (Type PName)]
    -> ParseM (Type PName)
    forall b a.
    AddLoc b =>
    Range -> (RecordMap Ident (Range, a) -> b) -> [Named a] -> ParseM b
    mkRecord (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_3) RecordMap Ident (Range, Type PName) -> Type PName
    forall n. Rec (Type n) -> Type n
    TRecord [Named (Type PName)]
    happy_var_2)}}})
    	) (\Type PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Type PName -> HappyAbsSyn
    happyIn120 Type PName
    r))

    happyReduce_314 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_314 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_314 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    105# HappyAbsSyn -> HappyAbsSyn
    happyReduction_314
    happyReduction_314 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_314 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    Underscore ) Text
    _)) ->
    	Type PName -> HappyAbsSyn
    happyIn120
    		 (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_315 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_315 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_315 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    106# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_315
    happyReduction_315 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_315 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_1 of { (HappyWrap117 Type PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap114
    happyOut114 HappyAbsSyn
    happy_x_3 of { (HappyWrap114 Located Kind
    happy_var_3) ->
    	Type PName -> HappyAbsSyn
    happyIn121
    		 (Type PName -> Maybe Kind -> Type PName
    forall n. Type n -> Maybe Kind -> Type n
    TParens Type PName
    happy_var_1 (Kind -> Maybe Kind
    forall a. a -> Maybe a
    Just (Located Kind -> Kind
    forall a. Located a -> a
    thing Located Kind
    happy_var_3))
    	)}}

    happyReduce_316 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_316 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_316 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    106# HappyAbsSyn -> HappyAbsSyn
    happyReduction_316
    happyReduction_316 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_316 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_1 of { (HappyWrap117 Type PName
    happy_var_1) ->
    	Type PName -> HappyAbsSyn
    happyIn121
    		 (Type PName -> Maybe Kind -> Type PName
    forall n. Type n -> Maybe Kind -> Type n
    TParens Type PName
    happy_var_1 Maybe Kind
    forall a. Maybe a
    Nothing
    	)}

    happyReduce_317 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_317 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_317 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    107# HappyAbsSyn -> HappyAbsSyn
    happyReduction_317
    happyReduction_317 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_317 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap120
    happyOut120 HappyAbsSyn
    happy_x_1 of { (HappyWrap120 Type PName
    happy_var_1) ->
    	[Type PName] -> HappyAbsSyn
    happyIn122
    		 ([ Type PName
    happy_var_1 ]
    	)}

    happyReduce_318 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_318 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_318 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    107# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_318
    happyReduction_318 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_318 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap122
    happyOut122 HappyAbsSyn
    happy_x_1 of { (HappyWrap122 [Type PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap120
    happyOut120 HappyAbsSyn
    happy_x_2 of { (HappyWrap120 Type PName
    happy_var_2) ->
    	[Type PName] -> HappyAbsSyn
    happyIn122
    		 (Type PName
    happy_var_2 Type PName -> [Type PName] -> [Type PName]
    forall a. a -> [a] -> [a]
    : [Type PName]
    happy_var_1
    	)}}

    happyReduce_319 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_319 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_319 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    108# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_319
    happyReduction_319 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_319 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    BracketL) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_2 of { (HappyWrap117 Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    BracketR) Text
    _)) ->
    	Located [Type PName] -> HappyAbsSyn
    happyIn123
    		 (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_320 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_320 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_320 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce Int#
    4# Int#
    108# HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_320
    happyReduction_320 :: HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    happyReduction_320 (HappyAbsSyn
    happy_x_4 `HappyStk`
    	HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest)
    	 = case HappyAbsSyn -> HappyWrap123
    happyOut123 HappyAbsSyn
    happy_x_1 of { (HappyWrap123 Located [Type PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_3 of { (HappyWrap117 Type PName
    happy_var_3) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_4 of { (Located Range
    happy_var_4 (Token (Sym TokenSym
    BracketR) Text
    _)) ->
    	Located [Type PName] -> HappyAbsSyn
    happyIn123
    		 ((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 a b. (a -> b) -> Located a -> Located b
    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 a. a -> [a] -> [a]
    :) Located [Type PName]
    happy_var_1)
    	) HappyAbsSyn -> HappyStk HappyAbsSyn -> HappyStk HappyAbsSyn
    forall a. a -> HappyStk a -> HappyStk a
    `HappyStk` HappyStk HappyAbsSyn
    happyRest}}}

    happyReduce_321 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_321 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_321 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    109# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_321
    happyReduction_321 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_321 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_1 of { (HappyWrap117 Type PName
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_3 of { (HappyWrap117 Type PName
    happy_var_3) ->
    	[Type PName] -> HappyAbsSyn
    happyIn124
    		 ([ Type PName
    happy_var_3, Type PName
    happy_var_1]
    	)}}

    happyReduce_322 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_322 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_322 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    109# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_322
    happyReduction_322 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_322 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap124
    happyOut124 HappyAbsSyn
    happy_x_1 of { (HappyWrap124 [Type PName]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_3 of { (HappyWrap117 Type PName
    happy_var_3) ->
    	[Type PName] -> HappyAbsSyn
    happyIn124
    		 (Type PName
    happy_var_3 Type PName -> [Type PName] -> [Type PName]
    forall a. a -> [a] -> [a]
    : [Type PName]
    happy_var_1
    	)}}

    happyReduce_323 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_323 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_323 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    110# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_323
    happyReduction_323 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_323 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap127
    happyOut127 HappyAbsSyn
    happy_x_1 of { (HappyWrap127 LIdent
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_3 of { (HappyWrap117 Type PName
    happy_var_3) ->
    	Named (Type PName) -> HappyAbsSyn
    happyIn125
    		 (Named { name :: LIdent
    name = LIdent
    happy_var_1, value :: Type PName
    value = Type PName
    happy_var_3 }
    	)}}

    happyReduce_324 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_324 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_324 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    111# HappyAbsSyn -> HappyAbsSyn
    happyReduction_324
    happyReduction_324 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_324 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap125
    happyOut125 HappyAbsSyn
    happy_x_1 of { (HappyWrap125 Named (Type PName)
    happy_var_1) ->
    	[Named (Type PName)] -> HappyAbsSyn
    happyIn126
    		 ([Named (Type PName)
    happy_var_1]
    	)}

    happyReduce_325 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_325 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_325 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    111# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_325
    happyReduction_325 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_325 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap126
    happyOut126 HappyAbsSyn
    happy_x_1 of { (HappyWrap126 [Named (Type PName)]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap125
    happyOut125 HappyAbsSyn
    happy_x_3 of { (HappyWrap125 Named (Type PName)
    happy_var_3) ->
    	[Named (Type PName)] -> HappyAbsSyn
    happyIn126
    		 (Named (Type PName)
    happy_var_3 Named (Type PName) -> [Named (Type PName)] -> [Named (Type PName)]
    forall a. a -> [a] -> [a]
    : [Named (Type PName)]
    happy_var_1
    	)}}

    happyReduce_326 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_326 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_326 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    112# HappyAbsSyn -> HappyAbsSyn
    happyReduction_326
    happyReduction_326 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_326 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token (Ident [] Text
    _) Text
    _))) ->
    	LIdent -> HappyAbsSyn
    happyIn127
    		 (let Token (Ident [Text]
    _ Text
    str) Text
    _ = 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_327 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_327 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_327 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    112# HappyAbsSyn -> HappyAbsSyn
    happyReduction_327
    happyReduction_327 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_327 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (KW TokenKW
    KW_x)       Text
    _)) ->
    	LIdent -> HappyAbsSyn
    happyIn127
    		 (Located { srcRange :: Range
    srcRange = Range
    happy_var_1, thing :: Ident
    thing = Text -> Ident
    mkIdent Text
    "x" }
    	)}

    happyReduce_328 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_328 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_328 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    112# HappyAbsSyn -> HappyAbsSyn
    happyReduction_328
    happyReduction_328 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_328 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (KW TokenKW
    KW_private)   Text
    _)) ->
    	LIdent -> HappyAbsSyn
    happyIn127
    		 (Located { srcRange :: Range
    srcRange = Range
    happy_var_1, thing :: Ident
    thing = Text -> Ident
    mkIdent Text
    "private" }
    	)}

    happyReduce_329 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_329 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_329 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    112# HappyAbsSyn -> HappyAbsSyn
    happyReduction_329
    happyReduction_329 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_329 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (KW TokenKW
    KW_as)        Text
    _)) ->
    	LIdent -> HappyAbsSyn
    happyIn127
    		 (Located { srcRange :: Range
    srcRange = Range
    happy_var_1, thing :: Ident
    thing = Text -> Ident
    mkIdent Text
    "as" }
    	)}

    happyReduce_330 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_330 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_330 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    112# HappyAbsSyn -> HappyAbsSyn
    happyReduction_330
    happyReduction_330 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_330 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (KW TokenKW
    KW_hiding)    Text
    _)) ->
    	LIdent -> HappyAbsSyn
    happyIn127
    		 (Located { srcRange :: Range
    srcRange = Range
    happy_var_1, thing :: Ident
    thing = Text -> Ident
    mkIdent Text
    "hiding" }
    	)}

    happyReduce_331 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_331 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_331 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    113# HappyAbsSyn -> HappyAbsSyn
    happyReduction_331
    happyReduction_331 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_331 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap127
    happyOut127 HappyAbsSyn
    happy_x_1 of { (HappyWrap127 LIdent
    happy_var_1) ->
    	Located PName -> HappyAbsSyn
    happyIn128
    		 ((Ident -> PName) -> LIdent -> Located PName
    forall a b. (a -> b) -> Located a -> Located b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap Ident -> PName
    mkUnqual LIdent
    happy_var_1
    	)}

    happyReduce_332 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_332 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_332 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    114# HappyAbsSyn -> HappyAbsSyn
    happyReduction_332
    happyReduction_332 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_332 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap127
    happyOut127 HappyAbsSyn
    happy_x_1 of { (HappyWrap127 LIdent
    happy_var_1) ->
    	Located ModName -> HappyAbsSyn
    happyIn129
    		 ((Ident -> ModName) -> LIdent -> Located ModName
    forall a b. (a -> b) -> Located a -> Located b
    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 a. a -> [a] -> [a]
    :[]) (Text -> [Text]) -> (Ident -> Text) -> Ident -> [Text]
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . Ident -> Text
    identText) LIdent
    happy_var_1
    	)}

    happyReduce_333 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_333 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_333 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    114# HappyAbsSyn -> HappyAbsSyn
    happyReduction_333
    happyReduction_333 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_333 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token  Ident{}     Text
    _))) ->
    	Located ModName -> HappyAbsSyn
    happyIn129
    		 (let Token (Ident [Text]
    ns Text
    i) Text
    _ = 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 a b. a -> Located b -> Located a
    forall (f :: * -> *) a b. Functor f => a -> f b -> f a
    A.<$ Located Token
    happy_var_1
    	)}

    happyReduce_334 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_334 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_334 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    115# HappyAbsSyn -> HappyAbsSyn
    happyReduction_334
    happyReduction_334 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_334 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap129
    happyOut129 HappyAbsSyn
    happy_x_1 of { (HappyWrap129 Located ModName
    happy_var_1) ->
    	Located ModName -> HappyAbsSyn
    happyIn130
    		 (Located ModName
    happy_var_1
    	)}

    happyReduce_335 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_335 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_335 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    115# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_335
    happyReduction_335 :: HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_335 HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap129
    happyOut129 HappyAbsSyn
    happy_x_2 of { (HappyWrap129 Located ModName
    happy_var_2) ->
    	Located ModName -> HappyAbsSyn
    happyIn130
    		 (Located ModName
    happy_var_2
    	)}

    happyReduce_336 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_336 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_336 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    116# HappyAbsSyn -> HappyAbsSyn
    happyReduction_336
    happyReduction_336 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_336 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap128
    happyOut128 HappyAbsSyn
    happy_x_1 of { (HappyWrap128 Located PName
    happy_var_1) ->
    	Located PName -> HappyAbsSyn
    happyIn131
    		 (Located PName
    happy_var_1
    	)}

    happyReduce_337 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_337 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_337 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    116# HappyAbsSyn -> HappyAbsSyn
    happyReduction_337
    happyReduction_337 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_337 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token  Ident{}     Text
    _))) ->
    	Located PName -> HappyAbsSyn
    happyIn131
    		 (let Token (Ident [Text]
    ns Text
    i) Text
    _ = 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 -> Located PName
    forall a b. a -> Located b -> Located a
    forall (f :: * -> *) a b. Functor f => a -> f b -> f a
    A.<$ Located Token
    happy_var_1
    	)}

    happyReduce_338 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_338 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_338 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    117# HappyAbsSyn -> HappyAbsSyn
    happyReduction_338
    happyReduction_338 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_338 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap131
    happyOut131 HappyAbsSyn
    happy_x_1 of { (HappyWrap131 Located PName
    happy_var_1) ->
    	Located PName -> HappyAbsSyn
    happyIn132
    		 (Located PName
    happy_var_1
    	)}

    happyReduce_339 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_339 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_339 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    117# HappyAbsSyn -> HappyAbsSyn
    happyReduction_339
    happyReduction_339 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_339 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap70
    happyOut70 HappyAbsSyn
    happy_x_1 of { (HappyWrap70 Located PName
    happy_var_1) ->
    	Located PName -> HappyAbsSyn
    happyIn132
    		 (Located PName
    happy_var_1
    	)}

    happyReduce_340 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_340 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_340 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    117# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p} {p}. p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_340
    happyReduction_340 :: p -> HappyAbsSyn -> p -> HappyAbsSyn
    happyReduction_340 p
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	p
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap70
    happyOut70 HappyAbsSyn
    happy_x_2 of { (HappyWrap70 Located PName
    happy_var_2) ->
    	Located PName -> HappyAbsSyn
    happyIn132
    		 (Located PName
    happy_var_2
    	)}

    happyReduce_341 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_341 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_341 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    118# HappyAbsSyn -> HappyAbsSyn
    happyReduction_341
    happyReduction_341 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_341 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap131
    happyOut131 HappyAbsSyn
    happy_x_1 of { (HappyWrap131 Located PName
    happy_var_1) ->
    	Type PName -> HappyAbsSyn
    happyIn133
    		 (Located PName -> Type PName -> Type PName
    forall l t. (HasLoc l, AddLoc t) => l -> t -> t
    at Located PName
    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 (Located PName -> PName
    forall a. Located a -> a
    thing Located PName
    happy_var_1) []
    	)}

    happyReduce_342 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_342 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_342 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    118# HappyAbsSyn -> HappyAbsSyn
    happyReduction_342
    happyReduction_342 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_342 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (happy_var_1 :: Located Token
    happy_var_1@(Located Range
    _ (Token (Num   {}) Text
    _))) ->
    	Type PName -> HappyAbsSyn
    happyIn133
    		 (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_343 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_343 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_343 = Int#
    -> Int#
    -> (HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyMonadReduce Int#
    3# Int#
    118# HappyStk HappyAbsSyn -> Located Token -> ParseM HappyAbsSyn
    forall {p}. HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_343
    happyReduction_343 :: HappyStk HappyAbsSyn -> p -> ParseM HappyAbsSyn
    happyReduction_343 (HappyAbsSyn
    happy_x_3 `HappyStk`
    	HappyAbsSyn
    happy_x_2 `HappyStk`
    	HappyAbsSyn
    happy_x_1 `HappyStk`
    	HappyStk HappyAbsSyn
    happyRest) 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 Range
    happy_var_1 (Token (Sym TokenSym
    ParenL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_2 of { (HappyWrap117 Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    ParenR  ) Text
    _)) ->
    	( Range -> Type PName -> ParseM (Type PName)
    validDemotedType (Range -> Range -> Range
    rComb Range
    happy_var_1 Range
    happy_var_3) Type PName
    happy_var_2)}}})
    	) (\Type PName
    r -> HappyAbsSyn -> ParseM HappyAbsSyn
    forall a. a -> ParseM a
    happyReturn (Type PName -> HappyAbsSyn
    happyIn133 Type PName
    r))

    happyReduce_344 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_344 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_344 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_2  Int#
    118# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_344
    happyReduction_344 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_344 HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_2 of { (Located Range
    happy_var_2 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	Type PName -> HappyAbsSyn
    happyIn133
    		 ((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
    TTyApp [])
    	)}}

    happyReduce_345 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_345 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_345 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    118# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_345
    happyReduction_345 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_345 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap135
    happyOut135 HappyAbsSyn
    happy_x_2 of { (HappyWrap135 [Named (Type PName)]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	Type PName -> HappyAbsSyn
    happyIn133
    		 ((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
    TTyApp ([Named (Type PName)] -> [Named (Type PName)]
    forall a. [a] -> [a]
    reverse [Named (Type PName)]
    happy_var_2))
    	)}}}

    happyReduce_346 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_346 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_346 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    118# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_346
    happyReduction_346 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_346 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_2 of { (HappyWrap117 Type PName
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	Type PName -> HappyAbsSyn
    happyIn133
    		 (Maybe Range -> [Type PName] -> Type PName
    anonTyApp ((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_347 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_347 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_347 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    118# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_347
    happyReduction_347 :: HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_347 HappyAbsSyn
    happy_x_3
    	HappyAbsSyn
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_1 of { (Located Range
    happy_var_1 (Token (Sym TokenSym
    CurlyL  ) Text
    _)) ->
    	case HappyAbsSyn -> HappyWrap124
    happyOut124 HappyAbsSyn
    happy_x_2 of { (HappyWrap124 [Type PName]
    happy_var_2) ->
    	case HappyAbsSyn -> Located Token
    happyOutTok HappyAbsSyn
    happy_x_3 of { (Located Range
    happy_var_3 (Token (Sym TokenSym
    CurlyR  ) Text
    _)) ->
    	Type PName -> HappyAbsSyn
    happyIn133
    		 (Maybe Range -> [Type PName] -> Type PName
    anonTyApp ((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_348 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_348 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_348 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    119# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_348
    happyReduction_348 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_348 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap127
    happyOut127 HappyAbsSyn
    happy_x_1 of { (HappyWrap127 LIdent
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap117
    happyOut117 HappyAbsSyn
    happy_x_3 of { (HappyWrap117 Type PName
    happy_var_3) ->
    	Named (Type PName) -> HappyAbsSyn
    happyIn134
    		 (Named { name :: LIdent
    name = LIdent
    happy_var_1, value :: Type PName
    value = Type PName
    happy_var_3 }
    	)}}

    happyReduce_349 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_349 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_349 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_1  Int#
    120# HappyAbsSyn -> HappyAbsSyn
    happyReduction_349
    happyReduction_349 :: HappyAbsSyn -> HappyAbsSyn
    happyReduction_349 HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap134
    happyOut134 HappyAbsSyn
    happy_x_1 of { (HappyWrap134 Named (Type PName)
    happy_var_1) ->
    	[Named (Type PName)] -> HappyAbsSyn
    happyIn135
    		 ([Named (Type PName)
    happy_var_1]
    	)}

    happyReduce_350 :: () => Happy_GHC_Exts.Int# -> Located Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> ParseM (HappyAbsSyn )
    happyReduce_350 :: Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happyReduce_350 = Int#
    -> (HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn)
    -> Int#
    -> Located Token
    -> Int#
    -> Happy_IntList
    -> HappyStk HappyAbsSyn
    -> ParseM HappyAbsSyn
    happySpecReduce_3  Int#
    120# HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn -> HappyAbsSyn
    forall {p}. HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_350
    happyReduction_350 :: HappyAbsSyn -> p -> HappyAbsSyn -> HappyAbsSyn
    happyReduction_350 HappyAbsSyn
    happy_x_3
    	p
    happy_x_2
    	HappyAbsSyn
    happy_x_1
    	 =  case HappyAbsSyn -> HappyWrap135
    happyOut135 HappyAbsSyn
    happy_x_1 of { (HappyWrap135 [Named (Type PName)]
    happy_var_1) ->
    	case HappyAbsSyn -> HappyWrap134
    happyOut134 HappyAbsSyn
    happy_x_3 of { (HappyWrap134 Named (Type PName)
    happy_var_3) ->
    	[Named (Type PName)] -> HappyAbsSyn
    happyIn135
    		 (Named (Type PName)
    happy_var_3 Named (Type PName) -> [Named (Type PName)] -> [Named (Type PName)]
    forall a. a -> [a] -> [a]
    : [Named (Type PName)]
    happy_var_1
    	)}}

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

    happyError_ :: [String] -> Int# -> Located Token -> ParseM a
    happyError_ [String]
    explist Int#
    73# Located Token
    tk = (Located Token, [String]) -> ParseM a
    forall a. (Located Token, [String]) -> ParseM a
    happyError' (Located Token
    tk, [String]
    explist)
    happyError_ [String]
    explist Int#
    _ 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 :: forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen = ParseM a -> (a -> ParseM b) -> ParseM b
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
    (Prelude.>>=)
    happyReturn :: () => a -> ParseM a
    happyReturn :: forall a. a -> ParseM a
    happyReturn = (a -> ParseM a
    forall a. a -> ParseM a
    forall (m :: * -> *) a. Monad m => a -> m a
    Prelude.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 Prelude.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 :: forall a b. 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 :: forall a. a -> ParseM a
    happyReturn1 = a -> ParseM a
    forall a. a -> ParseM a
    happyReturn
    happyError' :: () => ((Located Token), [Prelude.String]) -> ParseM a
    happyError' :: forall a. (Located Token, [String]) -> ParseM a
    happyError' (Located Token, [String])
    tk = (\(Located Token
    tokens, [String]
    explist) -> ParseM a
    forall a. ParseM a
    happyError) (Located Token, [String])
    tk
    top_module :: ParseM [Module PName]
    top_module = 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 Int#
    0#) (\HappyAbsSyn
    x -> [Module PName] -> ParseM [Module PName]
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap15 [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 Int#
    1#) (\HappyAbsSyn
    x -> Program PName -> ParseM (Program PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap32 Program PName
    x') = HappyAbsSyn -> HappyWrap32
    happyOut32 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 Int#
    2#) (\HappyAbsSyn
    x -> Program PName -> ParseM (Program PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap33 Program PName
    x') = HappyAbsSyn -> HappyWrap33
    happyOut33 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 Int#
    3#) (\HappyAbsSyn
    x -> Expr PName -> ParseM (Expr PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap75 Expr PName
    x') = HappyAbsSyn -> HappyWrap75
    happyOut75 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 Int#
    4#) (\HappyAbsSyn
    x -> Decl PName -> ParseM (Decl PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap49 Decl PName
    x') = HappyAbsSyn -> HappyWrap49
    happyOut49 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 Int#
    5#) (\HappyAbsSyn
    x -> [Decl PName] -> ParseM [Decl PName]
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap66 [Decl PName]
    x') = HappyAbsSyn -> HappyWrap66
    happyOut66 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 Int#
    6#) (\HappyAbsSyn
    x -> [Decl PName] -> ParseM [Decl PName]
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap68 [Decl PName]
    x') = HappyAbsSyn -> HappyWrap68
    happyOut68 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 Int#
    7#) (\HappyAbsSyn
    x -> Decl PName -> ParseM (Decl PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap51 Decl PName
    x') = HappyAbsSyn -> HappyWrap51
    happyOut51 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 Int#
    8#) (\HappyAbsSyn
    x -> ReplInput PName -> ParseM (ReplInput PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap69 ReplInput PName
    x') = HappyAbsSyn -> HappyWrap69
    happyOut69 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 Int#
    9#) (\HappyAbsSyn
    x -> Schema PName -> ParseM (Schema PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap110 Schema PName
    x') = HappyAbsSyn -> HappyWrap110
    happyOut110 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 Int#
    10#) (\HappyAbsSyn
    x -> Located ModName -> ParseM (Located ModName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap130 Located ModName
    x') = HappyAbsSyn -> HappyWrap130
    happyOut130 HappyAbsSyn
    x} in Located ModName
    x'))

    helpName :: ParseM (Located PName)
    helpName = ParseM (Located PName)
    happySomeParser where
     happySomeParser :: ParseM (Located PName)
    happySomeParser = ParseM HappyAbsSyn
    -> (HappyAbsSyn -> ParseM (Located PName))
    -> ParseM (Located PName)
    forall a b. ParseM a -> (a -> ParseM b) -> ParseM b
    happyThen (Int# -> ParseM HappyAbsSyn
    happyParse Int#
    11#) (\HappyAbsSyn
    x -> Located PName -> ParseM (Located PName)
    forall a. a -> ParseM a
    happyReturn (let {(HappyWrap132 Located PName
    x') = HappyAbsSyn -> HappyWrap132
    happyOut132 HappyAbsSyn
    x} in Located PName
    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 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 Located ModName
    a -> ModName -> Maybe ModName
    forall a. a -> Maybe a
    Just (Located ModName -> ModName
    forall a. Located a -> a
    thing Located ModName
    a)
        Left ParseError
    _  -> Maybe ModName
    forall a. Maybe a
    Nothing

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

    addImplicitIncludes :: Config -> Program PName -> Program PName
    addImplicitIncludes :: Config -> Program PName -> Program PName
    addImplicitIncludes Config
    cfg (Program [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 String
    p = Located String -> TopDecl name
    forall name. Located String -> TopDecl name
    Include Located { srcRange :: Range
    srcRange = Range
    rng, thing :: String
    thing = String
    p }
            rng :: Range
    rng    = 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 Config
    cfg Text
    s = case Text -> Either ParseError (Program PName)
    res Text
    s of
                              Left ParseError
    err -> ParseError -> Either ParseError (Program PName)
    forall a b. a -> Either a b
    Left ParseError
    err
                              Right 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
    Layout   -> ParseM (Program PName)
    programLayout
                          Layout
    NoLayout -> ParseM (Program PName)
    program

    parseModule :: Config -> Text -> Either ParseError [Module PName]
    parseModule :: Config -> Text -> Either ParseError [Module PName]
    parseModule 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]
    top_module

    parseProgram :: Layout -> Text -> Either ParseError (Program PName)
    parseProgram :: Layout -> Text -> Either ParseError (Program PName)
    parseProgram 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 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 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 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 (Bool
    ms, ParseM [Decl PName]
    decls') = case Config -> Layout
    cfgLayout Config
    cfg of
                             Layout
    Layout   -> (Bool
    True, ParseM [Decl PName]
    declsLayout)
                             Layout
    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 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 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 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)) :: Prelude.Bool)
    #define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Prelude.Bool)
    #define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Prelude.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)) :: Prelude.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 Prelude.False
             action
              | check     = indexShortOffAddr happyTable off_i
              | Prelude.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 `Prelude.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 = Prelude.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 `Prelude.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.