haskell-src-exts 0.3.3 → 0.3.4
raw patch · 8 files changed
+7338/−7380 lines, 8 files
Files
- Language/Haskell/Exts/Lexer.hs +805/−806
- Language/Haskell/Exts/ParseUtils.hs +359/−324
- Language/Haskell/Exts/Parser.hs +0/−5907
- Language/Haskell/Exts/Parser.ly +31/−34
- Language/Haskell/Exts/Pretty.hs +33/−27
- Language/Haskell/Exts/Syntax.hs +290/−281
- dist/build/Language/Haskell/Exts/Parser.hs +5819/−0
- haskell-src-exts.cabal +1/−1
Language/Haskell/Exts/Lexer.hs view
@@ -4,809 +4,808 @@ -- Module : Language.Haskell.Exts.Lexer -- Original : Language.Haskell.Lexer -- Copyright : (c) The GHC Team, 1997-2000--- (c) Niklas Broberg, 2004--- License : BSD-style (see the file LICENSE.txt)--- --- Maintainer : Niklas Broberg, d00nibro@dtek.chalmers.se--- Stability : experimental--- Portability : portable------ Lexer for Haskell, with some extensions.------------------------------------------------------------------------------------- ToDo: Introduce different tokens for decimal, octal and hexadecimal (?)--- ToDo: FloatTok should have three parts (integer part, fraction, exponent) (?)--- ToDo: Use a lexical analyser generator (lx?)--module Language.Haskell.Exts.Lexer (Token(..), lexer) where--import Language.Haskell.Exts.ParseMonad--import Data.Char-import Data.Ratio--data Token- = VarId String- | QVarId (String,String)- | IDupVarId (String) -- duplicable implicit parameter- | ILinVarId (String) -- linear implicit parameter- | ConId String- | QConId (String,String)- | DVarId [String] -- to enable varid's with '-' in them- | VarSym String- | ConSym String- | QVarSym (String,String)- | QConSym (String,String)- | IntTok Integer- | FloatTok Rational- | Character Char- | StringTok String---- Symbols-- | LeftParen- | RightParen- | LeftHashParen- | RightHashParen- | SemiColon- | LeftCurly- | RightCurly- | VRightCurly -- a virtual close brace- | LeftSquare- | RightSquare- | Comma- | Underscore- | BackQuote---- Reserved operators-- | Dot -- reserved for use with 'forall x . x'- | DotDot- | Colon- | DoubleColon- | Equals- | Backslash- | Bar- | LeftArrow- | RightArrow- | At- | Tilde- | DoubleArrow- | Minus- | Exclamation- | Star- --- Template Haskell- | THExpQuote -- [| or [e|- | THPatQuote -- [p|- | THDecQuote -- [d|- | THTypQuote -- [t| - | THCloseQuote -- |]- | THIdEscape (String) -- $x- | THParenEscape -- $( - | THReifyType- | THReifyDecl- | THReifyFixity---- HaRP- | RPOpen -- [/- | RPClose -- /]- | RPSeqOpen -- (/- | RPSeqClose -- /)- | RPStar -- *- | RPStarG -- *!- | RPOpt -- ?- | RPOptG -- ?!- | RPPlus -- +- | RPPlusG -- +!- | RPEither -- |- | RPCAt -- @:---- Hsx- | XCodeTagOpen -- <%- | XCodeTagClose -- %>- | XStdTagOpen -- <- | XStdTagClose -- >- | XCloseTagOpen -- </- | XEmptyTagClose -- />- | XPcdata String---- Reserved Ids-- | KW_As- | KW_Case- | KW_Class- | KW_Data- | KW_Default- | KW_Deriving- | KW_DLet -- implictit parameter binding- | KW_Do- | KW_MDo- | KW_Else- | KW_Family -- indexed type families- | KW_Forall -- universal/existential types- | KW_Hiding- | KW_If- | KW_Import- | KW_In- | KW_Infix- | KW_InfixL- | KW_InfixR- | KW_Instance- | KW_Let- | KW_Module- | KW_NewType- | KW_Of- | KW_Then- | KW_Type- | KW_Where- | KW_With -- implicit parameter binding- | KW_Qualified-- -- FFI- | KW_Foreign- | KW_Export- | KW_Safe- | KW_Unsafe- | KW_Threadsafe- | KW_StdCall- | KW_CCall-- | EOF- deriving (Eq,Show)--reserved_ops :: [(String,Token)]-reserved_ops = [- ( ".", Dot ),- ( "..", DotDot ),- ( ":", Colon ),- ( "::", DoubleColon ),- ( "=", Equals ),- ( "\\", Backslash ),- ( "|", Bar ),- ( "<-", LeftArrow ),- ( "->", RightArrow ),- ( "@", At ),- ( "~", Tilde ),- ( "=>", DoubleArrow ),- ( "*", Star )- ]--special_varops :: [(String,Token)]-special_varops = [- ( "-", Minus ), --ToDo: shouldn't be here- ( "!", Exclamation ) --ditto- ]--reserved_ids :: [(String,Token)]-reserved_ids = [- ( "_", Underscore ),- ( "case", KW_Case ),- ( "class", KW_Class ),- ( "data", KW_Data ),- ( "default", KW_Default ),- ( "deriving", KW_Deriving ),- ( "dlet", KW_DLet ), -- implicit parameters (hugs)- ( "do", KW_Do ),- ( "else", KW_Else ),- ( "family", KW_Family ), -- indexed type families- ( "forall", KW_Forall ), -- universal/existential quantification- ( "if", KW_If ),- ( "import", KW_Import ),- ( "in", KW_In ),- ( "infix", KW_Infix ),- ( "infixl", KW_InfixL ),- ( "infixr", KW_InfixR ),- ( "instance", KW_Instance ),- ( "let", KW_Let ),- ( "mdo", KW_MDo ),- ( "module", KW_Module ),- ( "newtype", KW_NewType ),- ( "of", KW_Of ),- ( "then", KW_Then ),- ( "type", KW_Type ),- ( "where", KW_Where ),- ( "with", KW_With ), -- implicit parameters---- Template Haskell- ( "reifyDecl", THReifyDecl ),- ( "reifyType", THReifyType ),- ( "reifyFixity", THReifyFixity ),---- FFI- ( "foreign", KW_Foreign )- ]---special_varids :: [(String,Token)]-special_varids = [- ( "as", KW_As ),- ( "qualified", KW_Qualified ),- ( "hiding", KW_Hiding ),---- FFI- ( "export", KW_Export),- ( "safe", KW_Safe),- ( "unsafe", KW_Unsafe),- ( "threadsafe", KW_Threadsafe),- ( "stdcall", KW_StdCall),- ( "ccall", KW_CCall)- ]--isIdent, isHSymbol :: Char -> Bool-isIdent c = isAlpha c || isDigit c || c == '\'' || c == '_'-isHSymbol c = elem c ":!#$%&*+./<=>?@\\^|-~"--matchChar :: Char -> String -> Lex a ()-matchChar c msg = do- s <- getInput- if null s || head s /= c then fail msg else discard 1---- The top-level lexer.--- We need to know whether we are at the beginning of the line to decide--- whether to insert layout tokens.--lexer :: (Token -> P a) -> P a-lexer = runL $ do- bol <- checkBOL- (bol, ws) <- lexWhiteSpace bol- -- take care of whitespace in PCDATA- ec <- getExtContext- case ec of- -- if there was no linebreak, and we are lexing PCDATA,- -- then we want to care about the whitespace- Just ChildCtxt | not bol && ws -> return $ XPcdata " "- _ -> do startToken- if bol then lexBOL else lexToken --lexWhiteSpace :: Bool -> Lex a (Bool, Bool)-lexWhiteSpace bol = do- s <- getInput- case s of- '{':'-':_ -> do- discard 2- bol <- lexNestedComment bol- (bol, _) <- lexWhiteSpace bol- return (bol, True)- '-':'-':s | all (== '-') (takeWhile isHSymbol s) -> do- lexWhile (== '-')- lexWhile (/= '\n')- lexNewline- lexWhiteSpace True- return (True, True)- '\n':_ -> do- lexNewline- lexWhiteSpace True- return (True, True)- '\t':_ -> do- lexTab- (bol, _) <- lexWhiteSpace bol- return (bol, True) - c:_ | isSpace c -> do- discard 1- (bol, _) <- lexWhiteSpace bol- return (bol, True)- _ -> return (bol, False)--lexNestedComment :: Bool -> Lex a Bool-lexNestedComment bol = do- s <- getInput- case s of- '-':'}':_ -> discard 2 >> return bol- '{':'-':_ -> do- discard 2- bol <- lexNestedComment bol -- rest of the subcomment- lexNestedComment bol -- rest of this comment- '\t':_ -> lexTab >> lexNestedComment bol- '\n':_ -> lexNewline >> lexNestedComment True- _:_ -> discard 1 >> lexNestedComment bol- [] -> fail "Unterminated nested comment"---- When we are lexing the first token of a line, check whether we need to--- insert virtual semicolons or close braces due to layout.--lexBOL :: Lex a Token-lexBOL = do- pos <- getOffside- case pos of- LT -> do- -- trace "layout: inserting '}'\n" $- -- Set col to 0, indicating that we're still at the- -- beginning of the line, in case we need a semi-colon too.- -- Also pop the context here, so that we don't insert- -- another close brace before the parser can pop it.- setBOL- popContextL "lexBOL"- return VRightCurly- EQ ->- -- trace "layout: inserting ';'\n" $- return SemiColon- GT ->- lexToken--lexToken :: Lex a Token-lexToken = do- ec <- getExtContext- case ec of- Just HarpCtxt -> lexHarpToken- Just TagCtxt -> lexTagCtxt- Just CloseTagCtxt -> lexCloseTagCtxt- Just ChildCtxt -> lexChildCtxt- Just CodeTagCtxt -> lexCodeTagCtxt- _ -> lexStdToken---lexChildCtxt :: Lex a Token-lexChildCtxt = do- s <- getInput- case s of- '<':'%':_ -> do discard 2- pushExtContextL CodeTagCtxt- return XCodeTagOpen- '<':'/':_ -> do discard 2- popExtContextL "lexChildCtxt"- pushExtContextL CloseTagCtxt- return XCloseTagOpen- '<':_ -> do discard 1- pushExtContextL TagCtxt- return XStdTagOpen- '[':'/':_ -> do discard 2- pushExtContextL HarpCtxt- return RPOpen- _ -> lexPCDATA---lexPCDATA :: Lex a Token-lexPCDATA = do- s <- getInput- case s of- [] -> return EOF- _ -> case s of- '\n':_ -> do- x <- lexNewline >> lexPCDATA- case x of- XPcdata p -> return $ XPcdata $ '\n':p- EOF -> return EOF- '<':_ -> return $ XPcdata ""- '[':'/':_ -> return $ XPcdata ""- '[':s' -> do discard 1- pcd <- lexPCDATA- case pcd of- XPcdata pcd' -> return $ XPcdata $ '[':pcd'- EOF -> return EOF- _ -> do let pcd = takeWhile (\c -> not $ elem c "<[\n") s- l = length pcd- discard l- x <- lexPCDATA- case x of- XPcdata pcd' -> return $ XPcdata $ pcd ++ pcd'- EOF -> return EOF---lexCodeTagCtxt :: Lex a Token-lexCodeTagCtxt = do- s <- getInput- case s of- '%':'>':_ -> do discard 2- popExtContextL "lexCodeTagContext"- return XCodeTagClose- _ -> lexStdToken--lexCloseTagCtxt :: Lex a Token-lexCloseTagCtxt = do- s <- getInput- case s of- '>':_ -> do discard 1- popExtContextL "lexCloseTagCtxt"- return XStdTagClose- _ -> lexStdToken--lexTagCtxt :: Lex a Token-lexTagCtxt = do- s <- getInput- case s of- '/':'>':_ -> do discard 2- popExtContextL "lexTagCtxt: Empty tag"- return XEmptyTagClose- '>':_ -> do discard 1- popExtContextL "lexTagCtxt: Standard tag"- pushExtContextL ChildCtxt- return XStdTagClose- _ -> lexStdToken--lexHarpToken :: Lex a Token-lexHarpToken = do- s <- getInput- case s of- '[':'/':_ -> do discard 2- pushExtContextL HarpCtxt- return RPOpen- '/':']':_ -> do discard 2- popExtContextL "lexHarpToken"- return RPClose- '(':'/':_ -> do discard 2- return RPSeqOpen- '/':')':_ -> do discard 2- return RPSeqClose- '*':'!':_ -> do discard 2- return RPStarG- '*':_ -> do discard 1- return RPStar- '+':'!':_ -> do discard 2- return RPPlusG- '+':_ -> do discard 1- return RPPlus- '|':_ -> do discard 1- return RPEither- '?':'!':_ -> do discard 2- return RPOptG- '?':_ -> do discard 1- return RPOpt- '@':':':_ -> do discard 2- return RPCAt- _ -> lexStdToken--lexStdToken :: Lex a Token-lexStdToken = do- s <- getInput- case s of- [] -> return EOF-- '0':c:d:_ | toLower c == 'o' && isOctDigit d -> do- discard 2- n <- lexOctal- return (IntTok n)- | toLower c == 'x' && isHexDigit d -> do- discard 2- n <- lexHexadecimal- return (IntTok n)- - -- implicit parameters- '?':c:_ | isLower c -> do- discard 1- id <- lexWhile isIdent- return $ IDupVarId id-- '%':c:_ | isLower c -> do- discard 1- id <- lexWhile isIdent- return $ ILinVarId id- -- end implicit parameters-- -- harp- '[':'/':_ -> do- discard 2- pushExtContextL HarpCtxt- return RPOpen - - -- template haskell- '[':'|':_ -> do- discard 2- return $ THExpQuote- - '[':c:'|':_ | c == 'e' -> do- discard 3- return $ THExpQuote- | c == 'p' -> do- discard 3- return THPatQuote- | c == 'd' -> do- discard 3- return THDecQuote- | c == 't' -> do- discard 3- return THTypQuote- - '|':']':_ -> do discard 2- return THCloseQuote- - '$':c:_ | isLower c -> do- discard 1- id <- lexWhile isIdent- return $ THIdEscape id- | c == '(' -> do- discard 2- return THParenEscape- -- end template haskell- - -- hsx- '<':'%':_ -> do discard 2- pushExtContextL CodeTagCtxt- return XCodeTagOpen- '<':c:_ | isAlpha c -> do discard 1- pushExtContextL TagCtxt- return XStdTagOpen- -- end hsx- - '(':'#':_ -> do discard 2 >> return LeftHashParen- - '#':')':_ -> do discard 2 >> return RightHashParen- - c:_ | isDigit c -> lexDecimalOrFloat-- | isUpper c -> lexConIdOrQual ""-- | isLower c || c == '_' -> do- idents <- lexIdents- case idents of- [ident] -> return $ case lookup ident (reserved_ids ++ special_varids) of- Just keyword -> keyword- Nothing -> VarId ident- _ -> return $ DVarId idents-- | isHSymbol c -> do- sym <- lexWhile isHSymbol- return $ case lookup sym (reserved_ops ++ special_varops) of- Just t -> t- Nothing -> case c of- ':' -> ConSym sym- _ -> VarSym sym-- | otherwise -> do- discard 1- case c of-- -- First the special symbols- '(' -> return LeftParen- ')' -> return RightParen- ',' -> return Comma- ';' -> return SemiColon- '[' -> return LeftSquare- ']' -> return RightSquare- '`' -> return BackQuote- '{' -> do- pushContextL NoLayout- return LeftCurly- '}' -> do- popContextL "lexStdToken"- return RightCurly-- '\'' -> do- c2 <- lexChar- matchChar '\'' "Improperly terminated character constant"- return (Character c2)-- '"' -> lexString-- _ -> fail ("Illegal character \'" ++ show c ++ "\'\n")-- where lexIdents :: Lex a [String]- lexIdents = do- ident <- lexWhile isIdent- s <- getInput- case s of- '-':c:_ | isIdent c -> do - discard 1- idents <- lexIdents- return $ ident : idents- _ -> return [ident]----lexDecimalOrFloat :: Lex a Token-lexDecimalOrFloat = do- ds <- lexWhile isDigit- rest <- getInput- case rest of- ('.':d:_) | isDigit d -> do- discard 1- frac <- lexWhile isDigit- let num = parseInteger 10 (ds ++ frac)- decimals = toInteger (length frac)- exponent <- do- rest2 <- getInput- case rest2 of- 'e':_ -> lexExponent- 'E':_ -> lexExponent- _ -> return 0- return (FloatTok ((num%1) * 10^^(exponent - decimals)))- e:_ | toLower e == 'e' -> do- exponent <- lexExponent- return (FloatTok ((parseInteger 10 ds%1) * 10^^exponent))- _ -> return (IntTok (parseInteger 10 ds))-- where- lexExponent :: Lex a Integer- lexExponent = do- discard 1 -- 'e' or 'E'- r <- getInput- case r of- '+':d:_ | isDigit d -> do- discard 1- lexDecimal- '-':d:_ | isDigit d -> do- discard 1- n <- lexDecimal- return (negate n)- d:_ | isDigit d -> lexDecimal- _ -> fail "Float with missing exponent"--lexConIdOrQual :: String -> Lex a Token-lexConIdOrQual qual = do- con <- lexWhile isIdent- let conid | null qual = ConId con- | otherwise = QConId (qual,con)- qual' | null qual = con- | otherwise = qual ++ '.':con- just_a_conid <- alternative (return conid)- rest <- getInput- case rest of- '.':c:_- | isLower c || c == '_' -> do -- qualified varid?- discard 1- ident <- lexWhile isIdent- case lookup ident reserved_ids of- -- cannot qualify a reserved word- Just _ -> just_a_conid- Nothing -> return (QVarId (qual', ident))-- | isUpper c -> do -- qualified conid?- discard 1- lexConIdOrQual qual'-- | isHSymbol c -> do -- qualified symbol?- discard 1- sym <- lexWhile isHSymbol- case lookup sym reserved_ops of- -- cannot qualify a reserved operator- Just _ -> just_a_conid- Nothing -> return $ case c of- ':' -> QConSym (qual', sym)- _ -> QVarSym (qual', sym)-- _ -> return conid -- not a qualified thing--lexChar :: Lex a Char-lexChar = do- r <- getInput- case r of- '\\':_ -> lexEscape- c:_ -> discard 1 >> return c- [] -> fail "Incomplete character constant"--lexString :: Lex a Token-lexString = loop ""- where- loop s = do- r <- getInput- case r of- '\\':'&':_ -> do- discard 2- loop s- '\\':c:_ | isSpace c -> do- discard 1- lexWhiteChars- matchChar '\\' "Illegal character in string gap"- loop s- | otherwise -> do- ce <- lexEscape- loop (ce:s)- '"':_ -> do- discard 1- return (StringTok (reverse s))- c:_ -> do- discard 1- loop (c:s)- [] -> fail "Improperly terminated string"-- lexWhiteChars :: Lex a ()- lexWhiteChars = do- s <- getInput- case s of- '\n':_ -> do- lexNewline- lexWhiteChars- '\t':_ -> do- lexTab- lexWhiteChars- c:_ | isSpace c -> do- discard 1- lexWhiteChars- _ -> return ()--lexEscape :: Lex a Char-lexEscape = do- discard 1- r <- getInput- case r of---- Production charesc from section B.2 (Note: \& is handled by caller)-- 'a':_ -> discard 1 >> return '\a'- 'b':_ -> discard 1 >> return '\b'- 'f':_ -> discard 1 >> return '\f'- 'n':_ -> discard 1 >> return '\n'- 'r':_ -> discard 1 >> return '\r'- 't':_ -> discard 1 >> return '\t'- 'v':_ -> discard 1 >> return '\v'- '\\':_ -> discard 1 >> return '\\'- '"':_ -> discard 1 >> return '\"'- '\'':_ -> discard 1 >> return '\''---- Production ascii from section B.2-- '^':c:_ -> discard 2 >> cntrl c- 'N':'U':'L':_ -> discard 3 >> return '\NUL'- 'S':'O':'H':_ -> discard 3 >> return '\SOH'- 'S':'T':'X':_ -> discard 3 >> return '\STX'- 'E':'T':'X':_ -> discard 3 >> return '\ETX'- 'E':'O':'T':_ -> discard 3 >> return '\EOT'- 'E':'N':'Q':_ -> discard 3 >> return '\ENQ'- 'A':'C':'K':_ -> discard 3 >> return '\ACK'- 'B':'E':'L':_ -> discard 3 >> return '\BEL'- 'B':'S':_ -> discard 2 >> return '\BS'- 'H':'T':_ -> discard 2 >> return '\HT'- 'L':'F':_ -> discard 2 >> return '\LF'- 'V':'T':_ -> discard 2 >> return '\VT'- 'F':'F':_ -> discard 2 >> return '\FF'- 'C':'R':_ -> discard 2 >> return '\CR'- 'S':'O':_ -> discard 2 >> return '\SO'- 'S':'I':_ -> discard 2 >> return '\SI'- 'D':'L':'E':_ -> discard 3 >> return '\DLE'- 'D':'C':'1':_ -> discard 3 >> return '\DC1'- 'D':'C':'2':_ -> discard 3 >> return '\DC2'- 'D':'C':'3':_ -> discard 3 >> return '\DC3'- 'D':'C':'4':_ -> discard 3 >> return '\DC4'- 'N':'A':'K':_ -> discard 3 >> return '\NAK'- 'S':'Y':'N':_ -> discard 3 >> return '\SYN'- 'E':'T':'B':_ -> discard 3 >> return '\ETB'- 'C':'A':'N':_ -> discard 3 >> return '\CAN'- 'E':'M':_ -> discard 2 >> return '\EM'- 'S':'U':'B':_ -> discard 3 >> return '\SUB'- 'E':'S':'C':_ -> discard 3 >> return '\ESC'- 'F':'S':_ -> discard 2 >> return '\FS'- 'G':'S':_ -> discard 2 >> return '\GS'- 'R':'S':_ -> discard 2 >> return '\RS'- 'U':'S':_ -> discard 2 >> return '\US'- 'S':'P':_ -> discard 2 >> return '\SP'- 'D':'E':'L':_ -> discard 3 >> return '\DEL'---- Escaped numbers-- 'o':c:_ | isOctDigit c -> do- discard 1- n <- lexOctal- checkChar n- 'x':c:_ | isHexDigit c -> do- discard 1- n <- lexHexadecimal- checkChar n- c:_ | isDigit c -> do- n <- lexDecimal- checkChar n-- _ -> fail "Illegal escape sequence"-- where- checkChar n | n <= 0x01FFFF = return (chr (fromInteger n))- checkChar _ = fail "Character constant out of range"---- Production cntrl from section B.2-- cntrl :: Char -> Lex a Char- cntrl c | c >= '@' && c <= '_' = return (chr (ord c - ord '@'))- cntrl _ = fail "Illegal control character"---- assumes at least one octal digit-lexOctal :: Lex a Integer-lexOctal = do- ds <- lexWhile isOctDigit- return (parseInteger 8 ds)---- assumes at least one hexadecimal digit-lexHexadecimal :: Lex a Integer-lexHexadecimal = do- ds <- lexWhile isHexDigit- return (parseInteger 16 ds)---- assumes at least one decimal digit-lexDecimal :: Lex a Integer-lexDecimal = do- ds <- lexWhile isDigit- return (parseInteger 10 ds)---- Stolen from Hugs's Prelude-parseInteger :: Integer -> String -> Integer-parseInteger radix ds =- foldl1 (\n d -> n * radix + d) (map (toInteger . digitToInt) ds)+-- (c) Niklas Broberg, 2004+-- License : BSD-style (see the file LICENSE.txt)+-- +-- Maintainer : Niklas Broberg, d00nibro@dtek.chalmers.se+-- Stability : experimental+-- Portability : portable+--+-- Lexer for Haskell, with some extensions.+--+-----------------------------------------------------------------------------++-- ToDo: Introduce different tokens for decimal, octal and hexadecimal (?)+-- ToDo: FloatTok should have three parts (integer part, fraction, exponent) (?)+-- ToDo: Use a lexical analyser generator (lx?)++module Language.Haskell.Exts.Lexer (Token(..), lexer) where++import Language.Haskell.Exts.ParseMonad++import Data.Char+import Data.Ratio++data Token+ = VarId String+ | QVarId (String,String)+ | IDupVarId (String) -- duplicable implicit parameter+ | ILinVarId (String) -- linear implicit parameter+ | ConId String+ | QConId (String,String)+ | DVarId [String] -- to enable varid's with '-' in them+ | VarSym String+ | ConSym String+ | QVarSym (String,String)+ | QConSym (String,String)+ | IntTok Integer+ | FloatTok Rational+ | Character Char+ | StringTok String++-- Symbols++ | LeftParen+ | RightParen+ | LeftHashParen+ | RightHashParen+ | SemiColon+ | LeftCurly+ | RightCurly+ | VRightCurly -- a virtual close brace+ | LeftSquare+ | RightSquare+ | Comma+ | Underscore+ | BackQuote++-- Reserved operators++ | Dot -- reserved for use with 'forall x . x'+ | DotDot+ | Colon+ | DoubleColon+ | Equals+ | Backslash+ | Bar+ | LeftArrow+ | RightArrow+ | At+ | Tilde+ | DoubleArrow+ | Minus+ | Exclamation+ | Star+ +-- Template Haskell+ | THExpQuote -- [| or [e|+ | THPatQuote -- [p|+ | THDecQuote -- [d|+ | THTypQuote -- [t| + | THCloseQuote -- |]+ | THIdEscape (String) -- $x+ | THParenEscape -- $( + | THReifyType+ | THReifyDecl+ | THReifyFixity++-- HaRP+-- | RPSeqOpen -- (/+-- | RPSeqClose -- /)+ | RPGuardOpen -- (|+ | RPGuardClose -- |)+ | RPCAt -- @:+-- Hsx+ | XCodeTagOpen -- <%+ | XCodeTagClose -- %>+ | XStdTagOpen -- <+ | XStdTagClose -- >+ | XCloseTagOpen -- </+ | XEmptyTagClose -- />+ | XPcdata String+ | XRPatOpen -- <[+ | XRPatClose -- ]>++-- Reserved Ids++ | KW_As+ | KW_Case+ | KW_Class+ | KW_Data+ | KW_Default+ | KW_Deriving+ | KW_DLet -- implictit parameter binding+ | KW_Do+ | KW_MDo+ | KW_Else+ | KW_Family -- indexed type families+ | KW_Forall -- universal/existential types+ | KW_Hiding+ | KW_If+ | KW_Import+ | KW_In+ | KW_Infix+ | KW_InfixL+ | KW_InfixR+ | KW_Instance+ | KW_Let+ | KW_Module+ | KW_NewType+ | KW_Of+ | KW_Then+ | KW_Type+ | KW_Where+ | KW_With -- implicit parameter binding+ | KW_Qualified++ -- FFI+ | KW_Foreign+ | KW_Export+ | KW_Safe+ | KW_Unsafe+ | KW_Threadsafe+ | KW_StdCall+ | KW_CCall++ | EOF+ deriving (Eq,Show)++reserved_ops :: [(String,Token)]+reserved_ops = [+ ( ".", Dot ),+ ( "..", DotDot ),+ ( ":", Colon ),+ ( "::", DoubleColon ),+ ( "=", Equals ),+ ( "\\", Backslash ),+ ( "|", Bar ),+ ( "<-", LeftArrow ),+ ( "->", RightArrow ),+ ( "@", At ),+ ( "~", Tilde ),+ ( "=>", DoubleArrow ),+ ( "*", Star )+ ]++special_varops :: [(String,Token)]+special_varops = [+ ( "-", Minus ), --ToDo: shouldn't be here+ ( "!", Exclamation ) --ditto+ ]++reserved_ids :: [(String,Token)]+reserved_ids = [+ ( "_", Underscore ),+ ( "case", KW_Case ),+ ( "class", KW_Class ),+ ( "data", KW_Data ),+ ( "default", KW_Default ),+ ( "deriving", KW_Deriving ),+ ( "dlet", KW_DLet ), -- implicit parameters (hugs)+ ( "do", KW_Do ),+ ( "else", KW_Else ),+ ( "family", KW_Family ), -- indexed type families+ ( "forall", KW_Forall ), -- universal/existential quantification+ ( "if", KW_If ),+ ( "import", KW_Import ),+ ( "in", KW_In ),+ ( "infix", KW_Infix ),+ ( "infixl", KW_InfixL ),+ ( "infixr", KW_InfixR ),+ ( "instance", KW_Instance ),+ ( "let", KW_Let ),+ ( "mdo", KW_MDo ),+ ( "module", KW_Module ),+ ( "newtype", KW_NewType ),+ ( "of", KW_Of ),+ ( "then", KW_Then ),+ ( "type", KW_Type ),+ ( "where", KW_Where ),+ ( "with", KW_With ), -- implicit parameters++-- Template Haskell+ ( "reifyDecl", THReifyDecl ),+ ( "reifyType", THReifyType ),+ ( "reifyFixity", THReifyFixity ),++-- FFI+ ( "foreign", KW_Foreign )+ ]+++special_varids :: [(String,Token)]+special_varids = [+ ( "as", KW_As ),+ ( "qualified", KW_Qualified ),+ ( "hiding", KW_Hiding ),++-- FFI+ ( "export", KW_Export),+ ( "safe", KW_Safe),+ ( "unsafe", KW_Unsafe),+ ( "threadsafe", KW_Threadsafe),+ ( "stdcall", KW_StdCall),+ ( "ccall", KW_CCall)+ ]++isIdent, isHSymbol :: Char -> Bool+isIdent c = isAlpha c || isDigit c || c == '\'' || c == '_'+isHSymbol c = elem c ":!#$%&*+./<=>?@\\^|-~"++matchChar :: Char -> String -> Lex a ()+matchChar c msg = do+ s <- getInput+ if null s || head s /= c then fail msg else discard 1++-- The top-level lexer.+-- We need to know whether we are at the beginning of the line to decide+-- whether to insert layout tokens.++lexer :: (Token -> P a) -> P a+lexer = runL $ do+ bol <- checkBOL+ (bol, ws) <- lexWhiteSpace bol+ -- take care of whitespace in PCDATA+ ec <- getExtContext+ case ec of+ -- if there was no linebreak, and we are lexing PCDATA,+ -- then we want to care about the whitespace+ Just ChildCtxt | not bol && ws -> return $ XPcdata " "+ _ -> do startToken+ if bol then lexBOL else lexToken ++lexWhiteSpace :: Bool -> Lex a (Bool, Bool)+lexWhiteSpace bol = do+ s <- getInput+ case s of+ '{':'-':_ -> do+ discard 2+ bol <- lexNestedComment bol+ (bol, _) <- lexWhiteSpace bol+ return (bol, True)+ '-':'-':s | all (== '-') (takeWhile isHSymbol s) -> do+ lexWhile (== '-')+ lexWhile (/= '\n')+ lexNewline+ lexWhiteSpace True+ return (True, True)+ '\n':_ -> do+ lexNewline+ lexWhiteSpace True+ return (True, True)+ '\t':_ -> do+ lexTab+ (bol, _) <- lexWhiteSpace bol+ return (bol, True) + c:_ | isSpace c -> do+ discard 1+ (bol, _) <- lexWhiteSpace bol+ return (bol, True)+ _ -> return (bol, False)++lexNestedComment :: Bool -> Lex a Bool+lexNestedComment bol = do+ s <- getInput+ case s of+ '-':'}':_ -> discard 2 >> return bol+ '{':'-':_ -> do+ discard 2+ bol <- lexNestedComment bol -- rest of the subcomment+ lexNestedComment bol -- rest of this comment+ '\t':_ -> lexTab >> lexNestedComment bol+ '\n':_ -> lexNewline >> lexNestedComment True+ _:_ -> discard 1 >> lexNestedComment bol+ [] -> fail "Unterminated nested comment"++-- When we are lexing the first token of a line, check whether we need to+-- insert virtual semicolons or close braces due to layout.++lexBOL :: Lex a Token+lexBOL = do+ pos <- getOffside+ case pos of+ LT -> do+ -- trace "layout: inserting '}'\n" $+ -- Set col to 0, indicating that we're still at the+ -- beginning of the line, in case we need a semi-colon too.+ -- Also pop the context here, so that we don't insert+ -- another close brace before the parser can pop it.+ setBOL+ popContextL "lexBOL"+ return VRightCurly+ EQ ->+ -- trace "layout: inserting ';'\n" $+ return SemiColon+ GT -> lexToken++lexToken :: Lex a Token+lexToken = do+ ec <- getExtContext+ case ec of+ Just HarpCtxt -> lexHarpToken+ Just TagCtxt -> lexTagCtxt+ Just CloseTagCtxt -> lexCloseTagCtxt+ Just ChildCtxt -> lexChildCtxt+ Just CodeTagCtxt -> lexCodeTagCtxt+ _ -> lexStdToken+++lexChildCtxt :: Lex a Token+lexChildCtxt = do+ s <- getInput+ case s of+ '<':'%':_ -> do discard 2+ pushExtContextL CodeTagCtxt+ return XCodeTagOpen+ '<':'/':_ -> do discard 2+ popExtContextL "lexChildCtxt"+ pushExtContextL CloseTagCtxt+ return XCloseTagOpen+ '<':'[':_ -> do discard 2+ pushExtContextL HarpCtxt+ return XRPatOpen+ '<':_ -> do discard 1+ pushExtContextL TagCtxt+ return XStdTagOpen+ _ -> lexPCDATA+++lexPCDATA :: Lex a Token+lexPCDATA = do+ s <- getInput+ case s of+ [] -> return EOF+ _ -> case s of+ '\n':_ -> do+ x <- lexNewline >> lexPCDATA+ case x of+ XPcdata p -> return $ XPcdata $ '\n':p+ EOF -> return EOF+ '<':_ -> return $ XPcdata ""+ -- '[':'/':_ -> return $ XPcdata ""+ -- '[':s' -> do discard 1+ -- pcd <- lexPCDATA+ -- case pcd of+ -- XPcdata pcd' -> return $ XPcdata $ '[':pcd'+ -- EOF -> return EOF+ _ -> do let pcd = takeWhile (\c -> not $ elem c "<\n") s+ l = length pcd+ discard l+ x <- lexPCDATA+ case x of+ XPcdata pcd' -> return $ XPcdata $ pcd ++ pcd'+ EOF -> return EOF+++lexCodeTagCtxt :: Lex a Token+lexCodeTagCtxt = do+ s <- getInput+ case s of+ '%':'>':_ -> do discard 2+ popExtContextL "lexCodeTagContext"+ return XCodeTagClose+ _ -> lexStdToken++lexCloseTagCtxt :: Lex a Token+lexCloseTagCtxt = do+ s <- getInput+ case s of+ '>':_ -> do discard 1+ popExtContextL "lexCloseTagCtxt"+ return XStdTagClose+ _ -> lexStdToken++lexTagCtxt :: Lex a Token+lexTagCtxt = do+ s <- getInput+ case s of+ '/':'>':_ -> do discard 2+ popExtContextL "lexTagCtxt: Empty tag"+ return XEmptyTagClose+ '>':_ -> do discard 1+ popExtContextL "lexTagCtxt: Standard tag"+ pushExtContextL ChildCtxt+ return XStdTagClose+ _ -> lexStdToken++lexHarpToken :: Lex a Token+lexHarpToken = do+ s <- getInput+ case s of+{- '[':'/':_ -> do discard 2+ pushExtContextL HarpCtxt+ return RPOpen -}+ ']':'>':_ -> do discard 2+ popExtContextL "lexHarpToken"+ return XRPatClose+{- '(':'/':_ -> do discard 2+ return RPSeqOpen+ '/':')':_ -> do discard 2+ return RPSeqClose+ '*':'!':_ -> do discard 2+ return RPStarG+ '*':_ -> do discard 1+ return RPStar+ '+':'!':_ -> do discard 2+ return RPPlusG+ '+':_ -> do discard 1+ return RPPlus+ '|':_ -> do discard 1+ return RPEither+ '?':'!':_ -> do discard 2+ return RPOptG+ '?':_ -> do discard 1+ return RPOpt+ '@':':':_ -> do discard 2+ return RPCAt -}+ _ -> lexStdToken++lexStdToken :: Lex a Token+lexStdToken = do+ s <- getInput+ case s of+ [] -> return EOF++ '0':c:d:_ | toLower c == 'o' && isOctDigit d -> do+ discard 2+ n <- lexOctal+ return (IntTok n)+ | toLower c == 'x' && isHexDigit d -> do+ discard 2+ n <- lexHexadecimal+ return (IntTok n)+ + -- implicit parameters+ '?':c:_ | isLower c -> do+ discard 1+ id <- lexWhile isIdent+ return $ IDupVarId id++ '%':c:_ | isLower c -> do+ discard 1+ id <- lexWhile isIdent+ return $ ILinVarId id+ -- end implicit parameters++ -- harp+-- '(':'/':_ -> do discard 2+-- return RPSeqOpen+-- '/':')':_ -> do discard 2+-- return RPSeqClose+ '(':'|':_ -> do discard 2+ return RPGuardOpen+ '|':')':_ -> do discard 2+ return RPGuardClose+ '@':':':_ -> do discard 2+ return RPCAt+ + -- template haskell+ '[':'|':_ -> do+ discard 2+ return $ THExpQuote+ + '[':c:'|':_ | c == 'e' -> do+ discard 3+ return $ THExpQuote+ | c == 'p' -> do+ discard 3+ return THPatQuote+ | c == 'd' -> do+ discard 3+ return THDecQuote+ | c == 't' -> do+ discard 3+ return THTypQuote+ + '|':']':_ -> do discard 2+ return THCloseQuote+ + '$':c:_ | isLower c -> do+ discard 1+ id <- lexWhile isIdent+ return $ THIdEscape id+ | c == '(' -> do+ discard 2+ return THParenEscape+ -- end template haskell+ + -- hsx+ '<':'%':_ -> do discard 2+ pushExtContextL CodeTagCtxt+ return XCodeTagOpen+ '<':c:_ | isAlpha c -> do discard 1+ pushExtContextL TagCtxt+ return XStdTagOpen+ -- end hsx+ + '(':'#':_ -> do discard 2 >> return LeftHashParen+ + '#':')':_ -> do discard 2 >> return RightHashParen+ + c:_ | isDigit c -> lexDecimalOrFloat++ | isUpper c -> lexConIdOrQual ""++ | isLower c || c == '_' -> do+ idents <- lexIdents+ case idents of+ [ident] -> return $ case lookup ident (reserved_ids ++ special_varids) of+ Just keyword -> keyword+ Nothing -> VarId ident+ _ -> return $ DVarId idents++ | isHSymbol c -> do+ sym <- lexWhile isHSymbol+ return $ case lookup sym (reserved_ops ++ special_varops) of+ Just t -> t+ Nothing -> case c of+ ':' -> ConSym sym+ _ -> VarSym sym++ | otherwise -> do+ discard 1+ case c of++ -- First the special symbols+ '(' -> return LeftParen+ ')' -> return RightParen+ ',' -> return Comma+ ';' -> return SemiColon+ '[' -> return LeftSquare+ ']' -> return RightSquare+ '`' -> return BackQuote+ '{' -> do+ pushContextL NoLayout+ return LeftCurly+ '}' -> do+ popContextL "lexStdToken"+ return RightCurly++ '\'' -> do+ c2 <- lexChar+ matchChar '\'' "Improperly terminated character constant"+ return (Character c2)++ '"' -> lexString++ _ -> fail ("Illegal character \'" ++ show c ++ "\'\n")++ where lexIdents :: Lex a [String]+ lexIdents = do+ ident <- lexWhile isIdent+ s <- getInput+ case s of+ '-':c:_ | isIdent c -> do + discard 1+ idents <- lexIdents+ return $ ident : idents+ _ -> return [ident]++++lexDecimalOrFloat :: Lex a Token+lexDecimalOrFloat = do+ ds <- lexWhile isDigit+ rest <- getInput+ case rest of+ ('.':d:_) | isDigit d -> do+ discard 1+ frac <- lexWhile isDigit+ let num = parseInteger 10 (ds ++ frac)+ decimals = toInteger (length frac)+ exponent <- do+ rest2 <- getInput+ case rest2 of+ 'e':_ -> lexExponent+ 'E':_ -> lexExponent+ _ -> return 0+ return (FloatTok ((num%1) * 10^^(exponent - decimals)))+ e:_ | toLower e == 'e' -> do+ exponent <- lexExponent+ return (FloatTok ((parseInteger 10 ds%1) * 10^^exponent))+ _ -> return (IntTok (parseInteger 10 ds))++ where+ lexExponent :: Lex a Integer+ lexExponent = do+ discard 1 -- 'e' or 'E'+ r <- getInput+ case r of+ '+':d:_ | isDigit d -> do+ discard 1+ lexDecimal+ '-':d:_ | isDigit d -> do+ discard 1+ n <- lexDecimal+ return (negate n)+ d:_ | isDigit d -> lexDecimal+ _ -> fail "Float with missing exponent"++lexConIdOrQual :: String -> Lex a Token+lexConIdOrQual qual = do+ con <- lexWhile isIdent+ let conid | null qual = ConId con+ | otherwise = QConId (qual,con)+ qual' | null qual = con+ | otherwise = qual ++ '.':con+ just_a_conid <- alternative (return conid)+ rest <- getInput+ case rest of+ '.':c:_+ | isLower c || c == '_' -> do -- qualified varid?+ discard 1+ ident <- lexWhile isIdent+ case lookup ident reserved_ids of+ -- cannot qualify a reserved word+ Just _ -> just_a_conid+ Nothing -> return (QVarId (qual', ident))++ | isUpper c -> do -- qualified conid?+ discard 1+ lexConIdOrQual qual'++ | isHSymbol c -> do -- qualified symbol?+ discard 1+ sym <- lexWhile isHSymbol+ case lookup sym reserved_ops of+ -- cannot qualify a reserved operator+ Just _ -> just_a_conid+ Nothing -> return $ case c of+ ':' -> QConSym (qual', sym)+ _ -> QVarSym (qual', sym)++ _ -> return conid -- not a qualified thing++lexChar :: Lex a Char+lexChar = do+ r <- getInput+ case r of+ '\\':_ -> lexEscape+ c:_ -> discard 1 >> return c+ [] -> fail "Incomplete character constant"++lexString :: Lex a Token+lexString = loop ""+ where+ loop s = do+ r <- getInput+ case r of+ '\\':'&':_ -> do+ discard 2+ loop s+ '\\':c:_ | isSpace c -> do+ discard 1+ lexWhiteChars+ matchChar '\\' "Illegal character in string gap"+ loop s+ | otherwise -> do+ ce <- lexEscape+ loop (ce:s)+ '"':_ -> do+ discard 1+ return (StringTok (reverse s))+ c:_ -> do+ discard 1+ loop (c:s)+ [] -> fail "Improperly terminated string"++ lexWhiteChars :: Lex a ()+ lexWhiteChars = do+ s <- getInput+ case s of+ '\n':_ -> do+ lexNewline+ lexWhiteChars+ '\t':_ -> do+ lexTab+ lexWhiteChars+ c:_ | isSpace c -> do+ discard 1+ lexWhiteChars+ _ -> return ()++lexEscape :: Lex a Char+lexEscape = do+ discard 1+ r <- getInput+ case r of++-- Production charesc from section B.2 (Note: \& is handled by caller)++ 'a':_ -> discard 1 >> return '\a'+ 'b':_ -> discard 1 >> return '\b'+ 'f':_ -> discard 1 >> return '\f'+ 'n':_ -> discard 1 >> return '\n'+ 'r':_ -> discard 1 >> return '\r'+ 't':_ -> discard 1 >> return '\t'+ 'v':_ -> discard 1 >> return '\v'+ '\\':_ -> discard 1 >> return '\\'+ '"':_ -> discard 1 >> return '\"'+ '\'':_ -> discard 1 >> return '\''++-- Production ascii from section B.2++ '^':c:_ -> discard 2 >> cntrl c+ 'N':'U':'L':_ -> discard 3 >> return '\NUL'+ 'S':'O':'H':_ -> discard 3 >> return '\SOH'+ 'S':'T':'X':_ -> discard 3 >> return '\STX'+ 'E':'T':'X':_ -> discard 3 >> return '\ETX'+ 'E':'O':'T':_ -> discard 3 >> return '\EOT'+ 'E':'N':'Q':_ -> discard 3 >> return '\ENQ'+ 'A':'C':'K':_ -> discard 3 >> return '\ACK'+ 'B':'E':'L':_ -> discard 3 >> return '\BEL'+ 'B':'S':_ -> discard 2 >> return '\BS'+ 'H':'T':_ -> discard 2 >> return '\HT'+ 'L':'F':_ -> discard 2 >> return '\LF'+ 'V':'T':_ -> discard 2 >> return '\VT'+ 'F':'F':_ -> discard 2 >> return '\FF'+ 'C':'R':_ -> discard 2 >> return '\CR'+ 'S':'O':_ -> discard 2 >> return '\SO'+ 'S':'I':_ -> discard 2 >> return '\SI'+ 'D':'L':'E':_ -> discard 3 >> return '\DLE'+ 'D':'C':'1':_ -> discard 3 >> return '\DC1'+ 'D':'C':'2':_ -> discard 3 >> return '\DC2'+ 'D':'C':'3':_ -> discard 3 >> return '\DC3'+ 'D':'C':'4':_ -> discard 3 >> return '\DC4'+ 'N':'A':'K':_ -> discard 3 >> return '\NAK'+ 'S':'Y':'N':_ -> discard 3 >> return '\SYN'+ 'E':'T':'B':_ -> discard 3 >> return '\ETB'+ 'C':'A':'N':_ -> discard 3 >> return '\CAN'+ 'E':'M':_ -> discard 2 >> return '\EM'+ 'S':'U':'B':_ -> discard 3 >> return '\SUB'+ 'E':'S':'C':_ -> discard 3 >> return '\ESC'+ 'F':'S':_ -> discard 2 >> return '\FS'+ 'G':'S':_ -> discard 2 >> return '\GS'+ 'R':'S':_ -> discard 2 >> return '\RS'+ 'U':'S':_ -> discard 2 >> return '\US'+ 'S':'P':_ -> discard 2 >> return '\SP'+ 'D':'E':'L':_ -> discard 3 >> return '\DEL'++-- Escaped numbers++ 'o':c:_ | isOctDigit c -> do+ discard 1+ n <- lexOctal+ checkChar n+ 'x':c:_ | isHexDigit c -> do+ discard 1+ n <- lexHexadecimal+ checkChar n+ c:_ | isDigit c -> do+ n <- lexDecimal+ checkChar n++ _ -> fail "Illegal escape sequence"++ where+ checkChar n | n <= 0x01FFFF = return (chr (fromInteger n))+ checkChar _ = fail "Character constant out of range"++-- Production cntrl from section B.2++ cntrl :: Char -> Lex a Char+ cntrl c | c >= '@' && c <= '_' = return (chr (ord c - ord '@'))+ cntrl _ = fail "Illegal control character"++-- assumes at least one octal digit+lexOctal :: Lex a Integer+lexOctal = do+ ds <- lexWhile isOctDigit+ return (parseInteger 8 ds)++-- assumes at least one hexadecimal digit+lexHexadecimal :: Lex a Integer+lexHexadecimal = do+ ds <- lexWhile isHexDigit+ return (parseInteger 16 ds)++-- assumes at least one decimal digit+lexDecimal :: Lex a Integer+lexDecimal = do+ ds <- lexWhile isDigit+ return (parseInteger 10 ds)++-- Stolen from Hugs's Prelude+parseInteger :: Integer -> String -> Integer+parseInteger radix ds =+ foldl1 (\n d -> n * radix + d) (map (toInteger . digitToInt) ds)
Language/Haskell/Exts/ParseUtils.hs view
@@ -4,7 +4,7 @@ -- Module : Language.Haskell.Exts.ParseUtils -- Original : Language.Haskell.ParseUtils -- Copyright : (c) Niklas Broberg 2004,--- (c) The GHC Team, 1997-2000+-- (c) The GHC Team, 1997-2000 -- License : BSD-style (see the file LICENSE.txt) -- -- Maintainer : Niklas Broberg, d00nibro@dtek.chalmers.se@@ -16,36 +16,36 @@ ----------------------------------------------------------------------------- module Language.Haskell.Exts.ParseUtils (- splitTyConApp -- HsType -> P (HsName,[HsType])- , mkRecConstrOrUpdate -- HsExp -> [HsFieldUpdate] -> P HsExp- , checkPrec -- Integer -> P Int- , checkContext -- HsType -> P HsContext- , checkAssertion -- HsType -> P HsAsst- , checkDataHeader -- HsType -> P (HsContext,HsName,[HsName])- , checkClassHeader -- HsType -> P (HsContext,HsName,[HsName])- , checkInstHeader -- HsType -> P (HsContext,HsQName,[HsType])- , checkPattern -- HsExp -> P HsPat- , checkExpr -- HsExp -> P HsExp- , checkValDef -- SrcLoc -> HsExp -> HsRhs -> [HsDecl] -> P HsDecl- , checkClassBody -- [HsClassDecl] -> P [HsClassDecl]- , checkInstBody -- [HsInstDecl] -> P [HsInstDecl]- , checkUnQual -- HsQName -> P HsName- , checkRevDecls -- [HsDecl] -> P [HsDecl]- , checkRevClsDecls -- [HsClassDecl] -> P [HsClassDecl]- , checkRevInstDecls -- [HsInstDecl] -> P [HsInstDecl]- , checkDataOrNew -- DataOrNew -> [HsDecl] -> P ()- , checkSimpleType -- HsType -> P ()- , getGConName -- HsExp -> P HsQName- , mkHsTyForall -- Maybe [HsName] -> HsContext -> HsType -> HsType - -- HaRP- , checkRPattern -- HsExp -> P HsRPat- -- Hsx- , checkEqNames -- HsXName -> HsXName -> P HsXName- , mkPageModule -- HsExp -> P HsModule- , mkPage -- HsModule -> SrcLoc -> HsExp -> P HsModule- , mkDVar -- [String] -> String- , mkDVarExpr -- [String] -> HsExp- ) where+ splitTyConApp -- HsType -> P (HsName,[HsType])+ , mkRecConstrOrUpdate -- HsExp -> [HsFieldUpdate] -> P HsExp+ , checkPrec -- Integer -> P Int+ , checkContext -- HsType -> P HsContext+ , checkAssertion -- HsType -> P HsAsst+ , checkDataHeader -- HsType -> P (HsContext,HsName,[HsName])+ , checkClassHeader -- HsType -> P (HsContext,HsName,[HsName])+ , checkInstHeader -- HsType -> P (HsContext,HsQName,[HsType])+ , checkPattern -- HsExp -> P HsPat+ , checkExpr -- HsExp -> P HsExp+ , checkValDef -- SrcLoc -> HsExp -> HsRhs -> [HsDecl] -> P HsDecl+ , checkClassBody -- [HsClassDecl] -> P [HsClassDecl]+ , checkInstBody -- [HsInstDecl] -> P [HsInstDecl]+ , checkUnQual -- HsQName -> P HsName+ , checkRevDecls -- [HsDecl] -> P [HsDecl]+ , checkRevClsDecls -- [HsClassDecl] -> P [HsClassDecl]+ , checkRevInstDecls -- [HsInstDecl] -> P [HsInstDecl]+ , checkDataOrNew -- DataOrNew -> [HsDecl] -> P ()+ , checkSimpleType -- HsType -> P ()+ , getGConName -- HsExp -> P HsQName+ , mkHsTyForall -- Maybe [HsName] -> HsContext -> HsType -> HsType + -- HaRP+ , checkRPattern -- HsExp -> P HsRPat+ -- Hsx+ , checkEqNames -- HsXName -> HsXName -> P HsXName+ , mkPageModule -- HsExp -> P HsModule+ , mkPage -- HsModule -> SrcLoc -> HsExp -> P HsModule+ , mkDVar -- [String] -> String+ , mkDVarExpr -- [String] -> HsExp+ ) where import Language.Haskell.Exts.Syntax import Language.Haskell.Exts.ParseMonad@@ -57,21 +57,21 @@ splitTyConApp :: HsType -> P (HsName,[HsType]) splitTyConApp t0 = split t0 [] where- split :: HsType -> [HsType] -> P (HsName,[HsType])- split (HsTyApp t u) ts = split t (u:ts)- split (HsTyCon (UnQual t)) ts = return (t,ts)- split (HsTyInfix a op b) ts = split (HsTyCon op) (a:b:ts)- split _ _ = fail "Illegal data/newtype declaration"+ split :: HsType -> [HsType] -> P (HsName,[HsType])+ split (HsTyApp t u) ts = split t (u:ts)+ split (HsTyCon (UnQual t)) ts = return (t,ts)+ split (HsTyInfix a op b) ts = split (HsTyCon op) (a:b:ts)+ split _ _ = fail "Illegal data/newtype declaration" ----------------------------------------------------------------------------- -- Various Syntactic Checks checkContext :: HsType -> P HsContext checkContext (HsTyTuple Boxed ts) =- mapM checkAssertion ts+ mapM checkAssertion ts checkContext t = do- c <- checkAssertion t- return [c]+ c <- checkAssertion t+ return [c] -- Changed for multi-parameter type classes. -- Further changed for implicit parameters.@@ -80,27 +80,27 @@ checkAssertion (HsTyPred p@(HsIParam _ _)) = return p checkAssertion (HsTyPred p@(HsEqualP _ _)) = return p checkAssertion t = checkAssertion' [] t- where checkAssertion' ts (HsTyCon c) = return $ HsClassA c ts- checkAssertion' ts (HsTyApp a t) = checkAssertion' (t:ts) a- checkAssertion' ts (HsTyInfix a op b) = checkAssertion' (a:b:ts) (HsTyCon op)- checkAssertion' _ _ = fail "Illegal class assertion"+ where checkAssertion' ts (HsTyCon c) = return $ HsClassA c ts+ checkAssertion' ts (HsTyApp a t) = checkAssertion' (t:ts) a+ checkAssertion' ts (HsTyInfix a op b) = checkAssertion' (a:b:ts) (HsTyCon op)+ checkAssertion' _ _ = fail "Illegal class assertion" checkDataHeader :: HsType -> P (HsContext,HsName,[HsName]) checkDataHeader (HsTyForall Nothing cs t) = do- (c,ts) <- checkSimple "data/newtype" t []- return (cs,c,ts)+ (c,ts) <- checkSimple "data/newtype" t []+ return (cs,c,ts) checkDataHeader t = do- (c,ts) <- checkSimple "data/newtype" t []- return ([],c,ts)+ (c,ts) <- checkSimple "data/newtype" t []+ return ([],c,ts) checkClassHeader :: HsType -> P (HsContext,HsName,[HsName]) checkClassHeader (HsTyForall Nothing cs t) = do- (c,ts) <- checkSimple "class" t []- return (cs,c,ts)+ (c,ts) <- checkSimple "class" t []+ return (cs,c,ts) checkClassHeader t = do- (c,ts) <- checkSimple "class" t []- return ([],c,ts)+ (c,ts) <- checkSimple "class" t []+ return ([],c,ts) checkSimple :: String -> HsType -> [HsName] -> P (HsName,[HsName]) checkSimple kw (HsTyApp l (HsTyVar a)) xs = checkSimple kw l (a:xs)@@ -110,12 +110,12 @@ checkInstHeader :: HsType -> P (HsContext,HsQName,[HsType]) checkInstHeader (HsTyForall Nothing cs t) = do- (c,ts) <- checkInsts t []- return (cs,c,ts)+ (c,ts) <- checkInsts t []+ return (cs,c,ts) checkInstHeader t = do- (c,ts) <- checkInsts t []- return ([],c,ts)- + (c,ts) <- checkInsts t []+ return ([],c,ts)+ checkInsts :: HsType -> [HsType] -> P ((HsQName,[HsType])) checkInsts (HsTyApp l t) ts = checkInsts l (t:ts)@@ -141,247 +141,282 @@ checkPat :: HsExp -> [HsPat] -> P HsPat checkPat (HsCon c) args = return (HsPApp c args) checkPat (HsApp f x) args = do- x <- checkPat x []- checkPat f (x:args)+ x <- checkPat x []+ checkPat f (x:args) checkPat e [] = case e of- HsVar (UnQual x) -> return (HsPVar x)- HsLit l -> return (HsPLit l)- HsInfixApp l op r -> do- l <- checkPat l []- r <- checkPat r []- case op of- HsQConOp c -> return (HsPInfixApp l c r)- _ -> patFail ""- HsTuple es -> do- ps <- mapM (\e -> checkPat e []) es- return (HsPTuple ps)- HsList es -> do- ps <- mapM (\e -> checkPat e []) es- return (HsPList ps)- HsParen e -> do- p <- checkPat e []- return (HsPParen p)- HsAsPat n e -> do- p <- checkPat e []- return (HsPAsPat n p)- HsWildCard -> return HsPWildCard- HsIrrPat e -> do- p <- checkPat e []- return (HsPIrrPat p)- HsRecConstr c fs -> do- fs <- mapM checkPatField fs- return (HsPRec c fs)- HsNegApp (HsLit l) -> return (HsPNeg (HsPLit l))- HsRPats s es -> do- rps <- mapM checkRPattern es- return (HsPRPat s rps)- HsExpTypeSig s e t -> do- p <- checkPat e []- return (HsPatTypeSig s p t)- - -- Hsx- HsXTag s n attrs mattr cs -> do- pattrs <- mapM checkPAttr attrs- pcs <- mapM (\c -> checkPat c []) cs- mpattr <- maybe (return Nothing) - (\e -> do p <- checkPat e []- return $ Just p) - mattr- let cp = mkChildrenPat pcs- return $ HsPXTag s n pattrs mpattr cp- HsXETag s n attrs mattr -> do- pattrs <- mapM checkPAttr attrs- mpattr <- maybe (return Nothing) - (\e -> do p <- checkPat e []- return $ Just p) - mattr- return $ HsPXETag s n pattrs mpattr- HsXPcdata pcdata -> return $ HsPXPcdata pcdata- HsXExpTag e -> do- p <- checkPat e []- return $ HsPXPatTag p- e -> patFail $ show e+ HsVar (UnQual x) -> return (HsPVar x)+ HsLit l -> return (HsPLit l)+ HsInfixApp l op r -> do+ l <- checkPat l []+ r <- checkPat r []+ case op of+ HsQConOp c -> return (HsPInfixApp l c r)+ _ -> patFail ""+ HsTuple es -> do+ ps <- mapM (\e -> checkPat e []) es+ return (HsPTuple ps)+ HsList es -> do+ ps <- mapM checkRPattern es+ return $ if all isStdPat ps+ then HsPList $ map stripRP ps+ else HsPRPat $ map fixRPOpPrec ps+ where isStdPat :: HsRPat -> Bool+ isStdPat (HsRPPat _) = True+ isStdPat _ = False+ stripRP :: HsRPat -> HsPat+ stripRP (HsRPPat p) = p+ stripRP _ = error "cannot strip RP wrapper if not all patterns are base" + HsParen e -> do+ p <- checkPat e []+ return (HsPParen p)+ HsAsPat n e -> do+ p <- checkPat e []+ return (HsPAsPat n p)+ HsWildCard -> return HsPWildCard+ HsIrrPat e -> do+ p <- checkPat e []+ return (HsPIrrPat p)+ HsRecConstr c fs -> do+ fs <- mapM checkPatField fs+ return (HsPRec c fs)+ HsNegApp (HsLit l) -> return (HsPNeg (HsPLit l))+ HsExpTypeSig s e t -> do+ p <- checkPat e []+ return (HsPatTypeSig s p t)+ + -- Hsx+ HsXTag s n attrs mattr cs -> do+ pattrs <- mapM checkPAttr attrs+ pcs <- mapM (\c -> checkPat c []) cs+ mpattr <- maybe (return Nothing) + (\e -> do p <- checkPat e []+ return $ Just p) + mattr+ let cps = mkChildrenPat pcs+ return $ HsPXTag s n pattrs mpattr cps+ HsXETag s n attrs mattr -> do+ pattrs <- mapM checkPAttr attrs+ mpattr <- maybe (return Nothing) + (\e -> do p <- checkPat e []+ return $ Just p) + mattr+ return $ HsPXETag s n pattrs mpattr+ HsXPcdata pcdata -> return $ HsPXPcdata pcdata+ HsXExpTag e -> do+ p <- checkPat e []+ return $ HsPXPatTag p+ HsXRPats es -> do+ rps <- mapM checkRPattern es+ return (HsPXRPats $ map fixRPOpPrec rps)+ e -> patFail $ show e+ checkPat e _ = patFail $ show e checkPatField :: HsFieldUpdate -> P HsPatField checkPatField (HsFieldUpdate n e) = do- p <- checkPat e []- return (HsPFieldPat n p)+ p <- checkPat e []+ return (HsPFieldPat n p) checkPAttr :: HsXAttr -> P HsPXAttr checkPAttr (HsXAttr n v) = do p <- checkPat v []- return $ HsPXAttr n p+ return $ HsPXAttr n p patFail :: String -> P a patFail s = fail $ "Parse error in pattern: " ++ s checkRPattern :: HsExp -> P HsRPat checkRPattern e = case e of- HsSeqRP es -> do - rps <- mapM checkRPattern es- return $ HsRPSeq rps- HsStarRP e -> do- rp <- checkRPattern e- return $ HsRPStar rp- HsPlusRP e -> do- rp <- checkRPattern e- return $ HsRPPlus rp - HsOptRP e -> do- rp <- checkRPattern e- return $ HsRPOpt rp - HsStarGRP e -> do- rp <- checkRPattern e- return $ HsRPStarG rp- HsPlusGRP e -> do- rp <- checkRPattern e- return $ HsRPPlusG rp - HsOptGRP e -> do- rp <- checkRPattern e- return $ HsRPOptG rp - HsEitherRP e1 e2 -> do- rp1 <- checkRPattern e1- rp2 <- checkRPattern e2- return $ HsRPEither rp1 rp2- HsCAsRP n e -> do- rp <- checkRPattern e- return $ HsRPCAs n rp- HsAsPat n e -> do- rp <- checkRPattern e- return $ HsRPAs n rp- HsParen e -> do- rp <- checkRPattern e- return $ HsRPParen rp- _ -> do- p <- checkPattern e- return $ HsRPPat p+ HsSeqRP es -> do + rps <- mapM checkRPattern es+ return $ HsRPSeq rps+ HsPostOp e op -> do+ rpop <- checkRPatOp op+ rp <- checkRPattern e+ return $ HsRPOp rp rpop+ HsGuardRP e gs -> do+ rp <- checkPattern e+ return $ HsRPGuard rp gs+ HsEitherRP e1 e2 -> do+ rp1 <- checkRPattern e1+ rp2 <- checkRPattern e2+ return $ HsRPEither rp1 rp2+ HsCAsRP n e -> do+ rp <- checkRPattern e+ return $ HsRPCAs n rp+ HsAsPat n e -> do+ rp <- checkRPattern e+ return $ HsRPAs n rp+ HsParen e -> do+ rp <- checkRPattern e+ return $ HsRPParen rp+ _ -> do+ p <- checkPattern e+ return $ HsRPPat p +checkRPatOp :: HsQOp -> P HsRPatOp+checkRPatOp o@(HsQVarOp (UnQual (HsSymbol sym))) =+ case sym of+ "*" -> return HsRPStar+ "*!" -> return HsRPStarG+ "+" -> return HsRPPlus+ "+!" -> return HsRPPlusG+ "?" -> return HsRPOpt+ "?!" -> return HsRPOptG+ _ -> rpOpFail o+checkRPatOp o = rpOpFail o -mkChildrenPat :: [HsPat] -> HsPat+rpOpFail sym = fail $ "Unrecognized regular pattern operator: " ++ show sym++fixRPOpPrec :: HsRPat -> HsRPat+fixRPOpPrec rp = case rp of+ HsRPOp rp rpop -> fPrecOp rp (flip HsRPOp rpop)+ HsRPEither rp1 rp2 -> HsRPEither (fixRPOpPrec rp1) (fixRPOpPrec rp2)+ HsRPSeq rps -> HsRPSeq $ map fixRPOpPrec rps+ HsRPCAs n rp -> HsRPCAs n $ fixRPOpPrec rp+ HsRPAs n rp -> HsRPAs n $ fixRPOpPrec rp+ HsRPParen rp -> HsRPParen $ fixRPOpPrec rp+ _ -> rp++ where fPrecOp :: HsRPat -> (HsRPat -> HsRPat) -> HsRPat+ fPrecOp (HsRPOp rp rpop) f = fPrecOp rp (f . flip HsRPOp rpop)+ fPrecOp (HsRPCAs n rp) f = fPrecAs rp f (HsRPCAs n)+ fPrecOp (HsRPAs n rp) f = fPrecAs rp f (HsRPAs n)+ fPrecOp rp f = f $ fixRPOpPrec rp+ fPrecAs :: HsRPat -> (HsRPat -> HsRPat) -> (HsRPat -> HsRPat) -> HsRPat+ fPrecAs (HsRPCAs n rp) f g = fPrecAs rp f (g . HsRPCAs n)+ fPrecAs (HsRPAs n rp) f g = fPrecAs rp f (g . HsRPAs n)+ fPrecAs rp f g = g . f $ fixRPOpPrec rp+++mkChildrenPat :: [HsPat] -> [HsPat] mkChildrenPat ps = mkCPAux ps []- where mkCPAux :: [HsPat] -> [HsPat] -> HsPat- mkCPAux [] qs = HsPList $ reverse qs- mkCPAux (p:ps) qs = case p of- (HsPRPat s rps) -> mkCRP s ps (reverse rps ++ map HsRPPat qs)- _ -> mkCPAux ps (p:qs)- - mkCRP :: SrcLoc -> [HsPat] -> [HsRPat] -> HsPat- mkCRP s [] rps = HsPRPat s $ reverse rps- mkCRP s (p:ps) rps = case p of- (HsPRPat _ rqs) -> mkCRP s ps (reverse rqs ++ rps)- _ -> mkCRP s ps (HsRPPat p : rps)+ where mkCPAux :: [HsPat] -> [HsPat] -> [HsPat]+ mkCPAux [] qs = reverse qs+ mkCPAux (p:ps) qs = case p of+ (HsPRPat rps) -> [mkCRP ps (reverse rps ++ map HsRPPat qs)]+ _ -> mkCPAux ps (p:qs)+ + mkCRP :: [HsPat] -> [HsRPat] -> HsPat+ mkCRP [] rps = HsPXRPats $ reverse rps+ mkCRP (p:ps) rps = case p of+ (HsPXRPats rqs) -> mkCRP ps (reverse rqs ++ rps)+ _ -> mkCRP ps (HsRPPat p : rps) ----------------------------------------------------------------------------- -- Check Expression Syntax checkExpr :: HsExp -> P HsExp checkExpr e = case e of- HsVar _ -> return e- HsIPVar _ -> return e- HsCon _ -> return e- HsLit _ -> return e- HsInfixApp e1 op e2 -> check2Exprs e1 e2 (flip HsInfixApp op)- HsApp e1 e2 -> check2Exprs e1 e2 HsApp- HsNegApp e -> check1Expr e HsNegApp- HsLambda loc ps e -> check1Expr e (HsLambda loc ps)- HsLet bs e -> check1Expr e (HsLet bs)- HsDLet bs e -> check1Expr e (HsDLet bs)- HsWith e bs -> check1Expr e (flip HsWith bs)- HsIf e1 e2 e3 -> check3Exprs e1 e2 e3 HsIf- HsCase e alts -> do- alts <- mapM checkAlt alts- e <- checkExpr e- return (HsCase e alts)- HsDo stmts -> do- stmts <- mapM checkStmt stmts- return (HsDo stmts)- HsMDo stmts -> do- stmts <- mapM checkStmt stmts- return (HsMDo stmts)- HsTuple es -> checkManyExprs es HsTuple- HsList es -> checkManyExprs es HsList- HsParen e -> check1Expr e HsParen- HsLeftSection e op -> check1Expr e (flip HsLeftSection op)- HsRightSection op e -> check1Expr e (HsRightSection op)- HsRecConstr c fields -> do- fields <- mapM checkField fields- return (HsRecConstr c fields)- HsRecUpdate e fields -> do- fields <- mapM checkField fields- e <- checkExpr e- return (HsRecUpdate e fields)- HsEnumFrom e -> check1Expr e HsEnumFrom- HsEnumFromTo e1 e2 -> check2Exprs e1 e2 HsEnumFromTo- HsEnumFromThen e1 e2 -> check2Exprs e1 e2 HsEnumFromThen- HsEnumFromThenTo e1 e2 e3 -> check3Exprs e1 e2 e3 HsEnumFromThenTo- HsListComp e stmts -> do- stmts <- mapM checkStmt stmts- e <- checkExpr e- return (HsListComp e stmts)- HsExpTypeSig loc e ty -> do- e <- checkExpr e- return (HsExpTypeSig loc e ty)- - --Template Haskell- HsReifyExp _ -> return e- HsBracketExp _ -> return e- HsSpliceExp _ -> return e- - -- Hsx- HsXTag s n attrs mattr cs -> do attrs <- mapM checkAttr attrs- cs <- mapM checkExpr cs- mattr <- maybe (return Nothing) - (\e -> checkExpr e >>= return . Just) - mattr - return $ HsXTag s n attrs mattr cs- HsXETag s n attrs mattr -> do attrs <- mapM checkAttr attrs- mattr <- maybe (return Nothing) - (\e -> checkExpr e >>= return . Just) - mattr - return $ HsXETag s n attrs mattr - HsXPcdata _ -> return e- HsXExpTag e -> do e <- checkExpr e- return $ HsXExpTag e- _ -> fail $ "Parse error in expression: " ++ show e+ HsVar _ -> return e+ HsIPVar _ -> return e+ HsCon _ -> return e+ HsLit _ -> return e+ HsInfixApp e1 op e2 -> check2Exprs e1 e2 (flip HsInfixApp op)+ HsApp e1 e2 -> check2Exprs e1 e2 HsApp+ HsNegApp e -> check1Expr e HsNegApp+ HsLambda loc ps e -> check1Expr e (HsLambda loc ps)+ HsLet bs e -> check1Expr e (HsLet bs)+ HsDLet bs e -> check1Expr e (HsDLet bs)+ HsWith e bs -> check1Expr e (flip HsWith bs)+ HsIf e1 e2 e3 -> check3Exprs e1 e2 e3 HsIf+ HsCase e alts -> do+ alts <- mapM checkAlt alts+ e <- checkExpr e+ return (HsCase e alts)+ HsDo stmts -> do+ stmts <- mapM checkStmt stmts+ return (HsDo stmts)+ HsMDo stmts -> do+ stmts <- mapM checkStmt stmts+ return (HsMDo stmts)+ HsTuple es -> checkManyExprs es HsTuple+ HsList es -> checkManyExprs es HsList+ -- Since we don't parse things as left sections, we need to mangle them into that.+ HsParen e -> case e of+ HsPostOp e1 op -> check1Expr e1 (flip HsLeftSection op)+ _ -> check1Expr e HsParen+ --HsLeftSection e op -> check1Expr e (flip HsLeftSection op)+ HsRightSection op e -> check1Expr e (HsRightSection op)+ HsRecConstr c fields -> do+ fields <- mapM checkField fields+ return (HsRecConstr c fields)+ HsRecUpdate e fields -> do+ fields <- mapM checkField fields+ e <- checkExpr e+ return (HsRecUpdate e fields)+ HsEnumFrom e -> check1Expr e HsEnumFrom+ HsEnumFromTo e1 e2 -> check2Exprs e1 e2 HsEnumFromTo+ HsEnumFromThen e1 e2 -> check2Exprs e1 e2 HsEnumFromThen+ HsEnumFromThenTo e1 e2 e3 -> check3Exprs e1 e2 e3 HsEnumFromThenTo+ HsListComp e stmts -> do+ stmts <- mapM checkStmt stmts+ e <- checkExpr e+ return (HsListComp e stmts)+ HsExpTypeSig loc e ty -> do+ e <- checkExpr e+ return (HsExpTypeSig loc e ty)+ + --Template Haskell+ HsReifyExp _ -> return e+ HsBracketExp _ -> return e+ HsSpliceExp _ -> return e+ + -- Hsx+ HsXTag s n attrs mattr cs -> do attrs <- mapM checkAttr attrs+ cs <- mapM checkExpr cs+ mattr <- maybe (return Nothing) + (\e -> checkExpr e >>= return . Just) + mattr + return $ HsXTag s n attrs mattr cs+ HsXETag s n attrs mattr -> do attrs <- mapM checkAttr attrs+ mattr <- maybe (return Nothing) + (\e -> checkExpr e >>= return . Just) + mattr + return $ HsXETag s n attrs mattr + HsXPcdata _ -> return e+ HsXExpTag e -> do e <- checkExpr e+ return $ HsXExpTag e+ _ -> fail $ "Parse error in expression: " ++ show e checkAttr :: HsXAttr -> P HsXAttr checkAttr (HsXAttr n v) = do v <- checkExpr v- return $ HsXAttr n v+ return $ HsXAttr n v -- type signature for polymorphic recursion!! check1Expr :: HsExp -> (HsExp -> a) -> P a check1Expr e1 f = do- e1 <- checkExpr e1- return (f e1)+ e1 <- checkExpr e1+ return (f e1) check2Exprs :: HsExp -> HsExp -> (HsExp -> HsExp -> a) -> P a check2Exprs e1 e2 f = do- e1 <- checkExpr e1- e2 <- checkExpr e2- return (f e1 e2)+ e1 <- checkExpr e1+ e2 <- checkExpr e2+ return (f e1 e2) check3Exprs :: HsExp -> HsExp -> HsExp -> (HsExp -> HsExp -> HsExp -> a) -> P a check3Exprs e1 e2 e3 f = do- e1 <- checkExpr e1- e2 <- checkExpr e2- e3 <- checkExpr e3- return (f e1 e2 e3)+ e1 <- checkExpr e1+ e2 <- checkExpr e2+ e3 <- checkExpr e3+ return (f e1 e2 e3) checkManyExprs :: [HsExp] -> ([HsExp] -> a) -> P a checkManyExprs es f = do- es <- mapM checkExpr es- return (f es)+ es <- mapM checkExpr es+ return (f es) checkAlt :: HsAlt -> P HsAlt checkAlt (HsAlt loc p galts bs) = do- galts <- checkGAlts galts- return (HsAlt loc p galts bs)+ galts <- checkGAlts galts+ return (HsAlt loc p galts bs) checkGAlts :: HsGuardedAlts -> P HsGuardedAlts checkGAlts (HsUnGuardedAlt e) = check1Expr e HsUnGuardedAlt checkGAlts (HsGuardedAlts galts) = do- galts <- mapM checkGAlt galts- return (HsGuardedAlts galts)+ galts <- mapM checkGAlt galts+ return (HsGuardedAlts galts) checkGAlt :: HsGuardedAlt -> P HsGuardedAlt checkGAlt (HsGuardedAlt loc g e) = check1Expr e (HsGuardedAlt loc g)@@ -405,12 +440,12 @@ checkValDef :: SrcLoc -> HsExp -> HsRhs -> HsBinds -> P HsDecl checkValDef srcloc lhs rhs whereBinds = case isFunLhs lhs [] of- Just (f,es) -> do- ps <- mapM checkPattern es- return (HsFunBind [HsMatch srcloc f ps rhs whereBinds])- Nothing -> do- lhs <- checkPattern lhs- return (HsPatBind srcloc lhs rhs whereBinds)+ Just (f,es) -> do+ ps <- mapM checkPattern es+ return (HsFunBind [HsMatch srcloc f ps rhs whereBinds])+ Nothing -> do+ lhs <- checkPattern lhs+ return (HsPatBind srcloc lhs rhs whereBinds) -- A variable binding is parsed as an HsPatBind. @@ -426,22 +461,22 @@ checkClassBody :: [HsClassDecl] -> P [HsClassDecl] checkClassBody decls = do- mapM_ checkClassMethodDef decls- return decls+ mapM_ checkClassMethodDef decls+ return decls where checkClassMethodDef (HsClsDecl decl) = checkMethodDef decl- checkClassMethodDef _ = return ()+ checkClassMethodDef _ = return () checkInstBody :: [HsInstDecl] -> P [HsInstDecl] checkInstBody decls = do- mapM_ checkInstMethodDef decls- return decls+ mapM_ checkInstMethodDef decls+ return decls where checkInstMethodDef (HsInsDecl decl) = checkMethodDef decl- checkInstMethodDef _ = return ()+ checkInstMethodDef _ = return () checkMethodDef :: HsDecl -> P () checkMethodDef (HsPatBind _ (HsPVar _) _ _) = return () checkMethodDef (HsPatBind loc _ _ _) =- fail "illegal method definition" `atSrcLoc` loc+ fail "illegal method definition" `atSrcLoc` loc checkMethodDef _ = return () -----------------------------------------------------------------------------@@ -460,11 +495,11 @@ checkEqNames :: HsXName -> HsXName -> P HsXName checkEqNames n@(HsXName n1) (HsXName n2) - | n1 == n2 = return n- | otherwise = fail "names in matching xml tags are not equal"+ | n1 == n2 = return n+ | otherwise = fail "names in matching xml tags are not equal" checkEqNames n@(HsXDomName d1 n1) (HsXDomName d2 n2)- | n1 == n2 && d1 == d2 = return n- | otherwise = fail "names in matching xml tags are not equal"+ | n1 == n2 && d1 == d2 = return n+ | otherwise = fail "names in matching xml tags are not equal" checkEqNames _ _ = fail "names in matching xml tags are not equal" @@ -473,7 +508,7 @@ checkPrec :: Integer -> P Int checkPrec i | 0 <= i && i <= 9 = return (fromInteger i)-checkPrec i | otherwise = fail ("Illegal precedence " ++ show i)+checkPrec i | otherwise = fail ("Illegal precedence " ++ show i) mkRecConstrOrUpdate :: HsExp -> [HsFieldUpdate] -> P HsExp mkRecConstrOrUpdate (HsCon c) fs = return (HsRecConstr c fs)@@ -487,53 +522,53 @@ checkRevDecls :: [HsDecl] -> P [HsDecl] checkRevDecls = mergeFunBinds [] where- mergeFunBinds revDs [] = return revDs- mergeFunBinds revDs (HsFunBind ms1@(HsMatch _ name ps _ _:_):ds1) =- mergeMatches ms1 ds1- where- arity = length ps- mergeMatches ms' (HsFunBind ms@(HsMatch loc name' ps' _ _:_):ds)- | name' == name =- if length ps' /= arity- then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")- `atSrcLoc` loc- else mergeMatches (ms++ms') ds- mergeMatches ms' ds = mergeFunBinds (HsFunBind ms':revDs) ds- mergeFunBinds revDs (d:ds) = mergeFunBinds (d:revDs) ds+ mergeFunBinds revDs [] = return revDs+ mergeFunBinds revDs (HsFunBind ms1@(HsMatch _ name ps _ _:_):ds1) =+ mergeMatches ms1 ds1+ where+ arity = length ps+ mergeMatches ms' (HsFunBind ms@(HsMatch loc name' ps' _ _:_):ds)+ | name' == name =+ if length ps' /= arity+ then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")+ `atSrcLoc` loc+ else mergeMatches (ms++ms') ds+ mergeMatches ms' ds = mergeFunBinds (HsFunBind ms':revDs) ds+ mergeFunBinds revDs (d:ds) = mergeFunBinds (d:revDs) ds checkRevClsDecls :: [HsClassDecl] -> P [HsClassDecl] checkRevClsDecls = mergeClsFunBinds [] where- mergeClsFunBinds revDs [] = return revDs- mergeClsFunBinds revDs (HsClsDecl (HsFunBind ms1@(HsMatch _ name ps _ _:_)):ds1) =- mergeMatches ms1 ds1- where- arity = length ps- mergeMatches ms' (HsClsDecl (HsFunBind ms@(HsMatch loc name' ps' _ _:_)):ds)- | name' == name =- if length ps' /= arity- then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")- `atSrcLoc` loc- else mergeMatches (ms++ms') ds- mergeMatches ms' ds = mergeClsFunBinds (HsClsDecl (HsFunBind ms'):revDs) ds- mergeClsFunBinds revDs (d:ds) = mergeClsFunBinds (d:revDs) ds+ mergeClsFunBinds revDs [] = return revDs+ mergeClsFunBinds revDs (HsClsDecl (HsFunBind ms1@(HsMatch _ name ps _ _:_)):ds1) =+ mergeMatches ms1 ds1+ where+ arity = length ps+ mergeMatches ms' (HsClsDecl (HsFunBind ms@(HsMatch loc name' ps' _ _:_)):ds)+ | name' == name =+ if length ps' /= arity+ then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")+ `atSrcLoc` loc+ else mergeMatches (ms++ms') ds+ mergeMatches ms' ds = mergeClsFunBinds (HsClsDecl (HsFunBind ms'):revDs) ds+ mergeClsFunBinds revDs (d:ds) = mergeClsFunBinds (d:revDs) ds checkRevInstDecls :: [HsInstDecl] -> P [HsInstDecl] checkRevInstDecls = mergeInstFunBinds [] where- mergeInstFunBinds revDs [] = return revDs- mergeInstFunBinds revDs (HsInsDecl (HsFunBind ms1@(HsMatch _ name ps _ _:_)):ds1) =- mergeMatches ms1 ds1- where- arity = length ps- mergeMatches ms' (HsInsDecl (HsFunBind ms@(HsMatch loc name' ps' _ _:_)):ds)- | name' == name =- if length ps' /= arity- then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")- `atSrcLoc` loc- else mergeMatches (ms++ms') ds- mergeMatches ms' ds = mergeInstFunBinds (HsInsDecl (HsFunBind ms'):revDs) ds- mergeInstFunBinds revDs (d:ds) = mergeInstFunBinds (d:revDs) ds+ mergeInstFunBinds revDs [] = return revDs+ mergeInstFunBinds revDs (HsInsDecl (HsFunBind ms1@(HsMatch _ name ps _ _:_)):ds1) =+ mergeMatches ms1 ds1+ where+ arity = length ps+ mergeMatches ms' (HsInsDecl (HsFunBind ms@(HsMatch loc name' ps' _ _:_)):ds)+ | name' == name =+ if length ps' /= arity+ then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")+ `atSrcLoc` loc+ else mergeMatches (ms++ms') ds+ mergeMatches ms' ds = mergeInstFunBinds (HsInsDecl (HsFunBind ms'):revDs) ds+ mergeInstFunBinds revDs (d:ds) = mergeInstFunBinds (d:revDs) ds ---------------------------------------------------------------- -- Check that newtype declarations have@@ -553,26 +588,26 @@ pageFun :: SrcLoc -> HsExp -> HsDecl pageFun loc e = HsPatBind loc namePat rhs (HsBDecls []) where namePat = HsPVar $ HsIdent "page"- rhs = HsUnGuardedRhs e+ rhs = HsUnGuardedRhs e mkPage :: HsModule -> SrcLoc -> HsExp -> P HsModule mkPage (HsModule src md exps imps decls) loc xml = do- let page = pageFun loc xml- return $ HsModule src md exps imps (decls ++ [page])- + let page = pageFun loc xml+ return $ HsModule src md exps imps (decls ++ [page])+ mkPageModule :: HsExp -> P HsModule mkPageModule xml = do - do loc <- case xml of - HsXTag l _ _ _ _ -> return l- HsXETag l _ _ _ -> return l- _ -> fail "Will not happen since mkPageModule is only called on XML expressions"- mod <- getModuleName- return $ (HsModule - loc- (Module mod)- (Just [HsEVar $ UnQual $ HsIdent "page"])- []- [pageFun loc xml])+ do loc <- case xml of + HsXTag l _ _ _ _ -> return l+ HsXETag l _ _ _ -> return l+ _ -> fail "Will not happen since mkPageModule is only called on XML expressions"+ mod <- getModuleName+ return $ (HsModule + loc+ (Module mod)+ (Just [HsEVar $ UnQual $ HsIdent "page"])+ []+ [pageFun loc xml]) --------------------------------------- -- Handle dash-identifiers@@ -593,9 +628,9 @@ mkHsTyForall mtvs ctxt ty = HsTyForall mtvs ctxt ty -- mk_forall_ty makes a pure for-all type (no context)-mk_forall_ty (Just []) ty = ty -- Explicit for-all with no tyvars+mk_forall_ty (Just []) ty = ty -- Explicit for-all with no tyvars mk_forall_ty mtvs1 (HsTyForall mtvs2 ctxt ty) = mkHsTyForall (mtvs1 `plus` mtvs2) ctxt ty-mk_forall_ty mtvs1 ty = HsTyForall mtvs1 [] ty+mk_forall_ty mtvs1 ty = HsTyForall mtvs1 [] ty mtvs1 `plus` Nothing = mtvs1 Nothing `plus` mtvs2 = mtvs2
− Language/Haskell/Exts/Parser.hs
@@ -1,5907 +0,0 @@-{-# OPTIONS -fglasgow-exts -cpp #-} ------------------------------------------------------------------------------ --- | --- Module : Language.Haskell.Exts.Parser --- Original : Language.Haskell.Parser --- Copyright : (c) Niklas Broberg 2004, --- Original (c) Simon Marlow, Sven Panne 1997-2000 --- License : BSD-style (see the file LICENSE.txt) --- --- Maintainer : Niklas Broberg, d00nibro@dtek.chalmers.se --- Stability : experimental --- Portability : portable --- --- ------------------------------------------------------------------------------ -module Language.Haskell.Exts.Parser ( - parseModule, parseModuleWithMode, - ParseMode(..), defaultParseMode, ParseResult(..)) where - -import Language.Haskell.Exts.Syntax -import Language.Haskell.Exts.ParseMonad -import Language.Haskell.Exts.Lexer -import Language.Haskell.Exts.ParseUtils -#if __GLASGOW_HASKELL__ >= 503 -import Data.Array -#else -import Array -#endif -#if __GLASGOW_HASKELL__ >= 503 -import GHC.Exts -#else -import GlaExts -#endif - --- parser produced by Happy Version 1.17 - -newtype HappyAbsSyn = HappyAbsSyn HappyAny -#if __GLASGOW_HASKELL__ >= 607 -type HappyAny = GHC.Exts.Any -#else -type HappyAny = forall a . a -#endif -happyIn4 :: (HsModule) -> (HappyAbsSyn ) -happyIn4 x = unsafeCoerce# x -{-# INLINE happyIn4 #-} -happyOut4 :: (HappyAbsSyn ) -> (HsModule) -happyOut4 x = unsafeCoerce# x -{-# INLINE happyOut4 #-} -happyIn5 :: (HsExp) -> (HappyAbsSyn ) -happyIn5 x = unsafeCoerce# x -{-# INLINE happyIn5 #-} -happyOut5 :: (HappyAbsSyn ) -> (HsExp) -happyOut5 x = unsafeCoerce# x -{-# INLINE happyOut5 #-} -happyIn6 :: (HsModule) -> (HappyAbsSyn ) -happyIn6 x = unsafeCoerce# x -{-# INLINE happyIn6 #-} -happyOut6 :: (HappyAbsSyn ) -> (HsModule) -happyOut6 x = unsafeCoerce# x -{-# INLINE happyOut6 #-} -happyIn7 :: (([HsImportDecl],[HsDecl])) -> (HappyAbsSyn ) -happyIn7 x = unsafeCoerce# x -{-# INLINE happyIn7 #-} -happyOut7 :: (HappyAbsSyn ) -> (([HsImportDecl],[HsDecl])) -happyOut7 x = unsafeCoerce# x -{-# INLINE happyOut7 #-} -happyIn8 :: (([HsImportDecl],[HsDecl])) -> (HappyAbsSyn ) -happyIn8 x = unsafeCoerce# x -{-# INLINE happyIn8 #-} -happyOut8 :: (HappyAbsSyn ) -> (([HsImportDecl],[HsDecl])) -happyOut8 x = unsafeCoerce# x -{-# INLINE happyOut8 #-} -happyIn9 :: (()) -> (HappyAbsSyn ) -happyIn9 x = unsafeCoerce# x -{-# INLINE happyIn9 #-} -happyOut9 :: (HappyAbsSyn ) -> (()) -happyOut9 x = unsafeCoerce# x -{-# INLINE happyOut9 #-} -happyIn10 :: (()) -> (HappyAbsSyn ) -happyIn10 x = unsafeCoerce# x -{-# INLINE happyIn10 #-} -happyOut10 :: (HappyAbsSyn ) -> (()) -happyOut10 x = unsafeCoerce# x -{-# INLINE happyOut10 #-} -happyIn11 :: (Maybe [HsExportSpec]) -> (HappyAbsSyn ) -happyIn11 x = unsafeCoerce# x -{-# INLINE happyIn11 #-} -happyOut11 :: (HappyAbsSyn ) -> (Maybe [HsExportSpec]) -happyOut11 x = unsafeCoerce# x -{-# INLINE happyOut11 #-} -happyIn12 :: ([HsExportSpec]) -> (HappyAbsSyn ) -happyIn12 x = unsafeCoerce# x -{-# INLINE happyIn12 #-} -happyOut12 :: (HappyAbsSyn ) -> ([HsExportSpec]) -happyOut12 x = unsafeCoerce# x -{-# INLINE happyOut12 #-} -happyIn13 :: (()) -> (HappyAbsSyn ) -happyIn13 x = unsafeCoerce# x -{-# INLINE happyIn13 #-} -happyOut13 :: (HappyAbsSyn ) -> (()) -happyOut13 x = unsafeCoerce# x -{-# INLINE happyOut13 #-} -happyIn14 :: ([HsExportSpec]) -> (HappyAbsSyn ) -happyIn14 x = unsafeCoerce# x -{-# INLINE happyIn14 #-} -happyOut14 :: (HappyAbsSyn ) -> ([HsExportSpec]) -happyOut14 x = unsafeCoerce# x -{-# INLINE happyOut14 #-} -happyIn15 :: (HsExportSpec) -> (HappyAbsSyn ) -happyIn15 x = unsafeCoerce# x -{-# INLINE happyIn15 #-} -happyOut15 :: (HappyAbsSyn ) -> (HsExportSpec) -happyOut15 x = unsafeCoerce# x -{-# INLINE happyOut15 #-} -happyIn16 :: ([HsImportDecl]) -> (HappyAbsSyn ) -happyIn16 x = unsafeCoerce# x -{-# INLINE happyIn16 #-} -happyOut16 :: (HappyAbsSyn ) -> ([HsImportDecl]) -happyOut16 x = unsafeCoerce# x -{-# INLINE happyOut16 #-} -happyIn17 :: (HsImportDecl) -> (HappyAbsSyn ) -happyIn17 x = unsafeCoerce# x -{-# INLINE happyIn17 #-} -happyOut17 :: (HappyAbsSyn ) -> (HsImportDecl) -happyOut17 x = unsafeCoerce# x -{-# INLINE happyOut17 #-} -happyIn18 :: (Bool) -> (HappyAbsSyn ) -happyIn18 x = unsafeCoerce# x -{-# INLINE happyIn18 #-} -happyOut18 :: (HappyAbsSyn ) -> (Bool) -happyOut18 x = unsafeCoerce# x -{-# INLINE happyOut18 #-} -happyIn19 :: (Maybe Module) -> (HappyAbsSyn ) -happyIn19 x = unsafeCoerce# x -{-# INLINE happyIn19 #-} -happyOut19 :: (HappyAbsSyn ) -> (Maybe Module) -happyOut19 x = unsafeCoerce# x -{-# INLINE happyOut19 #-} -happyIn20 :: (Maybe (Bool, [HsImportSpec])) -> (HappyAbsSyn ) -happyIn20 x = unsafeCoerce# x -{-# INLINE happyIn20 #-} -happyOut20 :: (HappyAbsSyn ) -> (Maybe (Bool, [HsImportSpec])) -happyOut20 x = unsafeCoerce# x -{-# INLINE happyOut20 #-} -happyIn21 :: ((Bool, [HsImportSpec])) -> (HappyAbsSyn ) -happyIn21 x = unsafeCoerce# x -{-# INLINE happyIn21 #-} -happyOut21 :: (HappyAbsSyn ) -> ((Bool, [HsImportSpec])) -happyOut21 x = unsafeCoerce# x -{-# INLINE happyOut21 #-} -happyIn22 :: (Bool) -> (HappyAbsSyn ) -happyIn22 x = unsafeCoerce# x -{-# INLINE happyIn22 #-} -happyOut22 :: (HappyAbsSyn ) -> (Bool) -happyOut22 x = unsafeCoerce# x -{-# INLINE happyOut22 #-} -happyIn23 :: ([HsImportSpec]) -> (HappyAbsSyn ) -happyIn23 x = unsafeCoerce# x -{-# INLINE happyIn23 #-} -happyOut23 :: (HappyAbsSyn ) -> ([HsImportSpec]) -happyOut23 x = unsafeCoerce# x -{-# INLINE happyOut23 #-} -happyIn24 :: (HsImportSpec) -> (HappyAbsSyn ) -happyIn24 x = unsafeCoerce# x -{-# INLINE happyIn24 #-} -happyOut24 :: (HappyAbsSyn ) -> (HsImportSpec) -happyOut24 x = unsafeCoerce# x -{-# INLINE happyOut24 #-} -happyIn25 :: ([HsCName]) -> (HappyAbsSyn ) -happyIn25 x = unsafeCoerce# x -{-# INLINE happyIn25 #-} -happyOut25 :: (HappyAbsSyn ) -> ([HsCName]) -happyOut25 x = unsafeCoerce# x -{-# INLINE happyOut25 #-} -happyIn26 :: (HsCName) -> (HappyAbsSyn ) -happyIn26 x = unsafeCoerce# x -{-# INLINE happyIn26 #-} -happyOut26 :: (HappyAbsSyn ) -> (HsCName) -happyOut26 x = unsafeCoerce# x -{-# INLINE happyOut26 #-} -happyIn27 :: (HsDecl) -> (HappyAbsSyn ) -happyIn27 x = unsafeCoerce# x -{-# INLINE happyIn27 #-} -happyOut27 :: (HappyAbsSyn ) -> (HsDecl) -happyOut27 x = unsafeCoerce# x -{-# INLINE happyOut27 #-} -happyIn28 :: (Int) -> (HappyAbsSyn ) -happyIn28 x = unsafeCoerce# x -{-# INLINE happyIn28 #-} -happyOut28 :: (HappyAbsSyn ) -> (Int) -happyOut28 x = unsafeCoerce# x -{-# INLINE happyOut28 #-} -happyIn29 :: (HsAssoc) -> (HappyAbsSyn ) -happyIn29 x = unsafeCoerce# x -{-# INLINE happyIn29 #-} -happyOut29 :: (HappyAbsSyn ) -> (HsAssoc) -happyOut29 x = unsafeCoerce# x -{-# INLINE happyOut29 #-} -happyIn30 :: ([HsOp]) -> (HappyAbsSyn ) -happyIn30 x = unsafeCoerce# x -{-# INLINE happyIn30 #-} -happyOut30 :: (HappyAbsSyn ) -> ([HsOp]) -happyOut30 x = unsafeCoerce# x -{-# INLINE happyOut30 #-} -happyIn31 :: ([HsDecl]) -> (HappyAbsSyn ) -happyIn31 x = unsafeCoerce# x -{-# INLINE happyIn31 #-} -happyOut31 :: (HappyAbsSyn ) -> ([HsDecl]) -happyOut31 x = unsafeCoerce# x -{-# INLINE happyOut31 #-} -happyIn32 :: ([HsDecl]) -> (HappyAbsSyn ) -happyIn32 x = unsafeCoerce# x -{-# INLINE happyIn32 #-} -happyOut32 :: (HappyAbsSyn ) -> ([HsDecl]) -happyOut32 x = unsafeCoerce# x -{-# INLINE happyOut32 #-} -happyIn33 :: (HsDecl) -> (HappyAbsSyn ) -happyIn33 x = unsafeCoerce# x -{-# INLINE happyIn33 #-} -happyOut33 :: (HappyAbsSyn ) -> (HsDecl) -happyOut33 x = unsafeCoerce# x -{-# INLINE happyOut33 #-} -happyIn34 :: (DataOrNew) -> (HappyAbsSyn ) -happyIn34 x = unsafeCoerce# x -{-# INLINE happyIn34 #-} -happyOut34 :: (HappyAbsSyn ) -> (DataOrNew) -happyOut34 x = unsafeCoerce# x -{-# INLINE happyOut34 #-} -happyIn35 :: ([HsType]) -> (HappyAbsSyn ) -happyIn35 x = unsafeCoerce# x -{-# INLINE happyIn35 #-} -happyOut35 :: (HappyAbsSyn ) -> ([HsType]) -happyOut35 x = unsafeCoerce# x -{-# INLINE happyOut35 #-} -happyIn36 :: ([HsDecl]) -> (HappyAbsSyn ) -happyIn36 x = unsafeCoerce# x -{-# INLINE happyIn36 #-} -happyOut36 :: (HappyAbsSyn ) -> ([HsDecl]) -happyOut36 x = unsafeCoerce# x -{-# INLINE happyOut36 #-} -happyIn37 :: ([HsDecl]) -> (HappyAbsSyn ) -happyIn37 x = unsafeCoerce# x -{-# INLINE happyIn37 #-} -happyOut37 :: (HappyAbsSyn ) -> ([HsDecl]) -happyOut37 x = unsafeCoerce# x -{-# INLINE happyOut37 #-} -happyIn38 :: (HsDecl) -> (HappyAbsSyn ) -happyIn38 x = unsafeCoerce# x -{-# INLINE happyIn38 #-} -happyOut38 :: (HappyAbsSyn ) -> (HsDecl) -happyOut38 x = unsafeCoerce# x -{-# INLINE happyOut38 #-} -happyIn39 :: ([HsDecl]) -> (HappyAbsSyn ) -happyIn39 x = unsafeCoerce# x -{-# INLINE happyIn39 #-} -happyOut39 :: (HappyAbsSyn ) -> ([HsDecl]) -happyOut39 x = unsafeCoerce# x -{-# INLINE happyOut39 #-} -happyIn40 :: (HsDecl) -> (HappyAbsSyn ) -happyIn40 x = unsafeCoerce# x -{-# INLINE happyIn40 #-} -happyOut40 :: (HappyAbsSyn ) -> (HsDecl) -happyOut40 x = unsafeCoerce# x -{-# INLINE happyOut40 #-} -happyIn41 :: (HsBinds) -> (HappyAbsSyn ) -happyIn41 x = unsafeCoerce# x -{-# INLINE happyIn41 #-} -happyOut41 :: (HappyAbsSyn ) -> (HsBinds) -happyOut41 x = unsafeCoerce# x -{-# INLINE happyOut41 #-} -happyIn42 :: ([HsName]) -> (HappyAbsSyn ) -happyIn42 x = unsafeCoerce# x -{-# INLINE happyIn42 #-} -happyOut42 :: (HappyAbsSyn ) -> ([HsName]) -happyOut42 x = unsafeCoerce# x -{-# INLINE happyOut42 #-} -happyIn43 :: (HsCallConv) -> (HappyAbsSyn ) -happyIn43 x = unsafeCoerce# x -{-# INLINE happyIn43 #-} -happyOut43 :: (HappyAbsSyn ) -> (HsCallConv) -happyOut43 x = unsafeCoerce# x -{-# INLINE happyOut43 #-} -happyIn44 :: (HsSafety) -> (HappyAbsSyn ) -happyIn44 x = unsafeCoerce# x -{-# INLINE happyIn44 #-} -happyOut44 :: (HappyAbsSyn ) -> (HsSafety) -happyOut44 x = unsafeCoerce# x -{-# INLINE happyOut44 #-} -happyIn45 :: ((String, HsName, HsType)) -> (HappyAbsSyn ) -happyIn45 x = unsafeCoerce# x -{-# INLINE happyIn45 #-} -happyOut45 :: (HappyAbsSyn ) -> ((String, HsName, HsType)) -happyOut45 x = unsafeCoerce# x -{-# INLINE happyOut45 #-} -happyIn46 :: (HsType) -> (HappyAbsSyn ) -happyIn46 x = unsafeCoerce# x -{-# INLINE happyIn46 #-} -happyOut46 :: (HappyAbsSyn ) -> (HsType) -happyOut46 x = unsafeCoerce# x -{-# INLINE happyOut46 #-} -happyIn47 :: (HsType) -> (HappyAbsSyn ) -happyIn47 x = unsafeCoerce# x -{-# INLINE happyIn47 #-} -happyOut47 :: (HappyAbsSyn ) -> (HsType) -happyOut47 x = unsafeCoerce# x -{-# INLINE happyOut47 #-} -happyIn48 :: (HsType) -> (HappyAbsSyn ) -happyIn48 x = unsafeCoerce# x -{-# INLINE happyIn48 #-} -happyOut48 :: (HappyAbsSyn ) -> (HsType) -happyOut48 x = unsafeCoerce# x -{-# INLINE happyOut48 #-} -happyIn49 :: (HsType) -> (HappyAbsSyn ) -happyIn49 x = unsafeCoerce# x -{-# INLINE happyIn49 #-} -happyOut49 :: (HappyAbsSyn ) -> (HsType) -happyOut49 x = unsafeCoerce# x -{-# INLINE happyOut49 #-} -happyIn50 :: (HsQName) -> (HappyAbsSyn ) -happyIn50 x = unsafeCoerce# x -{-# INLINE happyIn50 #-} -happyOut50 :: (HappyAbsSyn ) -> (HsQName) -happyOut50 x = unsafeCoerce# x -{-# INLINE happyOut50 #-} -happyIn51 :: (HsQName) -> (HappyAbsSyn ) -happyIn51 x = unsafeCoerce# x -{-# INLINE happyIn51 #-} -happyOut51 :: (HappyAbsSyn ) -> (HsQName) -happyOut51 x = unsafeCoerce# x -{-# INLINE happyOut51 #-} -happyIn52 :: (HsType) -> (HappyAbsSyn ) -happyIn52 x = unsafeCoerce# x -{-# INLINE happyIn52 #-} -happyOut52 :: (HappyAbsSyn ) -> (HsType) -happyOut52 x = unsafeCoerce# x -{-# INLINE happyOut52 #-} -happyIn53 :: (HsContext) -> (HappyAbsSyn ) -happyIn53 x = unsafeCoerce# x -{-# INLINE happyIn53 #-} -happyOut53 :: (HappyAbsSyn ) -> (HsContext) -happyOut53 x = unsafeCoerce# x -{-# INLINE happyOut53 #-} -happyIn54 :: ([HsType]) -> (HappyAbsSyn ) -happyIn54 x = unsafeCoerce# x -{-# INLINE happyIn54 #-} -happyOut54 :: (HappyAbsSyn ) -> ([HsType]) -happyOut54 x = unsafeCoerce# x -{-# INLINE happyOut54 #-} -happyIn55 :: ([HsType]) -> (HappyAbsSyn ) -happyIn55 x = unsafeCoerce# x -{-# INLINE happyIn55 #-} -happyOut55 :: (HappyAbsSyn ) -> ([HsType]) -happyOut55 x = unsafeCoerce# x -{-# INLINE happyOut55 #-} -happyIn56 :: ([HsTyVarBind]) -> (HappyAbsSyn ) -happyIn56 x = unsafeCoerce# x -{-# INLINE happyIn56 #-} -happyOut56 :: (HappyAbsSyn ) -> ([HsTyVarBind]) -happyOut56 x = unsafeCoerce# x -{-# INLINE happyOut56 #-} -happyIn57 :: (HsTyVarBind) -> (HappyAbsSyn ) -happyIn57 x = unsafeCoerce# x -{-# INLINE happyIn57 #-} -happyOut57 :: (HappyAbsSyn ) -> (HsTyVarBind) -happyOut57 x = unsafeCoerce# x -{-# INLINE happyOut57 #-} -happyIn58 :: ([HsName]) -> (HappyAbsSyn ) -happyIn58 x = unsafeCoerce# x -{-# INLINE happyIn58 #-} -happyOut58 :: (HappyAbsSyn ) -> ([HsName]) -happyOut58 x = unsafeCoerce# x -{-# INLINE happyOut58 #-} -happyIn59 :: ([HsFunDep]) -> (HappyAbsSyn ) -happyIn59 x = unsafeCoerce# x -{-# INLINE happyIn59 #-} -happyOut59 :: (HappyAbsSyn ) -> ([HsFunDep]) -happyOut59 x = unsafeCoerce# x -{-# INLINE happyOut59 #-} -happyIn60 :: ([HsFunDep]) -> (HappyAbsSyn ) -happyIn60 x = unsafeCoerce# x -{-# INLINE happyIn60 #-} -happyOut60 :: (HappyAbsSyn ) -> ([HsFunDep]) -happyOut60 x = unsafeCoerce# x -{-# INLINE happyOut60 #-} -happyIn61 :: (HsFunDep) -> (HappyAbsSyn ) -happyIn61 x = unsafeCoerce# x -{-# INLINE happyIn61 #-} -happyOut61 :: (HappyAbsSyn ) -> (HsFunDep) -happyOut61 x = unsafeCoerce# x -{-# INLINE happyOut61 #-} -happyIn62 :: ([HsGadtDecl]) -> (HappyAbsSyn ) -happyIn62 x = unsafeCoerce# x -{-# INLINE happyIn62 #-} -happyOut62 :: (HappyAbsSyn ) -> ([HsGadtDecl]) -happyOut62 x = unsafeCoerce# x -{-# INLINE happyOut62 #-} -happyIn63 :: ([HsGadtDecl]) -> (HappyAbsSyn ) -happyIn63 x = unsafeCoerce# x -{-# INLINE happyIn63 #-} -happyOut63 :: (HappyAbsSyn ) -> ([HsGadtDecl]) -happyOut63 x = unsafeCoerce# x -{-# INLINE happyOut63 #-} -happyIn64 :: ([HsGadtDecl]) -> (HappyAbsSyn ) -happyIn64 x = unsafeCoerce# x -{-# INLINE happyIn64 #-} -happyOut64 :: (HappyAbsSyn ) -> ([HsGadtDecl]) -happyOut64 x = unsafeCoerce# x -{-# INLINE happyOut64 #-} -happyIn65 :: (HsGadtDecl) -> (HappyAbsSyn ) -happyIn65 x = unsafeCoerce# x -{-# INLINE happyIn65 #-} -happyOut65 :: (HappyAbsSyn ) -> (HsGadtDecl) -happyOut65 x = unsafeCoerce# x -{-# INLINE happyOut65 #-} -happyIn66 :: ([HsQualConDecl]) -> (HappyAbsSyn ) -happyIn66 x = unsafeCoerce# x -{-# INLINE happyIn66 #-} -happyOut66 :: (HappyAbsSyn ) -> ([HsQualConDecl]) -happyOut66 x = unsafeCoerce# x -{-# INLINE happyOut66 #-} -happyIn67 :: ([HsQualConDecl]) -> (HappyAbsSyn ) -happyIn67 x = unsafeCoerce# x -{-# INLINE happyIn67 #-} -happyOut67 :: (HappyAbsSyn ) -> ([HsQualConDecl]) -happyOut67 x = unsafeCoerce# x -{-# INLINE happyOut67 #-} -happyIn68 :: (HsQualConDecl) -> (HappyAbsSyn ) -happyIn68 x = unsafeCoerce# x -{-# INLINE happyIn68 #-} -happyOut68 :: (HappyAbsSyn ) -> (HsQualConDecl) -happyOut68 x = unsafeCoerce# x -{-# INLINE happyOut68 #-} -happyIn69 :: ([HsTyVarBind]) -> (HappyAbsSyn ) -happyIn69 x = unsafeCoerce# x -{-# INLINE happyIn69 #-} -happyOut69 :: (HappyAbsSyn ) -> ([HsTyVarBind]) -happyOut69 x = unsafeCoerce# x -{-# INLINE happyOut69 #-} -happyIn70 :: (HsConDecl) -> (HappyAbsSyn ) -happyIn70 x = unsafeCoerce# x -{-# INLINE happyIn70 #-} -happyOut70 :: (HappyAbsSyn ) -> (HsConDecl) -happyOut70 x = unsafeCoerce# x -{-# INLINE happyOut70 #-} -happyIn71 :: ((HsName, [HsBangType])) -> (HappyAbsSyn ) -happyIn71 x = unsafeCoerce# x -{-# INLINE happyIn71 #-} -happyOut71 :: (HappyAbsSyn ) -> ((HsName, [HsBangType])) -happyOut71 x = unsafeCoerce# x -{-# INLINE happyOut71 #-} -happyIn72 :: ((HsName, [HsBangType])) -> (HappyAbsSyn ) -happyIn72 x = unsafeCoerce# x -{-# INLINE happyIn72 #-} -happyOut72 :: (HappyAbsSyn ) -> ((HsName, [HsBangType])) -happyOut72 x = unsafeCoerce# x -{-# INLINE happyOut72 #-} -happyIn73 :: (HsBangType) -> (HappyAbsSyn ) -happyIn73 x = unsafeCoerce# x -{-# INLINE happyIn73 #-} -happyOut73 :: (HappyAbsSyn ) -> (HsBangType) -happyOut73 x = unsafeCoerce# x -{-# INLINE happyOut73 #-} -happyIn74 :: (HsBangType) -> (HappyAbsSyn ) -happyIn74 x = unsafeCoerce# x -{-# INLINE happyIn74 #-} -happyOut74 :: (HappyAbsSyn ) -> (HsBangType) -happyOut74 x = unsafeCoerce# x -{-# INLINE happyOut74 #-} -happyIn75 :: ([([HsName],HsBangType)]) -> (HappyAbsSyn ) -happyIn75 x = unsafeCoerce# x -{-# INLINE happyIn75 #-} -happyOut75 :: (HappyAbsSyn ) -> ([([HsName],HsBangType)]) -happyOut75 x = unsafeCoerce# x -{-# INLINE happyOut75 #-} -happyIn76 :: (([HsName],HsBangType)) -> (HappyAbsSyn ) -happyIn76 x = unsafeCoerce# x -{-# INLINE happyIn76 #-} -happyOut76 :: (HappyAbsSyn ) -> (([HsName],HsBangType)) -happyOut76 x = unsafeCoerce# x -{-# INLINE happyOut76 #-} -happyIn77 :: (HsBangType) -> (HappyAbsSyn ) -happyIn77 x = unsafeCoerce# x -{-# INLINE happyIn77 #-} -happyOut77 :: (HappyAbsSyn ) -> (HsBangType) -happyOut77 x = unsafeCoerce# x -{-# INLINE happyOut77 #-} -happyIn78 :: ([HsQName]) -> (HappyAbsSyn ) -happyIn78 x = unsafeCoerce# x -{-# INLINE happyIn78 #-} -happyOut78 :: (HappyAbsSyn ) -> ([HsQName]) -happyOut78 x = unsafeCoerce# x -{-# INLINE happyOut78 #-} -happyIn79 :: ([HsQName]) -> (HappyAbsSyn ) -happyIn79 x = unsafeCoerce# x -{-# INLINE happyIn79 #-} -happyOut79 :: (HappyAbsSyn ) -> ([HsQName]) -happyOut79 x = unsafeCoerce# x -{-# INLINE happyOut79 #-} -happyIn80 :: (HsKind) -> (HappyAbsSyn ) -happyIn80 x = unsafeCoerce# x -{-# INLINE happyIn80 #-} -happyOut80 :: (HappyAbsSyn ) -> (HsKind) -happyOut80 x = unsafeCoerce# x -{-# INLINE happyOut80 #-} -happyIn81 :: (HsKind) -> (HappyAbsSyn ) -happyIn81 x = unsafeCoerce# x -{-# INLINE happyIn81 #-} -happyOut81 :: (HappyAbsSyn ) -> (HsKind) -happyOut81 x = unsafeCoerce# x -{-# INLINE happyOut81 #-} -happyIn82 :: (Maybe HsKind) -> (HappyAbsSyn ) -happyIn82 x = unsafeCoerce# x -{-# INLINE happyIn82 #-} -happyOut82 :: (HappyAbsSyn ) -> (Maybe HsKind) -happyOut82 x = unsafeCoerce# x -{-# INLINE happyOut82 #-} -happyIn83 :: ([HsClassDecl]) -> (HappyAbsSyn ) -happyIn83 x = unsafeCoerce# x -{-# INLINE happyIn83 #-} -happyOut83 :: (HappyAbsSyn ) -> ([HsClassDecl]) -happyOut83 x = unsafeCoerce# x -{-# INLINE happyOut83 #-} -happyIn84 :: ([HsClassDecl]) -> (HappyAbsSyn ) -happyIn84 x = unsafeCoerce# x -{-# INLINE happyIn84 #-} -happyOut84 :: (HappyAbsSyn ) -> ([HsClassDecl]) -happyOut84 x = unsafeCoerce# x -{-# INLINE happyOut84 #-} -happyIn85 :: ([HsClassDecl]) -> (HappyAbsSyn ) -happyIn85 x = unsafeCoerce# x -{-# INLINE happyIn85 #-} -happyOut85 :: (HappyAbsSyn ) -> ([HsClassDecl]) -happyOut85 x = unsafeCoerce# x -{-# INLINE happyOut85 #-} -happyIn86 :: ([HsClassDecl]) -> (HappyAbsSyn ) -happyIn86 x = unsafeCoerce# x -{-# INLINE happyIn86 #-} -happyOut86 :: (HappyAbsSyn ) -> ([HsClassDecl]) -happyOut86 x = unsafeCoerce# x -{-# INLINE happyOut86 #-} -happyIn87 :: (HsClassDecl) -> (HappyAbsSyn ) -happyIn87 x = unsafeCoerce# x -{-# INLINE happyIn87 #-} -happyOut87 :: (HappyAbsSyn ) -> (HsClassDecl) -happyOut87 x = unsafeCoerce# x -{-# INLINE happyOut87 #-} -happyIn88 :: (HsClassDecl) -> (HappyAbsSyn ) -happyIn88 x = unsafeCoerce# x -{-# INLINE happyIn88 #-} -happyOut88 :: (HappyAbsSyn ) -> (HsClassDecl) -happyOut88 x = unsafeCoerce# x -{-# INLINE happyOut88 #-} -happyIn89 :: ([HsInstDecl]) -> (HappyAbsSyn ) -happyIn89 x = unsafeCoerce# x -{-# INLINE happyIn89 #-} -happyOut89 :: (HappyAbsSyn ) -> ([HsInstDecl]) -happyOut89 x = unsafeCoerce# x -{-# INLINE happyOut89 #-} -happyIn90 :: ([HsInstDecl]) -> (HappyAbsSyn ) -happyIn90 x = unsafeCoerce# x -{-# INLINE happyIn90 #-} -happyOut90 :: (HappyAbsSyn ) -> ([HsInstDecl]) -happyOut90 x = unsafeCoerce# x -{-# INLINE happyOut90 #-} -happyIn91 :: ([HsInstDecl]) -> (HappyAbsSyn ) -happyIn91 x = unsafeCoerce# x -{-# INLINE happyIn91 #-} -happyOut91 :: (HappyAbsSyn ) -> ([HsInstDecl]) -happyOut91 x = unsafeCoerce# x -{-# INLINE happyOut91 #-} -happyIn92 :: (HsInstDecl) -> (HappyAbsSyn ) -happyIn92 x = unsafeCoerce# x -{-# INLINE happyIn92 #-} -happyOut92 :: (HappyAbsSyn ) -> (HsInstDecl) -happyOut92 x = unsafeCoerce# x -{-# INLINE happyOut92 #-} -happyIn93 :: (HsInstDecl) -> (HappyAbsSyn ) -happyIn93 x = unsafeCoerce# x -{-# INLINE happyIn93 #-} -happyOut93 :: (HappyAbsSyn ) -> (HsInstDecl) -happyOut93 x = unsafeCoerce# x -{-# INLINE happyOut93 #-} -happyIn94 :: (HsDecl) -> (HappyAbsSyn ) -happyIn94 x = unsafeCoerce# x -{-# INLINE happyIn94 #-} -happyOut94 :: (HappyAbsSyn ) -> (HsDecl) -happyOut94 x = unsafeCoerce# x -{-# INLINE happyOut94 #-} -happyIn95 :: (HsBinds) -> (HappyAbsSyn ) -happyIn95 x = unsafeCoerce# x -{-# INLINE happyIn95 #-} -happyOut95 :: (HappyAbsSyn ) -> (HsBinds) -happyOut95 x = unsafeCoerce# x -{-# INLINE happyOut95 #-} -happyIn96 :: (HsRhs) -> (HappyAbsSyn ) -happyIn96 x = unsafeCoerce# x -{-# INLINE happyIn96 #-} -happyOut96 :: (HappyAbsSyn ) -> (HsRhs) -happyOut96 x = unsafeCoerce# x -{-# INLINE happyOut96 #-} -happyIn97 :: ([HsGuardedRhs]) -> (HappyAbsSyn ) -happyIn97 x = unsafeCoerce# x -{-# INLINE happyIn97 #-} -happyOut97 :: (HappyAbsSyn ) -> ([HsGuardedRhs]) -happyOut97 x = unsafeCoerce# x -{-# INLINE happyOut97 #-} -happyIn98 :: (HsGuardedRhs) -> (HappyAbsSyn ) -happyIn98 x = unsafeCoerce# x -{-# INLINE happyIn98 #-} -happyOut98 :: (HappyAbsSyn ) -> (HsGuardedRhs) -happyOut98 x = unsafeCoerce# x -{-# INLINE happyOut98 #-} -happyIn99 :: (HsExp) -> (HappyAbsSyn ) -happyIn99 x = unsafeCoerce# x -{-# INLINE happyIn99 #-} -happyOut99 :: (HappyAbsSyn ) -> (HsExp) -happyOut99 x = unsafeCoerce# x -{-# INLINE happyOut99 #-} -happyIn100 :: (HsExp) -> (HappyAbsSyn ) -happyIn100 x = unsafeCoerce# x -{-# INLINE happyIn100 #-} -happyOut100 :: (HappyAbsSyn ) -> (HsExp) -happyOut100 x = unsafeCoerce# x -{-# INLINE happyOut100 #-} -happyIn101 :: (HsExp) -> (HappyAbsSyn ) -happyIn101 x = unsafeCoerce# x -{-# INLINE happyIn101 #-} -happyOut101 :: (HappyAbsSyn ) -> (HsExp) -happyOut101 x = unsafeCoerce# x -{-# INLINE happyOut101 #-} -happyIn102 :: (HsExp) -> (HappyAbsSyn ) -happyIn102 x = unsafeCoerce# x -{-# INLINE happyIn102 #-} -happyOut102 :: (HappyAbsSyn ) -> (HsExp) -happyOut102 x = unsafeCoerce# x -{-# INLINE happyOut102 #-} -happyIn103 :: (HsExp) -> (HappyAbsSyn ) -happyIn103 x = unsafeCoerce# x -{-# INLINE happyIn103 #-} -happyOut103 :: (HappyAbsSyn ) -> (HsExp) -happyOut103 x = unsafeCoerce# x -{-# INLINE happyOut103 #-} -happyIn104 :: (HsExp) -> (HappyAbsSyn ) -happyIn104 x = unsafeCoerce# x -{-# INLINE happyIn104 #-} -happyOut104 :: (HappyAbsSyn ) -> (HsExp) -happyOut104 x = unsafeCoerce# x -{-# INLINE happyOut104 #-} -happyIn105 :: (HsExp) -> (HappyAbsSyn ) -happyIn105 x = unsafeCoerce# x -{-# INLINE happyIn105 #-} -happyOut105 :: (HappyAbsSyn ) -> (HsExp) -happyOut105 x = unsafeCoerce# x -{-# INLINE happyOut105 #-} -happyIn106 :: ([HsPat]) -> (HappyAbsSyn ) -happyIn106 x = unsafeCoerce# x -{-# INLINE happyIn106 #-} -happyOut106 :: (HappyAbsSyn ) -> ([HsPat]) -happyOut106 x = unsafeCoerce# x -{-# INLINE happyOut106 #-} -happyIn107 :: (HsPat) -> (HappyAbsSyn ) -happyIn107 x = unsafeCoerce# x -{-# INLINE happyIn107 #-} -happyOut107 :: (HappyAbsSyn ) -> (HsPat) -happyOut107 x = unsafeCoerce# x -{-# INLINE happyOut107 #-} -happyIn108 :: (HsExp) -> (HappyAbsSyn ) -happyIn108 x = unsafeCoerce# x -{-# INLINE happyIn108 #-} -happyOut108 :: (HappyAbsSyn ) -> (HsExp) -happyOut108 x = unsafeCoerce# x -{-# INLINE happyOut108 #-} -happyIn109 :: (HsExp) -> (HappyAbsSyn ) -happyIn109 x = unsafeCoerce# x -{-# INLINE happyIn109 #-} -happyOut109 :: (HappyAbsSyn ) -> (HsExp) -happyOut109 x = unsafeCoerce# x -{-# INLINE happyOut109 #-} -happyIn110 :: (HsExp) -> (HappyAbsSyn ) -happyIn110 x = unsafeCoerce# x -{-# INLINE happyIn110 #-} -happyOut110 :: (HappyAbsSyn ) -> (HsExp) -happyOut110 x = unsafeCoerce# x -{-# INLINE happyOut110 #-} -happyIn111 :: (HsReify) -> (HappyAbsSyn ) -happyIn111 x = unsafeCoerce# x -{-# INLINE happyIn111 #-} -happyOut111 :: (HappyAbsSyn ) -> (HsReify) -happyOut111 x = unsafeCoerce# x -{-# INLINE happyOut111 #-} -happyIn112 :: (HsQName) -> (HappyAbsSyn ) -happyIn112 x = unsafeCoerce# x -{-# INLINE happyIn112 #-} -happyOut112 :: (HappyAbsSyn ) -> (HsQName) -happyOut112 x = unsafeCoerce# x -{-# INLINE happyOut112 #-} -happyIn113 :: (Int) -> (HappyAbsSyn ) -happyIn113 x = unsafeCoerce# x -{-# INLINE happyIn113 #-} -happyOut113 :: (HappyAbsSyn ) -> (Int) -happyOut113 x = unsafeCoerce# x -{-# INLINE happyOut113 #-} -happyIn114 :: ([HsExp]) -> (HappyAbsSyn ) -happyIn114 x = unsafeCoerce# x -{-# INLINE happyIn114 #-} -happyOut114 :: (HappyAbsSyn ) -> ([HsExp]) -happyOut114 x = unsafeCoerce# x -{-# INLINE happyOut114 #-} -happyIn115 :: ([HsExp]) -> (HappyAbsSyn ) -happyIn115 x = unsafeCoerce# x -{-# INLINE happyIn115 #-} -happyOut115 :: (HappyAbsSyn ) -> ([HsExp]) -happyOut115 x = unsafeCoerce# x -{-# INLINE happyOut115 #-} -happyIn116 :: (HsExp) -> (HappyAbsSyn ) -happyIn116 x = unsafeCoerce# x -{-# INLINE happyIn116 #-} -happyOut116 :: (HappyAbsSyn ) -> (HsExp) -happyOut116 x = unsafeCoerce# x -{-# INLINE happyOut116 #-} -happyIn117 :: (HsExp) -> (HappyAbsSyn ) -happyIn117 x = unsafeCoerce# x -{-# INLINE happyIn117 #-} -happyOut117 :: (HappyAbsSyn ) -> (HsExp) -happyOut117 x = unsafeCoerce# x -{-# INLINE happyOut117 #-} -happyIn118 :: (HsExp) -> (HappyAbsSyn ) -happyIn118 x = unsafeCoerce# x -{-# INLINE happyIn118 #-} -happyOut118 :: (HappyAbsSyn ) -> (HsExp) -happyOut118 x = unsafeCoerce# x -{-# INLINE happyOut118 #-} -happyIn119 :: ([HsExp]) -> (HappyAbsSyn ) -happyIn119 x = unsafeCoerce# x -{-# INLINE happyIn119 #-} -happyOut119 :: (HappyAbsSyn ) -> ([HsExp]) -happyOut119 x = unsafeCoerce# x -{-# INLINE happyOut119 #-} -happyIn120 :: (HsExp) -> (HappyAbsSyn ) -happyIn120 x = unsafeCoerce# x -{-# INLINE happyIn120 #-} -happyOut120 :: (HappyAbsSyn ) -> (HsExp) -happyOut120 x = unsafeCoerce# x -{-# INLINE happyOut120 #-} -happyIn121 :: (HsXName) -> (HappyAbsSyn ) -happyIn121 x = unsafeCoerce# x -{-# INLINE happyIn121 #-} -happyOut121 :: (HappyAbsSyn ) -> (HsXName) -happyOut121 x = unsafeCoerce# x -{-# INLINE happyOut121 #-} -happyIn122 :: (String) -> (HappyAbsSyn ) -happyIn122 x = unsafeCoerce# x -{-# INLINE happyIn122 #-} -happyOut122 :: (HappyAbsSyn ) -> (String) -happyOut122 x = unsafeCoerce# x -{-# INLINE happyOut122 #-} -happyIn123 :: ([HsXAttr]) -> (HappyAbsSyn ) -happyIn123 x = unsafeCoerce# x -{-# INLINE happyIn123 #-} -happyOut123 :: (HappyAbsSyn ) -> ([HsXAttr]) -happyOut123 x = unsafeCoerce# x -{-# INLINE happyOut123 #-} -happyIn124 :: (HsXAttr) -> (HappyAbsSyn ) -happyIn124 x = unsafeCoerce# x -{-# INLINE happyIn124 #-} -happyOut124 :: (HappyAbsSyn ) -> (HsXAttr) -happyOut124 x = unsafeCoerce# x -{-# INLINE happyOut124 #-} -happyIn125 :: (Maybe HsExp) -> (HappyAbsSyn ) -happyIn125 x = unsafeCoerce# x -{-# INLINE happyIn125 #-} -happyOut125 :: (HappyAbsSyn ) -> (Maybe HsExp) -happyOut125 x = unsafeCoerce# x -{-# INLINE happyOut125 #-} -happyIn126 :: (HsExp) -> (HappyAbsSyn ) -happyIn126 x = unsafeCoerce# x -{-# INLINE happyIn126 #-} -happyOut126 :: (HappyAbsSyn ) -> (HsExp) -happyOut126 x = unsafeCoerce# x -{-# INLINE happyOut126 #-} -happyIn127 :: (HsExp) -> (HappyAbsSyn ) -happyIn127 x = unsafeCoerce# x -{-# INLINE happyIn127 #-} -happyOut127 :: (HappyAbsSyn ) -> (HsExp) -happyOut127 x = unsafeCoerce# x -{-# INLINE happyOut127 #-} -happyIn128 :: ([HsExp]) -> (HappyAbsSyn ) -happyIn128 x = unsafeCoerce# x -{-# INLINE happyIn128 #-} -happyOut128 :: (HappyAbsSyn ) -> ([HsExp]) -happyOut128 x = unsafeCoerce# x -{-# INLINE happyOut128 #-} -happyIn129 :: ([HsStmt]) -> (HappyAbsSyn ) -happyIn129 x = unsafeCoerce# x -{-# INLINE happyIn129 #-} -happyOut129 :: (HappyAbsSyn ) -> ([HsStmt]) -happyOut129 x = unsafeCoerce# x -{-# INLINE happyOut129 #-} -happyIn130 :: (HsStmt) -> (HappyAbsSyn ) -happyIn130 x = unsafeCoerce# x -{-# INLINE happyIn130 #-} -happyOut130 :: (HappyAbsSyn ) -> (HsStmt) -happyOut130 x = unsafeCoerce# x -{-# INLINE happyOut130 #-} -happyIn131 :: ([HsAlt]) -> (HappyAbsSyn ) -happyIn131 x = unsafeCoerce# x -{-# INLINE happyIn131 #-} -happyOut131 :: (HappyAbsSyn ) -> ([HsAlt]) -happyOut131 x = unsafeCoerce# x -{-# INLINE happyOut131 #-} -happyIn132 :: ([HsAlt]) -> (HappyAbsSyn ) -happyIn132 x = unsafeCoerce# x -{-# INLINE happyIn132 #-} -happyOut132 :: (HappyAbsSyn ) -> ([HsAlt]) -happyOut132 x = unsafeCoerce# x -{-# INLINE happyOut132 #-} -happyIn133 :: ([HsAlt]) -> (HappyAbsSyn ) -happyIn133 x = unsafeCoerce# x -{-# INLINE happyIn133 #-} -happyOut133 :: (HappyAbsSyn ) -> ([HsAlt]) -happyOut133 x = unsafeCoerce# x -{-# INLINE happyOut133 #-} -happyIn134 :: (HsAlt) -> (HappyAbsSyn ) -happyIn134 x = unsafeCoerce# x -{-# INLINE happyIn134 #-} -happyOut134 :: (HappyAbsSyn ) -> (HsAlt) -happyOut134 x = unsafeCoerce# x -{-# INLINE happyOut134 #-} -happyIn135 :: (HsGuardedAlts) -> (HappyAbsSyn ) -happyIn135 x = unsafeCoerce# x -{-# INLINE happyIn135 #-} -happyOut135 :: (HappyAbsSyn ) -> (HsGuardedAlts) -happyOut135 x = unsafeCoerce# x -{-# INLINE happyOut135 #-} -happyIn136 :: ([HsGuardedAlt]) -> (HappyAbsSyn ) -happyIn136 x = unsafeCoerce# x -{-# INLINE happyIn136 #-} -happyOut136 :: (HappyAbsSyn ) -> ([HsGuardedAlt]) -happyOut136 x = unsafeCoerce# x -{-# INLINE happyOut136 #-} -happyIn137 :: (HsGuardedAlt) -> (HappyAbsSyn ) -happyIn137 x = unsafeCoerce# x -{-# INLINE happyIn137 #-} -happyOut137 :: (HappyAbsSyn ) -> (HsGuardedAlt) -happyOut137 x = unsafeCoerce# x -{-# INLINE happyOut137 #-} -happyIn138 :: (HsPat) -> (HappyAbsSyn ) -happyIn138 x = unsafeCoerce# x -{-# INLINE happyIn138 #-} -happyOut138 :: (HappyAbsSyn ) -> (HsPat) -happyOut138 x = unsafeCoerce# x -{-# INLINE happyOut138 #-} -happyIn139 :: ([HsStmt]) -> (HappyAbsSyn ) -happyIn139 x = unsafeCoerce# x -{-# INLINE happyIn139 #-} -happyOut139 :: (HappyAbsSyn ) -> ([HsStmt]) -happyOut139 x = unsafeCoerce# x -{-# INLINE happyOut139 #-} -happyIn140 :: ([HsStmt]) -> (HappyAbsSyn ) -happyIn140 x = unsafeCoerce# x -{-# INLINE happyIn140 #-} -happyOut140 :: (HappyAbsSyn ) -> ([HsStmt]) -happyOut140 x = unsafeCoerce# x -{-# INLINE happyOut140 #-} -happyIn141 :: ([HsFieldUpdate]) -> (HappyAbsSyn ) -happyIn141 x = unsafeCoerce# x -{-# INLINE happyIn141 #-} -happyOut141 :: (HappyAbsSyn ) -> ([HsFieldUpdate]) -happyOut141 x = unsafeCoerce# x -{-# INLINE happyOut141 #-} -happyIn142 :: (HsFieldUpdate) -> (HappyAbsSyn ) -happyIn142 x = unsafeCoerce# x -{-# INLINE happyIn142 #-} -happyOut142 :: (HappyAbsSyn ) -> (HsFieldUpdate) -happyOut142 x = unsafeCoerce# x -{-# INLINE happyOut142 #-} -happyIn143 :: ([HsIPBind]) -> (HappyAbsSyn ) -happyIn143 x = unsafeCoerce# x -{-# INLINE happyIn143 #-} -happyOut143 :: (HappyAbsSyn ) -> ([HsIPBind]) -happyOut143 x = unsafeCoerce# x -{-# INLINE happyOut143 #-} -happyIn144 :: ([HsIPBind]) -> (HappyAbsSyn ) -happyIn144 x = unsafeCoerce# x -{-# INLINE happyIn144 #-} -happyOut144 :: (HappyAbsSyn ) -> ([HsIPBind]) -happyOut144 x = unsafeCoerce# x -{-# INLINE happyOut144 #-} -happyIn145 :: ([HsIPBind]) -> (HappyAbsSyn ) -happyIn145 x = unsafeCoerce# x -{-# INLINE happyIn145 #-} -happyOut145 :: (HappyAbsSyn ) -> ([HsIPBind]) -happyOut145 x = unsafeCoerce# x -{-# INLINE happyOut145 #-} -happyIn146 :: (HsIPBind) -> (HappyAbsSyn ) -happyIn146 x = unsafeCoerce# x -{-# INLINE happyIn146 #-} -happyOut146 :: (HappyAbsSyn ) -> (HsIPBind) -happyOut146 x = unsafeCoerce# x -{-# INLINE happyOut146 #-} -happyIn147 :: (HsExp) -> (HappyAbsSyn ) -happyIn147 x = unsafeCoerce# x -{-# INLINE happyIn147 #-} -happyOut147 :: (HappyAbsSyn ) -> (HsExp) -happyOut147 x = unsafeCoerce# x -{-# INLINE happyOut147 #-} -happyIn148 :: (HsName) -> (HappyAbsSyn ) -happyIn148 x = unsafeCoerce# x -{-# INLINE happyIn148 #-} -happyOut148 :: (HappyAbsSyn ) -> (HsName) -happyOut148 x = unsafeCoerce# x -{-# INLINE happyOut148 #-} -happyIn149 :: (HsName) -> (HappyAbsSyn ) -happyIn149 x = unsafeCoerce# x -{-# INLINE happyIn149 #-} -happyOut149 :: (HappyAbsSyn ) -> (HsName) -happyOut149 x = unsafeCoerce# x -{-# INLINE happyOut149 #-} -happyIn150 :: (HsQName) -> (HappyAbsSyn ) -happyIn150 x = unsafeCoerce# x -{-# INLINE happyIn150 #-} -happyOut150 :: (HappyAbsSyn ) -> (HsQName) -happyOut150 x = unsafeCoerce# x -{-# INLINE happyOut150 #-} -happyIn151 :: (HsIPName) -> (HappyAbsSyn ) -happyIn151 x = unsafeCoerce# x -{-# INLINE happyIn151 #-} -happyOut151 :: (HappyAbsSyn ) -> (HsIPName) -happyOut151 x = unsafeCoerce# x -{-# INLINE happyOut151 #-} -happyIn152 :: (HsName) -> (HappyAbsSyn ) -happyIn152 x = unsafeCoerce# x -{-# INLINE happyIn152 #-} -happyOut152 :: (HappyAbsSyn ) -> (HsName) -happyOut152 x = unsafeCoerce# x -{-# INLINE happyOut152 #-} -happyIn153 :: (HsQName) -> (HappyAbsSyn ) -happyIn153 x = unsafeCoerce# x -{-# INLINE happyIn153 #-} -happyOut153 :: (HappyAbsSyn ) -> (HsQName) -happyOut153 x = unsafeCoerce# x -{-# INLINE happyOut153 #-} -happyIn154 :: (HsName) -> (HappyAbsSyn ) -happyIn154 x = unsafeCoerce# x -{-# INLINE happyIn154 #-} -happyOut154 :: (HappyAbsSyn ) -> (HsName) -happyOut154 x = unsafeCoerce# x -{-# INLINE happyOut154 #-} -happyIn155 :: (HsQName) -> (HappyAbsSyn ) -happyIn155 x = unsafeCoerce# x -{-# INLINE happyIn155 #-} -happyOut155 :: (HappyAbsSyn ) -> (HsQName) -happyOut155 x = unsafeCoerce# x -{-# INLINE happyOut155 #-} -happyIn156 :: (HsQName) -> (HappyAbsSyn ) -happyIn156 x = unsafeCoerce# x -{-# INLINE happyIn156 #-} -happyOut156 :: (HappyAbsSyn ) -> (HsQName) -happyOut156 x = unsafeCoerce# x -{-# INLINE happyOut156 #-} -happyIn157 :: (HsName) -> (HappyAbsSyn ) -happyIn157 x = unsafeCoerce# x -{-# INLINE happyIn157 #-} -happyOut157 :: (HappyAbsSyn ) -> (HsName) -happyOut157 x = unsafeCoerce# x -{-# INLINE happyOut157 #-} -happyIn158 :: (HsQName) -> (HappyAbsSyn ) -happyIn158 x = unsafeCoerce# x -{-# INLINE happyIn158 #-} -happyOut158 :: (HappyAbsSyn ) -> (HsQName) -happyOut158 x = unsafeCoerce# x -{-# INLINE happyOut158 #-} -happyIn159 :: (HsOp) -> (HappyAbsSyn ) -happyIn159 x = unsafeCoerce# x -{-# INLINE happyIn159 #-} -happyOut159 :: (HappyAbsSyn ) -> (HsOp) -happyOut159 x = unsafeCoerce# x -{-# INLINE happyOut159 #-} -happyIn160 :: (HsQOp) -> (HappyAbsSyn ) -happyIn160 x = unsafeCoerce# x -{-# INLINE happyIn160 #-} -happyOut160 :: (HappyAbsSyn ) -> (HsQOp) -happyOut160 x = unsafeCoerce# x -{-# INLINE happyOut160 #-} -happyIn161 :: (HsQOp) -> (HappyAbsSyn ) -happyIn161 x = unsafeCoerce# x -{-# INLINE happyIn161 #-} -happyOut161 :: (HappyAbsSyn ) -> (HsQOp) -happyOut161 x = unsafeCoerce# x -{-# INLINE happyOut161 #-} -happyIn162 :: (HsQName) -> (HappyAbsSyn ) -happyIn162 x = unsafeCoerce# x -{-# INLINE happyIn162 #-} -happyOut162 :: (HappyAbsSyn ) -> (HsQName) -happyOut162 x = unsafeCoerce# x -{-# INLINE happyOut162 #-} -happyIn163 :: (HsQName) -> (HappyAbsSyn ) -happyIn163 x = unsafeCoerce# x -{-# INLINE happyIn163 #-} -happyOut163 :: (HappyAbsSyn ) -> (HsQName) -happyOut163 x = unsafeCoerce# x -{-# INLINE happyOut163 #-} -happyIn164 :: (HsName) -> (HappyAbsSyn ) -happyIn164 x = unsafeCoerce# x -{-# INLINE happyIn164 #-} -happyOut164 :: (HappyAbsSyn ) -> (HsName) -happyOut164 x = unsafeCoerce# x -{-# INLINE happyOut164 #-} -happyIn165 :: (HsName) -> (HappyAbsSyn ) -happyIn165 x = unsafeCoerce# x -{-# INLINE happyIn165 #-} -happyOut165 :: (HappyAbsSyn ) -> (HsName) -happyOut165 x = unsafeCoerce# x -{-# INLINE happyOut165 #-} -happyIn166 :: (HsIPName) -> (HappyAbsSyn ) -happyIn166 x = unsafeCoerce# x -{-# INLINE happyIn166 #-} -happyOut166 :: (HappyAbsSyn ) -> (HsIPName) -happyOut166 x = unsafeCoerce# x -{-# INLINE happyOut166 #-} -happyIn167 :: (HsQName) -> (HappyAbsSyn ) -happyIn167 x = unsafeCoerce# x -{-# INLINE happyIn167 #-} -happyOut167 :: (HappyAbsSyn ) -> (HsQName) -happyOut167 x = unsafeCoerce# x -{-# INLINE happyOut167 #-} -happyIn168 :: (HsName) -> (HappyAbsSyn ) -happyIn168 x = unsafeCoerce# x -{-# INLINE happyIn168 #-} -happyOut168 :: (HappyAbsSyn ) -> (HsName) -happyOut168 x = unsafeCoerce# x -{-# INLINE happyOut168 #-} -happyIn169 :: (HsQName) -> (HappyAbsSyn ) -happyIn169 x = unsafeCoerce# x -{-# INLINE happyIn169 #-} -happyOut169 :: (HappyAbsSyn ) -> (HsQName) -happyOut169 x = unsafeCoerce# x -{-# INLINE happyOut169 #-} -happyIn170 :: (HsName) -> (HappyAbsSyn ) -happyIn170 x = unsafeCoerce# x -{-# INLINE happyIn170 #-} -happyOut170 :: (HappyAbsSyn ) -> (HsName) -happyOut170 x = unsafeCoerce# x -{-# INLINE happyOut170 #-} -happyIn171 :: (HsQName) -> (HappyAbsSyn ) -happyIn171 x = unsafeCoerce# x -{-# INLINE happyIn171 #-} -happyOut171 :: (HappyAbsSyn ) -> (HsQName) -happyOut171 x = unsafeCoerce# x -{-# INLINE happyOut171 #-} -happyIn172 :: (HsQName) -> (HappyAbsSyn ) -happyIn172 x = unsafeCoerce# x -{-# INLINE happyIn172 #-} -happyOut172 :: (HappyAbsSyn ) -> (HsQName) -happyOut172 x = unsafeCoerce# x -{-# INLINE happyOut172 #-} -happyIn173 :: (HsName) -> (HappyAbsSyn ) -happyIn173 x = unsafeCoerce# x -{-# INLINE happyIn173 #-} -happyOut173 :: (HappyAbsSyn ) -> (HsName) -happyOut173 x = unsafeCoerce# x -{-# INLINE happyOut173 #-} -happyIn174 :: (HsName) -> (HappyAbsSyn ) -happyIn174 x = unsafeCoerce# x -{-# INLINE happyIn174 #-} -happyOut174 :: (HappyAbsSyn ) -> (HsName) -happyOut174 x = unsafeCoerce# x -{-# INLINE happyOut174 #-} -happyIn175 :: (HsQName) -> (HappyAbsSyn ) -happyIn175 x = unsafeCoerce# x -{-# INLINE happyIn175 #-} -happyOut175 :: (HappyAbsSyn ) -> (HsQName) -happyOut175 x = unsafeCoerce# x -{-# INLINE happyOut175 #-} -happyIn176 :: (HsLiteral) -> (HappyAbsSyn ) -happyIn176 x = unsafeCoerce# x -{-# INLINE happyIn176 #-} -happyOut176 :: (HappyAbsSyn ) -> (HsLiteral) -happyOut176 x = unsafeCoerce# x -{-# INLINE happyOut176 #-} -happyIn177 :: (SrcLoc) -> (HappyAbsSyn ) -happyIn177 x = unsafeCoerce# x -{-# INLINE happyIn177 #-} -happyOut177 :: (HappyAbsSyn ) -> (SrcLoc) -happyOut177 x = unsafeCoerce# x -{-# INLINE happyOut177 #-} -happyIn178 :: (()) -> (HappyAbsSyn ) -happyIn178 x = unsafeCoerce# x -{-# INLINE happyIn178 #-} -happyOut178 :: (HappyAbsSyn ) -> (()) -happyOut178 x = unsafeCoerce# x -{-# INLINE happyOut178 #-} -happyIn179 :: (()) -> (HappyAbsSyn ) -happyIn179 x = unsafeCoerce# x -{-# INLINE happyIn179 #-} -happyOut179 :: (HappyAbsSyn ) -> (()) -happyOut179 x = unsafeCoerce# x -{-# INLINE happyOut179 #-} -happyIn180 :: (Module) -> (HappyAbsSyn ) -happyIn180 x = unsafeCoerce# x -{-# INLINE happyIn180 #-} -happyOut180 :: (HappyAbsSyn ) -> (Module) -happyOut180 x = unsafeCoerce# x -{-# INLINE happyOut180 #-} -happyIn181 :: (HsName) -> (HappyAbsSyn ) -happyIn181 x = unsafeCoerce# x -{-# INLINE happyIn181 #-} -happyOut181 :: (HappyAbsSyn ) -> (HsName) -happyOut181 x = unsafeCoerce# x -{-# INLINE happyOut181 #-} -happyIn182 :: (HsQName) -> (HappyAbsSyn ) -happyIn182 x = unsafeCoerce# x -{-# INLINE happyIn182 #-} -happyOut182 :: (HappyAbsSyn ) -> (HsQName) -happyOut182 x = unsafeCoerce# x -{-# INLINE happyOut182 #-} -happyIn183 :: (HsQName) -> (HappyAbsSyn ) -happyIn183 x = unsafeCoerce# x -{-# INLINE happyIn183 #-} -happyOut183 :: (HappyAbsSyn ) -> (HsQName) -happyOut183 x = unsafeCoerce# x -{-# INLINE happyOut183 #-} -happyIn184 :: (HsName) -> (HappyAbsSyn ) -happyIn184 x = unsafeCoerce# x -{-# INLINE happyIn184 #-} -happyOut184 :: (HappyAbsSyn ) -> (HsName) -happyOut184 x = unsafeCoerce# x -{-# INLINE happyOut184 #-} -happyIn185 :: (HsQName) -> (HappyAbsSyn ) -happyIn185 x = unsafeCoerce# x -{-# INLINE happyIn185 #-} -happyOut185 :: (HappyAbsSyn ) -> (HsQName) -happyOut185 x = unsafeCoerce# x -{-# INLINE happyOut185 #-} -happyIn186 :: (HsName) -> (HappyAbsSyn ) -happyIn186 x = unsafeCoerce# x -{-# INLINE happyIn186 #-} -happyOut186 :: (HappyAbsSyn ) -> (HsName) -happyOut186 x = unsafeCoerce# x -{-# INLINE happyOut186 #-} -happyInTok :: Token -> (HappyAbsSyn ) -happyInTok x = unsafeCoerce# x -{-# INLINE happyInTok #-} -happyOutTok :: (HappyAbsSyn ) -> Token -happyOutTok x = unsafeCoerce# x -{-# INLINE happyOutTok #-} - - -happyActOffsets :: HappyAddr -happyActOffsets = HappyA# "\x83\x06\x00\x00\x00\x00\x81\x06\x54\x06\x00\x00\xe3\x00\x00\x00\x78\x06\xa3\x00\x00\x00\x00\x00\x00\x00\x15\x01\x61\x05\xae\x06\x00\x00\x00\x00\x00\x00\x9e\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x06\x00\x00\x83\x05\x2d\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\x17\x07\x00\x00\x00\x00\x15\x01\x20\x14\x4a\x06\x00\x00\x44\x14\xa2\x06\x89\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x06\x00\x00\x00\x00\x00\x00\x00\x00\x27\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x05\x00\x00\x8d\x06\x00\x00\x7a\x04\x00\x00\x00\x00\x80\x06\x00\x00\x1c\x05\x00\x00\x4c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x01\x47\x03\x00\x00\x00\x00\xb2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x05\xc7\x0c\x00\x00\x12\x15\x13\x11\x00\x00\x13\x11\x13\x11\x13\x11\x3b\x17\x00\x00\x13\x11\x00\x00\x93\x06\x75\x16\x9c\x02\x68\x0a\x00\x00\x72\x14\x00\x00\x00\x00\x00\x00\xc8\x01\x00\x00\x12\x15\x13\x11\xe2\x17\xb6\x17\xb6\x17\x18\x02\x13\x11\x3b\x17\x44\x06\x8a\x06\x39\x06\x7d\x06\x30\x06\x00\x00\x00\x00\x00\x00\x3b\x17\x7c\x06\x00\x00\x65\x17\xab\x06\x6d\x06\xef\x05\x6d\x06\x00\x00\x00\x00\x00\x00\x00\x00\x83\x07\x69\x06\xe6\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x15\x8b\x17\x15\x17\x8b\x17\x77\x15\x00\x00\x63\x0c\x63\x0c\x00\x00\x00\x00\x63\x15\x1e\x06\x57\x06\x63\x06\x00\x00\x4e\x05\x00\x00\x00\x00\x0e\x17\x8b\x17\x0e\x17\x5d\x06\x16\x06\x00\x00\x00\x00\x36\x14\x00\x00\x00\x00\x66\x06\x13\x11\x5f\x06\x03\x05\x03\x05\x00\x00\x00\x00\x00\x00\xb9\x04\x60\x06\x00\x00\x00\x00\x00\x00\x36\x09\x5c\x06\x61\x06\x72\x14\x12\x15\x12\x15\x00\x00\x07\x06\x4c\x06\x00\x00\x00\x00\x00\x00\xc5\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x06\x00\x00\x00\x00\x00\x00\x00\x00\x59\x07\x00\x00\x00\x00\x13\x11\x00\x00\x00\x00\x00\x00\xad\x11\x0e\x17\x2a\x01\x0e\x17\x18\x07\x00\x00\x1a\x06\x00\x00\x2f\x06\x2e\x06\x25\x0a\x1c\x06\x48\x06\x20\x06\x5d\x00\x00\x00\x00\x00\x00\x00\x55\x03\x3b\x06\x3d\x06\x00\x00\x4b\x01\x36\x14\xa1\x03\xa0\x03\x41\x06\x00\x00\x00\x00\x13\x11\x3c\x06\x3a\x06\x00\x00\x00\x00\x38\x06\x37\x06\x00\x00\x00\x00\x59\x07\x36\x06\x72\x14\x34\x06\x26\x06\x13\x11\x15\x01\x00\x00\x00\x00\x12\x15\x14\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\x14\x25\x06\x1c\x16\x00\x00\x00\x00\x00\x00\x66\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x02\x00\x00\x24\x06\xfb\x00\x00\x00\x10\x06\x00\x00\x00\x00\xae\x04\x00\x00\xcd\x01\x17\x06\x11\x06\x00\x00\x00\x00\x15\x06\x00\x00\x00\x00\x13\x11\x00\x00\x00\x00\xaf\x10\x00\x00\x0e\x06\x00\x00\x4b\x10\x4b\x10\x4b\x10\x00\x00\x4b\x10\x5f\x0a\xe7\x0f\x83\x0f\x00\x00\x00\x00\x00\x00\xab\x12\x00\x00\x00\x00\x7f\x01\x00\x00\x0b\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x11\x2a\x01\xcc\x05\xba\x05\x1c\x02\x00\x00\x00\x00\x00\x00\x71\x03\x00\x00\x04\x06\x1f\x0f\x00\x00\x00\x00\x00\x00\x0a\x06\x00\x00\x00\x00\x5b\x06\x00\x00\x60\x03\x00\x00\x0d\x06\x09\x06\x24\x04\x00\x00\x00\x00\xf9\x07\x00\x00\xb9\x05\x00\x00\x00\x00\xac\x05\xb7\x05\x00\x00\x00\x00\x12\x15\xfe\x05\xa8\x05\x00\x00\xf0\x05\xfc\x05\xf5\x05\x00\x00\xf1\x05\x00\x00\xaa\x05\xf9\x0a\xac\x13\x8b\x17\x00\x00\xf3\x05\x00\x00\xac\x13\x00\x00\xac\x13\x00\x00\x00\x00\xc5\x07\xac\x13\xac\x13\xe5\x05\xad\x15\x00\x00\xe2\x05\x63\x0c\xd9\x05\x7f\x01\xd6\x05\xcd\x05\xd2\x05\x00\x00\x1a\x03\xd0\x05\x25\x02\xd7\x05\xac\x13\x0e\x17\x00\x00\xac\x13\x00\x00\x00\x00\x1c\x02\x00\x00\x8b\x17\x00\x00\x00\x00\x0e\x17\x00\x00\x7a\x00\x00\x00\x00\x00\xc2\x05\xc7\x08\x92\x17\x00\x00\xc5\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x06\x0e\x17\x57\x00\x49\x05\x8b\x17\x00\x00\x00\x00\xb6\x05\xb0\x05\x00\x00\x00\x00\xca\x05\x00\x00\x00\x00\x00\x00\xc2\x14\x00\x00\x00\x00\xc9\x05\xc6\x05\x7f\x01\xbb\x0e\xbb\x0e\xfb\x09\xc3\x05\xb5\x05\x7f\x01\x7f\x01\xbb\x0e\x00\x00\xa9\x05\x00\x00\xf5\x04\x71\x03\xf9\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x02\x00\x00\x00\x00\xb2\x05\x00\x00\xb4\x05\x96\x05\x00\x00\x59\x05\x00\x00\x8d\x05\x1c\x02\x00\x00\x00\x00\x99\x05\x00\x00\x57\x03\x53\x05\x3d\x05\x81\x05\x80\x05\x18\x07\x5c\x05\x00\x00\x00\x00\x7e\x05\x00\x00\x76\x05\x00\x00\x63\x05\x00\x00\x00\x00\x00\x00\x0e\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x14\x00\x00\x00\x00\x3a\x01\x00\x00\x15\x01\xbb\x0e\x00\x00\x6b\x18\x00\x00\x85\x05\x00\x00\x64\x18\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x05\xbb\x0e\x05\x05\x00\x00\x97\x09\x57\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x79\x05\x00\x00\x00\x00\x00\x00\xfc\x02\x00\x00\x00\x00\x00\x00\x7c\x05\x1c\x02\x2e\x12\x00\x00\x00\x00\x00\x00\x23\x05\x5b\x05\xf3\x0d\x00\x00\x6d\x05\x6c\x05\xac\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x12\x28\x05\x00\x00\x00\x00\x00\x00\x32\x05\x00\x00\xf3\x0d\x69\x05\x66\x05\x18\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x68\x05\x00\x00\x00\x00\x57\x05\x2b\x09\x5e\x05\x18\x01\x00\x00\x00\x00\xf3\x0d\x63\x0c\x00\x00\x00\x00\x62\x05\x00\x00\x00\x00\x5d\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x11\x1c\x02\x0d\x18\xde\x06\x00\x00\xef\x07\x47\x05\x18\x01\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x13\x00\x00\x26\x05\xf3\x0d\x26\x05\x30\x05\x54\x05\xff\x0b\x54\x05\x00\x00\xac\x13\x00\x00\x00\x00\xf3\x0d\x00\x00\x55\x05\x46\x16\x2d\x05\x00\x00\x00\x00\xe6\x0b\x04\x01\x2b\x05\x04\x05\x8f\x15\xac\x13\x00\x00\x00\x00\x2e\x05\x27\x05\x18\x01\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x28\x04\x00\x00\x2c\x05\x00\x00\x00\x00\x00\x00\x00\x00\x37\x03\x00\x00\xe9\x17\x7e\x09\x33\x05\x00\x00\x00\x00\xac\x13\xae\x08\xac\x13\xac\x13\x00\x00\x00\x00\x00\x00\x00\x00\x77\x11\x00\x00\xf3\x0d\x00\x00\x25\x0a\xeb\x04\x0f\x13\xf9\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x0b\xf1\x04\xe4\x04\x00\x00\x00\x00\x00\x00\xe9\x04\xe0\x04\x0e\x17\x00\x00\xac\x13\x27\x0b\xd9\x04\xc3\x0a\x00\x00\x00\x00\xc7\x04\x2a\x01\x00\x00\x96\x14\xca\x04\x3d\x18\x00\x00\x0e\x17\x8b\x17\x5b\x08\xa1\x04\x00\x00\x6d\x04\xaa\x04\x00\x00\x9b\x04\xf3\x0d\x00\x00\x00\x00\xac\x13\xeb\x16\x00\x00\x00\x00\xac\x13\x00\x00\x45\x00\x41\x00\x00\x00\x00\x00\x00\x00\x89\x04\x54\x02\x12\x03\x92\x04\x00\x00\x15\x01\x5d\x04\x00\x00\x98\x16\x00\x00\xfb\x17\x6e\x16\x00\x00\x8f\x0d\x00\x00\x00\x00\x00\x00\x7d\x04\x7b\x04\x7b\x04\x00\x00\x00\x00\xcc\x02\x00\x00\x84\x04\x36\x04\x0b\x04\x98\x16\x00\x00\x70\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x16\x95\x02\x00\x00\x00\x00\xac\x13\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x0d\x00\x00\x00\x00\x00\x00\x00\x00"# - -happyGotoOffsets :: HappyAddr -happyGotoOffsets = HappyA# "\x01\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x08\x00\x00\x00\x06\x00\x00\x00\xf7\x04\x20\x04\xa8\x04\xce\x03\x14\x05\x00\x00\x00\x00\xed\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xad\x03\xb3\x03\x03\x00\x00\x00\x00\x00\x00\x00\x12\x05\x00\x00\x00\x00\x00\x00\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x00\x00\xda\x03\x11\x1b\x00\x00\x00\x00\x07\x00\x00\x00\x3c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x03\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x18\x24\x1c\x00\x00\xb0\x22\xd5\x19\x00\x00\x21\x21\xdb\x20\x83\x21\x2a\x03\x90\x03\xbf\x20\x00\x00\x17\x04\x15\x03\x00\x00\xe5\x12\x00\x00\x7d\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\x19\x79\x20\x22\x01\xeb\x07\x2d\x06\x00\x00\x5d\x20\xf0\x02\x00\x00\x00\x00\x00\x00\x90\x00\x10\x04\x00\x00\x00\x00\x00\x00\xdb\x02\xa7\xff\x00\x00\x04\x04\x36\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\xfc\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xad\x01\x3f\x03\x99\x03\x94\x03\xe3\x03\x00\x00\xde\x1b\x98\x1b\x00\x00\x00\x00\xfc\x03\xc6\x03\x00\x00\x00\x00\xc5\x03\x45\x03\x00\x00\x00\x00\xc0\x02\x47\x00\xab\x02\xc0\x03\x00\x00\x00\x00\x00\x00\xb3\x0a\x00\x00\x44\x03\x03\x01\x17\x20\x31\x00\xbe\x03\xaf\x03\x00\x00\x00\x00\x00\x00\x85\x02\x00\x00\x00\x00\x00\x00\x00\x00\x57\x01\x00\x00\x00\x00\x7d\x22\x67\x22\x34\x22\x00\x00\x6d\x03\x22\x00\x00\x00\x00\x00\x00\x00\x63\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x04\x00\x00\x00\x00\xfb\x1f\x00\x00\x00\x00\x00\x00\x1e\x02\x96\x02\x92\x02\x71\x02\x5e\x00\x00\x00\x00\x00\x27\x00\x00\x00\x00\x00\xb3\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\x4d\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x04\x00\x00\xf9\x19\x00\x00\x00\x00\xb9\x19\x45\x04\x61\x03\x00\x00\x1e\x22\x8f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\xfb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x26\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x1f\x00\x00\x00\x00\xd5\x21\x0f\x03\x6f\x00\x00\x00\x99\x1f\x43\x1c\x53\x1f\x00\x00\x37\x1f\xf1\x1e\x73\x19\x79\x1b\x00\x00\x00\x00\x00\x00\xd5\x21\x00\x00\x00\x00\xc1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x02\x52\x02\x1b\x03\x00\x00\x2e\x04\x29\x00\x00\x00\x00\x00\xb5\x02\x00\x00\x00\x00\x2d\x19\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x03\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x65\x00\x2f\x00\x00\x00\x00\x00\x67\x00\x58\x00\xcb\x1a\x66\x00\x0a\x03\x43\x02\xe7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x02\xde\xff\xdc\x03\x7f\x03\x00\x00\x4a\x02\x00\x00\xc2\x03\x00\x00\xba\x03\x00\x00\x00\x00\x31\x04\xab\x03\x4b\x04\x00\x00\x76\x09\x32\x02\x00\x00\x33\x1b\xf7\xff\x1a\x02\x00\x00\x69\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x04\x5c\x02\x00\x00\x6b\x04\x00\x00\x00\x00\x08\x04\x00\x00\x74\x03\x00\x00\x00\x00\x41\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x1a\x6b\x04\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x2a\x02\x9e\x03\xb3\x01\x5f\x03\x00\x00\x00\x00\xa8\x01\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\xbf\x00\x81\x00\xeb\x21\x00\x00\x00\x00\x77\x01\x00\x00\xb1\x01\xd5\x1e\x8f\x1e\x15\x00\x00\x00\x00\x00\xa3\x01\x76\x01\x73\x1e\x00\x00\x00\x00\x00\x00\x3d\x00\x72\x01\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x01\xf2\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x01\x00\x00\x00\x00\xbf\x03\x00\x00\x00\x00\xe8\xff\x00\x00\x50\x02\x6b\x01\x00\x00\x00\x00\x00\x00\x73\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x75\x03\x2d\x1e\x00\x00\x48\x02\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x19\x00\x00\x00\x00\x11\x1e\xa7\x1a\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xff\x00\x00\x00\x00\x00\x00\x87\x01\x00\x00\x23\x02\x83\x01\x00\x00\xb8\x03\x25\x04\xfd\x00\xfc\xff\x00\x00\x00\x00\x00\x00\xcb\x1d\x00\x00\x00\x00\x00\x00\x79\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\x03\x00\x00\xae\x03\x00\x00\x06\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x00\x00\xaf\x1d\x74\x00\x00\x00\xed\x00\x00\x00\x36\x01\x25\x00\x9d\x01\x00\x00\x55\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x01\x00\x00\xba\x00\x00\x00\x00\x00\x69\x1d\x61\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x03\x00\x00\x00\x00\x00\x00\x28\x01\x4b\x03\x1c\x00\xa8\x01\x00\x00\xf4\xff\x00\x00\xa2\x00\x00\x00\x00\x00\x70\x03\x00\x00\xa2\x21\x00\x00\x00\x00\x4d\x1d\x00\x00\x9f\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x58\x01\x00\x00\x00\x00\x07\x1d\x00\x00\xde\xff\x6b\x04\x00\x00\x00\x00\x00\x00\x1c\x04\x0a\x02\x00\x00\x00\x00\x49\x01\x66\x04\x00\x00\x00\x00\xeb\xff\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x00\x00\x15\x02\x00\x00\x00\x00\x43\x03\x00\x00\x8f\x02\x00\x00\x71\x01\xa3\x03\x83\x00\x00\x00\x00\x00\x60\x04\x46\x04\x56\x02\x54\x04\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\xeb\x1c\x00\x00\x0f\x05\xc7\x01\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x03\x00\x00\x00\x00\xc0\x00\x00\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x02\x00\x00\x0b\x01\x71\x00\x00\x00\x1b\x1a\x00\x00\x00\x00\x00\x00\x05\x02\x00\x00\x4c\x00\x00\x00\xf3\xff\x00\x00\xf2\x01\x5a\x03\x28\x00\x00\x00\x00\x00\xbe\x00\xa4\xff\x00\x00\x00\x00\xa5\x1c\x00\x00\x00\x00\x2b\x04\x2b\x04\x00\x00\x00\x00\x2b\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x03\xd0\xff\x00\x00\x00\x00\x19\x02\x00\x00\x00\x00\xdd\x01\x00\x00\x87\x02\x73\x01\x00\x00\xc8\x18\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x00\xd2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\x00\x00\xc6\x01\x00\x00\xe1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x01\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x1c\x00\x00\x00\x00\x00\x00\x00\x00"# - -happyDefActions :: HappyAddr -happyDefActions = HappyA# "\x49\xfe\x00\x00\xfe\xff\x00\x00\x00\x00\xfc\xff\x48\xfe\x49\xfe\x00\x00\x48\xfe\xf8\xff\xef\xff\xef\xff\x00\x00\x00\x00\xed\xff\x45\xfe\x44\xfe\xc1\xfe\xc8\xfe\xc7\xfe\xc6\xfe\xc5\xfe\xc3\xfe\xc4\xfe\x00\x00\xf0\xff\xf2\xff\x00\x00\x49\xfe\x49\xfe\xf6\xff\x46\xfe\x47\xfe\xef\xff\xdf\xff\xa3\xff\xf4\xff\xef\xff\xbe\xff\xae\xff\xa4\xff\xa2\xff\x49\xfe\xf1\xff\xf7\xff\x00\x00\x49\xfe\x00\x00\xee\xff\xe9\xff\x00\x00\xe9\xff\xe7\xff\xe6\xff\x89\xfe\x67\xfe\x70\xfe\x42\xfe\x61\xfe\xe5\xff\x6e\xfe\x6f\xfe\x5f\xfe\x60\xfe\x00\x00\xea\xff\x6a\xfe\x66\xfe\x65\xfe\x64\xfe\x69\xfe\x68\xfe\x6d\xfe\x6b\xfe\x00\x00\x6c\xfe\x48\xfe\xbf\xfe\xff\xfe\xf6\xfe\xe8\xfe\x00\x00\xc2\xfe\x00\x00\xf3\xfe\xf4\xfe\xf5\xfe\x8e\xfe\x87\xfe\x84\xfe\xf2\xfe\x00\x00\x6e\xfe\x63\xfe\x62\xfe\x5f\xfe\x4d\xfe\x4b\xfe\x4c\xfe\x4a\xfe\x49\xfe\x49\xfe\xec\xfe\x49\xfe\x49\xfe\xe7\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x48\xfe\x49\xfe\xc9\xfe\xc7\xff\x00\x00\x00\x00\x49\xfe\x12\xff\x08\xff\x06\xff\x09\xff\x13\xff\xf4\xfe\xbd\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\xad\xff\x00\x00\x00\x00\x48\xfe\xdc\xff\xc5\xff\xc4\xff\xc3\xff\x00\x00\x48\xfe\xac\xff\x00\x00\xf0\xff\xc0\xff\xf0\xff\xf3\xff\xfd\xff\xe0\xff\xf5\xff\xbf\xff\x49\xfe\x00\x00\x91\xff\x89\xff\x88\xff\x40\xfe\x81\xff\x87\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\xff\x49\xfe\x49\xfe\x8b\xff\x79\xff\x91\xff\x2d\xff\x00\x00\x00\x00\x72\xff\x00\x00\xdd\xff\x0b\xff\x00\x00\xa9\xff\x00\x00\x6d\xff\x00\x00\x19\xff\x18\xff\x17\xff\x15\xff\x49\xfe\x48\xfe\x49\xfe\x48\xfe\x00\x00\x00\x00\xde\xfe\xdc\xfe\xdd\xfe\x00\x00\x00\x00\xdf\xfe\xe1\xfe\xe0\xfe\x00\x00\x00\x00\x00\x00\x0c\xff\x49\xfe\x49\xfe\x07\xff\x21\xff\x1f\xff\x1d\xff\x76\xfe\x75\xfe\x49\xfe\x7a\xfe\x71\xfe\x5e\xfe\x80\xfe\x5b\xfe\x5a\xfe\x00\x00\x57\xfe\x5c\xfe\x4e\xfe\x5d\xfe\x00\x00\x54\xfe\x72\xfe\x49\xfe\x56\xfe\x55\xfe\x53\xfe\x00\x00\x00\x00\x62\xff\x00\x00\x00\x00\xc6\xff\x00\x00\x49\xfe\x00\x00\x00\x00\x17\xff\x00\x00\x00\x00\xd4\xfe\x00\x00\xd6\xfe\xd5\xfe\x00\xff\xbc\xfe\x00\x00\xbb\xfe\x90\xfe\x00\x00\x17\xff\x00\x00\x00\x00\x00\x00\x74\xfe\x73\xfe\x49\xfe\x7a\xfe\x00\x00\x7e\xfe\x59\xfe\x58\xfe\x52\xfe\x91\xfe\xda\xfe\x00\x00\x50\xfe\x56\xfe\x51\xfe\x4f\xfe\x49\xfe\x00\x00\xcd\xfe\xfa\xff\x49\xfe\x00\x00\xfc\xfe\xfb\xfe\xfa\xfe\xf9\xfe\xf8\xfe\xf7\xfe\xf9\xff\xe1\xff\x00\x00\x00\x00\xea\xff\xeb\xff\xe8\xff\xec\xff\x00\x00\xcb\xff\xca\xff\xc9\xff\x8d\xfe\x86\xfe\x00\x00\xe3\xff\x00\x00\x00\x00\x99\xfe\x00\x00\xfe\xfe\xc0\xfe\x49\xfe\xc1\xfe\x00\x00\x00\x00\x00\x00\x88\xfe\x83\xfe\x00\x00\xeb\xfe\xf0\xfe\x49\xfe\x8f\xfe\xdb\xfe\x49\xfe\x49\xfe\x48\xfe\xf1\xfe\x49\xfe\x49\xfe\x49\xfe\xef\xfe\x49\xfe\xba\xfe\x49\xfe\x49\xfe\xea\xfe\xe6\xfe\xe5\xfe\x49\xfe\xe4\xfe\xe3\xfe\x00\x00\xcf\xfe\xc8\xff\x78\xfe\x77\xfe\xc1\xff\x7c\xfe\x82\xfe\x00\x00\x62\xff\x49\xff\x00\x00\x00\x00\x49\xfe\x9f\xff\x9b\xff\x00\x00\x20\xff\x00\x00\x49\xfe\x14\xff\x1e\xff\x23\xff\x48\xfe\x01\xff\x02\xff\xb1\xff\x7e\xff\x00\x00\x80\xff\x00\x00\x00\x00\x94\xff\x99\xff\x98\xff\x00\x00\x9e\xff\x00\x00\xef\xff\xef\xff\x00\x00\x00\x00\xef\xff\xef\xff\x49\xfe\x48\xfe\x3b\xff\x6e\xff\x3e\xff\x00\x00\xaa\xff\xab\xff\x00\x00\xb3\xff\xda\xff\x00\x00\x00\x00\x00\x00\xb4\xff\x48\xfe\x8a\xff\x00\x00\x7c\xff\x00\x00\x3e\xfe\x3d\xfe\x00\x00\x00\x00\x00\x00\x9b\xfe\x17\xff\x49\xfe\x00\x00\x49\xfe\x48\xfe\x00\x00\x00\x00\x3e\xff\x00\x00\x75\xff\x00\x00\x79\xff\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xff\x8d\xff\x86\xff\x83\xff\x00\x00\x85\xff\x00\x00\x84\xff\xbc\xff\x00\x00\xa1\xfe\x00\x00\x9d\xfe\xa2\xfe\x00\x00\x9c\xfe\x8d\xff\x8e\xff\x00\x00\x8f\xff\x90\xff\xef\xff\xef\xff\x7a\xff\x8c\xff\x73\xff\x71\xff\x00\x00\x00\x00\xd8\xff\x00\x00\x00\x00\xb2\xff\xb8\xff\x00\x00\x6c\xff\x6a\xff\xb5\xff\x48\xfe\x0d\xff\xef\xff\xef\xff\x49\xfe\x04\xff\x03\xff\x49\xfe\x00\x00\x00\x00\x49\xfe\x49\xfe\xa7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\xaf\xff\x00\x00\x8b\xfe\x00\x00\x00\x00\x00\x00\x97\xff\x96\xff\x95\xff\x7f\xff\x7d\xff\x22\xff\xb0\xfe\x00\x00\xb2\xfe\x49\xfe\x48\xfe\x7f\xfe\x00\x00\x61\xff\x5f\xff\x5b\xff\x3d\xff\x43\xff\x00\x00\x40\xff\x41\xff\x48\xfe\xba\xff\x00\x00\x49\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\xff\xd7\xfe\xb6\xfe\xb8\xfe\xb4\xfe\xb5\xfe\xd2\xfe\xd3\xfe\xd8\xfe\x1a\xff\x00\x00\xee\xfe\xd9\xfe\xed\xfe\x79\xfe\x7d\xfe\xe9\xfe\x49\xfe\xca\xfe\xce\xfe\x00\x00\xcc\xfe\x00\x00\x49\xfe\xfd\xfe\x00\x00\xe4\xff\x00\x00\xe2\xff\x00\x00\xcc\xff\x85\xfe\x9a\xfe\x98\xfe\x00\x00\x49\xfe\x00\x00\x1b\xff\xb9\xfe\x49\xfe\xe2\xfe\xc2\xff\x7b\xfe\x81\xfe\x48\xfe\xb7\xff\x41\xfe\x48\xff\x00\x00\xb9\xff\xef\xff\xef\xff\x00\x00\x00\x00\x00\x00\x72\xff\x49\xfe\x8c\xfe\xaf\xfe\x00\x00\x49\xfe\xb0\xff\x00\x00\x00\x00\x00\x00\x10\xff\x9c\xff\xa0\xff\x9d\xff\xa1\xff\xef\xff\xa5\xff\xef\xff\x93\xfe\x49\xfe\x00\x00\x0f\xff\x96\xfe\x97\xfe\x00\x00\x05\xff\x49\xfe\x49\xfe\x00\x00\x00\x00\x3c\xff\xef\xff\xef\xff\x6e\xff\x6f\xff\x6e\xff\x76\xff\xdb\xff\xde\xff\xd9\xff\x00\x00\xd5\xff\x7b\xff\x00\x00\x2b\xff\x00\x00\x00\x00\x3f\xfe\x9e\xfe\x49\xfe\x49\xfe\xbb\xff\x74\xff\x00\x00\x82\xff\xa0\xfe\x00\x00\x2e\xff\x2f\xff\xef\xff\x29\xff\x27\xff\x28\xff\x49\xfe\x00\x00\xe9\xff\x69\xff\x6b\xff\x37\xff\x00\x00\x00\x00\xad\xfe\xae\xfe\xef\xff\xaa\xfe\x49\xfe\x11\xff\x00\x00\x49\xfe\xf5\xfe\xf0\xff\x95\xfe\xf0\xff\xa8\xff\x92\xff\x00\x00\x8a\xfe\x1c\xff\x49\xfe\x60\xff\x00\x00\x56\xff\x00\x00\x5d\xff\x5a\xff\x55\xff\x00\x00\x00\x00\x61\xfe\x00\x00\x00\x00\x42\xff\x3f\xff\x49\xfe\x00\x00\x00\x00\x00\x00\x44\xff\x47\xff\xb6\xff\xb3\xfe\xb7\xfe\xcd\xfe\xd0\xfe\x00\x00\xfb\xff\xcb\xfe\x49\xfe\x46\xff\x00\x00\x67\xff\x68\xff\xef\xff\x64\xff\x00\x00\x4f\xff\x00\x00\x00\x00\x00\x00\x52\xff\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x5c\xff\xb1\xfe\x93\xff\xa6\xff\x49\xfe\x94\xfe\x49\xfe\x0e\xff\xa3\xfe\x49\xfe\xf0\xff\xac\xfe\x39\xff\x3a\xff\x34\xff\xef\xff\x35\xff\x33\xff\x49\xfe\x00\x00\xe9\xff\xd2\xff\xd1\xff\x43\xfe\xd0\xff\x00\x00\x00\x00\xad\xff\x00\x00\xf0\xff\x2c\xff\x49\xfe\x9f\xfe\x2a\xff\x00\x00\x62\xff\x70\xff\x00\x00\x00\x00\xea\xff\xd6\xff\x00\x00\x00\x00\xf0\xff\x38\xff\xab\xfe\x21\xff\xa7\xfe\xa5\xfe\x00\x00\x49\xfe\x92\xfe\x54\xff\x77\xff\x56\xff\x5e\xff\x51\xff\x50\xff\x59\xff\x00\x00\x00\x00\x4d\xff\x9a\xff\x58\xff\x00\x00\x00\x00\xf0\xff\x66\xff\x45\xff\x00\x00\x00\x00\x65\xff\x00\x00\x57\xff\x00\x00\x00\x00\xa8\xfe\x49\xfe\xa6\xfe\xa9\xfe\x36\xff\x8b\xff\x3e\xff\x3e\xff\xd3\xff\xd7\xff\x00\x00\xce\xff\x00\x00\x49\xff\x00\x00\x00\x00\x26\xff\x48\xfe\x25\xff\xcf\xff\xcd\xff\x30\xff\x32\xff\x00\x00\x00\x00\x4b\xff\x4c\xff\x00\x00\x4e\xff\x63\xff\xd1\xfe\x4a\xff\x49\xfe\x31\xff\x24\xff\xa4\xfe"# - -happyCheck :: HappyAddr -happyCheck = HappyA# "\xff\xff\x00\x00\x01\x00\x02\x00\x01\x00\x01\x00\x0b\x00\x14\x00\x03\x00\x03\x00\x02\x00\x17\x00\x03\x00\x3d\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x35\x00\x4a\x00\x23\x00\x22\x00\x25\x00\x24\x00\x17\x00\x23\x00\x3a\x00\x25\x00\x1b\x00\x1c\x00\x1d\x00\x4e\x00\x3a\x00\x3a\x00\x0d\x00\x22\x00\x09\x00\x24\x00\x3c\x00\x3d\x00\x85\x00\x05\x00\x06\x00\x17\x00\x17\x00\x87\x00\x13\x00\x14\x00\x1b\x00\x1c\x00\x1d\x00\x05\x00\x06\x00\x21\x00\x22\x00\x22\x00\x24\x00\x24\x00\x23\x00\x40\x00\x25\x00\x17\x00\x17\x00\x05\x00\x06\x00\x1b\x00\x1c\x00\x1d\x00\x17\x00\x52\x00\x53\x00\x54\x00\x22\x00\x22\x00\x24\x00\x24\x00\x17\x00\x5a\x00\x20\x00\x22\x00\xad\x00\x24\x00\x1d\x00\x23\x00\xae\x00\x25\x00\x16\x00\x22\x00\x29\x00\x24\x00\x1a\x00\x5a\x00\x05\x00\x06\x00\x1a\x00\x29\x00\x15\x00\x16\x00\x15\x00\x16\x00\x20\x00\x1f\x00\x10\x00\x3f\x00\x40\x00\x05\x00\x06\x00\x05\x00\x06\x00\x50\x00\x5a\x00\x5a\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x51\x00\x1a\x00\x1a\x00\x32\x00\x33\x00\x53\x00\x54\x00\xad\x00\xa0\x00\xa1\x00\x5e\x00\x5a\x00\x5a\x00\x90\x00\x16\x00\x20\x00\x05\x00\x06\x00\x5a\x00\x2d\x00\x2e\x00\x09\x00\x2f\x00\x92\x00\x14\x00\xae\x00\x5a\x00\x56\x00\xb4\x00\xa0\x00\xa1\x00\xae\x00\xae\x00\xa4\x00\xad\x00\x92\x00\x9f\x00\xa0\x00\xa1\x00\x4e\x00\xa3\x00\xa4\x00\xae\x00\xad\x00\x8d\x00\x8e\x00\xb1\x00\xae\x00\x9f\x00\xa0\x00\xa1\x00\xad\x00\xa3\x00\xa4\x00\x90\x00\xb2\x00\xad\x00\xad\x00\xad\x00\xad\x00\x5b\x00\xae\x00\xae\x00\xad\x00\x82\x00\xae\x00\x15\x00\xb2\x00\x19\x00\x8c\x00\xa0\x00\xa1\x00\x1a\x00\x1e\x00\xa4\x00\x91\x00\xad\x00\xad\x00\x05\x00\x06\x00\xae\x00\x26\x00\x91\x00\x58\x00\x59\x00\x5a\x00\xae\x00\xb1\x00\x91\x00\xad\x00\xa0\x00\x2d\x00\x05\x00\x06\x00\xad\x00\xad\x00\xad\x00\xa0\x00\x5e\x00\x19\x00\x93\x00\xad\x00\x90\x00\xa0\x00\x90\x00\xae\x00\x94\x00\xad\x00\x94\x00\xad\x00\x8c\x00\x7f\x00\x26\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa0\x00\xa1\x00\xa0\x00\xa1\x00\xa4\x00\x8c\x00\xa4\x00\x8c\x00\x96\x00\x81\x00\x82\x00\x99\x00\x15\x00\x9b\x00\x8b\x00\xb4\x00\xa0\x00\xa1\x00\x90\x00\xa3\x00\xa4\x00\x80\x00\x94\x00\x62\x00\xa6\x00\x64\x00\x65\x00\xa9\x00\x65\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x09\x00\xa0\x00\xa1\x00\xb4\x00\x16\x00\xa4\x00\x72\x00\xae\x00\x1a\x00\x01\x00\x87\x00\x00\x00\x5b\x00\x05\x00\x7a\x00\x07\x00\xae\x00\xad\x00\x19\x00\x1c\x00\xad\x00\x62\x00\x56\x00\x64\x00\x65\x00\x43\x00\xa4\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x26\x00\x8e\x00\x93\x00\x17\x00\x8f\x00\x34\x00\x72\x00\x92\x00\x93\x00\x2a\x00\x95\x00\x2c\x00\x2d\x00\x2e\x00\x7a\x00\x05\x00\x06\x00\xa2\x00\xae\x00\x80\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x1e\x00\x73\x00\x65\x00\xaf\x00\x20\x00\x21\x00\xad\x00\xac\x00\xad\x00\x8f\x00\x2e\x00\xaf\x00\x92\x00\x93\x00\x72\x00\x95\x00\x74\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x11\x00\x30\x00\x31\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x1a\x00\x2c\x00\x52\x00\x62\x00\xaf\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x26\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x72\x00\x30\x00\x31\x00\x32\x00\x33\x00\x43\x00\x69\x00\x00\x00\x7a\x00\x36\x00\x2a\x00\x37\x00\x2c\x00\x2d\x00\x2e\x00\x51\x00\x05\x00\x06\x00\x62\x00\x36\x00\x64\x00\x65\x00\x8b\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6a\x00\x8f\x00\x17\x00\x26\x00\x92\x00\x93\x00\x72\x00\x95\x00\xaf\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x7a\x00\x30\x00\x31\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa0\x00\xa1\x00\xa6\x00\xa3\x00\xa4\x00\xa9\x00\xae\x00\xac\x00\xad\x00\x92\x00\x4a\x00\x6d\x00\x8f\x00\x47\x00\x48\x00\x92\x00\x93\x00\x49\x00\x95\x00\x3b\x00\xb4\x00\x93\x00\x9f\x00\xa0\x00\xa1\x00\x6d\x00\xa3\x00\xa4\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x4b\x00\x36\x00\xac\x00\xad\x00\x39\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x93\x00\x30\x00\x31\x00\x32\x00\x33\x00\xb4\x00\x1a\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x1a\x00\x20\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x26\x00\xa6\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x41\x00\x30\x00\x31\x00\xa0\x00\xa1\x00\x2d\x00\xa3\x00\xa4\x00\xb4\x00\xa7\x00\x37\x00\xa9\x00\xad\x00\xab\x00\x92\x00\x8d\x00\x8e\x00\x93\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\xb4\x00\x30\x00\x31\x00\x2c\x00\x9f\x00\xa0\x00\xa1\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x89\x00\x8a\x00\x6d\x00\xa9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x92\x00\x30\x00\x31\x00\xad\x00\xaf\x00\x43\x00\xb4\x00\x05\x00\x06\x00\xa3\x00\xa4\x00\x10\x00\x00\x00\x9f\x00\xa0\x00\xa1\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x11\x00\x30\x00\x31\x00\xad\x00\xb3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x93\x00\x30\x00\x31\x00\x3e\x00\x17\x00\x20\x00\x2a\x00\x2b\x00\xa0\x00\xa1\x00\x83\x00\x84\x00\x85\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xaf\x00\x4e\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x93\x00\x30\x00\x31\x00\xb4\x00\x09\x00\x3b\x00\x0b\x00\xaf\x00\xb4\x00\x4a\x00\xb0\x00\xa0\x00\xa1\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x93\x00\x30\x00\x31\x00\x1f\x00\xad\x00\x5d\x00\x08\x00\x09\x00\xb4\x00\x36\x00\xb4\x00\x38\x00\x39\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x2c\x00\x2d\x00\x2e\x00\x93\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x1d\x00\x30\x00\x31\x00\x75\x00\x76\x00\x3e\x00\xb4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x29\x00\x2a\x00\x2b\x00\x93\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x4e\x00\x30\x00\x31\x00\x99\x00\x93\x00\x1a\x00\xb4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x21\x00\x26\x00\x90\x00\x1a\x00\xa6\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x1a\x00\x4e\x00\xa3\x00\xa4\x00\x25\x00\xb4\x00\x20\x00\x93\x00\xa0\x00\xa1\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\xb4\x00\x30\x00\x31\x00\xb3\x00\xaf\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x48\x00\x3e\x00\x1f\x00\x8a\x00\x21\x00\x93\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x92\x00\x30\x00\x31\x00\x11\x00\xb4\x00\xad\x00\x4e\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x1a\x00\x9f\x00\xa0\x00\xa1\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x93\x00\x30\x00\x31\x00\x6d\x00\xa3\x00\xa4\x00\xb4\x00\xa0\x00\xa1\x00\xae\x00\xa3\x00\xa4\x00\x0f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x05\x00\x06\x00\xb3\x00\x93\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\xb4\x00\x30\x00\x31\x00\x11\x00\x05\x00\x06\x00\xb4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x11\x00\x05\x00\x06\x00\x92\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x1a\x00\x30\x00\x31\x00\x10\x00\x9e\x00\x95\x00\xb4\x00\x9f\x00\xa0\x00\xa1\x00\x93\x00\xa5\x00\xa6\x00\xa7\x00\x13\x00\xa9\x00\x08\x00\xab\x00\x0a\x00\xa3\x00\xa4\x00\x1a\x00\x4e\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x28\x00\x05\x00\x06\x00\x93\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x1d\x00\x30\x00\x31\x00\x10\x00\x05\x00\x06\x00\xb4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x29\x00\x2a\x00\x2b\x00\x93\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x4f\x00\x30\x00\x31\x00\x05\x00\x06\x00\xa9\x00\xb4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x4a\x00\x1f\x00\x10\x00\x21\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x93\x00\x1a\x00\xaf\x00\x11\x00\x33\x00\x1e\x00\xb4\x00\x05\x00\x06\x00\x11\x00\x23\x00\x08\x00\x1a\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x1a\x00\x05\x00\x06\x00\x93\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x1d\x00\xb4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa0\x00\xa1\x00\x4c\x00\x4d\x00\xa4\x00\x29\x00\x2a\x00\x2b\x00\x77\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2a\x00\xb4\x00\x2c\x00\x2d\x00\x2e\x00\x93\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x10\x00\x11\x00\x12\x00\x11\x00\x11\x00\x05\x00\x06\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x1a\x00\x1a\x00\xad\x00\x93\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x5b\x00\xb4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x2c\x00\x2d\x00\x2e\x00\x93\x00\x9e\x00\x73\x00\x2a\x00\x27\x00\x2c\x00\x2d\x00\x2e\x00\xa5\x00\xa6\x00\x05\x00\x06\x00\xb4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x2a\x00\x27\x00\x2c\x00\x2d\x00\x2e\x00\x46\x00\x75\x00\x76\x00\x2a\x00\x93\x00\x2c\x00\x2d\x00\x2e\x00\xad\x00\x93\x00\xb4\x00\xa7\x00\xb0\x00\xa9\x00\x37\x00\xab\x00\x34\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x4c\x00\x4d\x00\x2a\x00\x93\x00\x2c\x00\x2d\x00\x2e\x00\x4c\x00\x4d\x00\x2a\x00\xb4\x00\x2c\x00\x2d\x00\x2e\x00\x93\x00\xb4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa0\x00\xa1\x00\x55\x00\xa3\x00\xa4\x00\x0e\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x04\x00\x05\x00\x06\x00\x93\x00\xb4\x00\x2d\x00\x2e\x00\x2f\x00\x93\x00\xb4\x00\x2a\x00\x18\x00\x2c\x00\x2d\x00\x2e\x00\xb4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xae\x00\x2c\x00\x2d\x00\x2e\x00\xb0\x00\xa0\x00\xa1\x00\x09\x00\xa3\x00\xa4\x00\xb4\x00\x2d\x00\x2e\x00\xa0\x00\xa1\x00\xb4\x00\xa3\x00\xa4\x00\x76\x00\x2c\x00\x2d\x00\x2e\x00\x4c\x00\x4d\x00\x31\x00\xb4\x00\x2d\x00\x2e\x00\xa0\x00\xa1\x00\xaf\x00\xa3\x00\xa4\x00\xb4\x00\xad\x00\x45\x00\xa0\x00\xa1\x00\x77\x00\xa3\x00\xa4\x00\x42\x00\x43\x00\x44\x00\x42\x00\x46\x00\x44\x00\x45\x00\xb4\x00\x4b\x00\x4c\x00\x4d\x00\x2c\x00\x2d\x00\x2e\x00\x6a\x00\xb4\x00\x2c\x00\x2d\x00\x2e\x00\x4c\x00\x4d\x00\xa0\x00\xa1\x00\xb0\x00\xa3\x00\xa4\x00\x2d\x00\x2e\x00\xa0\x00\xa1\x00\x15\x00\xa3\x00\xa4\x00\x42\x00\x43\x00\x44\x00\x55\x00\x46\x00\x2d\x00\x2e\x00\x15\x00\xb4\x00\x05\x00\x06\x00\x2d\x00\x2e\x00\x11\x00\x9a\x00\xb4\x00\x2d\x00\x2e\x00\x9e\x00\x20\x00\xa0\x00\xa1\x00\x21\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\x46\x00\xa0\x00\xa1\x00\x14\x00\xa3\x00\xa4\x00\x20\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\xb4\x00\xb5\x00\xb6\x00\xa0\x00\xa1\x00\x14\x00\xa3\x00\xa4\x00\xb4\x00\x94\x00\x75\x00\x76\x00\xa0\x00\xa1\x00\x23\x00\xa3\x00\xa4\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xa0\x00\xa1\x00\xb4\x00\xa3\x00\xa4\x00\x11\x00\xa0\x00\xa1\x00\x23\x00\xa3\x00\xa4\x00\xb4\x00\xa0\x00\xa1\x00\x1a\x00\xa3\x00\xa4\x00\x1d\x00\x6a\x00\x1f\x00\xb4\x00\x94\x00\x11\x00\x9f\x00\xa0\x00\xa1\x00\xb4\x00\xa3\x00\xa4\x00\x29\x00\x2a\x00\x2b\x00\xb4\x00\xa0\x00\xa1\x00\x21\x00\xa3\x00\xa4\x00\xa0\x00\xa1\x00\x14\x00\xa3\x00\xa4\x00\x42\x00\x11\x00\x44\x00\x45\x00\xa0\x00\xa1\x00\x01\x00\xa3\x00\xa4\x00\x10\x00\xb4\x00\x04\x00\x05\x00\x06\x00\x1a\x00\xb4\x00\xa0\x00\xa1\x00\x11\x00\xa3\x00\xa4\x00\x10\x00\xa0\x00\xa1\x00\xb4\x00\xa3\x00\xa4\x00\xa0\x00\xa1\x00\x14\x00\xa3\x00\xa4\x00\x25\x00\x9f\x00\xa0\x00\xa1\x00\xb4\x00\xa3\x00\xa4\x00\x05\x00\x06\x00\x15\x00\xb4\x00\x07\x00\x08\x00\x75\x00\x76\x00\xb4\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x05\x00\x06\x00\x03\x00\x04\x00\x03\x00\x04\x00\x18\x00\x05\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x16\x00\x1f\x00\x4a\x00\x15\x00\x22\x00\x14\x00\x4e\x00\x4f\x00\x50\x00\x27\x00\x21\x00\x29\x00\x2a\x00\x2b\x00\x46\x00\x47\x00\x2e\x00\x05\x00\x06\x00\x5b\x00\x4e\x00\x4f\x00\x05\x00\x06\x00\x28\x00\x01\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x16\x00\x3f\x00\x40\x00\x41\x00\x6c\x00\x46\x00\x47\x00\x45\x00\x10\x00\x05\x00\x06\x00\x14\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x14\x00\x1d\x00\x11\x00\x16\x00\x56\x00\x57\x00\x20\x00\x10\x00\x1a\x00\x5b\x00\x5c\x00\x16\x00\x14\x00\x11\x00\x24\x00\x58\x00\x5e\x00\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\x20\x00\x11\x00\x15\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x1e\x00\x46\x00\x11\x00\x14\x00\x1a\x00\x36\x00\x3e\x00\x18\x00\x1c\x00\x1c\x00\x1b\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x97\x00\x6a\x00\x55\x00\x9a\x00\x27\x00\x9c\x00\x29\x00\x9e\x00\x15\x00\x2c\x00\x5b\x00\x2e\x00\x25\x00\x5a\x00\xa5\x00\xa6\x00\xa7\x00\x01\x00\xa9\x00\x23\x00\xab\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x6c\x00\x3f\x00\x40\x00\x41\x00\x11\x00\x43\x00\x15\x00\x45\x00\x20\x00\x1a\x00\x16\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\x57\x00\x25\x00\x16\x00\x14\x00\x5b\x00\x15\x00\x5d\x00\x1c\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x24\x00\x64\x00\x11\x00\x66\x00\x1a\x00\x19\x00\x69\x00\x20\x00\x15\x00\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x21\x00\x16\x00\x14\x00\x50\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x18\x00\x15\x00\x96\x00\x1b\x00\x1a\x00\x99\x00\x11\x00\x9b\x00\x1a\x00\x20\x00\x5b\x00\x6a\x00\x15\x00\x68\x00\x5e\x00\x27\x00\x5e\x00\x29\x00\xa6\x00\x11\x00\x2c\x00\xa9\x00\x2e\x00\x11\x00\x15\x00\x1c\x00\x55\x00\x6c\x00\x15\x00\x6a\x00\x1a\x00\x11\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x1c\x00\x3f\x00\x40\x00\x41\x00\x21\x00\x43\x00\x1c\x00\x45\x00\x11\x00\x11\x00\x11\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x11\x00\x57\x00\x11\x00\x11\x00\x11\x00\x5b\x00\x11\x00\x5d\x00\x11\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x11\x00\x64\x00\x19\x00\x66\x00\x36\x00\x1a\x00\x69\x00\x11\x00\x3e\x00\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x48\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x3e\x00\x3e\x00\x23\x00\x23\x00\x15\x00\x6a\x00\x11\x00\x18\x00\x15\x00\x19\x00\x1b\x00\x1c\x00\x1d\x00\x19\x00\x1f\x00\x15\x00\x21\x00\x67\x00\x23\x00\x28\x00\x23\x00\x14\x00\x27\x00\x20\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x6a\x00\x2e\x00\x21\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x15\x00\x15\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x6c\x00\x10\x00\x62\x00\x6c\x00\x59\x00\x43\x00\x0c\x00\x45\x00\x21\x00\x15\x00\x1a\x00\x10\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x11\x00\x6a\x00\x16\x00\x5b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x8f\x00\x1f\x00\x10\x00\x92\x00\x48\x00\x6d\x00\x95\x00\x18\x00\x43\x00\xff\xff\x1b\x00\x6c\x00\x45\x00\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xff\xff\xa3\x00\xa4\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\x69\x00\xff\xff\xff\xff\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x08\x00\x09\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1c\x00\x1d\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\x01\x00\x02\x00\x45\x00\xff\xff\x05\x00\x06\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\x69\x00\xff\xff\xff\xff\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\x6c\x00\x01\x00\xff\xff\x45\x00\xff\xff\x05\x00\x06\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\x69\x00\xff\xff\xff\xff\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x01\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\x18\x00\x0f\x00\x10\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\x6c\x00\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x4a\x00\xff\xff\xff\xff\x57\x00\x4e\x00\x4f\x00\x50\x00\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\xff\xff\xff\xff\x64\x00\x5b\x00\xff\xff\xff\xff\x6c\x00\x69\x00\xff\xff\xff\xff\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x6c\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\xff\xff\xff\xff\x95\x00\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x2e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x01\x00\xff\xff\xff\xff\x57\x00\x05\x00\x06\x00\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\xff\xff\x10\x00\x64\x00\x12\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x18\x00\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x2a\x00\xff\xff\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\x5b\x00\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x6c\x00\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\x08\x00\x14\x00\x0a\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\x11\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\xff\xff\x27\x00\x1d\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\x29\x00\x2a\x00\x2b\x00\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x01\x00\xff\xff\xff\xff\x57\x00\x05\x00\x06\x00\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x64\x00\x12\x00\x66\x00\xff\xff\xff\xff\x69\x00\xff\xff\x18\x00\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\x5b\x00\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x6c\x00\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x97\x00\xff\xff\x14\x00\x9a\x00\xff\xff\x9c\x00\x18\x00\x9e\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xa6\x00\xa7\x00\xff\xff\xa9\x00\xff\xff\xab\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\xff\xff\xff\xff\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\x1c\x00\x1d\x00\x27\x00\x1f\x00\x29\x00\x21\x00\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x97\x00\x22\x00\xff\xff\x9a\x00\xff\xff\x9c\x00\x27\x00\x9e\x00\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xa5\x00\xa6\x00\xa7\x00\xff\xff\xa9\x00\xff\xff\xab\x00\xff\xff\x01\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\x10\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x1d\x00\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x97\x00\xff\xff\xff\xff\x9a\x00\x27\x00\x9c\x00\x29\x00\x9e\x00\xff\xff\x2c\x00\x5b\x00\x2e\x00\xff\xff\xff\xff\xa5\x00\xa6\x00\xa7\x00\xff\xff\xa9\x00\xff\xff\xab\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x6c\x00\x3f\x00\x40\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\xff\xff\xff\xff\x69\x00\xff\xff\xff\xff\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x01\x00\xff\xff\xff\xff\x57\x00\x05\x00\x06\x00\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\xff\xff\x10\x00\x64\x00\x12\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x18\x00\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\x5b\x00\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\xff\xff\xff\xff\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x01\x00\xff\xff\x2e\x00\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x01\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\x10\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\xff\xff\xff\xff\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x6c\x00\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x53\x00\x01\x00\xff\xff\xff\xff\x57\x00\x05\x00\x06\x00\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x64\x00\x12\x00\x66\x00\xff\xff\xff\xff\x69\x00\xff\xff\x18\x00\x6c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\x5b\x00\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\xff\xff\xff\xff\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x64\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x6c\x00\x97\x00\xff\xff\xff\xff\x9a\x00\xff\xff\x9c\x00\x18\x00\x9e\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xa6\x00\xa7\x00\xff\xff\xa9\x00\xff\xff\xab\x00\x27\x00\xad\x00\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\xff\xff\x01\x00\xff\xff\x45\x00\xff\xff\x05\x00\x06\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\x57\x00\xff\xff\xff\xff\x18\x00\x5b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x64\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\x41\x00\x5b\x00\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x64\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x27\x00\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x1d\x00\x10\x00\x1f\x00\x20\x00\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x1a\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\xff\xff\x45\x00\x46\x00\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x18\x00\xff\xff\x6c\x00\x1b\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\x01\x00\xff\xff\x27\x00\xff\xff\x05\x00\xff\xff\xff\xff\x2c\x00\x5b\x00\x2e\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\xff\xff\x65\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x6c\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x43\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\x6c\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x25\x00\x01\x00\x27\x00\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\x1e\x00\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\x6c\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x5b\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x18\x00\x05\x00\x06\x00\x6c\x00\x1c\x00\xff\xff\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x25\x00\x12\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\x18\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x25\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x1c\x00\x1d\x00\xff\xff\x1f\x00\x20\x00\xff\xff\x6c\x00\xff\xff\x24\x00\x5b\x00\xff\xff\xff\xff\xff\xff\x29\x00\x2a\x00\x2b\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x5a\x00\x5b\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x01\x00\x0b\x00\x03\x00\x04\x00\x05\x00\x06\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\x18\x00\x10\x00\x11\x00\x12\x00\x1c\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x5a\x00\x5b\x00\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x27\x00\x28\x00\x01\x00\x2a\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x01\x00\x5b\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\x65\x00\xff\xff\xff\xff\xff\xff\x10\x00\x18\x00\x12\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x2a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x5a\x00\x5b\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x6c\x00\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x2a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x18\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x6c\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\xff\xff\x5a\x00\x5b\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x01\x00\xff\xff\x5a\x00\x5b\x00\x05\x00\x06\x00\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x18\x00\x12\x00\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x01\x00\x02\x00\xff\xff\x28\x00\x05\x00\x06\x00\xff\xff\x59\x00\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x02\x00\xff\xff\x5b\x00\x05\x00\x06\x00\xff\xff\x01\x00\x02\x00\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\x10\x00\x18\x00\xff\xff\x01\x00\x02\x00\x6c\x00\x16\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x5b\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\x10\x00\xff\xff\xff\xff\x1a\x00\xff\xff\xff\xff\x16\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x5b\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x5b\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x10\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\x5b\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\xff\xff\x6c\x00\x5b\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\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\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\x6c\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\x6d\x00\x6e\x00\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\x7a\x00\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xac\x00\xad\x00\x98\x00\xff\xff\x9a\x00\xff\xff\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\x7d\x00\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x86\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x6f\x00\x70\x00\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\x72\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\x7d\x00\x7e\x00\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x86\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\x7d\x00\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x86\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x6f\x00\x70\x00\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x6f\x00\x70\x00\x71\x00\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\x72\x00\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\x86\x00\xff\xff\x88\x00\xff\xff\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x72\x00\xff\xff\xff\xff\x75\x00\x76\x00\xff\xff\x78\x00\x79\x00\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\x72\x00\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\x86\x00\xff\xff\x88\x00\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x86\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\x72\x00\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\x86\x00\xff\xff\x88\x00\xff\xff\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x72\x00\xff\xff\xff\xff\x75\x00\x76\x00\xff\xff\x78\x00\x79\x00\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\x72\x00\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\x86\x00\xff\xff\x88\x00\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x70\x00\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\x72\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x86\x00\xff\xff\x88\x00\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x86\x00\xff\xff\x88\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\x71\x00\x72\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xac\x00\xad\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xac\x00\xad\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x62\x00\xff\xff\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\x72\x00\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x86\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x95\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# - -happyTable :: HappyAddr -happyTable = HappyA# "\x00\x00\x04\x00\x02\x00\x05\x00\x95\x00\x02\x00\x26\x01\x19\x03\x20\x01\x0a\x00\x08\x00\x24\x00\x0a\x00\x0c\x03\x22\x00\x23\x00\x33\x00\x34\x00\x35\x00\xc4\x01\x23\x03\x79\x01\xd3\x02\x41\x02\x29\x00\x24\x00\x79\x01\x33\x03\xb6\x01\x25\x00\x26\x00\x27\x00\x26\x03\xab\x02\x38\x02\x96\x00\x28\x00\xd8\x02\x29\x00\xb8\x02\xb9\x02\x13\x03\x1a\x00\x82\x02\x24\x00\x24\x00\xa6\x00\xd9\x02\xda\x02\x97\x00\x26\x00\x27\x00\x1a\x00\xdd\x01\x4d\x02\x4e\x02\x28\x00\x29\x00\x29\x00\x79\x01\x97\x02\xee\x01\x24\x00\x24\x00\x1a\x00\x6a\x02\x55\x01\x26\x00\x27\x00\x24\x00\xd4\x02\xd5\x02\xd6\x02\x28\x00\xd3\x02\x29\x00\x29\x00\x24\x00\x2a\x00\xde\x01\xc8\x02\xf6\x02\x29\x00\x98\x00\x79\x01\xa7\x00\x7a\x01\x0f\x03\x28\x00\x44\x02\x29\x00\x10\x03\x2a\x00\x1a\x00\xd8\x01\xea\x00\xe3\x01\x1b\x03\x29\x01\x28\x01\x29\x01\x11\x03\x86\x01\xd4\xff\xf6\x01\xf7\x01\x1a\x00\xdd\x01\x1a\x00\xd8\x01\x5c\x02\x2a\x00\x2a\x00\xa9\x00\x87\x01\x9b\x00\x9c\x00\x9d\x00\x83\x02\x4f\x01\x57\x01\x88\x01\x89\x01\x15\x03\xd6\x02\xba\x02\x38\x00\x9e\x00\x6a\x01\x2a\x00\x2a\x00\xdb\x02\x25\x02\xe0\x01\x1a\x00\x59\x02\x2a\x00\x30\x03\x9d\x00\xeb\x02\x50\x01\x36\x00\x71\x02\x39\x02\x2a\x00\x6b\x02\xc5\x01\x38\x00\x2c\x01\x39\x02\x39\x02\xdc\x02\xba\x02\x36\x00\x37\x00\x38\x00\x39\x00\x27\x03\x3a\x00\x3b\x00\x7b\x01\xd7\x02\x4f\x02\x50\x02\xdd\x02\x7b\x01\x37\x00\x38\x00\x39\x00\xf8\x01\x3a\x00\x3b\x00\xdb\x02\x3c\x00\x06\x00\x2b\x00\x03\x00\x03\x00\x68\x02\x0b\x00\x0b\x00\x09\x00\xf2\x02\x0b\x00\x0d\x00\x3c\x00\x72\x00\xdf\x01\x38\x00\x2c\x01\x4f\x01\x73\x00\xdc\x02\xe4\x01\x51\x02\x2b\x00\x1a\x00\x59\x02\x7b\x01\x74\x00\xe4\x01\xe6\x02\x7b\x02\x7c\x02\x5d\x02\xdd\x02\x46\x02\xdd\x00\xe5\x01\xb3\x02\x1a\x00\x6a\x02\x99\x00\xd7\x02\xf8\x01\xe5\x01\xe3\x01\x72\x00\xae\x00\xc9\x02\x2a\x01\xe5\x01\x2a\x01\x7b\x01\x2b\x01\x89\x02\x2b\x01\x99\x00\xd9\x01\xd2\x01\x74\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x38\x00\x2c\x01\x38\x00\x2c\x01\x2d\x01\xe1\x01\x2d\x01\xda\x01\x58\x01\x87\x02\x88\x02\x59\x01\x0d\x00\x5a\x01\x10\x02\xa0\x00\x38\x00\x9e\x00\x2a\x01\x9f\x00\x3b\x00\x5a\x02\x2b\x01\x75\x00\x5b\x01\x76\x00\x77\x00\x5c\x01\x0f\x00\x78\x00\x4f\x00\x50\x00\x79\x00\xe0\x00\x38\x00\x2c\x01\xa0\x00\x20\x02\x2d\x01\x51\x00\xd3\x01\x21\x02\x15\x00\xb2\x00\x21\x00\x14\x03\x16\x00\x7a\x00\x17\x00\x7f\x01\x7d\x02\x72\x00\xbf\x02\x89\x02\x75\x00\x6c\x02\x76\x00\x77\x00\x0e\x00\x04\x02\x78\x00\x4f\x00\x50\x00\x79\x00\x74\x00\xca\x02\x8b\x02\x22\x00\x55\x00\x98\x02\x51\x00\x7b\x00\x57\x00\xe7\x02\x58\x00\x9b\x00\x9c\x00\x9d\x00\x7a\x00\x1a\x00\x82\x02\x59\x00\xa7\x00\x5b\x02\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xdf\x02\xb3\x02\x0f\x00\xb6\x02\x62\x01\x63\x01\x56\x02\x5b\x00\x5c\x00\x55\x00\xc8\x00\xd1\x02\x7b\x00\x57\x00\x19\x02\x58\x00\x1a\x02\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\x47\x01\x32\x03\xad\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x48\x01\x2b\x02\x18\x00\x75\x00\x77\x02\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\xcf\x00\xa9\x00\xa6\x01\xab\x00\x9c\x00\x9d\x00\x51\x00\xa7\x01\xad\x00\xa8\x01\x89\x01\x16\x01\x19\x00\x21\x00\x7a\x00\x49\x01\xc7\x02\xd0\x00\x9b\x00\x9c\x00\x9d\x00\x84\x02\x1a\x00\xa5\x02\x75\x00\x80\x02\x76\x00\x77\x00\x7e\x01\x1b\x02\x78\x00\x4f\x00\x50\x00\x79\x00\x3e\xff\x55\x00\x22\x00\x00\x03\x7b\x00\x8d\x02\x51\x00\x58\x00\x85\x02\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\x7a\x00\x2a\x03\xad\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x38\x00\x9e\x00\x22\x02\x9f\x00\x3b\x00\xf5\x01\x7f\x01\x5b\x00\x5c\x00\xc9\x00\x34\x02\x71\x01\x55\x00\x01\x03\x02\x03\x56\x00\x57\x00\x2b\x03\x58\x00\xa6\x02\xa0\x00\xae\x00\x37\x00\x38\x00\x39\x00\x71\x01\x9f\x00\x3b\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xa8\x02\xcd\x01\x5b\x00\x5c\x00\x81\x02\xa9\x00\xa6\x01\xab\x00\x9c\x00\x9d\x00\xae\x00\xa7\x01\xad\x00\xa8\x01\x89\x01\xa0\x00\x9a\xff\x79\x02\x7a\x02\x7b\x02\x7c\x02\x4f\x01\x9a\xff\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xcf\x00\x22\x02\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\x3d\x02\x21\x03\xad\x00\x38\x00\x9e\x00\x18\x02\x9f\x00\x3b\x00\xa0\x00\x08\x01\xd0\x00\xdb\x00\x42\x02\xdc\x00\x03\x03\x4f\x02\x50\x02\xae\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xa0\x00\x2e\x03\xad\x00\x15\x01\x37\x00\x38\x00\x39\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x31\x01\x32\x01\x71\x01\x45\x02\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\x33\x01\x18\x03\xad\x00\x56\x02\x49\x02\x16\x01\xa0\x00\x1a\x00\xa5\x02\x35\x02\x3b\x00\xfc\x01\x21\x00\x37\x00\x38\x00\x39\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xaf\x01\xe8\x02\xad\x00\x7d\x02\xa9\x02\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xae\x00\x2c\x02\xad\x00\x1e\x03\x22\x00\xb0\x01\xfd\x01\xfe\x01\x38\x00\x9e\x00\xf3\x02\xf4\x02\xf5\x02\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x4a\x02\x1f\x03\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xae\x00\x68\x02\xad\x00\x60\x02\xe0\x00\xa7\x02\xe2\x00\x54\x02\xa0\x00\xc1\x00\x63\x02\x38\x00\x9e\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xae\x00\x71\x02\xad\x00\xe5\x00\xf6\x02\xc2\x00\xdf\x00\xe0\x00\x69\x02\xcd\x01\xa0\x00\xce\x01\xcf\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xfa\x02\x9c\x00\x9d\x00\xae\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xe4\x00\xab\x01\xad\x00\x0b\x03\x13\x00\x01\x02\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xe7\x00\xe8\x00\xe9\x00\xae\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\x02\x02\x5e\x01\xad\x00\xbd\x02\xae\x00\x2f\x02\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x44\x02\x00\x03\x64\x01\x2f\x02\x5b\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xea\x00\xb3\x01\x35\x02\x3b\x00\x32\x03\xa0\x00\xeb\x00\xae\x00\x38\x00\x2c\x01\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xa0\x00\x63\x01\xad\x00\x09\x03\xb5\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x2d\x03\x5f\x01\xc6\xfe\x27\x02\xc6\xfe\xae\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\x33\x01\x85\x01\xad\x00\x26\x03\xa0\x00\xb9\x01\x60\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x25\x02\x37\x00\x38\x00\x39\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xae\x00\x8a\x01\xad\x00\x01\x01\x35\x02\x3b\x00\xa0\x00\x38\x00\x9e\x00\xc0\x01\x9f\x00\x3b\x00\xc8\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x40\x00\x41\x00\x36\x02\xae\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xa0\x00\xac\x00\xad\x00\xab\x02\xf0\x02\xf1\x02\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xb5\x02\x49\xfe\x49\xfe\x03\x03\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xb6\x02\xb6\x00\xad\x00\x49\xfe\x74\x01\x05\x03\xa0\x00\x37\x00\x38\x00\x39\x00\xae\x00\xd8\x00\xd9\x00\x08\x01\xb1\x01\xdb\x00\xdf\x00\xdc\x00\xe1\x00\x5a\x00\x3b\x00\xb2\x01\xcc\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xe8\x01\x40\x00\x41\x00\xae\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xe4\x00\xeb\x00\xad\x00\x07\x03\x07\x03\x08\x03\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xe7\x00\xe8\x00\xe9\x00\xae\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xd0\x01\xf1\x00\xad\x00\x40\x00\x41\x00\xf5\x01\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xff\x01\xc7\xfe\x38\x02\xc7\xfe\xa9\x00\xa4\x01\x9b\x00\x9c\x00\x9d\x00\xae\x00\x4c\x01\x06\x02\xee\x01\xa5\x01\x4d\x01\xa0\x00\xcf\x02\xd0\x02\x24\x02\x4e\x01\xdf\x00\x43\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x25\x02\xe2\x02\xe3\x02\xae\x00\x16\x03\x17\x03\x9b\x00\x9c\x00\x9d\x00\xa9\x00\x62\x02\x9b\x00\x9c\x00\x9d\x00\xe4\x00\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x38\x00\x03\x02\xde\x02\xfa\x01\x04\x02\xe7\x00\xe8\x00\xe9\x00\x18\x02\xa9\x00\x72\x02\x9b\x00\x9c\x00\x9d\x00\x92\x02\xa0\x00\x9b\x00\x9c\x00\x9d\x00\xae\x00\xa9\x00\xc2\x01\x9b\x00\x9c\x00\x9d\x00\x64\x02\x65\x02\x66\x02\x40\x01\x42\x01\x8e\x02\x8f\x02\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x41\x01\x43\x01\x11\x02\xae\x00\xa9\x00\xa2\x01\x9b\x00\x9c\x00\x9d\x00\xa9\x00\xa3\x01\x9b\x00\x9c\x00\x9d\x00\x6b\x01\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xfe\x02\x9c\x00\x9d\x00\xae\x00\x74\x01\x36\x01\xbc\x01\x75\x01\x9b\x00\x9c\x00\x9d\x00\xd8\x00\xd9\x00\x90\x02\x91\x02\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xbe\x01\x78\x01\x9b\x00\x9c\x00\x9d\x00\xff\x02\x29\x02\x13\x00\xbf\x01\xae\x00\x9b\x00\x9c\x00\x9d\x00\x81\x01\xae\x00\xa0\x00\x08\x01\x8b\x01\xdb\x00\x83\x01\xdc\x00\x8c\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xa3\x02\xfa\x01\xc3\x01\xae\x00\x9b\x00\x9c\x00\x9d\x00\x3b\x02\xfa\x01\xa1\x01\xa0\x00\x9b\x00\x9c\x00\x9d\x00\xae\x00\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x38\x00\x9e\x00\x8f\x01\x9f\x00\x3b\x00\xb0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x19\x00\x1a\x00\x1b\x00\xae\x00\xa0\x00\x91\x01\x9d\x00\x92\x01\xae\x00\xa0\x00\x9a\x00\xed\x00\x9b\x00\x9c\x00\x9d\x00\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xf0\x00\xac\x01\x9c\x00\x9d\x00\x21\x01\x38\x00\x9e\x00\x23\x01\x9f\x00\x3b\x00\xa0\x00\xbf\x02\x9d\x00\x38\x00\x9e\x00\xa0\x00\x9f\x00\x3b\x00\x71\x00\x99\x02\x9c\x00\x9d\x00\x73\x02\xfa\x01\x9a\x02\xa0\x00\x91\x01\x9d\x00\x38\x00\x9e\x00\x1f\x00\x9f\x00\x3b\x00\xa0\x00\x1e\x00\xc0\x02\x38\x00\x9e\x00\x2f\x00\x9f\x00\x3b\x00\x9b\x02\x9c\x02\x9d\x02\x1d\x02\x9e\x02\x0b\x03\x71\x00\xa0\x00\xea\x01\xeb\x01\xec\x01\xfb\x02\x9c\x00\x9d\x00\x23\x03\xa0\x00\xbb\x01\x9c\x00\x9d\x00\xf9\x01\xfa\x01\x38\x00\x9e\x00\x0f\x00\x9f\x00\x3b\x00\xf9\x02\x9d\x00\x38\x00\x9e\x00\x3b\x02\x9f\x00\x3b\x00\xfc\x02\x9c\x02\x9d\x02\x01\x02\x9e\x02\xfd\x02\x9d\x00\x1a\x01\xa0\x00\x91\x00\x92\x00\xbb\x02\x9d\x00\x25\x03\x93\x01\xa0\x00\x91\x01\x9d\x00\xd7\x00\x62\x01\x38\x00\x9e\x00\x29\x03\x9f\x00\x3b\x00\xd8\x00\xd9\x00\x30\x03\x38\x00\x9e\x00\x2d\x00\x9f\x00\x3b\x00\x0e\x03\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01\x20\x01\xa0\x00\x94\x01\x95\x01\x38\x00\x9e\x00\x2d\x00\x9f\x00\x3b\x00\xa0\x00\x9f\x02\x37\x01\x13\x00\x38\x00\x9e\x00\x13\x03\x9f\x00\x3b\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x38\x00\x9e\x00\xa0\x00\x9f\x00\xa0\x02\x0e\x01\x38\x00\x9e\x00\x49\xfe\x9f\x00\x3b\x00\xa0\x00\x38\x00\x9e\x00\x0f\x01\x3a\x01\x3b\x00\xe4\x00\x6d\x01\xe5\x00\xa0\x00\x9f\x02\x1b\x03\x39\x01\x38\x00\x39\x00\xa0\x00\x3a\x01\x3b\x00\xe7\x00\xe8\x00\xe9\x00\xbd\x01\x38\x00\x9e\x00\x21\x03\x9f\x00\xa0\x02\x38\x00\x9e\x00\x2d\x00\x9f\x00\x3b\x00\x1d\x02\xea\x02\x1e\x02\x71\x00\x38\x00\x9e\x00\x3e\x00\x9f\x00\x3b\x00\xeb\x02\xa0\x00\x1c\x00\x1a\x00\x1b\x00\xed\x02\xa0\x00\x38\x00\x9e\x00\xee\x02\x9f\x00\x3b\x00\xe8\x01\x38\x00\x9e\x00\xa0\x00\x9f\x00\x3b\x00\x38\x00\x9e\x00\x2d\x00\x9f\x00\x3b\x00\xf8\x02\x67\x01\x38\x00\x39\x00\xa0\x00\x3a\x01\x3b\x00\x93\x00\x94\x00\x86\xfe\xa0\x00\x30\x00\x31\x00\x12\x00\x13\x00\xa0\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x0d\x01\xe0\x00\xe1\x00\xe2\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x0e\x01\x40\x00\x41\x00\x49\xfe\x49\xfe\x5f\x00\x60\x00\x67\x00\x40\x00\x0f\x01\x68\x00\x10\x01\x11\x01\xb8\x02\xe5\x00\x44\x00\xbd\x02\xbd\x00\x2d\x00\x48\x00\x49\x00\x4a\x00\x69\x00\xcc\x02\x12\x01\x13\x01\x14\x01\xaf\x02\xb0\x02\x6a\x00\x11\x00\x12\x00\x4b\x00\x77\x01\x78\x01\x11\x00\x12\x00\xc3\x02\x3e\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\xd3\x02\x80\x00\x81\x00\x82\x00\x4d\x00\x17\x01\x18\x01\x71\x00\xc7\x01\x11\x00\x12\x00\x2d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\xe5\x02\xc6\x02\x75\x02\x79\x02\xbe\x00\x89\x00\x7f\x02\x80\x02\x74\xff\x4b\x00\xbf\x00\x87\x02\x2d\x00\x95\x02\x97\x02\x8d\x02\xe3\x01\xc0\x00\x8f\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x4d\x00\x94\x02\xa5\x02\x3b\x02\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x2e\x02\xb2\x02\x27\x02\x2d\x00\x2f\x02\x49\x01\x30\x02\x49\xfe\x32\x02\x33\x02\x49\xfe\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xd4\x00\x34\x02\x01\x02\xd5\x00\x49\xfe\xd6\x00\x49\xfe\xd7\x00\x3b\x02\x49\xfe\x4b\x00\x49\xfe\x3d\x02\x3f\x02\xd8\x00\xd9\x00\xda\x00\x3e\x00\xdb\x00\x40\x02\xdc\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x4d\x00\x49\xfe\x49\xfe\x49\xfe\x41\x02\x49\xfe\x7d\x01\x49\xfe\x48\x02\x60\x02\x4c\x02\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x4d\x02\x49\xfe\x62\x02\x56\x02\x2d\x00\x49\xfe\x5f\x02\x49\xfe\x6e\x02\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x70\x02\x49\xfe\xae\x01\x49\xfe\x75\xff\xb3\x01\x49\xfe\x62\x01\x7d\x01\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\xb5\x01\xb9\x01\xbb\x01\xca\x01\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x49\xfe\xc2\x01\x58\x01\x49\xfe\xcb\x01\x59\x01\xcc\x01\x30\x02\x75\xff\x62\x01\x4b\x00\xd2\x01\xd5\x01\xdd\x01\xdc\x01\x49\xfe\xe3\x01\x49\xfe\x5b\x01\x3d\x01\x49\xfe\x5c\x01\x49\xfe\xed\x01\x7d\x01\xf5\x01\x01\x02\x4d\x00\x81\x01\xff\x01\x06\x02\x15\x02\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x16\x02\x49\xfe\x49\xfe\x49\xfe\x1f\x02\x49\xfe\x17\x02\x49\xfe\x22\x02\x28\x01\x53\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x55\xfe\x49\xfe\x54\xfe\x57\xfe\x5a\xfe\x49\xfe\x3c\x01\x49\xfe\x3d\x01\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x3f\x01\x49\xfe\x4b\x01\x49\xfe\x49\x01\x4a\x01\x49\xfe\x51\x01\x52\x01\x49\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\x57\x01\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\x54\x01\x55\x01\x69\x01\x49\xfe\xe6\xfe\x6d\x01\x70\x01\xe6\xfe\x7d\x01\x71\x01\xe6\xfe\xe6\xfe\xe6\xfe\xff\x00\xe6\xfe\x81\x01\xe6\xfe\x83\x01\xe6\xfe\x8f\x01\x85\x01\x2d\x00\xe6\xfe\x8e\x01\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\x91\x01\xe6\xfe\xab\x01\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xa9\x00\xa9\x00\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xc2\x00\xb5\x00\xb4\x00\xb2\x00\xb6\x00\xe6\xfe\xef\x00\xe6\xfe\x19\x01\x0d\x00\x25\x01\x23\x01\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\xe6\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x26\x01\x4e\x00\x2e\x00\xe6\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\xc3\x00\x2f\x00\x33\x00\xc4\x00\x1e\x00\xff\xff\x58\x00\x49\xfe\x0e\x00\x00\x00\x49\xfe\xe6\xfe\x08\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x00\x00\x5a\x00\x3b\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\xdf\x00\xe0\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x5e\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\xe7\x00\xe8\x00\xe9\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x7f\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x3e\x00\x3f\x00\x71\x00\x00\x00\x40\x00\x41\x00\x83\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x8a\x00\x00\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x90\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x4d\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x7f\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x4d\x00\x3e\x00\x00\x00\x71\x00\x00\x00\x40\x00\x41\x00\x83\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x90\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x4d\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x00\x00\x3e\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x49\xfe\xe7\x01\xe8\x01\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x49\xfe\x49\xfe\x4d\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x44\x00\x00\x00\x00\x00\x49\xfe\x48\x00\x49\x00\x4a\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x49\xfe\x4b\x00\x00\x00\x00\x00\xc7\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x4d\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\xc3\x00\x00\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x58\x00\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x49\xfe\x37\x00\x38\x00\x39\x00\x00\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x3e\x00\x00\x00\x00\x00\x49\xfe\x40\x00\x41\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x00\x00\xa2\x02\x49\xfe\xa3\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\xa4\x00\x49\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xa3\x02\x00\x00\x00\x00\x9f\x01\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x6a\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x4b\x00\x49\xfe\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x4d\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x8f\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x4d\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\xdf\x00\x2d\x00\xe1\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x73\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x49\xfe\xe4\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\xe7\x00\xe8\x00\xe9\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x3e\x00\x00\x00\x00\x00\x49\xfe\x40\x00\x41\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x49\xfe\xa3\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\xa4\x00\x49\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xa3\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x6a\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x4b\x00\x49\xfe\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x4d\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x4d\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\xd4\x00\x00\x00\x2d\x00\xd5\x00\x00\x00\x52\x01\x49\xfe\xd7\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\xd9\x00\xda\x00\x00\x00\xdb\x00\x00\x00\xdc\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x00\x00\x49\xfe\xe3\x00\xe4\x00\x00\x00\xe5\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\xe7\x00\xe8\x00\xe9\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x49\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\xe3\x00\xe4\x00\x69\x00\xe5\x00\x7e\x00\xe6\x00\x00\x00\x49\xfe\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\xe7\x00\xe8\x00\xe9\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x49\xfe\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x9f\x01\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x00\xbd\x00\x00\x00\xd5\x00\x00\x00\x43\x01\x69\x00\xd7\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\xd8\x00\xd9\x00\xda\x00\x00\x00\xdb\x00\x00\x00\xdc\x00\x00\x00\x3e\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\xc7\x01\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\xc8\x01\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x8f\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x4d\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xd4\x00\x00\x00\x00\x00\xd5\x00\x49\xfe\x52\x01\x49\xfe\xd7\x00\x00\x00\x49\xfe\x4b\x00\x49\xfe\x00\x00\x00\x00\xd8\x00\xd9\x00\xda\x00\x00\x00\xdb\x00\x00\x00\xdc\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x4d\x00\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\xef\x02\x3e\x00\x00\x00\x00\x00\x89\x00\x40\x00\x41\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x8d\x00\x00\x00\xa2\x00\x8f\x00\xa3\x00\x00\x00\x00\x00\x00\x00\xf0\x02\x00\x00\xa4\x00\x4d\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x49\xfe\x49\xfe\x4b\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x49\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x9f\x01\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\xff\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x13\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x6a\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x66\x01\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x4d\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\xe1\x02\x3e\x00\x00\x00\x00\x00\x89\x00\x40\x00\x41\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x02\x8f\x00\xa3\x00\x90\x00\x00\x00\x00\x00\xe2\x02\x00\x00\xa4\x00\x4d\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xa3\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x4b\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x4d\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\xd1\x00\xd2\x00\xd3\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x49\xfe\x49\xfe\x00\x00\x49\xfe\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x49\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x00\x00\x49\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x49\xfe\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x49\xfe\xd4\x00\x00\x00\x00\x00\xd5\x00\x00\x00\xd6\x00\x67\x00\xd7\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\xd9\x00\xda\x00\x00\x00\xdb\x00\x00\x00\xdc\x00\x69\x00\xdd\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x3e\x00\x00\x00\x71\x00\x00\x00\x40\x00\x41\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\xa4\x00\x4b\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x4b\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x5e\x00\x3f\x00\x5f\x00\x60\x00\x61\x00\x41\x00\x17\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x69\x00\x00\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\xe3\x00\xe4\x00\x42\x00\xe5\x00\x45\x01\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x43\x00\xe7\x00\xe8\x00\xe9\x00\x00\x00\x00\x00\x00\x00\x71\x00\xbe\xfe\xbe\xfe\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x18\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x67\x00\x00\x00\x4d\x00\x68\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x69\x00\x00\x00\x40\x00\x00\x00\x00\x00\x49\xfe\x4b\x00\x6a\x00\x46\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x01\x1d\x03\x00\x00\x4c\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x1e\x03\x49\xfe\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x4d\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x59\x02\x3e\x00\x69\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x01\x30\x01\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x31\x01\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x4d\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x00\x00\x97\x01\xe0\x00\x4b\x00\xe2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\xa4\x00\x40\x00\x41\x00\x4d\x00\x98\x01\x00\x00\x00\x00\xe5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x99\x01\xa3\x00\x9a\x01\x78\xff\x00\x00\x00\x00\x00\x00\xa4\x00\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x73\x01\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x74\x01\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\xe3\x00\xe4\x00\x00\x00\xe5\x00\x45\x01\x00\x00\x4d\x00\x00\x00\xa3\xfe\x4b\x00\x00\x00\x00\x00\x00\x00\xe7\x00\xe8\x00\xe9\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\xb0\x00\x4b\x00\x40\x00\x41\x00\x00\x00\x97\x01\xe0\x00\x3e\x00\xe2\x00\x5f\x00\x60\x00\x40\x00\x41\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\xa4\x00\xa2\x00\x73\x01\xa3\x00\x98\x01\x00\x00\x00\x00\xe5\x00\x00\x00\xa4\x00\x00\x00\x0f\x01\x00\x00\x99\x01\x00\x00\xaa\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\x00\x00\x00\x00\x46\x01\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\xb0\x00\x4b\x00\x40\x00\x41\x00\x00\x00\x00\x00\x50\xff\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x50\xff\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xc4\x02\x78\xff\x3e\x00\xc5\x02\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x3e\x00\x4b\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x4c\x00\x00\x00\x00\x00\x00\x00\xa2\x00\xa4\x00\xa3\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x2d\x03\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\xb0\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\xb0\x00\x4b\x00\x50\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x4d\x00\x00\x00\x00\x00\x50\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\xc5\x02\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\xa4\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x71\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x00\x00\xb0\x00\x4b\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x3e\x00\x00\x00\xb0\x00\x4b\x00\x40\x00\x41\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\xa4\x00\xa3\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x77\xff\x40\x00\x41\x00\x00\x00\xa5\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x3f\x00\x00\x00\x4b\x00\x40\x00\x41\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x42\x00\xcc\x00\x00\x00\x3e\x00\x3f\x00\x4d\x00\x05\x03\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x4b\x00\x40\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x42\x00\x00\x00\x00\x00\x43\x00\x00\x00\x00\x00\x35\x01\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x4b\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x66\x01\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4b\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x00\x00\x4d\x00\x4b\x00\x40\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x69\x01\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x4d\x00\xff\x00\xb8\x00\xb9\x00\x00\x01\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x01\x01\x02\x01\x00\x00\x00\x00\x03\x01\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x7a\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x5b\x00\x5c\x00\x04\x01\x00\x00\x05\x01\x00\x00\x00\x00\x06\x01\x07\x01\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xd8\x00\xd9\x00\x08\x01\x09\x01\xdb\x00\x0a\x01\x0b\x01\x5b\x00\x5c\x00\xef\x01\xb8\x00\xb9\x00\x9b\x01\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x29\x03\xf1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xf6\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\xb0\x02\xf8\x00\xf9\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\xef\x01\xb8\x00\xb9\x00\x9b\x01\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x51\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\xf0\x01\xf1\x01\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xf2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xef\x01\xb8\x00\xb9\x00\x9b\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x09\x02\xf1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xf6\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x38\x01\xf8\x00\xf9\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\xf6\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\xf7\x00\xf8\x00\xf9\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xcd\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x9a\x01\xb8\x00\xb9\x00\x9b\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x51\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x9c\x01\x00\x00\xe5\x02\x00\x00\x5b\x00\x5c\x00\x4e\x00\x4f\x00\x50\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x51\x00\x00\x00\x00\x00\x52\x00\x13\x00\x00\x00\x53\x00\x2b\x02\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x9a\x01\xb8\x00\xb9\x00\x9b\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x51\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x9c\x01\x00\x00\x75\x02\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xef\x01\xb8\x00\xb9\x00\x9b\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\xac\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x00\x00\x00\x00\x00\x00\xd5\x01\xd6\x01\xd7\x01\x4f\x00\x50\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x9a\x01\xb8\x00\xb9\x00\x9b\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x51\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x9c\x01\x00\x00\x6e\x02\x00\x00\x5b\x00\x5c\x00\x4e\x00\x4f\x00\x50\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x51\x00\x00\x00\x00\x00\x52\x00\x13\x00\x00\x00\x53\x00\x54\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x9a\x01\xb8\x00\xb9\x00\x9b\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x51\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x9c\x01\x00\x00\xb7\x01\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xf6\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x02\xf9\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x9a\x01\xb8\x00\xb9\x00\x9b\x01\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x51\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x9c\x01\x00\x00\x9d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x9a\x01\xb8\x00\xb9\x00\x9b\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x01\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xfb\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\xfc\x00\xfd\x00\x00\x00\x0d\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x0e\x02\x51\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x34\x03\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x11\x03\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xf8\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\xc6\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xcc\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x76\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x8a\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x95\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xad\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x28\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x48\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x52\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x53\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x0a\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x0b\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x0c\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x0f\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x13\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x66\x01\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7d\x01\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\xcc\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xef\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\xf4\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xf5\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x3d\x01\xb9\x00\xf3\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\xf2\x00\xb9\x00\xf3\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x02\x00\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x51\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xce\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x07\x02\x69\x01\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x57\x02\xd7\x01\x4f\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x35\x01\x4f\x00\x50\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x6d\x01\x4f\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x6e\x01\x4f\x00\x50\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\xd0\x00\x4f\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\xfa\x00\x4f\x00\x50\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# - -happyReduceArr = array (1, 450) [ - (1 , happyReduce_1), - (2 , happyReduce_2), - (3 , happyReduce_3), - (4 , happyReduce_4), - (5 , happyReduce_5), - (6 , happyReduce_6), - (7 , happyReduce_7), - (8 , happyReduce_8), - (9 , happyReduce_9), - (10 , happyReduce_10), - (11 , happyReduce_11), - (12 , happyReduce_12), - (13 , happyReduce_13), - (14 , happyReduce_14), - (15 , happyReduce_15), - (16 , happyReduce_16), - (17 , happyReduce_17), - (18 , happyReduce_18), - (19 , happyReduce_19), - (20 , happyReduce_20), - (21 , happyReduce_21), - (22 , happyReduce_22), - (23 , happyReduce_23), - (24 , happyReduce_24), - (25 , happyReduce_25), - (26 , happyReduce_26), - (27 , happyReduce_27), - (28 , happyReduce_28), - (29 , happyReduce_29), - (30 , happyReduce_30), - (31 , happyReduce_31), - (32 , happyReduce_32), - (33 , happyReduce_33), - (34 , happyReduce_34), - (35 , happyReduce_35), - (36 , happyReduce_36), - (37 , happyReduce_37), - (38 , happyReduce_38), - (39 , happyReduce_39), - (40 , happyReduce_40), - (41 , happyReduce_41), - (42 , happyReduce_42), - (43 , happyReduce_43), - (44 , happyReduce_44), - (45 , happyReduce_45), - (46 , happyReduce_46), - (47 , happyReduce_47), - (48 , happyReduce_48), - (49 , happyReduce_49), - (50 , happyReduce_50), - (51 , happyReduce_51), - (52 , happyReduce_52), - (53 , happyReduce_53), - (54 , happyReduce_54), - (55 , happyReduce_55), - (56 , happyReduce_56), - (57 , happyReduce_57), - (58 , happyReduce_58), - (59 , happyReduce_59), - (60 , happyReduce_60), - (61 , happyReduce_61), - (62 , happyReduce_62), - (63 , happyReduce_63), - (64 , happyReduce_64), - (65 , happyReduce_65), - (66 , happyReduce_66), - (67 , happyReduce_67), - (68 , happyReduce_68), - (69 , happyReduce_69), - (70 , happyReduce_70), - (71 , happyReduce_71), - (72 , happyReduce_72), - (73 , happyReduce_73), - (74 , happyReduce_74), - (75 , happyReduce_75), - (76 , happyReduce_76), - (77 , happyReduce_77), - (78 , happyReduce_78), - (79 , happyReduce_79), - (80 , happyReduce_80), - (81 , happyReduce_81), - (82 , happyReduce_82), - (83 , happyReduce_83), - (84 , happyReduce_84), - (85 , happyReduce_85), - (86 , happyReduce_86), - (87 , happyReduce_87), - (88 , happyReduce_88), - (89 , happyReduce_89), - (90 , happyReduce_90), - (91 , happyReduce_91), - (92 , happyReduce_92), - (93 , happyReduce_93), - (94 , happyReduce_94), - (95 , happyReduce_95), - (96 , happyReduce_96), - (97 , happyReduce_97), - (98 , happyReduce_98), - (99 , happyReduce_99), - (100 , happyReduce_100), - (101 , happyReduce_101), - (102 , happyReduce_102), - (103 , happyReduce_103), - (104 , happyReduce_104), - (105 , happyReduce_105), - (106 , happyReduce_106), - (107 , happyReduce_107), - (108 , happyReduce_108), - (109 , happyReduce_109), - (110 , happyReduce_110), - (111 , happyReduce_111), - (112 , happyReduce_112), - (113 , happyReduce_113), - (114 , happyReduce_114), - (115 , happyReduce_115), - (116 , happyReduce_116), - (117 , happyReduce_117), - (118 , happyReduce_118), - (119 , happyReduce_119), - (120 , happyReduce_120), - (121 , happyReduce_121), - (122 , happyReduce_122), - (123 , happyReduce_123), - (124 , happyReduce_124), - (125 , happyReduce_125), - (126 , happyReduce_126), - (127 , happyReduce_127), - (128 , happyReduce_128), - (129 , happyReduce_129), - (130 , happyReduce_130), - (131 , happyReduce_131), - (132 , happyReduce_132), - (133 , happyReduce_133), - (134 , happyReduce_134), - (135 , happyReduce_135), - (136 , happyReduce_136), - (137 , happyReduce_137), - (138 , happyReduce_138), - (139 , happyReduce_139), - (140 , happyReduce_140), - (141 , happyReduce_141), - (142 , happyReduce_142), - (143 , happyReduce_143), - (144 , happyReduce_144), - (145 , happyReduce_145), - (146 , happyReduce_146), - (147 , happyReduce_147), - (148 , happyReduce_148), - (149 , happyReduce_149), - (150 , happyReduce_150), - (151 , happyReduce_151), - (152 , happyReduce_152), - (153 , happyReduce_153), - (154 , happyReduce_154), - (155 , happyReduce_155), - (156 , happyReduce_156), - (157 , happyReduce_157), - (158 , happyReduce_158), - (159 , happyReduce_159), - (160 , happyReduce_160), - (161 , happyReduce_161), - (162 , happyReduce_162), - (163 , happyReduce_163), - (164 , happyReduce_164), - (165 , happyReduce_165), - (166 , happyReduce_166), - (167 , happyReduce_167), - (168 , happyReduce_168), - (169 , happyReduce_169), - (170 , happyReduce_170), - (171 , happyReduce_171), - (172 , happyReduce_172), - (173 , happyReduce_173), - (174 , happyReduce_174), - (175 , happyReduce_175), - (176 , happyReduce_176), - (177 , happyReduce_177), - (178 , happyReduce_178), - (179 , happyReduce_179), - (180 , happyReduce_180), - (181 , happyReduce_181), - (182 , happyReduce_182), - (183 , happyReduce_183), - (184 , happyReduce_184), - (185 , happyReduce_185), - (186 , happyReduce_186), - (187 , happyReduce_187), - (188 , happyReduce_188), - (189 , happyReduce_189), - (190 , happyReduce_190), - (191 , happyReduce_191), - (192 , happyReduce_192), - (193 , happyReduce_193), - (194 , happyReduce_194), - (195 , happyReduce_195), - (196 , happyReduce_196), - (197 , happyReduce_197), - (198 , happyReduce_198), - (199 , happyReduce_199), - (200 , happyReduce_200), - (201 , happyReduce_201), - (202 , happyReduce_202), - (203 , happyReduce_203), - (204 , happyReduce_204), - (205 , happyReduce_205), - (206 , happyReduce_206), - (207 , happyReduce_207), - (208 , happyReduce_208), - (209 , happyReduce_209), - (210 , happyReduce_210), - (211 , happyReduce_211), - (212 , happyReduce_212), - (213 , happyReduce_213), - (214 , happyReduce_214), - (215 , happyReduce_215), - (216 , happyReduce_216), - (217 , happyReduce_217), - (218 , happyReduce_218), - (219 , happyReduce_219), - (220 , happyReduce_220), - (221 , happyReduce_221), - (222 , happyReduce_222), - (223 , happyReduce_223), - (224 , happyReduce_224), - (225 , happyReduce_225), - (226 , happyReduce_226), - (227 , happyReduce_227), - (228 , happyReduce_228), - (229 , happyReduce_229), - (230 , happyReduce_230), - (231 , happyReduce_231), - (232 , happyReduce_232), - (233 , happyReduce_233), - (234 , happyReduce_234), - (235 , happyReduce_235), - (236 , happyReduce_236), - (237 , happyReduce_237), - (238 , happyReduce_238), - (239 , happyReduce_239), - (240 , happyReduce_240), - (241 , happyReduce_241), - (242 , happyReduce_242), - (243 , happyReduce_243), - (244 , happyReduce_244), - (245 , happyReduce_245), - (246 , happyReduce_246), - (247 , happyReduce_247), - (248 , happyReduce_248), - (249 , happyReduce_249), - (250 , happyReduce_250), - (251 , happyReduce_251), - (252 , happyReduce_252), - (253 , happyReduce_253), - (254 , happyReduce_254), - (255 , happyReduce_255), - (256 , happyReduce_256), - (257 , happyReduce_257), - (258 , happyReduce_258), - (259 , happyReduce_259), - (260 , happyReduce_260), - (261 , happyReduce_261), - (262 , happyReduce_262), - (263 , happyReduce_263), - (264 , happyReduce_264), - (265 , happyReduce_265), - (266 , happyReduce_266), - (267 , happyReduce_267), - (268 , happyReduce_268), - (269 , happyReduce_269), - (270 , happyReduce_270), - (271 , happyReduce_271), - (272 , happyReduce_272), - (273 , happyReduce_273), - (274 , happyReduce_274), - (275 , happyReduce_275), - (276 , happyReduce_276), - (277 , happyReduce_277), - (278 , happyReduce_278), - (279 , happyReduce_279), - (280 , happyReduce_280), - (281 , happyReduce_281), - (282 , happyReduce_282), - (283 , happyReduce_283), - (284 , happyReduce_284), - (285 , happyReduce_285), - (286 , happyReduce_286), - (287 , happyReduce_287), - (288 , happyReduce_288), - (289 , happyReduce_289), - (290 , happyReduce_290), - (291 , happyReduce_291), - (292 , happyReduce_292), - (293 , happyReduce_293), - (294 , happyReduce_294), - (295 , happyReduce_295), - (296 , happyReduce_296), - (297 , happyReduce_297), - (298 , happyReduce_298), - (299 , happyReduce_299), - (300 , happyReduce_300), - (301 , happyReduce_301), - (302 , happyReduce_302), - (303 , happyReduce_303), - (304 , happyReduce_304), - (305 , happyReduce_305), - (306 , happyReduce_306), - (307 , happyReduce_307), - (308 , happyReduce_308), - (309 , happyReduce_309), - (310 , happyReduce_310), - (311 , happyReduce_311), - (312 , happyReduce_312), - (313 , happyReduce_313), - (314 , happyReduce_314), - (315 , happyReduce_315), - (316 , happyReduce_316), - (317 , happyReduce_317), - (318 , happyReduce_318), - (319 , happyReduce_319), - (320 , happyReduce_320), - (321 , happyReduce_321), - (322 , happyReduce_322), - (323 , happyReduce_323), - (324 , happyReduce_324), - (325 , happyReduce_325), - (326 , happyReduce_326), - (327 , happyReduce_327), - (328 , happyReduce_328), - (329 , happyReduce_329), - (330 , happyReduce_330), - (331 , happyReduce_331), - (332 , happyReduce_332), - (333 , happyReduce_333), - (334 , happyReduce_334), - (335 , happyReduce_335), - (336 , happyReduce_336), - (337 , happyReduce_337), - (338 , happyReduce_338), - (339 , happyReduce_339), - (340 , happyReduce_340), - (341 , happyReduce_341), - (342 , happyReduce_342), - (343 , happyReduce_343), - (344 , happyReduce_344), - (345 , happyReduce_345), - (346 , happyReduce_346), - (347 , happyReduce_347), - (348 , happyReduce_348), - (349 , happyReduce_349), - (350 , happyReduce_350), - (351 , happyReduce_351), - (352 , happyReduce_352), - (353 , happyReduce_353), - (354 , happyReduce_354), - (355 , happyReduce_355), - (356 , happyReduce_356), - (357 , happyReduce_357), - (358 , happyReduce_358), - (359 , happyReduce_359), - (360 , happyReduce_360), - (361 , happyReduce_361), - (362 , happyReduce_362), - (363 , happyReduce_363), - (364 , happyReduce_364), - (365 , happyReduce_365), - (366 , happyReduce_366), - (367 , happyReduce_367), - (368 , happyReduce_368), - (369 , happyReduce_369), - (370 , happyReduce_370), - (371 , happyReduce_371), - (372 , happyReduce_372), - (373 , happyReduce_373), - (374 , happyReduce_374), - (375 , happyReduce_375), - (376 , happyReduce_376), - (377 , happyReduce_377), - (378 , happyReduce_378), - (379 , happyReduce_379), - (380 , happyReduce_380), - (381 , happyReduce_381), - (382 , happyReduce_382), - (383 , happyReduce_383), - (384 , happyReduce_384), - (385 , happyReduce_385), - (386 , happyReduce_386), - (387 , happyReduce_387), - (388 , happyReduce_388), - (389 , happyReduce_389), - (390 , happyReduce_390), - (391 , happyReduce_391), - (392 , happyReduce_392), - (393 , happyReduce_393), - (394 , happyReduce_394), - (395 , happyReduce_395), - (396 , happyReduce_396), - (397 , happyReduce_397), - (398 , happyReduce_398), - (399 , happyReduce_399), - (400 , happyReduce_400), - (401 , happyReduce_401), - (402 , happyReduce_402), - (403 , happyReduce_403), - (404 , happyReduce_404), - (405 , happyReduce_405), - (406 , happyReduce_406), - (407 , happyReduce_407), - (408 , happyReduce_408), - (409 , happyReduce_409), - (410 , happyReduce_410), - (411 , happyReduce_411), - (412 , happyReduce_412), - (413 , happyReduce_413), - (414 , happyReduce_414), - (415 , happyReduce_415), - (416 , happyReduce_416), - (417 , happyReduce_417), - (418 , happyReduce_418), - (419 , happyReduce_419), - (420 , happyReduce_420), - (421 , happyReduce_421), - (422 , happyReduce_422), - (423 , happyReduce_423), - (424 , happyReduce_424), - (425 , happyReduce_425), - (426 , happyReduce_426), - (427 , happyReduce_427), - (428 , happyReduce_428), - (429 , happyReduce_429), - (430 , happyReduce_430), - (431 , happyReduce_431), - (432 , happyReduce_432), - (433 , happyReduce_433), - (434 , happyReduce_434), - (435 , happyReduce_435), - (436 , happyReduce_436), - (437 , happyReduce_437), - (438 , happyReduce_438), - (439 , happyReduce_439), - (440 , happyReduce_440), - (441 , happyReduce_441), - (442 , happyReduce_442), - (443 , happyReduce_443), - (444 , happyReduce_444), - (445 , happyReduce_445), - (446 , happyReduce_446), - (447 , happyReduce_447), - (448 , happyReduce_448), - (449 , happyReduce_449), - (450 , happyReduce_450) - ] - -happy_n_terms = 110 :: Int -happy_n_nonterms = 183 :: Int - -happyReduce_1 = happyMonadReduce 1# 0# happyReduction_1 -happyReduction_1 (happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut5 happy_x_1 of { happy_var_1 -> - ( mkPageModule happy_var_1)} - ) (\r -> happyReturn (happyIn4 r)) - -happyReduce_2 = happyMonadReduce 5# 0# happyReduction_2 -happyReduction_2 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut6 happy_x_2 of { happy_var_2 -> - case happyOut177 happy_x_4 of { happy_var_4 -> - case happyOut5 happy_x_5 of { happy_var_5 -> - ( mkPage happy_var_2 happy_var_4 happy_var_5)}}} - ) (\r -> happyReturn (happyIn4 r)) - -happyReduce_3 = happySpecReduce_1 0# happyReduction_3 -happyReduction_3 happy_x_1 - = case happyOut6 happy_x_1 of { happy_var_1 -> - happyIn4 - (happy_var_1 - )} - -happyReduce_4 = happyMonadReduce 10# 1# happyReduction_4 -happyReduction_4 (happy_x_10 `HappyStk` - happy_x_9 `HappyStk` - happy_x_8 `HappyStk` - happy_x_7 `HappyStk` - happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut121 happy_x_3 of { happy_var_3 -> - case happyOut123 happy_x_4 of { happy_var_4 -> - case happyOut125 happy_x_5 of { happy_var_5 -> - case happyOut119 happy_x_7 of { happy_var_7 -> - case happyOut121 happy_x_9 of { happy_var_9 -> - ( do { n <- checkEqNames happy_var_3 happy_var_9; - let { cn = reverse happy_var_7; - as = reverse happy_var_4; }; - return $ HsXTag happy_var_1 n as happy_var_5 cn })}}}}}} - ) (\r -> happyReturn (happyIn5 r)) - -happyReduce_5 = happyReduce 6# 1# happyReduction_5 -happyReduction_5 (happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut121 happy_x_3 of { happy_var_3 -> - case happyOut123 happy_x_4 of { happy_var_4 -> - case happyOut125 happy_x_5 of { happy_var_5 -> - happyIn5 - (HsXETag happy_var_1 happy_var_3 (reverse happy_var_4) happy_var_5 - ) `HappyStk` happyRest}}}} - -happyReduce_6 = happyReduce 6# 2# happyReduction_6 -happyReduction_6 (happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut180 happy_x_3 of { happy_var_3 -> - case happyOut11 happy_x_4 of { happy_var_4 -> - case happyOut7 happy_x_6 of { happy_var_6 -> - happyIn6 - (HsModule happy_var_1 happy_var_3 happy_var_4 (fst happy_var_6) (snd happy_var_6) - ) `HappyStk` happyRest}}}} - -happyReduce_7 = happySpecReduce_2 2# happyReduction_7 -happyReduction_7 happy_x_2 - happy_x_1 - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut7 happy_x_2 of { happy_var_2 -> - happyIn6 - (HsModule happy_var_1 main_mod (Just [HsEVar (UnQual main_name)]) - (fst happy_var_2) (snd happy_var_2) - )}} - -happyReduce_8 = happySpecReduce_3 3# happyReduction_8 -happyReduction_8 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut8 happy_x_2 of { happy_var_2 -> - happyIn7 - (happy_var_2 - )} - -happyReduce_9 = happySpecReduce_3 3# happyReduction_9 -happyReduction_9 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut8 happy_x_2 of { happy_var_2 -> - happyIn7 - (happy_var_2 - )} - -happyReduce_10 = happyReduce 4# 4# happyReduction_10 -happyReduction_10 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut16 happy_x_2 of { happy_var_2 -> - case happyOut31 happy_x_4 of { happy_var_4 -> - happyIn8 - ((reverse happy_var_2, happy_var_4) - ) `HappyStk` happyRest}} - -happyReduce_11 = happySpecReduce_2 4# happyReduction_11 -happyReduction_11 happy_x_2 - happy_x_1 - = case happyOut31 happy_x_2 of { happy_var_2 -> - happyIn8 - (([], happy_var_2) - )} - -happyReduce_12 = happySpecReduce_3 4# happyReduction_12 -happyReduction_12 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut16 happy_x_2 of { happy_var_2 -> - happyIn8 - ((reverse happy_var_2, []) - )} - -happyReduce_13 = happySpecReduce_1 4# happyReduction_13 -happyReduction_13 happy_x_1 - = happyIn8 - (([], []) - ) - -happyReduce_14 = happySpecReduce_2 5# happyReduction_14 -happyReduction_14 happy_x_2 - happy_x_1 - = happyIn9 - (() - ) - -happyReduce_15 = happySpecReduce_1 6# happyReduction_15 -happyReduction_15 happy_x_1 - = happyIn10 - (() - ) - -happyReduce_16 = happySpecReduce_0 6# happyReduction_16 -happyReduction_16 = happyIn10 - (() - ) - -happyReduce_17 = happySpecReduce_1 7# happyReduction_17 -happyReduction_17 happy_x_1 - = case happyOut12 happy_x_1 of { happy_var_1 -> - happyIn11 - (Just happy_var_1 - )} - -happyReduce_18 = happySpecReduce_0 7# happyReduction_18 -happyReduction_18 = happyIn11 - (Nothing - ) - -happyReduce_19 = happyReduce 4# 8# happyReduction_19 -happyReduction_19 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut14 happy_x_2 of { happy_var_2 -> - happyIn12 - (reverse happy_var_2 - ) `HappyStk` happyRest} - -happyReduce_20 = happySpecReduce_3 8# happyReduction_20 -happyReduction_20 happy_x_3 - happy_x_2 - happy_x_1 - = happyIn12 - ([] - ) - -happyReduce_21 = happySpecReduce_1 9# happyReduction_21 -happyReduction_21 happy_x_1 - = happyIn13 - (() - ) - -happyReduce_22 = happySpecReduce_0 9# happyReduction_22 -happyReduction_22 = happyIn13 - (() - ) - -happyReduce_23 = happySpecReduce_3 10# happyReduction_23 -happyReduction_23 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut14 happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_3 of { happy_var_3 -> - happyIn14 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_24 = happySpecReduce_1 10# happyReduction_24 -happyReduction_24 happy_x_1 - = case happyOut15 happy_x_1 of { happy_var_1 -> - happyIn14 - ([happy_var_1] - )} - -happyReduce_25 = happySpecReduce_1 11# happyReduction_25 -happyReduction_25 happy_x_1 - = case happyOut150 happy_x_1 of { happy_var_1 -> - happyIn15 - (HsEVar happy_var_1 - )} - -happyReduce_26 = happySpecReduce_1 11# happyReduction_26 -happyReduction_26 happy_x_1 - = case happyOut182 happy_x_1 of { happy_var_1 -> - happyIn15 - (HsEAbs happy_var_1 - )} - -happyReduce_27 = happyReduce 4# 11# happyReduction_27 -happyReduction_27 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut182 happy_x_1 of { happy_var_1 -> - happyIn15 - (HsEThingAll happy_var_1 - ) `HappyStk` happyRest} - -happyReduce_28 = happySpecReduce_3 11# happyReduction_28 -happyReduction_28 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut182 happy_x_1 of { happy_var_1 -> - happyIn15 - (HsEThingWith happy_var_1 [] - )} - -happyReduce_29 = happyReduce 4# 11# happyReduction_29 -happyReduction_29 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut182 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - happyIn15 - (HsEThingWith happy_var_1 (reverse happy_var_3) - ) `HappyStk` happyRest}} - -happyReduce_30 = happySpecReduce_2 11# happyReduction_30 -happyReduction_30 happy_x_2 - happy_x_1 - = case happyOut180 happy_x_2 of { happy_var_2 -> - happyIn15 - (HsEModuleContents happy_var_2 - )} - -happyReduce_31 = happySpecReduce_3 12# happyReduction_31 -happyReduction_31 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut16 happy_x_1 of { happy_var_1 -> - case happyOut17 happy_x_3 of { happy_var_3 -> - happyIn16 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_32 = happySpecReduce_1 12# happyReduction_32 -happyReduction_32 happy_x_1 - = case happyOut17 happy_x_1 of { happy_var_1 -> - happyIn16 - ([happy_var_1] - )} - -happyReduce_33 = happyReduce 6# 13# happyReduction_33 -happyReduction_33 (happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut18 happy_x_3 of { happy_var_3 -> - case happyOut180 happy_x_4 of { happy_var_4 -> - case happyOut19 happy_x_5 of { happy_var_5 -> - case happyOut20 happy_x_6 of { happy_var_6 -> - happyIn17 - (HsImportDecl happy_var_1 happy_var_4 happy_var_3 happy_var_5 happy_var_6 - ) `HappyStk` happyRest}}}}} - -happyReduce_34 = happySpecReduce_1 14# happyReduction_34 -happyReduction_34 happy_x_1 - = happyIn18 - (True - ) - -happyReduce_35 = happySpecReduce_0 14# happyReduction_35 -happyReduction_35 = happyIn18 - (False - ) - -happyReduce_36 = happySpecReduce_2 15# happyReduction_36 -happyReduction_36 happy_x_2 - happy_x_1 - = case happyOut180 happy_x_2 of { happy_var_2 -> - happyIn19 - (Just happy_var_2 - )} - -happyReduce_37 = happySpecReduce_0 15# happyReduction_37 -happyReduction_37 = happyIn19 - (Nothing - ) - -happyReduce_38 = happySpecReduce_1 16# happyReduction_38 -happyReduction_38 happy_x_1 - = case happyOut21 happy_x_1 of { happy_var_1 -> - happyIn20 - (Just happy_var_1 - )} - -happyReduce_39 = happySpecReduce_0 16# happyReduction_39 -happyReduction_39 = happyIn20 - (Nothing - ) - -happyReduce_40 = happyReduce 5# 17# happyReduction_40 -happyReduction_40 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_3 of { happy_var_3 -> - happyIn21 - ((happy_var_1, reverse happy_var_3) - ) `HappyStk` happyRest}} - -happyReduce_41 = happyReduce 4# 17# happyReduction_41 -happyReduction_41 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut22 happy_x_1 of { happy_var_1 -> - happyIn21 - ((happy_var_1, []) - ) `HappyStk` happyRest} - -happyReduce_42 = happySpecReduce_1 18# happyReduction_42 -happyReduction_42 happy_x_1 - = happyIn22 - (True - ) - -happyReduce_43 = happySpecReduce_0 18# happyReduction_43 -happyReduction_43 = happyIn22 - (False - ) - -happyReduce_44 = happySpecReduce_3 19# happyReduction_44 -happyReduction_44 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut23 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_3 of { happy_var_3 -> - happyIn23 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_45 = happySpecReduce_1 19# happyReduction_45 -happyReduction_45 happy_x_1 - = case happyOut24 happy_x_1 of { happy_var_1 -> - happyIn23 - ([happy_var_1] - )} - -happyReduce_46 = happySpecReduce_1 20# happyReduction_46 -happyReduction_46 happy_x_1 - = case happyOut148 happy_x_1 of { happy_var_1 -> - happyIn24 - (HsIVar happy_var_1 - )} - -happyReduce_47 = happySpecReduce_1 20# happyReduction_47 -happyReduction_47 happy_x_1 - = case happyOut181 happy_x_1 of { happy_var_1 -> - happyIn24 - (HsIAbs happy_var_1 - )} - -happyReduce_48 = happyReduce 4# 20# happyReduction_48 -happyReduction_48 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut181 happy_x_1 of { happy_var_1 -> - happyIn24 - (HsIThingAll happy_var_1 - ) `HappyStk` happyRest} - -happyReduce_49 = happySpecReduce_3 20# happyReduction_49 -happyReduction_49 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut181 happy_x_1 of { happy_var_1 -> - happyIn24 - (HsIThingWith happy_var_1 [] - )} - -happyReduce_50 = happyReduce 4# 20# happyReduction_50 -happyReduction_50 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut181 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_3 of { happy_var_3 -> - happyIn24 - (HsIThingWith happy_var_1 (reverse happy_var_3) - ) `HappyStk` happyRest}} - -happyReduce_51 = happySpecReduce_3 21# happyReduction_51 -happyReduction_51 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut25 happy_x_1 of { happy_var_1 -> - case happyOut26 happy_x_3 of { happy_var_3 -> - happyIn25 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_52 = happySpecReduce_1 21# happyReduction_52 -happyReduction_52 happy_x_1 - = case happyOut26 happy_x_1 of { happy_var_1 -> - happyIn25 - ([happy_var_1] - )} - -happyReduce_53 = happySpecReduce_1 22# happyReduction_53 -happyReduction_53 happy_x_1 - = case happyOut148 happy_x_1 of { happy_var_1 -> - happyIn26 - (HsVarName happy_var_1 - )} - -happyReduce_54 = happySpecReduce_1 22# happyReduction_54 -happyReduction_54 happy_x_1 - = case happyOut152 happy_x_1 of { happy_var_1 -> - happyIn26 - (HsConName happy_var_1 - )} - -happyReduce_55 = happyReduce 4# 23# happyReduction_55 -happyReduction_55 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut29 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - case happyOut30 happy_x_4 of { happy_var_4 -> - happyIn27 - (HsInfixDecl happy_var_1 happy_var_2 happy_var_3 (reverse happy_var_4) - ) `HappyStk` happyRest}}}} - -happyReduce_56 = happySpecReduce_0 24# happyReduction_56 -happyReduction_56 = happyIn28 - (9 - ) - -happyReduce_57 = happyMonadReduce 1# 24# happyReduction_57 -happyReduction_57 (happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOutTok happy_x_1 of { (IntTok happy_var_1) -> - ( checkPrec happy_var_1)} - ) (\r -> happyReturn (happyIn28 r)) - -happyReduce_58 = happySpecReduce_1 25# happyReduction_58 -happyReduction_58 happy_x_1 - = happyIn29 - (HsAssocNone - ) - -happyReduce_59 = happySpecReduce_1 25# happyReduction_59 -happyReduction_59 happy_x_1 - = happyIn29 - (HsAssocLeft - ) - -happyReduce_60 = happySpecReduce_1 25# happyReduction_60 -happyReduction_60 happy_x_1 - = happyIn29 - (HsAssocRight - ) - -happyReduce_61 = happySpecReduce_3 26# happyReduction_61 -happyReduction_61 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut30 happy_x_1 of { happy_var_1 -> - case happyOut159 happy_x_3 of { happy_var_3 -> - happyIn30 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_62 = happySpecReduce_1 26# happyReduction_62 -happyReduction_62 happy_x_1 - = case happyOut159 happy_x_1 of { happy_var_1 -> - happyIn30 - ([happy_var_1] - )} - -happyReduce_63 = happyMonadReduce 2# 27# happyReduction_63 -happyReduction_63 (happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut32 happy_x_1 of { happy_var_1 -> - ( checkRevDecls happy_var_1)} - ) (\r -> happyReturn (happyIn31 r)) - -happyReduce_64 = happySpecReduce_3 28# happyReduction_64 -happyReduction_64 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut32 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn32 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_65 = happySpecReduce_1 28# happyReduction_65 -happyReduction_65 happy_x_1 - = case happyOut33 happy_x_1 of { happy_var_1 -> - happyIn32 - ([happy_var_1] - )} - -happyReduce_66 = happyMonadReduce 5# 29# happyReduction_66 -happyReduction_66 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut46 happy_x_3 of { happy_var_3 -> - case happyOut52 happy_x_5 of { happy_var_5 -> - ( do { (c,ts) <- checkSimpleType happy_var_3; - return (HsTypeDecl happy_var_1 c ts happy_var_5) })}}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_67 = happyMonadReduce 5# 29# happyReduction_67 -happyReduction_67 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_4 of { happy_var_4 -> - case happyOut82 happy_x_5 of { happy_var_5 -> - ( do { (c,ts) <- checkSimpleType happy_var_4; - return (HsTypeFamDecl happy_var_1 c ts happy_var_5) })}}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_68 = happyMonadReduce 6# 29# happyReduction_68 -happyReduction_68 (happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut46 happy_x_4 of { happy_var_4 -> - case happyOut52 happy_x_6 of { happy_var_6 -> - ( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns - return (HsTypeInsDecl happy_var_1 happy_var_4 happy_var_6) })}}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_69 = happyMonadReduce 5# 29# happyReduction_69 -happyReduction_69 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut34 happy_x_2 of { happy_var_2 -> - case happyOut52 happy_x_3 of { happy_var_3 -> - case happyOut66 happy_x_4 of { happy_var_4 -> - case happyOut78 happy_x_5 of { happy_var_5 -> - ( do { (cs,c,t) <- checkDataHeader happy_var_3; - checkDataOrNew happy_var_2 happy_var_4; - return (HsDataDecl happy_var_1 happy_var_2 cs c t (reverse happy_var_4) happy_var_5) })}}}}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_70 = happyMonadReduce 6# 29# happyReduction_70 -happyReduction_70 (happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut34 happy_x_2 of { happy_var_2 -> - case happyOut52 happy_x_3 of { happy_var_3 -> - case happyOut82 happy_x_4 of { happy_var_4 -> - case happyOut62 happy_x_6 of { happy_var_6 -> - ( do { (cs,c,t) <- checkDataHeader happy_var_3; - checkDataOrNew happy_var_2 happy_var_6; - return (HsGDataDecl happy_var_1 happy_var_2 cs c t happy_var_4 (reverse happy_var_6)) })}}}}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_71 = happyMonadReduce 5# 29# happyReduction_71 -happyReduction_71 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_4 of { happy_var_4 -> - case happyOut82 happy_x_5 of { happy_var_5 -> - ( do { (cs,c,t) <- checkDataHeader happy_var_4; - return (HsDataFamDecl happy_var_1 cs c t happy_var_5) })}}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_72 = happyMonadReduce 6# 29# happyReduction_72 -happyReduction_72 (happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut34 happy_x_2 of { happy_var_2 -> - case happyOut52 happy_x_4 of { happy_var_4 -> - case happyOut66 happy_x_5 of { happy_var_5 -> - case happyOut78 happy_x_6 of { happy_var_6 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4; - checkDataOrNew happy_var_2 happy_var_5; - return (HsDataInsDecl happy_var_1 happy_var_2 happy_var_4 (reverse happy_var_5) happy_var_6) })}}}}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_73 = happyMonadReduce 7# 29# happyReduction_73 -happyReduction_73 (happy_x_7 `HappyStk` - happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut34 happy_x_2 of { happy_var_2 -> - case happyOut52 happy_x_4 of { happy_var_4 -> - case happyOut82 happy_x_5 of { happy_var_5 -> - case happyOut62 happy_x_7 of { happy_var_7 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4; - checkDataOrNew happy_var_2 happy_var_7; - return (HsGDataInsDecl happy_var_1 happy_var_2 happy_var_4 happy_var_5 (reverse happy_var_7)) })}}}}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_74 = happyMonadReduce 5# 29# happyReduction_74 -happyReduction_74 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_3 of { happy_var_3 -> - case happyOut59 happy_x_4 of { happy_var_4 -> - case happyOut83 happy_x_5 of { happy_var_5 -> - ( do { (cs,c,vs) <- checkClassHeader happy_var_3; - return (HsClassDecl happy_var_1 cs c vs happy_var_4 happy_var_5) })}}}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_75 = happyMonadReduce 4# 29# happyReduction_75 -happyReduction_75 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_3 of { happy_var_3 -> - case happyOut89 happy_x_4 of { happy_var_4 -> - ( do { (cs,c,ts) <- checkInstHeader happy_var_3; - return (HsInstDecl happy_var_1 cs c ts happy_var_4) })}}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_76 = happyMonadReduce 4# 29# happyReduction_76 -happyReduction_76 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_4 of { happy_var_4 -> - ( do { (cs, c, ts) <- checkInstHeader happy_var_4; - return (HsDerivDecl happy_var_1 cs c ts) })}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_77 = happyReduce 5# 29# happyReduction_77 -happyReduction_77 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_4 of { happy_var_4 -> - happyIn33 - (HsDefaultDecl happy_var_1 happy_var_4 - ) `HappyStk` happyRest}} - -happyReduce_78 = happyMonadReduce 4# 29# happyReduction_78 -happyReduction_78 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - ( do { e <- checkExpr happy_var_3; - return $ HsSpliceDecl happy_var_1 $ HsParenSplice e })}} - ) (\r -> happyReturn (happyIn33 r)) - -happyReduce_79 = happyReduce 6# 29# happyReduction_79 -happyReduction_79 (happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut43 happy_x_4 of { happy_var_4 -> - case happyOut44 happy_x_5 of { happy_var_5 -> - case happyOut45 happy_x_6 of { happy_var_6 -> - happyIn33 - (let (s,n,t) = happy_var_6 in HsForImp happy_var_1 happy_var_4 happy_var_5 s n t - ) `HappyStk` happyRest}}}} - -happyReduce_80 = happyReduce 5# 29# happyReduction_80 -happyReduction_80 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut43 happy_x_4 of { happy_var_4 -> - case happyOut45 happy_x_5 of { happy_var_5 -> - happyIn33 - (let (s,n,t) = happy_var_5 in HsForExp happy_var_1 happy_var_4 s n t - ) `HappyStk` happyRest}}} - -happyReduce_81 = happySpecReduce_1 29# happyReduction_81 -happyReduction_81 happy_x_1 - = case happyOut38 happy_x_1 of { happy_var_1 -> - happyIn33 - (happy_var_1 - )} - -happyReduce_82 = happySpecReduce_1 30# happyReduction_82 -happyReduction_82 happy_x_1 - = happyIn34 - (DataType - ) - -happyReduce_83 = happySpecReduce_1 30# happyReduction_83 -happyReduction_83 happy_x_1 - = happyIn34 - (NewType - ) - -happyReduce_84 = happySpecReduce_1 31# happyReduction_84 -happyReduction_84 happy_x_1 - = case happyOut54 happy_x_1 of { happy_var_1 -> - happyIn35 - (reverse happy_var_1 - )} - -happyReduce_85 = happySpecReduce_1 31# happyReduction_85 -happyReduction_85 happy_x_1 - = case happyOut47 happy_x_1 of { happy_var_1 -> - happyIn35 - ([happy_var_1] - )} - -happyReduce_86 = happySpecReduce_0 31# happyReduction_86 -happyReduction_86 = happyIn35 - ([] - ) - -happyReduce_87 = happyMonadReduce 3# 32# happyReduction_87 -happyReduction_87 (happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut37 happy_x_2 of { happy_var_2 -> - ( checkRevDecls happy_var_2)} - ) (\r -> happyReturn (happyIn36 r)) - -happyReduce_88 = happySpecReduce_1 32# happyReduction_88 -happyReduction_88 happy_x_1 - = happyIn36 - ([] - ) - -happyReduce_89 = happySpecReduce_3 33# happyReduction_89 -happyReduction_89 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut37 happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_3 of { happy_var_3 -> - happyIn37 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_90 = happySpecReduce_1 33# happyReduction_90 -happyReduction_90 happy_x_1 - = case happyOut38 happy_x_1 of { happy_var_1 -> - happyIn37 - ([happy_var_1] - )} - -happyReduce_91 = happySpecReduce_1 34# happyReduction_91 -happyReduction_91 happy_x_1 - = case happyOut40 happy_x_1 of { happy_var_1 -> - happyIn38 - (happy_var_1 - )} - -happyReduce_92 = happySpecReduce_1 34# happyReduction_92 -happyReduction_92 happy_x_1 - = case happyOut27 happy_x_1 of { happy_var_1 -> - happyIn38 - (happy_var_1 - )} - -happyReduce_93 = happySpecReduce_1 34# happyReduction_93 -happyReduction_93 happy_x_1 - = case happyOut94 happy_x_1 of { happy_var_1 -> - happyIn38 - (happy_var_1 - )} - -happyReduce_94 = happySpecReduce_3 35# happyReduction_94 -happyReduction_94 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut36 happy_x_2 of { happy_var_2 -> - happyIn39 - (happy_var_2 - )} - -happyReduce_95 = happySpecReduce_3 35# happyReduction_95 -happyReduction_95 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut36 happy_x_2 of { happy_var_2 -> - happyIn39 - (happy_var_2 - )} - -happyReduce_96 = happyReduce 4# 36# happyReduction_96 -happyReduction_96 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut42 happy_x_2 of { happy_var_2 -> - case happyOut52 happy_x_4 of { happy_var_4 -> - happyIn40 - (HsTypeSig happy_var_1 (reverse happy_var_2) happy_var_4 - ) `HappyStk` happyRest}}} - -happyReduce_97 = happySpecReduce_1 37# happyReduction_97 -happyReduction_97 happy_x_1 - = case happyOut39 happy_x_1 of { happy_var_1 -> - happyIn41 - (HsBDecls happy_var_1 - )} - -happyReduce_98 = happySpecReduce_3 37# happyReduction_98 -happyReduction_98 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut144 happy_x_2 of { happy_var_2 -> - happyIn41 - (HsIPBinds happy_var_2 - )} - -happyReduce_99 = happySpecReduce_3 37# happyReduction_99 -happyReduction_99 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut144 happy_x_2 of { happy_var_2 -> - happyIn41 - (HsIPBinds happy_var_2 - )} - -happyReduce_100 = happySpecReduce_3 38# happyReduction_100 -happyReduction_100 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut42 happy_x_1 of { happy_var_1 -> - case happyOut148 happy_x_3 of { happy_var_3 -> - happyIn42 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_101 = happyMonadReduce 1# 38# happyReduction_101 -happyReduction_101 (happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut150 happy_x_1 of { happy_var_1 -> - ( do { n <- checkUnQual happy_var_1; - return [n] })} - ) (\r -> happyReturn (happyIn42 r)) - -happyReduce_102 = happySpecReduce_1 39# happyReduction_102 -happyReduction_102 happy_x_1 - = happyIn43 - (StdCall - ) - -happyReduce_103 = happySpecReduce_1 39# happyReduction_103 -happyReduction_103 happy_x_1 - = happyIn43 - (CCall - ) - -happyReduce_104 = happySpecReduce_1 40# happyReduction_104 -happyReduction_104 happy_x_1 - = happyIn44 - (PlaySafe False - ) - -happyReduce_105 = happySpecReduce_1 40# happyReduction_105 -happyReduction_105 happy_x_1 - = happyIn44 - (PlayRisky - ) - -happyReduce_106 = happySpecReduce_1 40# happyReduction_106 -happyReduction_106 happy_x_1 - = happyIn44 - (PlaySafe True - ) - -happyReduce_107 = happySpecReduce_0 40# happyReduction_107 -happyReduction_107 = happyIn44 - (PlaySafe False - ) - -happyReduce_108 = happyReduce 4# 41# happyReduction_108 -happyReduction_108 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOutTok happy_x_1 of { (StringTok happy_var_1) -> - case happyOut149 happy_x_2 of { happy_var_2 -> - case happyOut46 happy_x_4 of { happy_var_4 -> - happyIn45 - ((happy_var_1, happy_var_2, happy_var_4) - ) `HappyStk` happyRest}}} - -happyReduce_109 = happySpecReduce_3 41# happyReduction_109 -happyReduction_109 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut149 happy_x_1 of { happy_var_1 -> - case happyOut46 happy_x_3 of { happy_var_3 -> - happyIn45 - (("", happy_var_1, happy_var_3) - )}} - -happyReduce_110 = happySpecReduce_1 42# happyReduction_110 -happyReduction_110 happy_x_1 - = case happyOut48 happy_x_1 of { happy_var_1 -> - happyIn46 - (happy_var_1 - )} - -happyReduce_111 = happySpecReduce_3 42# happyReduction_111 -happyReduction_111 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut48 happy_x_1 of { happy_var_1 -> - case happyOut51 happy_x_2 of { happy_var_2 -> - case happyOut46 happy_x_3 of { happy_var_3 -> - happyIn46 - (HsTyInfix happy_var_1 happy_var_2 happy_var_3 - )}}} - -happyReduce_112 = happySpecReduce_3 42# happyReduction_112 -happyReduction_112 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut48 happy_x_1 of { happy_var_1 -> - case happyOut185 happy_x_2 of { happy_var_2 -> - case happyOut46 happy_x_3 of { happy_var_3 -> - happyIn46 - (HsTyInfix happy_var_1 happy_var_2 happy_var_3 - )}}} - -happyReduce_113 = happySpecReduce_3 42# happyReduction_113 -happyReduction_113 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut48 happy_x_1 of { happy_var_1 -> - case happyOut46 happy_x_3 of { happy_var_3 -> - happyIn46 - (HsTyFun happy_var_1 happy_var_3 - )}} - -happyReduce_114 = happySpecReduce_3 42# happyReduction_114 -happyReduction_114 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut48 happy_x_1 of { happy_var_1 -> - case happyOut48 happy_x_3 of { happy_var_3 -> - happyIn46 - (HsTyPred $ HsEqualP happy_var_1 happy_var_3 - )}} - -happyReduce_115 = happySpecReduce_3 43# happyReduction_115 -happyReduction_115 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut151 happy_x_1 of { happy_var_1 -> - case happyOut46 happy_x_3 of { happy_var_3 -> - happyIn47 - (HsTyPred $ HsIParam happy_var_1 happy_var_3 - )}} - -happyReduce_116 = happySpecReduce_1 43# happyReduction_116 -happyReduction_116 happy_x_1 - = case happyOut46 happy_x_1 of { happy_var_1 -> - happyIn47 - (happy_var_1 - )} - -happyReduce_117 = happySpecReduce_2 44# happyReduction_117 -happyReduction_117 happy_x_2 - happy_x_1 - = case happyOut48 happy_x_1 of { happy_var_1 -> - case happyOut49 happy_x_2 of { happy_var_2 -> - happyIn48 - (HsTyApp happy_var_1 happy_var_2 - )}} - -happyReduce_118 = happySpecReduce_1 44# happyReduction_118 -happyReduction_118 happy_x_1 - = case happyOut49 happy_x_1 of { happy_var_1 -> - happyIn48 - (happy_var_1 - )} - -happyReduce_119 = happySpecReduce_1 45# happyReduction_119 -happyReduction_119 happy_x_1 - = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn49 - (HsTyCon happy_var_1 - )} - -happyReduce_120 = happySpecReduce_1 45# happyReduction_120 -happyReduction_120 happy_x_1 - = case happyOut184 happy_x_1 of { happy_var_1 -> - happyIn49 - (HsTyVar happy_var_1 - )} - -happyReduce_121 = happySpecReduce_3 45# happyReduction_121 -happyReduction_121 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut54 happy_x_2 of { happy_var_2 -> - happyIn49 - (HsTyTuple Boxed (reverse happy_var_2) - )} - -happyReduce_122 = happySpecReduce_3 45# happyReduction_122 -happyReduction_122 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut55 happy_x_2 of { happy_var_2 -> - happyIn49 - (HsTyTuple Unboxed (reverse happy_var_2) - )} - -happyReduce_123 = happySpecReduce_3 45# happyReduction_123 -happyReduction_123 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut47 happy_x_2 of { happy_var_2 -> - happyIn49 - (HsTyApp list_tycon happy_var_2 - )} - -happyReduce_124 = happySpecReduce_3 45# happyReduction_124 -happyReduction_124 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut52 happy_x_2 of { happy_var_2 -> - happyIn49 - (happy_var_2 - )} - -happyReduce_125 = happyReduce 5# 45# happyReduction_125 -happyReduction_125 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut52 happy_x_2 of { happy_var_2 -> - case happyOut80 happy_x_4 of { happy_var_4 -> - happyIn49 - (HsTyKind happy_var_2 happy_var_4 - ) `HappyStk` happyRest}} - -happyReduce_126 = happySpecReduce_1 46# happyReduction_126 -happyReduction_126 happy_x_1 - = case happyOut167 happy_x_1 of { happy_var_1 -> - happyIn50 - (happy_var_1 - )} - -happyReduce_127 = happySpecReduce_2 46# happyReduction_127 -happyReduction_127 happy_x_2 - happy_x_1 - = happyIn50 - (unit_tycon_name - ) - -happyReduce_128 = happySpecReduce_3 46# happyReduction_128 -happyReduction_128 happy_x_3 - happy_x_2 - happy_x_1 - = happyIn50 - (fun_tycon_name - ) - -happyReduce_129 = happySpecReduce_2 46# happyReduction_129 -happyReduction_129 happy_x_2 - happy_x_1 - = happyIn50 - (list_tycon_name - ) - -happyReduce_130 = happySpecReduce_3 46# happyReduction_130 -happyReduction_130 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut113 happy_x_2 of { happy_var_2 -> - happyIn50 - (tuple_tycon_name happy_var_2 - )} - -happyReduce_131 = happySpecReduce_1 47# happyReduction_131 -happyReduction_131 happy_x_1 - = case happyOut158 happy_x_1 of { happy_var_1 -> - happyIn51 - (happy_var_1 - )} - -happyReduce_132 = happyReduce 4# 48# happyReduction_132 -happyReduction_132 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut56 happy_x_2 of { happy_var_2 -> - case happyOut52 happy_x_4 of { happy_var_4 -> - happyIn52 - (mkHsTyForall (Just happy_var_2) [] happy_var_4 - ) `HappyStk` happyRest}} - -happyReduce_133 = happySpecReduce_3 48# happyReduction_133 -happyReduction_133 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_3 of { happy_var_3 -> - happyIn52 - (mkHsTyForall Nothing happy_var_1 happy_var_3 - )}} - -happyReduce_134 = happySpecReduce_1 48# happyReduction_134 -happyReduction_134 happy_x_1 - = case happyOut47 happy_x_1 of { happy_var_1 -> - happyIn52 - (happy_var_1 - )} - -happyReduce_135 = happyMonadReduce 1# 49# happyReduction_135 -happyReduction_135 (happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut48 happy_x_1 of { happy_var_1 -> - ( checkContext happy_var_1)} - ) (\r -> happyReturn (happyIn53 r)) - -happyReduce_136 = happyMonadReduce 3# 49# happyReduction_136 -happyReduction_136 (happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut48 happy_x_1 of { happy_var_1 -> - case happyOut48 happy_x_3 of { happy_var_3 -> - ( checkContext (HsTyPred $ HsEqualP happy_var_1 happy_var_3))}} - ) (\r -> happyReturn (happyIn53 r)) - -happyReduce_137 = happySpecReduce_3 50# happyReduction_137 -happyReduction_137 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut55 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_3 of { happy_var_3 -> - happyIn54 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_138 = happySpecReduce_1 51# happyReduction_138 -happyReduction_138 happy_x_1 - = case happyOut47 happy_x_1 of { happy_var_1 -> - happyIn55 - ([happy_var_1] - )} - -happyReduce_139 = happySpecReduce_3 51# happyReduction_139 -happyReduction_139 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut55 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_3 of { happy_var_3 -> - happyIn55 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_140 = happySpecReduce_2 52# happyReduction_140 -happyReduction_140 happy_x_2 - happy_x_1 - = case happyOut56 happy_x_1 of { happy_var_1 -> - case happyOut57 happy_x_2 of { happy_var_2 -> - happyIn56 - (happy_var_2 : happy_var_1 - )}} - -happyReduce_141 = happySpecReduce_0 52# happyReduction_141 -happyReduction_141 = happyIn56 - ([] - ) - -happyReduce_142 = happySpecReduce_1 53# happyReduction_142 -happyReduction_142 happy_x_1 - = case happyOut184 happy_x_1 of { happy_var_1 -> - happyIn57 - (HsUnkindedVar happy_var_1 - )} - -happyReduce_143 = happyReduce 5# 53# happyReduction_143 -happyReduction_143 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut184 happy_x_2 of { happy_var_2 -> - case happyOut80 happy_x_4 of { happy_var_4 -> - happyIn57 - (HsKindedVar happy_var_2 happy_var_4 - ) `HappyStk` happyRest}} - -happyReduce_144 = happySpecReduce_2 54# happyReduction_144 -happyReduction_144 happy_x_2 - happy_x_1 - = case happyOut58 happy_x_1 of { happy_var_1 -> - case happyOut184 happy_x_2 of { happy_var_2 -> - happyIn58 - (happy_var_2 : happy_var_1 - )}} - -happyReduce_145 = happySpecReduce_0 54# happyReduction_145 -happyReduction_145 = happyIn58 - ([] - ) - -happyReduce_146 = happySpecReduce_0 55# happyReduction_146 -happyReduction_146 = happyIn59 - ([] - ) - -happyReduce_147 = happySpecReduce_2 55# happyReduction_147 -happyReduction_147 happy_x_2 - happy_x_1 - = case happyOut60 happy_x_2 of { happy_var_2 -> - happyIn59 - (reverse happy_var_2 - )} - -happyReduce_148 = happySpecReduce_3 56# happyReduction_148 -happyReduction_148 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut60 happy_x_1 of { happy_var_1 -> - case happyOut61 happy_x_3 of { happy_var_3 -> - happyIn60 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_149 = happySpecReduce_1 56# happyReduction_149 -happyReduction_149 happy_x_1 - = case happyOut61 happy_x_1 of { happy_var_1 -> - happyIn60 - ([happy_var_1] - )} - -happyReduce_150 = happySpecReduce_3 57# happyReduction_150 -happyReduction_150 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut58 happy_x_1 of { happy_var_1 -> - case happyOut58 happy_x_3 of { happy_var_3 -> - happyIn61 - (HsFunDep (reverse happy_var_1) (reverse happy_var_3) - )}} - -happyReduce_151 = happySpecReduce_3 58# happyReduction_151 -happyReduction_151 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut63 happy_x_2 of { happy_var_2 -> - happyIn62 - (happy_var_2 - )} - -happyReduce_152 = happySpecReduce_3 58# happyReduction_152 -happyReduction_152 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut63 happy_x_2 of { happy_var_2 -> - happyIn62 - (happy_var_2 - )} - -happyReduce_153 = happySpecReduce_3 59# happyReduction_153 -happyReduction_153 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut64 happy_x_2 of { happy_var_2 -> - happyIn63 - (happy_var_2 - )} - -happyReduce_154 = happySpecReduce_3 60# happyReduction_154 -happyReduction_154 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut64 happy_x_1 of { happy_var_1 -> - case happyOut65 happy_x_3 of { happy_var_3 -> - happyIn64 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_155 = happySpecReduce_1 60# happyReduction_155 -happyReduction_155 happy_x_1 - = case happyOut65 happy_x_1 of { happy_var_1 -> - happyIn64 - ([happy_var_1] - )} - -happyReduce_156 = happyMonadReduce 4# 61# happyReduction_156 -happyReduction_156 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut153 happy_x_2 of { happy_var_2 -> - case happyOut52 happy_x_4 of { happy_var_4 -> - ( do { c <- checkUnQual happy_var_2; - return $ HsGadtDecl happy_var_1 c happy_var_4 })}}} - ) (\r -> happyReturn (happyIn65 r)) - -happyReduce_157 = happySpecReduce_0 62# happyReduction_157 -happyReduction_157 = happyIn66 - ([] - ) - -happyReduce_158 = happySpecReduce_2 62# happyReduction_158 -happyReduction_158 happy_x_2 - happy_x_1 - = case happyOut67 happy_x_2 of { happy_var_2 -> - happyIn66 - (happy_var_2 - )} - -happyReduce_159 = happySpecReduce_3 63# happyReduction_159 -happyReduction_159 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut67 happy_x_1 of { happy_var_1 -> - case happyOut68 happy_x_3 of { happy_var_3 -> - happyIn67 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_160 = happySpecReduce_1 63# happyReduction_160 -happyReduction_160 happy_x_1 - = case happyOut68 happy_x_1 of { happy_var_1 -> - happyIn67 - ([happy_var_1] - )} - -happyReduce_161 = happyReduce 5# 64# happyReduction_161 -happyReduction_161 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut69 happy_x_2 of { happy_var_2 -> - case happyOut53 happy_x_3 of { happy_var_3 -> - case happyOut70 happy_x_5 of { happy_var_5 -> - happyIn68 - (HsQualConDecl happy_var_1 happy_var_2 happy_var_3 happy_var_5 - ) `HappyStk` happyRest}}}} - -happyReduce_162 = happySpecReduce_3 64# happyReduction_162 -happyReduction_162 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut69 happy_x_2 of { happy_var_2 -> - case happyOut70 happy_x_3 of { happy_var_3 -> - happyIn68 - (HsQualConDecl happy_var_1 happy_var_2 [] happy_var_3 - )}}} - -happyReduce_163 = happySpecReduce_3 65# happyReduction_163 -happyReduction_163 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut56 happy_x_2 of { happy_var_2 -> - happyIn69 - (happy_var_2 - )} - -happyReduce_164 = happySpecReduce_0 65# happyReduction_164 -happyReduction_164 = happyIn69 - ([] - ) - -happyReduce_165 = happySpecReduce_1 66# happyReduction_165 -happyReduction_165 happy_x_1 - = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn70 - (HsConDecl (fst happy_var_1) (snd happy_var_1) - )} - -happyReduce_166 = happySpecReduce_3 66# happyReduction_166 -happyReduction_166 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut74 happy_x_1 of { happy_var_1 -> - case happyOut157 happy_x_2 of { happy_var_2 -> - case happyOut74 happy_x_3 of { happy_var_3 -> - happyIn70 - (HsConDecl happy_var_2 [happy_var_1,happy_var_3] - )}}} - -happyReduce_167 = happySpecReduce_3 66# happyReduction_167 -happyReduction_167 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut152 happy_x_1 of { happy_var_1 -> - happyIn70 - (HsRecDecl happy_var_1 [] - )} - -happyReduce_168 = happyReduce 4# 66# happyReduction_168 -happyReduction_168 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut152 happy_x_1 of { happy_var_1 -> - case happyOut75 happy_x_3 of { happy_var_3 -> - happyIn70 - (HsRecDecl happy_var_1 (reverse happy_var_3) - ) `HappyStk` happyRest}} - -happyReduce_169 = happyMonadReduce 1# 67# happyReduction_169 -happyReduction_169 (happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut48 happy_x_1 of { happy_var_1 -> - ( do { (c,ts) <- splitTyConApp happy_var_1; - return (c,map HsUnBangedTy ts) })} - ) (\r -> happyReturn (happyIn71 r)) - -happyReduce_170 = happySpecReduce_1 67# happyReduction_170 -happyReduction_170 happy_x_1 - = case happyOut72 happy_x_1 of { happy_var_1 -> - happyIn71 - (happy_var_1 - )} - -happyReduce_171 = happyMonadReduce 3# 68# happyReduction_171 -happyReduction_171 (happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut48 happy_x_1 of { happy_var_1 -> - case happyOut49 happy_x_3 of { happy_var_3 -> - ( do { (c,ts) <- splitTyConApp happy_var_1; - return (c,map HsUnBangedTy ts++ - [HsBangedTy happy_var_3]) })}} - ) (\r -> happyReturn (happyIn72 r)) - -happyReduce_172 = happySpecReduce_2 68# happyReduction_172 -happyReduction_172 happy_x_2 - happy_x_1 - = case happyOut72 happy_x_1 of { happy_var_1 -> - case happyOut73 happy_x_2 of { happy_var_2 -> - happyIn72 - ((fst happy_var_1, snd happy_var_1 ++ [happy_var_2] ) - )}} - -happyReduce_173 = happySpecReduce_1 69# happyReduction_173 -happyReduction_173 happy_x_1 - = case happyOut49 happy_x_1 of { happy_var_1 -> - happyIn73 - (HsUnBangedTy happy_var_1 - )} - -happyReduce_174 = happySpecReduce_2 69# happyReduction_174 -happyReduction_174 happy_x_2 - happy_x_1 - = case happyOut49 happy_x_2 of { happy_var_2 -> - happyIn73 - (HsBangedTy happy_var_2 - )} - -happyReduce_175 = happySpecReduce_1 70# happyReduction_175 -happyReduction_175 happy_x_1 - = case happyOut48 happy_x_1 of { happy_var_1 -> - happyIn74 - (HsUnBangedTy happy_var_1 - )} - -happyReduce_176 = happySpecReduce_2 70# happyReduction_176 -happyReduction_176 happy_x_2 - happy_x_1 - = case happyOut49 happy_x_2 of { happy_var_2 -> - happyIn74 - (HsBangedTy happy_var_2 - )} - -happyReduce_177 = happySpecReduce_3 71# happyReduction_177 -happyReduction_177 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut75 happy_x_1 of { happy_var_1 -> - case happyOut76 happy_x_3 of { happy_var_3 -> - happyIn75 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_178 = happySpecReduce_1 71# happyReduction_178 -happyReduction_178 happy_x_1 - = case happyOut76 happy_x_1 of { happy_var_1 -> - happyIn75 - ([happy_var_1] - )} - -happyReduce_179 = happySpecReduce_3 72# happyReduction_179 -happyReduction_179 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut42 happy_x_1 of { happy_var_1 -> - case happyOut77 happy_x_3 of { happy_var_3 -> - happyIn76 - ((reverse happy_var_1, happy_var_3) - )}} - -happyReduce_180 = happySpecReduce_1 73# happyReduction_180 -happyReduction_180 happy_x_1 - = case happyOut52 happy_x_1 of { happy_var_1 -> - happyIn77 - (HsUnBangedTy happy_var_1 - )} - -happyReduce_181 = happySpecReduce_2 73# happyReduction_181 -happyReduction_181 happy_x_2 - happy_x_1 - = case happyOut49 happy_x_2 of { happy_var_2 -> - happyIn77 - (HsBangedTy happy_var_2 - )} - -happyReduce_182 = happySpecReduce_0 74# happyReduction_182 -happyReduction_182 = happyIn78 - ([] - ) - -happyReduce_183 = happySpecReduce_2 74# happyReduction_183 -happyReduction_183 happy_x_2 - happy_x_1 - = case happyOut183 happy_x_2 of { happy_var_2 -> - happyIn78 - ([happy_var_2] - )} - -happyReduce_184 = happySpecReduce_3 74# happyReduction_184 -happyReduction_184 happy_x_3 - happy_x_2 - happy_x_1 - = happyIn78 - ([] - ) - -happyReduce_185 = happyReduce 4# 74# happyReduction_185 -happyReduction_185 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut79 happy_x_3 of { happy_var_3 -> - happyIn78 - (reverse happy_var_3 - ) `HappyStk` happyRest} - -happyReduce_186 = happySpecReduce_3 75# happyReduction_186 -happyReduction_186 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut79 happy_x_1 of { happy_var_1 -> - case happyOut183 happy_x_3 of { happy_var_3 -> - happyIn79 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_187 = happySpecReduce_1 75# happyReduction_187 -happyReduction_187 happy_x_1 - = case happyOut183 happy_x_1 of { happy_var_1 -> - happyIn79 - ([happy_var_1] - )} - -happyReduce_188 = happySpecReduce_1 76# happyReduction_188 -happyReduction_188 happy_x_1 - = case happyOut81 happy_x_1 of { happy_var_1 -> - happyIn80 - (happy_var_1 - )} - -happyReduce_189 = happySpecReduce_3 76# happyReduction_189 -happyReduction_189 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut81 happy_x_1 of { happy_var_1 -> - case happyOut80 happy_x_3 of { happy_var_3 -> - happyIn80 - (HsKindFn happy_var_1 happy_var_3 - )}} - -happyReduce_190 = happySpecReduce_1 77# happyReduction_190 -happyReduction_190 happy_x_1 - = happyIn81 - (HsKindStar - ) - -happyReduce_191 = happySpecReduce_1 77# happyReduction_191 -happyReduction_191 happy_x_1 - = happyIn81 - (HsKindBang - ) - -happyReduce_192 = happySpecReduce_3 77# happyReduction_192 -happyReduction_192 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut80 happy_x_2 of { happy_var_2 -> - happyIn81 - (happy_var_2 - )} - -happyReduce_193 = happySpecReduce_0 78# happyReduction_193 -happyReduction_193 = happyIn82 - (Nothing - ) - -happyReduce_194 = happySpecReduce_2 78# happyReduction_194 -happyReduction_194 happy_x_2 - happy_x_1 - = case happyOut80 happy_x_2 of { happy_var_2 -> - happyIn82 - (Just happy_var_2 - )} - -happyReduce_195 = happyMonadReduce 2# 79# happyReduction_195 -happyReduction_195 (happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut84 happy_x_2 of { happy_var_2 -> - ( checkClassBody happy_var_2)} - ) (\r -> happyReturn (happyIn83 r)) - -happyReduce_196 = happySpecReduce_0 79# happyReduction_196 -happyReduction_196 = happyIn83 - ([] - ) - -happyReduce_197 = happySpecReduce_3 80# happyReduction_197 -happyReduction_197 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut85 happy_x_2 of { happy_var_2 -> - happyIn84 - (happy_var_2 - )} - -happyReduce_198 = happySpecReduce_3 80# happyReduction_198 -happyReduction_198 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut85 happy_x_2 of { happy_var_2 -> - happyIn84 - (happy_var_2 - )} - -happyReduce_199 = happyMonadReduce 3# 81# happyReduction_199 -happyReduction_199 (happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut86 happy_x_2 of { happy_var_2 -> - ( checkRevClsDecls happy_var_2)} - ) (\r -> happyReturn (happyIn85 r)) - -happyReduce_200 = happySpecReduce_1 81# happyReduction_200 -happyReduction_200 happy_x_1 - = happyIn85 - ([] - ) - -happyReduce_201 = happySpecReduce_3 82# happyReduction_201 -happyReduction_201 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut86 happy_x_1 of { happy_var_1 -> - case happyOut87 happy_x_3 of { happy_var_3 -> - happyIn86 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_202 = happySpecReduce_1 82# happyReduction_202 -happyReduction_202 happy_x_1 - = case happyOut87 happy_x_1 of { happy_var_1 -> - happyIn86 - ([happy_var_1] - )} - -happyReduce_203 = happySpecReduce_1 83# happyReduction_203 -happyReduction_203 happy_x_1 - = case happyOut38 happy_x_1 of { happy_var_1 -> - happyIn87 - (HsClsDecl happy_var_1 - )} - -happyReduce_204 = happySpecReduce_1 83# happyReduction_204 -happyReduction_204 happy_x_1 - = case happyOut88 happy_x_1 of { happy_var_1 -> - happyIn87 - (happy_var_1 - )} - -happyReduce_205 = happyMonadReduce 4# 84# happyReduction_205 -happyReduction_205 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_3 of { happy_var_3 -> - case happyOut82 happy_x_4 of { happy_var_4 -> - ( do { (c,ts) <- checkSimpleType happy_var_3; - return (HsClsTyFam happy_var_1 c ts happy_var_4) })}}} - ) (\r -> happyReturn (happyIn88 r)) - -happyReduce_206 = happyReduce 5# 84# happyReduction_206 -happyReduction_206 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut46 happy_x_3 of { happy_var_3 -> - case happyOut52 happy_x_5 of { happy_var_5 -> - happyIn88 - (HsClsTyDef happy_var_1 happy_var_3 happy_var_5 - ) `HappyStk` happyRest}}} - -happyReduce_207 = happyMonadReduce 4# 84# happyReduction_207 -happyReduction_207 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_3 of { happy_var_3 -> - case happyOut82 happy_x_4 of { happy_var_4 -> - ( do { (cs,c,t) <- checkDataHeader happy_var_3; - return (HsClsDataFam happy_var_1 cs c t happy_var_4) })}}} - ) (\r -> happyReturn (happyIn88 r)) - -happyReduce_208 = happyMonadReduce 4# 85# happyReduction_208 -happyReduction_208 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut90 happy_x_3 of { happy_var_3 -> - ( checkInstBody happy_var_3)} - ) (\r -> happyReturn (happyIn89 r)) - -happyReduce_209 = happyMonadReduce 4# 85# happyReduction_209 -happyReduction_209 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut90 happy_x_3 of { happy_var_3 -> - ( checkInstBody happy_var_3)} - ) (\r -> happyReturn (happyIn89 r)) - -happyReduce_210 = happySpecReduce_0 85# happyReduction_210 -happyReduction_210 = happyIn89 - ([] - ) - -happyReduce_211 = happyMonadReduce 3# 86# happyReduction_211 -happyReduction_211 (happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut91 happy_x_2 of { happy_var_2 -> - ( checkRevInstDecls happy_var_2)} - ) (\r -> happyReturn (happyIn90 r)) - -happyReduce_212 = happySpecReduce_1 86# happyReduction_212 -happyReduction_212 happy_x_1 - = happyIn90 - ([] - ) - -happyReduce_213 = happySpecReduce_3 87# happyReduction_213 -happyReduction_213 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut91 happy_x_1 of { happy_var_1 -> - case happyOut92 happy_x_3 of { happy_var_3 -> - happyIn91 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_214 = happySpecReduce_1 87# happyReduction_214 -happyReduction_214 happy_x_1 - = case happyOut92 happy_x_1 of { happy_var_1 -> - happyIn91 - ([happy_var_1] - )} - -happyReduce_215 = happySpecReduce_1 88# happyReduction_215 -happyReduction_215 happy_x_1 - = case happyOut94 happy_x_1 of { happy_var_1 -> - happyIn92 - (HsInsDecl happy_var_1 - )} - -happyReduce_216 = happySpecReduce_1 88# happyReduction_216 -happyReduction_216 happy_x_1 - = case happyOut93 happy_x_1 of { happy_var_1 -> - happyIn92 - (happy_var_1 - )} - -happyReduce_217 = happyMonadReduce 5# 89# happyReduction_217 -happyReduction_217 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut46 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { happy_var_4 -> - case happyOut52 happy_x_5 of { happy_var_5 -> - ( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns - return (HsInsType happy_var_1 happy_var_3 happy_var_5) })}}}} - ) (\r -> happyReturn (happyIn93 r)) - -happyReduce_218 = happyMonadReduce 5# 89# happyReduction_218 -happyReduction_218 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut34 happy_x_2 of { happy_var_2 -> - case happyOut52 happy_x_3 of { happy_var_3 -> - case happyOut66 happy_x_4 of { happy_var_4 -> - case happyOut78 happy_x_5 of { happy_var_5 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4; - checkDataOrNew happy_var_2 happy_var_4; - return (HsInsData happy_var_1 happy_var_2 happy_var_3 (reverse happy_var_4) happy_var_5) })}}}}} - ) (\r -> happyReturn (happyIn93 r)) - -happyReduce_219 = happyMonadReduce 6# 89# happyReduction_219 -happyReduction_219 (happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut34 happy_x_2 of { happy_var_2 -> - case happyOut52 happy_x_3 of { happy_var_3 -> - case happyOut82 happy_x_4 of { happy_var_4 -> - case happyOut62 happy_x_6 of { happy_var_6 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4; - checkDataOrNew happy_var_2 happy_var_6; - return (HsInsGData happy_var_1 happy_var_2 happy_var_3 happy_var_4 (reverse happy_var_6)) })}}}}} - ) (\r -> happyReturn (happyIn93 r)) - -happyReduce_220 = happyMonadReduce 4# 90# happyReduction_220 -happyReduction_220 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut102 happy_x_2 of { happy_var_2 -> - case happyOut96 happy_x_3 of { happy_var_3 -> - case happyOut95 happy_x_4 of { happy_var_4 -> - ( checkValDef happy_var_1 happy_var_2 happy_var_3 happy_var_4)}}}} - ) (\r -> happyReturn (happyIn94 r)) - -happyReduce_221 = happySpecReduce_2 91# happyReduction_221 -happyReduction_221 happy_x_2 - happy_x_1 - = case happyOut41 happy_x_2 of { happy_var_2 -> - happyIn95 - (happy_var_2 - )} - -happyReduce_222 = happySpecReduce_0 91# happyReduction_222 -happyReduction_222 = happyIn95 - (HsBDecls [] - ) - -happyReduce_223 = happyMonadReduce 2# 92# happyReduction_223 -happyReduction_223 (happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut99 happy_x_2 of { happy_var_2 -> - ( do { e <- checkExpr happy_var_2; - return (HsUnGuardedRhs e) })} - ) (\r -> happyReturn (happyIn96 r)) - -happyReduce_224 = happySpecReduce_1 92# happyReduction_224 -happyReduction_224 happy_x_1 - = case happyOut97 happy_x_1 of { happy_var_1 -> - happyIn96 - (HsGuardedRhss (reverse happy_var_1) - )} - -happyReduce_225 = happySpecReduce_2 93# happyReduction_225 -happyReduction_225 happy_x_2 - happy_x_1 - = case happyOut97 happy_x_1 of { happy_var_1 -> - case happyOut98 happy_x_2 of { happy_var_2 -> - happyIn97 - (happy_var_2 : happy_var_1 - )}} - -happyReduce_226 = happySpecReduce_1 93# happyReduction_226 -happyReduction_226 happy_x_1 - = case happyOut98 happy_x_1 of { happy_var_1 -> - happyIn97 - ([happy_var_1] - )} - -happyReduce_227 = happyMonadReduce 5# 94# happyReduction_227 -happyReduction_227 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut129 happy_x_3 of { happy_var_3 -> - case happyOut99 happy_x_5 of { happy_var_5 -> - ( do { e <- checkExpr happy_var_5; - return (HsGuardedRhs happy_var_1 (reverse happy_var_3) e) })}}} - ) (\r -> happyReturn (happyIn98 r)) - -happyReduce_228 = happyReduce 4# 95# happyReduction_228 -happyReduction_228 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut102 happy_x_1 of { happy_var_1 -> - case happyOut177 happy_x_3 of { happy_var_3 -> - case happyOut52 happy_x_4 of { happy_var_4 -> - happyIn99 - (HsExpTypeSig happy_var_3 happy_var_1 happy_var_4 - ) `HappyStk` happyRest}}} - -happyReduce_229 = happySpecReduce_3 95# happyReduction_229 -happyReduction_229 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut102 happy_x_1 of { happy_var_1 -> - case happyOut143 happy_x_3 of { happy_var_3 -> - happyIn99 - (HsWith happy_var_1 happy_var_3 - )}} - -happyReduce_230 = happySpecReduce_1 95# happyReduction_230 -happyReduction_230 happy_x_1 - = case happyOut100 happy_x_1 of { happy_var_1 -> - happyIn99 - (happy_var_1 - )} - -happyReduce_231 = happySpecReduce_1 96# happyReduction_231 -happyReduction_231 happy_x_1 - = case happyOut101 happy_x_1 of { happy_var_1 -> - happyIn100 - (happy_var_1 - )} - -happyReduce_232 = happySpecReduce_1 96# happyReduction_232 -happyReduction_232 happy_x_1 - = case happyOut102 happy_x_1 of { happy_var_1 -> - happyIn100 - (happy_var_1 - )} - -happyReduce_233 = happySpecReduce_3 97# happyReduction_233 -happyReduction_233 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut102 happy_x_1 of { happy_var_1 -> - case happyOut160 happy_x_2 of { happy_var_2 -> - case happyOut103 happy_x_3 of { happy_var_3 -> - happyIn101 - (HsInfixApp happy_var_1 happy_var_2 happy_var_3 - )}}} - -happyReduce_234 = happySpecReduce_1 97# happyReduction_234 -happyReduction_234 happy_x_1 - = case happyOut103 happy_x_1 of { happy_var_1 -> - happyIn101 - (happy_var_1 - )} - -happyReduce_235 = happySpecReduce_3 98# happyReduction_235 -happyReduction_235 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut102 happy_x_1 of { happy_var_1 -> - case happyOut160 happy_x_2 of { happy_var_2 -> - case happyOut104 happy_x_3 of { happy_var_3 -> - happyIn102 - (HsInfixApp happy_var_1 happy_var_2 happy_var_3 - )}}} - -happyReduce_236 = happySpecReduce_1 98# happyReduction_236 -happyReduction_236 happy_x_1 - = case happyOut126 happy_x_1 of { happy_var_1 -> - happyIn102 - (happy_var_1 - )} - -happyReduce_237 = happySpecReduce_1 98# happyReduction_237 -happyReduction_237 happy_x_1 - = case happyOut104 happy_x_1 of { happy_var_1 -> - happyIn102 - (happy_var_1 - )} - -happyReduce_238 = happyReduce 5# 99# happyReduction_238 -happyReduction_238 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_2 of { happy_var_2 -> - case happyOut106 happy_x_3 of { happy_var_3 -> - case happyOut99 happy_x_5 of { happy_var_5 -> - happyIn103 - (HsLambda happy_var_2 (reverse happy_var_3) happy_var_5 - ) `HappyStk` happyRest}}} - -happyReduce_239 = happyReduce 4# 99# happyReduction_239 -happyReduction_239 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut41 happy_x_2 of { happy_var_2 -> - case happyOut99 happy_x_4 of { happy_var_4 -> - happyIn103 - (HsLet happy_var_2 happy_var_4 - ) `HappyStk` happyRest}} - -happyReduce_240 = happyReduce 4# 99# happyReduction_240 -happyReduction_240 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut143 happy_x_2 of { happy_var_2 -> - case happyOut99 happy_x_4 of { happy_var_4 -> - happyIn103 - (HsDLet happy_var_2 happy_var_4 - ) `HappyStk` happyRest}} - -happyReduce_241 = happyReduce 6# 99# happyReduction_241 -happyReduction_241 (happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut99 happy_x_2 of { happy_var_2 -> - case happyOut99 happy_x_4 of { happy_var_4 -> - case happyOut99 happy_x_6 of { happy_var_6 -> - happyIn103 - (HsIf happy_var_2 happy_var_4 happy_var_6 - ) `HappyStk` happyRest}}} - -happyReduce_242 = happyReduce 4# 100# happyReduction_242 -happyReduction_242 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut99 happy_x_2 of { happy_var_2 -> - case happyOut131 happy_x_4 of { happy_var_4 -> - happyIn104 - (HsCase happy_var_2 happy_var_4 - ) `HappyStk` happyRest}} - -happyReduce_243 = happySpecReduce_2 100# happyReduction_243 -happyReduction_243 happy_x_2 - happy_x_1 - = case happyOut105 happy_x_2 of { happy_var_2 -> - happyIn104 - (HsNegApp happy_var_2 - )} - -happyReduce_244 = happySpecReduce_2 100# happyReduction_244 -happyReduction_244 happy_x_2 - happy_x_1 - = case happyOut139 happy_x_2 of { happy_var_2 -> - happyIn104 - (HsDo happy_var_2 - )} - -happyReduce_245 = happySpecReduce_2 100# happyReduction_245 -happyReduction_245 happy_x_2 - happy_x_1 - = case happyOut139 happy_x_2 of { happy_var_2 -> - happyIn104 - (HsMDo happy_var_2 - )} - -happyReduce_246 = happySpecReduce_1 100# happyReduction_246 -happyReduction_246 happy_x_1 - = case happyOut111 happy_x_1 of { happy_var_1 -> - happyIn104 - (HsReifyExp happy_var_1 - )} - -happyReduce_247 = happySpecReduce_1 100# happyReduction_247 -happyReduction_247 happy_x_1 - = case happyOut105 happy_x_1 of { happy_var_1 -> - happyIn104 - (happy_var_1 - )} - -happyReduce_248 = happySpecReduce_2 101# happyReduction_248 -happyReduction_248 happy_x_2 - happy_x_1 - = case happyOut105 happy_x_1 of { happy_var_1 -> - case happyOut108 happy_x_2 of { happy_var_2 -> - happyIn105 - (HsApp happy_var_1 happy_var_2 - )}} - -happyReduce_249 = happySpecReduce_1 101# happyReduction_249 -happyReduction_249 happy_x_1 - = case happyOut108 happy_x_1 of { happy_var_1 -> - happyIn105 - (happy_var_1 - )} - -happyReduce_250 = happySpecReduce_2 102# happyReduction_250 -happyReduction_250 happy_x_2 - happy_x_1 - = case happyOut106 happy_x_1 of { happy_var_1 -> - case happyOut107 happy_x_2 of { happy_var_2 -> - happyIn106 - (happy_var_2 : happy_var_1 - )}} - -happyReduce_251 = happySpecReduce_1 102# happyReduction_251 -happyReduction_251 happy_x_1 - = case happyOut107 happy_x_1 of { happy_var_1 -> - happyIn106 - ([happy_var_1] - )} - -happyReduce_252 = happyMonadReduce 1# 103# happyReduction_252 -happyReduction_252 (happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut108 happy_x_1 of { happy_var_1 -> - ( checkPattern happy_var_1)} - ) (\r -> happyReturn (happyIn107 r)) - -happyReduce_253 = happyMonadReduce 3# 104# happyReduction_253 -happyReduction_253 (happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOut108 happy_x_3 of { happy_var_3 -> - ( do { n <- checkUnQual happy_var_1; - return (HsAsPat n happy_var_3) })}} - ) (\r -> happyReturn (happyIn108 r)) - -happyReduce_254 = happyMonadReduce 3# 104# happyReduction_254 -happyReduction_254 (happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOut108 happy_x_3 of { happy_var_3 -> - ( do { n <- checkUnQual happy_var_1; - return (HsCAsRP n happy_var_3) })}} - ) (\r -> happyReturn (happyIn108 r)) - -happyReduce_255 = happySpecReduce_2 104# happyReduction_255 -happyReduction_255 happy_x_2 - happy_x_1 - = case happyOut108 happy_x_2 of { happy_var_2 -> - happyIn108 - (HsIrrPat happy_var_2 - )} - -happyReduce_256 = happySpecReduce_1 104# happyReduction_256 -happyReduction_256 happy_x_1 - = case happyOut109 happy_x_1 of { happy_var_1 -> - happyIn108 - (happy_var_1 - )} - -happyReduce_257 = happyMonadReduce 3# 105# happyReduction_257 -happyReduction_257 (happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut109 happy_x_1 of { happy_var_1 -> - ( mkRecConstrOrUpdate happy_var_1 [])} - ) (\r -> happyReturn (happyIn109 r)) - -happyReduce_258 = happyMonadReduce 4# 105# happyReduction_258 -happyReduction_258 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut109 happy_x_1 of { happy_var_1 -> - case happyOut141 happy_x_3 of { happy_var_3 -> - ( mkRecConstrOrUpdate happy_var_1 (reverse happy_var_3))}} - ) (\r -> happyReturn (happyIn109 r)) - -happyReduce_259 = happySpecReduce_2 105# happyReduction_259 -happyReduction_259 happy_x_2 - happy_x_1 - = case happyOut109 happy_x_1 of { happy_var_1 -> - happyIn109 - (HsStarRP happy_var_1 - )} - -happyReduce_260 = happySpecReduce_2 105# happyReduction_260 -happyReduction_260 happy_x_2 - happy_x_1 - = case happyOut109 happy_x_1 of { happy_var_1 -> - happyIn109 - (HsStarGRP happy_var_1 - )} - -happyReduce_261 = happySpecReduce_2 105# happyReduction_261 -happyReduction_261 happy_x_2 - happy_x_1 - = case happyOut109 happy_x_1 of { happy_var_1 -> - happyIn109 - (HsPlusRP happy_var_1 - )} - -happyReduce_262 = happySpecReduce_2 105# happyReduction_262 -happyReduction_262 happy_x_2 - happy_x_1 - = case happyOut109 happy_x_1 of { happy_var_1 -> - happyIn109 - (HsPlusGRP happy_var_1 - )} - -happyReduce_263 = happySpecReduce_2 105# happyReduction_263 -happyReduction_263 happy_x_2 - happy_x_1 - = case happyOut109 happy_x_1 of { happy_var_1 -> - happyIn109 - (HsOptRP happy_var_1 - )} - -happyReduce_264 = happySpecReduce_2 105# happyReduction_264 -happyReduction_264 happy_x_2 - happy_x_1 - = case happyOut109 happy_x_1 of { happy_var_1 -> - happyIn109 - (HsOptGRP happy_var_1 - )} - -happyReduce_265 = happySpecReduce_1 105# happyReduction_265 -happyReduction_265 happy_x_1 - = case happyOut110 happy_x_1 of { happy_var_1 -> - happyIn109 - (happy_var_1 - )} - -happyReduce_266 = happySpecReduce_1 106# happyReduction_266 -happyReduction_266 happy_x_1 - = case happyOut151 happy_x_1 of { happy_var_1 -> - happyIn110 - (HsIPVar happy_var_1 - )} - -happyReduce_267 = happySpecReduce_1 106# happyReduction_267 -happyReduction_267 happy_x_1 - = case happyOut150 happy_x_1 of { happy_var_1 -> - happyIn110 - (HsVar happy_var_1 - )} - -happyReduce_268 = happySpecReduce_1 106# happyReduction_268 -happyReduction_268 happy_x_1 - = case happyOut147 happy_x_1 of { happy_var_1 -> - happyIn110 - (happy_var_1 - )} - -happyReduce_269 = happySpecReduce_1 106# happyReduction_269 -happyReduction_269 happy_x_1 - = case happyOut176 happy_x_1 of { happy_var_1 -> - happyIn110 - (HsLit happy_var_1 - )} - -happyReduce_270 = happySpecReduce_3 106# happyReduction_270 -happyReduction_270 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut99 happy_x_2 of { happy_var_2 -> - happyIn110 - (HsParen happy_var_2 - )} - -happyReduce_271 = happySpecReduce_3 106# happyReduction_271 -happyReduction_271 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut114 happy_x_2 of { happy_var_2 -> - happyIn110 - (HsTuple (reverse happy_var_2) - )} - -happyReduce_272 = happySpecReduce_3 106# happyReduction_272 -happyReduction_272 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut127 happy_x_2 of { happy_var_2 -> - happyIn110 - (happy_var_2 - )} - -happyReduce_273 = happyReduce 4# 106# happyReduction_273 -happyReduction_273 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut102 happy_x_2 of { happy_var_2 -> - case happyOut160 happy_x_3 of { happy_var_3 -> - happyIn110 - (HsLeftSection happy_var_2 happy_var_3 - ) `HappyStk` happyRest}} - -happyReduce_274 = happyReduce 4# 106# happyReduction_274 -happyReduction_274 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut161 happy_x_2 of { happy_var_2 -> - case happyOut100 happy_x_3 of { happy_var_3 -> - happyIn110 - (HsRightSection happy_var_2 happy_var_3 - ) `HappyStk` happyRest}} - -happyReduce_275 = happySpecReduce_1 106# happyReduction_275 -happyReduction_275 happy_x_1 - = happyIn110 - (HsWildCard - ) - -happyReduce_276 = happySpecReduce_3 106# happyReduction_276 -happyReduction_276 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut117 happy_x_2 of { happy_var_2 -> - happyIn110 - (happy_var_2 - )} - -happyReduce_277 = happySpecReduce_3 106# happyReduction_277 -happyReduction_277 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut115 happy_x_2 of { happy_var_2 -> - happyIn110 - (HsSeqRP $ reverse happy_var_2 - )} - -happyReduce_278 = happyReduce 4# 106# happyReduction_278 -happyReduction_278 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut115 happy_x_3 of { happy_var_3 -> - happyIn110 - (HsRPats happy_var_1 $ reverse happy_var_3 - ) `HappyStk` happyRest}} - -happyReduce_279 = happySpecReduce_1 106# happyReduction_279 -happyReduction_279 happy_x_1 - = case happyOut118 happy_x_1 of { happy_var_1 -> - happyIn110 - (happy_var_1 - )} - -happyReduce_280 = happySpecReduce_1 106# happyReduction_280 -happyReduction_280 happy_x_1 - = case happyOutTok happy_x_1 of { (THIdEscape happy_var_1) -> - happyIn110 - (HsSpliceExp $ HsIdSplice happy_var_1 - )} - -happyReduce_281 = happyMonadReduce 3# 106# happyReduction_281 -happyReduction_281 (happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut99 happy_x_2 of { happy_var_2 -> - ( do { e <- checkExpr happy_var_2; - return $ HsSpliceExp $ HsParenSplice e })} - ) (\r -> happyReturn (happyIn110 r)) - -happyReduce_282 = happyMonadReduce 3# 106# happyReduction_282 -happyReduction_282 (happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut99 happy_x_2 of { happy_var_2 -> - ( do { e <- checkExpr happy_var_2; - return $ HsBracketExp $ HsExpBracket e })} - ) (\r -> happyReturn (happyIn110 r)) - -happyReduce_283 = happyMonadReduce 3# 106# happyReduction_283 -happyReduction_283 (happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut100 happy_x_2 of { happy_var_2 -> - ( do { p <- checkPattern happy_var_2; - return $ HsBracketExp $ HsPatBracket p })} - ) (\r -> happyReturn (happyIn110 r)) - -happyReduce_284 = happySpecReduce_3 106# happyReduction_284 -happyReduction_284 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut52 happy_x_2 of { happy_var_2 -> - happyIn110 - (HsBracketExp $ HsTypeBracket happy_var_2 - )} - -happyReduce_285 = happyReduce 5# 106# happyReduction_285 -happyReduction_285 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut31 happy_x_3 of { happy_var_3 -> - happyIn110 - (HsBracketExp $ HsDeclBracket happy_var_3 - ) `HappyStk` happyRest} - -happyReduce_286 = happySpecReduce_2 107# happyReduction_286 -happyReduction_286 happy_x_2 - happy_x_1 - = case happyOut50 happy_x_2 of { happy_var_2 -> - happyIn111 - (HsReifyDecl happy_var_2 - )} - -happyReduce_287 = happySpecReduce_2 107# happyReduction_287 -happyReduction_287 happy_x_2 - happy_x_1 - = case happyOut150 happy_x_2 of { happy_var_2 -> - happyIn111 - (HsReifyDecl happy_var_2 - )} - -happyReduce_288 = happySpecReduce_2 107# happyReduction_288 -happyReduction_288 happy_x_2 - happy_x_1 - = case happyOut112 happy_x_2 of { happy_var_2 -> - happyIn111 - (HsReifyType happy_var_2 - )} - -happyReduce_289 = happySpecReduce_2 107# happyReduction_289 -happyReduction_289 happy_x_2 - happy_x_1 - = case happyOut112 happy_x_2 of { happy_var_2 -> - happyIn111 - (HsReifyFixity happy_var_2 - )} - -happyReduce_290 = happySpecReduce_1 108# happyReduction_290 -happyReduction_290 happy_x_1 - = case happyOut150 happy_x_1 of { happy_var_1 -> - happyIn112 - (happy_var_1 - )} - -happyReduce_291 = happyMonadReduce 1# 108# happyReduction_291 -happyReduction_291 (happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut147 happy_x_1 of { happy_var_1 -> - ( getGConName happy_var_1)} - ) (\r -> happyReturn (happyIn112 r)) - -happyReduce_292 = happySpecReduce_2 109# happyReduction_292 -happyReduction_292 happy_x_2 - happy_x_1 - = case happyOut113 happy_x_1 of { happy_var_1 -> - happyIn113 - (happy_var_1 + 1 - )} - -happyReduce_293 = happySpecReduce_1 109# happyReduction_293 -happyReduction_293 happy_x_1 - = happyIn113 - (1 - ) - -happyReduce_294 = happySpecReduce_3 110# happyReduction_294 -happyReduction_294 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut114 happy_x_1 of { happy_var_1 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - happyIn114 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_295 = happySpecReduce_3 110# happyReduction_295 -happyReduction_295 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - happyIn114 - ([happy_var_3,happy_var_1] - )}} - -happyReduce_296 = happySpecReduce_3 111# happyReduction_296 -happyReduction_296 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut115 happy_x_1 of { happy_var_1 -> - case happyOut116 happy_x_3 of { happy_var_3 -> - happyIn115 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_297 = happySpecReduce_1 111# happyReduction_297 -happyReduction_297 happy_x_1 - = case happyOut116 happy_x_1 of { happy_var_1 -> - happyIn115 - ([happy_var_1] - )} - -happyReduce_298 = happySpecReduce_1 112# happyReduction_298 -happyReduction_298 happy_x_1 - = case happyOut117 happy_x_1 of { happy_var_1 -> - happyIn116 - (happy_var_1 - )} - -happyReduce_299 = happySpecReduce_1 112# happyReduction_299 -happyReduction_299 happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - happyIn116 - (happy_var_1 - )} - -happyReduce_300 = happySpecReduce_3 113# happyReduction_300 -happyReduction_300 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut117 happy_x_3 of { happy_var_3 -> - happyIn117 - (HsEitherRP happy_var_1 happy_var_3 - )}} - -happyReduce_301 = happySpecReduce_3 113# happyReduction_301 -happyReduction_301 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - happyIn117 - (HsEitherRP happy_var_1 happy_var_3 - )}} - -happyReduce_302 = happyMonadReduce 10# 114# happyReduction_302 -happyReduction_302 (happy_x_10 `HappyStk` - happy_x_9 `HappyStk` - happy_x_8 `HappyStk` - happy_x_7 `HappyStk` - happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut121 happy_x_3 of { happy_var_3 -> - case happyOut123 happy_x_4 of { happy_var_4 -> - case happyOut125 happy_x_5 of { happy_var_5 -> - case happyOut119 happy_x_7 of { happy_var_7 -> - case happyOut121 happy_x_9 of { happy_var_9 -> - ( do { n <- checkEqNames happy_var_3 happy_var_9; - let { cn = reverse happy_var_7; - as = reverse happy_var_4; }; - return $ HsXTag happy_var_1 n as happy_var_5 cn })}}}}}} - ) (\r -> happyReturn (happyIn118 r)) - -happyReduce_303 = happyReduce 6# 114# happyReduction_303 -happyReduction_303 (happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut121 happy_x_3 of { happy_var_3 -> - case happyOut123 happy_x_4 of { happy_var_4 -> - case happyOut125 happy_x_5 of { happy_var_5 -> - happyIn118 - (HsXETag happy_var_1 happy_var_3 (reverse happy_var_4) happy_var_5 - ) `HappyStk` happyRest}}}} - -happyReduce_304 = happySpecReduce_3 114# happyReduction_304 -happyReduction_304 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut99 happy_x_2 of { happy_var_2 -> - happyIn118 - (HsXExpTag happy_var_2 - )} - -happyReduce_305 = happySpecReduce_2 115# happyReduction_305 -happyReduction_305 happy_x_2 - happy_x_1 - = case happyOut119 happy_x_1 of { happy_var_1 -> - case happyOut120 happy_x_2 of { happy_var_2 -> - happyIn119 - (happy_var_2 : happy_var_1 - )}} - -happyReduce_306 = happySpecReduce_0 115# happyReduction_306 -happyReduction_306 = happyIn119 - ([] - ) - -happyReduce_307 = happySpecReduce_1 116# happyReduction_307 -happyReduction_307 happy_x_1 - = case happyOutTok happy_x_1 of { (XPcdata happy_var_1) -> - happyIn120 - (HsXPcdata happy_var_1 - )} - -happyReduce_308 = happyReduce 4# 116# happyReduction_308 -happyReduction_308 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut115 happy_x_3 of { happy_var_3 -> - happyIn120 - (HsRPats happy_var_1 $ reverse happy_var_3 - ) `HappyStk` happyRest}} - -happyReduce_309 = happySpecReduce_1 116# happyReduction_309 -happyReduction_309 happy_x_1 - = case happyOut118 happy_x_1 of { happy_var_1 -> - happyIn120 - (happy_var_1 - )} - -happyReduce_310 = happySpecReduce_3 117# happyReduction_310 -happyReduction_310 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut122 happy_x_1 of { happy_var_1 -> - case happyOut122 happy_x_3 of { happy_var_3 -> - happyIn121 - (HsXDomName happy_var_1 happy_var_3 - )}} - -happyReduce_311 = happySpecReduce_1 117# happyReduction_311 -happyReduction_311 happy_x_1 - = case happyOut122 happy_x_1 of { happy_var_1 -> - happyIn121 - (HsXName happy_var_1 - )} - -happyReduce_312 = happySpecReduce_1 118# happyReduction_312 -happyReduction_312 happy_x_1 - = case happyOutTok happy_x_1 of { (VarId happy_var_1) -> - happyIn122 - (happy_var_1 - )} - -happyReduce_313 = happySpecReduce_1 118# happyReduction_313 -happyReduction_313 happy_x_1 - = case happyOutTok happy_x_1 of { (ConId happy_var_1) -> - happyIn122 - (happy_var_1 - )} - -happyReduce_314 = happySpecReduce_1 118# happyReduction_314 -happyReduction_314 happy_x_1 - = case happyOutTok happy_x_1 of { (DVarId happy_var_1) -> - happyIn122 - (mkDVar happy_var_1 - )} - -happyReduce_315 = happySpecReduce_1 118# happyReduction_315 -happyReduction_315 happy_x_1 - = happyIn122 - ("type" - ) - -happyReduce_316 = happySpecReduce_1 118# happyReduction_316 -happyReduction_316 happy_x_1 - = happyIn122 - ("class" - ) - -happyReduce_317 = happySpecReduce_2 119# happyReduction_317 -happyReduction_317 happy_x_2 - happy_x_1 - = case happyOut123 happy_x_1 of { happy_var_1 -> - case happyOut124 happy_x_2 of { happy_var_2 -> - happyIn123 - (happy_var_2 : happy_var_1 - )}} - -happyReduce_318 = happySpecReduce_0 119# happyReduction_318 -happyReduction_318 = happyIn123 - ([] - ) - -happyReduce_319 = happySpecReduce_3 120# happyReduction_319 -happyReduction_319 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut121 happy_x_1 of { happy_var_1 -> - case happyOut108 happy_x_3 of { happy_var_3 -> - happyIn124 - (HsXAttr happy_var_1 happy_var_3 - )}} - -happyReduce_320 = happySpecReduce_1 121# happyReduction_320 -happyReduction_320 happy_x_1 - = case happyOut108 happy_x_1 of { happy_var_1 -> - happyIn125 - (Just happy_var_1 - )} - -happyReduce_321 = happySpecReduce_0 121# happyReduction_321 -happyReduction_321 = happyIn125 - (Nothing - ) - -happyReduce_322 = happySpecReduce_1 122# happyReduction_322 -happyReduction_322 happy_x_1 - = case happyOutTok happy_x_1 of { (DVarId happy_var_1) -> - happyIn126 - (mkDVarExpr happy_var_1 - )} - -happyReduce_323 = happySpecReduce_1 123# happyReduction_323 -happyReduction_323 happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - happyIn127 - (HsList [happy_var_1] - )} - -happyReduce_324 = happySpecReduce_1 123# happyReduction_324 -happyReduction_324 happy_x_1 - = case happyOut128 happy_x_1 of { happy_var_1 -> - happyIn127 - (HsList (reverse happy_var_1) - )} - -happyReduce_325 = happySpecReduce_2 123# happyReduction_325 -happyReduction_325 happy_x_2 - happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - happyIn127 - (HsEnumFrom happy_var_1 - )} - -happyReduce_326 = happyReduce 4# 123# happyReduction_326 -happyReduction_326 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - happyIn127 - (HsEnumFromThen happy_var_1 happy_var_3 - ) `HappyStk` happyRest}} - -happyReduce_327 = happySpecReduce_3 123# happyReduction_327 -happyReduction_327 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - happyIn127 - (HsEnumFromTo happy_var_1 happy_var_3 - )}} - -happyReduce_328 = happyReduce 5# 123# happyReduction_328 -happyReduction_328 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - case happyOut99 happy_x_5 of { happy_var_5 -> - happyIn127 - (HsEnumFromThenTo happy_var_1 happy_var_3 happy_var_5 - ) `HappyStk` happyRest}}} - -happyReduce_329 = happySpecReduce_3 123# happyReduction_329 -happyReduction_329 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut129 happy_x_3 of { happy_var_3 -> - happyIn127 - (HsListComp happy_var_1 (reverse happy_var_3) - )}} - -happyReduce_330 = happySpecReduce_3 124# happyReduction_330 -happyReduction_330 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut128 happy_x_1 of { happy_var_1 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - happyIn128 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_331 = happySpecReduce_3 124# happyReduction_331 -happyReduction_331 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - happyIn128 - ([happy_var_3,happy_var_1] - )}} - -happyReduce_332 = happySpecReduce_3 125# happyReduction_332 -happyReduction_332 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut129 happy_x_1 of { happy_var_1 -> - case happyOut130 happy_x_3 of { happy_var_3 -> - happyIn129 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_333 = happySpecReduce_1 125# happyReduction_333 -happyReduction_333 happy_x_1 - = case happyOut130 happy_x_1 of { happy_var_1 -> - happyIn129 - ([happy_var_1] - )} - -happyReduce_334 = happyReduce 4# 126# happyReduction_334 -happyReduction_334 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut138 happy_x_1 of { happy_var_1 -> - case happyOut177 happy_x_2 of { happy_var_2 -> - case happyOut99 happy_x_4 of { happy_var_4 -> - happyIn130 - (HsGenerator happy_var_2 happy_var_1 happy_var_4 - ) `HappyStk` happyRest}}} - -happyReduce_335 = happySpecReduce_1 126# happyReduction_335 -happyReduction_335 happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - happyIn130 - (HsQualifier happy_var_1 - )} - -happyReduce_336 = happySpecReduce_2 126# happyReduction_336 -happyReduction_336 happy_x_2 - happy_x_1 - = case happyOut41 happy_x_2 of { happy_var_2 -> - happyIn130 - (HsLetStmt happy_var_2 - )} - -happyReduce_337 = happySpecReduce_3 127# happyReduction_337 -happyReduction_337 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut132 happy_x_2 of { happy_var_2 -> - happyIn131 - (happy_var_2 - )} - -happyReduce_338 = happySpecReduce_3 127# happyReduction_338 -happyReduction_338 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut132 happy_x_2 of { happy_var_2 -> - happyIn131 - (happy_var_2 - )} - -happyReduce_339 = happySpecReduce_3 128# happyReduction_339 -happyReduction_339 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut133 happy_x_2 of { happy_var_2 -> - happyIn132 - (reverse happy_var_2 - )} - -happyReduce_340 = happySpecReduce_3 129# happyReduction_340 -happyReduction_340 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut133 happy_x_1 of { happy_var_1 -> - case happyOut134 happy_x_3 of { happy_var_3 -> - happyIn133 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_341 = happySpecReduce_1 129# happyReduction_341 -happyReduction_341 happy_x_1 - = case happyOut134 happy_x_1 of { happy_var_1 -> - happyIn133 - ([happy_var_1] - )} - -happyReduce_342 = happyReduce 4# 130# happyReduction_342 -happyReduction_342 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut138 happy_x_2 of { happy_var_2 -> - case happyOut135 happy_x_3 of { happy_var_3 -> - case happyOut95 happy_x_4 of { happy_var_4 -> - happyIn134 - (HsAlt happy_var_1 happy_var_2 happy_var_3 happy_var_4 - ) `HappyStk` happyRest}}}} - -happyReduce_343 = happySpecReduce_2 131# happyReduction_343 -happyReduction_343 happy_x_2 - happy_x_1 - = case happyOut99 happy_x_2 of { happy_var_2 -> - happyIn135 - (HsUnGuardedAlt happy_var_2 - )} - -happyReduce_344 = happySpecReduce_1 131# happyReduction_344 -happyReduction_344 happy_x_1 - = case happyOut136 happy_x_1 of { happy_var_1 -> - happyIn135 - (HsGuardedAlts (reverse happy_var_1) - )} - -happyReduce_345 = happySpecReduce_2 132# happyReduction_345 -happyReduction_345 happy_x_2 - happy_x_1 - = case happyOut136 happy_x_1 of { happy_var_1 -> - case happyOut137 happy_x_2 of { happy_var_2 -> - happyIn136 - (happy_var_2 : happy_var_1 - )}} - -happyReduce_346 = happySpecReduce_1 132# happyReduction_346 -happyReduction_346 happy_x_1 - = case happyOut137 happy_x_1 of { happy_var_1 -> - happyIn136 - ([happy_var_1] - )} - -happyReduce_347 = happyReduce 5# 133# happyReduction_347 -happyReduction_347 (happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut129 happy_x_3 of { happy_var_3 -> - case happyOut99 happy_x_5 of { happy_var_5 -> - happyIn137 - (HsGuardedAlt happy_var_1 (reverse happy_var_3) happy_var_5 - ) `HappyStk` happyRest}}} - -happyReduce_348 = happyMonadReduce 1# 134# happyReduction_348 -happyReduction_348 (happy_x_1 `HappyStk` - happyRest) tk - = happyThen (case happyOut102 happy_x_1 of { happy_var_1 -> - ( checkPattern happy_var_1)} - ) (\r -> happyReturn (happyIn138 r)) - -happyReduce_349 = happySpecReduce_3 135# happyReduction_349 -happyReduction_349 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut140 happy_x_2 of { happy_var_2 -> - happyIn139 - (happy_var_2 - )} - -happyReduce_350 = happySpecReduce_3 135# happyReduction_350 -happyReduction_350 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut140 happy_x_2 of { happy_var_2 -> - happyIn139 - (happy_var_2 - )} - -happyReduce_351 = happyReduce 4# 136# happyReduction_351 -happyReduction_351 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut41 happy_x_2 of { happy_var_2 -> - case happyOut140 happy_x_4 of { happy_var_4 -> - happyIn140 - (HsLetStmt happy_var_2 : happy_var_4 - ) `HappyStk` happyRest}} - -happyReduce_352 = happyReduce 6# 136# happyReduction_352 -happyReduction_352 (happy_x_6 `HappyStk` - happy_x_5 `HappyStk` - happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut138 happy_x_1 of { happy_var_1 -> - case happyOut177 happy_x_2 of { happy_var_2 -> - case happyOut99 happy_x_4 of { happy_var_4 -> - case happyOut140 happy_x_6 of { happy_var_6 -> - happyIn140 - (HsGenerator happy_var_2 happy_var_1 happy_var_4 : happy_var_6 - ) `HappyStk` happyRest}}}} - -happyReduce_353 = happySpecReduce_3 136# happyReduction_353 -happyReduction_353 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOut140 happy_x_3 of { happy_var_3 -> - happyIn140 - (HsQualifier happy_var_1 : happy_var_3 - )}} - -happyReduce_354 = happySpecReduce_2 136# happyReduction_354 -happyReduction_354 happy_x_2 - happy_x_1 - = case happyOut140 happy_x_2 of { happy_var_2 -> - happyIn140 - (happy_var_2 - )} - -happyReduce_355 = happySpecReduce_2 136# happyReduction_355 -happyReduction_355 happy_x_2 - happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - happyIn140 - ([HsQualifier happy_var_1] - )} - -happyReduce_356 = happySpecReduce_1 136# happyReduction_356 -happyReduction_356 happy_x_1 - = case happyOut99 happy_x_1 of { happy_var_1 -> - happyIn140 - ([HsQualifier happy_var_1] - )} - -happyReduce_357 = happySpecReduce_3 137# happyReduction_357 -happyReduction_357 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut141 happy_x_1 of { happy_var_1 -> - case happyOut142 happy_x_3 of { happy_var_3 -> - happyIn141 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_358 = happySpecReduce_1 137# happyReduction_358 -happyReduction_358 happy_x_1 - = case happyOut142 happy_x_1 of { happy_var_1 -> - happyIn141 - ([happy_var_1] - )} - -happyReduce_359 = happySpecReduce_3 138# happyReduction_359 -happyReduction_359 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOut99 happy_x_3 of { happy_var_3 -> - happyIn142 - (HsFieldUpdate happy_var_1 happy_var_3 - )}} - -happyReduce_360 = happySpecReduce_3 139# happyReduction_360 -happyReduction_360 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut144 happy_x_2 of { happy_var_2 -> - happyIn143 - (happy_var_2 - )} - -happyReduce_361 = happySpecReduce_3 139# happyReduction_361 -happyReduction_361 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut144 happy_x_2 of { happy_var_2 -> - happyIn143 - (happy_var_2 - )} - -happyReduce_362 = happySpecReduce_3 140# happyReduction_362 -happyReduction_362 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut145 happy_x_2 of { happy_var_2 -> - happyIn144 - (reverse happy_var_2 - )} - -happyReduce_363 = happySpecReduce_3 141# happyReduction_363 -happyReduction_363 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut145 happy_x_1 of { happy_var_1 -> - case happyOut146 happy_x_3 of { happy_var_3 -> - happyIn145 - (happy_var_3 : happy_var_1 - )}} - -happyReduce_364 = happySpecReduce_1 141# happyReduction_364 -happyReduction_364 happy_x_1 - = case happyOut146 happy_x_1 of { happy_var_1 -> - happyIn145 - ([happy_var_1] - )} - -happyReduce_365 = happyReduce 4# 142# happyReduction_365 -happyReduction_365 (happy_x_4 `HappyStk` - happy_x_3 `HappyStk` - happy_x_2 `HappyStk` - happy_x_1 `HappyStk` - happyRest) - = case happyOut177 happy_x_1 of { happy_var_1 -> - case happyOut151 happy_x_2 of { happy_var_2 -> - case happyOut99 happy_x_4 of { happy_var_4 -> - happyIn146 - (HsIPBind happy_var_1 happy_var_2 happy_var_4 - ) `HappyStk` happyRest}}} - -happyReduce_366 = happySpecReduce_2 143# happyReduction_366 -happyReduction_366 happy_x_2 - happy_x_1 - = happyIn147 - (unit_con - ) - -happyReduce_367 = happySpecReduce_2 143# happyReduction_367 -happyReduction_367 happy_x_2 - happy_x_1 - = happyIn147 - (HsList [] - ) - -happyReduce_368 = happySpecReduce_3 143# happyReduction_368 -happyReduction_368 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut113 happy_x_2 of { happy_var_2 -> - happyIn147 - (tuple_con happy_var_2 - )} - -happyReduce_369 = happySpecReduce_1 143# happyReduction_369 -happyReduction_369 happy_x_1 - = case happyOut153 happy_x_1 of { happy_var_1 -> - happyIn147 - (HsCon happy_var_1 - )} - -happyReduce_370 = happySpecReduce_1 144# happyReduction_370 -happyReduction_370 happy_x_1 - = case happyOut165 happy_x_1 of { happy_var_1 -> - happyIn148 - (happy_var_1 - )} - -happyReduce_371 = happySpecReduce_3 144# happyReduction_371 -happyReduction_371 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut173 happy_x_2 of { happy_var_2 -> - happyIn148 - (happy_var_2 - )} - -happyReduce_372 = happySpecReduce_1 145# happyReduction_372 -happyReduction_372 happy_x_1 - = case happyOut164 happy_x_1 of { happy_var_1 -> - happyIn149 - (happy_var_1 - )} - -happyReduce_373 = happySpecReduce_3 145# happyReduction_373 -happyReduction_373 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut173 happy_x_2 of { happy_var_2 -> - happyIn149 - (happy_var_2 - )} - -happyReduce_374 = happySpecReduce_1 146# happyReduction_374 -happyReduction_374 happy_x_1 - = case happyOut163 happy_x_1 of { happy_var_1 -> - happyIn150 - (happy_var_1 - )} - -happyReduce_375 = happySpecReduce_3 146# happyReduction_375 -happyReduction_375 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut171 happy_x_2 of { happy_var_2 -> - happyIn150 - (happy_var_2 - )} - -happyReduce_376 = happySpecReduce_1 147# happyReduction_376 -happyReduction_376 happy_x_1 - = case happyOut166 happy_x_1 of { happy_var_1 -> - happyIn151 - (happy_var_1 - )} - -happyReduce_377 = happySpecReduce_1 148# happyReduction_377 -happyReduction_377 happy_x_1 - = case happyOut168 happy_x_1 of { happy_var_1 -> - happyIn152 - (happy_var_1 - )} - -happyReduce_378 = happySpecReduce_3 148# happyReduction_378 -happyReduction_378 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut170 happy_x_2 of { happy_var_2 -> - happyIn152 - (happy_var_2 - )} - -happyReduce_379 = happySpecReduce_1 149# happyReduction_379 -happyReduction_379 happy_x_1 - = case happyOut167 happy_x_1 of { happy_var_1 -> - happyIn153 - (happy_var_1 - )} - -happyReduce_380 = happySpecReduce_3 149# happyReduction_380 -happyReduction_380 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut162 happy_x_2 of { happy_var_2 -> - happyIn153 - (happy_var_2 - )} - -happyReduce_381 = happySpecReduce_1 150# happyReduction_381 -happyReduction_381 happy_x_1 - = case happyOut173 happy_x_1 of { happy_var_1 -> - happyIn154 - (happy_var_1 - )} - -happyReduce_382 = happySpecReduce_3 150# happyReduction_382 -happyReduction_382 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut165 happy_x_2 of { happy_var_2 -> - happyIn154 - (happy_var_2 - )} - -happyReduce_383 = happySpecReduce_1 151# happyReduction_383 -happyReduction_383 happy_x_1 - = case happyOut171 happy_x_1 of { happy_var_1 -> - happyIn155 - (happy_var_1 - )} - -happyReduce_384 = happySpecReduce_3 151# happyReduction_384 -happyReduction_384 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut163 happy_x_2 of { happy_var_2 -> - happyIn155 - (happy_var_2 - )} - -happyReduce_385 = happySpecReduce_1 152# happyReduction_385 -happyReduction_385 happy_x_1 - = case happyOut172 happy_x_1 of { happy_var_1 -> - happyIn156 - (happy_var_1 - )} - -happyReduce_386 = happySpecReduce_3 152# happyReduction_386 -happyReduction_386 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut163 happy_x_2 of { happy_var_2 -> - happyIn156 - (happy_var_2 - )} - -happyReduce_387 = happySpecReduce_1 153# happyReduction_387 -happyReduction_387 happy_x_1 - = case happyOut170 happy_x_1 of { happy_var_1 -> - happyIn157 - (happy_var_1 - )} - -happyReduce_388 = happySpecReduce_3 153# happyReduction_388 -happyReduction_388 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut168 happy_x_2 of { happy_var_2 -> - happyIn157 - (happy_var_2 - )} - -happyReduce_389 = happySpecReduce_1 154# happyReduction_389 -happyReduction_389 happy_x_1 - = case happyOut162 happy_x_1 of { happy_var_1 -> - happyIn158 - (happy_var_1 - )} - -happyReduce_390 = happySpecReduce_3 154# happyReduction_390 -happyReduction_390 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut167 happy_x_2 of { happy_var_2 -> - happyIn158 - (happy_var_2 - )} - -happyReduce_391 = happySpecReduce_1 155# happyReduction_391 -happyReduction_391 happy_x_1 - = case happyOut154 happy_x_1 of { happy_var_1 -> - happyIn159 - (HsVarOp happy_var_1 - )} - -happyReduce_392 = happySpecReduce_1 155# happyReduction_392 -happyReduction_392 happy_x_1 - = case happyOut157 happy_x_1 of { happy_var_1 -> - happyIn159 - (HsConOp happy_var_1 - )} - -happyReduce_393 = happySpecReduce_1 156# happyReduction_393 -happyReduction_393 happy_x_1 - = case happyOut155 happy_x_1 of { happy_var_1 -> - happyIn160 - (HsQVarOp happy_var_1 - )} - -happyReduce_394 = happySpecReduce_1 156# happyReduction_394 -happyReduction_394 happy_x_1 - = case happyOut158 happy_x_1 of { happy_var_1 -> - happyIn160 - (HsQConOp happy_var_1 - )} - -happyReduce_395 = happySpecReduce_1 157# happyReduction_395 -happyReduction_395 happy_x_1 - = case happyOut156 happy_x_1 of { happy_var_1 -> - happyIn161 - (HsQVarOp happy_var_1 - )} - -happyReduce_396 = happySpecReduce_1 157# happyReduction_396 -happyReduction_396 happy_x_1 - = case happyOut158 happy_x_1 of { happy_var_1 -> - happyIn161 - (HsQConOp happy_var_1 - )} - -happyReduce_397 = happySpecReduce_1 158# happyReduction_397 -happyReduction_397 happy_x_1 - = happyIn162 - (list_cons_name - ) - -happyReduce_398 = happySpecReduce_1 158# happyReduction_398 -happyReduction_398 happy_x_1 - = case happyOut169 happy_x_1 of { happy_var_1 -> - happyIn162 - (happy_var_1 - )} - -happyReduce_399 = happySpecReduce_1 159# happyReduction_399 -happyReduction_399 happy_x_1 - = case happyOut165 happy_x_1 of { happy_var_1 -> - happyIn163 - (UnQual happy_var_1 - )} - -happyReduce_400 = happySpecReduce_1 159# happyReduction_400 -happyReduction_400 happy_x_1 - = case happyOutTok happy_x_1 of { (QVarId happy_var_1) -> - happyIn163 - (Qual (Module (fst happy_var_1)) (HsIdent (snd happy_var_1)) - )} - -happyReduce_401 = happySpecReduce_1 160# happyReduction_401 -happyReduction_401 happy_x_1 - = case happyOutTok happy_x_1 of { (VarId happy_var_1) -> - happyIn164 - (HsIdent happy_var_1 - )} - -happyReduce_402 = happySpecReduce_1 160# happyReduction_402 -happyReduction_402 happy_x_1 - = happyIn164 - (as_name - ) - -happyReduce_403 = happySpecReduce_1 160# happyReduction_403 -happyReduction_403 happy_x_1 - = happyIn164 - (qualified_name - ) - -happyReduce_404 = happySpecReduce_1 160# happyReduction_404 -happyReduction_404 happy_x_1 - = happyIn164 - (hiding_name - ) - -happyReduce_405 = happySpecReduce_1 160# happyReduction_405 -happyReduction_405 happy_x_1 - = happyIn164 - (export_name - ) - -happyReduce_406 = happySpecReduce_1 160# happyReduction_406 -happyReduction_406 happy_x_1 - = happyIn164 - (stdcall_name - ) - -happyReduce_407 = happySpecReduce_1 160# happyReduction_407 -happyReduction_407 happy_x_1 - = happyIn164 - (ccall_name - ) - -happyReduce_408 = happySpecReduce_1 161# happyReduction_408 -happyReduction_408 happy_x_1 - = case happyOut164 happy_x_1 of { happy_var_1 -> - happyIn165 - (happy_var_1 - )} - -happyReduce_409 = happySpecReduce_1 161# happyReduction_409 -happyReduction_409 happy_x_1 - = happyIn165 - (safe_name - ) - -happyReduce_410 = happySpecReduce_1 161# happyReduction_410 -happyReduction_410 happy_x_1 - = happyIn165 - (unsafe_name - ) - -happyReduce_411 = happySpecReduce_1 161# happyReduction_411 -happyReduction_411 happy_x_1 - = happyIn165 - (threadsafe_name - ) - -happyReduce_412 = happySpecReduce_1 162# happyReduction_412 -happyReduction_412 happy_x_1 - = case happyOutTok happy_x_1 of { (IDupVarId happy_var_1) -> - happyIn166 - (HsIPDup happy_var_1 - )} - -happyReduce_413 = happySpecReduce_1 162# happyReduction_413 -happyReduction_413 happy_x_1 - = case happyOutTok happy_x_1 of { (ILinVarId happy_var_1) -> - happyIn166 - (HsIPLin happy_var_1 - )} - -happyReduce_414 = happySpecReduce_1 163# happyReduction_414 -happyReduction_414 happy_x_1 - = case happyOut168 happy_x_1 of { happy_var_1 -> - happyIn167 - (UnQual happy_var_1 - )} - -happyReduce_415 = happySpecReduce_1 163# happyReduction_415 -happyReduction_415 happy_x_1 - = case happyOutTok happy_x_1 of { (QConId happy_var_1) -> - happyIn167 - (Qual (Module (fst happy_var_1)) (HsIdent (snd happy_var_1)) - )} - -happyReduce_416 = happySpecReduce_1 164# happyReduction_416 -happyReduction_416 happy_x_1 - = case happyOutTok happy_x_1 of { (ConId happy_var_1) -> - happyIn168 - (HsIdent happy_var_1 - )} - -happyReduce_417 = happySpecReduce_1 165# happyReduction_417 -happyReduction_417 happy_x_1 - = case happyOut170 happy_x_1 of { happy_var_1 -> - happyIn169 - (UnQual happy_var_1 - )} - -happyReduce_418 = happySpecReduce_1 165# happyReduction_418 -happyReduction_418 happy_x_1 - = case happyOutTok happy_x_1 of { (QConSym happy_var_1) -> - happyIn169 - (Qual (Module (fst happy_var_1)) (HsSymbol (snd happy_var_1)) - )} - -happyReduce_419 = happySpecReduce_1 166# happyReduction_419 -happyReduction_419 happy_x_1 - = case happyOutTok happy_x_1 of { (ConSym happy_var_1) -> - happyIn170 - (HsSymbol happy_var_1 - )} - -happyReduce_420 = happySpecReduce_1 167# happyReduction_420 -happyReduction_420 happy_x_1 - = case happyOut173 happy_x_1 of { happy_var_1 -> - happyIn171 - (UnQual happy_var_1 - )} - -happyReduce_421 = happySpecReduce_1 167# happyReduction_421 -happyReduction_421 happy_x_1 - = case happyOut175 happy_x_1 of { happy_var_1 -> - happyIn171 - (happy_var_1 - )} - -happyReduce_422 = happySpecReduce_1 168# happyReduction_422 -happyReduction_422 happy_x_1 - = case happyOut174 happy_x_1 of { happy_var_1 -> - happyIn172 - (UnQual happy_var_1 - )} - -happyReduce_423 = happySpecReduce_1 168# happyReduction_423 -happyReduction_423 happy_x_1 - = case happyOut175 happy_x_1 of { happy_var_1 -> - happyIn172 - (happy_var_1 - )} - -happyReduce_424 = happySpecReduce_1 169# happyReduction_424 -happyReduction_424 happy_x_1 - = case happyOutTok happy_x_1 of { (VarSym happy_var_1) -> - happyIn173 - (HsSymbol happy_var_1 - )} - -happyReduce_425 = happySpecReduce_1 169# happyReduction_425 -happyReduction_425 happy_x_1 - = happyIn173 - (minus_name - ) - -happyReduce_426 = happySpecReduce_1 169# happyReduction_426 -happyReduction_426 happy_x_1 - = happyIn173 - (pling_name - ) - -happyReduce_427 = happySpecReduce_1 169# happyReduction_427 -happyReduction_427 happy_x_1 - = happyIn173 - (dot_name - ) - -happyReduce_428 = happySpecReduce_1 169# happyReduction_428 -happyReduction_428 happy_x_1 - = happyIn173 - (star_name - ) - -happyReduce_429 = happySpecReduce_1 170# happyReduction_429 -happyReduction_429 happy_x_1 - = case happyOutTok happy_x_1 of { (VarSym happy_var_1) -> - happyIn174 - (HsSymbol happy_var_1 - )} - -happyReduce_430 = happySpecReduce_1 170# happyReduction_430 -happyReduction_430 happy_x_1 - = happyIn174 - (pling_name - ) - -happyReduce_431 = happySpecReduce_1 170# happyReduction_431 -happyReduction_431 happy_x_1 - = happyIn174 - (dot_name - ) - -happyReduce_432 = happySpecReduce_1 170# happyReduction_432 -happyReduction_432 happy_x_1 - = happyIn174 - (star_name - ) - -happyReduce_433 = happySpecReduce_1 171# happyReduction_433 -happyReduction_433 happy_x_1 - = case happyOutTok happy_x_1 of { (QVarSym happy_var_1) -> - happyIn175 - (Qual (Module (fst happy_var_1)) (HsSymbol (snd happy_var_1)) - )} - -happyReduce_434 = happySpecReduce_1 172# happyReduction_434 -happyReduction_434 happy_x_1 - = case happyOutTok happy_x_1 of { (IntTok happy_var_1) -> - happyIn176 - (HsInt happy_var_1 - )} - -happyReduce_435 = happySpecReduce_1 172# happyReduction_435 -happyReduction_435 happy_x_1 - = case happyOutTok happy_x_1 of { (Character happy_var_1) -> - happyIn176 - (HsChar happy_var_1 - )} - -happyReduce_436 = happySpecReduce_1 172# happyReduction_436 -happyReduction_436 happy_x_1 - = case happyOutTok happy_x_1 of { (FloatTok happy_var_1) -> - happyIn176 - (HsFrac happy_var_1 - )} - -happyReduce_437 = happySpecReduce_1 172# happyReduction_437 -happyReduction_437 happy_x_1 - = case happyOutTok happy_x_1 of { (StringTok happy_var_1) -> - happyIn176 - (HsString happy_var_1 - )} - -happyReduce_438 = happyMonadReduce 0# 173# happyReduction_438 -happyReduction_438 (happyRest) tk - = happyThen (( getSrcLoc) - ) (\r -> happyReturn (happyIn177 r)) - -happyReduce_439 = happyMonadReduce 0# 174# happyReduction_439 -happyReduction_439 (happyRest) tk - = happyThen (( pushCurrentContext) - ) (\r -> happyReturn (happyIn178 r)) - -happyReduce_440 = happySpecReduce_1 175# happyReduction_440 -happyReduction_440 happy_x_1 - = happyIn179 - (() - ) - -happyReduce_441 = happyMonadReduce 1# 175# happyReduction_441 -happyReduction_441 (happy_x_1 `HappyStk` - happyRest) tk - = happyThen (( popContext) - ) (\r -> happyReturn (happyIn179 r)) - -happyReduce_442 = happySpecReduce_1 176# happyReduction_442 -happyReduction_442 happy_x_1 - = case happyOutTok happy_x_1 of { (ConId happy_var_1) -> - happyIn180 - (Module happy_var_1 - )} - -happyReduce_443 = happySpecReduce_1 176# happyReduction_443 -happyReduction_443 happy_x_1 - = case happyOutTok happy_x_1 of { (QConId happy_var_1) -> - happyIn180 - (Module (fst happy_var_1 ++ '.':snd happy_var_1) - )} - -happyReduce_444 = happySpecReduce_1 177# happyReduction_444 -happyReduction_444 happy_x_1 - = case happyOut168 happy_x_1 of { happy_var_1 -> - happyIn181 - (happy_var_1 - )} - -happyReduce_445 = happySpecReduce_1 178# happyReduction_445 -happyReduction_445 happy_x_1 - = case happyOut167 happy_x_1 of { happy_var_1 -> - happyIn182 - (happy_var_1 - )} - -happyReduce_446 = happySpecReduce_1 179# happyReduction_446 -happyReduction_446 happy_x_1 - = case happyOut167 happy_x_1 of { happy_var_1 -> - happyIn183 - (happy_var_1 - )} - -happyReduce_447 = happySpecReduce_1 180# happyReduction_447 -happyReduction_447 happy_x_1 - = case happyOut165 happy_x_1 of { happy_var_1 -> - happyIn184 - (happy_var_1 - )} - -happyReduce_448 = happySpecReduce_3 181# happyReduction_448 -happyReduction_448 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut184 happy_x_2 of { happy_var_2 -> - happyIn185 - (UnQual happy_var_2 - )} - -happyReduce_449 = happySpecReduce_1 181# happyReduction_449 -happyReduction_449 happy_x_1 - = case happyOut186 happy_x_1 of { happy_var_1 -> - happyIn185 - (UnQual happy_var_1 - )} - -happyReduce_450 = happySpecReduce_1 182# happyReduction_450 -happyReduction_450 happy_x_1 - = case happyOutTok happy_x_1 of { (VarSym happy_var_1) -> - happyIn186 - (HsSymbol happy_var_1 - )} - -happyNewToken action sts stk - = lexer(\tk -> - let cont i = happyDoAction i tk action sts stk in - case tk of { - EOF -> happyDoAction 109# tk action sts stk; - VarId happy_dollar_dollar -> cont 1#; - QVarId happy_dollar_dollar -> cont 2#; - IDupVarId happy_dollar_dollar -> cont 3#; - ILinVarId happy_dollar_dollar -> cont 4#; - ConId happy_dollar_dollar -> cont 5#; - QConId happy_dollar_dollar -> cont 6#; - DVarId happy_dollar_dollar -> cont 7#; - VarSym happy_dollar_dollar -> cont 8#; - ConSym happy_dollar_dollar -> cont 9#; - QVarSym happy_dollar_dollar -> cont 10#; - QConSym happy_dollar_dollar -> cont 11#; - IntTok happy_dollar_dollar -> cont 12#; - FloatTok happy_dollar_dollar -> cont 13#; - Character happy_dollar_dollar -> cont 14#; - StringTok happy_dollar_dollar -> cont 15#; - LeftParen -> cont 16#; - RightParen -> cont 17#; - LeftHashParen -> cont 18#; - RightHashParen -> cont 19#; - SemiColon -> cont 20#; - LeftCurly -> cont 21#; - RightCurly -> cont 22#; - VRightCurly -> cont 23#; - LeftSquare -> cont 24#; - RightSquare -> cont 25#; - Comma -> cont 26#; - Underscore -> cont 27#; - BackQuote -> cont 28#; - Dot -> cont 29#; - DotDot -> cont 30#; - Colon -> cont 31#; - DoubleColon -> cont 32#; - Equals -> cont 33#; - Backslash -> cont 34#; - Bar -> cont 35#; - LeftArrow -> cont 36#; - RightArrow -> cont 37#; - At -> cont 38#; - Tilde -> cont 39#; - DoubleArrow -> cont 40#; - Minus -> cont 41#; - Exclamation -> cont 42#; - Star -> cont 43#; - RPOpen -> cont 44#; - RPClose -> cont 45#; - RPSeqOpen -> cont 46#; - RPSeqClose -> cont 47#; - RPStar -> cont 48#; - RPStarG -> cont 49#; - RPPlus -> cont 50#; - RPPlusG -> cont 51#; - RPOpt -> cont 52#; - RPOptG -> cont 53#; - RPEither -> cont 54#; - RPCAt -> cont 55#; - THIdEscape happy_dollar_dollar -> cont 56#; - THParenEscape -> cont 57#; - THExpQuote -> cont 58#; - THPatQuote -> cont 59#; - THTypQuote -> cont 60#; - THDecQuote -> cont 61#; - THCloseQuote -> cont 62#; - THReifyDecl -> cont 63#; - THReifyType -> cont 64#; - THReifyFixity -> cont 65#; - XPcdata happy_dollar_dollar -> cont 66#; - XStdTagOpen -> cont 67#; - XCloseTagOpen -> cont 68#; - XCodeTagOpen -> cont 69#; - XStdTagClose -> cont 70#; - XEmptyTagClose -> cont 71#; - XCodeTagClose -> cont 72#; - KW_Foreign -> cont 73#; - KW_Export -> cont 74#; - KW_Safe -> cont 75#; - KW_Unsafe -> cont 76#; - KW_Threadsafe -> cont 77#; - KW_StdCall -> cont 78#; - KW_CCall -> cont 79#; - KW_As -> cont 80#; - KW_Case -> cont 81#; - KW_Class -> cont 82#; - KW_Data -> cont 83#; - KW_Default -> cont 84#; - KW_Deriving -> cont 85#; - KW_DLet -> cont 86#; - KW_Do -> cont 87#; - KW_Else -> cont 88#; - KW_Family -> cont 89#; - KW_Forall -> cont 90#; - KW_Hiding -> cont 91#; - KW_If -> cont 92#; - KW_Import -> cont 93#; - KW_In -> cont 94#; - KW_Infix -> cont 95#; - KW_InfixL -> cont 96#; - KW_InfixR -> cont 97#; - KW_Instance -> cont 98#; - KW_Let -> cont 99#; - KW_MDo -> cont 100#; - KW_Module -> cont 101#; - KW_NewType -> cont 102#; - KW_Of -> cont 103#; - KW_Then -> cont 104#; - KW_Type -> cont 105#; - KW_Where -> cont 106#; - KW_With -> cont 107#; - KW_Qualified -> cont 108#; - _ -> happyError' tk - }) - -happyError_ tk = happyError' tk - -happyThen :: () => P a -> (a -> P b) -> P b -happyThen = (>>=) -happyReturn :: () => a -> P a -happyReturn = (return) -happyThen1 = happyThen -happyReturn1 :: () => a -> P a -happyReturn1 = happyReturn -happyError' :: () => Token -> P a -happyError' tk = (\token -> happyError) tk - -parse = happySomeParser where - happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut4 x)) - -happySeq = happyDontSeq - - -happyError :: P a -happyError = fail "Parse error" - --- | Parse of a string, which should contain a complete Haskell 98 module. -parseModule :: String -> ParseResult HsModule -parseModule = runParser parse - --- | Parse of a string, which should contain a complete Haskell 98 module. -parseModuleWithMode :: ParseMode -> String -> ParseResult HsModule -parseModuleWithMode mode = runParserWithMode mode parse -{-# LINE 1 "templates/GenericTemplate.hs" #-} -{-# LINE 1 "templates/GenericTemplate.hs" #-} -{-# LINE 1 "<built-in>" #-} -{-# LINE 1 "<command line>" #-} -{-# LINE 1 "templates/GenericTemplate.hs" #-} --- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp - -{-# LINE 28 "templates/GenericTemplate.hs" #-} - - -data Happy_IntList = HappyCons Int# Happy_IntList - - - - - -{-# LINE 49 "templates/GenericTemplate.hs" #-} - -{-# LINE 59 "templates/GenericTemplate.hs" #-} - -{-# LINE 68 "templates/GenericTemplate.hs" #-} - -infixr 9 `HappyStk` -data HappyStk a = HappyStk a (HappyStk a) - ------------------------------------------------------------------------------ --- starting the parse - -happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll - ------------------------------------------------------------------------------ --- Accepting the parse - --- If the current token is 0#, it means we've just accepted a partial --- parse (a %partial parser). We must ignore the saved token on the top of --- the stack in this case. -happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) = - happyReturn1 ans -happyAccept j tk st sts (HappyStk ans _) = - (happyTcHack j (happyTcHack st)) (happyReturn1 ans) - ------------------------------------------------------------------------------ --- Arrays only: do the next action - - - -happyDoAction i tk st - = {- nothing -} - - - case action of - 0# -> {- nothing -} - happyFail i tk st - -1# -> {- nothing -} - happyAccept i tk st - n | (n <# (0# :: Int#)) -> {- nothing -} - - (happyReduceArr ! rule) i tk st - where rule = (I# ((negateInt# ((n +# (1# :: Int#)))))) - n -> {- nothing -} - - - happyShift new_state i tk st - where new_state = (n -# (1# :: Int#)) - where off = indexShortOffAddr happyActOffsets st - off_i = (off +# i) - check = if (off_i >=# (0# :: Int#)) - then (indexShortOffAddr happyCheck off_i ==# i) - else False - action | check = indexShortOffAddr happyTable off_i - | otherwise = indexShortOffAddr happyDefActions st - -{-# LINE 127 "templates/GenericTemplate.hs" #-} - - -indexShortOffAddr (HappyA# arr) off = -#if __GLASGOW_HASKELL__ > 500 - narrow16Int# i -#elif __GLASGOW_HASKELL__ == 500 - intToInt16# i -#else - (i `iShiftL#` 16#) `iShiftRA#` 16# -#endif - where -#if __GLASGOW_HASKELL__ >= 503 - i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low) -#else - i = word2Int# ((high `shiftL#` 8#) `or#` low) -#endif - high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#))) - low = int2Word# (ord# (indexCharOffAddr# arr off')) - off' = off *# 2# - - - - - -data HappyAddr = HappyA# Addr# - - - - ------------------------------------------------------------------------------ --- HappyState data type (not arrays) - -{-# LINE 170 "templates/GenericTemplate.hs" #-} - ------------------------------------------------------------------------------ --- Shifting a token - -happyShift new_state 0# tk st sts stk@(x `HappyStk` _) = - let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in --- trace "shifting the error token" $ - happyDoAction i tk new_state (HappyCons (st) (sts)) (stk) - -happyShift new_state i tk st sts stk = - happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk) - --- happyReduce is specialised for the common cases. - -happySpecReduce_0 i fn 0# tk st sts stk - = happyFail 0# tk st sts stk -happySpecReduce_0 nt fn j tk st@((action)) sts stk - = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk) - -happySpecReduce_1 i fn 0# tk st sts stk - = happyFail 0# tk st sts stk -happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk') - = let r = fn v1 in - happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) - -happySpecReduce_2 i fn 0# tk st sts stk - = happyFail 0# tk st sts stk -happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk') - = let r = fn v1 v2 in - happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) - -happySpecReduce_3 i fn 0# tk st sts stk - = happyFail 0# tk st sts stk -happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk') - = let r = fn v1 v2 v3 in - happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) - -happyReduce k i fn 0# tk st sts stk - = happyFail 0# tk st sts stk -happyReduce k nt fn j tk st sts stk - = case happyDrop (k -# (1# :: Int#)) sts of - sts1@((HappyCons (st1@(action)) (_))) -> - let r = fn stk in -- it doesn't hurt to always seq here... - happyDoSeq r (happyGoto nt j tk st1 sts1 r) - -happyMonadReduce k nt fn 0# tk st sts stk - = happyFail 0# tk st sts stk -happyMonadReduce k nt fn j tk st sts stk = - happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk)) - where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts)) - drop_stk = happyDropStk k stk - -happyMonad2Reduce k nt fn 0# tk st sts stk - = happyFail 0# tk st sts stk -happyMonad2Reduce k nt fn j tk st sts stk = - happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk)) - where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts)) - drop_stk = happyDropStk k stk - - off = indexShortOffAddr happyGotoOffsets st1 - off_i = (off +# nt) - new_state = indexShortOffAddr happyTable off_i - - - - -happyDrop 0# l = l -happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t - -happyDropStk 0# l = l -happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs - ------------------------------------------------------------------------------ --- Moving to a new state after a reduction - - -happyGoto nt j tk st = - {- nothing -} - happyDoAction j tk new_state - where off = indexShortOffAddr happyGotoOffsets st - off_i = (off +# nt) - new_state = indexShortOffAddr happyTable off_i - - - - ------------------------------------------------------------------------------ --- Error recovery (0# is the error token) - --- parse error if we are in recovery and we fail again -happyFail 0# tk old_st _ stk = --- trace "failing" $ - happyError_ tk - -{- We don't need state discarding for our restricted implementation of - "error". In fact, it can cause some bogus parses, so I've disabled it - for now --SDM - --- discard a state -happyFail 0# tk old_st (HappyCons ((action)) (sts)) - (saved_tok `HappyStk` _ `HappyStk` stk) = --- trace ("discarding state, depth " ++ show (length stk)) $ - happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk)) --} - --- Enter error recovery: generate an error token, --- save the old token and carry on. -happyFail i tk (action) sts stk = --- trace "entering error recovery" $ - happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk) - --- Internal happy errors: - -notHappyAtAll = error "Internal Happy error\n" - ------------------------------------------------------------------------------ --- Hack to get the typechecker to accept our action functions - - -happyTcHack :: Int# -> a -> a -happyTcHack x y = y -{-# INLINE happyTcHack #-} - - ------------------------------------------------------------------------------ --- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq --- otherwise it emits --- happySeq = happyDontSeq - -happyDoSeq, happyDontSeq :: a -> b -> b -happyDoSeq a b = a `seq` b -happyDontSeq a b = b - ------------------------------------------------------------------------------ --- Don't inline any functions from the template. GHC has a nasty habit --- of deciding to inline happyGoto everywhere, which increases the size of --- the generated parser quite a bit. - - -{-# NOINLINE happyDoAction #-} -{-# NOINLINE happyTable #-} -{-# NOINLINE happyCheck #-} -{-# NOINLINE happyActOffsets #-} -{-# NOINLINE happyGotoOffsets #-} -{-# NOINLINE happyDefActions #-} - -{-# NOINLINE happyShift #-} -{-# NOINLINE happySpecReduce_0 #-} -{-# NOINLINE happySpecReduce_1 #-} -{-# NOINLINE happySpecReduce_2 #-} -{-# NOINLINE happySpecReduce_3 #-} -{-# NOINLINE happyReduce #-} -{-# NOINLINE happyMonadReduce #-} -{-# NOINLINE happyGoto #-} -{-# NOINLINE happyFail #-} - --- end of Happy Template.
Language/Haskell/Exts/Parser.ly view
@@ -39,7 +39,7 @@ Some of the code for extensions is greatly influenced by GHC's internal parser library, ghc/compiler/parser/Parser.y. ------------------------------------------------------------------------------Conflicts: 3 shift/reduce+Conflicts: 5 shift/reduce 2 for ambiguity in 'case x of y | let z = y in z :: Bool -> b' (don't know whether to reduce 'Bool' as a btype or shift the '->'.@@ -55,6 +55,16 @@ an implicit binding. Fortunately resolving as shift gives it the only sensible meaning, namely the lhs of an implicit binding. +1 for ambiguity using hybrid modules+ For HSP pages that start with a <% %> block, the parser cannot tell whether+ to reduce a srcloc or shift the starting <%. Since any other body could not+ start with <%, shifting is the only sensible thing to do.++1 for ambiguity using toplevel xml modules+ For HSP xml pages starting with a <, the parser cannot tell whether to shift+ that < or reduce an implicit 'open'. Since no other body could possibly start+ with <, shifting is the only sensible thing to do.+ ----------------------------------------------------------------------------- > %token@@ -110,17 +120,10 @@ Harp -> '[/' { RPOpen }-> '/]' { RPClose }-> '(/' { RPSeqOpen }-> '/)' { RPSeqClose }-> 'rp*' { RPStar } -- '*' already taken-> '*!' { RPStarG }-> '+' { RPPlus }-> '+!' { RPPlusG }-> '?' { RPOpt }-> '?!' { RPOptG }-> 'rp|' { RPEither } -- '|' already taken+ '(/' { RPSeqOpen }+ '/)' { RPSeqClose }+> '(|' { RPGuardOpen }+> '|)' { RPGuardClose } > '@:' { RPCAt } Template Haskell@@ -145,6 +148,8 @@ > '>' { XStdTagClose } > '/>' { XEmptyTagClose } > '%>' { XCodeTagClose }+> '<[' { XRPatOpen }+> ']>' { XRPatClose } FFI @@ -192,6 +197,7 @@ > %lexer { lexer } { EOF } > %name parse > %tokentype { Token }+> %expect 5 > %% -----------------------------------------------------------------------------@@ -200,7 +206,7 @@ > page :: { HsModule } > : topxml {% mkPageModule $1 } > | '<%' module '%>' srcloc topxml {% mkPage $2 $4 $5 }-> | module { $1 }+> | module { $1 } > topxml :: { HsExp } > : srcloc '<' name attrs mattr '>' children '</' name '>' {% do { n <- checkEqNames $3 $9;@@ -476,7 +482,7 @@ > | btype qtyconop dtype { HsTyInfix $1 $2 $3 } > | btype qtyvarop dtype { HsTyInfix $1 $2 $3 } > | btype '->' dtype { HsTyFun $1 $3 }-> | btype '~' btype { HsTyPred $ HsEqualP $1 $3 }+> | btype '~' btype { HsTyPred $ HsEqualP $1 $3 } Implicit parameters can occur in normal types, as well as in contexts. @@ -530,7 +536,7 @@ > context :: { HsContext } > : btype {% checkContext $1 }-> | btype '~' btype {% checkContext (HsTyPred $ HsEqualP $1 $3) }+> | btype '~' btype {% checkContext (HsTyPred $ HsEqualP $1 $3) } > types :: { [HsType] } > : types1 ',' type { $3 : $1 }@@ -774,6 +780,7 @@ > : exp0b '::' srcloc ctype { HsExpTypeSig $3 $1 $4 } > | exp0b 'with' ipbinding { HsWith $1 $3 } -- implicit parameters > | exp0 { $1 }+> | exp0b qop { HsPostOp $1 $2 } -- for HaRP's sake > exp0 :: { HsExp } > : exp0a { $1 }@@ -836,12 +843,6 @@ > aexp1 :: { HsExp } > : aexp1 '{' '}' {% mkRecConstrOrUpdate $1 [] } > | aexp1 '{' fbinds '}' {% mkRecConstrOrUpdate $1 (reverse $3) }-> | aexp1 'rp*' { HsStarRP $1 }-> | aexp1 '*!' { HsStarGRP $1 }-> | aexp1 '+' { HsPlusRP $1 }-> | aexp1 '+!' { HsPlusGRP $1 }-> | aexp1 '?' { HsOptRP $1 }-> | aexp1 '?!' { HsOptGRP $1 } > | aexp2 { $1 } According to the Report, the left section (e op) is legal iff (e op x)@@ -856,12 +857,12 @@ > | '(' exp ')' { HsParen $2 } > | '(' texps ')' { HsTuple (reverse $2) } > | '[' list ']' { $2 }-> | '(' exp0b qop ')' { HsLeftSection $2 $3 }+ | '(' exp0b rqop ')' { HsLeftSection $2 $3 } > | '(' qopm exp0 ')' { HsRightSection $2 $3 } > | '_' { HsWildCard } > | '(' erpats ')' { $2 }-> | '(/' rpats '/)' { HsSeqRP $ reverse $2 }-> | srcloc '[/' rpats '/]' { HsRPats $1 $ reverse $3 }+> | '(|' sexps '|)' { HsSeqRP $ reverse $2 }+> | '(|' exp '|' quals '|)' { HsGuardRP $2 $ reverse $4 } > | xml { $1 } Template Haskell@@ -897,18 +898,14 @@ ----------------------------------------------------------------------------- Harp Extensions -> rpats :: { [HsExp] }-> : rpats ',' rpat { $3 : $1 }-> | rpat { [$1] }--> rpat :: { HsExp }-> : erpats { $1 }-> | exp { $1 }+> sexps :: { [HsExp] }+> : sexps ',' exp { $3 : $1 }+> | exp { [$1] } Either patterns are left associative > erpats :: { HsExp }-> : exp 'rp|' erpats { HsEitherRP $1 $3 }-> | exp 'rp|' exp { HsEitherRP $1 $3 }+> : exp '|' erpats { HsEitherRP $1 $3 }+> | exp '|' exp { HsEitherRP $1 $3 } ----------------------------------------------------------------------------- Hsx Extensions@@ -927,7 +924,7 @@ > child :: { HsExp } > : PCDATA { HsXPcdata $1 }-> | srcloc '[/' rpats '/]' { HsRPats $1 $ reverse $3 }+> | '<[' sexps ']>' { HsXRPats $ reverse $2 } > | xml { $1 } > name :: { HsXName }
Language/Haskell/Exts/Pretty.hs view
@@ -479,24 +479,24 @@ instance Pretty HsClassDecl where- pretty (HsClsDecl decl) = pretty decl+ pretty (HsClsDecl decl) = pretty decl - pretty (HsClsDataFam loc context name nameList optkind) =+ pretty (HsClsDataFam loc context name nameList optkind) = markLine loc $ mySep ( [text "data", ppHsContext context, pretty name] ++ map pretty nameList ++ ppOptKind optkind) - pretty (HsClsTyFam loc name nameList optkind) =+ pretty (HsClsTyFam loc name nameList optkind) = markLine loc $ mySep ( [text "type", pretty name] ++ map pretty nameList ++ ppOptKind optkind)- - pretty (HsClsTyDef loc ntype htype) =+ + pretty (HsClsTyDef loc ntype htype) = markLine loc $- mySep [text "type", pretty ntype, equals, pretty htype] + mySep [text "type", pretty ntype, equals, pretty htype] instance Pretty HsInstDecl where- pretty (HsInsDecl decl) = pretty decl+ pretty (HsInsDecl decl) = pretty decl pretty (HsInsType loc ntype htype) = markLine loc $@@ -720,18 +720,12 @@ pretty (HsBracketExp b) = pretty b pretty (HsSpliceExp s) = pretty s -- regular patterns- pretty (HsRPats _ rs) =- myFsep $ text "[/" : map pretty rs ++ [text "/]"] pretty (HsSeqRP rs) = myFsep $ text "(/" : map pretty rs ++ [text "/)"]- pretty (HsStarRP r) = pretty r <> char '*'- pretty (HsStarGRP r) = pretty r <> text "*!"- pretty (HsPlusRP r) = pretty r <> char '+'- pretty (HsPlusGRP r) = pretty r <> text "+!"- pretty (HsOptRP r) = pretty r <> char '?'- pretty (HsOptGRP r) = pretty r <> text "?!" pretty (HsEitherRP r1 r2) = parens . myFsep $ [pretty r1, char '|', pretty r2]+ pretty (HsGuardRP r gs) = + myFsep $ text "(|" : pretty r : char '|' : map pretty gs ++ [text "|)"] -- special case that would otherwise be buggy pretty (HsCAsRP n (HsIrrPat e)) = myFsep [pretty n <> text "@:", char '~' <> pretty e]@@ -748,6 +742,8 @@ pretty (HsXPcdata s) = text s pretty (HsXExpTag e) = myFsep $ [text "<%", pretty e, text "%>"]+ pretty (HsXRPats es) =+ myFsep $ text "<[" : map pretty es ++ [text "]>"] instance Pretty HsXAttr where pretty (HsXAttr n v) =@@ -809,24 +805,28 @@ hcat [pretty name, char '@', pretty pat] prettyPrec _ HsPWildCard = char '_' prettyPrec _ (HsPIrrPat pat) = char '~' <> pretty pat- prettyPrec _ (HsPRPat _ rs) =- myFsep $ text "[/" : map pretty rs ++ [text "/]"] prettyPrec _ (HsPatTypeSig _pos pat ty) = myFsep [pretty pat, text "::", pretty ty] + -- HaRP+ prettyPrec _ (HsPRPat rs) = + bracketList . punctuate comma . map pretty $ rs -- Hsx prettyPrec _ (HsPXTag _ n attrs mattr cp) =- let ap = maybe [] (return . pretty) mattr- in hcat $ -- TODO: should not introduce blanks- (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [char '>']):- prettyChildren cp ++ [myFsep $ [text "</" <> pretty n, char '>']]+ let ap = maybe [] (return . pretty) mattr+ in hcat $ -- TODO: should not introduce blanks+ (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [char '>']):+ map pretty cp ++ [myFsep $ [text "</" <> pretty n, char '>']] prettyPrec _ (HsPXETag _ n attrs mattr) = let ap = maybe [] (return . pretty) mattr in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [text "/>"] prettyPrec _ (HsPXPcdata s) = text s prettyPrec _ (HsPXPatTag p) = myFsep $ [text "<%", pretty p, text "%>"]+ prettyPrec _ (HsPXRPats ps) =+ myFsep $ text "<[" : map pretty ps ++ [text "%>"] +{- prettyChildren :: HsPat -> [Doc] prettyChildren p = case p of HsPList ps -> map prettyChild ps@@ -841,6 +841,7 @@ HsPXPatTag _ -> pretty p HsPXPcdata _ -> pretty p _ -> pretty $ HsPXPatTag p+-} instance Pretty HsPXAttr where pretty (HsPXAttr n p) =@@ -853,16 +854,13 @@ --------------------- Regular Patterns ------------------------- instance Pretty HsRPat where- pretty (HsRPStar r) = pretty r <> char '*'- pretty (HsRPStarG r) = pretty r <> text "*!"- pretty (HsRPPlus r) = pretty r <> char '+'- pretty (HsRPPlusG r) = pretty r <> text "+!"- pretty (HsRPOpt r) = pretty r <> char '?'- pretty (HsRPOptG r) = pretty r <> text "?!"+ pretty (HsRPOp r op) = pretty r <> pretty op pretty (HsRPEither r1 r2) = parens . myFsep $ [pretty r1, char '|', pretty r2] pretty (HsRPSeq rs) = myFsep $ text "(/" : map pretty rs ++ [text "/)"]+ pretty (HsRPGuard r gs) =+ myFsep $ text "(|" : pretty r : char '|' : map pretty gs ++ [text "|)"] -- special case that would otherwise be buggy pretty (HsRPCAs n (HsRPPat (HsPIrrPat p))) = myFsep [pretty n <> text "@:", char '~' <> pretty p]@@ -873,6 +871,14 @@ pretty (HsRPAs n r) = hcat [pretty n, char '@', pretty r] pretty (HsRPPat p) = pretty p pretty (HsRPParen rp) = parens . pretty $ rp++instance Pretty HsRPatOp where+ pretty HsRPStar = char '*'+ pretty HsRPStarG = text "*!"+ pretty HsRPPlus = char '+'+ pretty HsRPPlusG = text "+!"+ pretty HsRPOpt = char '?'+ pretty HsRPOptG = text "?!" ------------------------- Case bodies ------------------------- instance Pretty HsAlt where
Language/Haskell/Exts/Syntax.hs view
@@ -67,7 +67,7 @@ HsReify(..), HsBracket(..), HsSplice(..), -- * HaRP- HsRPat(..),+ HsRPat(..), HsRPatOp(..), -- * Hsx HsXAttr(..), HsXName(..), HsPXAttr(..),@@ -103,10 +103,10 @@ -- | A position in the source. data SrcLoc = SrcLoc {- srcFilename :: String,- srcLine :: Int,- srcColumn :: Int- }+ srcFilename :: String,+ srcLine :: Int,+ srcColumn :: Int+ } #ifdef __GLASGOW_HASKELL__ deriving (Eq,Ord,Show,Typeable,Data) #else@@ -126,12 +126,12 @@ -- data constructors. data HsSpecialCon- = HsUnitCon -- ^ unit type and data constructor @()@- | HsListCon -- ^ list type constructor @[]@- | HsFunCon -- ^ function type constructor @->@- | HsTupleCon Int -- ^ /n/-ary tuple type and data- -- constructors @(,)@ etc- | HsCons -- ^ list data constructor @(:)@+ = HsUnitCon -- ^ unit type and data constructor @()@+ | HsListCon -- ^ list type constructor @[]@+ | HsFunCon -- ^ function type constructor @->@+ | HsTupleCon Int -- ^ /n/-ary tuple type and data+ -- constructors @(,)@ etc+ | HsCons -- ^ list data constructor @(:)@ #ifdef __GLASGOW_HASKELL__ deriving (Eq,Ord,Show,Typeable,Data) #else@@ -141,9 +141,9 @@ -- | This type is used to represent qualified variables, and also -- qualified constructors. data HsQName- = Qual Module HsName -- ^ name qualified with a module name- | UnQual HsName -- ^ unqualified name- | Special HsSpecialCon -- ^ built-in constructor with special syntax+ = Qual Module HsName -- ^ name qualified with a module name+ | UnQual HsName -- ^ unqualified name+ | Special HsSpecialCon -- ^ built-in constructor with special syntax #ifdef __GLASGOW_HASKELL__ deriving (Eq,Ord,Show,Typeable,Data) #else@@ -152,8 +152,8 @@ -- | This type is used to represent variables, and also constructors. data HsName- = HsIdent String -- ^ /varid/ or /conid/.- | HsSymbol String -- ^ /varsym/ or /consym/+ = HsIdent String -- ^ /varid/ or /conid/.+ | HsSymbol String -- ^ /varsym/ or /consym/ #ifdef __GLASGOW_HASKELL__ deriving (Eq,Ord,Show,Typeable,Data) #else@@ -162,8 +162,8 @@ -- | This type is used to represent implicit parameter names. data HsIPName- = HsIPDup String -- ?x- | HsIPLin String -- %x+ = HsIPDup String -- ?x+ | HsIPLin String -- %x #ifdef __GLASGOW_HASKELL__ deriving (Eq,Ord,Show,Typeable,Data) #else@@ -172,8 +172,8 @@ -- | Possibly qualified infix operators (/qop/), appearing in expressions. data HsQOp- = HsQVarOp HsQName -- ^ variable operator (/qvarop/)- | HsQConOp HsQName -- ^ constructor operator (/qconop/)+ = HsQVarOp HsQName -- ^ variable operator (/qvarop/)+ | HsQConOp HsQName -- ^ constructor operator (/qconop/) #ifdef __GLASGOW_HASKELL__ deriving (Eq,Ord,Show,Typeable,Data) #else@@ -182,8 +182,8 @@ -- | Operators, appearing in @infix@ declarations. data HsOp- = HsVarOp HsName -- ^ variable operator (/varop/)- | HsConOp HsName -- ^ constructor operator (/conop/)+ = HsVarOp HsName -- ^ variable operator (/varop/)+ | HsConOp HsName -- ^ constructor operator (/conop/) #ifdef __GLASGOW_HASKELL__ deriving (Eq,Ord,Show,Typeable,Data) #else@@ -193,8 +193,8 @@ -- | A name (/cname/) of a component of a class or data type in an @import@ -- or export specification. data HsCName- = HsVarName HsName -- ^ name of a method or field- | HsConName HsName -- ^ name of a data constructor+ = HsVarName HsName -- ^ name of a method or field+ | HsConName HsName -- ^ name of a data constructor #ifdef __GLASGOW_HASKELL__ deriving (Eq,Ord,Show,Typeable,Data) #else@@ -212,18 +212,18 @@ -- | Export specification. data HsExportSpec- = HsEVar HsQName -- ^ variable- | HsEAbs HsQName -- ^ @T@:- -- a class or datatype exported abstractly,- -- or a type synonym.- | HsEThingAll HsQName -- ^ @T(..)@:- -- a class exported with all of its methods, or- -- a datatype exported with all of its constructors.- | HsEThingWith HsQName [HsCName] -- ^ @T(C_1,...,C_n)@:- -- a class exported with some of its methods, or- -- a datatype exported with some of its constructors.- | HsEModuleContents Module -- ^ @module M@:- -- re-export a module.+ = HsEVar HsQName -- ^ variable+ | HsEAbs HsQName -- ^ @T@:+ -- a class or datatype exported abstractly,+ -- or a type synonym.+ | HsEThingAll HsQName -- ^ @T(..)@:+ -- a class exported with all of its methods, or+ -- a datatype exported with all of its constructors.+ | HsEThingWith HsQName [HsCName] -- ^ @T(C_1,...,C_n)@:+ -- a class exported with some of its methods, or+ -- a datatype exported with some of its constructors.+ | HsEModuleContents Module -- ^ @module M@:+ -- re-export a module. #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -232,16 +232,16 @@ -- | Import declaration. data HsImportDecl = HsImportDecl- { importLoc :: SrcLoc -- ^ position of the @import@ keyword.- , importModule :: Module -- ^ name of the module imported.- , importQualified :: Bool -- ^ imported @qualified@?- , importAs :: Maybe Module -- ^ optional alias name in an- -- @as@ clause.- , importSpecs :: Maybe (Bool,[HsImportSpec])- -- ^ optional list of import specifications.- -- The 'Bool' is 'True' if the names are excluded- -- by @hiding@.- }+ { importLoc :: SrcLoc -- ^ position of the @import@ keyword.+ , importModule :: Module -- ^ name of the module imported.+ , importQualified :: Bool -- ^ imported @qualified@?+ , importAs :: Maybe Module -- ^ optional alias name in an+ -- @as@ clause.+ , importSpecs :: Maybe (Bool,[HsImportSpec])+ -- ^ optional list of import specifications.+ -- The 'Bool' is 'True' if the names are excluded+ -- by @hiding@.+ } #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -250,15 +250,15 @@ -- | Import specification. data HsImportSpec- = HsIVar HsName -- ^ variable- | HsIAbs HsName -- ^ @T@:- -- the name of a class, datatype or type synonym.- | HsIThingAll HsName -- ^ @T(..)@:- -- a class imported with all of its methods, or- -- a datatype imported with all of its constructors.- | HsIThingWith HsName [HsCName] -- ^ @T(C_1,...,C_n)@:- -- a class imported with some of its methods, or- -- a datatype imported with some of its constructors.+ = HsIVar HsName -- ^ variable+ | HsIAbs HsName -- ^ @T@:+ -- the name of a class, datatype or type synonym.+ | HsIThingAll HsName -- ^ @T(..)@:+ -- a class imported with all of its methods, or+ -- a datatype imported with all of its constructors.+ | HsIThingWith HsName [HsCName] -- ^ @T(C_1,...,C_n)@:+ -- a class imported with some of its methods, or+ -- a datatype imported with some of its constructors. #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -267,9 +267,9 @@ -- | Associativity of an operator. data HsAssoc- = HsAssocNone -- ^ non-associative operator (declared with @infix@)- | HsAssocLeft -- ^ left-associative operator (declared with @infixl@).- | HsAssocRight -- ^ right-associative operator (declared with @infixr@)+ = HsAssocNone -- ^ non-associative operator (declared with @infix@)+ | HsAssocLeft -- ^ left-associative operator (declared with @infixl@).+ | HsAssocRight -- ^ right-associative operator (declared with @infixr@) #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -277,25 +277,25 @@ #endif data HsDecl- = HsTypeDecl SrcLoc HsName [HsName] HsType- | HsDataDecl SrcLoc DataOrNew HsContext HsName [HsName] [HsQualConDecl] [HsQName]- | HsGDataDecl SrcLoc DataOrNew HsContext HsName [HsName] (Maybe HsKind) [HsGadtDecl] {-no deriving-}- | HsTypeFamDecl SrcLoc HsName [HsName] (Maybe HsKind)- | HsDataFamDecl SrcLoc HsContext HsName [HsName] (Maybe HsKind)- | HsTypeInsDecl SrcLoc HsType HsType- | HsDataInsDecl SrcLoc DataOrNew HsType [HsQualConDecl] [HsQName]- | HsGDataInsDecl SrcLoc DataOrNew HsType (Maybe HsKind) [HsGadtDecl] {-no deriving-}- | HsInfixDecl SrcLoc HsAssoc Int [HsOp]- | HsClassDecl SrcLoc HsContext HsName [HsName] [HsFunDep] [HsClassDecl]- | HsInstDecl SrcLoc HsContext HsQName [HsType] [HsInstDecl]- | HsDerivDecl SrcLoc HsContext HsQName [HsType]- | HsDefaultDecl SrcLoc [HsType]- | HsSpliceDecl SrcLoc HsSplice- | HsTypeSig SrcLoc [HsName] HsType- | HsFunBind [HsMatch]- | HsPatBind SrcLoc HsPat HsRhs {-where-} HsBinds- | HsForImp SrcLoc HsCallConv HsSafety String HsName HsType- | HsForExp SrcLoc HsCallConv String HsName HsType+ = HsTypeDecl SrcLoc HsName [HsName] HsType+ | HsDataDecl SrcLoc DataOrNew HsContext HsName [HsName] [HsQualConDecl] [HsQName]+ | HsGDataDecl SrcLoc DataOrNew HsContext HsName [HsName] (Maybe HsKind) [HsGadtDecl] {-no deriving-}+ | HsTypeFamDecl SrcLoc HsName [HsName] (Maybe HsKind)+ | HsDataFamDecl SrcLoc HsContext HsName [HsName] (Maybe HsKind)+ | HsTypeInsDecl SrcLoc HsType HsType+ | HsDataInsDecl SrcLoc DataOrNew HsType [HsQualConDecl] [HsQName]+ | HsGDataInsDecl SrcLoc DataOrNew HsType (Maybe HsKind) [HsGadtDecl] {-no deriving-}+ | HsInfixDecl SrcLoc HsAssoc Int [HsOp]+ | HsClassDecl SrcLoc HsContext HsName [HsName] [HsFunDep] [HsClassDecl]+ | HsInstDecl SrcLoc HsContext HsQName [HsType] [HsInstDecl]+ | HsDerivDecl SrcLoc HsContext HsQName [HsType]+ | HsDefaultDecl SrcLoc [HsType]+ | HsSpliceDecl SrcLoc HsSplice+ | HsTypeSig SrcLoc [HsName] HsType+ | HsFunBind [HsMatch]+ | HsPatBind SrcLoc HsPat HsRhs {-where-} HsBinds+ | HsForImp SrcLoc HsCallConv HsSafety String HsName HsType+ | HsForExp SrcLoc HsCallConv String HsName HsType #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -310,8 +310,8 @@ #endif data HsBinds- = HsBDecls [HsDecl]- | HsIPBinds [HsIPBind]+ = HsBDecls [HsDecl]+ | HsIPBinds [HsIPBind] #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -327,7 +327,7 @@ -- | Clauses of a function binding. data HsMatch- = HsMatch SrcLoc HsName [HsPat] HsRhs {-where-} HsBinds+ = HsMatch SrcLoc HsName [HsPat] HsRhs {-where-} HsBinds #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -335,9 +335,9 @@ #endif data HsQualConDecl- = HsQualConDecl SrcLoc - {-forall-} [HsTyVarBind] {- . -} HsContext- {- => -} HsConDecl+ = HsQualConDecl SrcLoc + {-forall-} [HsTyVarBind] {- . -} HsContext+ {- => -} HsConDecl #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -345,7 +345,7 @@ #endif data HsGadtDecl - = HsGadtDecl SrcLoc HsName HsType+ = HsGadtDecl SrcLoc HsName HsType #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -354,10 +354,10 @@ -- | Declaration of a data constructor. data HsConDecl- = HsConDecl HsName [HsBangType]- -- ^ ordinary data constructor- | HsRecDecl HsName [([HsName],HsBangType)]- -- ^ record constructor+ = HsConDecl HsName [HsBangType]+ -- ^ ordinary data constructor+ | HsRecDecl HsName [([HsName],HsBangType)]+ -- ^ record constructor #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -366,10 +366,10 @@ -- | Declarations inside a class declaration data HsClassDecl- = HsClsDecl HsDecl- | HsClsDataFam SrcLoc HsContext HsName [HsName] (Maybe HsKind)- | HsClsTyFam SrcLoc HsName [HsName] (Maybe HsKind)- | HsClsTyDef SrcLoc HsType HsType+ = HsClsDecl HsDecl+ | HsClsDataFam SrcLoc HsContext HsName [HsName] (Maybe HsKind)+ | HsClsTyFam SrcLoc HsName [HsName] (Maybe HsKind)+ | HsClsTyDef SrcLoc HsType HsType #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -378,10 +378,10 @@ -- | Declarations inside an instance declaration data HsInstDecl- = HsInsDecl HsDecl- | HsInsType SrcLoc HsType HsType- | HsInsData SrcLoc DataOrNew HsType [HsQualConDecl] [HsQName]- | HsInsGData SrcLoc DataOrNew HsType (Maybe HsKind) [HsGadtDecl] {-no deriving-}+ = HsInsDecl HsDecl+ | HsInsType SrcLoc HsType HsType+ | HsInsData SrcLoc DataOrNew HsType [HsQualConDecl] [HsQName]+ | HsInsGData SrcLoc DataOrNew HsType (Maybe HsKind) [HsGadtDecl] {-no deriving-} #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -391,8 +391,8 @@ -- | The type of a constructor argument or field, optionally including -- a strictness annotation. data HsBangType- = HsBangedTy HsType -- ^ strict component, marked with \"@!@\"- | HsUnBangedTy HsType -- ^ non-strict component+ = HsBangedTy HsType -- ^ strict component, marked with \"@!@\"+ | HsUnBangedTy HsType -- ^ non-strict component #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -401,9 +401,9 @@ -- | The right hand side of a function or pattern binding. data HsRhs- = HsUnGuardedRhs HsExp -- ^ unguarded right hand side (/exp/)- | HsGuardedRhss [HsGuardedRhs]- -- ^ guarded right hand side (/gdrhs/)+ = HsUnGuardedRhs HsExp -- ^ unguarded right hand side (/exp/)+ | HsGuardedRhss [HsGuardedRhs]+ -- ^ guarded right hand side (/gdrhs/) #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -412,7 +412,7 @@ -- | A guarded right hand side @|@ /exp/ @=@ /exp/. -- The first expression will be Boolean-valued. data HsGuardedRhs- = HsGuardedRhs SrcLoc [HsStmt] HsExp+ = HsGuardedRhs SrcLoc [HsStmt] HsExp #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -423,18 +423,18 @@ -- An unqualified type has an empty context. data HsType- = HsTyForall - (Maybe [HsTyVarBind])- HsContext- HsType- | HsTyFun HsType HsType -- ^ function type- | HsTyTuple HsBoxed [HsType] -- ^ tuple type, possibly boxed- | HsTyApp HsType HsType -- ^ application of a type constructor- | HsTyVar HsName -- ^ type variable- | HsTyCon HsQName -- ^ named type or type constructor- | HsTyPred HsAsst -- ^ assertion of an implicit parameter- | HsTyInfix HsType HsQName HsType -- ^ infix type constructor- | HsTyKind HsType HsKind -- ^ type with explicit kind signature+ = HsTyForall + (Maybe [HsTyVarBind])+ HsContext+ HsType+ | HsTyFun HsType HsType -- ^ function type+ | HsTyTuple HsBoxed [HsType] -- ^ tuple type, possibly boxed+ | HsTyApp HsType HsType -- ^ application of a type constructor+ | HsTyVar HsName -- ^ type variable+ | HsTyCon HsQName -- ^ named type or type constructor+ | HsTyPred HsAsst -- ^ assertion of an implicit parameter+ | HsTyInfix HsType HsQName HsType -- ^ infix type constructor+ | HsTyKind HsType HsKind -- ^ type with explicit kind signature #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -449,8 +449,8 @@ #endif data HsTyVarBind - = HsKindedVar HsName HsKind- | HsUnkindedVar HsName+ = HsKindedVar HsName HsKind+ | HsUnkindedVar HsName #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -458,20 +458,20 @@ #endif data HsKind- = HsKindStar- | HsKindBang- | HsKindFn HsKind HsKind+ = HsKindStar+ | HsKindBang+ | HsKindFn HsKind HsKind #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else deriving (Eq,Show) #endif- + -- | A functional dependency, given on the form -- l1 l2 ... ln -> r2 r3 .. rn data HsFunDep- = HsFunDep [HsName] [HsName]+ = HsFunDep [HsName] [HsName] #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -485,9 +485,9 @@ -- In Haskell 98, the argument would be a /tyvar/, but this definition -- allows multiple parameters, and allows them to be /type/s. -- Also extended with support for implicit parameters and equality constraints.-data HsAsst = HsClassA HsQName [HsType]- | HsIParam HsIPName HsType- | HsEqualP HsType HsType+data HsAsst = HsClassA HsQName [HsType]+ | HsIParam HsIPName HsType+ | HsEqualP HsType HsType #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -499,15 +499,15 @@ -- precise string representation used. For example, @10@, @0o12@ and @0xa@ -- have the same representation. data HsLiteral- = HsChar Char -- ^ character literal- | HsString String -- ^ string literal- | HsInt Integer -- ^ integer literal- | HsFrac Rational -- ^ floating point literal- | HsCharPrim Char -- ^ GHC unboxed character literal- | HsStringPrim String -- ^ GHC unboxed string literal- | HsIntPrim Integer -- ^ GHC unboxed integer literal- | HsFloatPrim Rational -- ^ GHC unboxed float literal- | HsDoublePrim Rational -- ^ GHC unboxed double literal+ = HsChar Char -- ^ character literal+ | HsString String -- ^ string literal+ | HsInt Integer -- ^ integer literal+ | HsFrac Rational -- ^ floating point literal+ | HsCharPrim Char -- ^ GHC unboxed character literal+ | HsStringPrim String -- ^ GHC unboxed string literal+ | HsIntPrim Integer -- ^ GHC unboxed integer literal+ | HsFloatPrim Rational -- ^ GHC unboxed float literal+ | HsDoublePrim Rational -- ^ GHC unboxed double literal #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -531,70 +531,68 @@ -- add parentheses in printing. data HsExp- = HsVar HsQName -- ^ variable- | HsIPVar HsIPName -- ^ implicit parameter variable- | HsCon HsQName -- ^ data constructor- | HsLit HsLiteral -- ^ literal constant- | HsInfixApp HsExp HsQOp HsExp -- ^ infix application- | HsApp HsExp HsExp -- ^ ordinary application- | HsNegApp HsExp -- ^ negation expression @-@ /exp/- | HsLambda SrcLoc [HsPat] HsExp -- ^ lambda expression- | HsLet HsBinds HsExp -- ^ local declarations with @let@- | HsDLet [HsIPBind] HsExp -- ^ local declarations of implicit parameters (hugs)- | HsWith HsExp [HsIPBind] -- ^ local declarations of implicit parameters- | HsIf HsExp HsExp HsExp -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/- | HsCase HsExp [HsAlt] -- ^ @case@ /exp/ @of@ /alts/- | HsDo [HsStmt] -- ^ @do@-expression:- -- the last statement in the list- -- should be an expression.- | HsMDo [HsStmt] -- ^ @mdo@-expression- | HsTuple [HsExp] -- ^ tuple expression- | HsList [HsExp] -- ^ list expression- | HsParen HsExp -- ^ parenthesized expression- | HsLeftSection HsExp HsQOp -- ^ left section @(@/exp/ /qop/@)@- | HsRightSection HsQOp HsExp -- ^ right section @(@/qop/ /exp/@)@- | HsRecConstr HsQName [HsFieldUpdate]- -- ^ record construction expression- | HsRecUpdate HsExp [HsFieldUpdate]- -- ^ record update expression- | HsEnumFrom HsExp -- ^ unbounded arithmetic sequence,- -- incrementing by 1- | HsEnumFromTo HsExp HsExp -- ^ bounded arithmetic sequence,- -- incrementing by 1- | HsEnumFromThen HsExp HsExp -- ^ unbounded arithmetic sequence,- -- with first two elements given- | HsEnumFromThenTo HsExp HsExp HsExp- -- ^ bounded arithmetic sequence,- -- with first two elements given- | HsListComp HsExp [HsStmt] -- ^ list comprehension- | HsExpTypeSig SrcLoc HsExp HsType- -- ^ expression type signature- | HsAsPat HsName HsExp -- ^ patterns only- | HsWildCard -- ^ patterns only- | HsIrrPat HsExp -- ^ patterns only+ = HsVar HsQName -- ^ variable+ | HsIPVar HsIPName -- ^ implicit parameter variable+ | HsCon HsQName -- ^ data constructor+ | HsLit HsLiteral -- ^ literal constant+ | HsInfixApp HsExp HsQOp HsExp -- ^ infix application+ | HsApp HsExp HsExp -- ^ ordinary application+ | HsNegApp HsExp -- ^ negation expression @-@ /exp/+ | HsLambda SrcLoc [HsPat] HsExp -- ^ lambda expression+ | HsLet HsBinds HsExp -- ^ local declarations with @let@+ | HsDLet [HsIPBind] HsExp -- ^ local declarations of implicit parameters (hugs)+ | HsWith HsExp [HsIPBind] -- ^ local declarations of implicit parameters+ | HsIf HsExp HsExp HsExp -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/+ | HsCase HsExp [HsAlt] -- ^ @case@ /exp/ @of@ /alts/+ | HsDo [HsStmt] -- ^ @do@-expression:+ -- the last statement in the list+ -- should be an expression.+ | HsMDo [HsStmt] -- ^ @mdo@-expression+ | HsTuple [HsExp] -- ^ tuple expression+ | HsList [HsExp] -- ^ list expression+ | HsParen HsExp -- ^ parenthesized expression+ | HsLeftSection HsExp HsQOp -- ^ left section @(@/exp/ /qop/@)@+ | HsRightSection HsQOp HsExp -- ^ right section @(@/qop/ /exp/@)@+ | HsRecConstr HsQName [HsFieldUpdate]+ -- ^ record construction expression+ | HsRecUpdate HsExp [HsFieldUpdate]+ -- ^ record update expression+ | HsEnumFrom HsExp -- ^ unbounded arithmetic sequence,+ -- incrementing by 1+ | HsEnumFromTo HsExp HsExp -- ^ bounded arithmetic sequence,+ -- incrementing by 1+ | HsEnumFromThen HsExp HsExp -- ^ unbounded arithmetic sequence,+ -- with first two elements given+ | HsEnumFromThenTo HsExp HsExp HsExp+ -- ^ bounded arithmetic sequence,+ -- with first two elements given+ | HsListComp HsExp [HsStmt] -- ^ list comprehension+ | HsExpTypeSig SrcLoc HsExp HsType+ -- ^ expression type signature+ | HsAsPat HsName HsExp -- ^ patterns only+ | HsWildCard -- ^ patterns only+ | HsIrrPat HsExp -- ^ patterns only +-- Post-ops for parsing left sections and regular patterns. Not to be left in the final tree.+ | HsPostOp HsExp HsQOp -- ^ post-ops+ -- HaRP- | HsRPats SrcLoc [HsExp] -- ^ regular patterns only- | HsSeqRP [HsExp] -- ^ regular patterns only- | HsStarRP HsExp -- ^ regular patterns only- | HsStarGRP HsExp -- ^ regular patterns only- | HsPlusRP HsExp -- ^ regular patterns only- | HsPlusGRP HsExp -- ^ regular patterns only- | HsOptRP HsExp -- ^ regular patterns only- | HsOptGRP HsExp -- ^ regular patterns only- | HsEitherRP HsExp HsExp -- ^ regular patterns only- | HsCAsRP HsName HsExp -- ^ regular patterns only- + | HsSeqRP [HsExp] -- ^ regular patterns only+ | HsGuardRP HsExp [HsStmt] -- ^ regular patterns only+ | HsEitherRP HsExp HsExp -- ^ regular patterns only+ | HsCAsRP HsName HsExp -- ^ regular patterns only+ -- Template Haskell- | HsReifyExp HsReify- | HsBracketExp HsBracket- | HsSpliceExp HsSplice- + | HsReifyExp HsReify+ | HsBracketExp HsBracket+ | HsSpliceExp HsSplice+ -- Hsx- | HsXTag SrcLoc HsXName [HsXAttr] (Maybe HsExp) [HsExp]- | HsXETag SrcLoc HsXName [HsXAttr] (Maybe HsExp)- | HsXPcdata String- | HsXExpTag HsExp+ | HsXTag SrcLoc HsXName [HsXAttr] (Maybe HsExp) [HsExp]+ | HsXETag SrcLoc HsXName [HsXAttr] (Maybe HsExp)+ | HsXPcdata String+ | HsXExpTag HsExp+ | HsXRPats [HsExp] #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -602,8 +600,8 @@ #endif data HsXName - = HsXName String -- <name ...- | HsXDomName String String -- <dom:name ...+ = HsXName String -- <name ...+ | HsXDomName String String -- <dom:name ... #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -618,9 +616,9 @@ #endif data HsReify - = HsReifyType HsQName- | HsReifyDecl HsQName- | HsReifyFixity HsQName+ = HsReifyType HsQName+ | HsReifyDecl HsQName+ | HsReifyFixity HsQName #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -628,10 +626,10 @@ #endif data HsBracket- = HsExpBracket HsExp- | HsPatBracket HsPat- | HsTypeBracket HsType- | HsDeclBracket [HsDecl]+ = HsExpBracket HsExp+ | HsPatBracket HsPat+ | HsTypeBracket HsType+ | HsDeclBracket [HsDecl] #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -639,8 +637,8 @@ #endif data HsSplice- = HsIdSplice String- | HsParenSplice HsExp+ = HsIdSplice String+ | HsParenSplice HsExp #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -650,8 +648,8 @@ -- FFI stuff data HsSafety- = PlayRisky- | PlaySafe Bool+ = PlayRisky+ | PlaySafe Bool #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -659,8 +657,8 @@ #endif data HsCallConv- = StdCall- | CCall+ = StdCall+ | CCall #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -671,41 +669,42 @@ -- | A pattern, to be matched against a value. data HsPat- = HsPVar HsName -- ^ variable- | HsPLit HsLiteral -- ^ literal constant- | HsPNeg HsPat -- ^ negated pattern- | HsPInfixApp HsPat HsQName HsPat- -- ^ pattern with infix data constructor- | HsPApp HsQName [HsPat] -- ^ data constructor and argument- -- patterns- | HsPTuple [HsPat] -- ^ tuple pattern- | HsPList [HsPat] -- ^ list pattern- | HsPParen HsPat -- ^ parenthesized pattern- | HsPRec HsQName [HsPatField] -- ^ labelled pattern- | HsPAsPat HsName HsPat -- ^ @\@@-pattern- | HsPWildCard -- ^ wildcard pattern (@_@)- | HsPIrrPat HsPat -- ^ irrefutable pattern (@~@)- | HsPatTypeSig SrcLoc HsPat HsType- -- ^ pattern type signature- + = HsPVar HsName -- ^ variable+ | HsPLit HsLiteral -- ^ literal constant+ | HsPNeg HsPat -- ^ negated pattern+ | HsPInfixApp HsPat HsQName HsPat+ -- ^ pattern with infix data constructor+ | HsPApp HsQName [HsPat] -- ^ data constructor and argument+ -- patterns+ | HsPTuple [HsPat] -- ^ tuple pattern+ | HsPList [HsPat] -- ^ list pattern+ | HsPParen HsPat -- ^ parenthesized pattern+ | HsPRec HsQName [HsPatField] -- ^ labelled pattern+ | HsPAsPat HsName HsPat -- ^ @\@@-pattern+ | HsPWildCard -- ^ wildcard pattern (@_@)+ | HsPIrrPat HsPat -- ^ irrefutable pattern (@~@)+ | HsPatTypeSig SrcLoc HsPat HsType+ -- ^ pattern type signature -- HaRP- | HsPRPat SrcLoc [HsRPat] -- ^ regular pattern (HaRP)+ | HsPRPat [HsRPat] -- ^ regular pattern (HaRP) -- Hsx- | HsPXTag SrcLoc HsXName [HsPXAttr] (Maybe HsPat) HsPat- -- ^ XML tag pattern- | HsPXETag SrcLoc HsXName [HsPXAttr] (Maybe HsPat)- -- ^ XML singleton tag pattern- | HsPXPcdata String- -- ^ XML PCDATA pattern- | HsPXPatTag HsPat- -- ^ XML embedded pattern+ | HsPXTag SrcLoc HsXName [HsPXAttr] (Maybe HsPat) [HsPat]+ -- ^ XML tag pattern+ | HsPXETag SrcLoc HsXName [HsPXAttr] (Maybe HsPat)+ -- ^ XML singleton tag pattern+ | HsPXPcdata String+ -- ^ XML PCDATA pattern+ | HsPXPatTag HsPat+ -- ^ XML embedded pattern+ | HsPXRPats [HsRPat]+ -- ^ XML regular list pattern #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else deriving (Eq,Show) #endif --- | An XML attribute in an XML tag pattern +-- | An XML attribute in an XML tag pattern data HsPXAttr = HsPXAttr HsXName HsPat #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data)@@ -713,20 +712,30 @@ deriving (Eq,Show) #endif +-- | A regular pattern operator (HaRP)+data HsRPatOp+ = HsRPStar+ | HsRPStarG+ | HsRPPlus+ | HsRPPlusG+ | HsRPOpt+ | HsRPOptG+#ifdef __GLASGOW_HASKELL__+ deriving (Eq,Show,Typeable,Data)+#else+ deriving (Eq,Show)+#endif+ -- | An entity in a regular pattern (HaRP) data HsRPat- = HsRPStar HsRPat- | HsRPStarG HsRPat- | HsRPPlus HsRPat- | HsRPPlusG HsRPat- | HsRPOpt HsRPat- | HsRPOptG HsRPat- | HsRPEither HsRPat HsRPat- | HsRPSeq [HsRPat]- | HsRPCAs HsName HsRPat- | HsRPAs HsName HsRPat- | HsRPParen HsRPat- | HsRPPat HsPat+ = HsRPOp HsRPat HsRPatOp+ | HsRPEither HsRPat HsRPat+ | HsRPSeq [HsRPat]+ | HsRPGuard HsPat [HsStmt]+ | HsRPCAs HsName HsRPat+ | HsRPAs HsName HsRPat+ | HsRPParen HsRPat+ | HsRPPat HsPat #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -735,7 +744,7 @@ -- | An /fpat/ in a labeled record pattern. data HsPatField- = HsPFieldPat HsQName HsPat+ = HsPFieldPat HsQName HsPat #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -746,12 +755,12 @@ -- and /qual/ in a list comprehension, as well as /stmt/ -- in a pattern guard. data HsStmt- = HsGenerator SrcLoc HsPat HsExp- -- ^ a generator /pat/ @<-@ /exp/- | HsQualifier HsExp -- ^ an /exp/ by itself: in a @do@-expression,- -- an action whose result is discarded;- -- in a list comprehension, a guard expression- | HsLetStmt HsBinds -- ^ local bindings+ = HsGenerator SrcLoc HsPat HsExp+ -- ^ a generator /pat/ @<-@ /exp/+ | HsQualifier HsExp -- ^ an /exp/ by itself: in a @do@-expression,+ -- an action whose result is discarded;+ -- in a list comprehension, a guard expression+ | HsLetStmt HsBinds -- ^ local bindings #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -760,7 +769,7 @@ -- | An /fbind/ in a labeled construction or update. data HsFieldUpdate- = HsFieldUpdate HsQName HsExp+ = HsFieldUpdate HsQName HsExp #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -769,7 +778,7 @@ -- | An /alt/ in a @case@ expression. data HsAlt- = HsAlt SrcLoc HsPat HsGuardedAlts HsBinds+ = HsAlt SrcLoc HsPat HsGuardedAlts HsBinds #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -777,8 +786,8 @@ #endif data HsGuardedAlts- = HsUnGuardedAlt HsExp -- ^ @->@ /exp/- | HsGuardedAlts [HsGuardedAlt] -- ^ /gdpat/+ = HsUnGuardedAlt HsExp -- ^ @->@ /exp/+ | HsGuardedAlts [HsGuardedAlt] -- ^ /gdpat/ #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -787,7 +796,7 @@ -- | A guarded alternative @|@ /stmt/, ... , /stmt/ @->@ /exp/. data HsGuardedAlt- = HsGuardedAlt SrcLoc [HsStmt] HsExp+ = HsGuardedAlt SrcLoc [HsStmt] HsExp #ifdef __GLASGOW_HASKELL__ deriving (Eq,Show,Typeable,Data) #else@@ -798,43 +807,43 @@ -- Builtin names. prelude_mod, main_mod :: Module-prelude_mod = Module "Prelude"-main_mod = Module "Main"+prelude_mod = Module "Prelude"+main_mod = Module "Main" main_name :: HsName-main_name = HsIdent "main"+main_name = HsIdent "main" unit_con_name :: HsQName-unit_con_name = Special HsUnitCon+unit_con_name = Special HsUnitCon tuple_con_name :: Int -> HsQName tuple_con_name i = Special (HsTupleCon (i+1)) list_cons_name :: HsQName-list_cons_name = Special HsCons+list_cons_name = Special HsCons unit_con :: HsExp-unit_con = HsCon unit_con_name+unit_con = HsCon unit_con_name tuple_con :: Int -> HsExp-tuple_con i = HsCon (tuple_con_name i)+tuple_con i = HsCon (tuple_con_name i) as_name, qualified_name, hiding_name, minus_name, pling_name, dot_name, star_name :: HsName-as_name = HsIdent "as"+as_name = HsIdent "as" qualified_name = HsIdent "qualified"-hiding_name = HsIdent "hiding"-minus_name = HsSymbol "-"-pling_name = HsSymbol "!"-dot_name = HsSymbol "."+hiding_name = HsIdent "hiding"+minus_name = HsSymbol "-"+pling_name = HsSymbol "!"+dot_name = HsSymbol "." star_name = HsSymbol "*" export_name, safe_name, unsafe_name, threadsafe_name, stdcall_name, ccall_name :: HsName-export_name = HsIdent "export"-safe_name = HsIdent "safe"-unsafe_name = HsIdent "unsafe"-threadsafe_name = HsIdent "threadsafe"-stdcall_name = HsIdent "stdcall"-ccall_name = HsIdent "ccall"+export_name = HsIdent "export"+safe_name = HsIdent "safe"+unsafe_name = HsIdent "unsafe"+threadsafe_name = HsIdent "threadsafe"+stdcall_name = HsIdent "stdcall"+ccall_name = HsIdent "ccall" unit_tycon_name, fun_tycon_name, list_tycon_name :: HsQName unit_tycon_name = unit_con_name@@ -845,9 +854,9 @@ tuple_tycon_name i = tuple_con_name i unit_tycon, fun_tycon, list_tycon :: HsType-unit_tycon = HsTyCon unit_tycon_name-fun_tycon = HsTyCon fun_tycon_name-list_tycon = HsTyCon list_tycon_name+unit_tycon = HsTyCon unit_tycon_name+fun_tycon = HsTyCon fun_tycon_name+list_tycon = HsTyCon list_tycon_name tuple_tycon :: Int -> HsType-tuple_tycon i = HsTyCon (tuple_tycon_name i)+tuple_tycon i = HsTyCon (tuple_tycon_name i)
+ dist/build/Language/Haskell/Exts/Parser.hs view
@@ -0,0 +1,5819 @@+{-# OPTIONS -fglasgow-exts -cpp #-} +----------------------------------------------------------------------------- +-- | +-- Module : Language.Haskell.Exts.Parser +-- Original : Language.Haskell.Parser +-- Copyright : (c) Niklas Broberg 2004, +-- Original (c) Simon Marlow, Sven Panne 1997-2000 +-- License : BSD-style (see the file LICENSE.txt) +-- +-- Maintainer : Niklas Broberg, d00nibro@dtek.chalmers.se +-- Stability : experimental +-- Portability : portable +-- +-- +----------------------------------------------------------------------------- +module Language.Haskell.Exts.Parser ( + parseModule, parseModuleWithMode, + ParseMode(..), defaultParseMode, ParseResult(..)) where + +import Language.Haskell.Exts.Syntax +import Language.Haskell.Exts.ParseMonad +import Language.Haskell.Exts.Lexer +import Language.Haskell.Exts.ParseUtils +#if __GLASGOW_HASKELL__ >= 503 +import Data.Array +#else +import Array +#endif +#if __GLASGOW_HASKELL__ >= 503 +import GHC.Exts +#else +import GlaExts +#endif + +-- parser produced by Happy Version 1.17 + +newtype HappyAbsSyn = HappyAbsSyn HappyAny +#if __GLASGOW_HASKELL__ >= 607 +type HappyAny = GHC.Exts.Any +#else +type HappyAny = forall a . a +#endif +happyIn4 :: (HsModule) -> (HappyAbsSyn ) +happyIn4 x = unsafeCoerce# x +{-# INLINE happyIn4 #-} +happyOut4 :: (HappyAbsSyn ) -> (HsModule) +happyOut4 x = unsafeCoerce# x +{-# INLINE happyOut4 #-} +happyIn5 :: (HsExp) -> (HappyAbsSyn ) +happyIn5 x = unsafeCoerce# x +{-# INLINE happyIn5 #-} +happyOut5 :: (HappyAbsSyn ) -> (HsExp) +happyOut5 x = unsafeCoerce# x +{-# INLINE happyOut5 #-} +happyIn6 :: (HsModule) -> (HappyAbsSyn ) +happyIn6 x = unsafeCoerce# x +{-# INLINE happyIn6 #-} +happyOut6 :: (HappyAbsSyn ) -> (HsModule) +happyOut6 x = unsafeCoerce# x +{-# INLINE happyOut6 #-} +happyIn7 :: (([HsImportDecl],[HsDecl])) -> (HappyAbsSyn ) +happyIn7 x = unsafeCoerce# x +{-# INLINE happyIn7 #-} +happyOut7 :: (HappyAbsSyn ) -> (([HsImportDecl],[HsDecl])) +happyOut7 x = unsafeCoerce# x +{-# INLINE happyOut7 #-} +happyIn8 :: (([HsImportDecl],[HsDecl])) -> (HappyAbsSyn ) +happyIn8 x = unsafeCoerce# x +{-# INLINE happyIn8 #-} +happyOut8 :: (HappyAbsSyn ) -> (([HsImportDecl],[HsDecl])) +happyOut8 x = unsafeCoerce# x +{-# INLINE happyOut8 #-} +happyIn9 :: (()) -> (HappyAbsSyn ) +happyIn9 x = unsafeCoerce# x +{-# INLINE happyIn9 #-} +happyOut9 :: (HappyAbsSyn ) -> (()) +happyOut9 x = unsafeCoerce# x +{-# INLINE happyOut9 #-} +happyIn10 :: (()) -> (HappyAbsSyn ) +happyIn10 x = unsafeCoerce# x +{-# INLINE happyIn10 #-} +happyOut10 :: (HappyAbsSyn ) -> (()) +happyOut10 x = unsafeCoerce# x +{-# INLINE happyOut10 #-} +happyIn11 :: (Maybe [HsExportSpec]) -> (HappyAbsSyn ) +happyIn11 x = unsafeCoerce# x +{-# INLINE happyIn11 #-} +happyOut11 :: (HappyAbsSyn ) -> (Maybe [HsExportSpec]) +happyOut11 x = unsafeCoerce# x +{-# INLINE happyOut11 #-} +happyIn12 :: ([HsExportSpec]) -> (HappyAbsSyn ) +happyIn12 x = unsafeCoerce# x +{-# INLINE happyIn12 #-} +happyOut12 :: (HappyAbsSyn ) -> ([HsExportSpec]) +happyOut12 x = unsafeCoerce# x +{-# INLINE happyOut12 #-} +happyIn13 :: (()) -> (HappyAbsSyn ) +happyIn13 x = unsafeCoerce# x +{-# INLINE happyIn13 #-} +happyOut13 :: (HappyAbsSyn ) -> (()) +happyOut13 x = unsafeCoerce# x +{-# INLINE happyOut13 #-} +happyIn14 :: ([HsExportSpec]) -> (HappyAbsSyn ) +happyIn14 x = unsafeCoerce# x +{-# INLINE happyIn14 #-} +happyOut14 :: (HappyAbsSyn ) -> ([HsExportSpec]) +happyOut14 x = unsafeCoerce# x +{-# INLINE happyOut14 #-} +happyIn15 :: (HsExportSpec) -> (HappyAbsSyn ) +happyIn15 x = unsafeCoerce# x +{-# INLINE happyIn15 #-} +happyOut15 :: (HappyAbsSyn ) -> (HsExportSpec) +happyOut15 x = unsafeCoerce# x +{-# INLINE happyOut15 #-} +happyIn16 :: ([HsImportDecl]) -> (HappyAbsSyn ) +happyIn16 x = unsafeCoerce# x +{-# INLINE happyIn16 #-} +happyOut16 :: (HappyAbsSyn ) -> ([HsImportDecl]) +happyOut16 x = unsafeCoerce# x +{-# INLINE happyOut16 #-} +happyIn17 :: (HsImportDecl) -> (HappyAbsSyn ) +happyIn17 x = unsafeCoerce# x +{-# INLINE happyIn17 #-} +happyOut17 :: (HappyAbsSyn ) -> (HsImportDecl) +happyOut17 x = unsafeCoerce# x +{-# INLINE happyOut17 #-} +happyIn18 :: (Bool) -> (HappyAbsSyn ) +happyIn18 x = unsafeCoerce# x +{-# INLINE happyIn18 #-} +happyOut18 :: (HappyAbsSyn ) -> (Bool) +happyOut18 x = unsafeCoerce# x +{-# INLINE happyOut18 #-} +happyIn19 :: (Maybe Module) -> (HappyAbsSyn ) +happyIn19 x = unsafeCoerce# x +{-# INLINE happyIn19 #-} +happyOut19 :: (HappyAbsSyn ) -> (Maybe Module) +happyOut19 x = unsafeCoerce# x +{-# INLINE happyOut19 #-} +happyIn20 :: (Maybe (Bool, [HsImportSpec])) -> (HappyAbsSyn ) +happyIn20 x = unsafeCoerce# x +{-# INLINE happyIn20 #-} +happyOut20 :: (HappyAbsSyn ) -> (Maybe (Bool, [HsImportSpec])) +happyOut20 x = unsafeCoerce# x +{-# INLINE happyOut20 #-} +happyIn21 :: ((Bool, [HsImportSpec])) -> (HappyAbsSyn ) +happyIn21 x = unsafeCoerce# x +{-# INLINE happyIn21 #-} +happyOut21 :: (HappyAbsSyn ) -> ((Bool, [HsImportSpec])) +happyOut21 x = unsafeCoerce# x +{-# INLINE happyOut21 #-} +happyIn22 :: (Bool) -> (HappyAbsSyn ) +happyIn22 x = unsafeCoerce# x +{-# INLINE happyIn22 #-} +happyOut22 :: (HappyAbsSyn ) -> (Bool) +happyOut22 x = unsafeCoerce# x +{-# INLINE happyOut22 #-} +happyIn23 :: ([HsImportSpec]) -> (HappyAbsSyn ) +happyIn23 x = unsafeCoerce# x +{-# INLINE happyIn23 #-} +happyOut23 :: (HappyAbsSyn ) -> ([HsImportSpec]) +happyOut23 x = unsafeCoerce# x +{-# INLINE happyOut23 #-} +happyIn24 :: (HsImportSpec) -> (HappyAbsSyn ) +happyIn24 x = unsafeCoerce# x +{-# INLINE happyIn24 #-} +happyOut24 :: (HappyAbsSyn ) -> (HsImportSpec) +happyOut24 x = unsafeCoerce# x +{-# INLINE happyOut24 #-} +happyIn25 :: ([HsCName]) -> (HappyAbsSyn ) +happyIn25 x = unsafeCoerce# x +{-# INLINE happyIn25 #-} +happyOut25 :: (HappyAbsSyn ) -> ([HsCName]) +happyOut25 x = unsafeCoerce# x +{-# INLINE happyOut25 #-} +happyIn26 :: (HsCName) -> (HappyAbsSyn ) +happyIn26 x = unsafeCoerce# x +{-# INLINE happyIn26 #-} +happyOut26 :: (HappyAbsSyn ) -> (HsCName) +happyOut26 x = unsafeCoerce# x +{-# INLINE happyOut26 #-} +happyIn27 :: (HsDecl) -> (HappyAbsSyn ) +happyIn27 x = unsafeCoerce# x +{-# INLINE happyIn27 #-} +happyOut27 :: (HappyAbsSyn ) -> (HsDecl) +happyOut27 x = unsafeCoerce# x +{-# INLINE happyOut27 #-} +happyIn28 :: (Int) -> (HappyAbsSyn ) +happyIn28 x = unsafeCoerce# x +{-# INLINE happyIn28 #-} +happyOut28 :: (HappyAbsSyn ) -> (Int) +happyOut28 x = unsafeCoerce# x +{-# INLINE happyOut28 #-} +happyIn29 :: (HsAssoc) -> (HappyAbsSyn ) +happyIn29 x = unsafeCoerce# x +{-# INLINE happyIn29 #-} +happyOut29 :: (HappyAbsSyn ) -> (HsAssoc) +happyOut29 x = unsafeCoerce# x +{-# INLINE happyOut29 #-} +happyIn30 :: ([HsOp]) -> (HappyAbsSyn ) +happyIn30 x = unsafeCoerce# x +{-# INLINE happyIn30 #-} +happyOut30 :: (HappyAbsSyn ) -> ([HsOp]) +happyOut30 x = unsafeCoerce# x +{-# INLINE happyOut30 #-} +happyIn31 :: ([HsDecl]) -> (HappyAbsSyn ) +happyIn31 x = unsafeCoerce# x +{-# INLINE happyIn31 #-} +happyOut31 :: (HappyAbsSyn ) -> ([HsDecl]) +happyOut31 x = unsafeCoerce# x +{-# INLINE happyOut31 #-} +happyIn32 :: ([HsDecl]) -> (HappyAbsSyn ) +happyIn32 x = unsafeCoerce# x +{-# INLINE happyIn32 #-} +happyOut32 :: (HappyAbsSyn ) -> ([HsDecl]) +happyOut32 x = unsafeCoerce# x +{-# INLINE happyOut32 #-} +happyIn33 :: (HsDecl) -> (HappyAbsSyn ) +happyIn33 x = unsafeCoerce# x +{-# INLINE happyIn33 #-} +happyOut33 :: (HappyAbsSyn ) -> (HsDecl) +happyOut33 x = unsafeCoerce# x +{-# INLINE happyOut33 #-} +happyIn34 :: (DataOrNew) -> (HappyAbsSyn ) +happyIn34 x = unsafeCoerce# x +{-# INLINE happyIn34 #-} +happyOut34 :: (HappyAbsSyn ) -> (DataOrNew) +happyOut34 x = unsafeCoerce# x +{-# INLINE happyOut34 #-} +happyIn35 :: ([HsType]) -> (HappyAbsSyn ) +happyIn35 x = unsafeCoerce# x +{-# INLINE happyIn35 #-} +happyOut35 :: (HappyAbsSyn ) -> ([HsType]) +happyOut35 x = unsafeCoerce# x +{-# INLINE happyOut35 #-} +happyIn36 :: ([HsDecl]) -> (HappyAbsSyn ) +happyIn36 x = unsafeCoerce# x +{-# INLINE happyIn36 #-} +happyOut36 :: (HappyAbsSyn ) -> ([HsDecl]) +happyOut36 x = unsafeCoerce# x +{-# INLINE happyOut36 #-} +happyIn37 :: ([HsDecl]) -> (HappyAbsSyn ) +happyIn37 x = unsafeCoerce# x +{-# INLINE happyIn37 #-} +happyOut37 :: (HappyAbsSyn ) -> ([HsDecl]) +happyOut37 x = unsafeCoerce# x +{-# INLINE happyOut37 #-} +happyIn38 :: (HsDecl) -> (HappyAbsSyn ) +happyIn38 x = unsafeCoerce# x +{-# INLINE happyIn38 #-} +happyOut38 :: (HappyAbsSyn ) -> (HsDecl) +happyOut38 x = unsafeCoerce# x +{-# INLINE happyOut38 #-} +happyIn39 :: ([HsDecl]) -> (HappyAbsSyn ) +happyIn39 x = unsafeCoerce# x +{-# INLINE happyIn39 #-} +happyOut39 :: (HappyAbsSyn ) -> ([HsDecl]) +happyOut39 x = unsafeCoerce# x +{-# INLINE happyOut39 #-} +happyIn40 :: (HsDecl) -> (HappyAbsSyn ) +happyIn40 x = unsafeCoerce# x +{-# INLINE happyIn40 #-} +happyOut40 :: (HappyAbsSyn ) -> (HsDecl) +happyOut40 x = unsafeCoerce# x +{-# INLINE happyOut40 #-} +happyIn41 :: (HsBinds) -> (HappyAbsSyn ) +happyIn41 x = unsafeCoerce# x +{-# INLINE happyIn41 #-} +happyOut41 :: (HappyAbsSyn ) -> (HsBinds) +happyOut41 x = unsafeCoerce# x +{-# INLINE happyOut41 #-} +happyIn42 :: ([HsName]) -> (HappyAbsSyn ) +happyIn42 x = unsafeCoerce# x +{-# INLINE happyIn42 #-} +happyOut42 :: (HappyAbsSyn ) -> ([HsName]) +happyOut42 x = unsafeCoerce# x +{-# INLINE happyOut42 #-} +happyIn43 :: (HsCallConv) -> (HappyAbsSyn ) +happyIn43 x = unsafeCoerce# x +{-# INLINE happyIn43 #-} +happyOut43 :: (HappyAbsSyn ) -> (HsCallConv) +happyOut43 x = unsafeCoerce# x +{-# INLINE happyOut43 #-} +happyIn44 :: (HsSafety) -> (HappyAbsSyn ) +happyIn44 x = unsafeCoerce# x +{-# INLINE happyIn44 #-} +happyOut44 :: (HappyAbsSyn ) -> (HsSafety) +happyOut44 x = unsafeCoerce# x +{-# INLINE happyOut44 #-} +happyIn45 :: ((String, HsName, HsType)) -> (HappyAbsSyn ) +happyIn45 x = unsafeCoerce# x +{-# INLINE happyIn45 #-} +happyOut45 :: (HappyAbsSyn ) -> ((String, HsName, HsType)) +happyOut45 x = unsafeCoerce# x +{-# INLINE happyOut45 #-} +happyIn46 :: (HsType) -> (HappyAbsSyn ) +happyIn46 x = unsafeCoerce# x +{-# INLINE happyIn46 #-} +happyOut46 :: (HappyAbsSyn ) -> (HsType) +happyOut46 x = unsafeCoerce# x +{-# INLINE happyOut46 #-} +happyIn47 :: (HsType) -> (HappyAbsSyn ) +happyIn47 x = unsafeCoerce# x +{-# INLINE happyIn47 #-} +happyOut47 :: (HappyAbsSyn ) -> (HsType) +happyOut47 x = unsafeCoerce# x +{-# INLINE happyOut47 #-} +happyIn48 :: (HsType) -> (HappyAbsSyn ) +happyIn48 x = unsafeCoerce# x +{-# INLINE happyIn48 #-} +happyOut48 :: (HappyAbsSyn ) -> (HsType) +happyOut48 x = unsafeCoerce# x +{-# INLINE happyOut48 #-} +happyIn49 :: (HsType) -> (HappyAbsSyn ) +happyIn49 x = unsafeCoerce# x +{-# INLINE happyIn49 #-} +happyOut49 :: (HappyAbsSyn ) -> (HsType) +happyOut49 x = unsafeCoerce# x +{-# INLINE happyOut49 #-} +happyIn50 :: (HsQName) -> (HappyAbsSyn ) +happyIn50 x = unsafeCoerce# x +{-# INLINE happyIn50 #-} +happyOut50 :: (HappyAbsSyn ) -> (HsQName) +happyOut50 x = unsafeCoerce# x +{-# INLINE happyOut50 #-} +happyIn51 :: (HsQName) -> (HappyAbsSyn ) +happyIn51 x = unsafeCoerce# x +{-# INLINE happyIn51 #-} +happyOut51 :: (HappyAbsSyn ) -> (HsQName) +happyOut51 x = unsafeCoerce# x +{-# INLINE happyOut51 #-} +happyIn52 :: (HsType) -> (HappyAbsSyn ) +happyIn52 x = unsafeCoerce# x +{-# INLINE happyIn52 #-} +happyOut52 :: (HappyAbsSyn ) -> (HsType) +happyOut52 x = unsafeCoerce# x +{-# INLINE happyOut52 #-} +happyIn53 :: (HsContext) -> (HappyAbsSyn ) +happyIn53 x = unsafeCoerce# x +{-# INLINE happyIn53 #-} +happyOut53 :: (HappyAbsSyn ) -> (HsContext) +happyOut53 x = unsafeCoerce# x +{-# INLINE happyOut53 #-} +happyIn54 :: ([HsType]) -> (HappyAbsSyn ) +happyIn54 x = unsafeCoerce# x +{-# INLINE happyIn54 #-} +happyOut54 :: (HappyAbsSyn ) -> ([HsType]) +happyOut54 x = unsafeCoerce# x +{-# INLINE happyOut54 #-} +happyIn55 :: ([HsType]) -> (HappyAbsSyn ) +happyIn55 x = unsafeCoerce# x +{-# INLINE happyIn55 #-} +happyOut55 :: (HappyAbsSyn ) -> ([HsType]) +happyOut55 x = unsafeCoerce# x +{-# INLINE happyOut55 #-} +happyIn56 :: ([HsTyVarBind]) -> (HappyAbsSyn ) +happyIn56 x = unsafeCoerce# x +{-# INLINE happyIn56 #-} +happyOut56 :: (HappyAbsSyn ) -> ([HsTyVarBind]) +happyOut56 x = unsafeCoerce# x +{-# INLINE happyOut56 #-} +happyIn57 :: (HsTyVarBind) -> (HappyAbsSyn ) +happyIn57 x = unsafeCoerce# x +{-# INLINE happyIn57 #-} +happyOut57 :: (HappyAbsSyn ) -> (HsTyVarBind) +happyOut57 x = unsafeCoerce# x +{-# INLINE happyOut57 #-} +happyIn58 :: ([HsName]) -> (HappyAbsSyn ) +happyIn58 x = unsafeCoerce# x +{-# INLINE happyIn58 #-} +happyOut58 :: (HappyAbsSyn ) -> ([HsName]) +happyOut58 x = unsafeCoerce# x +{-# INLINE happyOut58 #-} +happyIn59 :: ([HsFunDep]) -> (HappyAbsSyn ) +happyIn59 x = unsafeCoerce# x +{-# INLINE happyIn59 #-} +happyOut59 :: (HappyAbsSyn ) -> ([HsFunDep]) +happyOut59 x = unsafeCoerce# x +{-# INLINE happyOut59 #-} +happyIn60 :: ([HsFunDep]) -> (HappyAbsSyn ) +happyIn60 x = unsafeCoerce# x +{-# INLINE happyIn60 #-} +happyOut60 :: (HappyAbsSyn ) -> ([HsFunDep]) +happyOut60 x = unsafeCoerce# x +{-# INLINE happyOut60 #-} +happyIn61 :: (HsFunDep) -> (HappyAbsSyn ) +happyIn61 x = unsafeCoerce# x +{-# INLINE happyIn61 #-} +happyOut61 :: (HappyAbsSyn ) -> (HsFunDep) +happyOut61 x = unsafeCoerce# x +{-# INLINE happyOut61 #-} +happyIn62 :: ([HsGadtDecl]) -> (HappyAbsSyn ) +happyIn62 x = unsafeCoerce# x +{-# INLINE happyIn62 #-} +happyOut62 :: (HappyAbsSyn ) -> ([HsGadtDecl]) +happyOut62 x = unsafeCoerce# x +{-# INLINE happyOut62 #-} +happyIn63 :: ([HsGadtDecl]) -> (HappyAbsSyn ) +happyIn63 x = unsafeCoerce# x +{-# INLINE happyIn63 #-} +happyOut63 :: (HappyAbsSyn ) -> ([HsGadtDecl]) +happyOut63 x = unsafeCoerce# x +{-# INLINE happyOut63 #-} +happyIn64 :: ([HsGadtDecl]) -> (HappyAbsSyn ) +happyIn64 x = unsafeCoerce# x +{-# INLINE happyIn64 #-} +happyOut64 :: (HappyAbsSyn ) -> ([HsGadtDecl]) +happyOut64 x = unsafeCoerce# x +{-# INLINE happyOut64 #-} +happyIn65 :: (HsGadtDecl) -> (HappyAbsSyn ) +happyIn65 x = unsafeCoerce# x +{-# INLINE happyIn65 #-} +happyOut65 :: (HappyAbsSyn ) -> (HsGadtDecl) +happyOut65 x = unsafeCoerce# x +{-# INLINE happyOut65 #-} +happyIn66 :: ([HsQualConDecl]) -> (HappyAbsSyn ) +happyIn66 x = unsafeCoerce# x +{-# INLINE happyIn66 #-} +happyOut66 :: (HappyAbsSyn ) -> ([HsQualConDecl]) +happyOut66 x = unsafeCoerce# x +{-# INLINE happyOut66 #-} +happyIn67 :: ([HsQualConDecl]) -> (HappyAbsSyn ) +happyIn67 x = unsafeCoerce# x +{-# INLINE happyIn67 #-} +happyOut67 :: (HappyAbsSyn ) -> ([HsQualConDecl]) +happyOut67 x = unsafeCoerce# x +{-# INLINE happyOut67 #-} +happyIn68 :: (HsQualConDecl) -> (HappyAbsSyn ) +happyIn68 x = unsafeCoerce# x +{-# INLINE happyIn68 #-} +happyOut68 :: (HappyAbsSyn ) -> (HsQualConDecl) +happyOut68 x = unsafeCoerce# x +{-# INLINE happyOut68 #-} +happyIn69 :: ([HsTyVarBind]) -> (HappyAbsSyn ) +happyIn69 x = unsafeCoerce# x +{-# INLINE happyIn69 #-} +happyOut69 :: (HappyAbsSyn ) -> ([HsTyVarBind]) +happyOut69 x = unsafeCoerce# x +{-# INLINE happyOut69 #-} +happyIn70 :: (HsConDecl) -> (HappyAbsSyn ) +happyIn70 x = unsafeCoerce# x +{-# INLINE happyIn70 #-} +happyOut70 :: (HappyAbsSyn ) -> (HsConDecl) +happyOut70 x = unsafeCoerce# x +{-# INLINE happyOut70 #-} +happyIn71 :: ((HsName, [HsBangType])) -> (HappyAbsSyn ) +happyIn71 x = unsafeCoerce# x +{-# INLINE happyIn71 #-} +happyOut71 :: (HappyAbsSyn ) -> ((HsName, [HsBangType])) +happyOut71 x = unsafeCoerce# x +{-# INLINE happyOut71 #-} +happyIn72 :: ((HsName, [HsBangType])) -> (HappyAbsSyn ) +happyIn72 x = unsafeCoerce# x +{-# INLINE happyIn72 #-} +happyOut72 :: (HappyAbsSyn ) -> ((HsName, [HsBangType])) +happyOut72 x = unsafeCoerce# x +{-# INLINE happyOut72 #-} +happyIn73 :: (HsBangType) -> (HappyAbsSyn ) +happyIn73 x = unsafeCoerce# x +{-# INLINE happyIn73 #-} +happyOut73 :: (HappyAbsSyn ) -> (HsBangType) +happyOut73 x = unsafeCoerce# x +{-# INLINE happyOut73 #-} +happyIn74 :: (HsBangType) -> (HappyAbsSyn ) +happyIn74 x = unsafeCoerce# x +{-# INLINE happyIn74 #-} +happyOut74 :: (HappyAbsSyn ) -> (HsBangType) +happyOut74 x = unsafeCoerce# x +{-# INLINE happyOut74 #-} +happyIn75 :: ([([HsName],HsBangType)]) -> (HappyAbsSyn ) +happyIn75 x = unsafeCoerce# x +{-# INLINE happyIn75 #-} +happyOut75 :: (HappyAbsSyn ) -> ([([HsName],HsBangType)]) +happyOut75 x = unsafeCoerce# x +{-# INLINE happyOut75 #-} +happyIn76 :: (([HsName],HsBangType)) -> (HappyAbsSyn ) +happyIn76 x = unsafeCoerce# x +{-# INLINE happyIn76 #-} +happyOut76 :: (HappyAbsSyn ) -> (([HsName],HsBangType)) +happyOut76 x = unsafeCoerce# x +{-# INLINE happyOut76 #-} +happyIn77 :: (HsBangType) -> (HappyAbsSyn ) +happyIn77 x = unsafeCoerce# x +{-# INLINE happyIn77 #-} +happyOut77 :: (HappyAbsSyn ) -> (HsBangType) +happyOut77 x = unsafeCoerce# x +{-# INLINE happyOut77 #-} +happyIn78 :: ([HsQName]) -> (HappyAbsSyn ) +happyIn78 x = unsafeCoerce# x +{-# INLINE happyIn78 #-} +happyOut78 :: (HappyAbsSyn ) -> ([HsQName]) +happyOut78 x = unsafeCoerce# x +{-# INLINE happyOut78 #-} +happyIn79 :: ([HsQName]) -> (HappyAbsSyn ) +happyIn79 x = unsafeCoerce# x +{-# INLINE happyIn79 #-} +happyOut79 :: (HappyAbsSyn ) -> ([HsQName]) +happyOut79 x = unsafeCoerce# x +{-# INLINE happyOut79 #-} +happyIn80 :: (HsKind) -> (HappyAbsSyn ) +happyIn80 x = unsafeCoerce# x +{-# INLINE happyIn80 #-} +happyOut80 :: (HappyAbsSyn ) -> (HsKind) +happyOut80 x = unsafeCoerce# x +{-# INLINE happyOut80 #-} +happyIn81 :: (HsKind) -> (HappyAbsSyn ) +happyIn81 x = unsafeCoerce# x +{-# INLINE happyIn81 #-} +happyOut81 :: (HappyAbsSyn ) -> (HsKind) +happyOut81 x = unsafeCoerce# x +{-# INLINE happyOut81 #-} +happyIn82 :: (Maybe HsKind) -> (HappyAbsSyn ) +happyIn82 x = unsafeCoerce# x +{-# INLINE happyIn82 #-} +happyOut82 :: (HappyAbsSyn ) -> (Maybe HsKind) +happyOut82 x = unsafeCoerce# x +{-# INLINE happyOut82 #-} +happyIn83 :: ([HsClassDecl]) -> (HappyAbsSyn ) +happyIn83 x = unsafeCoerce# x +{-# INLINE happyIn83 #-} +happyOut83 :: (HappyAbsSyn ) -> ([HsClassDecl]) +happyOut83 x = unsafeCoerce# x +{-# INLINE happyOut83 #-} +happyIn84 :: ([HsClassDecl]) -> (HappyAbsSyn ) +happyIn84 x = unsafeCoerce# x +{-# INLINE happyIn84 #-} +happyOut84 :: (HappyAbsSyn ) -> ([HsClassDecl]) +happyOut84 x = unsafeCoerce# x +{-# INLINE happyOut84 #-} +happyIn85 :: ([HsClassDecl]) -> (HappyAbsSyn ) +happyIn85 x = unsafeCoerce# x +{-# INLINE happyIn85 #-} +happyOut85 :: (HappyAbsSyn ) -> ([HsClassDecl]) +happyOut85 x = unsafeCoerce# x +{-# INLINE happyOut85 #-} +happyIn86 :: ([HsClassDecl]) -> (HappyAbsSyn ) +happyIn86 x = unsafeCoerce# x +{-# INLINE happyIn86 #-} +happyOut86 :: (HappyAbsSyn ) -> ([HsClassDecl]) +happyOut86 x = unsafeCoerce# x +{-# INLINE happyOut86 #-} +happyIn87 :: (HsClassDecl) -> (HappyAbsSyn ) +happyIn87 x = unsafeCoerce# x +{-# INLINE happyIn87 #-} +happyOut87 :: (HappyAbsSyn ) -> (HsClassDecl) +happyOut87 x = unsafeCoerce# x +{-# INLINE happyOut87 #-} +happyIn88 :: (HsClassDecl) -> (HappyAbsSyn ) +happyIn88 x = unsafeCoerce# x +{-# INLINE happyIn88 #-} +happyOut88 :: (HappyAbsSyn ) -> (HsClassDecl) +happyOut88 x = unsafeCoerce# x +{-# INLINE happyOut88 #-} +happyIn89 :: ([HsInstDecl]) -> (HappyAbsSyn ) +happyIn89 x = unsafeCoerce# x +{-# INLINE happyIn89 #-} +happyOut89 :: (HappyAbsSyn ) -> ([HsInstDecl]) +happyOut89 x = unsafeCoerce# x +{-# INLINE happyOut89 #-} +happyIn90 :: ([HsInstDecl]) -> (HappyAbsSyn ) +happyIn90 x = unsafeCoerce# x +{-# INLINE happyIn90 #-} +happyOut90 :: (HappyAbsSyn ) -> ([HsInstDecl]) +happyOut90 x = unsafeCoerce# x +{-# INLINE happyOut90 #-} +happyIn91 :: ([HsInstDecl]) -> (HappyAbsSyn ) +happyIn91 x = unsafeCoerce# x +{-# INLINE happyIn91 #-} +happyOut91 :: (HappyAbsSyn ) -> ([HsInstDecl]) +happyOut91 x = unsafeCoerce# x +{-# INLINE happyOut91 #-} +happyIn92 :: (HsInstDecl) -> (HappyAbsSyn ) +happyIn92 x = unsafeCoerce# x +{-# INLINE happyIn92 #-} +happyOut92 :: (HappyAbsSyn ) -> (HsInstDecl) +happyOut92 x = unsafeCoerce# x +{-# INLINE happyOut92 #-} +happyIn93 :: (HsInstDecl) -> (HappyAbsSyn ) +happyIn93 x = unsafeCoerce# x +{-# INLINE happyIn93 #-} +happyOut93 :: (HappyAbsSyn ) -> (HsInstDecl) +happyOut93 x = unsafeCoerce# x +{-# INLINE happyOut93 #-} +happyIn94 :: (HsDecl) -> (HappyAbsSyn ) +happyIn94 x = unsafeCoerce# x +{-# INLINE happyIn94 #-} +happyOut94 :: (HappyAbsSyn ) -> (HsDecl) +happyOut94 x = unsafeCoerce# x +{-# INLINE happyOut94 #-} +happyIn95 :: (HsBinds) -> (HappyAbsSyn ) +happyIn95 x = unsafeCoerce# x +{-# INLINE happyIn95 #-} +happyOut95 :: (HappyAbsSyn ) -> (HsBinds) +happyOut95 x = unsafeCoerce# x +{-# INLINE happyOut95 #-} +happyIn96 :: (HsRhs) -> (HappyAbsSyn ) +happyIn96 x = unsafeCoerce# x +{-# INLINE happyIn96 #-} +happyOut96 :: (HappyAbsSyn ) -> (HsRhs) +happyOut96 x = unsafeCoerce# x +{-# INLINE happyOut96 #-} +happyIn97 :: ([HsGuardedRhs]) -> (HappyAbsSyn ) +happyIn97 x = unsafeCoerce# x +{-# INLINE happyIn97 #-} +happyOut97 :: (HappyAbsSyn ) -> ([HsGuardedRhs]) +happyOut97 x = unsafeCoerce# x +{-# INLINE happyOut97 #-} +happyIn98 :: (HsGuardedRhs) -> (HappyAbsSyn ) +happyIn98 x = unsafeCoerce# x +{-# INLINE happyIn98 #-} +happyOut98 :: (HappyAbsSyn ) -> (HsGuardedRhs) +happyOut98 x = unsafeCoerce# x +{-# INLINE happyOut98 #-} +happyIn99 :: (HsExp) -> (HappyAbsSyn ) +happyIn99 x = unsafeCoerce# x +{-# INLINE happyIn99 #-} +happyOut99 :: (HappyAbsSyn ) -> (HsExp) +happyOut99 x = unsafeCoerce# x +{-# INLINE happyOut99 #-} +happyIn100 :: (HsExp) -> (HappyAbsSyn ) +happyIn100 x = unsafeCoerce# x +{-# INLINE happyIn100 #-} +happyOut100 :: (HappyAbsSyn ) -> (HsExp) +happyOut100 x = unsafeCoerce# x +{-# INLINE happyOut100 #-} +happyIn101 :: (HsExp) -> (HappyAbsSyn ) +happyIn101 x = unsafeCoerce# x +{-# INLINE happyIn101 #-} +happyOut101 :: (HappyAbsSyn ) -> (HsExp) +happyOut101 x = unsafeCoerce# x +{-# INLINE happyOut101 #-} +happyIn102 :: (HsExp) -> (HappyAbsSyn ) +happyIn102 x = unsafeCoerce# x +{-# INLINE happyIn102 #-} +happyOut102 :: (HappyAbsSyn ) -> (HsExp) +happyOut102 x = unsafeCoerce# x +{-# INLINE happyOut102 #-} +happyIn103 :: (HsExp) -> (HappyAbsSyn ) +happyIn103 x = unsafeCoerce# x +{-# INLINE happyIn103 #-} +happyOut103 :: (HappyAbsSyn ) -> (HsExp) +happyOut103 x = unsafeCoerce# x +{-# INLINE happyOut103 #-} +happyIn104 :: (HsExp) -> (HappyAbsSyn ) +happyIn104 x = unsafeCoerce# x +{-# INLINE happyIn104 #-} +happyOut104 :: (HappyAbsSyn ) -> (HsExp) +happyOut104 x = unsafeCoerce# x +{-# INLINE happyOut104 #-} +happyIn105 :: (HsExp) -> (HappyAbsSyn ) +happyIn105 x = unsafeCoerce# x +{-# INLINE happyIn105 #-} +happyOut105 :: (HappyAbsSyn ) -> (HsExp) +happyOut105 x = unsafeCoerce# x +{-# INLINE happyOut105 #-} +happyIn106 :: ([HsPat]) -> (HappyAbsSyn ) +happyIn106 x = unsafeCoerce# x +{-# INLINE happyIn106 #-} +happyOut106 :: (HappyAbsSyn ) -> ([HsPat]) +happyOut106 x = unsafeCoerce# x +{-# INLINE happyOut106 #-} +happyIn107 :: (HsPat) -> (HappyAbsSyn ) +happyIn107 x = unsafeCoerce# x +{-# INLINE happyIn107 #-} +happyOut107 :: (HappyAbsSyn ) -> (HsPat) +happyOut107 x = unsafeCoerce# x +{-# INLINE happyOut107 #-} +happyIn108 :: (HsExp) -> (HappyAbsSyn ) +happyIn108 x = unsafeCoerce# x +{-# INLINE happyIn108 #-} +happyOut108 :: (HappyAbsSyn ) -> (HsExp) +happyOut108 x = unsafeCoerce# x +{-# INLINE happyOut108 #-} +happyIn109 :: (HsExp) -> (HappyAbsSyn ) +happyIn109 x = unsafeCoerce# x +{-# INLINE happyIn109 #-} +happyOut109 :: (HappyAbsSyn ) -> (HsExp) +happyOut109 x = unsafeCoerce# x +{-# INLINE happyOut109 #-} +happyIn110 :: (HsExp) -> (HappyAbsSyn ) +happyIn110 x = unsafeCoerce# x +{-# INLINE happyIn110 #-} +happyOut110 :: (HappyAbsSyn ) -> (HsExp) +happyOut110 x = unsafeCoerce# x +{-# INLINE happyOut110 #-} +happyIn111 :: (HsReify) -> (HappyAbsSyn ) +happyIn111 x = unsafeCoerce# x +{-# INLINE happyIn111 #-} +happyOut111 :: (HappyAbsSyn ) -> (HsReify) +happyOut111 x = unsafeCoerce# x +{-# INLINE happyOut111 #-} +happyIn112 :: (HsQName) -> (HappyAbsSyn ) +happyIn112 x = unsafeCoerce# x +{-# INLINE happyIn112 #-} +happyOut112 :: (HappyAbsSyn ) -> (HsQName) +happyOut112 x = unsafeCoerce# x +{-# INLINE happyOut112 #-} +happyIn113 :: (Int) -> (HappyAbsSyn ) +happyIn113 x = unsafeCoerce# x +{-# INLINE happyIn113 #-} +happyOut113 :: (HappyAbsSyn ) -> (Int) +happyOut113 x = unsafeCoerce# x +{-# INLINE happyOut113 #-} +happyIn114 :: ([HsExp]) -> (HappyAbsSyn ) +happyIn114 x = unsafeCoerce# x +{-# INLINE happyIn114 #-} +happyOut114 :: (HappyAbsSyn ) -> ([HsExp]) +happyOut114 x = unsafeCoerce# x +{-# INLINE happyOut114 #-} +happyIn115 :: ([HsExp]) -> (HappyAbsSyn ) +happyIn115 x = unsafeCoerce# x +{-# INLINE happyIn115 #-} +happyOut115 :: (HappyAbsSyn ) -> ([HsExp]) +happyOut115 x = unsafeCoerce# x +{-# INLINE happyOut115 #-} +happyIn116 :: (HsExp) -> (HappyAbsSyn ) +happyIn116 x = unsafeCoerce# x +{-# INLINE happyIn116 #-} +happyOut116 :: (HappyAbsSyn ) -> (HsExp) +happyOut116 x = unsafeCoerce# x +{-# INLINE happyOut116 #-} +happyIn117 :: (HsExp) -> (HappyAbsSyn ) +happyIn117 x = unsafeCoerce# x +{-# INLINE happyIn117 #-} +happyOut117 :: (HappyAbsSyn ) -> (HsExp) +happyOut117 x = unsafeCoerce# x +{-# INLINE happyOut117 #-} +happyIn118 :: ([HsExp]) -> (HappyAbsSyn ) +happyIn118 x = unsafeCoerce# x +{-# INLINE happyIn118 #-} +happyOut118 :: (HappyAbsSyn ) -> ([HsExp]) +happyOut118 x = unsafeCoerce# x +{-# INLINE happyOut118 #-} +happyIn119 :: (HsExp) -> (HappyAbsSyn ) +happyIn119 x = unsafeCoerce# x +{-# INLINE happyIn119 #-} +happyOut119 :: (HappyAbsSyn ) -> (HsExp) +happyOut119 x = unsafeCoerce# x +{-# INLINE happyOut119 #-} +happyIn120 :: (HsXName) -> (HappyAbsSyn ) +happyIn120 x = unsafeCoerce# x +{-# INLINE happyIn120 #-} +happyOut120 :: (HappyAbsSyn ) -> (HsXName) +happyOut120 x = unsafeCoerce# x +{-# INLINE happyOut120 #-} +happyIn121 :: (String) -> (HappyAbsSyn ) +happyIn121 x = unsafeCoerce# x +{-# INLINE happyIn121 #-} +happyOut121 :: (HappyAbsSyn ) -> (String) +happyOut121 x = unsafeCoerce# x +{-# INLINE happyOut121 #-} +happyIn122 :: ([HsXAttr]) -> (HappyAbsSyn ) +happyIn122 x = unsafeCoerce# x +{-# INLINE happyIn122 #-} +happyOut122 :: (HappyAbsSyn ) -> ([HsXAttr]) +happyOut122 x = unsafeCoerce# x +{-# INLINE happyOut122 #-} +happyIn123 :: (HsXAttr) -> (HappyAbsSyn ) +happyIn123 x = unsafeCoerce# x +{-# INLINE happyIn123 #-} +happyOut123 :: (HappyAbsSyn ) -> (HsXAttr) +happyOut123 x = unsafeCoerce# x +{-# INLINE happyOut123 #-} +happyIn124 :: (Maybe HsExp) -> (HappyAbsSyn ) +happyIn124 x = unsafeCoerce# x +{-# INLINE happyIn124 #-} +happyOut124 :: (HappyAbsSyn ) -> (Maybe HsExp) +happyOut124 x = unsafeCoerce# x +{-# INLINE happyOut124 #-} +happyIn125 :: (HsExp) -> (HappyAbsSyn ) +happyIn125 x = unsafeCoerce# x +{-# INLINE happyIn125 #-} +happyOut125 :: (HappyAbsSyn ) -> (HsExp) +happyOut125 x = unsafeCoerce# x +{-# INLINE happyOut125 #-} +happyIn126 :: (HsExp) -> (HappyAbsSyn ) +happyIn126 x = unsafeCoerce# x +{-# INLINE happyIn126 #-} +happyOut126 :: (HappyAbsSyn ) -> (HsExp) +happyOut126 x = unsafeCoerce# x +{-# INLINE happyOut126 #-} +happyIn127 :: ([HsExp]) -> (HappyAbsSyn ) +happyIn127 x = unsafeCoerce# x +{-# INLINE happyIn127 #-} +happyOut127 :: (HappyAbsSyn ) -> ([HsExp]) +happyOut127 x = unsafeCoerce# x +{-# INLINE happyOut127 #-} +happyIn128 :: ([HsStmt]) -> (HappyAbsSyn ) +happyIn128 x = unsafeCoerce# x +{-# INLINE happyIn128 #-} +happyOut128 :: (HappyAbsSyn ) -> ([HsStmt]) +happyOut128 x = unsafeCoerce# x +{-# INLINE happyOut128 #-} +happyIn129 :: (HsStmt) -> (HappyAbsSyn ) +happyIn129 x = unsafeCoerce# x +{-# INLINE happyIn129 #-} +happyOut129 :: (HappyAbsSyn ) -> (HsStmt) +happyOut129 x = unsafeCoerce# x +{-# INLINE happyOut129 #-} +happyIn130 :: ([HsAlt]) -> (HappyAbsSyn ) +happyIn130 x = unsafeCoerce# x +{-# INLINE happyIn130 #-} +happyOut130 :: (HappyAbsSyn ) -> ([HsAlt]) +happyOut130 x = unsafeCoerce# x +{-# INLINE happyOut130 #-} +happyIn131 :: ([HsAlt]) -> (HappyAbsSyn ) +happyIn131 x = unsafeCoerce# x +{-# INLINE happyIn131 #-} +happyOut131 :: (HappyAbsSyn ) -> ([HsAlt]) +happyOut131 x = unsafeCoerce# x +{-# INLINE happyOut131 #-} +happyIn132 :: ([HsAlt]) -> (HappyAbsSyn ) +happyIn132 x = unsafeCoerce# x +{-# INLINE happyIn132 #-} +happyOut132 :: (HappyAbsSyn ) -> ([HsAlt]) +happyOut132 x = unsafeCoerce# x +{-# INLINE happyOut132 #-} +happyIn133 :: (HsAlt) -> (HappyAbsSyn ) +happyIn133 x = unsafeCoerce# x +{-# INLINE happyIn133 #-} +happyOut133 :: (HappyAbsSyn ) -> (HsAlt) +happyOut133 x = unsafeCoerce# x +{-# INLINE happyOut133 #-} +happyIn134 :: (HsGuardedAlts) -> (HappyAbsSyn ) +happyIn134 x = unsafeCoerce# x +{-# INLINE happyIn134 #-} +happyOut134 :: (HappyAbsSyn ) -> (HsGuardedAlts) +happyOut134 x = unsafeCoerce# x +{-# INLINE happyOut134 #-} +happyIn135 :: ([HsGuardedAlt]) -> (HappyAbsSyn ) +happyIn135 x = unsafeCoerce# x +{-# INLINE happyIn135 #-} +happyOut135 :: (HappyAbsSyn ) -> ([HsGuardedAlt]) +happyOut135 x = unsafeCoerce# x +{-# INLINE happyOut135 #-} +happyIn136 :: (HsGuardedAlt) -> (HappyAbsSyn ) +happyIn136 x = unsafeCoerce# x +{-# INLINE happyIn136 #-} +happyOut136 :: (HappyAbsSyn ) -> (HsGuardedAlt) +happyOut136 x = unsafeCoerce# x +{-# INLINE happyOut136 #-} +happyIn137 :: (HsPat) -> (HappyAbsSyn ) +happyIn137 x = unsafeCoerce# x +{-# INLINE happyIn137 #-} +happyOut137 :: (HappyAbsSyn ) -> (HsPat) +happyOut137 x = unsafeCoerce# x +{-# INLINE happyOut137 #-} +happyIn138 :: ([HsStmt]) -> (HappyAbsSyn ) +happyIn138 x = unsafeCoerce# x +{-# INLINE happyIn138 #-} +happyOut138 :: (HappyAbsSyn ) -> ([HsStmt]) +happyOut138 x = unsafeCoerce# x +{-# INLINE happyOut138 #-} +happyIn139 :: ([HsStmt]) -> (HappyAbsSyn ) +happyIn139 x = unsafeCoerce# x +{-# INLINE happyIn139 #-} +happyOut139 :: (HappyAbsSyn ) -> ([HsStmt]) +happyOut139 x = unsafeCoerce# x +{-# INLINE happyOut139 #-} +happyIn140 :: ([HsFieldUpdate]) -> (HappyAbsSyn ) +happyIn140 x = unsafeCoerce# x +{-# INLINE happyIn140 #-} +happyOut140 :: (HappyAbsSyn ) -> ([HsFieldUpdate]) +happyOut140 x = unsafeCoerce# x +{-# INLINE happyOut140 #-} +happyIn141 :: (HsFieldUpdate) -> (HappyAbsSyn ) +happyIn141 x = unsafeCoerce# x +{-# INLINE happyIn141 #-} +happyOut141 :: (HappyAbsSyn ) -> (HsFieldUpdate) +happyOut141 x = unsafeCoerce# x +{-# INLINE happyOut141 #-} +happyIn142 :: ([HsIPBind]) -> (HappyAbsSyn ) +happyIn142 x = unsafeCoerce# x +{-# INLINE happyIn142 #-} +happyOut142 :: (HappyAbsSyn ) -> ([HsIPBind]) +happyOut142 x = unsafeCoerce# x +{-# INLINE happyOut142 #-} +happyIn143 :: ([HsIPBind]) -> (HappyAbsSyn ) +happyIn143 x = unsafeCoerce# x +{-# INLINE happyIn143 #-} +happyOut143 :: (HappyAbsSyn ) -> ([HsIPBind]) +happyOut143 x = unsafeCoerce# x +{-# INLINE happyOut143 #-} +happyIn144 :: ([HsIPBind]) -> (HappyAbsSyn ) +happyIn144 x = unsafeCoerce# x +{-# INLINE happyIn144 #-} +happyOut144 :: (HappyAbsSyn ) -> ([HsIPBind]) +happyOut144 x = unsafeCoerce# x +{-# INLINE happyOut144 #-} +happyIn145 :: (HsIPBind) -> (HappyAbsSyn ) +happyIn145 x = unsafeCoerce# x +{-# INLINE happyIn145 #-} +happyOut145 :: (HappyAbsSyn ) -> (HsIPBind) +happyOut145 x = unsafeCoerce# x +{-# INLINE happyOut145 #-} +happyIn146 :: (HsExp) -> (HappyAbsSyn ) +happyIn146 x = unsafeCoerce# x +{-# INLINE happyIn146 #-} +happyOut146 :: (HappyAbsSyn ) -> (HsExp) +happyOut146 x = unsafeCoerce# x +{-# INLINE happyOut146 #-} +happyIn147 :: (HsName) -> (HappyAbsSyn ) +happyIn147 x = unsafeCoerce# x +{-# INLINE happyIn147 #-} +happyOut147 :: (HappyAbsSyn ) -> (HsName) +happyOut147 x = unsafeCoerce# x +{-# INLINE happyOut147 #-} +happyIn148 :: (HsName) -> (HappyAbsSyn ) +happyIn148 x = unsafeCoerce# x +{-# INLINE happyIn148 #-} +happyOut148 :: (HappyAbsSyn ) -> (HsName) +happyOut148 x = unsafeCoerce# x +{-# INLINE happyOut148 #-} +happyIn149 :: (HsQName) -> (HappyAbsSyn ) +happyIn149 x = unsafeCoerce# x +{-# INLINE happyIn149 #-} +happyOut149 :: (HappyAbsSyn ) -> (HsQName) +happyOut149 x = unsafeCoerce# x +{-# INLINE happyOut149 #-} +happyIn150 :: (HsIPName) -> (HappyAbsSyn ) +happyIn150 x = unsafeCoerce# x +{-# INLINE happyIn150 #-} +happyOut150 :: (HappyAbsSyn ) -> (HsIPName) +happyOut150 x = unsafeCoerce# x +{-# INLINE happyOut150 #-} +happyIn151 :: (HsName) -> (HappyAbsSyn ) +happyIn151 x = unsafeCoerce# x +{-# INLINE happyIn151 #-} +happyOut151 :: (HappyAbsSyn ) -> (HsName) +happyOut151 x = unsafeCoerce# x +{-# INLINE happyOut151 #-} +happyIn152 :: (HsQName) -> (HappyAbsSyn ) +happyIn152 x = unsafeCoerce# x +{-# INLINE happyIn152 #-} +happyOut152 :: (HappyAbsSyn ) -> (HsQName) +happyOut152 x = unsafeCoerce# x +{-# INLINE happyOut152 #-} +happyIn153 :: (HsName) -> (HappyAbsSyn ) +happyIn153 x = unsafeCoerce# x +{-# INLINE happyIn153 #-} +happyOut153 :: (HappyAbsSyn ) -> (HsName) +happyOut153 x = unsafeCoerce# x +{-# INLINE happyOut153 #-} +happyIn154 :: (HsQName) -> (HappyAbsSyn ) +happyIn154 x = unsafeCoerce# x +{-# INLINE happyIn154 #-} +happyOut154 :: (HappyAbsSyn ) -> (HsQName) +happyOut154 x = unsafeCoerce# x +{-# INLINE happyOut154 #-} +happyIn155 :: (HsQName) -> (HappyAbsSyn ) +happyIn155 x = unsafeCoerce# x +{-# INLINE happyIn155 #-} +happyOut155 :: (HappyAbsSyn ) -> (HsQName) +happyOut155 x = unsafeCoerce# x +{-# INLINE happyOut155 #-} +happyIn156 :: (HsName) -> (HappyAbsSyn ) +happyIn156 x = unsafeCoerce# x +{-# INLINE happyIn156 #-} +happyOut156 :: (HappyAbsSyn ) -> (HsName) +happyOut156 x = unsafeCoerce# x +{-# INLINE happyOut156 #-} +happyIn157 :: (HsQName) -> (HappyAbsSyn ) +happyIn157 x = unsafeCoerce# x +{-# INLINE happyIn157 #-} +happyOut157 :: (HappyAbsSyn ) -> (HsQName) +happyOut157 x = unsafeCoerce# x +{-# INLINE happyOut157 #-} +happyIn158 :: (HsOp) -> (HappyAbsSyn ) +happyIn158 x = unsafeCoerce# x +{-# INLINE happyIn158 #-} +happyOut158 :: (HappyAbsSyn ) -> (HsOp) +happyOut158 x = unsafeCoerce# x +{-# INLINE happyOut158 #-} +happyIn159 :: (HsQOp) -> (HappyAbsSyn ) +happyIn159 x = unsafeCoerce# x +{-# INLINE happyIn159 #-} +happyOut159 :: (HappyAbsSyn ) -> (HsQOp) +happyOut159 x = unsafeCoerce# x +{-# INLINE happyOut159 #-} +happyIn160 :: (HsQOp) -> (HappyAbsSyn ) +happyIn160 x = unsafeCoerce# x +{-# INLINE happyIn160 #-} +happyOut160 :: (HappyAbsSyn ) -> (HsQOp) +happyOut160 x = unsafeCoerce# x +{-# INLINE happyOut160 #-} +happyIn161 :: (HsQName) -> (HappyAbsSyn ) +happyIn161 x = unsafeCoerce# x +{-# INLINE happyIn161 #-} +happyOut161 :: (HappyAbsSyn ) -> (HsQName) +happyOut161 x = unsafeCoerce# x +{-# INLINE happyOut161 #-} +happyIn162 :: (HsQName) -> (HappyAbsSyn ) +happyIn162 x = unsafeCoerce# x +{-# INLINE happyIn162 #-} +happyOut162 :: (HappyAbsSyn ) -> (HsQName) +happyOut162 x = unsafeCoerce# x +{-# INLINE happyOut162 #-} +happyIn163 :: (HsName) -> (HappyAbsSyn ) +happyIn163 x = unsafeCoerce# x +{-# INLINE happyIn163 #-} +happyOut163 :: (HappyAbsSyn ) -> (HsName) +happyOut163 x = unsafeCoerce# x +{-# INLINE happyOut163 #-} +happyIn164 :: (HsName) -> (HappyAbsSyn ) +happyIn164 x = unsafeCoerce# x +{-# INLINE happyIn164 #-} +happyOut164 :: (HappyAbsSyn ) -> (HsName) +happyOut164 x = unsafeCoerce# x +{-# INLINE happyOut164 #-} +happyIn165 :: (HsIPName) -> (HappyAbsSyn ) +happyIn165 x = unsafeCoerce# x +{-# INLINE happyIn165 #-} +happyOut165 :: (HappyAbsSyn ) -> (HsIPName) +happyOut165 x = unsafeCoerce# x +{-# INLINE happyOut165 #-} +happyIn166 :: (HsQName) -> (HappyAbsSyn ) +happyIn166 x = unsafeCoerce# x +{-# INLINE happyIn166 #-} +happyOut166 :: (HappyAbsSyn ) -> (HsQName) +happyOut166 x = unsafeCoerce# x +{-# INLINE happyOut166 #-} +happyIn167 :: (HsName) -> (HappyAbsSyn ) +happyIn167 x = unsafeCoerce# x +{-# INLINE happyIn167 #-} +happyOut167 :: (HappyAbsSyn ) -> (HsName) +happyOut167 x = unsafeCoerce# x +{-# INLINE happyOut167 #-} +happyIn168 :: (HsQName) -> (HappyAbsSyn ) +happyIn168 x = unsafeCoerce# x +{-# INLINE happyIn168 #-} +happyOut168 :: (HappyAbsSyn ) -> (HsQName) +happyOut168 x = unsafeCoerce# x +{-# INLINE happyOut168 #-} +happyIn169 :: (HsName) -> (HappyAbsSyn ) +happyIn169 x = unsafeCoerce# x +{-# INLINE happyIn169 #-} +happyOut169 :: (HappyAbsSyn ) -> (HsName) +happyOut169 x = unsafeCoerce# x +{-# INLINE happyOut169 #-} +happyIn170 :: (HsQName) -> (HappyAbsSyn ) +happyIn170 x = unsafeCoerce# x +{-# INLINE happyIn170 #-} +happyOut170 :: (HappyAbsSyn ) -> (HsQName) +happyOut170 x = unsafeCoerce# x +{-# INLINE happyOut170 #-} +happyIn171 :: (HsQName) -> (HappyAbsSyn ) +happyIn171 x = unsafeCoerce# x +{-# INLINE happyIn171 #-} +happyOut171 :: (HappyAbsSyn ) -> (HsQName) +happyOut171 x = unsafeCoerce# x +{-# INLINE happyOut171 #-} +happyIn172 :: (HsName) -> (HappyAbsSyn ) +happyIn172 x = unsafeCoerce# x +{-# INLINE happyIn172 #-} +happyOut172 :: (HappyAbsSyn ) -> (HsName) +happyOut172 x = unsafeCoerce# x +{-# INLINE happyOut172 #-} +happyIn173 :: (HsName) -> (HappyAbsSyn ) +happyIn173 x = unsafeCoerce# x +{-# INLINE happyIn173 #-} +happyOut173 :: (HappyAbsSyn ) -> (HsName) +happyOut173 x = unsafeCoerce# x +{-# INLINE happyOut173 #-} +happyIn174 :: (HsQName) -> (HappyAbsSyn ) +happyIn174 x = unsafeCoerce# x +{-# INLINE happyIn174 #-} +happyOut174 :: (HappyAbsSyn ) -> (HsQName) +happyOut174 x = unsafeCoerce# x +{-# INLINE happyOut174 #-} +happyIn175 :: (HsLiteral) -> (HappyAbsSyn ) +happyIn175 x = unsafeCoerce# x +{-# INLINE happyIn175 #-} +happyOut175 :: (HappyAbsSyn ) -> (HsLiteral) +happyOut175 x = unsafeCoerce# x +{-# INLINE happyOut175 #-} +happyIn176 :: (SrcLoc) -> (HappyAbsSyn ) +happyIn176 x = unsafeCoerce# x +{-# INLINE happyIn176 #-} +happyOut176 :: (HappyAbsSyn ) -> (SrcLoc) +happyOut176 x = unsafeCoerce# x +{-# INLINE happyOut176 #-} +happyIn177 :: (()) -> (HappyAbsSyn ) +happyIn177 x = unsafeCoerce# x +{-# INLINE happyIn177 #-} +happyOut177 :: (HappyAbsSyn ) -> (()) +happyOut177 x = unsafeCoerce# x +{-# INLINE happyOut177 #-} +happyIn178 :: (()) -> (HappyAbsSyn ) +happyIn178 x = unsafeCoerce# x +{-# INLINE happyIn178 #-} +happyOut178 :: (HappyAbsSyn ) -> (()) +happyOut178 x = unsafeCoerce# x +{-# INLINE happyOut178 #-} +happyIn179 :: (Module) -> (HappyAbsSyn ) +happyIn179 x = unsafeCoerce# x +{-# INLINE happyIn179 #-} +happyOut179 :: (HappyAbsSyn ) -> (Module) +happyOut179 x = unsafeCoerce# x +{-# INLINE happyOut179 #-} +happyIn180 :: (HsName) -> (HappyAbsSyn ) +happyIn180 x = unsafeCoerce# x +{-# INLINE happyIn180 #-} +happyOut180 :: (HappyAbsSyn ) -> (HsName) +happyOut180 x = unsafeCoerce# x +{-# INLINE happyOut180 #-} +happyIn181 :: (HsQName) -> (HappyAbsSyn ) +happyIn181 x = unsafeCoerce# x +{-# INLINE happyIn181 #-} +happyOut181 :: (HappyAbsSyn ) -> (HsQName) +happyOut181 x = unsafeCoerce# x +{-# INLINE happyOut181 #-} +happyIn182 :: (HsQName) -> (HappyAbsSyn ) +happyIn182 x = unsafeCoerce# x +{-# INLINE happyIn182 #-} +happyOut182 :: (HappyAbsSyn ) -> (HsQName) +happyOut182 x = unsafeCoerce# x +{-# INLINE happyOut182 #-} +happyIn183 :: (HsName) -> (HappyAbsSyn ) +happyIn183 x = unsafeCoerce# x +{-# INLINE happyIn183 #-} +happyOut183 :: (HappyAbsSyn ) -> (HsName) +happyOut183 x = unsafeCoerce# x +{-# INLINE happyOut183 #-} +happyIn184 :: (HsQName) -> (HappyAbsSyn ) +happyIn184 x = unsafeCoerce# x +{-# INLINE happyIn184 #-} +happyOut184 :: (HappyAbsSyn ) -> (HsQName) +happyOut184 x = unsafeCoerce# x +{-# INLINE happyOut184 #-} +happyIn185 :: (HsName) -> (HappyAbsSyn ) +happyIn185 x = unsafeCoerce# x +{-# INLINE happyIn185 #-} +happyOut185 :: (HappyAbsSyn ) -> (HsName) +happyOut185 x = unsafeCoerce# x +{-# INLINE happyOut185 #-} +happyInTok :: Token -> (HappyAbsSyn ) +happyInTok x = unsafeCoerce# x +{-# INLINE happyInTok #-} +happyOutTok :: (HappyAbsSyn ) -> Token +happyOutTok x = unsafeCoerce# x +{-# INLINE happyOutTok #-} + + +happyActOffsets :: HappyAddr +happyActOffsets = HappyA# "\x93\x06\x00\x00\x00\x00\x94\x06\x64\x06\x00\x00\xf2\x00\x00\x00\x83\x06\x6a\x00\x00\x00\x00\x00\x00\x00\xc6\x03\x5a\x05\xb0\x06\x00\x00\x00\x00\x00\x00\xa0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x06\x00\x00\x66\x05\x23\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\x95\x06\x00\x00\x00\x00\xc6\x03\x18\x14\x58\x06\x00\x00\x2b\x18\xa9\x06\x9f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x06\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x05\x00\x00\x9a\x06\x00\x00\x96\x06\x00\x00\x00\x00\x8d\x06\x00\x00\x1e\x05\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x06\x7e\x03\x00\x00\x00\x00\x3b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x09\x05\x25\x0c\x00\x00\xf5\x14\x43\x11\x00\x00\x43\x11\x43\x11\x43\x11\x13\x17\x00\x00\x43\x11\x00\x00\x9b\x06\x5b\x16\x32\x03\x01\x15\x00\x00\xac\x14\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\xf5\x14\x43\x11\xe0\x18\x97\x18\x97\x18\x1f\x02\x43\x11\x13\x17\x56\x06\x8f\x06\x4e\x06\x91\x06\x47\x06\x00\x00\x00\x00\x00\x00\x13\x17\x8b\x06\x00\x00\x4d\x17\x30\x06\x8a\x06\xcb\x05\x8a\x06\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x06\x7c\x06\xb7\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x15\x39\x17\xf0\x16\x39\x17\x7f\x18\x00\x00\xc8\x0b\xc8\x0b\x00\x00\x00\x00\x3f\x15\x31\x06\x69\x06\x73\x06\x00\x00\x51\x05\x00\x00\x00\x00\xca\x16\x39\x17\xca\x16\x6d\x06\x2e\x06\x00\x00\x00\x00\x63\x09\x00\x00\x00\x00\x72\x06\x43\x11\x71\x06\x0d\x05\x0d\x05\x00\x00\x00\x00\x00\x00\x1d\x18\x6c\x06\x00\x00\x00\x00\x00\x00\xca\x0d\x55\x06\x5c\x06\xac\x14\xf5\x14\xf5\x14\x00\x00\x20\x06\x46\x06\x00\x00\x00\x00\x00\x00\xc4\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x06\x00\x00\x00\x00\x00\x00\x00\x00\xcf\x14\x00\x00\x00\x00\x43\x11\x00\x00\x00\x00\x00\x00\x3b\x12\xca\x16\x7a\x01\xca\x16\x5b\x05\x00\x00\x2c\x06\x00\x00\x4d\x06\x4c\x06\x40\x0a\x3c\x06\x4a\x06\x3a\x06\x32\x02\x00\x00\xa5\x03\x41\x06\x3e\x06\x00\x00\x12\x03\x27\x03\x1c\x03\x45\x06\x00\x00\x00\x00\x43\x11\x44\x06\x43\x06\x00\x00\x00\x00\x3b\x06\x39\x06\x00\x00\x00\x00\xcf\x14\x38\x06\xac\x14\x36\x06\x35\x06\xc6\x03\x00\x00\x00\x00\xf5\x14\xa5\x05\x00\x00\x00\x00\xbb\x18\x34\x06\x5c\x18\x00\x00\x00\x00\x00\x00\xed\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x04\x00\x00\x33\x06\x92\x03\x00\x00\x22\x06\x00\x00\x00\x00\x2b\x04\x00\x00\x26\x06\x25\x06\x00\x00\x00\x00\x2a\x06\x00\x00\x00\x00\x43\x11\x00\x00\x00\x00\x00\x00\x43\x11\x43\x11\x43\x11\x00\x00\x43\x11\x6b\x0b\xe6\x10\x89\x10\x00\x00\x2c\x10\x00\x00\x00\x00\xbf\x12\x00\x00\x00\x00\x23\x01\x00\x00\x14\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x15\x7a\x01\xea\x05\xd6\x05\x1b\x02\x00\x00\x00\x00\x00\x00\xda\x04\x00\x00\x10\x06\x2c\x10\x00\x00\x00\x00\x00\x00\x16\x06\x00\x00\x00\x00\x87\x08\x00\x00\xb1\x02\x00\x00\x18\x06\x11\x06\x6b\x04\x00\x00\x00\x00\x78\x04\x00\x00\xe3\x05\x00\x00\x00\x00\xce\x05\xd0\x05\x00\x00\x00\x00\xf5\x14\xcf\x0f\x00\x00\x0b\x06\x09\x06\xba\x05\x00\x00\xfc\x05\xf5\x05\xef\x05\x00\x00\xee\x05\x00\x00\xbb\x05\x39\x07\x65\x18\x39\x17\x00\x00\xe1\x05\x00\x00\x65\x18\x00\x00\x65\x18\x00\x00\x00\x00\x86\x14\x65\x18\x65\x18\xec\x05\xe9\x18\x00\x00\xe2\x05\x0e\x0b\xe0\x05\x23\x01\xd2\x05\xd1\x05\xd7\x05\x00\x00\xf8\x02\xd5\x05\x0c\x02\xd4\x05\x65\x18\xca\x16\x00\x00\x65\x18\x00\x00\x00\x00\x1b\x02\x00\x00\x39\x17\x00\x00\x00\x00\xca\x16\x00\x00\xff\xff\x00\x00\x00\x00\xc3\x05\x29\x08\x11\x18\x00\x00\xc5\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x13\xca\x16\x17\x00\x44\x05\x39\x17\x00\x00\x00\x00\x9e\x07\xca\x05\x00\x00\x00\x00\xcd\x05\x00\x00\x00\x00\x00\x00\x00\x00\xca\x16\x00\x00\x63\x14\x00\x00\x00\x00\xcc\x05\xc9\x05\x23\x01\x72\x0f\x72\x0f\xb1\x0a\xc8\x05\xc7\x05\x23\x01\x23\x01\x72\x0f\x00\x00\xbc\x05\x00\x00\x69\x07\xda\x04\x78\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x02\x00\x00\x00\x00\xc1\x05\x00\x00\xc4\x05\xa7\x05\x00\x00\x81\x05\x00\x00\xa4\x05\x1b\x02\x00\x00\x00\x00\xb1\x05\x00\x00\x9f\x03\x85\x05\x64\x05\xa8\x05\xa6\x05\x5b\x05\x88\x05\xc6\x01\x00\x00\x9f\x05\x00\x00\x87\x05\x00\x00\x95\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x14\x00\x00\x00\x00\x00\x00\xc6\x03\x72\x0f\x72\x0f\x00\x00\xd4\x06\x00\x00\x93\x05\x00\x00\x0b\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x01\x7a\x05\x0a\x05\x54\x0a\x15\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x05\x00\x00\x00\x00\x00\x00\x82\x03\x00\x00\x00\x00\x00\x00\x8a\x05\x1b\x02\x08\x18\x00\x00\x00\x00\x00\x00\x4a\x05\x70\x05\xb8\x0e\x00\x00\x82\x05\x7f\x05\x65\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x12\x40\x05\x00\x00\x00\x00\x00\x00\x3f\x05\x00\x00\xb8\x0e\x00\x00\x7c\x05\x78\x05\x23\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x05\x00\x00\x00\x00\x00\x00\x7b\x05\x00\x00\x00\x00\x69\x05\xef\x09\x74\x05\x23\x01\x00\x00\x00\x00\xb8\x0e\x92\x09\x00\x00\x00\x00\x77\x05\x00\x00\x00\x00\x73\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x11\x1b\x02\x3d\x14\x49\x13\x00\x00\x5f\x07\x6d\x05\x23\x01\x00\x00\x00\x00\x00\x00\x00\x00\x70\x13\x00\x00\x61\x05\xb8\x0e\x61\x05\x33\x05\x6c\x05\x5b\x0e\x6c\x05\x00\x00\x65\x18\x00\x00\x00\x00\xfe\x0d\x00\x00\x6f\x06\x10\x16\x54\x05\x00\x00\x00\x00\xbf\x17\x14\x01\x6a\x05\x68\x05\x67\x15\x65\x18\x00\x00\x00\x00\x67\x05\x63\x05\x23\x01\x63\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x04\x00\x00\x29\x05\x00\x00\x00\x00\x00\x00\x00\x00\x84\x03\x00\x00\x8d\x04\xab\x17\x5c\x05\x00\x00\x00\x00\x65\x18\x97\x17\x65\x18\x65\x18\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x11\x00\x00\xfe\x0d\x00\x00\x40\x0a\x26\x05\x1c\x13\x30\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x09\x35\x05\x24\x05\x00\x00\x00\x00\x00\x00\x21\x05\x16\x05\xca\x16\x00\x00\x65\x18\x99\x0d\x0e\x05\xd0\x08\x00\x00\x00\x00\xfd\x04\x7a\x01\x00\x00\x51\x15\xf7\x04\xe7\x18\x00\x00\xca\x16\x39\x17\xc4\x07\xee\x04\x00\x00\x9d\x04\xdb\x04\x00\x00\xd0\x04\x3c\x0d\x00\x00\x00\x00\x65\x18\xa7\x16\x00\x00\x00\x00\x65\x18\x00\x00\xc6\x02\xd2\x02\x00\x00\x00\x00\x00\x00\xcb\x04\xac\x00\x6e\x03\xd4\x04\x00\x00\xc6\x03\x89\x04\x00\x00\x81\x16\x00\x00\x0a\x06\x38\x16\x00\x00\xdf\x0c\x00\x00\x00\x00\x00\x00\x98\x04\x92\x04\x92\x04\x00\x00\x00\x00\xe8\x01\x00\x00\x90\x04\x4e\x04\x35\x04\x81\x16\x00\x00\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x16\x1b\x00\x00\x00\x00\x00\x65\x18\x00\x00\x00\x00\x00\x00\x00\x00\x82\x0c\x00\x00\x00\x00\x00\x00\x00\x00"# + +happyGotoOffsets :: HappyAddr +happyGotoOffsets = HappyA# "\x01\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x08\x00\x00\x00\x06\x00\x00\x00\x9a\x04\x44\x04\xb8\x04\xe2\x03\x22\x05\x00\x00\x00\x00\x16\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xd0\x03\xda\x03\x03\x00\x00\x00\x00\x00\x00\x00\x01\x05\x00\x00\x00\x00\x00\x00\xeb\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\xfa\x03\x24\x23\x00\x00\x00\x00\x07\x00\x00\x00\x63\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\xb3\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x03\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x19\xe5\x1b\x00\x00\xcc\x23\x8b\x1c\x00\x00\x78\x21\x33\x21\xd9\x21\x2f\x03\xaf\x03\x17\x21\x00\x00\x3b\x04\xe3\x02\x00\x00\xc0\x18\x00\x00\xb6\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x22\xd2\x20\x0b\x03\xb0\x08\x85\x07\x00\x00\xb6\x20\xd8\x02\x00\x00\x00\x00\x00\x00\xd8\xff\x2f\x04\x00\x00\x00\x00\x00\x00\xc3\x02\xc9\xff\x00\x00\xf7\x03\x36\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x09\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x01\x62\x03\xad\x03\x90\x03\xdd\x03\x00\x00\xa0\x1b\x5b\x1b\x00\x00\x00\x00\x09\x04\xd4\x03\x00\x00\x00\x00\xf2\x03\x6c\x03\x00\x00\x00\x00\xae\x02\x35\x00\xa5\x02\xdb\x03\x00\x00\x00\x00\x00\x00\xd7\x0d\x00\x00\x5c\x03\x22\x01\x71\x20\x41\x00\xd9\x03\xd2\x03\x00\x00\x00\x00\x00\x00\x57\x04\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x02\x00\x00\x00\x00\xb6\x23\x83\x23\x6d\x23\x00\x00\x96\x03\xc2\xff\x00\x00\x00\x00\x00\x00\x4a\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x04\x00\x00\x00\x00\x55\x20\x00\x00\x00\x00\x00\x00\xca\x01\x8f\x02\x62\x02\x87\x02\x38\x00\x00\x00\x00\x00\x27\x00\x00\x00\x00\x00\x15\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x03\x00\x00\x7d\x22\x00\x00\x00\x00\x55\x04\x78\x03\x00\x00\x3a\x23\x61\x02\x00\x00\x00\x00\x54\x00\x00\x00\xfb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x00\x72\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x20\x00\x00\x00\x00\x00\x00\xf4\x1f\x46\x1c\xaf\x1f\x00\x00\x93\x1f\x4e\x1f\xe3\x19\x32\x1f\x00\x00\xc4\x19\x00\x00\x00\x00\x34\x22\x00\x00\x00\x00\x33\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x03\x42\x01\x93\x03\x00\x00\x8c\x04\xd3\x00\x00\x00\x00\x00\x2d\x03\x00\x00\x00\x00\x7f\x19\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x03\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x08\x01\x6f\x00\x00\x00\x00\x00\x78\x00\x6d\x00\x93\x22\x34\x22\xc1\x02\xcf\xff\xb0\xff\x0f\x03\xe6\x02\xfb\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x03\xf5\xff\xce\x03\x8b\x03\x00\x00\x5d\x02\x00\x00\xbf\x03\x00\x00\xb2\x03\x00\x00\x00\x00\xb4\x02\x74\x03\x91\x01\x00\x00\x2d\x0a\x51\x02\x00\x00\x16\x1b\xf7\xff\x1a\x02\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x59\x02\x00\x00\xc9\x02\x00\x00\x00\x00\x82\x04\x00\x00\x6d\x03\x00\x00\x00\x00\x42\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x1a\xc9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x01\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x27\x01\x24\x02\xde\x03\x12\x02\x44\x03\x00\x00\x00\x00\x16\x01\x00\x00\x00\x00\x00\x00\xc4\xff\x00\x00\xe5\x00\x7e\x00\x00\x00\x0b\x02\x00\x00\xc6\x22\x00\x00\x00\x00\xa1\x01\x00\x00\xfa\x01\xed\x1e\xd1\x1e\x15\x00\x00\x00\x00\x00\xdd\x01\xc8\x01\x8c\x1e\x00\x00\x00\x00\x00\x00\x71\x01\xc0\x01\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x01\xf2\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x01\x00\x00\x00\x00\x58\x04\x00\x00\x00\x00\xef\xff\x00\x00\x73\x02\x92\x01\x00\x00\x00\x00\x00\x00\x20\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\xe8\x22\x00\x00\x00\x00\x00\x00\xc5\x03\x2a\x1c\x70\x1e\x00\x00\xd1\x04\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x1e\xb2\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\xff\x00\x00\x00\x00\x00\x00\x5d\x01\x00\x00\xbb\x01\x20\x01\x00\x00\xe8\x03\x14\x04\x7d\x01\x25\x00\x00\x00\x00\x00\x00\x00\x0f\x1e\x00\x00\x00\x00\x00\x00\x53\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x04\x00\x00\xf8\x03\x00\x00\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\xca\x1d\x00\x00\x33\x01\x00\x00\xfb\x00\x00\x00\x4c\x01\x48\x01\xa5\x01\x00\x00\xda\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\xea\x00\x00\x00\x00\x00\xae\x1d\x6d\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x03\x00\x00\x00\x00\x00\x00\x19\x01\x5a\x03\x1c\x00\x16\x01\x00\x00\xf4\xff\x00\x00\xcb\x00\x00\x00\x00\x00\x8c\x03\x00\x00\xef\x21\x00\x00\x00\x00\x69\x1d\x00\x00\xaf\xff\x00\x00\x1d\x00\x00\x00\x00\x00\x78\x02\x00\x00\x00\x00\x4d\x1d\x00\x00\xf5\xff\xc9\x02\x00\x00\x00\x00\x00\x00\x56\x04\x02\x02\x00\x00\x00\x00\x45\x01\x2a\x02\x00\x00\x00\x00\xe5\xff\x00\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\xba\x00\x00\x00\xf1\x01\x00\x00\x00\x00\x2e\x03\x00\x00\x74\x01\x00\x00\xf4\x03\x3c\x04\x43\x00\x00\x00\x00\x00\xfc\x01\x47\x04\x4d\x00\xdf\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x00\x00\x00\x08\x1d\x00\x00\x6b\x09\x5f\x01\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\xb6\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\x01\x00\x00\x72\x01\xe3\x00\x00\x00\x28\x1a\x00\x00\x00\x00\x00\x00\x1c\x01\x00\x00\x3b\x00\x00\x00\xf3\xff\x00\x00\xee\x01\x11\x03\x33\x00\x00\x00\x00\x00\x5f\x00\xc1\xff\x00\x00\x00\x00\xec\x1c\x00\x00\x00\x00\xbe\x01\xbe\x01\x00\x00\x00\x00\xbe\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\xeb\xff\x00\x00\x00\x00\x4e\x01\x00\x00\x00\x00\xd9\x01\x00\x00\xbe\x00\xa0\x01\x00\x00\x60\x19\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xff\xdd\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x00\xc4\x01\x00\x00\xd3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x01\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x1c\x00\x00\x00\x00\x00\x00\x00\x00"# + +happyDefActions :: HappyAddr +happyDefActions = HappyA# "\x51\xfe\x00\x00\xfe\xff\x00\x00\x00\x00\xfc\xff\x50\xfe\x51\xfe\x00\x00\x50\xfe\xf8\xff\xef\xff\xef\xff\x00\x00\x00\x00\xed\xff\x4d\xfe\x4c\xfe\xc9\xfe\xd0\xfe\xcf\xfe\xce\xfe\xcd\xfe\xcb\xfe\xcc\xfe\x00\x00\xf0\xff\xf2\xff\x00\x00\x51\xfe\x51\xfe\xf6\xff\x4e\xfe\x4f\xfe\xef\xff\xdf\xff\xa3\xff\xf4\xff\xef\xff\xbe\xff\xae\xff\xa4\xff\xa2\xff\x51\xfe\xf1\xff\xf7\xff\x00\x00\x51\xfe\x00\x00\xee\xff\xe9\xff\x00\x00\xe9\xff\xe7\xff\xe6\xff\x91\xfe\x6f\xfe\x78\xfe\x4a\xfe\x69\xfe\xe5\xff\x76\xfe\x77\xfe\x67\xfe\x68\xfe\x00\x00\xea\xff\x72\xfe\x6e\xfe\x6d\xfe\x6c\xfe\x71\xfe\x70\xfe\x75\xfe\x73\xfe\x00\x00\x74\xfe\x50\xfe\xc7\xfe\xfe\xfe\xfb\xfe\xee\xfe\x00\x00\xca\xfe\x00\x00\xf8\xfe\xf9\xfe\xfa\xfe\x96\xfe\x8f\xfe\x8c\xfe\xf7\xfe\x00\x00\x76\xfe\x6b\xfe\x6a\xfe\x67\xfe\x55\xfe\x53\xfe\x54\xfe\x52\xfe\x51\xfe\x51\xfe\xf2\xfe\x51\xfe\x51\xfe\xed\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x50\xfe\x51\xfe\xd1\xfe\xc7\xff\x00\x00\x00\x00\x51\xfe\x11\xff\x07\xff\x05\xff\x08\xff\x12\xff\xf9\xfe\xc5\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\xad\xff\x00\x00\x00\x00\x50\xfe\xdc\xff\xc5\xff\xc4\xff\xc3\xff\x00\x00\x50\xfe\xac\xff\x00\x00\xf0\xff\xc0\xff\xf0\xff\xf3\xff\xfd\xff\xe0\xff\xf5\xff\xbf\xff\x51\xfe\x00\x00\x91\xff\x89\xff\x88\xff\x48\xfe\x81\xff\x87\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\xff\x51\xfe\x51\xfe\x8b\xff\x79\xff\x91\xff\x2d\xff\x00\x00\x00\x00\x72\xff\x00\x00\xdd\xff\x0a\xff\x00\x00\xa9\xff\x00\x00\x6d\xff\x00\x00\x19\xff\x17\xff\x16\xff\x14\xff\x51\xfe\x50\xfe\x51\xfe\x50\xfe\x00\x00\x00\x00\xe4\xfe\xe2\xfe\xe3\xfe\x00\x00\x00\x00\xe5\xfe\xe7\xfe\xe6\xfe\x00\x00\x00\x00\x00\x00\x0b\xff\x51\xfe\x51\xfe\x06\xff\x21\xff\x1f\xff\x1d\xff\x7e\xfe\x7d\xfe\x51\xfe\x82\xfe\x79\xfe\x66\xfe\x88\xfe\x63\xfe\x62\xfe\x00\x00\x5f\xfe\x64\xfe\x56\xfe\x65\xfe\x00\x00\x5c\xfe\x7a\xfe\x51\xfe\x5e\xfe\x5d\xfe\x5b\xfe\x00\x00\x00\x00\x62\xff\x00\x00\x00\x00\xc6\xff\x00\x00\x51\xfe\x00\x00\x00\x00\x16\xff\x00\x00\x00\x00\xdc\xfe\x00\x00\xff\xfe\xc4\xfe\x00\x00\xc3\xfe\x98\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x7c\xfe\x7b\xfe\x51\xfe\x82\xfe\x00\x00\x86\xfe\x61\xfe\x60\xfe\x5a\xfe\x99\xfe\xe0\xfe\x00\x00\x58\xfe\x5e\xfe\x59\xfe\x57\xfe\x00\x00\xd5\xfe\xfa\xff\x51\xfe\x00\x00\xf9\xff\xe1\xff\x00\x00\x00\x00\xea\xff\xeb\xff\xe8\xff\xec\xff\x00\x00\xcb\xff\xca\xff\xc9\xff\x95\xfe\x8e\xfe\x00\x00\xe3\xff\x00\x00\x00\x00\xa1\xfe\x00\x00\xfd\xfe\xc8\xfe\x51\xfe\xc9\xfe\x00\x00\x00\x00\x90\xfe\x8b\xfe\x00\x00\xf1\xfe\xf5\xfe\x51\xfe\x97\xfe\xe1\xfe\xf6\xfe\x51\xfe\x51\xfe\x51\xfe\xf4\xfe\x51\xfe\xc2\xfe\x51\xfe\x51\xfe\xf0\xfe\x51\xfe\xec\xfe\xeb\xfe\x51\xfe\xea\xfe\xe9\xfe\x00\x00\xd7\xfe\xc8\xff\x80\xfe\x7f\xfe\xc1\xff\x84\xfe\x8a\xfe\x00\x00\x62\xff\x49\xff\x00\x00\x00\x00\x51\xfe\x9f\xff\x9b\xff\x00\x00\x20\xff\x00\x00\x51\xfe\x13\xff\x1e\xff\x23\xff\x50\xfe\x00\xff\x01\xff\xb1\xff\x7e\xff\x00\x00\x80\xff\x00\x00\x00\x00\x94\xff\x99\xff\x98\xff\x00\x00\x9e\xff\x00\x00\xef\xff\xef\xff\x00\x00\x00\x00\xef\xff\xef\xff\x51\xfe\x18\xff\x51\xfe\x50\xfe\x50\xfe\x3b\xff\x6e\xff\x3e\xff\x00\x00\xaa\xff\xab\xff\x00\x00\xb3\xff\xda\xff\x00\x00\x00\x00\x00\x00\xb4\xff\x50\xfe\x8a\xff\x00\x00\x7c\xff\x00\x00\x46\xfe\x45\xfe\x00\x00\x00\x00\x00\x00\xa3\xfe\x16\xff\x51\xfe\x00\x00\x51\xfe\x50\xfe\x00\x00\x00\x00\x3e\xff\x00\x00\x75\xff\x00\x00\x79\xff\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xff\x8d\xff\x86\xff\x83\xff\x00\x00\x85\xff\x00\x00\x84\xff\xbc\xff\x00\x00\xa9\xfe\x00\x00\xa5\xfe\xaa\xfe\x00\x00\xa4\xfe\x8d\xff\x8e\xff\x00\x00\x8f\xff\x90\xff\xef\xff\xef\xff\x7a\xff\x8c\xff\x73\xff\x71\xff\x00\x00\x00\x00\xd8\xff\x00\x00\x00\x00\xb2\xff\xb8\xff\x00\x00\x6c\xff\x6a\xff\xb5\xff\x50\xfe\x0c\xff\xef\xff\xef\xff\x1a\xff\x00\x00\x15\xff\x51\xfe\x03\xff\x02\xff\x51\xfe\x00\x00\x00\x00\x51\xfe\x51\xfe\xa7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\xaf\xff\x00\x00\x93\xfe\x00\x00\x00\x00\x00\x00\x97\xff\x96\xff\x95\xff\x7f\xff\x7d\xff\x22\xff\xb8\xfe\x00\x00\xba\xfe\x51\xfe\x50\xfe\x87\xfe\x00\x00\x61\xff\x5f\xff\x5b\xff\x3d\xff\x43\xff\x00\x00\x40\xff\x41\xff\x50\xfe\xba\xff\x00\x00\x49\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xfe\xbe\xfe\xc0\xfe\xbc\xfe\xbd\xfe\xda\xfe\xdb\xfe\xde\xfe\xdf\xfe\xf3\xfe\x81\xfe\x85\xfe\x51\xfe\xd2\xfe\xd6\xfe\xd4\xfe\x00\x00\x51\xfe\x51\xfe\xfc\xfe\x00\x00\xe4\xff\x00\x00\xe2\xff\x00\x00\xcc\xff\x8d\xfe\xa2\xfe\xa0\xfe\xdc\xfe\x00\x00\x00\x00\x00\x00\xc1\xfe\x51\xfe\xef\xfe\xe8\xfe\xc2\xff\x83\xfe\x89\xfe\x50\xfe\xb7\xff\x49\xfe\x48\xff\x00\x00\xb9\xff\xef\xff\xef\xff\x00\x00\x00\x00\x00\x00\x72\xff\x51\xfe\x94\xfe\xb7\xfe\x00\x00\x51\xfe\xb0\xff\x00\x00\x00\x00\x00\x00\x0f\xff\x9c\xff\xa0\xff\x9d\xff\xa1\xff\xef\xff\xa5\xff\xef\xff\x9b\xfe\x51\xfe\x00\x00\x0e\xff\x9e\xfe\x9f\xfe\x00\x00\x04\xff\x51\xfe\x1b\xff\x51\xfe\x00\x00\x00\x00\x3c\xff\xef\xff\xef\xff\x6e\xff\x6f\xff\x6e\xff\x76\xff\xdb\xff\xde\xff\xd9\xff\x00\x00\xd5\xff\x7b\xff\x00\x00\x2b\xff\x00\x00\x00\x00\x47\xfe\xa6\xfe\x51\xfe\x51\xfe\xbb\xff\x74\xff\x00\x00\x82\xff\xa8\xfe\x00\x00\x2e\xff\x2f\xff\xef\xff\x29\xff\x27\xff\x28\xff\x51\xfe\x00\x00\xe9\xff\x69\xff\x6b\xff\x37\xff\x00\x00\x00\x00\xb5\xfe\xb6\xfe\xef\xff\xb2\xfe\x51\xfe\x10\xff\x00\x00\x51\xfe\xfa\xfe\xf0\xff\x9d\xfe\xf0\xff\xa8\xff\x92\xff\x00\x00\x92\xfe\x1c\xff\x51\xfe\x60\xff\x00\x00\x56\xff\x00\x00\x5d\xff\x5a\xff\x55\xff\x00\x00\x00\x00\x69\xfe\x00\x00\x00\x00\x42\xff\x3f\xff\x51\xfe\x00\x00\x00\x00\x00\x00\x44\xff\x47\xff\xb6\xff\xbb\xfe\xbf\xfe\xd5\xfe\xd8\xfe\xfb\xff\xd3\xfe\x51\xfe\x46\xff\x00\x00\x67\xff\x68\xff\xef\xff\x64\xff\x00\x00\x4f\xff\x00\x00\x00\x00\x00\x00\x52\xff\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x5c\xff\xb9\xfe\x93\xff\xa6\xff\x51\xfe\x9c\xfe\x51\xfe\x0d\xff\xab\xfe\x51\xfe\xf0\xff\xb4\xfe\x39\xff\x3a\xff\x34\xff\xef\xff\x35\xff\x33\xff\x51\xfe\x00\x00\xe9\xff\xd2\xff\xd1\xff\x4b\xfe\xd0\xff\x00\x00\x00\x00\xad\xff\x00\x00\xf0\xff\x2c\xff\x51\xfe\xa7\xfe\x2a\xff\x00\x00\x62\xff\x70\xff\x00\x00\x00\x00\xea\xff\xd6\xff\x00\x00\x00\x00\xf0\xff\x38\xff\xb3\xfe\x21\xff\xaf\xfe\xad\xfe\x00\x00\x51\xfe\x9a\xfe\x54\xff\x77\xff\x56\xff\x5e\xff\x51\xff\x50\xff\x59\xff\x00\x00\x00\x00\x4d\xff\x9a\xff\x58\xff\x00\x00\x00\x00\xf0\xff\x66\xff\x45\xff\x00\x00\x00\x00\x65\xff\x00\x00\x57\xff\x00\x00\x00\x00\xb0\xfe\x51\xfe\xae\xfe\xb1\xfe\x36\xff\x8b\xff\x3e\xff\x3e\xff\xd3\xff\xd7\xff\x00\x00\xce\xff\x00\x00\x49\xff\x00\x00\x00\x00\x26\xff\x50\xfe\x25\xff\xcf\xff\xcd\xff\x30\xff\x32\xff\x00\x00\x00\x00\x4b\xff\x4c\xff\x00\x00\x4e\xff\x63\xff\xd9\xfe\x4a\xff\x51\xfe\x31\xff\x24\xff\xac\xfe"# + +happyCheck :: HappyAddr +happyCheck = HappyA# "\xff\xff\x00\x00\x01\x00\x02\x00\x01\x00\x01\x00\x0b\x00\x14\x00\x03\x00\x03\x00\x02\x00\x17\x00\x03\x00\x3a\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x14\x00\x50\x00\x23\x00\x22\x00\x25\x00\x24\x00\x17\x00\x23\x00\x3a\x00\x25\x00\x1b\x00\x1c\x00\x1d\x00\x5e\x00\x3c\x00\x3d\x00\x0d\x00\x22\x00\x09\x00\x24\x00\x10\x00\x3d\x00\x3a\x00\x35\x00\x4e\x00\x17\x00\x17\x00\x7e\x00\x13\x00\x14\x00\x1b\x00\x1c\x00\x1d\x00\x17\x00\x1a\x00\x21\x00\x22\x00\x22\x00\x24\x00\x24\x00\x23\x00\x8d\x00\x25\x00\x17\x00\x22\x00\x25\x00\x24\x00\x1b\x00\x1c\x00\x1d\x00\x84\x00\x52\x00\x53\x00\x54\x00\x22\x00\x17\x00\x24\x00\x4e\x00\x17\x00\x5a\x00\x86\x00\x15\x00\x16\x00\x1a\x00\x1d\x00\x1f\x00\x22\x00\x57\x00\x24\x00\x22\x00\x8a\x00\x24\x00\xac\x00\x5a\x00\xad\x00\x86\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x23\x00\x40\x00\x25\x00\x32\x00\x33\x00\x15\x00\x16\x00\x54\x00\x16\x00\xac\x00\xac\x00\x5a\x00\x5a\x00\xad\x00\x05\x00\x06\x00\x05\x00\x06\x00\xad\x00\x5a\x00\x4a\x00\x2c\x00\x2d\x00\x2e\x00\xad\x00\x05\x00\x06\x00\x15\x00\xad\x00\x5a\x00\x8f\x00\x05\x00\x06\x00\xad\x00\x53\x00\x54\x00\x2c\x00\x2d\x00\x2e\x00\x29\x00\x91\x00\x5a\x00\xad\x00\x20\x00\x5a\x00\xac\x00\x9f\x00\xa0\x00\x9f\x00\xa0\x00\xa3\x00\xac\x00\x91\x00\x9e\x00\x9f\x00\xa0\x00\xad\x00\xa2\x00\xa3\x00\xad\x00\xac\x00\x8c\x00\x8d\x00\xb0\x00\xad\x00\x9e\x00\x9f\x00\xa0\x00\xb3\x00\xa2\x00\xa3\x00\x8f\x00\xb1\x00\xac\x00\xac\x00\xac\x00\xac\x00\x92\x00\xad\x00\xad\x00\xac\x00\x09\x00\xad\x00\x0b\x00\xb1\x00\x19\x00\x5b\x00\x9f\x00\xa0\x00\x29\x00\x1e\x00\xa3\x00\xa1\x00\xac\x00\xac\x00\x2d\x00\x2e\x00\xad\x00\x26\x00\x92\x00\x5e\x00\xac\x00\x8f\x00\x1f\x00\xb0\x00\x95\x00\x93\x00\x19\x00\x98\x00\xac\x00\x9a\x00\xac\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x09\x00\x9f\x00\xa0\x00\x26\x00\xa5\x00\xa3\x00\xac\x00\xa8\x00\x81\x00\xac\x00\x8f\x00\x26\x00\x8f\x00\xa3\x00\x93\x00\xb3\x00\x93\x00\x05\x00\x06\x00\x9f\x00\xa0\x00\xad\x00\xa2\x00\xa3\x00\x72\x00\x90\x00\x9f\x00\xa0\x00\x9f\x00\xa0\x00\xa3\x00\x8b\x00\xa3\x00\x8b\x00\x9f\x00\xa0\x00\x7f\x00\xa2\x00\xa3\x00\xb3\x00\x9f\x00\x62\x00\x8b\x00\x64\x00\x65\x00\x48\x00\x15\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xac\x00\x05\x00\x06\x00\xb3\x00\x36\x00\x71\x00\x3f\x00\x40\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x62\x00\x79\x00\x64\x00\x65\x00\x19\x00\x09\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x26\x00\x00\x00\x90\x00\x05\x00\x06\x00\x71\x00\x20\x00\x26\x00\x2e\x00\x71\x00\x3a\x00\x73\x00\x8e\x00\x79\x00\x1c\x00\x91\x00\x92\x00\x9f\x00\x94\x00\x9f\x00\xa0\x00\x1e\x00\xa2\x00\xa3\x00\x17\x00\x58\x00\x59\x00\x5a\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x8e\x00\x05\x00\x06\x00\x91\x00\x92\x00\xb3\x00\x94\x00\xab\x00\xac\x00\x05\x00\x06\x00\x91\x00\x5e\x00\x05\x00\x06\x00\x1a\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x3e\x00\x3b\x00\x9e\x00\x9f\x00\xa0\x00\x05\x00\x06\x00\xab\x00\xac\x00\xae\x00\x7f\x00\x62\x00\xac\x00\x64\x00\x65\x00\xac\x00\x4e\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x71\x00\x30\x00\x31\x00\x32\x00\x33\x00\xae\x00\x41\x00\x62\x00\x79\x00\x64\x00\x65\x00\xac\x00\x3e\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x71\x00\x30\x00\x31\x00\x32\x00\x33\x00\xac\x00\x4e\x00\x8e\x00\x79\x00\x8b\x00\x91\x00\x92\x00\x56\x00\x94\x00\xae\x00\x51\x00\x20\x00\x21\x00\x2a\x00\x51\x00\x2c\x00\x2d\x00\x2e\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x8e\x00\x4b\x00\xae\x00\x91\x00\x92\x00\x8a\x00\x94\x00\xab\x00\xac\x00\x56\x00\x34\x00\x6d\x00\x80\x00\x81\x00\x9f\x00\xa0\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x2c\x00\x2d\x00\x2e\x00\x05\x00\x06\x00\x74\x00\x75\x00\xab\x00\xac\x00\x9f\x00\xa0\x00\x6d\x00\xb3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\xad\x00\x30\x00\x31\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x92\x00\x30\x00\x31\x00\xb3\x00\x36\x00\x4a\x00\x63\x00\x39\x00\xac\x00\x1a\x00\x82\x00\x83\x00\x84\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x49\x00\xa5\x00\x2d\x00\x2e\x00\x92\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2d\x00\x30\x00\x31\x00\x3b\x00\x41\x00\xb3\x00\x11\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa2\x00\xa3\x00\x90\x00\x1a\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x94\x00\x30\x00\x31\x00\xac\x00\x2d\x00\x2e\x00\xb3\x00\xb2\x00\x9f\x00\x9f\x00\xa0\x00\xac\x00\xa2\x00\xa3\x00\xa2\x00\xa3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x11\x00\x30\x00\x31\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\xb3\x00\x30\x00\x31\x00\x1a\x00\x2d\x00\x2e\x00\x10\x00\x20\x00\x8c\x00\x8d\x00\x21\x00\x9f\x00\xa0\x00\x92\x00\xa2\x00\xa3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x92\x00\x30\x00\x31\x00\x05\x00\x06\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xb3\x00\x2a\x00\x2b\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x1a\x00\xac\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\xb3\x00\x30\x00\x31\x00\x92\x00\x2d\x00\x2e\x00\x8f\x00\x1f\x00\xb3\x00\x21\x00\x9f\x00\xa0\x00\x2d\x00\xa2\x00\xa3\x00\x43\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa8\x00\x9f\x00\xa0\x00\x92\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\xb3\x00\x30\x00\x31\x00\x11\x00\x56\x00\xae\x00\xb3\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x1a\x00\x9f\x00\xa0\x00\x92\x00\xa2\x00\xa3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x92\x00\x30\x00\x31\x00\xae\x00\xb3\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xb3\x00\xa2\x00\xa3\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x98\x00\x9f\x00\xa0\x00\x92\x00\xa2\x00\xa3\x00\x3e\x00\xb3\x00\x2a\x00\xb2\x00\x2c\x00\x2d\x00\x2e\x00\xa5\x00\xae\x00\xb3\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xb3\x00\x4e\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x92\x00\x30\x00\x31\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\xb3\x00\x30\x00\x31\x00\xaf\x00\x11\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xae\x00\x9f\x00\xa0\x00\x1a\x00\xa2\x00\xa3\x00\x4e\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x92\x00\x30\x00\x31\x00\xb3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\xb3\x00\x30\x00\x31\x00\x1a\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x20\x00\x6d\x00\x16\x00\x88\x00\x89\x00\x92\x00\x1a\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x91\x00\x30\x00\x31\x00\xb3\x00\x2d\x00\x2e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xac\x00\x11\x00\x9e\x00\x9f\x00\xa0\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x1a\x00\x30\x00\x31\x00\xad\x00\x13\x00\xb3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x1a\x00\x30\x00\x31\x00\xa2\x00\xa3\x00\x9f\x00\xa0\x00\x92\x00\xa2\x00\xa3\x00\x36\x00\x0f\x00\x38\x00\x39\x00\xa6\x00\x92\x00\xa8\x00\x11\x00\xaa\x00\xb2\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xb3\x00\x1a\x00\x11\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x05\x00\x06\x00\x23\x00\x1a\x00\x92\x00\x11\x00\x2e\x00\xb3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x92\x00\x1a\x00\xb3\x00\x9d\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x4e\x00\xa4\x00\xa5\x00\x1a\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x20\x00\x9f\x00\xa0\x00\x92\x00\xa2\x00\xa3\x00\xb3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x4f\x00\x30\x00\x31\x00\xb3\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xb3\x00\x9f\x00\xa0\x00\x92\x00\xa2\x00\xa3\x00\xac\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x05\x00\x06\x00\x92\x00\xb3\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xb3\x00\x2a\x00\x10\x00\x2c\x00\x2d\x00\x2e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x05\x00\x06\x00\x05\x00\x06\x00\xb3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x05\x00\x06\x00\x11\x00\x10\x00\x33\x00\xb3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x91\x00\x1f\x00\x2a\x00\x21\x00\x2c\x00\x2d\x00\x2e\x00\x92\x00\x05\x00\x06\x00\x4c\x00\x4d\x00\x16\x00\x9e\x00\x9f\x00\xa0\x00\x1a\x00\xa2\x00\xa3\x00\x10\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x1a\x00\x1a\x00\x92\x00\xa5\x00\x1e\x00\xb3\x00\xa8\x00\x20\x00\x01\x00\x23\x00\x05\x00\x06\x00\x05\x00\x26\x00\x07\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x28\x00\x2e\x00\xa8\x00\x92\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2a\x00\x4a\x00\x2c\x00\x2d\x00\x2e\x00\xae\x00\xb3\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x76\x00\x2a\x00\x72\x00\x2c\x00\x2d\x00\x2e\x00\x10\x00\x11\x00\x12\x00\x5b\x00\x9f\x00\xa0\x00\x92\x00\xa2\x00\xa3\x00\xb3\x00\x2a\x00\x27\x00\x2c\x00\x2d\x00\x2e\x00\x05\x00\x06\x00\x92\x00\x27\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xb3\x00\x2a\x00\xac\x00\x2c\x00\x2d\x00\x2e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x4b\x00\x37\x00\x9f\x00\xa0\x00\xb3\x00\xa2\x00\xa3\x00\x9f\x00\xa0\x00\x26\x00\xaf\x00\xa3\x00\x92\x00\x05\x00\x06\x00\xb3\x00\x2a\x00\x92\x00\x2c\x00\x2d\x00\x2e\x00\x34\x00\xb3\x00\x62\x00\x55\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x4c\x00\x4d\x00\x2d\x00\x2e\x00\x2f\x00\x74\x00\x75\x00\x47\x00\x48\x00\x0e\x00\xb3\x00\x92\x00\x2c\x00\x2d\x00\x2e\x00\xb3\x00\x39\x00\x31\x00\x3b\x00\x3c\x00\x04\x00\x05\x00\x06\x00\x40\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x9f\x00\xa0\x00\x18\x00\xa2\x00\xa3\x00\x42\x00\x43\x00\x44\x00\xa6\x00\x46\x00\xa8\x00\xad\x00\xaa\x00\x9f\x00\xa0\x00\xb3\x00\xa2\x00\xa3\x00\xaf\x00\x39\x00\xb3\x00\x3b\x00\x3c\x00\x2c\x00\x2d\x00\x2e\x00\x40\x00\x09\x00\x9f\x00\xa0\x00\x75\x00\xa2\x00\xa3\x00\xb3\x00\x2c\x00\x2d\x00\x2e\x00\x9e\x00\x9f\x00\xa0\x00\x01\x00\xa2\x00\xa3\x00\x9f\x00\xa0\x00\xae\x00\xa2\x00\xa3\x00\xb3\x00\x46\x00\x2d\x00\x2e\x00\x91\x00\xac\x00\x0f\x00\x10\x00\x42\x00\x43\x00\x44\x00\x76\x00\x46\x00\x01\x00\x02\x00\xb3\x00\xaf\x00\x9e\x00\x9f\x00\xa0\x00\x15\x00\x9f\x00\xa0\x00\x63\x00\xa2\x00\xa3\x00\x45\x00\x4e\x00\x10\x00\x04\x00\x05\x00\x06\x00\x11\x00\x99\x00\x16\x00\x4c\x00\x4d\x00\x9d\x00\x93\x00\x9f\x00\xa0\x00\xb3\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\x44\x00\x45\x00\x46\x00\x20\x00\x9f\x00\xa0\x00\x95\x00\xa2\x00\xa3\x00\x98\x00\x21\x00\x9a\x00\x43\x00\xb3\x00\xb4\x00\xb5\x00\x47\x00\x48\x00\x49\x00\x08\x00\x09\x00\x6d\x00\xa5\x00\x3d\x00\xb3\x00\xa8\x00\x74\x00\x75\x00\x08\x00\x54\x00\x0a\x00\x4c\x00\x4d\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1d\x00\x4c\x00\x4d\x00\x93\x00\x9f\x00\xa0\x00\x65\x00\xa2\x00\xa3\x00\x1d\x00\x54\x00\x08\x00\x29\x00\x2a\x00\x2b\x00\x9f\x00\xa0\x00\x14\x00\xa2\x00\xa3\x00\x20\x00\x29\x00\x2a\x00\x2b\x00\xb3\x00\x05\x00\x06\x00\x65\x00\x23\x00\x9d\x00\x9f\x00\xa0\x00\x1d\x00\xa2\x00\xa3\x00\xb3\x00\xa4\x00\xa5\x00\xa6\x00\x23\x00\xa8\x00\x63\x00\xaa\x00\x14\x00\x29\x00\x2a\x00\x2b\x00\x05\x00\x06\x00\x11\x00\xb3\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x9e\x00\x9f\x00\xa0\x00\x21\x00\xa2\x00\xa3\x00\x18\x00\x14\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x11\x00\x1f\x00\x07\x00\x08\x00\x22\x00\x74\x00\x75\x00\x05\x00\x06\x00\x27\x00\x10\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x03\x00\x04\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x1a\x00\x36\x00\x37\x00\x38\x00\x03\x00\x04\x00\x14\x00\x3c\x00\x11\x00\x3d\x00\x3e\x00\x05\x00\x06\x00\x25\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x47\x00\x48\x00\x05\x00\x06\x00\x4f\x00\x50\x00\x89\x00\x3d\x00\x3e\x00\x54\x00\x55\x00\x05\x00\x06\x00\x05\x00\x91\x00\x08\x00\x09\x00\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\x9e\x00\x9f\x00\xa0\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x1c\x00\x1d\x00\x16\x00\x14\x00\x14\x00\x28\x00\x15\x00\x18\x00\x15\x00\x14\x00\x1b\x00\x21\x00\x16\x00\x29\x00\x2a\x00\x2b\x00\x14\x00\x11\x00\x20\x00\x16\x00\x10\x00\x1a\x00\x27\x00\x16\x00\x29\x00\x14\x00\x51\x00\x2c\x00\x11\x00\x24\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x11\x00\x36\x00\x37\x00\x38\x00\x20\x00\x3a\x00\x57\x00\x3c\x00\x15\x00\x11\x00\x1e\x00\x01\x00\x02\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x10\x00\x50\x00\x3d\x00\x23\x00\x1a\x00\x54\x00\x16\x00\x56\x00\x35\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1c\x00\x5d\x00\x1c\x00\x5f\x00\x15\x00\x63\x00\x62\x00\x25\x00\x23\x00\x65\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x4e\x00\x53\x00\x11\x00\x15\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x20\x00\x16\x00\x16\x00\x16\x00\x14\x00\x1c\x00\x15\x00\x18\x00\x1a\x00\x11\x00\x1b\x00\x24\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1a\x00\x19\x00\x20\x00\x27\x00\x21\x00\x29\x00\x15\x00\x15\x00\x2c\x00\x16\x00\x54\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x14\x00\x36\x00\x37\x00\x38\x00\x49\x00\x3a\x00\x11\x00\x3c\x00\x1a\x00\x1a\x00\x65\x00\x01\x00\x02\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x10\x00\x50\x00\x20\x00\x63\x00\x15\x00\x54\x00\x15\x00\x56\x00\x11\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x57\x00\x5d\x00\x11\x00\x5f\x00\x15\x00\x1c\x00\x62\x00\x1a\x00\x61\x00\x65\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x4e\x00\x63\x00\x57\x00\x11\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x1c\x00\x1c\x00\x21\x00\x11\x00\x11\x00\x11\x00\x11\x00\x18\x00\x11\x00\x11\x00\x1b\x00\x11\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x11\x00\x11\x00\x11\x00\x27\x00\x1a\x00\x29\x00\x19\x00\x11\x00\x2c\x00\x23\x00\x54\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x23\x00\x36\x00\x37\x00\x38\x00\x23\x00\x3a\x00\x3f\x00\x3c\x00\x11\x00\x19\x00\x65\x00\x01\x00\x35\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x10\x00\x50\x00\x35\x00\x35\x00\x63\x00\x54\x00\x19\x00\x15\x00\x15\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1d\x00\x5d\x00\x60\x00\x5f\x00\x23\x00\x28\x00\x62\x00\x20\x00\x63\x00\x65\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x21\x00\x14\x00\x10\x00\x15\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x15\x00\x0c\x00\x52\x00\x5b\x00\x3a\x00\x15\x00\x65\x00\x18\x00\x21\x00\x15\x00\x1b\x00\x10\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1a\x00\x11\x00\x63\x00\x27\x00\x16\x00\x29\x00\x1f\x00\x10\x00\x2c\x00\x3f\x00\x54\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x66\x00\x36\x00\x37\x00\x38\x00\x3a\x00\x3c\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x65\x00\x01\x00\x02\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x10\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\x65\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x54\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\x65\x00\x01\x00\xff\xff\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x10\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x1d\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\x65\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x01\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x10\x00\x1b\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x54\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x65\x00\x01\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\x4c\x00\x43\x00\xff\xff\xff\xff\x50\x00\x47\x00\x48\x00\x49\x00\x54\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\x5d\x00\x54\x00\xff\xff\xff\xff\xff\xff\x62\x00\xff\xff\x25\x00\x65\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x65\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\x6c\x00\x54\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x8e\x00\x50\x00\xff\xff\x91\x00\xff\xff\x54\x00\x94\x00\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\x5d\x00\xff\xff\x9e\x00\x9f\x00\xa0\x00\x62\x00\xa2\x00\xa3\x00\x65\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x65\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x54\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\x6c\x00\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x8e\x00\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x94\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xff\xff\xa2\x00\xa3\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\x50\x00\xff\xff\x1c\x00\x1d\x00\x54\x00\x1f\x00\x20\x00\xff\xff\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\x5d\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x62\x00\xff\xff\xff\xff\x65\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x64\x00\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x96\x00\xff\xff\x14\x00\x99\x00\xff\xff\x9b\x00\x18\x00\x9d\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xa8\x00\xff\xff\xaa\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\x65\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\x2a\x00\x2b\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x96\x00\xff\xff\x14\x00\x99\x00\xff\xff\x9b\x00\x18\x00\x9d\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xa8\x00\xff\xff\xaa\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x96\x00\xff\xff\xff\xff\x99\x00\xff\xff\x9b\x00\x18\x00\x9d\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xa8\x00\xff\xff\xaa\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\x08\x00\x3a\x00\x0a\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x1a\x00\x4c\x00\xff\xff\x1d\x00\xff\xff\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\x29\x00\x2a\x00\x2b\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\x65\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x96\x00\xff\xff\xff\xff\x99\x00\xff\xff\x9b\x00\x18\x00\x9d\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xa8\x00\xff\xff\xaa\x00\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\x4c\x00\xff\xff\x10\x00\xff\xff\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\x65\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\x54\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x65\x00\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x01\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x5d\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\x54\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x5d\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\x36\x00\x37\x00\x38\x00\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x5d\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x27\x00\xff\xff\xff\xff\x05\x00\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\x4b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x62\x00\x18\x00\xff\xff\x65\x00\x1b\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\x25\x00\xff\xff\x27\x00\x05\x00\x06\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x54\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\x65\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\x02\x00\xff\xff\x27\x00\x05\x00\x06\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x54\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x65\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\x27\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x2c\x00\x21\x00\x54\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x54\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x18\x00\xff\xff\xff\xff\x65\x00\x1c\x00\xff\xff\xff\xff\x1f\x00\xff\xff\xff\xff\x10\x00\x11\x00\xff\xff\x25\x00\xff\xff\x27\x00\x28\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x1e\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\x01\x00\xff\xff\x53\x00\x54\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x01\x00\x0b\x00\x03\x00\x04\x00\x05\x00\x06\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\x18\x00\x10\x00\x11\x00\x12\x00\x1c\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x53\x00\x54\x00\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\x27\x00\x28\x00\x01\x00\x2a\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x65\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x2a\x00\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x65\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x53\x00\x54\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x65\x00\xff\xff\xff\xff\x1c\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x2a\x00\xff\xff\xff\xff\x53\x00\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\x65\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x18\x00\x05\x00\x06\x00\xff\xff\x65\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x53\x00\x54\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\x65\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x65\x00\x52\x00\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x5b\x00\x12\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x18\x00\x05\x00\x06\x00\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\x01\x00\x2a\x00\xff\xff\x18\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\x18\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\x54\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x65\x00\xff\xff\x01\x00\x54\x00\xff\xff\xff\xff\x05\x00\x06\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x10\x00\xff\xff\x12\x00\x65\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x18\x00\xff\xff\xff\xff\x01\x00\x02\x00\x11\x00\xff\xff\x05\x00\x06\x00\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\xff\xff\x28\x00\x1d\x00\x10\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\x54\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x54\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x10\x00\x65\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x10\x00\x65\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x54\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x65\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\x10\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x18\x00\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x5e\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x65\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\x65\x00\x10\x00\x11\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x01\x00\x02\x00\xff\xff\x65\x00\x05\x00\x06\x00\xff\xff\x01\x00\xff\xff\xff\xff\x54\x00\x05\x00\xff\xff\xff\xff\xff\xff\x10\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\x10\x00\x18\x00\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x20\x00\xff\xff\xff\xff\x01\x00\x24\x00\xff\xff\x54\x00\x05\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\x65\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\x64\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xff\xff\x96\x00\xff\xff\xff\xff\x99\x00\xff\xff\x9b\x00\xff\xff\x9d\x00\xff\xff\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xa8\x00\xff\xff\xaa\x00\xff\xff\xac\x00\xff\xff\xff\xff\xff\xff\x65\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\x6d\x00\x6e\x00\xff\xff\x70\x00\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\x97\x00\xff\xff\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\x7d\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x85\x00\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\x71\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\x7d\x00\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x85\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xab\x00\xac\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\x7d\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x85\x00\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\x71\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\x7d\x00\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x85\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xab\x00\xac\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\xff\xff\x87\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\xff\xff\x87\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\x7d\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x85\x00\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\x71\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x85\x00\xff\xff\x87\x00\xff\xff\xff\xff\xff\xff\xff\xff\xab\x00\xac\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\xff\xff\x87\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\xff\xff\x87\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\xff\xff\x87\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\x7a\x00\x7b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x6f\x00\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x70\x00\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x6f\x00\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xab\x00\xac\x00\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x62\x00\x79\x00\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x79\x00\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xab\x00\xac\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\x65\x00\xab\x00\xac\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xab\x00\xac\x00\xff\xff\x65\x00\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xab\x00\xac\x00\xff\xff\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xab\x00\xac\x00\xff\xff\xff\xff\xff\xff\x67\x00\x68\x00\x69\x00\x6a\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xab\x00\xac\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\x68\x00\x69\x00\x6a\x00\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\x71\x00\x94\x00\xff\xff\x74\x00\x75\x00\xff\xff\x77\x00\x78\x00\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xab\x00\xac\x00\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xab\x00\xac\x00\x71\x00\xff\xff\xff\xff\x74\x00\x75\x00\xff\xff\x77\x00\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xab\x00\xac\x00\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xab\x00\xac\x00\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xab\x00\xac\x00\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xab\x00\xac\x00\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x8e\x00\xff\xff\xff\xff\x91\x00\x92\x00\xff\xff\x94\x00\xab\x00\xac\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xab\x00\xac\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# + +happyTable :: HappyAddr +happyTable = HappyA# "\x00\x00\x04\x00\x02\x00\x05\x00\x95\x00\x02\x00\x1c\x01\x0f\x03\x16\x01\x0a\x00\x08\x00\x24\x00\x0a\x00\x29\x03\x22\x00\x23\x00\x33\x00\x34\x00\x35\x00\x68\x02\x53\x02\x6c\x01\xc9\x02\x37\x02\x29\x00\x24\x00\x6c\x01\xa2\x02\xac\x01\x25\x00\x26\x00\x27\x00\x5d\x01\xae\x02\xaf\x02\x96\x00\x28\x00\xce\x02\x29\x00\xd4\xff\x02\x03\x2e\x02\xba\x01\x1c\x03\x24\x00\x24\x00\xc8\x01\xcf\x02\xd0\x02\x97\x00\x26\x00\x27\x00\x24\x00\x24\x02\x43\x02\x44\x02\x28\x00\x29\x00\x29\x00\x6c\x01\xc0\x02\xe7\x01\x24\x00\xbe\x02\x28\x03\x29\x00\x48\x01\x26\x00\x27\x00\x09\x03\xca\x02\xcb\x02\xcc\x02\x28\x00\x24\x00\x29\x00\x1d\x03\x24\x00\x2a\x00\xa6\x00\x11\x03\x1f\x01\x4a\x01\x98\x00\x7c\x01\xc9\x02\xdc\x01\x29\x00\x28\x00\xcb\x01\x29\x00\x4c\x02\x2a\x00\xc9\x01\xb2\x00\xa9\x00\x7d\x01\x9b\x00\x9c\x00\x9d\x00\x6c\x01\x8e\x02\x6d\x01\x7e\x01\x7f\x01\x1e\x01\x1f\x01\x5f\x02\x1a\x02\xec\x02\xdd\x00\x2a\x00\x2a\x00\x54\x02\x1a\x00\xd1\x01\x1a\x00\xd6\x01\xa7\x00\x2a\x00\x19\x03\xf0\x02\x9c\x00\x9d\x00\x72\x01\x1a\x00\xd1\x01\x0d\x00\x2f\x02\x2a\x00\xd1\x02\x1a\x00\x50\x02\xa7\x00\x0b\x03\xcc\x02\xa2\x01\x9c\x00\x9d\x00\x3a\x02\x36\x00\x2a\x00\x2f\x02\xd7\x01\x2a\x00\xb0\x02\x38\x00\x22\x01\x38\x00\x9e\x00\xd2\x02\xb0\x02\x36\x00\x37\x00\x38\x00\x39\x00\x2f\x02\x3a\x00\x3b\x00\x6e\x01\xcd\x02\x45\x02\x46\x02\xd3\x02\x6e\x01\x37\x00\x38\x00\x39\x00\xbb\x01\x3a\x00\x3b\x00\xd1\x02\x3c\x00\x06\x00\x2b\x00\x03\x00\x03\x00\x82\x02\x0b\x00\x0b\x00\x09\x00\xe0\x00\x0b\x00\xe2\x00\x3c\x00\x72\x00\x0a\x03\x38\x00\x22\x01\xdc\x01\x73\x00\xd2\x02\x59\x00\x47\x02\x2b\x00\x26\x03\x9d\x00\x6e\x01\x74\x00\xae\x00\x0f\x00\xbf\x02\x20\x01\xe5\x00\xd3\x02\x4b\x01\x21\x01\x72\x00\x4c\x01\xf1\x01\x4d\x01\x99\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xe1\x02\x38\x00\x22\x01\x74\x00\x4e\x01\x23\x01\xcd\x02\x4f\x01\xe8\x02\x99\x00\x20\x01\xf6\x02\x20\x01\xfd\x01\x21\x01\xa0\x00\x21\x01\x1a\x00\x50\x02\x38\x00\x9e\x00\x6e\x01\x9f\x00\x3b\x00\xa9\x02\xdd\x01\x38\x00\x22\x01\x38\x00\x22\x01\x23\x01\xd2\x01\x23\x01\xd8\x01\x38\x00\x9e\x00\x51\x02\x9f\x00\x3b\x00\xa0\x00\xde\x01\x75\x00\xd3\x01\x76\x00\x77\x00\x23\x03\x0d\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x80\x02\x1a\x00\xd6\x01\xa0\x00\x77\x02\x51\x00\xef\x01\xf0\x01\x70\x02\x71\x02\x72\x02\x73\x02\x75\x00\x7a\x00\x76\x00\x77\x00\x72\x00\xe0\x00\x78\x00\x4f\x00\x50\x00\x79\x00\xcf\x00\x21\x00\xdd\x01\x1a\x00\x9c\x02\x51\x00\xd9\x01\x74\x00\xd0\x00\x0e\x02\x0e\x00\x0f\x02\x55\x00\x7a\x00\xb5\x02\x7b\x00\x57\x00\xde\x01\x58\x00\x38\x00\x9e\x00\xd5\x02\x9f\x00\x3b\x00\x22\x00\xdc\x02\x72\x02\x73\x02\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x1a\x00\x61\x02\x7b\x00\x57\x00\xa0\x00\x58\x00\x5b\x00\x5c\x00\x1a\x00\x79\x02\xf9\x02\x0f\x00\x1a\x00\x79\x02\x41\x01\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x14\x03\x9d\x02\x37\x00\x38\x00\x39\x00\x1a\x00\x61\x02\x5b\x00\x5c\x00\xac\x02\x52\x02\x75\x00\x5c\x00\x76\x00\x77\x00\x74\x02\x15\x03\x78\x00\x4f\x00\x50\x00\x79\x00\xa9\x00\x9c\x01\xab\x00\x9c\x00\x9d\x00\x51\x00\x9d\x01\xad\x00\x9e\x01\x7f\x01\xc7\x02\xa9\x02\x75\x00\x7a\x00\x76\x00\x77\x00\xf1\x01\xfa\x01\x78\x00\x4f\x00\x50\x00\x79\x00\xa9\x00\x9c\x01\xab\x00\x9c\x00\x9d\x00\x51\x00\x9d\x01\xad\x00\x9e\x01\x7f\x01\x74\x02\xfb\x01\x55\x00\x7a\x00\xda\x01\x7b\x00\x84\x02\x62\x02\x58\x00\x6e\x02\x7a\x02\x55\x01\x56\x01\xdd\x02\x7b\x02\x9b\x00\x9c\x00\x9d\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x9f\x02\x7c\x02\x56\x00\x57\x00\x71\x01\x58\x00\x5b\x00\x5c\x00\x63\x02\x8f\x02\x64\x01\x7e\x02\x7f\x02\x38\x00\x9e\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xb1\x01\x9c\x00\x9d\x00\x1a\x00\x9c\x02\x01\x03\x13\x00\x5b\x00\x5c\x00\x38\x00\x9e\x00\x64\x01\x57\x02\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\x72\x01\x20\x03\xad\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xae\x00\x28\x03\xad\x00\x60\x02\xc3\x01\x2a\x02\x3e\xff\x78\x02\x80\x02\x24\x02\xe9\x02\xea\x02\xeb\x02\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x21\x03\x17\x02\x87\x01\x9d\x00\xae\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\x25\x02\x17\x03\xad\x00\x9e\x02\x33\x02\xa0\x00\x1c\x03\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x2b\x02\x3b\x00\x3c\x02\x1a\x02\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xfb\x02\x24\x03\xad\x00\xec\x02\xef\x02\x9d\x00\xa0\x00\xa0\x02\xde\x01\x38\x00\x9e\x00\x38\x02\x9f\x00\x3b\x00\x5a\x00\x3b\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xa5\x01\x0e\x03\xad\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xa0\x00\xde\x02\xad\x00\x24\x02\xf3\x02\x9d\x00\xf5\x01\xa6\x01\x45\x02\x46\x02\x3a\x02\x38\x00\x9e\x00\xae\x00\x9f\x00\x3b\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xae\x00\x4f\x02\xad\x00\xe6\x02\xe7\x02\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xa0\x00\xf6\x01\xf7\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x41\x01\x4c\x02\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xa0\x00\x5f\x02\xad\x00\xae\x00\xb1\x02\x9d\x00\x57\x01\xce\xfe\xa0\x00\xce\xfe\x38\x00\x9e\x00\x42\x01\x9f\x00\x3b\x00\xc1\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x3b\x02\x38\x00\x22\x01\xae\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xa0\x00\x68\x02\xad\x00\xab\x02\xc2\x00\x3f\x02\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xac\x02\x38\x00\x9e\x00\xae\x00\x9f\x00\x3b\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xae\x00\xa1\x01\xad\x00\x40\x02\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xa0\x00\x2b\x02\x3b\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xb3\x02\x38\x00\x9e\x00\xae\x00\x9f\x00\x3b\x00\x52\x01\xa0\x00\xbd\x02\xff\x02\x9b\x00\x9c\x00\x9d\x00\x4e\x01\x4a\x02\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xa0\x00\x53\x01\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xae\x00\x51\x01\xad\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xa0\x00\x56\x01\xad\x00\x5a\x02\xe7\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xab\x01\x38\x00\x9e\x00\x38\x01\x9f\x00\x3b\x00\xa9\x01\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xae\x00\x7b\x01\xad\x00\xa0\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xa0\x00\x80\x01\xad\x00\xea\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x07\x03\x64\x01\x05\x03\x27\x01\x28\x01\xae\x00\x06\x03\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\x29\x01\xac\x00\xad\x00\xa0\x00\x87\x01\x9d\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xaf\x01\x19\x02\x37\x00\x38\x00\x39\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\x1a\x02\xb6\x00\xad\x00\xb6\x01\xa7\x01\xa0\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xa8\x01\xeb\x00\xad\x00\x2b\x02\x3b\x00\x38\x00\x9e\x00\xae\x00\x9f\x00\x3b\x00\xc3\x01\xbe\x01\xc4\x01\xc5\x01\x05\x01\xae\x00\xdb\x00\x39\x01\xdc\x00\x2c\x02\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xa0\x00\x3a\x01\x35\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xfd\x02\xfe\x02\x3b\x01\x36\x01\xae\x00\x37\x01\xc8\x00\xa0\x00\x0c\x03\x0d\x03\x9b\x00\x9c\x00\x9d\x00\xae\x00\x38\x01\xa0\x00\x67\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xc2\x01\xd8\x00\xd9\x00\xea\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xeb\x00\x38\x00\x9e\x00\xae\x00\x2f\x01\x3b\x00\xa0\x00\xa9\x00\xaa\x00\xab\x00\x9c\x00\x9d\x00\xc6\x01\xf1\x00\xad\x00\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xb3\x01\x38\x00\x9e\x00\xae\x00\x9f\x00\x3b\x00\xcc\x01\xa9\x00\x59\x02\x9b\x00\x9c\x00\x9d\x00\x51\xfe\x51\xfe\xae\x00\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xa0\x00\x89\x02\x51\xfe\x9b\x00\x9c\x00\x9d\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x40\x00\x41\x00\x40\x00\x41\x00\xa0\x00\xa9\x00\x9a\x01\x9b\x00\x9c\x00\x9d\x00\xc5\x02\xc6\x02\xa2\x02\xfd\x02\x9b\x01\xa0\x00\xa9\x00\x69\x02\x9b\x00\x9c\x00\x9d\x00\xc9\x00\xcf\xfe\xb2\x01\xcf\xfe\x9b\x00\x9c\x00\x9d\x00\xae\x00\x40\x00\x41\x00\xd4\x02\xf3\x01\x15\x02\x37\x00\x38\x00\x39\x00\x16\x02\x9f\x00\x3b\x00\x2e\x02\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xa9\x00\xb8\x01\x9b\x00\x9c\x00\x9d\x00\xa9\x00\x98\x01\x9b\x00\x9c\x00\x9d\x00\x3e\x01\x9a\xff\xae\x00\x17\x02\x3f\x01\xa0\x00\xee\x01\x9a\xff\x15\x00\x40\x01\xd8\x02\xd9\x02\x16\x00\xcf\x00\x17\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xe1\x01\xd0\x00\xee\x01\xae\x00\xa9\x00\x99\x01\x9b\x00\x9c\x00\x9d\x00\xb4\x01\xf8\x01\x9b\x00\x9c\x00\x9d\x00\xff\x01\xa0\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x0d\x02\xb5\x01\x2c\x01\x9b\x00\x9c\x00\x9d\x00\x5b\x02\x5c\x02\x5d\x02\x5e\x01\x38\x00\x9e\x00\xae\x00\x9f\x00\x3b\x00\xa0\x00\xb9\x01\x68\x01\x9b\x00\x9c\x00\x9d\x00\x85\x02\x86\x02\xae\x00\x6b\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\xa0\x00\x97\x01\x74\x01\x9b\x00\x9c\x00\x9d\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x18\x00\x79\x01\x38\x00\x9e\x00\xa0\x00\x9f\x00\x3b\x00\x38\x00\xfc\x01\xf6\x02\x81\x01\xfd\x01\xae\x00\x87\x02\x88\x02\xa0\x00\x9a\x00\xae\x00\x9b\x00\x9c\x00\x9d\x00\x82\x01\xa0\x00\x19\x00\x85\x01\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x9a\x02\xf3\x01\x87\x01\x9d\x00\x88\x01\x20\x02\x13\x00\xf7\x02\xf8\x02\xb0\x00\xa0\x00\xae\x00\x90\x02\x9c\x00\x9d\x00\xa0\x00\x11\x02\x91\x02\x01\x03\x71\x00\x19\x00\x1a\x00\x1b\x00\x13\x02\x38\x00\x9e\x00\x59\x00\x9f\x00\x3b\x00\x38\x00\x9e\x00\xed\x00\x9f\x00\x3b\x00\x92\x02\x93\x02\x94\x02\x05\x01\x95\x02\xdb\x00\xf0\x00\xdc\x00\x38\x00\x9e\x00\xa0\x00\x9f\x00\x3b\x00\x17\x01\x11\x02\xa0\x00\x12\x02\x71\x00\xf4\x02\x9c\x00\x9d\x00\x13\x02\x19\x01\x38\x00\x9e\x00\x71\x00\x9f\x00\x3b\x00\xa0\x00\xf1\x02\x9c\x00\x9d\x00\x2e\x01\x38\x00\x39\x00\x3e\x00\x2f\x01\x3b\x00\x38\x00\x9e\x00\x1f\x00\x9f\x00\x3b\x00\xa0\x00\xf5\x02\xb5\x02\x9d\x00\xf9\x02\x1e\x00\xe0\x01\xe1\x01\xf2\x02\x93\x02\x94\x02\x2f\x00\x95\x02\x3e\x00\x3f\x00\xa0\x00\x0f\x00\x37\x00\x38\x00\x39\x00\x31\x02\x38\x00\x9e\x00\x19\x03\x9f\x00\x3b\x00\xb6\x02\xfa\x01\x42\x00\x1c\x00\x1a\x00\x1b\x00\x1b\x03\x89\x01\xfb\x02\x31\x02\xf3\x01\xd7\x00\x96\x02\x38\x00\x9e\x00\xa0\x00\x9f\x00\x3b\x00\xd8\x00\xd9\x00\xe3\x01\xe4\x01\xe5\x01\x55\x01\x38\x00\x9e\x00\x4b\x01\x9f\x00\x97\x02\x4c\x01\x1f\x03\x26\x02\x44\x00\xa0\x00\x8a\x01\x8b\x01\x48\x00\x49\x00\x4a\x00\xdf\x00\xe0\x00\xfe\x00\x4e\x01\x26\x03\xa0\x00\x4f\x01\x2d\x01\x13\x00\xdf\x00\x4b\x00\xe1\x00\x6a\x02\xf3\x01\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xe4\x00\xf2\x01\xf3\x01\x96\x02\x38\x00\x9e\x00\x4d\x00\x9f\x00\x3b\x00\xe4\x00\x4b\x00\xdf\x00\xe7\x00\xe8\x00\xe9\x00\x38\x00\x9e\x00\x2d\x00\x9f\x00\x97\x02\x04\x03\xe7\x00\xe8\x00\xe9\x00\xa0\x00\x91\x00\x92\x00\x4d\x00\x09\x03\x67\x01\x38\x00\x9e\x00\xe4\x00\x9f\x00\x3b\x00\xa0\x00\xd8\x00\xd9\x00\x05\x01\x51\xfe\xdb\x00\x60\x01\xdc\x00\x2d\x00\xe7\x00\xe8\x00\xe9\x00\x93\x00\x94\x00\x11\x03\xa0\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x0a\x01\xe0\x00\xe1\x00\xe2\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x0b\x01\x5a\x01\x38\x00\x39\x00\x17\x03\x2f\x01\x3b\x00\x67\x00\x2d\x00\x0c\x01\x68\x00\x0d\x01\x0e\x01\xe0\x02\xe5\x00\x30\x00\x31\x00\xbd\x00\x12\x00\x13\x00\x40\x00\x41\x00\x69\x00\xe1\x02\x0f\x01\x10\x01\x11\x01\x6a\x00\x51\xfe\x51\xfe\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\xe3\x02\x80\x00\x81\x00\x82\x00\x5f\x00\x60\x00\x2d\x00\x71\x00\xe4\x02\xa6\x02\xa7\x02\x11\x00\x12\x00\xee\x02\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x6a\x01\x6b\x01\x11\x00\x12\x00\xbe\x00\x89\x00\x1c\x02\x13\x01\x14\x01\x4b\x00\xbf\x00\x11\x00\x12\x00\x40\x00\x29\x01\xdf\x00\xe0\x00\xc0\x00\x8f\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x4d\x00\x37\x00\x38\x00\x39\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\x01\xe4\x00\xae\x02\x2d\x00\x2d\x00\xb9\x02\x8e\xfe\x51\xfe\xb3\x02\x2d\x00\x51\xfe\xc2\x02\xc9\x02\xe7\x00\xe8\x00\xe9\x00\xdb\x02\x6c\x02\x76\x02\x70\x02\x77\x02\x74\xff\x51\xfe\x7e\x02\x51\xfe\x2d\x00\x84\x02\x51\xfe\x8c\x02\x8e\x02\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x9c\x02\x51\xfe\x51\xfe\x51\xfe\x8b\x02\x51\xfe\xdc\x01\x51\xfe\x31\x02\x1c\x02\x23\x02\x3e\x00\x3f\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x42\x00\x51\xfe\xa8\x02\x3b\x01\x24\x02\x51\xfe\x2b\x01\x51\xfe\x26\x02\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x28\x02\x51\xfe\x29\x02\x51\xfe\x31\x02\x2a\x02\x51\xfe\x33\x02\x36\x02\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\xfa\x01\x35\x02\x37\x02\x70\x01\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x3e\x02\x42\x02\x43\x02\x4c\x02\x2d\x00\x65\x02\x56\x02\x51\xfe\x57\x02\xa4\x01\x51\xfe\x67\x02\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x75\xff\xa9\x01\x55\x01\x51\xfe\xab\x01\x51\xfe\x70\x01\xb8\x01\x51\xfe\xaf\x01\x4b\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\xb1\x01\x51\xfe\x51\xfe\x51\xfe\xc0\x01\x51\xfe\xc2\x01\x51\xfe\xc1\x01\x75\xff\x4d\x00\x3e\x00\x3f\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x42\x00\x51\xfe\x55\x01\xc8\x01\xcb\x01\x51\xfe\x74\x01\x51\xfe\x32\x01\x51\xfe\x51\xfe\x51\xfe\x51\xfe\xd5\x01\x51\xfe\xe6\x01\x51\xfe\x70\x01\xee\x01\x51\xfe\xff\x01\xd6\x01\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\xfa\x01\xf8\x01\xdc\x01\x0b\x02\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x0c\x02\x0d\x02\x14\x02\x17\x02\x1e\x01\x5b\xfe\x5d\xfe\x51\xfe\x5c\xfe\x5f\xfe\x51\xfe\x62\xfe\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x31\x01\x32\x01\x34\x01\x51\xfe\x3c\x01\x51\xfe\x3d\x01\x44\x01\x51\xfe\x43\x01\x4b\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x5c\x01\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x4a\x01\x51\xfe\x63\x01\x64\x01\x4d\x00\x3e\x00\x45\x01\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\xbd\x01\x51\xfe\x47\x01\x48\x01\x60\x01\x51\xfe\xfd\x00\x70\x01\x74\x01\x51\xfe\x51\xfe\x51\xfe\x51\xfe\xbc\x02\x51\xfe\x79\x01\x51\xfe\x7b\x01\x85\x01\x51\xfe\x84\x01\x87\x01\x51\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\xa1\x01\x2d\x00\xb5\x00\xa9\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xa9\x00\xef\x00\xb6\x00\xb4\x00\x12\x01\x16\x01\xb2\x00\x67\x00\x15\x01\x0d\x00\x68\x00\x19\x01\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x1b\x01\x1c\x01\x4e\x00\x69\x00\x2e\x00\x7e\x00\x2f\x00\x33\x00\x6a\x00\x1e\x00\x4b\x00\x6b\x00\x7f\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\xff\xff\x80\x00\x81\x00\x82\x00\x0e\x00\x08\x00\x00\x00\x71\x00\x00\x00\x00\x00\x4d\x00\x3e\x00\x3f\x00\x83\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x42\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x8a\x00\x00\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x90\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x4d\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x4b\x00\x6b\x00\x7f\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x4d\x00\x3e\x00\x00\x00\x83\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\xbd\x01\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\xbe\x01\x8f\x00\x00\x00\x90\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x4d\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x00\x00\x3e\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\xe1\x01\x51\xfe\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x4b\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x4d\x00\x3e\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x44\x00\x00\x00\x00\x00\x51\xfe\x48\x00\x49\x00\x4a\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x51\xfe\x4b\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x59\x02\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x4d\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\xc2\x00\x4b\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\xc3\x00\x51\xfe\x00\x00\xc4\x00\x00\x00\x51\xfe\x58\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x37\x00\x38\x00\x39\x00\x51\xfe\x5a\x00\x3b\x00\x51\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x95\x01\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x51\xfe\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x01\x8f\x00\x00\x00\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\x4d\x00\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xec\xfe\x00\x00\x00\x00\xec\xfe\x00\x00\x00\x00\xec\xfe\xec\xfe\xec\xfe\x00\x00\xec\xfe\x00\x00\xec\xfe\x00\x00\xec\xfe\x00\x00\x00\x00\x00\x00\xec\xfe\x00\x00\xec\xfe\xec\xfe\xec\xfe\xec\xfe\x00\x00\x00\x00\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xfe\x00\x00\xec\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\xec\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x00\x00\x00\x00\xec\xfe\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x95\x01\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\xec\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\xc7\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xc3\x00\x00\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x58\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x00\x00\x5a\x00\x3b\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\xe5\x02\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\xe3\x00\xe4\x00\x4b\x00\xe5\x00\x77\x01\x00\x00\x8b\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x8f\x00\x00\x00\xe7\x00\xe8\x00\xe9\x00\xe6\x02\x00\x00\x00\x00\x4d\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x95\x01\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x78\x01\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x01\x8f\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x4d\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\xd4\x00\x00\x00\x2d\x00\xd5\x00\x00\x00\xd6\x00\x51\xfe\xd7\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\xd9\x00\xda\x00\x00\x00\xdb\x00\x00\x00\xdc\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\xe3\x00\xe4\x00\x00\x00\xe5\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\x00\xe8\x00\xe9\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x51\xfe\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x4d\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\xd4\x00\x00\x00\x2d\x00\xd5\x00\x00\x00\x75\x01\x51\xfe\xd7\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\xd9\x00\xda\x00\x00\x00\xdb\x00\x00\x00\xdc\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x51\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x95\x01\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x51\xfe\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x95\x01\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\xfd\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x4d\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\xd4\x00\x00\x00\x00\x00\xd5\x00\x00\x00\x45\x01\x51\xfe\xd7\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\xd9\x00\xda\x00\x00\x00\xdb\x00\x00\x00\xdc\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x51\xfe\x51\xfe\xdf\x00\x51\xfe\xe1\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x01\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x0c\x01\x51\xfe\x00\x00\xe4\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x67\x01\x00\x00\x00\x00\x00\x00\xe7\x00\xe8\x00\xe9\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x4d\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\xd4\x00\x00\x00\x00\x00\xd5\x00\x00\x00\x75\x01\x51\xfe\xd7\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\xd9\x00\xda\x00\x00\x00\xdb\x00\x00\x00\xdc\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x51\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x51\xfe\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\xd7\x02\x00\x00\x59\x01\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x90\x00\x00\x00\x00\x00\xd8\x02\x00\x00\x00\x00\x4d\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x4b\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x8f\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x8f\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x4d\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x3e\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x51\xfe\x51\xfe\x00\x00\x51\xfe\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x51\xfe\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x7d\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x4b\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x80\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x5e\x00\x3f\x00\x5f\x00\x60\x00\x61\x00\x41\x00\x17\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x69\x00\x00\x00\x00\x00\x40\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x59\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\xc6\xfe\xc6\xfe\x43\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x18\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x67\x00\x00\x00\x4d\x00\x68\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x4f\x02\x00\x00\x69\x00\x40\x00\x41\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x4b\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x68\x00\x4d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x3f\x00\x00\x00\x69\x00\x40\x00\x41\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x4b\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xfe\x00\x00\x71\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x3f\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x00\x00\x00\x00\x00\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x67\x00\x00\x00\x00\x00\x68\x00\x4d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x69\x00\xe3\x00\xe4\x00\x00\x00\xe5\x00\x6a\x00\xe6\x00\x4b\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\xe7\x00\xe8\x00\xe9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x00\x00\x8d\x01\xe0\x00\x4b\x00\xe2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x40\x00\xa4\x00\x00\x00\x00\x00\x4d\x00\x8e\x01\x00\x00\x00\x00\xe5\x00\x00\x00\x00\x00\x25\x01\x13\x03\x00\x00\x8f\x01\x00\x00\x90\x01\x78\xff\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x14\x03\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x66\x01\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x0c\x01\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x67\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x3e\x00\x00\x00\xb0\x00\x4b\x00\x40\x00\x41\x00\x00\x00\x8d\x01\xe0\x00\x3e\x00\xe2\x00\x5f\x00\x60\x00\x40\x00\x41\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\xa4\x00\xa2\x00\x66\x01\xa3\x00\x8e\x01\x00\x00\x00\x00\xe5\x00\x00\x00\xa4\x00\x00\x00\x0c\x01\x00\x00\x8f\x01\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\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\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\xb0\x00\x4b\x00\x40\x00\x41\x00\x00\x00\x00\x00\x50\xff\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x50\xff\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\xba\x02\x78\xff\x3e\x00\xbb\x02\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x4d\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x23\x03\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\xb0\x00\x4b\x00\x50\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x4d\x00\x00\x00\x00\x00\x50\xff\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\xbb\x02\x00\x00\x00\x00\xb0\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x64\x01\x00\x00\x00\x00\x4d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x00\x00\x5f\x00\x60\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\xa4\x00\x40\x00\x41\x00\x00\x00\x4d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\xb0\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x4d\x00\xa5\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x02\xa6\x00\xa3\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\xa4\x00\x40\x00\x41\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x3e\x00\x9a\x02\x00\x00\xa4\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x9a\x02\x00\x00\xa4\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x00\x00\x4b\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x00\x00\x4d\x00\x00\x00\x3e\x00\x4b\x00\x00\x00\x00\x00\x40\x00\x41\x00\x99\x02\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\xa2\x00\x00\x00\xa3\x00\x4d\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xa4\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x0b\x01\x00\x00\x40\x00\x41\x00\x9a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x01\x00\x00\x77\xff\xe4\x00\x42\x00\xe5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\xe7\x00\xe8\x00\xe9\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x4b\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x41\x00\x00\x00\x00\x00\x4b\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x4d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xa2\x00\x4d\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x4b\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x4d\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x40\x00\x41\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\xc6\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xc7\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x40\x00\x4d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x4d\x00\x25\x01\x26\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x01\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x3e\x00\x3f\x00\x00\x00\x4d\x00\x40\x00\x41\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x4b\x00\x40\x00\x00\x00\x00\x00\x00\x00\xcb\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x00\x00\x00\x00\x59\x01\xcc\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\xe3\x00\xe4\x00\x00\x00\xe5\x00\x77\x01\x00\x00\x00\x00\x3e\x00\xab\xfe\x00\x00\x4b\x00\x40\x00\x00\x00\xe7\x00\xe8\x00\xe9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x01\xd1\x00\xd2\x00\xd3\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x78\x01\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x00\x00\xd4\x00\x00\x00\x00\x00\xd5\x00\x00\x00\xd6\x00\x00\x00\xd7\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\xd9\x00\xda\x00\x00\x00\xdb\x00\x00\x00\xdc\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\x4d\x00\xfd\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\xfe\x00\xff\x00\x00\x00\x00\x01\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x00\x00\x00\x00\x03\x01\x04\x01\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xd8\x00\xd9\x00\x05\x01\x06\x01\xdb\x00\x07\x01\x08\x01\x5b\x00\x5c\x00\xe8\x01\xb8\x00\xb9\x00\x91\x01\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x1f\x03\xea\x01\xe8\x01\xb8\x00\xb9\x00\x91\x01\xbb\x00\x76\x00\x77\x00\xeb\x01\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x51\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\xe9\x01\xea\x01\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xeb\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xe8\x01\xb8\x00\xb9\x00\x91\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x02\xea\x01\xe8\x01\xb8\x00\xb9\x00\x91\x01\xbb\x00\x76\x00\x77\x00\xeb\x01\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x51\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x02\x02\xea\x01\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xeb\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x90\x01\xb8\x00\xb9\x00\x91\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\x00\x00\xdb\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x90\x01\xb8\x00\xb9\x00\x91\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\x00\x00\x6c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xe8\x01\xb8\x00\xb9\x00\x91\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\xa3\x02\x90\x01\xb8\x00\xb9\x00\x91\x01\xbb\x00\x76\x00\x77\x00\xeb\x01\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x51\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x92\x01\x00\x00\x65\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x90\x01\xb8\x00\xb9\x00\x91\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\x00\x00\xad\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x90\x01\xb8\x00\xb9\x00\x91\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\x00\x00\x93\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x90\x01\xb8\x00\xb9\x00\x91\x01\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\x00\x00\x96\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xf9\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\xfa\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x1e\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x1f\x02\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x06\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x02\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xf6\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\xf7\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x2a\x03\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x07\x03\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\xee\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xbc\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\xc2\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x6d\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x81\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x8c\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\xa4\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x1d\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x3e\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x48\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x49\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x01\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x03\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x04\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x05\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x08\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x09\x02\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x59\x01\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x70\x01\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\xcc\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xef\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\xf4\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\xf5\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x32\x01\xb9\x00\xf3\x00\xbb\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x5b\x00\x5c\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\xf2\x00\xb9\x00\xf3\x00\xbb\x00\x76\x00\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x02\x7a\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x7a\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x01\x5c\x01\x77\x00\x5b\x00\x5c\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x01\x77\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x5b\x00\x5c\x00\x00\x00\xcd\x00\x00\x00\x00\x00\x78\x00\x4f\x00\x50\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\xce\x01\xcf\x01\xd0\x01\x4f\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x4d\x02\xd0\x01\x4f\x00\x50\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x51\x00\x58\x00\x00\x00\x52\x00\x13\x00\x00\x00\x53\x00\x21\x02\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x4e\x00\x4f\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x51\x00\x00\x00\x00\x00\x52\x00\x13\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x01\x4f\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x01\x4f\x00\x50\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x01\x4f\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\x4f\x00\x50\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x00\x4f\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x00\x00\x58\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x38\x00\x39\x00\x59\x00\x5a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# + +happyReduceArr = array (1, 442) [ + (1 , happyReduce_1), + (2 , happyReduce_2), + (3 , happyReduce_3), + (4 , happyReduce_4), + (5 , happyReduce_5), + (6 , happyReduce_6), + (7 , happyReduce_7), + (8 , happyReduce_8), + (9 , happyReduce_9), + (10 , happyReduce_10), + (11 , happyReduce_11), + (12 , happyReduce_12), + (13 , happyReduce_13), + (14 , happyReduce_14), + (15 , happyReduce_15), + (16 , happyReduce_16), + (17 , happyReduce_17), + (18 , happyReduce_18), + (19 , happyReduce_19), + (20 , happyReduce_20), + (21 , happyReduce_21), + (22 , happyReduce_22), + (23 , happyReduce_23), + (24 , happyReduce_24), + (25 , happyReduce_25), + (26 , happyReduce_26), + (27 , happyReduce_27), + (28 , happyReduce_28), + (29 , happyReduce_29), + (30 , happyReduce_30), + (31 , happyReduce_31), + (32 , happyReduce_32), + (33 , happyReduce_33), + (34 , happyReduce_34), + (35 , happyReduce_35), + (36 , happyReduce_36), + (37 , happyReduce_37), + (38 , happyReduce_38), + (39 , happyReduce_39), + (40 , happyReduce_40), + (41 , happyReduce_41), + (42 , happyReduce_42), + (43 , happyReduce_43), + (44 , happyReduce_44), + (45 , happyReduce_45), + (46 , happyReduce_46), + (47 , happyReduce_47), + (48 , happyReduce_48), + (49 , happyReduce_49), + (50 , happyReduce_50), + (51 , happyReduce_51), + (52 , happyReduce_52), + (53 , happyReduce_53), + (54 , happyReduce_54), + (55 , happyReduce_55), + (56 , happyReduce_56), + (57 , happyReduce_57), + (58 , happyReduce_58), + (59 , happyReduce_59), + (60 , happyReduce_60), + (61 , happyReduce_61), + (62 , happyReduce_62), + (63 , happyReduce_63), + (64 , happyReduce_64), + (65 , happyReduce_65), + (66 , happyReduce_66), + (67 , happyReduce_67), + (68 , happyReduce_68), + (69 , happyReduce_69), + (70 , happyReduce_70), + (71 , happyReduce_71), + (72 , happyReduce_72), + (73 , happyReduce_73), + (74 , happyReduce_74), + (75 , happyReduce_75), + (76 , happyReduce_76), + (77 , happyReduce_77), + (78 , happyReduce_78), + (79 , happyReduce_79), + (80 , happyReduce_80), + (81 , happyReduce_81), + (82 , happyReduce_82), + (83 , happyReduce_83), + (84 , happyReduce_84), + (85 , happyReduce_85), + (86 , happyReduce_86), + (87 , happyReduce_87), + (88 , happyReduce_88), + (89 , happyReduce_89), + (90 , happyReduce_90), + (91 , happyReduce_91), + (92 , happyReduce_92), + (93 , happyReduce_93), + (94 , happyReduce_94), + (95 , happyReduce_95), + (96 , happyReduce_96), + (97 , happyReduce_97), + (98 , happyReduce_98), + (99 , happyReduce_99), + (100 , happyReduce_100), + (101 , happyReduce_101), + (102 , happyReduce_102), + (103 , happyReduce_103), + (104 , happyReduce_104), + (105 , happyReduce_105), + (106 , happyReduce_106), + (107 , happyReduce_107), + (108 , happyReduce_108), + (109 , happyReduce_109), + (110 , happyReduce_110), + (111 , happyReduce_111), + (112 , happyReduce_112), + (113 , happyReduce_113), + (114 , happyReduce_114), + (115 , happyReduce_115), + (116 , happyReduce_116), + (117 , happyReduce_117), + (118 , happyReduce_118), + (119 , happyReduce_119), + (120 , happyReduce_120), + (121 , happyReduce_121), + (122 , happyReduce_122), + (123 , happyReduce_123), + (124 , happyReduce_124), + (125 , happyReduce_125), + (126 , happyReduce_126), + (127 , happyReduce_127), + (128 , happyReduce_128), + (129 , happyReduce_129), + (130 , happyReduce_130), + (131 , happyReduce_131), + (132 , happyReduce_132), + (133 , happyReduce_133), + (134 , happyReduce_134), + (135 , happyReduce_135), + (136 , happyReduce_136), + (137 , happyReduce_137), + (138 , happyReduce_138), + (139 , happyReduce_139), + (140 , happyReduce_140), + (141 , happyReduce_141), + (142 , happyReduce_142), + (143 , happyReduce_143), + (144 , happyReduce_144), + (145 , happyReduce_145), + (146 , happyReduce_146), + (147 , happyReduce_147), + (148 , happyReduce_148), + (149 , happyReduce_149), + (150 , happyReduce_150), + (151 , happyReduce_151), + (152 , happyReduce_152), + (153 , happyReduce_153), + (154 , happyReduce_154), + (155 , happyReduce_155), + (156 , happyReduce_156), + (157 , happyReduce_157), + (158 , happyReduce_158), + (159 , happyReduce_159), + (160 , happyReduce_160), + (161 , happyReduce_161), + (162 , happyReduce_162), + (163 , happyReduce_163), + (164 , happyReduce_164), + (165 , happyReduce_165), + (166 , happyReduce_166), + (167 , happyReduce_167), + (168 , happyReduce_168), + (169 , happyReduce_169), + (170 , happyReduce_170), + (171 , happyReduce_171), + (172 , happyReduce_172), + (173 , happyReduce_173), + (174 , happyReduce_174), + (175 , happyReduce_175), + (176 , happyReduce_176), + (177 , happyReduce_177), + (178 , happyReduce_178), + (179 , happyReduce_179), + (180 , happyReduce_180), + (181 , happyReduce_181), + (182 , happyReduce_182), + (183 , happyReduce_183), + (184 , happyReduce_184), + (185 , happyReduce_185), + (186 , happyReduce_186), + (187 , happyReduce_187), + (188 , happyReduce_188), + (189 , happyReduce_189), + (190 , happyReduce_190), + (191 , happyReduce_191), + (192 , happyReduce_192), + (193 , happyReduce_193), + (194 , happyReduce_194), + (195 , happyReduce_195), + (196 , happyReduce_196), + (197 , happyReduce_197), + (198 , happyReduce_198), + (199 , happyReduce_199), + (200 , happyReduce_200), + (201 , happyReduce_201), + (202 , happyReduce_202), + (203 , happyReduce_203), + (204 , happyReduce_204), + (205 , happyReduce_205), + (206 , happyReduce_206), + (207 , happyReduce_207), + (208 , happyReduce_208), + (209 , happyReduce_209), + (210 , happyReduce_210), + (211 , happyReduce_211), + (212 , happyReduce_212), + (213 , happyReduce_213), + (214 , happyReduce_214), + (215 , happyReduce_215), + (216 , happyReduce_216), + (217 , happyReduce_217), + (218 , happyReduce_218), + (219 , happyReduce_219), + (220 , happyReduce_220), + (221 , happyReduce_221), + (222 , happyReduce_222), + (223 , happyReduce_223), + (224 , happyReduce_224), + (225 , happyReduce_225), + (226 , happyReduce_226), + (227 , happyReduce_227), + (228 , happyReduce_228), + (229 , happyReduce_229), + (230 , happyReduce_230), + (231 , happyReduce_231), + (232 , happyReduce_232), + (233 , happyReduce_233), + (234 , happyReduce_234), + (235 , happyReduce_235), + (236 , happyReduce_236), + (237 , happyReduce_237), + (238 , happyReduce_238), + (239 , happyReduce_239), + (240 , happyReduce_240), + (241 , happyReduce_241), + (242 , happyReduce_242), + (243 , happyReduce_243), + (244 , happyReduce_244), + (245 , happyReduce_245), + (246 , happyReduce_246), + (247 , happyReduce_247), + (248 , happyReduce_248), + (249 , happyReduce_249), + (250 , happyReduce_250), + (251 , happyReduce_251), + (252 , happyReduce_252), + (253 , happyReduce_253), + (254 , happyReduce_254), + (255 , happyReduce_255), + (256 , happyReduce_256), + (257 , happyReduce_257), + (258 , happyReduce_258), + (259 , happyReduce_259), + (260 , happyReduce_260), + (261 , happyReduce_261), + (262 , happyReduce_262), + (263 , happyReduce_263), + (264 , happyReduce_264), + (265 , happyReduce_265), + (266 , happyReduce_266), + (267 , happyReduce_267), + (268 , happyReduce_268), + (269 , happyReduce_269), + (270 , happyReduce_270), + (271 , happyReduce_271), + (272 , happyReduce_272), + (273 , happyReduce_273), + (274 , happyReduce_274), + (275 , happyReduce_275), + (276 , happyReduce_276), + (277 , happyReduce_277), + (278 , happyReduce_278), + (279 , happyReduce_279), + (280 , happyReduce_280), + (281 , happyReduce_281), + (282 , happyReduce_282), + (283 , happyReduce_283), + (284 , happyReduce_284), + (285 , happyReduce_285), + (286 , happyReduce_286), + (287 , happyReduce_287), + (288 , happyReduce_288), + (289 , happyReduce_289), + (290 , happyReduce_290), + (291 , happyReduce_291), + (292 , happyReduce_292), + (293 , happyReduce_293), + (294 , happyReduce_294), + (295 , happyReduce_295), + (296 , happyReduce_296), + (297 , happyReduce_297), + (298 , happyReduce_298), + (299 , happyReduce_299), + (300 , happyReduce_300), + (301 , happyReduce_301), + (302 , happyReduce_302), + (303 , happyReduce_303), + (304 , happyReduce_304), + (305 , happyReduce_305), + (306 , happyReduce_306), + (307 , happyReduce_307), + (308 , happyReduce_308), + (309 , happyReduce_309), + (310 , happyReduce_310), + (311 , happyReduce_311), + (312 , happyReduce_312), + (313 , happyReduce_313), + (314 , happyReduce_314), + (315 , happyReduce_315), + (316 , happyReduce_316), + (317 , happyReduce_317), + (318 , happyReduce_318), + (319 , happyReduce_319), + (320 , happyReduce_320), + (321 , happyReduce_321), + (322 , happyReduce_322), + (323 , happyReduce_323), + (324 , happyReduce_324), + (325 , happyReduce_325), + (326 , happyReduce_326), + (327 , happyReduce_327), + (328 , happyReduce_328), + (329 , happyReduce_329), + (330 , happyReduce_330), + (331 , happyReduce_331), + (332 , happyReduce_332), + (333 , happyReduce_333), + (334 , happyReduce_334), + (335 , happyReduce_335), + (336 , happyReduce_336), + (337 , happyReduce_337), + (338 , happyReduce_338), + (339 , happyReduce_339), + (340 , happyReduce_340), + (341 , happyReduce_341), + (342 , happyReduce_342), + (343 , happyReduce_343), + (344 , happyReduce_344), + (345 , happyReduce_345), + (346 , happyReduce_346), + (347 , happyReduce_347), + (348 , happyReduce_348), + (349 , happyReduce_349), + (350 , happyReduce_350), + (351 , happyReduce_351), + (352 , happyReduce_352), + (353 , happyReduce_353), + (354 , happyReduce_354), + (355 , happyReduce_355), + (356 , happyReduce_356), + (357 , happyReduce_357), + (358 , happyReduce_358), + (359 , happyReduce_359), + (360 , happyReduce_360), + (361 , happyReduce_361), + (362 , happyReduce_362), + (363 , happyReduce_363), + (364 , happyReduce_364), + (365 , happyReduce_365), + (366 , happyReduce_366), + (367 , happyReduce_367), + (368 , happyReduce_368), + (369 , happyReduce_369), + (370 , happyReduce_370), + (371 , happyReduce_371), + (372 , happyReduce_372), + (373 , happyReduce_373), + (374 , happyReduce_374), + (375 , happyReduce_375), + (376 , happyReduce_376), + (377 , happyReduce_377), + (378 , happyReduce_378), + (379 , happyReduce_379), + (380 , happyReduce_380), + (381 , happyReduce_381), + (382 , happyReduce_382), + (383 , happyReduce_383), + (384 , happyReduce_384), + (385 , happyReduce_385), + (386 , happyReduce_386), + (387 , happyReduce_387), + (388 , happyReduce_388), + (389 , happyReduce_389), + (390 , happyReduce_390), + (391 , happyReduce_391), + (392 , happyReduce_392), + (393 , happyReduce_393), + (394 , happyReduce_394), + (395 , happyReduce_395), + (396 , happyReduce_396), + (397 , happyReduce_397), + (398 , happyReduce_398), + (399 , happyReduce_399), + (400 , happyReduce_400), + (401 , happyReduce_401), + (402 , happyReduce_402), + (403 , happyReduce_403), + (404 , happyReduce_404), + (405 , happyReduce_405), + (406 , happyReduce_406), + (407 , happyReduce_407), + (408 , happyReduce_408), + (409 , happyReduce_409), + (410 , happyReduce_410), + (411 , happyReduce_411), + (412 , happyReduce_412), + (413 , happyReduce_413), + (414 , happyReduce_414), + (415 , happyReduce_415), + (416 , happyReduce_416), + (417 , happyReduce_417), + (418 , happyReduce_418), + (419 , happyReduce_419), + (420 , happyReduce_420), + (421 , happyReduce_421), + (422 , happyReduce_422), + (423 , happyReduce_423), + (424 , happyReduce_424), + (425 , happyReduce_425), + (426 , happyReduce_426), + (427 , happyReduce_427), + (428 , happyReduce_428), + (429 , happyReduce_429), + (430 , happyReduce_430), + (431 , happyReduce_431), + (432 , happyReduce_432), + (433 , happyReduce_433), + (434 , happyReduce_434), + (435 , happyReduce_435), + (436 , happyReduce_436), + (437 , happyReduce_437), + (438 , happyReduce_438), + (439 , happyReduce_439), + (440 , happyReduce_440), + (441 , happyReduce_441), + (442 , happyReduce_442) + ] + +happy_n_terms = 103 :: Int +happy_n_nonterms = 182 :: Int + +happyReduce_1 = happyMonadReduce 1# 0# happyReduction_1 +happyReduction_1 (happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut5 happy_x_1 of { happy_var_1 -> + ( mkPageModule happy_var_1)} + ) (\r -> happyReturn (happyIn4 r)) + +happyReduce_2 = happyMonadReduce 5# 0# happyReduction_2 +happyReduction_2 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut6 happy_x_2 of { happy_var_2 -> + case happyOut176 happy_x_4 of { happy_var_4 -> + case happyOut5 happy_x_5 of { happy_var_5 -> + ( mkPage happy_var_2 happy_var_4 happy_var_5)}}} + ) (\r -> happyReturn (happyIn4 r)) + +happyReduce_3 = happySpecReduce_1 0# happyReduction_3 +happyReduction_3 happy_x_1 + = case happyOut6 happy_x_1 of { happy_var_1 -> + happyIn4 + (happy_var_1 + )} + +happyReduce_4 = happyMonadReduce 10# 1# happyReduction_4 +happyReduction_4 (happy_x_10 `HappyStk` + happy_x_9 `HappyStk` + happy_x_8 `HappyStk` + happy_x_7 `HappyStk` + happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut120 happy_x_3 of { happy_var_3 -> + case happyOut122 happy_x_4 of { happy_var_4 -> + case happyOut124 happy_x_5 of { happy_var_5 -> + case happyOut118 happy_x_7 of { happy_var_7 -> + case happyOut120 happy_x_9 of { happy_var_9 -> + ( do { n <- checkEqNames happy_var_3 happy_var_9; + let { cn = reverse happy_var_7; + as = reverse happy_var_4; }; + return $ HsXTag happy_var_1 n as happy_var_5 cn })}}}}}} + ) (\r -> happyReturn (happyIn5 r)) + +happyReduce_5 = happyReduce 6# 1# happyReduction_5 +happyReduction_5 (happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut120 happy_x_3 of { happy_var_3 -> + case happyOut122 happy_x_4 of { happy_var_4 -> + case happyOut124 happy_x_5 of { happy_var_5 -> + happyIn5 + (HsXETag happy_var_1 happy_var_3 (reverse happy_var_4) happy_var_5 + ) `HappyStk` happyRest}}}} + +happyReduce_6 = happyReduce 6# 2# happyReduction_6 +happyReduction_6 (happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut179 happy_x_3 of { happy_var_3 -> + case happyOut11 happy_x_4 of { happy_var_4 -> + case happyOut7 happy_x_6 of { happy_var_6 -> + happyIn6 + (HsModule happy_var_1 happy_var_3 happy_var_4 (fst happy_var_6) (snd happy_var_6) + ) `HappyStk` happyRest}}}} + +happyReduce_7 = happySpecReduce_2 2# happyReduction_7 +happyReduction_7 happy_x_2 + happy_x_1 + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut7 happy_x_2 of { happy_var_2 -> + happyIn6 + (HsModule happy_var_1 main_mod (Just [HsEVar (UnQual main_name)]) + (fst happy_var_2) (snd happy_var_2) + )}} + +happyReduce_8 = happySpecReduce_3 3# happyReduction_8 +happyReduction_8 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut8 happy_x_2 of { happy_var_2 -> + happyIn7 + (happy_var_2 + )} + +happyReduce_9 = happySpecReduce_3 3# happyReduction_9 +happyReduction_9 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut8 happy_x_2 of { happy_var_2 -> + happyIn7 + (happy_var_2 + )} + +happyReduce_10 = happyReduce 4# 4# happyReduction_10 +happyReduction_10 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut16 happy_x_2 of { happy_var_2 -> + case happyOut31 happy_x_4 of { happy_var_4 -> + happyIn8 + ((reverse happy_var_2, happy_var_4) + ) `HappyStk` happyRest}} + +happyReduce_11 = happySpecReduce_2 4# happyReduction_11 +happyReduction_11 happy_x_2 + happy_x_1 + = case happyOut31 happy_x_2 of { happy_var_2 -> + happyIn8 + (([], happy_var_2) + )} + +happyReduce_12 = happySpecReduce_3 4# happyReduction_12 +happyReduction_12 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut16 happy_x_2 of { happy_var_2 -> + happyIn8 + ((reverse happy_var_2, []) + )} + +happyReduce_13 = happySpecReduce_1 4# happyReduction_13 +happyReduction_13 happy_x_1 + = happyIn8 + (([], []) + ) + +happyReduce_14 = happySpecReduce_2 5# happyReduction_14 +happyReduction_14 happy_x_2 + happy_x_1 + = happyIn9 + (() + ) + +happyReduce_15 = happySpecReduce_1 6# happyReduction_15 +happyReduction_15 happy_x_1 + = happyIn10 + (() + ) + +happyReduce_16 = happySpecReduce_0 6# happyReduction_16 +happyReduction_16 = happyIn10 + (() + ) + +happyReduce_17 = happySpecReduce_1 7# happyReduction_17 +happyReduction_17 happy_x_1 + = case happyOut12 happy_x_1 of { happy_var_1 -> + happyIn11 + (Just happy_var_1 + )} + +happyReduce_18 = happySpecReduce_0 7# happyReduction_18 +happyReduction_18 = happyIn11 + (Nothing + ) + +happyReduce_19 = happyReduce 4# 8# happyReduction_19 +happyReduction_19 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut14 happy_x_2 of { happy_var_2 -> + happyIn12 + (reverse happy_var_2 + ) `HappyStk` happyRest} + +happyReduce_20 = happySpecReduce_3 8# happyReduction_20 +happyReduction_20 happy_x_3 + happy_x_2 + happy_x_1 + = happyIn12 + ([] + ) + +happyReduce_21 = happySpecReduce_1 9# happyReduction_21 +happyReduction_21 happy_x_1 + = happyIn13 + (() + ) + +happyReduce_22 = happySpecReduce_0 9# happyReduction_22 +happyReduction_22 = happyIn13 + (() + ) + +happyReduce_23 = happySpecReduce_3 10# happyReduction_23 +happyReduction_23 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut14 happy_x_1 of { happy_var_1 -> + case happyOut15 happy_x_3 of { happy_var_3 -> + happyIn14 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_24 = happySpecReduce_1 10# happyReduction_24 +happyReduction_24 happy_x_1 + = case happyOut15 happy_x_1 of { happy_var_1 -> + happyIn14 + ([happy_var_1] + )} + +happyReduce_25 = happySpecReduce_1 11# happyReduction_25 +happyReduction_25 happy_x_1 + = case happyOut149 happy_x_1 of { happy_var_1 -> + happyIn15 + (HsEVar happy_var_1 + )} + +happyReduce_26 = happySpecReduce_1 11# happyReduction_26 +happyReduction_26 happy_x_1 + = case happyOut181 happy_x_1 of { happy_var_1 -> + happyIn15 + (HsEAbs happy_var_1 + )} + +happyReduce_27 = happyReduce 4# 11# happyReduction_27 +happyReduction_27 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut181 happy_x_1 of { happy_var_1 -> + happyIn15 + (HsEThingAll happy_var_1 + ) `HappyStk` happyRest} + +happyReduce_28 = happySpecReduce_3 11# happyReduction_28 +happyReduction_28 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut181 happy_x_1 of { happy_var_1 -> + happyIn15 + (HsEThingWith happy_var_1 [] + )} + +happyReduce_29 = happyReduce 4# 11# happyReduction_29 +happyReduction_29 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut181 happy_x_1 of { happy_var_1 -> + case happyOut25 happy_x_3 of { happy_var_3 -> + happyIn15 + (HsEThingWith happy_var_1 (reverse happy_var_3) + ) `HappyStk` happyRest}} + +happyReduce_30 = happySpecReduce_2 11# happyReduction_30 +happyReduction_30 happy_x_2 + happy_x_1 + = case happyOut179 happy_x_2 of { happy_var_2 -> + happyIn15 + (HsEModuleContents happy_var_2 + )} + +happyReduce_31 = happySpecReduce_3 12# happyReduction_31 +happyReduction_31 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut16 happy_x_1 of { happy_var_1 -> + case happyOut17 happy_x_3 of { happy_var_3 -> + happyIn16 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_32 = happySpecReduce_1 12# happyReduction_32 +happyReduction_32 happy_x_1 + = case happyOut17 happy_x_1 of { happy_var_1 -> + happyIn16 + ([happy_var_1] + )} + +happyReduce_33 = happyReduce 6# 13# happyReduction_33 +happyReduction_33 (happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut18 happy_x_3 of { happy_var_3 -> + case happyOut179 happy_x_4 of { happy_var_4 -> + case happyOut19 happy_x_5 of { happy_var_5 -> + case happyOut20 happy_x_6 of { happy_var_6 -> + happyIn17 + (HsImportDecl happy_var_1 happy_var_4 happy_var_3 happy_var_5 happy_var_6 + ) `HappyStk` happyRest}}}}} + +happyReduce_34 = happySpecReduce_1 14# happyReduction_34 +happyReduction_34 happy_x_1 + = happyIn18 + (True + ) + +happyReduce_35 = happySpecReduce_0 14# happyReduction_35 +happyReduction_35 = happyIn18 + (False + ) + +happyReduce_36 = happySpecReduce_2 15# happyReduction_36 +happyReduction_36 happy_x_2 + happy_x_1 + = case happyOut179 happy_x_2 of { happy_var_2 -> + happyIn19 + (Just happy_var_2 + )} + +happyReduce_37 = happySpecReduce_0 15# happyReduction_37 +happyReduction_37 = happyIn19 + (Nothing + ) + +happyReduce_38 = happySpecReduce_1 16# happyReduction_38 +happyReduction_38 happy_x_1 + = case happyOut21 happy_x_1 of { happy_var_1 -> + happyIn20 + (Just happy_var_1 + )} + +happyReduce_39 = happySpecReduce_0 16# happyReduction_39 +happyReduction_39 = happyIn20 + (Nothing + ) + +happyReduce_40 = happyReduce 5# 17# happyReduction_40 +happyReduction_40 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut22 happy_x_1 of { happy_var_1 -> + case happyOut23 happy_x_3 of { happy_var_3 -> + happyIn21 + ((happy_var_1, reverse happy_var_3) + ) `HappyStk` happyRest}} + +happyReduce_41 = happyReduce 4# 17# happyReduction_41 +happyReduction_41 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut22 happy_x_1 of { happy_var_1 -> + happyIn21 + ((happy_var_1, []) + ) `HappyStk` happyRest} + +happyReduce_42 = happySpecReduce_1 18# happyReduction_42 +happyReduction_42 happy_x_1 + = happyIn22 + (True + ) + +happyReduce_43 = happySpecReduce_0 18# happyReduction_43 +happyReduction_43 = happyIn22 + (False + ) + +happyReduce_44 = happySpecReduce_3 19# happyReduction_44 +happyReduction_44 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut23 happy_x_1 of { happy_var_1 -> + case happyOut24 happy_x_3 of { happy_var_3 -> + happyIn23 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_45 = happySpecReduce_1 19# happyReduction_45 +happyReduction_45 happy_x_1 + = case happyOut24 happy_x_1 of { happy_var_1 -> + happyIn23 + ([happy_var_1] + )} + +happyReduce_46 = happySpecReduce_1 20# happyReduction_46 +happyReduction_46 happy_x_1 + = case happyOut147 happy_x_1 of { happy_var_1 -> + happyIn24 + (HsIVar happy_var_1 + )} + +happyReduce_47 = happySpecReduce_1 20# happyReduction_47 +happyReduction_47 happy_x_1 + = case happyOut180 happy_x_1 of { happy_var_1 -> + happyIn24 + (HsIAbs happy_var_1 + )} + +happyReduce_48 = happyReduce 4# 20# happyReduction_48 +happyReduction_48 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut180 happy_x_1 of { happy_var_1 -> + happyIn24 + (HsIThingAll happy_var_1 + ) `HappyStk` happyRest} + +happyReduce_49 = happySpecReduce_3 20# happyReduction_49 +happyReduction_49 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut180 happy_x_1 of { happy_var_1 -> + happyIn24 + (HsIThingWith happy_var_1 [] + )} + +happyReduce_50 = happyReduce 4# 20# happyReduction_50 +happyReduction_50 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut180 happy_x_1 of { happy_var_1 -> + case happyOut25 happy_x_3 of { happy_var_3 -> + happyIn24 + (HsIThingWith happy_var_1 (reverse happy_var_3) + ) `HappyStk` happyRest}} + +happyReduce_51 = happySpecReduce_3 21# happyReduction_51 +happyReduction_51 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut25 happy_x_1 of { happy_var_1 -> + case happyOut26 happy_x_3 of { happy_var_3 -> + happyIn25 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_52 = happySpecReduce_1 21# happyReduction_52 +happyReduction_52 happy_x_1 + = case happyOut26 happy_x_1 of { happy_var_1 -> + happyIn25 + ([happy_var_1] + )} + +happyReduce_53 = happySpecReduce_1 22# happyReduction_53 +happyReduction_53 happy_x_1 + = case happyOut147 happy_x_1 of { happy_var_1 -> + happyIn26 + (HsVarName happy_var_1 + )} + +happyReduce_54 = happySpecReduce_1 22# happyReduction_54 +happyReduction_54 happy_x_1 + = case happyOut151 happy_x_1 of { happy_var_1 -> + happyIn26 + (HsConName happy_var_1 + )} + +happyReduce_55 = happyReduce 4# 23# happyReduction_55 +happyReduction_55 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut29 happy_x_2 of { happy_var_2 -> + case happyOut28 happy_x_3 of { happy_var_3 -> + case happyOut30 happy_x_4 of { happy_var_4 -> + happyIn27 + (HsInfixDecl happy_var_1 happy_var_2 happy_var_3 (reverse happy_var_4) + ) `HappyStk` happyRest}}}} + +happyReduce_56 = happySpecReduce_0 24# happyReduction_56 +happyReduction_56 = happyIn28 + (9 + ) + +happyReduce_57 = happyMonadReduce 1# 24# happyReduction_57 +happyReduction_57 (happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOutTok happy_x_1 of { (IntTok happy_var_1) -> + ( checkPrec happy_var_1)} + ) (\r -> happyReturn (happyIn28 r)) + +happyReduce_58 = happySpecReduce_1 25# happyReduction_58 +happyReduction_58 happy_x_1 + = happyIn29 + (HsAssocNone + ) + +happyReduce_59 = happySpecReduce_1 25# happyReduction_59 +happyReduction_59 happy_x_1 + = happyIn29 + (HsAssocLeft + ) + +happyReduce_60 = happySpecReduce_1 25# happyReduction_60 +happyReduction_60 happy_x_1 + = happyIn29 + (HsAssocRight + ) + +happyReduce_61 = happySpecReduce_3 26# happyReduction_61 +happyReduction_61 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut30 happy_x_1 of { happy_var_1 -> + case happyOut158 happy_x_3 of { happy_var_3 -> + happyIn30 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_62 = happySpecReduce_1 26# happyReduction_62 +happyReduction_62 happy_x_1 + = case happyOut158 happy_x_1 of { happy_var_1 -> + happyIn30 + ([happy_var_1] + )} + +happyReduce_63 = happyMonadReduce 2# 27# happyReduction_63 +happyReduction_63 (happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut32 happy_x_1 of { happy_var_1 -> + ( checkRevDecls happy_var_1)} + ) (\r -> happyReturn (happyIn31 r)) + +happyReduce_64 = happySpecReduce_3 28# happyReduction_64 +happyReduction_64 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut32 happy_x_1 of { happy_var_1 -> + case happyOut33 happy_x_3 of { happy_var_3 -> + happyIn32 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_65 = happySpecReduce_1 28# happyReduction_65 +happyReduction_65 happy_x_1 + = case happyOut33 happy_x_1 of { happy_var_1 -> + happyIn32 + ([happy_var_1] + )} + +happyReduce_66 = happyMonadReduce 5# 29# happyReduction_66 +happyReduction_66 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut46 happy_x_3 of { happy_var_3 -> + case happyOut52 happy_x_5 of { happy_var_5 -> + ( do { (c,ts) <- checkSimpleType happy_var_3; + return (HsTypeDecl happy_var_1 c ts happy_var_5) })}}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_67 = happyMonadReduce 5# 29# happyReduction_67 +happyReduction_67 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_4 of { happy_var_4 -> + case happyOut82 happy_x_5 of { happy_var_5 -> + ( do { (c,ts) <- checkSimpleType happy_var_4; + return (HsTypeFamDecl happy_var_1 c ts happy_var_5) })}}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_68 = happyMonadReduce 6# 29# happyReduction_68 +happyReduction_68 (happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut46 happy_x_4 of { happy_var_4 -> + case happyOut52 happy_x_6 of { happy_var_6 -> + ( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns + return (HsTypeInsDecl happy_var_1 happy_var_4 happy_var_6) })}}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_69 = happyMonadReduce 5# 29# happyReduction_69 +happyReduction_69 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { happy_var_2 -> + case happyOut52 happy_x_3 of { happy_var_3 -> + case happyOut66 happy_x_4 of { happy_var_4 -> + case happyOut78 happy_x_5 of { happy_var_5 -> + ( do { (cs,c,t) <- checkDataHeader happy_var_3; + checkDataOrNew happy_var_2 happy_var_4; + return (HsDataDecl happy_var_1 happy_var_2 cs c t (reverse happy_var_4) happy_var_5) })}}}}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_70 = happyMonadReduce 6# 29# happyReduction_70 +happyReduction_70 (happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { happy_var_2 -> + case happyOut52 happy_x_3 of { happy_var_3 -> + case happyOut82 happy_x_4 of { happy_var_4 -> + case happyOut62 happy_x_6 of { happy_var_6 -> + ( do { (cs,c,t) <- checkDataHeader happy_var_3; + checkDataOrNew happy_var_2 happy_var_6; + return (HsGDataDecl happy_var_1 happy_var_2 cs c t happy_var_4 (reverse happy_var_6)) })}}}}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_71 = happyMonadReduce 5# 29# happyReduction_71 +happyReduction_71 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut52 happy_x_4 of { happy_var_4 -> + case happyOut82 happy_x_5 of { happy_var_5 -> + ( do { (cs,c,t) <- checkDataHeader happy_var_4; + return (HsDataFamDecl happy_var_1 cs c t happy_var_5) })}}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_72 = happyMonadReduce 6# 29# happyReduction_72 +happyReduction_72 (happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { happy_var_2 -> + case happyOut52 happy_x_4 of { happy_var_4 -> + case happyOut66 happy_x_5 of { happy_var_5 -> + case happyOut78 happy_x_6 of { happy_var_6 -> + ( do { -- (cs,c,t) <- checkDataHeader happy_var_4; + checkDataOrNew happy_var_2 happy_var_5; + return (HsDataInsDecl happy_var_1 happy_var_2 happy_var_4 (reverse happy_var_5) happy_var_6) })}}}}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_73 = happyMonadReduce 7# 29# happyReduction_73 +happyReduction_73 (happy_x_7 `HappyStk` + happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { happy_var_2 -> + case happyOut52 happy_x_4 of { happy_var_4 -> + case happyOut82 happy_x_5 of { happy_var_5 -> + case happyOut62 happy_x_7 of { happy_var_7 -> + ( do { -- (cs,c,t) <- checkDataHeader happy_var_4; + checkDataOrNew happy_var_2 happy_var_7; + return (HsGDataInsDecl happy_var_1 happy_var_2 happy_var_4 happy_var_5 (reverse happy_var_7)) })}}}}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_74 = happyMonadReduce 5# 29# happyReduction_74 +happyReduction_74 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut52 happy_x_3 of { happy_var_3 -> + case happyOut59 happy_x_4 of { happy_var_4 -> + case happyOut83 happy_x_5 of { happy_var_5 -> + ( do { (cs,c,vs) <- checkClassHeader happy_var_3; + return (HsClassDecl happy_var_1 cs c vs happy_var_4 happy_var_5) })}}}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_75 = happyMonadReduce 4# 29# happyReduction_75 +happyReduction_75 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut52 happy_x_3 of { happy_var_3 -> + case happyOut89 happy_x_4 of { happy_var_4 -> + ( do { (cs,c,ts) <- checkInstHeader happy_var_3; + return (HsInstDecl happy_var_1 cs c ts happy_var_4) })}}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_76 = happyMonadReduce 4# 29# happyReduction_76 +happyReduction_76 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut52 happy_x_4 of { happy_var_4 -> + ( do { (cs, c, ts) <- checkInstHeader happy_var_4; + return (HsDerivDecl happy_var_1 cs c ts) })}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_77 = happyReduce 5# 29# happyReduction_77 +happyReduction_77 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut35 happy_x_4 of { happy_var_4 -> + happyIn33 + (HsDefaultDecl happy_var_1 happy_var_4 + ) `HappyStk` happyRest}} + +happyReduce_78 = happyMonadReduce 4# 29# happyReduction_78 +happyReduction_78 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut99 happy_x_3 of { happy_var_3 -> + ( do { e <- checkExpr happy_var_3; + return $ HsSpliceDecl happy_var_1 $ HsParenSplice e })}} + ) (\r -> happyReturn (happyIn33 r)) + +happyReduce_79 = happyReduce 6# 29# happyReduction_79 +happyReduction_79 (happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut43 happy_x_4 of { happy_var_4 -> + case happyOut44 happy_x_5 of { happy_var_5 -> + case happyOut45 happy_x_6 of { happy_var_6 -> + happyIn33 + (let (s,n,t) = happy_var_6 in HsForImp happy_var_1 happy_var_4 happy_var_5 s n t + ) `HappyStk` happyRest}}}} + +happyReduce_80 = happyReduce 5# 29# happyReduction_80 +happyReduction_80 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut43 happy_x_4 of { happy_var_4 -> + case happyOut45 happy_x_5 of { happy_var_5 -> + happyIn33 + (let (s,n,t) = happy_var_5 in HsForExp happy_var_1 happy_var_4 s n t + ) `HappyStk` happyRest}}} + +happyReduce_81 = happySpecReduce_1 29# happyReduction_81 +happyReduction_81 happy_x_1 + = case happyOut38 happy_x_1 of { happy_var_1 -> + happyIn33 + (happy_var_1 + )} + +happyReduce_82 = happySpecReduce_1 30# happyReduction_82 +happyReduction_82 happy_x_1 + = happyIn34 + (DataType + ) + +happyReduce_83 = happySpecReduce_1 30# happyReduction_83 +happyReduction_83 happy_x_1 + = happyIn34 + (NewType + ) + +happyReduce_84 = happySpecReduce_1 31# happyReduction_84 +happyReduction_84 happy_x_1 + = case happyOut54 happy_x_1 of { happy_var_1 -> + happyIn35 + (reverse happy_var_1 + )} + +happyReduce_85 = happySpecReduce_1 31# happyReduction_85 +happyReduction_85 happy_x_1 + = case happyOut47 happy_x_1 of { happy_var_1 -> + happyIn35 + ([happy_var_1] + )} + +happyReduce_86 = happySpecReduce_0 31# happyReduction_86 +happyReduction_86 = happyIn35 + ([] + ) + +happyReduce_87 = happyMonadReduce 3# 32# happyReduction_87 +happyReduction_87 (happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut37 happy_x_2 of { happy_var_2 -> + ( checkRevDecls happy_var_2)} + ) (\r -> happyReturn (happyIn36 r)) + +happyReduce_88 = happySpecReduce_1 32# happyReduction_88 +happyReduction_88 happy_x_1 + = happyIn36 + ([] + ) + +happyReduce_89 = happySpecReduce_3 33# happyReduction_89 +happyReduction_89 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut37 happy_x_1 of { happy_var_1 -> + case happyOut38 happy_x_3 of { happy_var_3 -> + happyIn37 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_90 = happySpecReduce_1 33# happyReduction_90 +happyReduction_90 happy_x_1 + = case happyOut38 happy_x_1 of { happy_var_1 -> + happyIn37 + ([happy_var_1] + )} + +happyReduce_91 = happySpecReduce_1 34# happyReduction_91 +happyReduction_91 happy_x_1 + = case happyOut40 happy_x_1 of { happy_var_1 -> + happyIn38 + (happy_var_1 + )} + +happyReduce_92 = happySpecReduce_1 34# happyReduction_92 +happyReduction_92 happy_x_1 + = case happyOut27 happy_x_1 of { happy_var_1 -> + happyIn38 + (happy_var_1 + )} + +happyReduce_93 = happySpecReduce_1 34# happyReduction_93 +happyReduction_93 happy_x_1 + = case happyOut94 happy_x_1 of { happy_var_1 -> + happyIn38 + (happy_var_1 + )} + +happyReduce_94 = happySpecReduce_3 35# happyReduction_94 +happyReduction_94 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut36 happy_x_2 of { happy_var_2 -> + happyIn39 + (happy_var_2 + )} + +happyReduce_95 = happySpecReduce_3 35# happyReduction_95 +happyReduction_95 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut36 happy_x_2 of { happy_var_2 -> + happyIn39 + (happy_var_2 + )} + +happyReduce_96 = happyReduce 4# 36# happyReduction_96 +happyReduction_96 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_2 of { happy_var_2 -> + case happyOut52 happy_x_4 of { happy_var_4 -> + happyIn40 + (HsTypeSig happy_var_1 (reverse happy_var_2) happy_var_4 + ) `HappyStk` happyRest}}} + +happyReduce_97 = happySpecReduce_1 37# happyReduction_97 +happyReduction_97 happy_x_1 + = case happyOut39 happy_x_1 of { happy_var_1 -> + happyIn41 + (HsBDecls happy_var_1 + )} + +happyReduce_98 = happySpecReduce_3 37# happyReduction_98 +happyReduction_98 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut143 happy_x_2 of { happy_var_2 -> + happyIn41 + (HsIPBinds happy_var_2 + )} + +happyReduce_99 = happySpecReduce_3 37# happyReduction_99 +happyReduction_99 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut143 happy_x_2 of { happy_var_2 -> + happyIn41 + (HsIPBinds happy_var_2 + )} + +happyReduce_100 = happySpecReduce_3 38# happyReduction_100 +happyReduction_100 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut42 happy_x_1 of { happy_var_1 -> + case happyOut147 happy_x_3 of { happy_var_3 -> + happyIn42 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_101 = happyMonadReduce 1# 38# happyReduction_101 +happyReduction_101 (happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut149 happy_x_1 of { happy_var_1 -> + ( do { n <- checkUnQual happy_var_1; + return [n] })} + ) (\r -> happyReturn (happyIn42 r)) + +happyReduce_102 = happySpecReduce_1 39# happyReduction_102 +happyReduction_102 happy_x_1 + = happyIn43 + (StdCall + ) + +happyReduce_103 = happySpecReduce_1 39# happyReduction_103 +happyReduction_103 happy_x_1 + = happyIn43 + (CCall + ) + +happyReduce_104 = happySpecReduce_1 40# happyReduction_104 +happyReduction_104 happy_x_1 + = happyIn44 + (PlaySafe False + ) + +happyReduce_105 = happySpecReduce_1 40# happyReduction_105 +happyReduction_105 happy_x_1 + = happyIn44 + (PlayRisky + ) + +happyReduce_106 = happySpecReduce_1 40# happyReduction_106 +happyReduction_106 happy_x_1 + = happyIn44 + (PlaySafe True + ) + +happyReduce_107 = happySpecReduce_0 40# happyReduction_107 +happyReduction_107 = happyIn44 + (PlaySafe False + ) + +happyReduce_108 = happyReduce 4# 41# happyReduction_108 +happyReduction_108 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOutTok happy_x_1 of { (StringTok happy_var_1) -> + case happyOut148 happy_x_2 of { happy_var_2 -> + case happyOut46 happy_x_4 of { happy_var_4 -> + happyIn45 + ((happy_var_1, happy_var_2, happy_var_4) + ) `HappyStk` happyRest}}} + +happyReduce_109 = happySpecReduce_3 41# happyReduction_109 +happyReduction_109 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut148 happy_x_1 of { happy_var_1 -> + case happyOut46 happy_x_3 of { happy_var_3 -> + happyIn45 + (("", happy_var_1, happy_var_3) + )}} + +happyReduce_110 = happySpecReduce_1 42# happyReduction_110 +happyReduction_110 happy_x_1 + = case happyOut48 happy_x_1 of { happy_var_1 -> + happyIn46 + (happy_var_1 + )} + +happyReduce_111 = happySpecReduce_3 42# happyReduction_111 +happyReduction_111 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut48 happy_x_1 of { happy_var_1 -> + case happyOut51 happy_x_2 of { happy_var_2 -> + case happyOut46 happy_x_3 of { happy_var_3 -> + happyIn46 + (HsTyInfix happy_var_1 happy_var_2 happy_var_3 + )}}} + +happyReduce_112 = happySpecReduce_3 42# happyReduction_112 +happyReduction_112 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut48 happy_x_1 of { happy_var_1 -> + case happyOut184 happy_x_2 of { happy_var_2 -> + case happyOut46 happy_x_3 of { happy_var_3 -> + happyIn46 + (HsTyInfix happy_var_1 happy_var_2 happy_var_3 + )}}} + +happyReduce_113 = happySpecReduce_3 42# happyReduction_113 +happyReduction_113 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut48 happy_x_1 of { happy_var_1 -> + case happyOut46 happy_x_3 of { happy_var_3 -> + happyIn46 + (HsTyFun happy_var_1 happy_var_3 + )}} + +happyReduce_114 = happySpecReduce_3 42# happyReduction_114 +happyReduction_114 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut48 happy_x_1 of { happy_var_1 -> + case happyOut48 happy_x_3 of { happy_var_3 -> + happyIn46 + (HsTyPred $ HsEqualP happy_var_1 happy_var_3 + )}} + +happyReduce_115 = happySpecReduce_3 43# happyReduction_115 +happyReduction_115 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut150 happy_x_1 of { happy_var_1 -> + case happyOut46 happy_x_3 of { happy_var_3 -> + happyIn47 + (HsTyPred $ HsIParam happy_var_1 happy_var_3 + )}} + +happyReduce_116 = happySpecReduce_1 43# happyReduction_116 +happyReduction_116 happy_x_1 + = case happyOut46 happy_x_1 of { happy_var_1 -> + happyIn47 + (happy_var_1 + )} + +happyReduce_117 = happySpecReduce_2 44# happyReduction_117 +happyReduction_117 happy_x_2 + happy_x_1 + = case happyOut48 happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_2 of { happy_var_2 -> + happyIn48 + (HsTyApp happy_var_1 happy_var_2 + )}} + +happyReduce_118 = happySpecReduce_1 44# happyReduction_118 +happyReduction_118 happy_x_1 + = case happyOut49 happy_x_1 of { happy_var_1 -> + happyIn48 + (happy_var_1 + )} + +happyReduce_119 = happySpecReduce_1 45# happyReduction_119 +happyReduction_119 happy_x_1 + = case happyOut50 happy_x_1 of { happy_var_1 -> + happyIn49 + (HsTyCon happy_var_1 + )} + +happyReduce_120 = happySpecReduce_1 45# happyReduction_120 +happyReduction_120 happy_x_1 + = case happyOut183 happy_x_1 of { happy_var_1 -> + happyIn49 + (HsTyVar happy_var_1 + )} + +happyReduce_121 = happySpecReduce_3 45# happyReduction_121 +happyReduction_121 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut54 happy_x_2 of { happy_var_2 -> + happyIn49 + (HsTyTuple Boxed (reverse happy_var_2) + )} + +happyReduce_122 = happySpecReduce_3 45# happyReduction_122 +happyReduction_122 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut55 happy_x_2 of { happy_var_2 -> + happyIn49 + (HsTyTuple Unboxed (reverse happy_var_2) + )} + +happyReduce_123 = happySpecReduce_3 45# happyReduction_123 +happyReduction_123 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut47 happy_x_2 of { happy_var_2 -> + happyIn49 + (HsTyApp list_tycon happy_var_2 + )} + +happyReduce_124 = happySpecReduce_3 45# happyReduction_124 +happyReduction_124 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut52 happy_x_2 of { happy_var_2 -> + happyIn49 + (happy_var_2 + )} + +happyReduce_125 = happyReduce 5# 45# happyReduction_125 +happyReduction_125 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut52 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + happyIn49 + (HsTyKind happy_var_2 happy_var_4 + ) `HappyStk` happyRest}} + +happyReduce_126 = happySpecReduce_1 46# happyReduction_126 +happyReduction_126 happy_x_1 + = case happyOut166 happy_x_1 of { happy_var_1 -> + happyIn50 + (happy_var_1 + )} + +happyReduce_127 = happySpecReduce_2 46# happyReduction_127 +happyReduction_127 happy_x_2 + happy_x_1 + = happyIn50 + (unit_tycon_name + ) + +happyReduce_128 = happySpecReduce_3 46# happyReduction_128 +happyReduction_128 happy_x_3 + happy_x_2 + happy_x_1 + = happyIn50 + (fun_tycon_name + ) + +happyReduce_129 = happySpecReduce_2 46# happyReduction_129 +happyReduction_129 happy_x_2 + happy_x_1 + = happyIn50 + (list_tycon_name + ) + +happyReduce_130 = happySpecReduce_3 46# happyReduction_130 +happyReduction_130 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut113 happy_x_2 of { happy_var_2 -> + happyIn50 + (tuple_tycon_name happy_var_2 + )} + +happyReduce_131 = happySpecReduce_1 47# happyReduction_131 +happyReduction_131 happy_x_1 + = case happyOut157 happy_x_1 of { happy_var_1 -> + happyIn51 + (happy_var_1 + )} + +happyReduce_132 = happyReduce 4# 48# happyReduction_132 +happyReduction_132 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut56 happy_x_2 of { happy_var_2 -> + case happyOut52 happy_x_4 of { happy_var_4 -> + happyIn52 + (mkHsTyForall (Just happy_var_2) [] happy_var_4 + ) `HappyStk` happyRest}} + +happyReduce_133 = happySpecReduce_3 48# happyReduction_133 +happyReduction_133 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut53 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_3 of { happy_var_3 -> + happyIn52 + (mkHsTyForall Nothing happy_var_1 happy_var_3 + )}} + +happyReduce_134 = happySpecReduce_1 48# happyReduction_134 +happyReduction_134 happy_x_1 + = case happyOut47 happy_x_1 of { happy_var_1 -> + happyIn52 + (happy_var_1 + )} + +happyReduce_135 = happyMonadReduce 1# 49# happyReduction_135 +happyReduction_135 (happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut48 happy_x_1 of { happy_var_1 -> + ( checkContext happy_var_1)} + ) (\r -> happyReturn (happyIn53 r)) + +happyReduce_136 = happyMonadReduce 3# 49# happyReduction_136 +happyReduction_136 (happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut48 happy_x_1 of { happy_var_1 -> + case happyOut48 happy_x_3 of { happy_var_3 -> + ( checkContext (HsTyPred $ HsEqualP happy_var_1 happy_var_3))}} + ) (\r -> happyReturn (happyIn53 r)) + +happyReduce_137 = happySpecReduce_3 50# happyReduction_137 +happyReduction_137 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut55 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_3 of { happy_var_3 -> + happyIn54 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_138 = happySpecReduce_1 51# happyReduction_138 +happyReduction_138 happy_x_1 + = case happyOut47 happy_x_1 of { happy_var_1 -> + happyIn55 + ([happy_var_1] + )} + +happyReduce_139 = happySpecReduce_3 51# happyReduction_139 +happyReduction_139 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut55 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_3 of { happy_var_3 -> + happyIn55 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_140 = happySpecReduce_2 52# happyReduction_140 +happyReduction_140 happy_x_2 + happy_x_1 + = case happyOut56 happy_x_1 of { happy_var_1 -> + case happyOut57 happy_x_2 of { happy_var_2 -> + happyIn56 + (happy_var_2 : happy_var_1 + )}} + +happyReduce_141 = happySpecReduce_0 52# happyReduction_141 +happyReduction_141 = happyIn56 + ([] + ) + +happyReduce_142 = happySpecReduce_1 53# happyReduction_142 +happyReduction_142 happy_x_1 + = case happyOut183 happy_x_1 of { happy_var_1 -> + happyIn57 + (HsUnkindedVar happy_var_1 + )} + +happyReduce_143 = happyReduce 5# 53# happyReduction_143 +happyReduction_143 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut183 happy_x_2 of { happy_var_2 -> + case happyOut80 happy_x_4 of { happy_var_4 -> + happyIn57 + (HsKindedVar happy_var_2 happy_var_4 + ) `HappyStk` happyRest}} + +happyReduce_144 = happySpecReduce_2 54# happyReduction_144 +happyReduction_144 happy_x_2 + happy_x_1 + = case happyOut58 happy_x_1 of { happy_var_1 -> + case happyOut183 happy_x_2 of { happy_var_2 -> + happyIn58 + (happy_var_2 : happy_var_1 + )}} + +happyReduce_145 = happySpecReduce_0 54# happyReduction_145 +happyReduction_145 = happyIn58 + ([] + ) + +happyReduce_146 = happySpecReduce_0 55# happyReduction_146 +happyReduction_146 = happyIn59 + ([] + ) + +happyReduce_147 = happySpecReduce_2 55# happyReduction_147 +happyReduction_147 happy_x_2 + happy_x_1 + = case happyOut60 happy_x_2 of { happy_var_2 -> + happyIn59 + (reverse happy_var_2 + )} + +happyReduce_148 = happySpecReduce_3 56# happyReduction_148 +happyReduction_148 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut60 happy_x_1 of { happy_var_1 -> + case happyOut61 happy_x_3 of { happy_var_3 -> + happyIn60 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_149 = happySpecReduce_1 56# happyReduction_149 +happyReduction_149 happy_x_1 + = case happyOut61 happy_x_1 of { happy_var_1 -> + happyIn60 + ([happy_var_1] + )} + +happyReduce_150 = happySpecReduce_3 57# happyReduction_150 +happyReduction_150 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut58 happy_x_1 of { happy_var_1 -> + case happyOut58 happy_x_3 of { happy_var_3 -> + happyIn61 + (HsFunDep (reverse happy_var_1) (reverse happy_var_3) + )}} + +happyReduce_151 = happySpecReduce_3 58# happyReduction_151 +happyReduction_151 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut63 happy_x_2 of { happy_var_2 -> + happyIn62 + (happy_var_2 + )} + +happyReduce_152 = happySpecReduce_3 58# happyReduction_152 +happyReduction_152 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut63 happy_x_2 of { happy_var_2 -> + happyIn62 + (happy_var_2 + )} + +happyReduce_153 = happySpecReduce_3 59# happyReduction_153 +happyReduction_153 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut64 happy_x_2 of { happy_var_2 -> + happyIn63 + (happy_var_2 + )} + +happyReduce_154 = happySpecReduce_3 60# happyReduction_154 +happyReduction_154 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut64 happy_x_1 of { happy_var_1 -> + case happyOut65 happy_x_3 of { happy_var_3 -> + happyIn64 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_155 = happySpecReduce_1 60# happyReduction_155 +happyReduction_155 happy_x_1 + = case happyOut65 happy_x_1 of { happy_var_1 -> + happyIn64 + ([happy_var_1] + )} + +happyReduce_156 = happyMonadReduce 4# 61# happyReduction_156 +happyReduction_156 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut152 happy_x_2 of { happy_var_2 -> + case happyOut52 happy_x_4 of { happy_var_4 -> + ( do { c <- checkUnQual happy_var_2; + return $ HsGadtDecl happy_var_1 c happy_var_4 })}}} + ) (\r -> happyReturn (happyIn65 r)) + +happyReduce_157 = happySpecReduce_0 62# happyReduction_157 +happyReduction_157 = happyIn66 + ([] + ) + +happyReduce_158 = happySpecReduce_2 62# happyReduction_158 +happyReduction_158 happy_x_2 + happy_x_1 + = case happyOut67 happy_x_2 of { happy_var_2 -> + happyIn66 + (happy_var_2 + )} + +happyReduce_159 = happySpecReduce_3 63# happyReduction_159 +happyReduction_159 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut67 happy_x_1 of { happy_var_1 -> + case happyOut68 happy_x_3 of { happy_var_3 -> + happyIn67 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_160 = happySpecReduce_1 63# happyReduction_160 +happyReduction_160 happy_x_1 + = case happyOut68 happy_x_1 of { happy_var_1 -> + happyIn67 + ([happy_var_1] + )} + +happyReduce_161 = happyReduce 5# 64# happyReduction_161 +happyReduction_161 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut69 happy_x_2 of { happy_var_2 -> + case happyOut53 happy_x_3 of { happy_var_3 -> + case happyOut70 happy_x_5 of { happy_var_5 -> + happyIn68 + (HsQualConDecl happy_var_1 happy_var_2 happy_var_3 happy_var_5 + ) `HappyStk` happyRest}}}} + +happyReduce_162 = happySpecReduce_3 64# happyReduction_162 +happyReduction_162 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut69 happy_x_2 of { happy_var_2 -> + case happyOut70 happy_x_3 of { happy_var_3 -> + happyIn68 + (HsQualConDecl happy_var_1 happy_var_2 [] happy_var_3 + )}}} + +happyReduce_163 = happySpecReduce_3 65# happyReduction_163 +happyReduction_163 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut56 happy_x_2 of { happy_var_2 -> + happyIn69 + (happy_var_2 + )} + +happyReduce_164 = happySpecReduce_0 65# happyReduction_164 +happyReduction_164 = happyIn69 + ([] + ) + +happyReduce_165 = happySpecReduce_1 66# happyReduction_165 +happyReduction_165 happy_x_1 + = case happyOut71 happy_x_1 of { happy_var_1 -> + happyIn70 + (HsConDecl (fst happy_var_1) (snd happy_var_1) + )} + +happyReduce_166 = happySpecReduce_3 66# happyReduction_166 +happyReduction_166 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut74 happy_x_1 of { happy_var_1 -> + case happyOut156 happy_x_2 of { happy_var_2 -> + case happyOut74 happy_x_3 of { happy_var_3 -> + happyIn70 + (HsConDecl happy_var_2 [happy_var_1,happy_var_3] + )}}} + +happyReduce_167 = happySpecReduce_3 66# happyReduction_167 +happyReduction_167 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut151 happy_x_1 of { happy_var_1 -> + happyIn70 + (HsRecDecl happy_var_1 [] + )} + +happyReduce_168 = happyReduce 4# 66# happyReduction_168 +happyReduction_168 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut151 happy_x_1 of { happy_var_1 -> + case happyOut75 happy_x_3 of { happy_var_3 -> + happyIn70 + (HsRecDecl happy_var_1 (reverse happy_var_3) + ) `HappyStk` happyRest}} + +happyReduce_169 = happyMonadReduce 1# 67# happyReduction_169 +happyReduction_169 (happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut48 happy_x_1 of { happy_var_1 -> + ( do { (c,ts) <- splitTyConApp happy_var_1; + return (c,map HsUnBangedTy ts) })} + ) (\r -> happyReturn (happyIn71 r)) + +happyReduce_170 = happySpecReduce_1 67# happyReduction_170 +happyReduction_170 happy_x_1 + = case happyOut72 happy_x_1 of { happy_var_1 -> + happyIn71 + (happy_var_1 + )} + +happyReduce_171 = happyMonadReduce 3# 68# happyReduction_171 +happyReduction_171 (happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut48 happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_3 of { happy_var_3 -> + ( do { (c,ts) <- splitTyConApp happy_var_1; + return (c,map HsUnBangedTy ts++ + [HsBangedTy happy_var_3]) })}} + ) (\r -> happyReturn (happyIn72 r)) + +happyReduce_172 = happySpecReduce_2 68# happyReduction_172 +happyReduction_172 happy_x_2 + happy_x_1 + = case happyOut72 happy_x_1 of { happy_var_1 -> + case happyOut73 happy_x_2 of { happy_var_2 -> + happyIn72 + ((fst happy_var_1, snd happy_var_1 ++ [happy_var_2] ) + )}} + +happyReduce_173 = happySpecReduce_1 69# happyReduction_173 +happyReduction_173 happy_x_1 + = case happyOut49 happy_x_1 of { happy_var_1 -> + happyIn73 + (HsUnBangedTy happy_var_1 + )} + +happyReduce_174 = happySpecReduce_2 69# happyReduction_174 +happyReduction_174 happy_x_2 + happy_x_1 + = case happyOut49 happy_x_2 of { happy_var_2 -> + happyIn73 + (HsBangedTy happy_var_2 + )} + +happyReduce_175 = happySpecReduce_1 70# happyReduction_175 +happyReduction_175 happy_x_1 + = case happyOut48 happy_x_1 of { happy_var_1 -> + happyIn74 + (HsUnBangedTy happy_var_1 + )} + +happyReduce_176 = happySpecReduce_2 70# happyReduction_176 +happyReduction_176 happy_x_2 + happy_x_1 + = case happyOut49 happy_x_2 of { happy_var_2 -> + happyIn74 + (HsBangedTy happy_var_2 + )} + +happyReduce_177 = happySpecReduce_3 71# happyReduction_177 +happyReduction_177 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut75 happy_x_1 of { happy_var_1 -> + case happyOut76 happy_x_3 of { happy_var_3 -> + happyIn75 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_178 = happySpecReduce_1 71# happyReduction_178 +happyReduction_178 happy_x_1 + = case happyOut76 happy_x_1 of { happy_var_1 -> + happyIn75 + ([happy_var_1] + )} + +happyReduce_179 = happySpecReduce_3 72# happyReduction_179 +happyReduction_179 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut42 happy_x_1 of { happy_var_1 -> + case happyOut77 happy_x_3 of { happy_var_3 -> + happyIn76 + ((reverse happy_var_1, happy_var_3) + )}} + +happyReduce_180 = happySpecReduce_1 73# happyReduction_180 +happyReduction_180 happy_x_1 + = case happyOut52 happy_x_1 of { happy_var_1 -> + happyIn77 + (HsUnBangedTy happy_var_1 + )} + +happyReduce_181 = happySpecReduce_2 73# happyReduction_181 +happyReduction_181 happy_x_2 + happy_x_1 + = case happyOut49 happy_x_2 of { happy_var_2 -> + happyIn77 + (HsBangedTy happy_var_2 + )} + +happyReduce_182 = happySpecReduce_0 74# happyReduction_182 +happyReduction_182 = happyIn78 + ([] + ) + +happyReduce_183 = happySpecReduce_2 74# happyReduction_183 +happyReduction_183 happy_x_2 + happy_x_1 + = case happyOut182 happy_x_2 of { happy_var_2 -> + happyIn78 + ([happy_var_2] + )} + +happyReduce_184 = happySpecReduce_3 74# happyReduction_184 +happyReduction_184 happy_x_3 + happy_x_2 + happy_x_1 + = happyIn78 + ([] + ) + +happyReduce_185 = happyReduce 4# 74# happyReduction_185 +happyReduction_185 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut79 happy_x_3 of { happy_var_3 -> + happyIn78 + (reverse happy_var_3 + ) `HappyStk` happyRest} + +happyReduce_186 = happySpecReduce_3 75# happyReduction_186 +happyReduction_186 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut79 happy_x_1 of { happy_var_1 -> + case happyOut182 happy_x_3 of { happy_var_3 -> + happyIn79 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_187 = happySpecReduce_1 75# happyReduction_187 +happyReduction_187 happy_x_1 + = case happyOut182 happy_x_1 of { happy_var_1 -> + happyIn79 + ([happy_var_1] + )} + +happyReduce_188 = happySpecReduce_1 76# happyReduction_188 +happyReduction_188 happy_x_1 + = case happyOut81 happy_x_1 of { happy_var_1 -> + happyIn80 + (happy_var_1 + )} + +happyReduce_189 = happySpecReduce_3 76# happyReduction_189 +happyReduction_189 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut81 happy_x_1 of { happy_var_1 -> + case happyOut80 happy_x_3 of { happy_var_3 -> + happyIn80 + (HsKindFn happy_var_1 happy_var_3 + )}} + +happyReduce_190 = happySpecReduce_1 77# happyReduction_190 +happyReduction_190 happy_x_1 + = happyIn81 + (HsKindStar + ) + +happyReduce_191 = happySpecReduce_1 77# happyReduction_191 +happyReduction_191 happy_x_1 + = happyIn81 + (HsKindBang + ) + +happyReduce_192 = happySpecReduce_3 77# happyReduction_192 +happyReduction_192 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut80 happy_x_2 of { happy_var_2 -> + happyIn81 + (happy_var_2 + )} + +happyReduce_193 = happySpecReduce_0 78# happyReduction_193 +happyReduction_193 = happyIn82 + (Nothing + ) + +happyReduce_194 = happySpecReduce_2 78# happyReduction_194 +happyReduction_194 happy_x_2 + happy_x_1 + = case happyOut80 happy_x_2 of { happy_var_2 -> + happyIn82 + (Just happy_var_2 + )} + +happyReduce_195 = happyMonadReduce 2# 79# happyReduction_195 +happyReduction_195 (happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut84 happy_x_2 of { happy_var_2 -> + ( checkClassBody happy_var_2)} + ) (\r -> happyReturn (happyIn83 r)) + +happyReduce_196 = happySpecReduce_0 79# happyReduction_196 +happyReduction_196 = happyIn83 + ([] + ) + +happyReduce_197 = happySpecReduce_3 80# happyReduction_197 +happyReduction_197 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut85 happy_x_2 of { happy_var_2 -> + happyIn84 + (happy_var_2 + )} + +happyReduce_198 = happySpecReduce_3 80# happyReduction_198 +happyReduction_198 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut85 happy_x_2 of { happy_var_2 -> + happyIn84 + (happy_var_2 + )} + +happyReduce_199 = happyMonadReduce 3# 81# happyReduction_199 +happyReduction_199 (happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut86 happy_x_2 of { happy_var_2 -> + ( checkRevClsDecls happy_var_2)} + ) (\r -> happyReturn (happyIn85 r)) + +happyReduce_200 = happySpecReduce_1 81# happyReduction_200 +happyReduction_200 happy_x_1 + = happyIn85 + ([] + ) + +happyReduce_201 = happySpecReduce_3 82# happyReduction_201 +happyReduction_201 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut86 happy_x_1 of { happy_var_1 -> + case happyOut87 happy_x_3 of { happy_var_3 -> + happyIn86 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_202 = happySpecReduce_1 82# happyReduction_202 +happyReduction_202 happy_x_1 + = case happyOut87 happy_x_1 of { happy_var_1 -> + happyIn86 + ([happy_var_1] + )} + +happyReduce_203 = happySpecReduce_1 83# happyReduction_203 +happyReduction_203 happy_x_1 + = case happyOut38 happy_x_1 of { happy_var_1 -> + happyIn87 + (HsClsDecl happy_var_1 + )} + +happyReduce_204 = happySpecReduce_1 83# happyReduction_204 +happyReduction_204 happy_x_1 + = case happyOut88 happy_x_1 of { happy_var_1 -> + happyIn87 + (happy_var_1 + )} + +happyReduce_205 = happyMonadReduce 4# 84# happyReduction_205 +happyReduction_205 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_3 of { happy_var_3 -> + case happyOut82 happy_x_4 of { happy_var_4 -> + ( do { (c,ts) <- checkSimpleType happy_var_3; + return (HsClsTyFam happy_var_1 c ts happy_var_4) })}}} + ) (\r -> happyReturn (happyIn88 r)) + +happyReduce_206 = happyReduce 5# 84# happyReduction_206 +happyReduction_206 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut46 happy_x_3 of { happy_var_3 -> + case happyOut52 happy_x_5 of { happy_var_5 -> + happyIn88 + (HsClsTyDef happy_var_1 happy_var_3 happy_var_5 + ) `HappyStk` happyRest}}} + +happyReduce_207 = happyMonadReduce 4# 84# happyReduction_207 +happyReduction_207 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut52 happy_x_3 of { happy_var_3 -> + case happyOut82 happy_x_4 of { happy_var_4 -> + ( do { (cs,c,t) <- checkDataHeader happy_var_3; + return (HsClsDataFam happy_var_1 cs c t happy_var_4) })}}} + ) (\r -> happyReturn (happyIn88 r)) + +happyReduce_208 = happyMonadReduce 4# 85# happyReduction_208 +happyReduction_208 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut90 happy_x_3 of { happy_var_3 -> + ( checkInstBody happy_var_3)} + ) (\r -> happyReturn (happyIn89 r)) + +happyReduce_209 = happyMonadReduce 4# 85# happyReduction_209 +happyReduction_209 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut90 happy_x_3 of { happy_var_3 -> + ( checkInstBody happy_var_3)} + ) (\r -> happyReturn (happyIn89 r)) + +happyReduce_210 = happySpecReduce_0 85# happyReduction_210 +happyReduction_210 = happyIn89 + ([] + ) + +happyReduce_211 = happyMonadReduce 3# 86# happyReduction_211 +happyReduction_211 (happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut91 happy_x_2 of { happy_var_2 -> + ( checkRevInstDecls happy_var_2)} + ) (\r -> happyReturn (happyIn90 r)) + +happyReduce_212 = happySpecReduce_1 86# happyReduction_212 +happyReduction_212 happy_x_1 + = happyIn90 + ([] + ) + +happyReduce_213 = happySpecReduce_3 87# happyReduction_213 +happyReduction_213 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut91 happy_x_1 of { happy_var_1 -> + case happyOut92 happy_x_3 of { happy_var_3 -> + happyIn91 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_214 = happySpecReduce_1 87# happyReduction_214 +happyReduction_214 happy_x_1 + = case happyOut92 happy_x_1 of { happy_var_1 -> + happyIn91 + ([happy_var_1] + )} + +happyReduce_215 = happySpecReduce_1 88# happyReduction_215 +happyReduction_215 happy_x_1 + = case happyOut94 happy_x_1 of { happy_var_1 -> + happyIn92 + (HsInsDecl happy_var_1 + )} + +happyReduce_216 = happySpecReduce_1 88# happyReduction_216 +happyReduction_216 happy_x_1 + = case happyOut93 happy_x_1 of { happy_var_1 -> + happyIn92 + (happy_var_1 + )} + +happyReduce_217 = happyMonadReduce 5# 89# happyReduction_217 +happyReduction_217 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut46 happy_x_3 of { happy_var_3 -> + case happyOutTok happy_x_4 of { happy_var_4 -> + case happyOut52 happy_x_5 of { happy_var_5 -> + ( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns + return (HsInsType happy_var_1 happy_var_3 happy_var_5) })}}}} + ) (\r -> happyReturn (happyIn93 r)) + +happyReduce_218 = happyMonadReduce 5# 89# happyReduction_218 +happyReduction_218 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { happy_var_2 -> + case happyOut52 happy_x_3 of { happy_var_3 -> + case happyOut66 happy_x_4 of { happy_var_4 -> + case happyOut78 happy_x_5 of { happy_var_5 -> + ( do { -- (cs,c,t) <- checkDataHeader happy_var_4; + checkDataOrNew happy_var_2 happy_var_4; + return (HsInsData happy_var_1 happy_var_2 happy_var_3 (reverse happy_var_4) happy_var_5) })}}}}} + ) (\r -> happyReturn (happyIn93 r)) + +happyReduce_219 = happyMonadReduce 6# 89# happyReduction_219 +happyReduction_219 (happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { happy_var_2 -> + case happyOut52 happy_x_3 of { happy_var_3 -> + case happyOut82 happy_x_4 of { happy_var_4 -> + case happyOut62 happy_x_6 of { happy_var_6 -> + ( do { -- (cs,c,t) <- checkDataHeader happy_var_4; + checkDataOrNew happy_var_2 happy_var_6; + return (HsInsGData happy_var_1 happy_var_2 happy_var_3 happy_var_4 (reverse happy_var_6)) })}}}}} + ) (\r -> happyReturn (happyIn93 r)) + +happyReduce_220 = happyMonadReduce 4# 90# happyReduction_220 +happyReduction_220 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut102 happy_x_2 of { happy_var_2 -> + case happyOut96 happy_x_3 of { happy_var_3 -> + case happyOut95 happy_x_4 of { happy_var_4 -> + ( checkValDef happy_var_1 happy_var_2 happy_var_3 happy_var_4)}}}} + ) (\r -> happyReturn (happyIn94 r)) + +happyReduce_221 = happySpecReduce_2 91# happyReduction_221 +happyReduction_221 happy_x_2 + happy_x_1 + = case happyOut41 happy_x_2 of { happy_var_2 -> + happyIn95 + (happy_var_2 + )} + +happyReduce_222 = happySpecReduce_0 91# happyReduction_222 +happyReduction_222 = happyIn95 + (HsBDecls [] + ) + +happyReduce_223 = happyMonadReduce 2# 92# happyReduction_223 +happyReduction_223 (happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut99 happy_x_2 of { happy_var_2 -> + ( do { e <- checkExpr happy_var_2; + return (HsUnGuardedRhs e) })} + ) (\r -> happyReturn (happyIn96 r)) + +happyReduce_224 = happySpecReduce_1 92# happyReduction_224 +happyReduction_224 happy_x_1 + = case happyOut97 happy_x_1 of { happy_var_1 -> + happyIn96 + (HsGuardedRhss (reverse happy_var_1) + )} + +happyReduce_225 = happySpecReduce_2 93# happyReduction_225 +happyReduction_225 happy_x_2 + happy_x_1 + = case happyOut97 happy_x_1 of { happy_var_1 -> + case happyOut98 happy_x_2 of { happy_var_2 -> + happyIn97 + (happy_var_2 : happy_var_1 + )}} + +happyReduce_226 = happySpecReduce_1 93# happyReduction_226 +happyReduction_226 happy_x_1 + = case happyOut98 happy_x_1 of { happy_var_1 -> + happyIn97 + ([happy_var_1] + )} + +happyReduce_227 = happyMonadReduce 5# 94# happyReduction_227 +happyReduction_227 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut128 happy_x_3 of { happy_var_3 -> + case happyOut99 happy_x_5 of { happy_var_5 -> + ( do { e <- checkExpr happy_var_5; + return (HsGuardedRhs happy_var_1 (reverse happy_var_3) e) })}}} + ) (\r -> happyReturn (happyIn98 r)) + +happyReduce_228 = happyReduce 4# 95# happyReduction_228 +happyReduction_228 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut102 happy_x_1 of { happy_var_1 -> + case happyOut176 happy_x_3 of { happy_var_3 -> + case happyOut52 happy_x_4 of { happy_var_4 -> + happyIn99 + (HsExpTypeSig happy_var_3 happy_var_1 happy_var_4 + ) `HappyStk` happyRest}}} + +happyReduce_229 = happySpecReduce_3 95# happyReduction_229 +happyReduction_229 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut102 happy_x_1 of { happy_var_1 -> + case happyOut142 happy_x_3 of { happy_var_3 -> + happyIn99 + (HsWith happy_var_1 happy_var_3 + )}} + +happyReduce_230 = happySpecReduce_1 95# happyReduction_230 +happyReduction_230 happy_x_1 + = case happyOut100 happy_x_1 of { happy_var_1 -> + happyIn99 + (happy_var_1 + )} + +happyReduce_231 = happySpecReduce_2 95# happyReduction_231 +happyReduction_231 happy_x_2 + happy_x_1 + = case happyOut102 happy_x_1 of { happy_var_1 -> + case happyOut159 happy_x_2 of { happy_var_2 -> + happyIn99 + (HsPostOp happy_var_1 happy_var_2 + )}} + +happyReduce_232 = happySpecReduce_1 96# happyReduction_232 +happyReduction_232 happy_x_1 + = case happyOut101 happy_x_1 of { happy_var_1 -> + happyIn100 + (happy_var_1 + )} + +happyReduce_233 = happySpecReduce_1 96# happyReduction_233 +happyReduction_233 happy_x_1 + = case happyOut102 happy_x_1 of { happy_var_1 -> + happyIn100 + (happy_var_1 + )} + +happyReduce_234 = happySpecReduce_3 97# happyReduction_234 +happyReduction_234 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut102 happy_x_1 of { happy_var_1 -> + case happyOut159 happy_x_2 of { happy_var_2 -> + case happyOut103 happy_x_3 of { happy_var_3 -> + happyIn101 + (HsInfixApp happy_var_1 happy_var_2 happy_var_3 + )}}} + +happyReduce_235 = happySpecReduce_1 97# happyReduction_235 +happyReduction_235 happy_x_1 + = case happyOut103 happy_x_1 of { happy_var_1 -> + happyIn101 + (happy_var_1 + )} + +happyReduce_236 = happySpecReduce_3 98# happyReduction_236 +happyReduction_236 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut102 happy_x_1 of { happy_var_1 -> + case happyOut159 happy_x_2 of { happy_var_2 -> + case happyOut104 happy_x_3 of { happy_var_3 -> + happyIn102 + (HsInfixApp happy_var_1 happy_var_2 happy_var_3 + )}}} + +happyReduce_237 = happySpecReduce_1 98# happyReduction_237 +happyReduction_237 happy_x_1 + = case happyOut125 happy_x_1 of { happy_var_1 -> + happyIn102 + (happy_var_1 + )} + +happyReduce_238 = happySpecReduce_1 98# happyReduction_238 +happyReduction_238 happy_x_1 + = case happyOut104 happy_x_1 of { happy_var_1 -> + happyIn102 + (happy_var_1 + )} + +happyReduce_239 = happyReduce 5# 99# happyReduction_239 +happyReduction_239 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_2 of { happy_var_2 -> + case happyOut106 happy_x_3 of { happy_var_3 -> + case happyOut99 happy_x_5 of { happy_var_5 -> + happyIn103 + (HsLambda happy_var_2 (reverse happy_var_3) happy_var_5 + ) `HappyStk` happyRest}}} + +happyReduce_240 = happyReduce 4# 99# happyReduction_240 +happyReduction_240 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut41 happy_x_2 of { happy_var_2 -> + case happyOut99 happy_x_4 of { happy_var_4 -> + happyIn103 + (HsLet happy_var_2 happy_var_4 + ) `HappyStk` happyRest}} + +happyReduce_241 = happyReduce 4# 99# happyReduction_241 +happyReduction_241 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut142 happy_x_2 of { happy_var_2 -> + case happyOut99 happy_x_4 of { happy_var_4 -> + happyIn103 + (HsDLet happy_var_2 happy_var_4 + ) `HappyStk` happyRest}} + +happyReduce_242 = happyReduce 6# 99# happyReduction_242 +happyReduction_242 (happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut99 happy_x_2 of { happy_var_2 -> + case happyOut99 happy_x_4 of { happy_var_4 -> + case happyOut99 happy_x_6 of { happy_var_6 -> + happyIn103 + (HsIf happy_var_2 happy_var_4 happy_var_6 + ) `HappyStk` happyRest}}} + +happyReduce_243 = happyReduce 4# 100# happyReduction_243 +happyReduction_243 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut99 happy_x_2 of { happy_var_2 -> + case happyOut130 happy_x_4 of { happy_var_4 -> + happyIn104 + (HsCase happy_var_2 happy_var_4 + ) `HappyStk` happyRest}} + +happyReduce_244 = happySpecReduce_2 100# happyReduction_244 +happyReduction_244 happy_x_2 + happy_x_1 + = case happyOut105 happy_x_2 of { happy_var_2 -> + happyIn104 + (HsNegApp happy_var_2 + )} + +happyReduce_245 = happySpecReduce_2 100# happyReduction_245 +happyReduction_245 happy_x_2 + happy_x_1 + = case happyOut138 happy_x_2 of { happy_var_2 -> + happyIn104 + (HsDo happy_var_2 + )} + +happyReduce_246 = happySpecReduce_2 100# happyReduction_246 +happyReduction_246 happy_x_2 + happy_x_1 + = case happyOut138 happy_x_2 of { happy_var_2 -> + happyIn104 + (HsMDo happy_var_2 + )} + +happyReduce_247 = happySpecReduce_1 100# happyReduction_247 +happyReduction_247 happy_x_1 + = case happyOut111 happy_x_1 of { happy_var_1 -> + happyIn104 + (HsReifyExp happy_var_1 + )} + +happyReduce_248 = happySpecReduce_1 100# happyReduction_248 +happyReduction_248 happy_x_1 + = case happyOut105 happy_x_1 of { happy_var_1 -> + happyIn104 + (happy_var_1 + )} + +happyReduce_249 = happySpecReduce_2 101# happyReduction_249 +happyReduction_249 happy_x_2 + happy_x_1 + = case happyOut105 happy_x_1 of { happy_var_1 -> + case happyOut108 happy_x_2 of { happy_var_2 -> + happyIn105 + (HsApp happy_var_1 happy_var_2 + )}} + +happyReduce_250 = happySpecReduce_1 101# happyReduction_250 +happyReduction_250 happy_x_1 + = case happyOut108 happy_x_1 of { happy_var_1 -> + happyIn105 + (happy_var_1 + )} + +happyReduce_251 = happySpecReduce_2 102# happyReduction_251 +happyReduction_251 happy_x_2 + happy_x_1 + = case happyOut106 happy_x_1 of { happy_var_1 -> + case happyOut107 happy_x_2 of { happy_var_2 -> + happyIn106 + (happy_var_2 : happy_var_1 + )}} + +happyReduce_252 = happySpecReduce_1 102# happyReduction_252 +happyReduction_252 happy_x_1 + = case happyOut107 happy_x_1 of { happy_var_1 -> + happyIn106 + ([happy_var_1] + )} + +happyReduce_253 = happyMonadReduce 1# 103# happyReduction_253 +happyReduction_253 (happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut108 happy_x_1 of { happy_var_1 -> + ( checkPattern happy_var_1)} + ) (\r -> happyReturn (happyIn107 r)) + +happyReduce_254 = happyMonadReduce 3# 104# happyReduction_254 +happyReduction_254 (happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut149 happy_x_1 of { happy_var_1 -> + case happyOut108 happy_x_3 of { happy_var_3 -> + ( do { n <- checkUnQual happy_var_1; + return (HsAsPat n happy_var_3) })}} + ) (\r -> happyReturn (happyIn108 r)) + +happyReduce_255 = happyMonadReduce 3# 104# happyReduction_255 +happyReduction_255 (happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut149 happy_x_1 of { happy_var_1 -> + case happyOut108 happy_x_3 of { happy_var_3 -> + ( do { n <- checkUnQual happy_var_1; + return (HsCAsRP n happy_var_3) })}} + ) (\r -> happyReturn (happyIn108 r)) + +happyReduce_256 = happySpecReduce_2 104# happyReduction_256 +happyReduction_256 happy_x_2 + happy_x_1 + = case happyOut108 happy_x_2 of { happy_var_2 -> + happyIn108 + (HsIrrPat happy_var_2 + )} + +happyReduce_257 = happySpecReduce_1 104# happyReduction_257 +happyReduction_257 happy_x_1 + = case happyOut109 happy_x_1 of { happy_var_1 -> + happyIn108 + (happy_var_1 + )} + +happyReduce_258 = happyMonadReduce 3# 105# happyReduction_258 +happyReduction_258 (happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut109 happy_x_1 of { happy_var_1 -> + ( mkRecConstrOrUpdate happy_var_1 [])} + ) (\r -> happyReturn (happyIn109 r)) + +happyReduce_259 = happyMonadReduce 4# 105# happyReduction_259 +happyReduction_259 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut109 happy_x_1 of { happy_var_1 -> + case happyOut140 happy_x_3 of { happy_var_3 -> + ( mkRecConstrOrUpdate happy_var_1 (reverse happy_var_3))}} + ) (\r -> happyReturn (happyIn109 r)) + +happyReduce_260 = happySpecReduce_1 105# happyReduction_260 +happyReduction_260 happy_x_1 + = case happyOut110 happy_x_1 of { happy_var_1 -> + happyIn109 + (happy_var_1 + )} + +happyReduce_261 = happySpecReduce_1 106# happyReduction_261 +happyReduction_261 happy_x_1 + = case happyOut150 happy_x_1 of { happy_var_1 -> + happyIn110 + (HsIPVar happy_var_1 + )} + +happyReduce_262 = happySpecReduce_1 106# happyReduction_262 +happyReduction_262 happy_x_1 + = case happyOut149 happy_x_1 of { happy_var_1 -> + happyIn110 + (HsVar happy_var_1 + )} + +happyReduce_263 = happySpecReduce_1 106# happyReduction_263 +happyReduction_263 happy_x_1 + = case happyOut146 happy_x_1 of { happy_var_1 -> + happyIn110 + (happy_var_1 + )} + +happyReduce_264 = happySpecReduce_1 106# happyReduction_264 +happyReduction_264 happy_x_1 + = case happyOut175 happy_x_1 of { happy_var_1 -> + happyIn110 + (HsLit happy_var_1 + )} + +happyReduce_265 = happySpecReduce_3 106# happyReduction_265 +happyReduction_265 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut99 happy_x_2 of { happy_var_2 -> + happyIn110 + (HsParen happy_var_2 + )} + +happyReduce_266 = happySpecReduce_3 106# happyReduction_266 +happyReduction_266 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut114 happy_x_2 of { happy_var_2 -> + happyIn110 + (HsTuple (reverse happy_var_2) + )} + +happyReduce_267 = happySpecReduce_3 106# happyReduction_267 +happyReduction_267 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut126 happy_x_2 of { happy_var_2 -> + happyIn110 + (happy_var_2 + )} + +happyReduce_268 = happyReduce 4# 106# happyReduction_268 +happyReduction_268 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut160 happy_x_2 of { happy_var_2 -> + case happyOut100 happy_x_3 of { happy_var_3 -> + happyIn110 + (HsRightSection happy_var_2 happy_var_3 + ) `HappyStk` happyRest}} + +happyReduce_269 = happySpecReduce_1 106# happyReduction_269 +happyReduction_269 happy_x_1 + = happyIn110 + (HsWildCard + ) + +happyReduce_270 = happySpecReduce_3 106# happyReduction_270 +happyReduction_270 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut116 happy_x_2 of { happy_var_2 -> + happyIn110 + (happy_var_2 + )} + +happyReduce_271 = happySpecReduce_3 106# happyReduction_271 +happyReduction_271 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut115 happy_x_2 of { happy_var_2 -> + happyIn110 + (HsSeqRP $ reverse happy_var_2 + )} + +happyReduce_272 = happyReduce 5# 106# happyReduction_272 +happyReduction_272 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut99 happy_x_2 of { happy_var_2 -> + case happyOut128 happy_x_4 of { happy_var_4 -> + happyIn110 + (HsGuardRP happy_var_2 $ reverse happy_var_4 + ) `HappyStk` happyRest}} + +happyReduce_273 = happySpecReduce_1 106# happyReduction_273 +happyReduction_273 happy_x_1 + = case happyOut117 happy_x_1 of { happy_var_1 -> + happyIn110 + (happy_var_1 + )} + +happyReduce_274 = happySpecReduce_1 106# happyReduction_274 +happyReduction_274 happy_x_1 + = case happyOutTok happy_x_1 of { (THIdEscape happy_var_1) -> + happyIn110 + (HsSpliceExp $ HsIdSplice happy_var_1 + )} + +happyReduce_275 = happyMonadReduce 3# 106# happyReduction_275 +happyReduction_275 (happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut99 happy_x_2 of { happy_var_2 -> + ( do { e <- checkExpr happy_var_2; + return $ HsSpliceExp $ HsParenSplice e })} + ) (\r -> happyReturn (happyIn110 r)) + +happyReduce_276 = happyMonadReduce 3# 106# happyReduction_276 +happyReduction_276 (happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut99 happy_x_2 of { happy_var_2 -> + ( do { e <- checkExpr happy_var_2; + return $ HsBracketExp $ HsExpBracket e })} + ) (\r -> happyReturn (happyIn110 r)) + +happyReduce_277 = happyMonadReduce 3# 106# happyReduction_277 +happyReduction_277 (happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut100 happy_x_2 of { happy_var_2 -> + ( do { p <- checkPattern happy_var_2; + return $ HsBracketExp $ HsPatBracket p })} + ) (\r -> happyReturn (happyIn110 r)) + +happyReduce_278 = happySpecReduce_3 106# happyReduction_278 +happyReduction_278 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut52 happy_x_2 of { happy_var_2 -> + happyIn110 + (HsBracketExp $ HsTypeBracket happy_var_2 + )} + +happyReduce_279 = happyReduce 5# 106# happyReduction_279 +happyReduction_279 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut31 happy_x_3 of { happy_var_3 -> + happyIn110 + (HsBracketExp $ HsDeclBracket happy_var_3 + ) `HappyStk` happyRest} + +happyReduce_280 = happySpecReduce_2 107# happyReduction_280 +happyReduction_280 happy_x_2 + happy_x_1 + = case happyOut50 happy_x_2 of { happy_var_2 -> + happyIn111 + (HsReifyDecl happy_var_2 + )} + +happyReduce_281 = happySpecReduce_2 107# happyReduction_281 +happyReduction_281 happy_x_2 + happy_x_1 + = case happyOut149 happy_x_2 of { happy_var_2 -> + happyIn111 + (HsReifyDecl happy_var_2 + )} + +happyReduce_282 = happySpecReduce_2 107# happyReduction_282 +happyReduction_282 happy_x_2 + happy_x_1 + = case happyOut112 happy_x_2 of { happy_var_2 -> + happyIn111 + (HsReifyType happy_var_2 + )} + +happyReduce_283 = happySpecReduce_2 107# happyReduction_283 +happyReduction_283 happy_x_2 + happy_x_1 + = case happyOut112 happy_x_2 of { happy_var_2 -> + happyIn111 + (HsReifyFixity happy_var_2 + )} + +happyReduce_284 = happySpecReduce_1 108# happyReduction_284 +happyReduction_284 happy_x_1 + = case happyOut149 happy_x_1 of { happy_var_1 -> + happyIn112 + (happy_var_1 + )} + +happyReduce_285 = happyMonadReduce 1# 108# happyReduction_285 +happyReduction_285 (happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut146 happy_x_1 of { happy_var_1 -> + ( getGConName happy_var_1)} + ) (\r -> happyReturn (happyIn112 r)) + +happyReduce_286 = happySpecReduce_2 109# happyReduction_286 +happyReduction_286 happy_x_2 + happy_x_1 + = case happyOut113 happy_x_1 of { happy_var_1 -> + happyIn113 + (happy_var_1 + 1 + )} + +happyReduce_287 = happySpecReduce_1 109# happyReduction_287 +happyReduction_287 happy_x_1 + = happyIn113 + (1 + ) + +happyReduce_288 = happySpecReduce_3 110# happyReduction_288 +happyReduction_288 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut114 happy_x_1 of { happy_var_1 -> + case happyOut99 happy_x_3 of { happy_var_3 -> + happyIn114 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_289 = happySpecReduce_3 110# happyReduction_289 +happyReduction_289 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + case happyOut99 happy_x_3 of { happy_var_3 -> + happyIn114 + ([happy_var_3,happy_var_1] + )}} + +happyReduce_290 = happySpecReduce_3 111# happyReduction_290 +happyReduction_290 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut115 happy_x_1 of { happy_var_1 -> + case happyOut99 happy_x_3 of { happy_var_3 -> + happyIn115 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_291 = happySpecReduce_1 111# happyReduction_291 +happyReduction_291 happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + happyIn115 + ([happy_var_1] + )} + +happyReduce_292 = happySpecReduce_3 112# happyReduction_292 +happyReduction_292 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + case happyOut116 happy_x_3 of { happy_var_3 -> + happyIn116 + (HsEitherRP happy_var_1 happy_var_3 + )}} + +happyReduce_293 = happySpecReduce_3 112# happyReduction_293 +happyReduction_293 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + case happyOut99 happy_x_3 of { happy_var_3 -> + happyIn116 + (HsEitherRP happy_var_1 happy_var_3 + )}} + +happyReduce_294 = happyMonadReduce 10# 113# happyReduction_294 +happyReduction_294 (happy_x_10 `HappyStk` + happy_x_9 `HappyStk` + happy_x_8 `HappyStk` + happy_x_7 `HappyStk` + happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut120 happy_x_3 of { happy_var_3 -> + case happyOut122 happy_x_4 of { happy_var_4 -> + case happyOut124 happy_x_5 of { happy_var_5 -> + case happyOut118 happy_x_7 of { happy_var_7 -> + case happyOut120 happy_x_9 of { happy_var_9 -> + ( do { n <- checkEqNames happy_var_3 happy_var_9; + let { cn = reverse happy_var_7; + as = reverse happy_var_4; }; + return $ HsXTag happy_var_1 n as happy_var_5 cn })}}}}}} + ) (\r -> happyReturn (happyIn117 r)) + +happyReduce_295 = happyReduce 6# 113# happyReduction_295 +happyReduction_295 (happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut120 happy_x_3 of { happy_var_3 -> + case happyOut122 happy_x_4 of { happy_var_4 -> + case happyOut124 happy_x_5 of { happy_var_5 -> + happyIn117 + (HsXETag happy_var_1 happy_var_3 (reverse happy_var_4) happy_var_5 + ) `HappyStk` happyRest}}}} + +happyReduce_296 = happySpecReduce_3 113# happyReduction_296 +happyReduction_296 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut99 happy_x_2 of { happy_var_2 -> + happyIn117 + (HsXExpTag happy_var_2 + )} + +happyReduce_297 = happySpecReduce_2 114# happyReduction_297 +happyReduction_297 happy_x_2 + happy_x_1 + = case happyOut118 happy_x_1 of { happy_var_1 -> + case happyOut119 happy_x_2 of { happy_var_2 -> + happyIn118 + (happy_var_2 : happy_var_1 + )}} + +happyReduce_298 = happySpecReduce_0 114# happyReduction_298 +happyReduction_298 = happyIn118 + ([] + ) + +happyReduce_299 = happySpecReduce_1 115# happyReduction_299 +happyReduction_299 happy_x_1 + = case happyOutTok happy_x_1 of { (XPcdata happy_var_1) -> + happyIn119 + (HsXPcdata happy_var_1 + )} + +happyReduce_300 = happySpecReduce_3 115# happyReduction_300 +happyReduction_300 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut115 happy_x_2 of { happy_var_2 -> + happyIn119 + (HsXRPats $ reverse happy_var_2 + )} + +happyReduce_301 = happySpecReduce_1 115# happyReduction_301 +happyReduction_301 happy_x_1 + = case happyOut117 happy_x_1 of { happy_var_1 -> + happyIn119 + (happy_var_1 + )} + +happyReduce_302 = happySpecReduce_3 116# happyReduction_302 +happyReduction_302 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut121 happy_x_1 of { happy_var_1 -> + case happyOut121 happy_x_3 of { happy_var_3 -> + happyIn120 + (HsXDomName happy_var_1 happy_var_3 + )}} + +happyReduce_303 = happySpecReduce_1 116# happyReduction_303 +happyReduction_303 happy_x_1 + = case happyOut121 happy_x_1 of { happy_var_1 -> + happyIn120 + (HsXName happy_var_1 + )} + +happyReduce_304 = happySpecReduce_1 117# happyReduction_304 +happyReduction_304 happy_x_1 + = case happyOutTok happy_x_1 of { (VarId happy_var_1) -> + happyIn121 + (happy_var_1 + )} + +happyReduce_305 = happySpecReduce_1 117# happyReduction_305 +happyReduction_305 happy_x_1 + = case happyOutTok happy_x_1 of { (ConId happy_var_1) -> + happyIn121 + (happy_var_1 + )} + +happyReduce_306 = happySpecReduce_1 117# happyReduction_306 +happyReduction_306 happy_x_1 + = case happyOutTok happy_x_1 of { (DVarId happy_var_1) -> + happyIn121 + (mkDVar happy_var_1 + )} + +happyReduce_307 = happySpecReduce_1 117# happyReduction_307 +happyReduction_307 happy_x_1 + = happyIn121 + ("type" + ) + +happyReduce_308 = happySpecReduce_1 117# happyReduction_308 +happyReduction_308 happy_x_1 + = happyIn121 + ("class" + ) + +happyReduce_309 = happySpecReduce_2 118# happyReduction_309 +happyReduction_309 happy_x_2 + happy_x_1 + = case happyOut122 happy_x_1 of { happy_var_1 -> + case happyOut123 happy_x_2 of { happy_var_2 -> + happyIn122 + (happy_var_2 : happy_var_1 + )}} + +happyReduce_310 = happySpecReduce_0 118# happyReduction_310 +happyReduction_310 = happyIn122 + ([] + ) + +happyReduce_311 = happySpecReduce_3 119# happyReduction_311 +happyReduction_311 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut120 happy_x_1 of { happy_var_1 -> + case happyOut108 happy_x_3 of { happy_var_3 -> + happyIn123 + (HsXAttr happy_var_1 happy_var_3 + )}} + +happyReduce_312 = happySpecReduce_1 120# happyReduction_312 +happyReduction_312 happy_x_1 + = case happyOut108 happy_x_1 of { happy_var_1 -> + happyIn124 + (Just happy_var_1 + )} + +happyReduce_313 = happySpecReduce_0 120# happyReduction_313 +happyReduction_313 = happyIn124 + (Nothing + ) + +happyReduce_314 = happySpecReduce_1 121# happyReduction_314 +happyReduction_314 happy_x_1 + = case happyOutTok happy_x_1 of { (DVarId happy_var_1) -> + happyIn125 + (mkDVarExpr happy_var_1 + )} + +happyReduce_315 = happySpecReduce_1 122# happyReduction_315 +happyReduction_315 happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + happyIn126 + (HsList [happy_var_1] + )} + +happyReduce_316 = happySpecReduce_1 122# happyReduction_316 +happyReduction_316 happy_x_1 + = case happyOut127 happy_x_1 of { happy_var_1 -> + happyIn126 + (HsList (reverse happy_var_1) + )} + +happyReduce_317 = happySpecReduce_2 122# happyReduction_317 +happyReduction_317 happy_x_2 + happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + happyIn126 + (HsEnumFrom happy_var_1 + )} + +happyReduce_318 = happyReduce 4# 122# happyReduction_318 +happyReduction_318 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut99 happy_x_1 of { happy_var_1 -> + case happyOut99 happy_x_3 of { happy_var_3 -> + happyIn126 + (HsEnumFromThen happy_var_1 happy_var_3 + ) `HappyStk` happyRest}} + +happyReduce_319 = happySpecReduce_3 122# happyReduction_319 +happyReduction_319 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + case happyOut99 happy_x_3 of { happy_var_3 -> + happyIn126 + (HsEnumFromTo happy_var_1 happy_var_3 + )}} + +happyReduce_320 = happyReduce 5# 122# happyReduction_320 +happyReduction_320 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut99 happy_x_1 of { happy_var_1 -> + case happyOut99 happy_x_3 of { happy_var_3 -> + case happyOut99 happy_x_5 of { happy_var_5 -> + happyIn126 + (HsEnumFromThenTo happy_var_1 happy_var_3 happy_var_5 + ) `HappyStk` happyRest}}} + +happyReduce_321 = happySpecReduce_3 122# happyReduction_321 +happyReduction_321 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + case happyOut128 happy_x_3 of { happy_var_3 -> + happyIn126 + (HsListComp happy_var_1 (reverse happy_var_3) + )}} + +happyReduce_322 = happySpecReduce_3 123# happyReduction_322 +happyReduction_322 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut127 happy_x_1 of { happy_var_1 -> + case happyOut99 happy_x_3 of { happy_var_3 -> + happyIn127 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_323 = happySpecReduce_3 123# happyReduction_323 +happyReduction_323 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + case happyOut99 happy_x_3 of { happy_var_3 -> + happyIn127 + ([happy_var_3,happy_var_1] + )}} + +happyReduce_324 = happySpecReduce_3 124# happyReduction_324 +happyReduction_324 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut128 happy_x_1 of { happy_var_1 -> + case happyOut129 happy_x_3 of { happy_var_3 -> + happyIn128 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_325 = happySpecReduce_1 124# happyReduction_325 +happyReduction_325 happy_x_1 + = case happyOut129 happy_x_1 of { happy_var_1 -> + happyIn128 + ([happy_var_1] + )} + +happyReduce_326 = happyReduce 4# 125# happyReduction_326 +happyReduction_326 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut137 happy_x_1 of { happy_var_1 -> + case happyOut176 happy_x_2 of { happy_var_2 -> + case happyOut99 happy_x_4 of { happy_var_4 -> + happyIn129 + (HsGenerator happy_var_2 happy_var_1 happy_var_4 + ) `HappyStk` happyRest}}} + +happyReduce_327 = happySpecReduce_1 125# happyReduction_327 +happyReduction_327 happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + happyIn129 + (HsQualifier happy_var_1 + )} + +happyReduce_328 = happySpecReduce_2 125# happyReduction_328 +happyReduction_328 happy_x_2 + happy_x_1 + = case happyOut41 happy_x_2 of { happy_var_2 -> + happyIn129 + (HsLetStmt happy_var_2 + )} + +happyReduce_329 = happySpecReduce_3 126# happyReduction_329 +happyReduction_329 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut131 happy_x_2 of { happy_var_2 -> + happyIn130 + (happy_var_2 + )} + +happyReduce_330 = happySpecReduce_3 126# happyReduction_330 +happyReduction_330 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut131 happy_x_2 of { happy_var_2 -> + happyIn130 + (happy_var_2 + )} + +happyReduce_331 = happySpecReduce_3 127# happyReduction_331 +happyReduction_331 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut132 happy_x_2 of { happy_var_2 -> + happyIn131 + (reverse happy_var_2 + )} + +happyReduce_332 = happySpecReduce_3 128# happyReduction_332 +happyReduction_332 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut132 happy_x_1 of { happy_var_1 -> + case happyOut133 happy_x_3 of { happy_var_3 -> + happyIn132 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_333 = happySpecReduce_1 128# happyReduction_333 +happyReduction_333 happy_x_1 + = case happyOut133 happy_x_1 of { happy_var_1 -> + happyIn132 + ([happy_var_1] + )} + +happyReduce_334 = happyReduce 4# 129# happyReduction_334 +happyReduction_334 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut137 happy_x_2 of { happy_var_2 -> + case happyOut134 happy_x_3 of { happy_var_3 -> + case happyOut95 happy_x_4 of { happy_var_4 -> + happyIn133 + (HsAlt happy_var_1 happy_var_2 happy_var_3 happy_var_4 + ) `HappyStk` happyRest}}}} + +happyReduce_335 = happySpecReduce_2 130# happyReduction_335 +happyReduction_335 happy_x_2 + happy_x_1 + = case happyOut99 happy_x_2 of { happy_var_2 -> + happyIn134 + (HsUnGuardedAlt happy_var_2 + )} + +happyReduce_336 = happySpecReduce_1 130# happyReduction_336 +happyReduction_336 happy_x_1 + = case happyOut135 happy_x_1 of { happy_var_1 -> + happyIn134 + (HsGuardedAlts (reverse happy_var_1) + )} + +happyReduce_337 = happySpecReduce_2 131# happyReduction_337 +happyReduction_337 happy_x_2 + happy_x_1 + = case happyOut135 happy_x_1 of { happy_var_1 -> + case happyOut136 happy_x_2 of { happy_var_2 -> + happyIn135 + (happy_var_2 : happy_var_1 + )}} + +happyReduce_338 = happySpecReduce_1 131# happyReduction_338 +happyReduction_338 happy_x_1 + = case happyOut136 happy_x_1 of { happy_var_1 -> + happyIn135 + ([happy_var_1] + )} + +happyReduce_339 = happyReduce 5# 132# happyReduction_339 +happyReduction_339 (happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut128 happy_x_3 of { happy_var_3 -> + case happyOut99 happy_x_5 of { happy_var_5 -> + happyIn136 + (HsGuardedAlt happy_var_1 (reverse happy_var_3) happy_var_5 + ) `HappyStk` happyRest}}} + +happyReduce_340 = happyMonadReduce 1# 133# happyReduction_340 +happyReduction_340 (happy_x_1 `HappyStk` + happyRest) tk + = happyThen (case happyOut102 happy_x_1 of { happy_var_1 -> + ( checkPattern happy_var_1)} + ) (\r -> happyReturn (happyIn137 r)) + +happyReduce_341 = happySpecReduce_3 134# happyReduction_341 +happyReduction_341 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut139 happy_x_2 of { happy_var_2 -> + happyIn138 + (happy_var_2 + )} + +happyReduce_342 = happySpecReduce_3 134# happyReduction_342 +happyReduction_342 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut139 happy_x_2 of { happy_var_2 -> + happyIn138 + (happy_var_2 + )} + +happyReduce_343 = happyReduce 4# 135# happyReduction_343 +happyReduction_343 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut41 happy_x_2 of { happy_var_2 -> + case happyOut139 happy_x_4 of { happy_var_4 -> + happyIn139 + (HsLetStmt happy_var_2 : happy_var_4 + ) `HappyStk` happyRest}} + +happyReduce_344 = happyReduce 6# 135# happyReduction_344 +happyReduction_344 (happy_x_6 `HappyStk` + happy_x_5 `HappyStk` + happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut137 happy_x_1 of { happy_var_1 -> + case happyOut176 happy_x_2 of { happy_var_2 -> + case happyOut99 happy_x_4 of { happy_var_4 -> + case happyOut139 happy_x_6 of { happy_var_6 -> + happyIn139 + (HsGenerator happy_var_2 happy_var_1 happy_var_4 : happy_var_6 + ) `HappyStk` happyRest}}}} + +happyReduce_345 = happySpecReduce_3 135# happyReduction_345 +happyReduction_345 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + case happyOut139 happy_x_3 of { happy_var_3 -> + happyIn139 + (HsQualifier happy_var_1 : happy_var_3 + )}} + +happyReduce_346 = happySpecReduce_2 135# happyReduction_346 +happyReduction_346 happy_x_2 + happy_x_1 + = case happyOut139 happy_x_2 of { happy_var_2 -> + happyIn139 + (happy_var_2 + )} + +happyReduce_347 = happySpecReduce_2 135# happyReduction_347 +happyReduction_347 happy_x_2 + happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + happyIn139 + ([HsQualifier happy_var_1] + )} + +happyReduce_348 = happySpecReduce_1 135# happyReduction_348 +happyReduction_348 happy_x_1 + = case happyOut99 happy_x_1 of { happy_var_1 -> + happyIn139 + ([HsQualifier happy_var_1] + )} + +happyReduce_349 = happySpecReduce_3 136# happyReduction_349 +happyReduction_349 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut140 happy_x_1 of { happy_var_1 -> + case happyOut141 happy_x_3 of { happy_var_3 -> + happyIn140 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_350 = happySpecReduce_1 136# happyReduction_350 +happyReduction_350 happy_x_1 + = case happyOut141 happy_x_1 of { happy_var_1 -> + happyIn140 + ([happy_var_1] + )} + +happyReduce_351 = happySpecReduce_3 137# happyReduction_351 +happyReduction_351 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut149 happy_x_1 of { happy_var_1 -> + case happyOut99 happy_x_3 of { happy_var_3 -> + happyIn141 + (HsFieldUpdate happy_var_1 happy_var_3 + )}} + +happyReduce_352 = happySpecReduce_3 138# happyReduction_352 +happyReduction_352 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut143 happy_x_2 of { happy_var_2 -> + happyIn142 + (happy_var_2 + )} + +happyReduce_353 = happySpecReduce_3 138# happyReduction_353 +happyReduction_353 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut143 happy_x_2 of { happy_var_2 -> + happyIn142 + (happy_var_2 + )} + +happyReduce_354 = happySpecReduce_3 139# happyReduction_354 +happyReduction_354 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut144 happy_x_2 of { happy_var_2 -> + happyIn143 + (reverse happy_var_2 + )} + +happyReduce_355 = happySpecReduce_3 140# happyReduction_355 +happyReduction_355 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut144 happy_x_1 of { happy_var_1 -> + case happyOut145 happy_x_3 of { happy_var_3 -> + happyIn144 + (happy_var_3 : happy_var_1 + )}} + +happyReduce_356 = happySpecReduce_1 140# happyReduction_356 +happyReduction_356 happy_x_1 + = case happyOut145 happy_x_1 of { happy_var_1 -> + happyIn144 + ([happy_var_1] + )} + +happyReduce_357 = happyReduce 4# 141# happyReduction_357 +happyReduction_357 (happy_x_4 `HappyStk` + happy_x_3 `HappyStk` + happy_x_2 `HappyStk` + happy_x_1 `HappyStk` + happyRest) + = case happyOut176 happy_x_1 of { happy_var_1 -> + case happyOut150 happy_x_2 of { happy_var_2 -> + case happyOut99 happy_x_4 of { happy_var_4 -> + happyIn145 + (HsIPBind happy_var_1 happy_var_2 happy_var_4 + ) `HappyStk` happyRest}}} + +happyReduce_358 = happySpecReduce_2 142# happyReduction_358 +happyReduction_358 happy_x_2 + happy_x_1 + = happyIn146 + (unit_con + ) + +happyReduce_359 = happySpecReduce_2 142# happyReduction_359 +happyReduction_359 happy_x_2 + happy_x_1 + = happyIn146 + (HsList [] + ) + +happyReduce_360 = happySpecReduce_3 142# happyReduction_360 +happyReduction_360 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut113 happy_x_2 of { happy_var_2 -> + happyIn146 + (tuple_con happy_var_2 + )} + +happyReduce_361 = happySpecReduce_1 142# happyReduction_361 +happyReduction_361 happy_x_1 + = case happyOut152 happy_x_1 of { happy_var_1 -> + happyIn146 + (HsCon happy_var_1 + )} + +happyReduce_362 = happySpecReduce_1 143# happyReduction_362 +happyReduction_362 happy_x_1 + = case happyOut164 happy_x_1 of { happy_var_1 -> + happyIn147 + (happy_var_1 + )} + +happyReduce_363 = happySpecReduce_3 143# happyReduction_363 +happyReduction_363 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut172 happy_x_2 of { happy_var_2 -> + happyIn147 + (happy_var_2 + )} + +happyReduce_364 = happySpecReduce_1 144# happyReduction_364 +happyReduction_364 happy_x_1 + = case happyOut163 happy_x_1 of { happy_var_1 -> + happyIn148 + (happy_var_1 + )} + +happyReduce_365 = happySpecReduce_3 144# happyReduction_365 +happyReduction_365 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut172 happy_x_2 of { happy_var_2 -> + happyIn148 + (happy_var_2 + )} + +happyReduce_366 = happySpecReduce_1 145# happyReduction_366 +happyReduction_366 happy_x_1 + = case happyOut162 happy_x_1 of { happy_var_1 -> + happyIn149 + (happy_var_1 + )} + +happyReduce_367 = happySpecReduce_3 145# happyReduction_367 +happyReduction_367 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut170 happy_x_2 of { happy_var_2 -> + happyIn149 + (happy_var_2 + )} + +happyReduce_368 = happySpecReduce_1 146# happyReduction_368 +happyReduction_368 happy_x_1 + = case happyOut165 happy_x_1 of { happy_var_1 -> + happyIn150 + (happy_var_1 + )} + +happyReduce_369 = happySpecReduce_1 147# happyReduction_369 +happyReduction_369 happy_x_1 + = case happyOut167 happy_x_1 of { happy_var_1 -> + happyIn151 + (happy_var_1 + )} + +happyReduce_370 = happySpecReduce_3 147# happyReduction_370 +happyReduction_370 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut169 happy_x_2 of { happy_var_2 -> + happyIn151 + (happy_var_2 + )} + +happyReduce_371 = happySpecReduce_1 148# happyReduction_371 +happyReduction_371 happy_x_1 + = case happyOut166 happy_x_1 of { happy_var_1 -> + happyIn152 + (happy_var_1 + )} + +happyReduce_372 = happySpecReduce_3 148# happyReduction_372 +happyReduction_372 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut161 happy_x_2 of { happy_var_2 -> + happyIn152 + (happy_var_2 + )} + +happyReduce_373 = happySpecReduce_1 149# happyReduction_373 +happyReduction_373 happy_x_1 + = case happyOut172 happy_x_1 of { happy_var_1 -> + happyIn153 + (happy_var_1 + )} + +happyReduce_374 = happySpecReduce_3 149# happyReduction_374 +happyReduction_374 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut164 happy_x_2 of { happy_var_2 -> + happyIn153 + (happy_var_2 + )} + +happyReduce_375 = happySpecReduce_1 150# happyReduction_375 +happyReduction_375 happy_x_1 + = case happyOut170 happy_x_1 of { happy_var_1 -> + happyIn154 + (happy_var_1 + )} + +happyReduce_376 = happySpecReduce_3 150# happyReduction_376 +happyReduction_376 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut162 happy_x_2 of { happy_var_2 -> + happyIn154 + (happy_var_2 + )} + +happyReduce_377 = happySpecReduce_1 151# happyReduction_377 +happyReduction_377 happy_x_1 + = case happyOut171 happy_x_1 of { happy_var_1 -> + happyIn155 + (happy_var_1 + )} + +happyReduce_378 = happySpecReduce_3 151# happyReduction_378 +happyReduction_378 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut162 happy_x_2 of { happy_var_2 -> + happyIn155 + (happy_var_2 + )} + +happyReduce_379 = happySpecReduce_1 152# happyReduction_379 +happyReduction_379 happy_x_1 + = case happyOut169 happy_x_1 of { happy_var_1 -> + happyIn156 + (happy_var_1 + )} + +happyReduce_380 = happySpecReduce_3 152# happyReduction_380 +happyReduction_380 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut167 happy_x_2 of { happy_var_2 -> + happyIn156 + (happy_var_2 + )} + +happyReduce_381 = happySpecReduce_1 153# happyReduction_381 +happyReduction_381 happy_x_1 + = case happyOut161 happy_x_1 of { happy_var_1 -> + happyIn157 + (happy_var_1 + )} + +happyReduce_382 = happySpecReduce_3 153# happyReduction_382 +happyReduction_382 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut166 happy_x_2 of { happy_var_2 -> + happyIn157 + (happy_var_2 + )} + +happyReduce_383 = happySpecReduce_1 154# happyReduction_383 +happyReduction_383 happy_x_1 + = case happyOut153 happy_x_1 of { happy_var_1 -> + happyIn158 + (HsVarOp happy_var_1 + )} + +happyReduce_384 = happySpecReduce_1 154# happyReduction_384 +happyReduction_384 happy_x_1 + = case happyOut156 happy_x_1 of { happy_var_1 -> + happyIn158 + (HsConOp happy_var_1 + )} + +happyReduce_385 = happySpecReduce_1 155# happyReduction_385 +happyReduction_385 happy_x_1 + = case happyOut154 happy_x_1 of { happy_var_1 -> + happyIn159 + (HsQVarOp happy_var_1 + )} + +happyReduce_386 = happySpecReduce_1 155# happyReduction_386 +happyReduction_386 happy_x_1 + = case happyOut157 happy_x_1 of { happy_var_1 -> + happyIn159 + (HsQConOp happy_var_1 + )} + +happyReduce_387 = happySpecReduce_1 156# happyReduction_387 +happyReduction_387 happy_x_1 + = case happyOut155 happy_x_1 of { happy_var_1 -> + happyIn160 + (HsQVarOp happy_var_1 + )} + +happyReduce_388 = happySpecReduce_1 156# happyReduction_388 +happyReduction_388 happy_x_1 + = case happyOut157 happy_x_1 of { happy_var_1 -> + happyIn160 + (HsQConOp happy_var_1 + )} + +happyReduce_389 = happySpecReduce_1 157# happyReduction_389 +happyReduction_389 happy_x_1 + = happyIn161 + (list_cons_name + ) + +happyReduce_390 = happySpecReduce_1 157# happyReduction_390 +happyReduction_390 happy_x_1 + = case happyOut168 happy_x_1 of { happy_var_1 -> + happyIn161 + (happy_var_1 + )} + +happyReduce_391 = happySpecReduce_1 158# happyReduction_391 +happyReduction_391 happy_x_1 + = case happyOut164 happy_x_1 of { happy_var_1 -> + happyIn162 + (UnQual happy_var_1 + )} + +happyReduce_392 = happySpecReduce_1 158# happyReduction_392 +happyReduction_392 happy_x_1 + = case happyOutTok happy_x_1 of { (QVarId happy_var_1) -> + happyIn162 + (Qual (Module (fst happy_var_1)) (HsIdent (snd happy_var_1)) + )} + +happyReduce_393 = happySpecReduce_1 159# happyReduction_393 +happyReduction_393 happy_x_1 + = case happyOutTok happy_x_1 of { (VarId happy_var_1) -> + happyIn163 + (HsIdent happy_var_1 + )} + +happyReduce_394 = happySpecReduce_1 159# happyReduction_394 +happyReduction_394 happy_x_1 + = happyIn163 + (as_name + ) + +happyReduce_395 = happySpecReduce_1 159# happyReduction_395 +happyReduction_395 happy_x_1 + = happyIn163 + (qualified_name + ) + +happyReduce_396 = happySpecReduce_1 159# happyReduction_396 +happyReduction_396 happy_x_1 + = happyIn163 + (hiding_name + ) + +happyReduce_397 = happySpecReduce_1 159# happyReduction_397 +happyReduction_397 happy_x_1 + = happyIn163 + (export_name + ) + +happyReduce_398 = happySpecReduce_1 159# happyReduction_398 +happyReduction_398 happy_x_1 + = happyIn163 + (stdcall_name + ) + +happyReduce_399 = happySpecReduce_1 159# happyReduction_399 +happyReduction_399 happy_x_1 + = happyIn163 + (ccall_name + ) + +happyReduce_400 = happySpecReduce_1 160# happyReduction_400 +happyReduction_400 happy_x_1 + = case happyOut163 happy_x_1 of { happy_var_1 -> + happyIn164 + (happy_var_1 + )} + +happyReduce_401 = happySpecReduce_1 160# happyReduction_401 +happyReduction_401 happy_x_1 + = happyIn164 + (safe_name + ) + +happyReduce_402 = happySpecReduce_1 160# happyReduction_402 +happyReduction_402 happy_x_1 + = happyIn164 + (unsafe_name + ) + +happyReduce_403 = happySpecReduce_1 160# happyReduction_403 +happyReduction_403 happy_x_1 + = happyIn164 + (threadsafe_name + ) + +happyReduce_404 = happySpecReduce_1 161# happyReduction_404 +happyReduction_404 happy_x_1 + = case happyOutTok happy_x_1 of { (IDupVarId happy_var_1) -> + happyIn165 + (HsIPDup happy_var_1 + )} + +happyReduce_405 = happySpecReduce_1 161# happyReduction_405 +happyReduction_405 happy_x_1 + = case happyOutTok happy_x_1 of { (ILinVarId happy_var_1) -> + happyIn165 + (HsIPLin happy_var_1 + )} + +happyReduce_406 = happySpecReduce_1 162# happyReduction_406 +happyReduction_406 happy_x_1 + = case happyOut167 happy_x_1 of { happy_var_1 -> + happyIn166 + (UnQual happy_var_1 + )} + +happyReduce_407 = happySpecReduce_1 162# happyReduction_407 +happyReduction_407 happy_x_1 + = case happyOutTok happy_x_1 of { (QConId happy_var_1) -> + happyIn166 + (Qual (Module (fst happy_var_1)) (HsIdent (snd happy_var_1)) + )} + +happyReduce_408 = happySpecReduce_1 163# happyReduction_408 +happyReduction_408 happy_x_1 + = case happyOutTok happy_x_1 of { (ConId happy_var_1) -> + happyIn167 + (HsIdent happy_var_1 + )} + +happyReduce_409 = happySpecReduce_1 164# happyReduction_409 +happyReduction_409 happy_x_1 + = case happyOut169 happy_x_1 of { happy_var_1 -> + happyIn168 + (UnQual happy_var_1 + )} + +happyReduce_410 = happySpecReduce_1 164# happyReduction_410 +happyReduction_410 happy_x_1 + = case happyOutTok happy_x_1 of { (QConSym happy_var_1) -> + happyIn168 + (Qual (Module (fst happy_var_1)) (HsSymbol (snd happy_var_1)) + )} + +happyReduce_411 = happySpecReduce_1 165# happyReduction_411 +happyReduction_411 happy_x_1 + = case happyOutTok happy_x_1 of { (ConSym happy_var_1) -> + happyIn169 + (HsSymbol happy_var_1 + )} + +happyReduce_412 = happySpecReduce_1 166# happyReduction_412 +happyReduction_412 happy_x_1 + = case happyOut172 happy_x_1 of { happy_var_1 -> + happyIn170 + (UnQual happy_var_1 + )} + +happyReduce_413 = happySpecReduce_1 166# happyReduction_413 +happyReduction_413 happy_x_1 + = case happyOut174 happy_x_1 of { happy_var_1 -> + happyIn170 + (happy_var_1 + )} + +happyReduce_414 = happySpecReduce_1 167# happyReduction_414 +happyReduction_414 happy_x_1 + = case happyOut173 happy_x_1 of { happy_var_1 -> + happyIn171 + (UnQual happy_var_1 + )} + +happyReduce_415 = happySpecReduce_1 167# happyReduction_415 +happyReduction_415 happy_x_1 + = case happyOut174 happy_x_1 of { happy_var_1 -> + happyIn171 + (happy_var_1 + )} + +happyReduce_416 = happySpecReduce_1 168# happyReduction_416 +happyReduction_416 happy_x_1 + = case happyOutTok happy_x_1 of { (VarSym happy_var_1) -> + happyIn172 + (HsSymbol happy_var_1 + )} + +happyReduce_417 = happySpecReduce_1 168# happyReduction_417 +happyReduction_417 happy_x_1 + = happyIn172 + (minus_name + ) + +happyReduce_418 = happySpecReduce_1 168# happyReduction_418 +happyReduction_418 happy_x_1 + = happyIn172 + (pling_name + ) + +happyReduce_419 = happySpecReduce_1 168# happyReduction_419 +happyReduction_419 happy_x_1 + = happyIn172 + (dot_name + ) + +happyReduce_420 = happySpecReduce_1 168# happyReduction_420 +happyReduction_420 happy_x_1 + = happyIn172 + (star_name + ) + +happyReduce_421 = happySpecReduce_1 169# happyReduction_421 +happyReduction_421 happy_x_1 + = case happyOutTok happy_x_1 of { (VarSym happy_var_1) -> + happyIn173 + (HsSymbol happy_var_1 + )} + +happyReduce_422 = happySpecReduce_1 169# happyReduction_422 +happyReduction_422 happy_x_1 + = happyIn173 + (pling_name + ) + +happyReduce_423 = happySpecReduce_1 169# happyReduction_423 +happyReduction_423 happy_x_1 + = happyIn173 + (dot_name + ) + +happyReduce_424 = happySpecReduce_1 169# happyReduction_424 +happyReduction_424 happy_x_1 + = happyIn173 + (star_name + ) + +happyReduce_425 = happySpecReduce_1 170# happyReduction_425 +happyReduction_425 happy_x_1 + = case happyOutTok happy_x_1 of { (QVarSym happy_var_1) -> + happyIn174 + (Qual (Module (fst happy_var_1)) (HsSymbol (snd happy_var_1)) + )} + +happyReduce_426 = happySpecReduce_1 171# happyReduction_426 +happyReduction_426 happy_x_1 + = case happyOutTok happy_x_1 of { (IntTok happy_var_1) -> + happyIn175 + (HsInt happy_var_1 + )} + +happyReduce_427 = happySpecReduce_1 171# happyReduction_427 +happyReduction_427 happy_x_1 + = case happyOutTok happy_x_1 of { (Character happy_var_1) -> + happyIn175 + (HsChar happy_var_1 + )} + +happyReduce_428 = happySpecReduce_1 171# happyReduction_428 +happyReduction_428 happy_x_1 + = case happyOutTok happy_x_1 of { (FloatTok happy_var_1) -> + happyIn175 + (HsFrac happy_var_1 + )} + +happyReduce_429 = happySpecReduce_1 171# happyReduction_429 +happyReduction_429 happy_x_1 + = case happyOutTok happy_x_1 of { (StringTok happy_var_1) -> + happyIn175 + (HsString happy_var_1 + )} + +happyReduce_430 = happyMonadReduce 0# 172# happyReduction_430 +happyReduction_430 (happyRest) tk + = happyThen (( getSrcLoc) + ) (\r -> happyReturn (happyIn176 r)) + +happyReduce_431 = happyMonadReduce 0# 173# happyReduction_431 +happyReduction_431 (happyRest) tk + = happyThen (( pushCurrentContext) + ) (\r -> happyReturn (happyIn177 r)) + +happyReduce_432 = happySpecReduce_1 174# happyReduction_432 +happyReduction_432 happy_x_1 + = happyIn178 + (() + ) + +happyReduce_433 = happyMonadReduce 1# 174# happyReduction_433 +happyReduction_433 (happy_x_1 `HappyStk` + happyRest) tk + = happyThen (( popContext) + ) (\r -> happyReturn (happyIn178 r)) + +happyReduce_434 = happySpecReduce_1 175# happyReduction_434 +happyReduction_434 happy_x_1 + = case happyOutTok happy_x_1 of { (ConId happy_var_1) -> + happyIn179 + (Module happy_var_1 + )} + +happyReduce_435 = happySpecReduce_1 175# happyReduction_435 +happyReduction_435 happy_x_1 + = case happyOutTok happy_x_1 of { (QConId happy_var_1) -> + happyIn179 + (Module (fst happy_var_1 ++ '.':snd happy_var_1) + )} + +happyReduce_436 = happySpecReduce_1 176# happyReduction_436 +happyReduction_436 happy_x_1 + = case happyOut167 happy_x_1 of { happy_var_1 -> + happyIn180 + (happy_var_1 + )} + +happyReduce_437 = happySpecReduce_1 177# happyReduction_437 +happyReduction_437 happy_x_1 + = case happyOut166 happy_x_1 of { happy_var_1 -> + happyIn181 + (happy_var_1 + )} + +happyReduce_438 = happySpecReduce_1 178# happyReduction_438 +happyReduction_438 happy_x_1 + = case happyOut166 happy_x_1 of { happy_var_1 -> + happyIn182 + (happy_var_1 + )} + +happyReduce_439 = happySpecReduce_1 179# happyReduction_439 +happyReduction_439 happy_x_1 + = case happyOut164 happy_x_1 of { happy_var_1 -> + happyIn183 + (happy_var_1 + )} + +happyReduce_440 = happySpecReduce_3 180# happyReduction_440 +happyReduction_440 happy_x_3 + happy_x_2 + happy_x_1 + = case happyOut183 happy_x_2 of { happy_var_2 -> + happyIn184 + (UnQual happy_var_2 + )} + +happyReduce_441 = happySpecReduce_1 180# happyReduction_441 +happyReduction_441 happy_x_1 + = case happyOut185 happy_x_1 of { happy_var_1 -> + happyIn184 + (UnQual happy_var_1 + )} + +happyReduce_442 = happySpecReduce_1 181# happyReduction_442 +happyReduction_442 happy_x_1 + = case happyOutTok happy_x_1 of { (VarSym happy_var_1) -> + happyIn185 + (HsSymbol happy_var_1 + )} + +happyNewToken action sts stk + = lexer(\tk -> + let cont i = happyDoAction i tk action sts stk in + case tk of { + EOF -> happyDoAction 102# tk action sts stk; + VarId happy_dollar_dollar -> cont 1#; + QVarId happy_dollar_dollar -> cont 2#; + IDupVarId happy_dollar_dollar -> cont 3#; + ILinVarId happy_dollar_dollar -> cont 4#; + ConId happy_dollar_dollar -> cont 5#; + QConId happy_dollar_dollar -> cont 6#; + DVarId happy_dollar_dollar -> cont 7#; + VarSym happy_dollar_dollar -> cont 8#; + ConSym happy_dollar_dollar -> cont 9#; + QVarSym happy_dollar_dollar -> cont 10#; + QConSym happy_dollar_dollar -> cont 11#; + IntTok happy_dollar_dollar -> cont 12#; + FloatTok happy_dollar_dollar -> cont 13#; + Character happy_dollar_dollar -> cont 14#; + StringTok happy_dollar_dollar -> cont 15#; + LeftParen -> cont 16#; + RightParen -> cont 17#; + LeftHashParen -> cont 18#; + RightHashParen -> cont 19#; + SemiColon -> cont 20#; + LeftCurly -> cont 21#; + RightCurly -> cont 22#; + VRightCurly -> cont 23#; + LeftSquare -> cont 24#; + RightSquare -> cont 25#; + Comma -> cont 26#; + Underscore -> cont 27#; + BackQuote -> cont 28#; + Dot -> cont 29#; + DotDot -> cont 30#; + Colon -> cont 31#; + DoubleColon -> cont 32#; + Equals -> cont 33#; + Backslash -> cont 34#; + Bar -> cont 35#; + LeftArrow -> cont 36#; + RightArrow -> cont 37#; + At -> cont 38#; + Tilde -> cont 39#; + DoubleArrow -> cont 40#; + Minus -> cont 41#; + Exclamation -> cont 42#; + Star -> cont 43#; + RPGuardOpen -> cont 44#; + RPGuardClose -> cont 45#; + RPCAt -> cont 46#; + THIdEscape happy_dollar_dollar -> cont 47#; + THParenEscape -> cont 48#; + THExpQuote -> cont 49#; + THPatQuote -> cont 50#; + THTypQuote -> cont 51#; + THDecQuote -> cont 52#; + THCloseQuote -> cont 53#; + THReifyDecl -> cont 54#; + THReifyType -> cont 55#; + THReifyFixity -> cont 56#; + XPcdata happy_dollar_dollar -> cont 57#; + XStdTagOpen -> cont 58#; + XCloseTagOpen -> cont 59#; + XCodeTagOpen -> cont 60#; + XStdTagClose -> cont 61#; + XEmptyTagClose -> cont 62#; + XCodeTagClose -> cont 63#; + XRPatOpen -> cont 64#; + XRPatClose -> cont 65#; + KW_Foreign -> cont 66#; + KW_Export -> cont 67#; + KW_Safe -> cont 68#; + KW_Unsafe -> cont 69#; + KW_Threadsafe -> cont 70#; + KW_StdCall -> cont 71#; + KW_CCall -> cont 72#; + KW_As -> cont 73#; + KW_Case -> cont 74#; + KW_Class -> cont 75#; + KW_Data -> cont 76#; + KW_Default -> cont 77#; + KW_Deriving -> cont 78#; + KW_DLet -> cont 79#; + KW_Do -> cont 80#; + KW_Else -> cont 81#; + KW_Family -> cont 82#; + KW_Forall -> cont 83#; + KW_Hiding -> cont 84#; + KW_If -> cont 85#; + KW_Import -> cont 86#; + KW_In -> cont 87#; + KW_Infix -> cont 88#; + KW_InfixL -> cont 89#; + KW_InfixR -> cont 90#; + KW_Instance -> cont 91#; + KW_Let -> cont 92#; + KW_MDo -> cont 93#; + KW_Module -> cont 94#; + KW_NewType -> cont 95#; + KW_Of -> cont 96#; + KW_Then -> cont 97#; + KW_Type -> cont 98#; + KW_Where -> cont 99#; + KW_With -> cont 100#; + KW_Qualified -> cont 101#; + _ -> happyError' tk + }) + +happyError_ tk = happyError' tk + +happyThen :: () => P a -> (a -> P b) -> P b +happyThen = (>>=) +happyReturn :: () => a -> P a +happyReturn = (return) +happyThen1 = happyThen +happyReturn1 :: () => a -> P a +happyReturn1 = happyReturn +happyError' :: () => Token -> P a +happyError' tk = (\token -> happyError) tk + +parse = happySomeParser where + happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut4 x)) + +happySeq = happyDontSeq + + +happyError :: P a +happyError = fail "Parse error" + +-- | Parse of a string, which should contain a complete Haskell 98 module. +parseModule :: String -> ParseResult HsModule +parseModule = runParser parse + +-- | Parse of a string, which should contain a complete Haskell 98 module. +parseModuleWithMode :: ParseMode -> String -> ParseResult HsModule +parseModuleWithMode mode = runParserWithMode mode parse +{-# LINE 1 "templates/GenericTemplate.hs" #-} +{-# LINE 1 "templates/GenericTemplate.hs" #-} +{-# LINE 1 "<built-in>" #-} +{-# LINE 1 "<command line>" #-} +{-# LINE 1 "templates/GenericTemplate.hs" #-} +-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp + +{-# LINE 28 "templates/GenericTemplate.hs" #-} + + +data Happy_IntList = HappyCons Int# Happy_IntList + + + + + +{-# LINE 49 "templates/GenericTemplate.hs" #-} + +{-# LINE 59 "templates/GenericTemplate.hs" #-} + +{-# LINE 68 "templates/GenericTemplate.hs" #-} + +infixr 9 `HappyStk` +data HappyStk a = HappyStk a (HappyStk a) + +----------------------------------------------------------------------------- +-- starting the parse + +happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll + +----------------------------------------------------------------------------- +-- Accepting the parse + +-- If the current token is 0#, it means we've just accepted a partial +-- parse (a %partial parser). We must ignore the saved token on the top of +-- the stack in this case. +happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) = + happyReturn1 ans +happyAccept j tk st sts (HappyStk ans _) = + (happyTcHack j (happyTcHack st)) (happyReturn1 ans) + +----------------------------------------------------------------------------- +-- Arrays only: do the next action + + + +happyDoAction i tk st + = {- nothing -} + + + case action of + 0# -> {- nothing -} + happyFail i tk st + -1# -> {- nothing -} + happyAccept i tk st + n | (n <# (0# :: Int#)) -> {- nothing -} + + (happyReduceArr ! rule) i tk st + where rule = (I# ((negateInt# ((n +# (1# :: Int#)))))) + n -> {- nothing -} + + + happyShift new_state i tk st + where new_state = (n -# (1# :: Int#)) + where off = indexShortOffAddr happyActOffsets st + off_i = (off +# i) + check = if (off_i >=# (0# :: Int#)) + then (indexShortOffAddr happyCheck off_i ==# i) + else False + action | check = indexShortOffAddr happyTable off_i + | otherwise = indexShortOffAddr happyDefActions st + +{-# LINE 127 "templates/GenericTemplate.hs" #-} + + +indexShortOffAddr (HappyA# arr) off = +#if __GLASGOW_HASKELL__ > 500 + narrow16Int# i +#elif __GLASGOW_HASKELL__ == 500 + intToInt16# i +#else + (i `iShiftL#` 16#) `iShiftRA#` 16# +#endif + where +#if __GLASGOW_HASKELL__ >= 503 + i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low) +#else + i = word2Int# ((high `shiftL#` 8#) `or#` low) +#endif + high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#))) + low = int2Word# (ord# (indexCharOffAddr# arr off')) + off' = off *# 2# + + + + + +data HappyAddr = HappyA# Addr# + + + + +----------------------------------------------------------------------------- +-- HappyState data type (not arrays) + +{-# LINE 170 "templates/GenericTemplate.hs" #-} + +----------------------------------------------------------------------------- +-- Shifting a token + +happyShift new_state 0# tk st sts stk@(x `HappyStk` _) = + let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in +-- trace "shifting the error token" $ + happyDoAction i tk new_state (HappyCons (st) (sts)) (stk) + +happyShift new_state i tk st sts stk = + happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk) + +-- happyReduce is specialised for the common cases. + +happySpecReduce_0 i fn 0# tk st sts stk + = happyFail 0# tk st sts stk +happySpecReduce_0 nt fn j tk st@((action)) sts stk + = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk) + +happySpecReduce_1 i fn 0# tk st sts stk + = happyFail 0# tk st sts stk +happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk') + = let r = fn v1 in + happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) + +happySpecReduce_2 i fn 0# tk st sts stk + = happyFail 0# tk st sts stk +happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk') + = let r = fn v1 v2 in + happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) + +happySpecReduce_3 i fn 0# tk st sts stk + = happyFail 0# tk st sts stk +happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk') + = let r = fn v1 v2 v3 in + happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk')) + +happyReduce k i fn 0# tk st sts stk + = happyFail 0# tk st sts stk +happyReduce k nt fn j tk st sts stk + = case happyDrop (k -# (1# :: Int#)) sts of + sts1@((HappyCons (st1@(action)) (_))) -> + let r = fn stk in -- it doesn't hurt to always seq here... + happyDoSeq r (happyGoto nt j tk st1 sts1 r) + +happyMonadReduce k nt fn 0# tk st sts stk + = happyFail 0# tk st sts stk +happyMonadReduce k nt fn j tk st sts stk = + happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk)) + where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts)) + drop_stk = happyDropStk k stk + +happyMonad2Reduce k nt fn 0# tk st sts stk + = happyFail 0# tk st sts stk +happyMonad2Reduce k nt fn j tk st sts stk = + happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk)) + where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts)) + drop_stk = happyDropStk k stk + + off = indexShortOffAddr happyGotoOffsets st1 + off_i = (off +# nt) + new_state = indexShortOffAddr happyTable off_i + + + + +happyDrop 0# l = l +happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t + +happyDropStk 0# l = l +happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs + +----------------------------------------------------------------------------- +-- Moving to a new state after a reduction + + +happyGoto nt j tk st = + {- nothing -} + happyDoAction j tk new_state + where off = indexShortOffAddr happyGotoOffsets st + off_i = (off +# nt) + new_state = indexShortOffAddr happyTable off_i + + + + +----------------------------------------------------------------------------- +-- Error recovery (0# is the error token) + +-- parse error if we are in recovery and we fail again +happyFail 0# tk old_st _ stk = +-- trace "failing" $ + happyError_ tk + +{- We don't need state discarding for our restricted implementation of + "error". In fact, it can cause some bogus parses, so I've disabled it + for now --SDM + +-- discard a state +happyFail 0# tk old_st (HappyCons ((action)) (sts)) + (saved_tok `HappyStk` _ `HappyStk` stk) = +-- trace ("discarding state, depth " ++ show (length stk)) $ + happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk)) +-} + +-- Enter error recovery: generate an error token, +-- save the old token and carry on. +happyFail i tk (action) sts stk = +-- trace "entering error recovery" $ + happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk) + +-- Internal happy errors: + +notHappyAtAll = error "Internal Happy error\n" + +----------------------------------------------------------------------------- +-- Hack to get the typechecker to accept our action functions + + +happyTcHack :: Int# -> a -> a +happyTcHack x y = y +{-# INLINE happyTcHack #-} + + +----------------------------------------------------------------------------- +-- Seq-ing. If the --strict flag is given, then Happy emits +-- happySeq = happyDoSeq +-- otherwise it emits +-- happySeq = happyDontSeq + +happyDoSeq, happyDontSeq :: a -> b -> b +happyDoSeq a b = a `seq` b +happyDontSeq a b = b + +----------------------------------------------------------------------------- +-- Don't inline any functions from the template. GHC has a nasty habit +-- of deciding to inline happyGoto everywhere, which increases the size of +-- the generated parser quite a bit. + + +{-# NOINLINE happyDoAction #-} +{-# NOINLINE happyTable #-} +{-# NOINLINE happyCheck #-} +{-# NOINLINE happyActOffsets #-} +{-# NOINLINE happyGotoOffsets #-} +{-# NOINLINE happyDefActions #-} + +{-# NOINLINE happyShift #-} +{-# NOINLINE happySpecReduce_0 #-} +{-# NOINLINE happySpecReduce_1 #-} +{-# NOINLINE happySpecReduce_2 #-} +{-# NOINLINE happySpecReduce_3 #-} +{-# NOINLINE happyReduce #-} +{-# NOINLINE happyMonadReduce #-} +{-# NOINLINE happyGoto #-} +{-# NOINLINE happyFail #-} + +-- end of Happy Template.
haskell-src-exts.cabal view
@@ -1,5 +1,5 @@ Name: haskell-src-exts-Version: 0.3.3+Version: 0.3.4 License: BSD3 License-File: LICENSE Author: Niklas Broberg