packages feed

idris 0.1.4 → 0.1.5

raw patch · 33 files changed

+7595/−6970 lines, 33 filesdep +Cabaldep ~epicdep ~ivorsetup-changed

Dependencies added: Cabal

Dependency ranges changed: epic, ivor

Files

+ CHANGELOG view
@@ -0,0 +1,16 @@+New in 0.1.5+------------++* Changed '#' to Set for the type of types+  - old syntax works, but is deprecated and will be removed soon.+* 'syntax' definitions+* %spec works in pattern clauses as well as CAFs+* Added 'Proof' type for marking computationally irrelevant terms.+* Added List permutation proofs to the library (perm.idr)+* Various new functions in the library.+* Lots of bug fixes++New in 0.1.4+------------++* Namespaces
Idris/AbsSyntax.lhs view
@@ -49,7 +49,8 @@ >           | CLib String | CInclude String >           | Fixity String Fixity Int >           | Transform RawTerm RawTerm->           | Freeze Id+>           | SynDef Id [Id] RawTerm +>           | Freeze String Int [Id] Id >    deriving Show  Flags for controlling compilation. In particular, some functions exist only@@ -80,7 +81,8 @@  > data UserOps = UO { fixityDecls :: Fixities, >                     transforms :: [(ViewTerm, ViewTerm)],->                     frozen :: [Id] }+>                     frozen :: [Id],+>                     syndefs :: [Syntax] } >              deriving Show  Function types and clauses are given separately, so we'll parse them@@ -100,7 +102,6 @@ >                | PDoUsing (Id, Id) [ParseDecl] >                | PIdiom (Id, Id) [ParseDecl] >                | PNamespace Id [ParseDecl]->                | PSyntax Id [Id] RawTerm  >    deriving Show  > collectDecls :: [ParseDecl] -> Result [Decl]@@ -148,7 +149,6 @@ >                   Success d -> >                       cds ((Idiom up ua d):rds) fwds ds >                   failure -> failure->         cds rds fwds ((PSyntax name args to):ds) = cds rds fwds ds -- TODO >         cds rds fwds (d:ds) = fail $ "Invalid declaration: " ++ show d >         cds rds fwds [] = return (reverse rds) @@ -238,6 +238,7 @@ Raw terms, as written by the programmer with no implicit arguments added.  > data RawTerm = RVar String Int Id+>              | RVars String Int [Id] >              | RExpVar String Int Id -- variable with all explicit args >              | RApp String Int RawTerm RawTerm >              | RAppImp String Int Id RawTerm RawTerm -- Name the argument we make explicit@@ -255,7 +256,7 @@ >              | RError String Int String -- Hackety. Found an error in processing, report when you can. >    deriving (Show, Eq) -> data RBinder = Pi Plicit Laziness RawTerm+> data RBinder = Pi Plicit [ArgOpt] RawTerm >              | Lam RawTerm >              | RLet RawTerm RawTerm >    deriving (Show, Eq)@@ -263,7 +264,7 @@ > data Plicit = Im | Ex >    deriving (Show, Eq, Enum) -> data Laziness = Lazy | Eager+> data ArgOpt = Lazy | Static >    deriving (Show, Eq, Enum)  > data Do = DoBinding String Int Id RawTerm RawTerm@@ -273,6 +274,7 @@  > data ITactic = Intro [Id] >              | Refine Id+>              | Exists RawTerm >              | Generalise RawTerm >              | ReflP >              | Induction RawTerm@@ -288,17 +290,22 @@ >              | Decide RawTerm >              | Undo >              | Abandon+>              | ProofTerm >              | RunTactic RawTerm -- tactic computed from lib/tactics.idr >              | Qed >     deriving (Show, Eq) -> getLazy :: RawTerm -> [Int]-> getLazy tm = gl' 0 tm->   where gl' i (RBind n (Pi _ Lazy _) sc) = i:(gl' (i+1) sc)->         gl' i (RBind n (Pi Ex Eager _) sc) = gl' (i+1) sc->         gl' i (RBind n (Pi Im Eager _) sc) = gl' i sc+> getArgOpt :: ArgOpt -> RawTerm -> [Int]+> getArgOpt ao tm = gl' 0 tm+>   where gl' i (RBind n (Pi _ opts _) sc) +>               | ao `elem` opts = i:(gl' (i+1) sc)+>         gl' i (RBind n (Pi Ex _ _) sc) = gl' (i+1) sc+>         gl' i (RBind n (Pi Im _ _) sc) = gl' i sc >         gl' i x = [] +> getLazy = getArgOpt Lazy+> getStatic = getArgOpt Static+ > mkLazy :: ViewTerm -> ViewTerm > mkLazy t = App (App (Name Unknown (name "__lazy")) Placeholder) t @@ -372,7 +379,7 @@ >     show (Bo b) = show b >     show (Ch c) = show c >     show (Fl d) = show d->     show TYPE = "#"+>     show TYPE = "Set" >     show IntType = "Int" >     show FloatType = "Float" >     show CharType = "Char"@@ -384,8 +391,9 @@ typechecker and compiler need to know how to run. First we have the usual set of infix  operators (plus John Major equality): -> data Op = Plus | Minus | Times | Divide | Concat | JMEq->         | OpEq | OpLT | OpLEq | OpGT | OpGEq | OpOr | OpAnd+> data Op = Plus  | Minus | Times | Divide | Concat | JMEq+>         | OpEq  | OpLT  | OpLEq | OpGT   | OpGEq  | OpOr +>         | OpAnd | ShL   | ShR  Then built-in functions for coercing between types @@ -398,7 +406,8 @@ >         | StringHead | StringTail | StringCons >    deriving (Eq, Enum) -> allOps = [Plus,Minus,Times,Divide,Concat,JMEq,OpEq,OpLT,OpLEq,OpGT,OpGEq]+> allOps = [Plus,Minus,Times,Divide,Concat,ShL,ShR,+>           JMEq,OpEq,OpLT,OpLEq,OpGT,OpGEq]  > instance Show Op where >     show Plus = "+"@@ -414,6 +423,8 @@ >     show OpGEq = ">=" >     show OpOr = "||" >     show OpAnd = "&&"+>     show ShL = "<<"+>     show ShR = ">>"  > opFn Plus = (name "__addInt") > opFn Minus = (name "__subInt")@@ -428,6 +439,8 @@ > opFn OpGEq = (name "__intgeq") > opFn OpOr = (name "__or") > opFn OpAnd = (name "__and")+> opFn ShL = (name "__shl")+> opFn ShR = (name "__shr")  > opFn ToInt = (name "__toInt") > opFn ToString = (name "__toString")@@ -470,7 +483,8 @@ >       ivorDef :: Maybe IvorDef, >       rawDecl :: Decl, -- handy to keep around for display + extra data >       funFlags :: [CGFlag],->       lazyArgs :: [Int]+>       lazyArgs :: [Int],+>       staticArgs :: [Int] >     } >              | IvorProblem String >    deriving Show@@ -483,10 +497,11 @@ >                      [(Name, (ViewTerm, Patterns))] > getRawPatternDefs raw ctxt = gdefs (ctxtAlist raw) where >     gdefs [] = []->     gdefs ((n, IvorFun _ _ _ _ (decl@(LatexDefs _)) _ _):ds) = gdefs ds->     gdefs ((n, IvorFun _ _ _ _ (decl@(Fixity _ _ _)) _ _):ds) = gdefs ds->     gdefs ((n, IvorFun _ _ _ _ (decl@(Transform _ _)) _ _):ds) = gdefs ds->     gdefs ((n, IvorFun _ _ _ _ (decl@(Freeze _)) _ _):ds) = gdefs ds+>     gdefs ((n, IvorFun _ _ _ _ (decl@(LatexDefs _)) _ _ _):ds) = gdefs ds+>     gdefs ((n, IvorFun _ _ _ _ (decl@(Fixity _ _ _)) _ _ _):ds) = gdefs ds+>     gdefs ((n, IvorFun _ _ _ _ (decl@(Transform _ _)) _ _ _):ds) = gdefs ds+>     gdefs ((n, IvorFun _ _ _ _ (decl@(SynDef _ _ _)) _ _ _):ds) = gdefs ds+>     gdefs ((n, IvorFun _ _ _ _ (decl@(Freeze _ _ _ _)) _ _ _):ds) = gdefs ds >     gdefs ((n, ifun):ds) >        = let Just iname = ivorFName ifun in >             case (ivorFType ifun, ivorDef ifun) of@@ -514,6 +529,12 @@ >                        (Maybe (ViewTerm -> ViewTerm))  >                        (Maybe TransData) +A syntax definition is a syntax level transformation from one term to another+(macros, essentially).++> data Syntax = Syntax Id [Id] RawTerm+>   deriving Show+ Concrete transformation data, used for rebuilding constructor transforms  > data TransData = Force (Maybe (Name, Name)) Int Name [Name] @@ -531,11 +552,13 @@ >       idris_options :: [Opt], -- global options >       idris_fixities :: UserOps, -- infix operators and precedences >       idris_transforms :: [Transform], -- optimisations->       idris_imports :: [FilePath] -- included files+>       idris_syntax :: [Syntax], -- syntax macros+>       idris_imports :: [FilePath], -- included files+>       idris_names :: [(Name, Id)] -- map ivor names back to idris names >     }  > initState :: [Opt] -> IdrisState-> initState opts = IState newCtxt [] [] opts (UO [] [] []) [] []+> initState opts = IState newCtxt [] [] opts (UO [] [] [] []) [] [] [] []  Add implicit arguments to a raw term representing a type for each undefined  name in the scope, returning the number of implicit arguments the resulting@@ -586,7 +609,7 @@ >                             if (i `elem` nms) then return () >                                 else put (i:nms, tot+1) >               | otherwise = return ()->           addImplB env (RApp _ _ f a) argpos+>           addImplB env ap@(RApp _ _ f a) argpos >                    = do addImplB env f False >                         addImplB env a True >           addImplB env (RAppImp _ _ _ f a) argpos @@ -626,7 +649,7 @@ >           pibind :: Plicit -> [(Id, RawTerm)] -> RawTerm -> RawTerm >           pibind plicit [] raw = raw >           pibind plicit ((n, ty):ns) raw->                      = RBind n (Pi plicit Eager ty) (pibind plicit ns raw)+>                      = RBind n (Pi plicit [] ty) (pibind plicit ns raw)  >           parambind :: [(Id, RawTerm)] -> RawTerm -> RawTerm >           parambind xs (RBind n b@(Pi Im strict ty) sc) = RBind n b (parambind xs sc)@@ -646,11 +669,23 @@ > toIvorName :: Id -> Name > toIvorName i = name (show i) -> fromIvorName :: Name -> Id-> fromIvorName i = UN (show i)+Lookup the original Idris name of a name from Ivor. Makes up a name if+the name doesn't exist. -For desugaring do blocks and idiom brackets+> fromIvorName :: IdrisState -> Name -> Id+> fromIvorName ist i = case lookup i (idris_names ist) of+>                        Just n -> n+>                        _ -> UN (show i) +Make up a plausible Idris name from a name from Ivor (only really useful+for display purposes, or if it really doesn't matter whether the name exists +or not)++> fromIvorName_ :: Name -> Id+> fromIvorName_ i = UN (show i)++For desugaring -- do blocks, idiom brackets and syntax definitions+ > data UndoInfo = UI Id Int -- bind, bind implicit >                    Id Int -- return, return implicit >                    Id Int -- pure, pure implicit@@ -711,14 +746,16 @@  > defDo = UI bindName 2 retName 1 retName 1 applyName 2 -> toIvor :: UndoInfo -> Id -> RawTerm -> ViewTerm-> toIvor ui fname tm = evalState (toIvorS tm) (0,1)+> toIvor :: UserOps -> UndoInfo -> Id -> RawTerm -> ViewTerm+> toIvor uo ui fname tm = evalState (toIvorS tm) (0,1) >   where >     toIvorS :: RawTerm -> State (Int, Int) ViewTerm >     toIvorS (RVar f l n) = return $ Annotation (FileLoc f l) (Name Unknown (toIvorName n))->     toIvorS (RApp file line f a) = do f' <- toIvorS f->                                       a' <- toIvorS a->                                       return (Annotation (FileLoc file line) (App f' a'))+>     toIvorS (RVars f l ns) = return $ Annotation (FileLoc f l) (Overloaded (map toIvorName ns))+>     toIvorS ap@(RApp file line f a)+>            = do f' <- toIvorS f+>                 a' <- toIvorS a+>                 return (Annotation (FileLoc file line) (App f' a')) >     toIvorS (RBind (MN "X" 0) (Pi _ _ ty) sc)  >            = do ty' <- toIvorS ty >                 sc' <- toIvorS sc@@ -794,38 +831,44 @@ > makeIvorTerm :: Implicit -> UndoInfo -> UserOps -> Id -> Ctxt IvorFun -> RawTerm -> ViewTerm > makeIvorTerm using ui uo n ctxt tm  >                  = let expraw = addPlaceholders ctxt using uo tm in->                                 toIvor ui n expraw+>                                 toIvor uo ui n expraw  Add placeholders so that implicit arguments can be filled in. Also desugar user infix apps. FIXME: I think this'll fail if names are shadowed.  > addPlaceholders :: Ctxt IvorFun -> Implicit -> UserOps -> RawTerm -> RawTerm-> addPlaceholders ctxt using (UO uo _ _) tm = ap [] tm+> addPlaceholders ctxt using (UO uo _ _ syns) tm = ap [] tm >     -- Count the number of args we've made explicit in an application >     -- and don't add placeholders for them. Reset the counter if we get >     -- out of an application->     where ap ex (RVar f l n)->               = case ctxtLookupName ctxt (thisNamespace using) n of->                   Right (IvorFun _ (Just ty) imp _ _ _ _, fulln) -> +>     where ap ex v@(RVar f l n)+>            = case doSynN f l n syns of+>               RVar _ _ n ->+>                 case ctxtLookupName ctxt (thisNamespace using) n of+>                   Right (IvorFun _ (Just ty) imp _ _ _ _ _, fulln) ->  >                     let pargs = case lookup n pnames of >                                   Nothing -> [] >                                   Just ids -> map (RVar f l) ids in >                     mkApp f l (RVar f l fulln) >                               ((mkImplicitArgs  >                                (map fst (fst (getBinders ty []))) imp ex) ++ pargs)->                   Left err@(Ambiguous _ _) -> RError f l (show err)+>                   Left err@(Ambiguous _ ns) -> RError f l (show err) -- RVars f l ns >                   Left err@(WrongNamespace _ _) -> RError f l (show err) >                   Right (_, fulln) -> RVar f l fulln >                   _ -> RVar f l n+>               t -> ap ex t >           ap ex (RExpVar f l n) >               = case ctxtLookupName ctxt (thisNamespace using) n of->                   Right (IvorFun _ (Just ty) imp _ _ _ _, fulln) -> RVar f l fulln+>                   Right (IvorFun _ (Just ty) imp _ _ _ _ _, fulln) -> RVar f l fulln >                   Left err@(Ambiguous _ _) -> RError f l (show err) >                   Left err@(WrongNamespace _ _) -> RError f l (show err) >                   Right (_, fulln) -> RVar f l fulln >                   _ -> RVar f l n >           ap ex (RAppImp file line n f a) = (ap ((toIvorName n,(ap [] a)):ex) f)->           ap ex (RApp file line f a) = (RApp file line (ap ex f) (ap [] a))+>           ap ex app@(RApp file line f a) = +>               case doSyn app syns f [a] of+>                   RApp _ _ f a -> RApp file line (ap ex f) (ap [] a)+>                   t -> ap ex t >           ap ex (RBind n (Pi p l ty) sc) >               = RBind n (Pi p l (ap [] ty)) (ap [] sc) >           ap ex (RBind n (Lam ty) sc)@@ -850,6 +893,34 @@  >           pnames = paramNames using +>           doSyn o syns (RApp _ _ f a) args = doSyn o syns f (a:args)+>           doSyn o syns v args +>                = case ap [] v of+>                      RVar f l n -> +>                        case findSyn n syns of+>                          Just (a, rhs) -> replSyn f l rhs (zip a args)+>                          Nothing -> o+>                      _ -> o++>           doSynN f l n syns = case findSyn n syns of+>                             Just ([], rhs) -> replSyn f l rhs []+>                             _ -> RVar f l n++>           findSyn n [] = Nothing+>           findSyn n ((Syntax f as rhs):xs) | n == f = Just (as, rhs)+>                                            | otherwise = findSyn n xs++>           replSyn f l t@(RVar _ _ n) as = case lookup n as of+>                                             Just v -> v+>                                             Nothing -> RVar f l n+>           replSyn f l (RApp _ _ fn a) as +>                 = RApp f l (replSyn f l fn as) (replSyn f l a as)+>           replSyn f l (RInfix _ _ op x y) as +>                 = RInfix f l op (replSyn f l x as) (replSyn f l y as)+>           replSyn f l (RAppImp _ _ x fn a) as+>                 = RAppImp f l x (replSyn f l fn as) (replSyn f l a as)+>           replSyn _ _ x _ = x+ Go through the arguments; if an implicit argument has the same name as one in our list of explicit names to add, add it. @@ -923,7 +994,7 @@  > dump :: Ctxt IvorFun -> String > dump ctxt = concat $ map dumpFn (ctxtAlist ctxt)->   where dumpFn (_,IvorFun n ty imp def _ _ _) =+>   where dumpFn (_,IvorFun n ty imp def _ _ _ _) = >             show n ++ " : " ++ show ty ++ "\n" ++ >             "   " ++ show imp ++ " implicit\n" ++ >             show def ++ "\n\n"@@ -968,7 +1039,7 @@ >            _ -> unwind (RVar "[val]" 0 (mkRName v)) args >     unI (App f a) args = unI f ((unI a []):args) >     unI (Lambda v ty sc) args = unwind (RBind (mkRName v) (Lam (unI ty [])) (unI sc [])) args->     unI (Forall v ty sc) args = unwind (RBind (mkRName v) (Pi Ex Eager (unI ty [])) (unI sc [])) args+>     unI (Forall v ty sc) args = unwind (RBind (mkRName v) (Pi Ex [] (unI ty [])) (unI sc [])) args >     unI (Let v ty val sc) args = unwind (RBind (mkRName v)  >                                          (RLet (unI val []) (unI ty []))  >                                          (unI sc [])) args@@ -976,6 +1047,9 @@ >     unI (Constant c) [] = let try f = fmap (RConst "[val]" 0 . f) $ cast c >                           in  fromJust $ msum [try Num, try Str, try Ch, try Fl] >     unI (Annotation _ x) args = unI x args+>     unI (Metavar n) args = RMetavar (mkRName n)+>     unI Placeholder args = RPlaceholder+>     unI x args = error (show x)  >     unwind = mkImpApp "[val]" 0 0 [] 
Idris/Compiler.lhs view
@@ -52,7 +52,7 @@ >                       = -- trace (show (x,def)) $ >                         let lifted = lambdaLift ctxt ist x args def >                             scfuns = map (\ (n,args,sc) -> ->                                          (n, scFun ctxt ist (fromIvorName n) args sc)) lifted+>                                          (n, scFun ctxt ist (fromIvorName ist n) args sc)) lifted >                             xs' = allSCs xs in >                             mkGen gen scfuns ++ xs' >          mkGen gen ((n, d):ds) = (n,gen,d):(mkGen True ds)@@ -226,6 +226,8 @@ >   writeSC' (SApp (SVar n) [arg1, arg2]) >     | n == name "__strEq" = >         "__epic_streq("++writeSC' arg1++", " ++ writeSC' arg2 ++ ")"+>     | n == name "__charEq" =+>         "__epic_chareq("++writeSC' arg1++", " ++ writeSC' arg2 ++ ")" >     | n == name "__strLT" = >         "__epic_strlt("++writeSC' arg1++", " ++ writeSC' arg2 ++ ")" 
Idris/ConTrans.lhs view
@@ -55,7 +55,7 @@  >          lhsSafe (Trans nm _ _) = not (isSuffixOf "_ID" nm) -> allTrans ts tm = foldl (\tm (l,r) -> Ivor.ViewTerm.transform l r tm) tm ts+> allTrans ts tm = foldl (\tm (l,r) -> Ivor.ViewTerm.transform l r tm) tm (ts++ts)  Look at all the definitions in the context, and make the relevant constructor transformations for forcing, detagging and collapsing.@@ -126,7 +126,7 @@ >          forceable = nub (map (\ (x,y) -> (x, force ctxt y acc, Ivor.TT.getArgTypes y)) cons) >          detaggable = pdisjoint ctxt detagin >          recursive = nub (map (\ (x,y) -> (x, recArgs n y acc, Ivor.TT.getArgTypes y)) cons)->          collapsible = detaggable && all droppedAll (combine forceable recursive)+>          collapsible = (detaggable && all droppedAll (combine forceable recursive)) || (n == name "Proof") >          nattable = isNat forceable recursive >               in >          -- trace (show n ++ " " ++ show (nattable) ++ " " ++ show (forceable, recursive)) $ -- FORCING \n\t" ++ show forceable) 
Idris/Fontlock.lhs view
@@ -73,7 +73,7 @@ >             "import","export","inline","where","partial","syntax","lazy", >             "infix","infixl","infixr","do","refl","if","then","else","let", >             "in","return","include","exists", "with"]-> types = ["String","Int","Char","Float","Ptr","Lock","Handle"]+> types = ["String","Int","Char","Float","Ptr","Lock","Handle","Set"]  > markupSpecial ms cs = case span isAllowed cs of >      (var,rest) -> (None, '%':var):(markupText ms rest)
Idris/LambdaLift.lhs view
@@ -280,7 +280,7 @@  > scapply ist (SVar n) args >         = let raw = idris_context ist in->           case ctxtLookup raw [] (fromIvorName n) of+>           case ctxtLookup raw [] (fromIvorName ist n) of >             Left _ -> SApp (SVar n) args >             Right ifn -> let ia = implicitArgs ifn >                              lz = lazyArgs ifn @@ -288,7 +288,7 @@ >                              SApp (SVar n) args' > scapply ist (SCon n i) args >         = let raw = idris_context ist in->           case ctxtLookup raw [] (fromIvorName n) of+>           case ctxtLookup raw [] (fromIvorName ist n) of >             Left _ -> SApp (SCon n i) args >             Right ifn -> let ia = implicitArgs ifn >                              lz = lazyArgs ifn 
Idris/Latex.lhs view
@@ -25,17 +25,17 @@ >         = case lookup n (defs++ldefs) of >             Just l -> l >             Nothing -> case ctxtLookup ctxt [] n of->                          Right (IvorFun _ _ _ _ d _ _) -> ty d (show n)+>                          Right (IvorFun _ _ _ _ d _ _ _) -> ty d (show n) >                          Left _ -> "\\VV{" ++ show n ++ "}" >         where ty (DataDecl _) n = "\\TC{" ++ n ++ "}"           >               ty Constructor n = "\\DC{" ++ n ++ "}" >               ty _ n = "\\FN{" ++ n ++ "}" >               ldefs = case ctxtLookup ctxt [] (MN "latex" 0) of->                         Right (IvorFun _ _ _ _ (LatexDefs ds) _ _) -> ds+>                         Right (IvorFun _ _ _ _ (LatexDefs ds) _ _ _) -> ds >                         Left _ -> []  > instance LaTeX IvorFun where->     latex ctxt defs (IvorFun nm ty _ _ decl _ _) = latex ctxt defs decl+>     latex ctxt defs (IvorFun nm ty _ _ decl _ _ _) = latex ctxt defs decl  > instance LaTeX Decl where >     latex ctxt defs (DataDecl (Datatype id ty cons _ _ _ _))
Idris/Lexer.hs view
@@ -80,6 +80,7 @@       | TokenPartial       | TokenSyntax       | TokenLazy+      | TokenStatic       | TokenWhere       | TokenWith       | TokenType@@ -95,7 +96,7 @@       | TokenCSB       | TokenOId       | TokenCId-      | TokenExists+--      | TokenExists       | TokenConcat       | TokenTilde       | TokenPlus@@ -149,6 +150,7 @@       | TokenProof       | TokenIntro       | TokenRefine+      | TokenExists       | TokenGeneralise       | TokenReflP       | TokenRewrite@@ -164,6 +166,7 @@       | TokenUse       | TokenDecide       | TokenAbandon+      | TokenProofTerm       | TokenQED -- Directives       | TokenLaTeX@@ -287,11 +290,13 @@       ("partial",rest) -> cont TokenPartial rest       ("syntax",rest) -> cont TokenSyntax rest       ("lazy",rest) -> cont TokenLazy rest+      ("static",rest) -> cont TokenStatic rest       ("infix",rest) -> cont TokenInfix rest       ("infixl",rest) -> cont TokenInfixL rest       ("infixr",rest) -> cont TokenInfixR rest       ("exists",rest) -> cont TokenExists rest -- Types+      ("Set",rest) -> cont TokenType rest       ("Int",rest) -> cont TokenIntType rest       ("Char",rest) -> cont TokenCharType rest       ("Float",rest) -> cont TokenFloatType rest@@ -364,6 +369,7 @@ -- don't need the ugly syntax...       ("intro",rest) -> cont TokenIntro rest       ("refine",rest) -> cont TokenRefine rest+      ("exists",rest) -> cont TokenExists rest       ("generalise",rest) -> cont TokenGeneralise rest       ("refl",rest) -> cont TokenReflP rest       ("rewrite",rest) -> cont TokenRewrite rest@@ -379,6 +385,7 @@       ("use", rest) -> cont TokenUse rest       ("decide", rest) -> cont TokenDecide rest       ("abandon", rest) -> cont TokenAbandon rest+      ("prf", rest) -> cont TokenProofTerm rest       ("qed", rest) -> cont TokenQED rest       (thing,rest) -> lexError '%' rest 
Idris/MakeTerm.lhs view
@@ -20,23 +20,25 @@ >     = let (rty, imp) = addImplWith using ctxt ty >           ity = makeIvorTerm using ui uo n ctxt rty >           extCtxt = addEntry ctxt (thisNamespace using) n (IvorFun Nothing (Just ity) ->                                       imp Nothing decl flags (getLazy ty))+>                                       imp Nothing decl flags (map (+p) (getLazy ty)) (map (+p) (getStatic ty))) >           pclauses = map (mkPat extCtxt imp) clauses in >       IvorFun (Just (toIvorName (fullName using n)))  >                   (Just (Annotation (FileLoc file line) ity)) imp ->                   (Just (PattDef (Patterns pclauses))) decl flags (getLazy ty)->   where mkPat ectx imp (id,(RawClause lhs rhs)) +>                   (Just (PattDef (Patterns pclauses))) decl flags +>                   (map (+p) (getLazy ty)) (map (+p) (getStatic ty))+>   where p = length (params using)+>         mkPat ectx imp (id,(RawClause lhs rhs))  >               = let lhs' = addPlaceholders ectx using uo lhs in >                     case (getFn lhs', getRawArgs lhs') of >                          (fid, pats) ->->                            let vpats = map (toIvor ui n) pats+>                            let vpats = map (toIvor uo ui n) pats >                                vrhs = makeIvorTerm using ui uo n ectx rhs in >                                PClause vpats [] vrhs >         mkPat ectx imp (id,(RawWithClause lhs prf scr def)) >               = let lhs' = addPlaceholders ectx using uo lhs in >                     case (getFn lhs', getRawArgs lhs') of >                          (fid, pats) ->->                            let vpats = map (toIvor ui n) pats+>                            let vpats = map (toIvor uo ui n) pats >                                vscr = makeIvorTerm using ui uo n ectx scr >                                vdef = Patterns $ map (mkPat ectx imp) (zip (repeat id) def) in >                                PWithClause prf vpats vscr vdef@@ -98,17 +100,17 @@ >            mif opt ctxt (addEntry acc (thisNamespace using) n  >                         (IvorFun (Just (toIvorName (fullName using n)))  >                            (Just (Annotation (FileLoc file line) ity))->                              imp (Just Later) decl flags (getLazy ty))) using ui uo ds+>                              imp (Just Later) decl flags (getLazy ty) (getStatic ty))) using ui uo ds > mif opt ctxt acc using' ui uo (decl@(DataDecl d):ds)  >      = let using = addParamName using' (tyId d) in >            addDataEntries opt ctxt acc decl d using ui uo ds -- will call mif on ds-> mif opt ctxt acc using ui uo@(UO _ trans _) (decl@(TermDef n tm flags):ds) +> mif opt ctxt acc using ui uo@(UO _ trans _ _) (decl@(TermDef n tm flags):ds)  >     | null $ params using >         = let (itmraw, imp) = addImplWith using (appCtxt ctxt acc) tm >               itm = makeIvorTerm using ui uo n (appCtxt ctxt acc) itmraw in >               mif opt ctxt (addEntry acc (thisNamespace using) n  >                   (IvorFun (Just (toIvorName (fullName using n))) Nothing imp ->                            (Just (SimpleDef itm)) decl flags [])) using ui uo ds+>                            (Just (SimpleDef itm)) decl flags [] [])) using ui uo ds >     | otherwise = let (f,l) = getFileLine tm in >                       mif opt ctxt (addEntry acc (thisNamespace using) n  >                                (IvorProblem (f ++ ":" ++ show l ++ ":" ++@@ -116,12 +118,12 @@ >                                 using ui uo ds > mif opt ctxt acc using ui uo (decl@(LatexDefs ls):ds)  >         = mif opt ctxt (addEntry acc (thisNamespace using) (MN "latex" 0) ->              (IvorFun Nothing Nothing 0 Nothing decl [] [])) using ui uo ds-> mif opt ctxt acc using ui (UO fix trans fr) (decl@(Fixity op assoc prec):ds) +>              (IvorFun Nothing Nothing 0 Nothing decl [] [] [])) using ui uo ds+> mif opt ctxt acc using ui (UO fix trans fr syns) (decl@(Fixity op assoc prec):ds)  >         = mif opt ctxt (addEntry acc (thisNamespace using) (MN "fixity" (length ds)) ->              (IvorFun Nothing Nothing 0 Nothing decl [] [])) using ui ->                   (UO ((op,(assoc,prec)):fix) trans fr) ds-> mif opt ctxt acc using ui uo@(UO fix trans fr) (decl@(Transform lhs rhs):ds) +>              (IvorFun Nothing Nothing 0 Nothing decl [] [] [])) using ui +>                   (UO ((op,(assoc,prec)):fix) trans fr syns) ds+> mif opt ctxt acc using ui uo@(UO fix trans fr syns) (decl@(Transform lhs rhs):ds)  >         = let lhsraw = addPlaceholders (appCtxt ctxt acc) using uo lhs >               rhsraw = addPlaceholders (appCtxt ctxt acc) using uo rhs >               lhstm = makeIvorTerm using ui uo (MN "LHS" 0) ctxt lhsraw@@ -129,26 +131,31 @@ >               trans' = if (NoSpec `elem` opt) then trans else >                            (lhstm,rhstm):trans in >           mif opt ctxt (addEntry acc (thisNamespace using) (MN "transform" (length ds)) ->              (IvorFun Nothing Nothing 0 Nothing decl [] [])) using ui ->                   (UO fix trans' fr) ds+>              (IvorFun Nothing Nothing 0 Nothing decl [] [] [])) using ui +>                   (UO fix trans' fr syns) ds+> mif opt ctxt acc using ui uo@(UO fix trans fr syns) (decl@(SynDef f args rhs):ds) +>         = let sname = mkName (thisNamespace using) f in+>               mif opt ctxt (addEntry acc (thisNamespace using) f+>                 (IvorFun Nothing Nothing 0 Nothing decl [] [] []))+>               using ui (UO fix trans fr ((Syntax sname args rhs):syns)) ds  Don't add yet! Or everything will be frozen in advance, rather than being  frozen after they are needed. -> mif opt ctxt acc using ui uo@(UO fix trans fr) (decl@(Freeze frfn):ds) +> mif opt ctxt acc using ui uo@(UO fix trans fr syns) (decl@(Freeze _ _ _ _):ds)  >     = mif opt ctxt (addEntry acc (thisNamespace using) (MN "freeze" (length ds))->                 (IvorFun Nothing Nothing 0 Nothing decl [] [])) using ui ->                 (UO fix trans fr) ds+>                 (IvorFun Nothing Nothing 0 Nothing decl [] [] [])) using ui +>                 (UO fix trans fr syns) ds > mif opt ctxt acc using ui uo (decl@(Prf (Proof n _ scr)):ds)  >     = case ctxtLookup acc (thisNamespace using) n of >          Left _ -> -- add the script and process the type later, should >                    -- be a metavariable >             mif opt ctxt (addEntry acc (thisNamespace using) n->               (IvorFun (Just (toIvorName (fullName using n))) Nothing 0 (Just (IProof scr)) decl [] [])) +>               (IvorFun (Just (toIvorName (fullName using n))) Nothing 0 (Just (IProof scr)) decl [] [] []))  >                  using ui uo ds->          Right (IvorFun _ (Just ty) imp _ _ _ _) -> +>          Right (IvorFun _ (Just ty) imp _ _ _ _ _) ->  >             mif opt ctxt (addEntry acc (thisNamespace using) n->               (IvorFun (Just (toIvorName (fullName using n))) (Just ty) imp (Just (IProof scr)) decl [] []))+>               (IvorFun (Just (toIvorName (fullName using n))) (Just ty) imp (Just (IProof scr)) decl [] [] [])) >                   using ui uo ds  Just pass these on to epic to do the right thing@@ -171,18 +178,18 @@ >     let (tyraw, imp) = addImplWith using (appCtxt ctxt acc) tty >         tytm = Annotation (FileLoc f l) $ makeIvorTerm using ui uo tid (appCtxt ctxt acc) tyraw  >         acc' = addEntry acc (thisNamespace using) tid ->                   (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp (Just LataDef) decl [] []) in+>                   (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp (Just LataDef) decl [] [] []) in >         mif opt ctxt acc' using ui uo ds > addDataEntries opt ctxt acc decl (Datatype tid tty cons u e f l) using ui uo ds =  >     let (tyraw, imp) = addImplWith using (appCtxt ctxt acc) tty >         tytm = Annotation (FileLoc f l) $ makeIvorTerm using ui uo tid (appCtxt ctxt acc) tyraw >         acctmp = addEntry (appCtxt ctxt acc) (thisNamespace using) tid ->                     (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp Nothing decl [] [])+>                     (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp Nothing decl [] [] []) >         ddef = makeInductive acctmp tid (getBinders tytm []) cons  >                    (addUsing using (Imp u [] [] (thisNamespace using))) ui uo [] >         acc' = addEntry acc (thisNamespace using) tid  >                   (IvorFun (Just (toIvorName (fullName using tid))) (Just tytm) imp ->                              (Just (DataDef ddef (not (elem NoElim e)))) decl [] []) in+>                              (Just (DataDef ddef (not (elem NoElim e)))) decl [] [] []) in >         addConEntries opt ctxt acc' cons u using ui uo ds f l       Inductive (toIvorName tid) [] @@ -270,7 +277,7 @@ >           (tyraw, imp) = addImplWith (addUsing (Imp u [] [] (thisNamespace using)) using) (appCtxt ctxt acc) ty >           tytm = Annotation (FileLoc f l) $ makeIvorTerm using ui uo cid (appCtxt ctxt acc) tyraw >           acc' = addEntry acc (thisNamespace using) cid ->                      (IvorFun (Just (toIvorName (fullName using cid))) (Just tytm) (imp+length (params using')) (Just IDataCon) Constructor [] (getLazy ty)) in+>                      (IvorFun (Just (toIvorName (fullName using cid))) (Just tytm) (imp+length (params using')) (Just IDataCon) Constructor [] (getLazy ty) (getStatic ty)) in >           addConEntries opt ctxt acc' cs u using ui uo ds f l  Add definitions to the Ivor Context. Return the new context and a list@@ -298,20 +305,24 @@ >               Ctxt IvorFun -> UserOps -> (Context, [(Name, ViewTerm)]) ->  >                (Id, IvorFun) ->  >               TTM ((Context, [(Name, ViewTerm)]), UserOps)-> addIvorDef opt raw uo (ctxt, metas) (n,IvorFun name tyin _ def (LatexDefs _) _ _) +> addIvorDef opt raw uo (ctxt, metas) (n,IvorFun name tyin _ def (LatexDefs _) _ _ _)  >                = return ((ctxt, metas), uo)-> addIvorDef opt raw (UO fix trans fr) (ctxt, metas) (n,IvorFun name tyin _ def f@(Fixity op assoc prec) _ _) ->                = return ((ctxt, metas), UO fix trans fr)-> addIvorDef opt raw (UO fix trans fr) (ctxt, metas) (n,IvorFun name tyin _ def f@(Transform lhs rhs) _ _)->                = return ((ctxt, metas), UO fix trans fr)-> addIvorDef opt raw (UO fix trans fr) (ctxt, metas) (n,IvorFun name tyin _ def f@(Freeze frfn) _ _)->                = return ((ctxt, metas), UO fix trans (frfn:fr))-> addIvorDef opt raw uo@(UO fix trans fr) (ctxt, metas) (n,IvorFun (Just name) tyin _ (Just def') _ flags lazy) +> addIvorDef opt raw (UO fix trans fr syns) (ctxt, metas) (n,IvorFun name tyin _ def f@(Fixity op assoc prec) _ _ _) +>                = return ((ctxt, metas), UO fix trans fr syns)+> addIvorDef opt raw (UO fix trans fr syns) (ctxt, metas) (n,IvorFun name tyin _ def f@(SynDef _ _ _) _ _ _) +>                = return ((ctxt, metas), UO fix trans fr syns)+> addIvorDef opt raw (UO fix trans fr syns) (ctxt, metas) (n,IvorFun name tyin _ def f@(Transform lhs rhs) _ _ _)+>                = return ((ctxt, metas), UO fix trans fr syns)+> addIvorDef opt raw (UO fix trans fr syns) (ctxt, metas) (n,IvorFun name tyin _ def f@(Freeze file line ns frfn) _ _ _)+>        = case ctxtLookupName raw ns frfn of+>            Right (_,fn') -> return ((ctxt, metas), UO fix trans (fn':fr) syns)+>            Left err -> Left (ErrContext (file ++ ":" ++ show line ++ ":") (Message (show err)))+> addIvorDef opt raw uo@(UO fix trans fr syns) (ctxt, metas) (n,IvorFun (Just name) tyin _ (Just def') _ flags lazy static)  >   = let def = if (Verbose `elem` opt)  >                  then trace ("Processing " ++ show n) def' else def' in >       case def of->         PattDef ps -> -- trace (show ps) $->                       do (ctxt, newdefs) <- addPatternDefSC ctxt name (unjust tyin) ps+>         PattDef ps -> -- trace (show (ps, getSpec flags fr)) $+>                       do (ctxt, newdefs) <- addPatternDefSC ctxt name (unjust tyin) ps (getSpec flags fr) >                          if (null newdefs) then return ((ctxt, metas), uo) >                            else do r <- addMeta (Verbose `elem` opt) raw ctxt metas newdefs >                                    return (r, uo)@@ -332,7 +343,8 @@ >         LataDef -> case tyin of >                       Just ty -> do ctxt <- declareData ctxt name ty >                                     return ((ctxt, metas), uo)->         DataDef ind e -> do c <- addDataNoElim ctxt ind+>         DataDef ind e -> -- trace (show ind) $+>                          do c <- addDataNoElim ctxt ind >                           -- add once to fill in placeholders >                             ctxt <- if e then do >                                     d <- getInductive c name 
Idris/Parser.y view
@@ -105,6 +105,7 @@       partial         { TokenPartial }       syntax          { TokenSyntax }       lazy            { TokenLazy }+      static          { TokenStatic }       refl            { TokenRefl }       empty           { TokenEmptyType }       unit            { TokenUnitType }@@ -136,6 +137,7 @@       use             { TokenUse }       decide          { TokenDecide }       abandon         { TokenAbandon }+      proofterm       { TokenProofTerm }       qed             { TokenQED }       latex           { TokenLaTeX }       nocg            { TokenNoCG }@@ -161,16 +163,16 @@ %left concat %left '\\' %right arrow-%left '(' '{' lazybracket+%left '(' '{' lazybracket '[' %nonassoc '.' %right IMP %nonassoc CONST -- All the things I don't want to cause a reduction inside a lam... %nonassoc name inttype chartype floattype stringtype int char string float bool refl do type-          empty unit '_' if then else ptrtype handletype locktype metavar NONE brackname lazy-          oid '[' '~' lpair PAIR return transarrow exists+          empty unit '_' ptrtype handletype locktype metavar NONE brackname lazy+          oid '~' lpair PAIR return transarrow exists %left APP-+%nonassoc if then else  %% @@ -194,14 +196,14 @@ Declaration: Function { $1 }            | Datatype { RealDecl (DataDecl $1) }            | Latex { RealDecl $1 }-           | freeze name ';' { RealDecl (Freeze $2) }+           | freeze name File Line ';' { RealDecl (Freeze $3 $4 [] $2) }            | Using '{' Program '}' { PUsing $1 $3 }            | DoUsing '{' Program '}' { PDoUsing $1 $3 }             | Idiom '{' Program '}' { PIdiom $1 $3 }            | Params '{' Program '}' { PParams $1 $3 }            | Namespace '{' Program '}' { PNamespace $1 $3 }            | Transform { RealDecl $1 }-           | syntax Name NamesS '=' Term ';' { PSyntax $2 $3 $5 }+           | syntax Name NamesS '=' Term ';' { RealDecl (SynDef $2 $3 $5) }            | cinclude string { RealDecl (CInclude $2) }            | clib string { RealDecl (CLib $2) } @@ -388,7 +390,7 @@       | brackname ',' Names { $1:$3 }  NamesS :: { [Id] }-NamesS : Name { [$1] }+NamesS : { [] }        | Name NamesS { $1:$2 }  LetBinds :: { [(Id, RawTerm, RawTerm)] }@@ -414,7 +416,7 @@ --          | Term le Term File Line { RInfix $4 $5  OpLEq $1 $3 }           | Term '>' Term File Line { RUserInfix $4 $5 False ">" $1 $3 } --          | Term ge Term File Line { RInfix $4 $5  OpGEq $1 $3 }-          | Term arrow Term File Line { RBind (MN "X" 0) (Pi Ex Eager $1) $3 }+          | Term arrow Term File Line { RBind (MN "X" 0) (Pi Ex [] $1) $3 }           | UserInfixTerm { $1 }           | NoAppTerm '=' NoAppTerm File Line { RInfix $4 $5 JMEq $1 $3 } @@ -442,14 +444,14 @@          | '(' Term arrow File Line ')'                { RBind (MN "X" 0) (Lam RPlaceholder) -                       (RBind (MN "X" 1) (Pi Ex Eager $2) (RVar $4 $5 (MN "X" 0))) }+                       (RBind (MN "X" 1) (Pi Ex [] $2) (RVar $4 $5 (MN "X" 0))) }         | '(' arrow Term File Line ')'                { RBind (MN "X" 0) (Lam RPlaceholder) -                       (RBind (MN "X" 1) (Pi Ex Eager (RVar $4 $5 (MN "X" 0))) $3) }       +                       (RBind (MN "X" 1) (Pi Ex [] (RVar $4 $5 (MN "X" 0))) $3) }                | '(' arrow File Line ')'                { RBind (MN "X" 0) (Lam RPlaceholder)                        (RBind (MN "X" 1) (Lam RPlaceholder)-                    (RBind (MN "X" 2) (Pi Ex Eager (RVar $3 $4 (MN "X" 0)))+                    (RBind (MN "X" 2) (Pi Ex [] (RVar $3 $4 (MN "X" 0)))                        (RVar $3 $4 (MN "X" 1)))) }   -- Special cases for pairing@@ -487,15 +489,15 @@  Type :: { RawTerm } Type : BrackNames MaybeAType '}' arrow Type-               { doBind (Pi Im Eager) (map (\x -> (x, $2)) $1) $5 }+               { doBind (Pi Im []) (map (\x -> (x, $2)) $1) $5 }      | TypeTerm { $1 }  TypeTerm :: { RawTerm }-TypeTerm : TypeTerm arrow TypeTerm { RBind (MN "X" 0) (Pi Ex Eager $1) $3 }-         | '(' TypedBinds ')' arrow TypeTerm-                { doBind (Pi Ex Eager) $2 $5 }+TypeTerm : TypeTerm arrow TypeTerm { RBind (MN "X" 0) (Pi Ex [] $1) $3 }+         | '(' TypedBinds ')' ArgOpts arrow TypeTerm+                { doBind (Pi Ex $4) $2 $6 }          | lazybracket TypedBinds ')' arrow TypeTerm-                { doBind (Pi Ex Lazy) $2 $5 }+                { doBind (Pi Ex [Lazy]) $2 $5 }          | '(' TypeTerm ')' { bracket $2 }          | '(' TypeTerm '=' TypeTerm File Line ')' { RInfix $5 $6 JMEq $2 $4 }          | SimpleAppTerm { $1 }@@ -504,6 +506,18 @@          | '(' TypeList ')' File Line { pairDesugar $4 $5 (RVar $4 $5 (UN "Pair")) $2 }          | SigmaType { $1 } +ArgOpt :: { ArgOpt }+ArgOpt : lazy { Lazy }+       | static { Static }++ArgOpts :: { [ArgOpt] }+ArgOpts : '[' ArgOptList ']' { $2 }+        | { [] }++ArgOptList :: { [ArgOpt] }+ArgOptList : ArgOpt ',' ArgOptList { $1:$3 }+           | ArgOpt { [$1] }+ SigmaType :: { RawTerm } SigmaType : '(' Name MaybeType stars TypeTerm ')' File Line                    { sigDesugar $7 $8 ($2, $3) $5 }@@ -539,9 +553,9 @@  SigmaTerm :: { RawTerm } SigmaTerm : lpair Term ',' Term rpair File Line %prec PAIR-                { RApp $6 $7 (RAppImp $6 $7 (UN "a") (RVar $6 $7 (UN "Exists")) $2) $4 }+                { RApp $6 $7 (RApp $6 $7 (RVar $6 $7 (UN "Exists")) $2) $4 }           | lpair Term rpair File Line %prec PAIR-                { RApp $4 $5 (RVar $4 $5 (UN "Exists")) $2 }+                { RApp $4 $5 (RApp $4 $5 (RVar $4 $5 (UN "Exists")) RPlaceholder) $2 }  TermList :: { [RawTerm] }          : Term ',' Term { $1:$3:[] }@@ -635,6 +649,7 @@ Tactic : intro Names { Intro $2 }        | intro { Intro [] }        | refine Name { Refine $2 }+       | exists Term { Exists $2 }        | generalise Term { Generalise $2 }        | reflp { ReflP }        | rewrite Term { Rewrite False False $2 }@@ -652,6 +667,7 @@        | use Term { Use $2 }        | decide Term { Decide $2 }        | abandon { Abandon }+       | proofterm { ProofTerm }        | qed { Qed }  ProofScript :: { [ITactic] }@@ -723,7 +739,7 @@ mkCon _ (Full n t) = (n,t) mkCon ty (Simple n args) = (n, mkConTy args ty)    where mkConTy [] ty = ty-         mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex Eager a) (mkConTy as ty)+         mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex [] a) (mkConTy as ty)  mkDef file line (n, tms) = mkImpApp (RVar file line n) tms    where mkImpApp f [] = f@@ -745,7 +761,7 @@  mkTyParams :: String -> Int -> [Id] -> RawTerm mkTyParams f l [] = RConst f l TYPE-mkTyParams f l (x:xs) = RBind x (Pi Ex Eager (RConst f l TYPE)) (mkTyParams f l xs)+mkTyParams f l (x:xs) = RBind x (Pi Ex [] (RConst f l TYPE)) (mkTyParams f l xs)  mkDatatype :: String -> Int ->               Id -> Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]) -> 
Idris/Prover.lhs view
@@ -102,6 +102,9 @@ >     at ctxt (Intro ns) = introsNames (map toIvorName ns) defaultGoal ctxt >     at ctxt (Refine n) = refine (Name Unknown (toIvorName n)) defaultGoal ctxt >     at ctxt (Generalise t) = generalise (ivor t) defaultGoal ctxt+>     at ctxt (Exists t) = refine (App (App (App (Name Unknown (name "Exists"))+>                                           Placeholder) Placeholder)+>                                           (ivor t)) defaultGoal ctxt >     at ctxt ReflP = refine reflN defaultGoal ctxt >     at ctxt (Fill t) = fill (ivor t) defaultGoal ctxt >     at ctxt Trivial = (trivial >|> refine reflN) defaultGoal ctxt@@ -114,6 +117,8 @@ >     at ctxt Compute = compute defaultGoal ctxt >     at ctxt (Unfold n) = unfold (toIvorName n) defaultGoal ctxt >     at ctxt (RunTactic tm) = runtac (ivor tm) defaultGoal ctxt+>     at ctxt ProofTerm = do tm <- proofterm ctxt+>                            fail (showVT raw (view tm)) >     at ctxt Qed = qed ctxt  >     ivor t = makeIvorTerm noImplicit defDo uo (UN "__prf") raw t
Idris/Serialise.lhs view
@@ -93,7 +93,7 @@ >     get = do t <- get >              return (toEnum t) -> instance Binary Laziness where+> instance Binary ArgOpt where >     put x = put (fromEnum x) >     get = do t <- get >              return (toEnum t)@@ -205,16 +205,20 @@ >                            Just a' -> Just (rebuildTrans a') >              return (Trans n trans a) +> instance Binary Syntax where+>     put (Syntax f n t) = do put f; put n; put t+>     get = liftM3 Syntax get get get+ > instance Binary UserOps where->     put (UO ds ts f) = do put ds; put ts; put f->     get = do ds <- get; ts <- get; f <- get;->              return (UO ds ts f)+>     put (UO ds ts f s) = do put ds; put ts; put f; put s+>     get = do ds <- get; ts <- get; f <- get; s <- get;+>              return (UO ds ts f s)  > instance Binary IvorFun where->     put (IvorFun a b c d e f g) = ->         do put a; put b; put c; put d; put e; put f; put g;->     get = do a <- get; b <- get; c <- get; d <- get; e <- get; f <- get; g <- get->              return (IvorFun a b c d e f g)+>     put (IvorFun a b c d e f g h) = +>         do put a; put b; put c; put d; put e; put f; put g; put h+>     get = do a <- get; b <- get; c <- get; d <- get; e <- get; f <- get; g <- get; h <- get+>              return (IvorFun a b c d e f g h)  > instance Binary CGFlag where >     put NoCG = put (0 :: Word8)@@ -247,7 +251,7 @@ >     put (CInclude d) = do put (12 :: Word8); put d >     put (Fixity a b c) = do put (13 :: Word8); put a; put b; put c >     put (Transform a b) = do put (14 :: Word8); put a; put b->     put (Freeze a) = do put (15 :: Word8); put a+>     put (Freeze a b c d) = do put (15 :: Word8); put a; put b; put c; put d  >     get = do tag <- getWord8 >              case tag of@@ -266,7 +270,7 @@ >                12 -> liftM CInclude get >                13 -> liftM3 Fixity get get get >                14 -> liftM2 Transform get get->                15 -> liftM Freeze get+>                15 -> liftM4 Freeze get get get get  > instance Binary Datatype where >     put (Datatype a b c d e f g) = do put (0 :: Word8)@@ -374,9 +378,9 @@ >                7 -> return LataDef  > instance Binary IdrisState where->     put (IState a b c d e f g) ->        = do put a; put b; put c; put d; put e; put f; put g+>     put (IState a b c d e f g h i) +>        = do put a; put b; put c; put d; put e; put f; put g; put h; put i >     get = do a <- get; b <- get; c <- get;->              d <- get; e <- get; f <- get; g <- get->              return (IState a b c d e f g)+>              d <- get; e <- get; f <- get; g <- get; h <- get; i <- get+>              return (IState a b c d e f g h i) 
Idris/SimpleCase.lhs view
@@ -49,8 +49,8 @@ >                    let newname = name (show (MN (show root) i)) >                    let newfn = (newname, newty, newdef) >                    put (i+1, newfn:fns)->                    trace (show (newname, params, newdef)) $->                      return (apply (Name Unknown newname) (paramArgs++[scrutinee]))+>                    -- trace (show (newname, params, newdef)) $+>                    return (apply (Name Unknown newname) (paramArgs++[scrutinee])) >                 else return tm >  lc' (App f a) = do f' <- lc' f; a' <- lc' a; return (App f' a') >  lc' (Lambda n t sc) @@ -85,11 +85,15 @@ > deAnnot (App f a) = App (deAnnot f) (deAnnot a) > deAnnot x = x -> addPatternDefSC :: Context -> Name -> ViewTerm -> Patterns ->+> addPatternDefSC :: Context -> Name -> ViewTerm -> Patterns -> +>                    Maybe [(Name, Int)] -> >                    TTM (Context, [(Name, ViewTerm)])-> addPatternDefSC ctxt nm ty ps = do+> addPatternDefSC ctxt nm ty ps spec = do >     -- just allow general recursion for now->     (ctxt', newdefs) <- addPatternDef ctxt nm ty ps [Holey,Partial,GenRec]+>     let opts = case spec of+>                  Nothing -> [Holey, Partial, GenRec]+>                  Just fns -> [Holey, Partial, GenRec, Specialise fns]+>     (ctxt', newdefs) <- addPatternDef ctxt nm ty ps opts >     (_, patts) <- getPatternDef ctxt' nm >     let (ps', ds) = liftCases nm patts >     if (null ds) then return (ctxt', newdefs)@@ -99,7 +103,7 @@ >          return (ctxt', newdefs++newdefs') >  where addAll ctxt [] nds = return (ctxt, nds) >        addAll ctxt ((n,ty,ps):rs) nds = do->          (ctxt', newdefs') <- addPatternDefSC ctxt n ty ps+>          (ctxt', newdefs') <- addPatternDefSC ctxt n ty ps spec >          addAll ctxt' rs (newdefs'++nds)   > addMeta :: Bool ->
LICENSE view
@@ -1,9 +1,9 @@-Copyright (c) 2006 Edwin Brady+Copyright (c) 2006-2010 Edwin Brady     School of Computer Science, University of St Andrews All rights reserved.  This code is derived from software written by Edwin Brady-(eb@dcs.st-and.ac.uk).+(eb@cs.st-andrews.ac.uk).  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions
Main.lhs view
@@ -15,7 +15,9 @@ > import Control.Monad > import Control.Exception > import List+> import Maybe > import Debug.Trace+> import Distribution.Version > import Prelude hiding (catch)  > import Idris.AbsSyntax@@ -28,9 +30,10 @@ > import Idris.ConTrans > import Idris.Fontlock > import Idris.Serialise- > import Idris.RunIO +> import Paths_idris+ Load things in this order:  * Introduce equality@@ -39,7 +42,11 @@ * Load prelude * Load users program -> idris_version = "0.1.2"+> idris_version = showV (versionBranch version)+>   where+>     showV [] = ""+>     showV [a] = show a+>     showV (x:xs) = show x ++ "." ++ showV xs  > data Args = Batch [String] >           | NoArgs@@ -54,6 +61,9 @@ >           (ctxt, defs) <- processInput ctxt defs infile >           repl defs ctxt batch +> usage opts@(('-':_):_) = do o <- mkArgs opts+>                             putStrLn "No input file"+>                             umessage > usage [fname] = return (fname, (NoArgs, [])) > usage (fname:opts) = do o <- mkArgs opts >                         return (fname, o)@@ -70,6 +80,7 @@ >      putStrLn $ "\t\t --nospec          Turn off specialisation and transformation rules" >      putStrLn $ "\t\t --noerasure       Turn off erasure optimisations" >      putStrLn $ "\t\t --cmd <command>   Run a command in batch mode"+>      putStrLn $ "\t\t --dir             Show support file location" >      putStrLn $ "\t\t --verbose         Debugging output" >      putStrLn $ "\n" >      exitWith (ExitFailure 1)@@ -91,6 +102,10 @@ >           = mkA' args (NoErasure:opts) xs >     mkA' args opts ("--cmd":b:xs) >           = mkA' (b:args) opts xs+>     mkA' args opts ("--dir":xs)+>           = do d <- getDataDir+>                putStrLn d+>                exitWith ExitSuccess >     mkA' args opts (x:xs) = do putStrLn $ "Unrecognised option " ++ x ++ "\n" >                                umessage @@ -129,9 +144,15 @@ >             OK x fixes' -> return (x, fixes') >             Err x fixes' err -> do putStrLn err  >                                    return (x, fixes')->     let ist = addTransforms (IState alldefs (decls++ptree) metas opts ops [] imps) ctxt +>     let ist = addTransforms (IState alldefs (decls++ptree) metas opts ops [] [] imps (mkNameMap alldefs)) ctxt  >     return (ctxt, ist { idris_fixities = fixes' }) +> mkNameMap :: Ctxt IvorFun -> [(Name, Id)]+> mkNameMap ctxt = mapMaybe mknm (ctxtAlist ctxt)+>   where mknm (n, IvorProblem _) = Nothing+>         mknm (n, i) = do iname <- ivorFName i+>                          return (iname, n)+ > data REPLRes = Quit | Continue | NewCtxt IdrisState Context  Command; minimal abbreviation; function to run it; description; visibility@@ -162,7 +183,7 @@ > debug, norm, help, options, showdef, html, ssave :: Command  > quit _ _ _ = do return Quit-> tmtype (IState raw _ _ _ uo _ _) ctxt tms +> tmtype (IState raw _ _ _ uo _ _ _ _) ctxt tms  >            = do icheckType raw uo ctxt (unwords tms) >                 return Continue > prove ist ctxt (nm:[]) @@ -271,7 +292,7 @@  > repl :: IdrisState -> Context -> Args -> IO () > repl ist ctxt (Batch []) = return () -> repl ist@(IState raw decls metas opts fixes trans imps) ctxt inp' +> repl ist@(IState raw decls metas opts fixes trans syns imps nms) ctxt inp'  >          = do (inp, next) <- case inp' of  >                        Batch (b:bs) -> return (Just b, Batch bs) >                        _ -> do x <- readline ("Idris> ")@@ -425,7 +446,10 @@ >                                "String->String->String" >              c <- addBinOp c (opFn StringGetIndex) ((!!)::String->Int->Char) >                                "String->Int->Char"+>              c <- addBinOp c (opFn ShL) (shl::Int->Int->Int) "Int->Int->Int"+>              c <- addBinOp c (opFn ShR) (shr::Int->Int->Int) "Int->Int->Int" >              c <- addExternalFn c (opFn OpEq) 2 constEq "Int->Int->Bool"+>              c <- addExternalFn c (name "__charEq") 2 constEq "Char->Char->Bool" >              c <- addExternalFn c (name "__strEq") 2 constEq "String->String->Bool" >              c <- addExternalFn c (name "__strLT") 2 constLT "String->String->Bool" >              c <- addExternalFn c (opFn OpLT) 2 intlt "Int->Int->Bool"@@ -443,6 +467,14 @@ >              c <- addExternalFn c (name "__lazy") 1 runLazy "(A:*)A->A" >              c <- addExternalFn c (name "__effect") 1 runEffect "(A:*)A->A" >              return c++> shl :: Int -> Int -> Int+> shl x 0 = x+> shl x n = shl (x*2) (n-1)++> shr :: Int -> Int -> Int+> shr x 0 = x+> shr x n = shr (x `div` 2) (n-1)  > constEq :: [ViewTerm] -> Maybe ViewTerm > constEq [Constant x, Constant y]
Setup.lhs view
@@ -1,4 +1,38 @@ > import Distribution.Simple+> import Distribution.Simple.InstallDirs+> import Distribution.Simple.LocalBuildInfo+> import Distribution.PackageDescription -> main = defaultMain+> import System++After Idris is built, we need to check and install the .idr library files,+and the C support they need.++FIXME: This is probably all done the wrong way, I don't really understand+Cabal properly... This is all stolen from the Epic build system.++> buildLib args flags desc local +>     = do exit <- system "make -C lib"+>          return ()++This is a hack. I don't know how to tell cabal that a data file needs+installing but shouldn't be in the distribution. And it won't make the+distribution if it's not there, so instead I just delete+the file after configure.++> postConfLib args flags desc local+>    = do exit <- system "make -C lib clean"+>         return ()++> addPrefix pfx var c = "export " ++ var ++ "=" ++ show pfx ++ "/" ++ c ++ ":$" ++ var++> postInstLib args flags desc local+>     = do let pfx = prefix (installDirTemplates local)+>          exit <- system $ "make -C lib install PREFIX=" ++ show pfx+>          return ()++> main = defaultMainWithHooks (simpleUserHooks { postBuild = buildLib,+>                                                postConf = postConfLib,+>                                                postInst = postInstLib })+ 
dist/build/Idris/Parser.hs view
@@ -29,3400 +29,3490 @@  -- parser produced by Happy Version 1.18.4 -newtype HappyAbsSyn t69 = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t69)-happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn t69) -> ([ParseDecl])-happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (ParseDecl) -> (HappyAbsSyn t69)-happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn t69) -> (ParseDecl)-happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (Decl) -> (HappyAbsSyn t69)-happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn t69) -> (Decl)-happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (ParseDecl) -> (HappyAbsSyn t69)-happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn t69) -> (ParseDecl)-happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (CGFlag) -> (HappyAbsSyn t69)-happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn t69) -> (CGFlag)-happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: (Bool) -> (HappyAbsSyn t69)-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn t69) -> (Bool)-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: ([ParseDecl]) -> (HappyAbsSyn t69)-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn t69) -> ([ParseDecl])-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: ([Decl]) -> (HappyAbsSyn t69)-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn t69) -> ([Decl])-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: ([String]) -> (HappyAbsSyn t69)-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn t69) -> ([String])-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (String) -> (HappyAbsSyn t69)-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn t69) -> (String)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (Fixity) -> (HappyAbsSyn t69)-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn t69) -> (Fixity)-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (Decl) -> (HappyAbsSyn t69)-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn t69) -> (Decl)-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: ([(Id,String)]) -> (HappyAbsSyn t69)-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn t69) -> ([(Id,String)])-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t69)-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn t69) -> ((Id, [(RawTerm, Maybe Id)]))-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t69)-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn t69) -> ([(RawTerm,Maybe Id)])-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (Datatype) -> (HappyAbsSyn t69)-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn t69) -> (Datatype)-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t69)-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn t69) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([TyOpt]) -> (HappyAbsSyn t69)-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn t69) -> ([TyOpt])-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: ([TyOpt]) -> (HappyAbsSyn t69)-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn t69) -> ([TyOpt])-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (TyOpt) -> (HappyAbsSyn t69)-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn t69) -> (TyOpt)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (Id) -> (HappyAbsSyn t69)-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn t69) -> (Id)-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ([Id]) -> (HappyAbsSyn t69)-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn t69) -> ([Id])-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: ([(Id, Int)]) -> (HappyAbsSyn t69)-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn t69) -> ([(Id, Int)])-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: ([Id]) -> (HappyAbsSyn t69)-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn t69) -> ([Id])-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: ([Id]) -> (HappyAbsSyn t69)-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn t69) -> ([Id])-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t69)-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn t69) -> ([(Id, RawTerm, RawTerm)])-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: ((Id, RawTerm)) -> (HappyAbsSyn t69)-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn t69) -> ((Id, RawTerm))-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (String) -> (HappyAbsSyn t69)-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn t69) -> (String)-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: ([Do]) -> (HappyAbsSyn t69)-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn t69) -> ([Do])-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ([Do]) -> (HappyAbsSyn t69)-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn t69) -> ([Do])-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (Do) -> (HappyAbsSyn t69)-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn t69) -> (Do)-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (Constant) -> (HappyAbsSyn t69)-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn t69) -> (Constant)-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t69)-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn t69) -> ((RawTerm, [(Id, RawTerm)]))-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: ((Id,Id)) -> (HappyAbsSyn t69)-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn t69) -> ((Id,Id))-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: ((Id,Id)) -> (HappyAbsSyn t69)-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn t69) -> ((Id,Id))-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: (Id) -> (HappyAbsSyn t69)-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn t69) -> (Id)-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: ([Id]) -> (HappyAbsSyn t69)-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn t69) -> ([Id])-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: t69 -> (HappyAbsSyn t69)-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn t69) -> t69-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: ([ConParse]) -> (HappyAbsSyn t69)-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn t69) -> ([ConParse])-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (ConParse) -> (HappyAbsSyn t69)-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn t69) -> (ConParse)-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (ITactic) -> (HappyAbsSyn t69)-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn t69) -> (ITactic)-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: ([ITactic]) -> (HappyAbsSyn t69)-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn t69) -> ([ITactic])-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: ([ITactic]) -> (HappyAbsSyn t69)-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn t69) -> ([ITactic])-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (LineNumber) -> (HappyAbsSyn t69)-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn t69) -> (LineNumber)-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (String) -> (HappyAbsSyn t69)-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn t69) -> (String)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (Fixities) -> (HappyAbsSyn t69)-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn t69) -> (Fixities)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyInTok :: (Token) -> (HappyAbsSyn t69)-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn t69) -> (Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x1a\x00\x44\x05\x1e\x0e\x00\x00\xf2\x03\x13\x01\x13\x01\x44\x05\x00\x00\x46\x03\xf1\x02\x00\x00\x13\x01\x00\x00\x44\x05\x44\x05\x00\x00\x44\x05\x44\x05\x44\x05\x44\x05\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x01\x23\x09\x47\x02\x44\x05\x44\x05\x17\x08\x44\x05\x00\x00\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x05\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x44\x05\x6a\x00\xeb\x03\x01\x00\x00\x00\x00\x00\x01\x00\x5a\x04\x00\x00\x36\x04\x00\x00\x0d\x02\x4a\x04\x40\x04\x3f\x04\x3d\x04\x35\x04\x5d\x09\xb9\x01\x27\x04\x00\x00\x00\x00\x00\x00\x31\x04\x30\x04\x2a\x04\x6a\x00\x6a\x00\x34\x04\xf6\x03\x1d\x04\x2b\x04\x44\x05\x18\x04\x17\x04\x00\x00\x00\x00\x8b\x03\x0f\x04\x6a\x00\x06\x04\x0e\x04\x6a\x00\x00\x00\x6a\x00\x6a\x00\x6a\x00\x6a\x00\x12\x02\x03\x04\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x00\x17\x00\x00\x00\x00\x00\x9c\x02\x00\x00\x00\x00\x00\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\x00\x00\xdd\x07\x08\x04\x0e\x01\xe9\x08\x00\x04\xe9\xff\x5d\x09\xb9\x01\x00\x00\x00\x00\x07\x04\xb7\x03\x8c\x02\x00\x00\x05\x04\xef\x04\x00\x00\x00\x00\x0b\x04\x00\x00\x0b\x04\x00\x00\x0c\x0a\xa8\x0a\xca\x01\xfc\x09\x9a\x04\xfb\x03\x9a\x04\x9a\x04\xf9\x03\xf8\x03\x9a\x04\x9a\x04\xb2\x01\x4e\x00\x00\x00\x9a\x04\xaf\x08\x6a\x00\xfd\x03\xce\x03\x00\x00\x17\x08\xe7\x03\x00\x00\x9a\x04\xdc\x03\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x00\x00\x8a\x01\x76\x01\x68\x01\x54\x01\x46\x01\x32\x01\x00\x00\x24\x01\x9a\x04\x10\x01\x9a\x04\xc4\x00\x00\x00\xd5\x03\x00\x00\x6a\x00\x5b\x00\x05\x00\x00\x00\xef\x03\xef\x03\xef\x03\xef\x03\xef\x03\x00\x00\x9a\x04\xef\x03\x17\x08\x00\x00\x00\x00\x00\x00\x9a\x04\xc7\x03\x23\x09\xe2\x03\xda\x03\xc0\x03\xb7\x01\xd4\x03\x86\x00\xcf\x03\x8f\x0a\x23\x09\x00\x00\x23\x09\xd0\x03\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x9a\x04\x00\x00\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\xcd\x03\x00\x00\x00\x00\x9a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\x17\x09\xc4\x03\x45\x04\x6a\x00\x96\x03\x00\x00\xf0\x03\xf0\x03\xa6\x03\xba\x03\x9e\x03\xb3\x03\xf0\x03\xf0\x03\xf0\x03\x67\x03\x1e\x0e\xb4\x03\x97\x00\x03\x00\x97\x03\xdd\x07\xf0\x03\x00\x00\x00\x00\xa9\x03\xa8\x03\xa4\x03\xa2\x03\xa1\x03\x00\x00\x00\x00\xef\x09\x9f\x03\x00\x00\x00\x00\xf0\x03\xf0\x03\xf0\x03\x00\x00\x9a\x03\x86\x03\x00\x00\x00\x00\xe3\x00\x9d\x03\x94\x03\x80\x03\x87\x03\x6a\x00\x7d\x03\x01\x00\x6a\x00\x83\x03\x77\x03\x00\x00\xf0\x03\x82\x0a\x8d\x03\x00\x00\x69\x03\x00\x00\xf0\x03\x00\x00\x00\x00\x6a\x00\x00\x00\xe9\x08\x00\x00\x6a\x00\x6a\x00\x70\x03\xe9\x08\x00\x00\x00\x00\x12\x02\x00\x00\x80\x0a\x6d\x0a\x5a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x0a\x00\x00\x6a\x00\x00\x00\x00\x00\xcd\x01\xcd\x01\x82\x03\x00\x00\x00\x00\x00\x00\x7c\x03\x78\x03\x23\x09\x7f\x03\x76\x03\x00\x00\x46\x0a\xac\x01\x32\x0a\x00\x00\xb9\x01\x00\x00\xf0\x03\xa7\x00\x45\x00\xf0\x03\x7b\x03\x00\x00\x00\x00\x00\x00\x57\x03\x76\x08\x00\x00\x51\x08\x29\x0a\x00\x00\x23\x09\x00\x00\x0e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x03\x00\x00\x6f\x03\x00\x00\x17\x08\x00\x00\x55\x03\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x23\x09\x54\x03\xe9\x08\x6a\x00\x53\x03\xe9\x08\x03\x00\x6a\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x00\x00\x88\x00\x23\x09\x1d\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x07\x00\x00\x69\x07\x00\x00\x2f\x07\x00\x00\xf5\x06\x65\x03\x63\x03\x62\x03\x5b\x03\x59\x03\x1c\x00\x00\x00\x00\x00\xf0\x03\xbb\x06\x49\x03\x17\x09\xf0\x03\x0a\x02\x00\x00\x82\x01\x5d\x03\x4c\x03\x00\x00\x1e\x0e\x03\x00\x36\x03\x6a\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x81\x06\x00\x00\x82\x01\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x47\x06\x52\x03\x4e\x03\x00\x00\x00\x00\x31\x03\x47\x03\x19\x0a\x6a\x00\x2b\x03\x00\x00\x6a\x00\x42\x03\x00\x00\x00\x00\x6a\x00\x00\x00\x6a\x00\x00\x00\x17\x08\x00\x00\x00\x00\xe9\x08\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x6a\x00\x82\x01\x3f\x03\x00\x00\x00\x00\x00\x00\x3d\x03\x00\x00\xfe\xff\x32\x03\xe9\x08\x00\x00\x6a\x00\x00\x00\x2f\x03\x6a\x00\x3e\x03\x00\x00\xf0\x03\x00\x00\x17\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x03\x0d\x03\x29\x03\x00\x00\x00\x00\x00\x00\x0a\x02\x0d\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x03\x00\x00\x00\x00\x12\x03\x6a\x00\x00\x00\x00\x00\x00\x00\x22\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x76\x08\x9b\x03\x00\x00\xd3\x05\x00\x00\x00\x00\x00\x00\x99\x05\x20\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x67\x09\x43\x0e\xef\x02\x00\x00\x00\x00\x91\x01\x16\x03\x32\x0e\x00\x00\x21\x0e\x10\x0e\x00\x00\x13\x03\x00\x00\xff\x0d\xee\x0d\x00\x00\xdd\x0d\xcc\x0d\xbb\x0d\xaa\x0d\x00\x00\x00\x00\xda\x02\x41\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x01\xaf\x06\xab\x0a\x99\x0d\x88\x0d\x58\x05\x77\x0d\x00\x00\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x0d\x00\x00\xd6\x02\xd5\x02\x00\x00\xd1\x02\x55\x0d\x4d\x01\x00\x00\xf4\x08\x00\x00\x00\x00\x72\x05\x00\x00\x00\x00\x11\x03\x00\x00\xb8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x07\x03\xfe\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x02\xf9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x41\x01\x00\x00\x86\x01\x00\x00\x00\x00\x0f\x01\x00\x00\x60\x00\xf6\x02\x48\x00\xf4\x02\x1f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x03\xc4\x02\x40\x01\x00\x00\xc3\x02\xbe\x0a\x00\x00\xb7\x02\xb6\x02\x1d\x05\xc8\x04\x73\x04\x1e\x04\xc9\x03\x00\x00\x04\x04\x00\x00\x00\x00\xce\x07\x00\x00\xc1\x02\xff\xff\x0b\x02\x00\x00\x00\x00\xd3\x02\x00\x00\x3d\x01\xad\x02\xd2\x02\xf1\x0a\xa8\x02\xa7\x02\x39\x01\xa5\x02\x36\x01\x00\x00\x17\x01\x17\x01\x27\x01\x8d\x00\x33\x0d\x00\x00\x22\x0d\x11\x0d\x00\x00\x00\x00\xbe\x09\xba\x09\x15\x01\x00\x00\x00\x00\x00\x0d\xc7\x05\x11\x02\xbb\x02\x00\x00\xa1\x02\x36\x05\x00\x00\xa0\x02\xef\x0c\x9e\x02\xde\x0c\xcd\x0c\xbc\x0c\xab\x0c\x9a\x0c\x9b\x02\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x00\x00\x14\x01\x89\x0c\x14\x01\x78\x0c\x14\x01\x00\x00\x00\x00\x00\x00\x87\x01\x14\x01\x14\x01\x00\x00\x0c\x01\x07\x01\x06\x01\x05\x01\xf8\x00\x9a\x02\x67\x0c\xe5\x00\x03\x05\x98\x02\x96\x02\x00\x00\x56\x0c\x00\x00\x75\x06\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\xde\x00\x3b\x06\x00\x00\x39\x06\x00\x00\x95\x02\xd7\x00\x92\x02\xd2\x00\x91\x02\xd1\x00\x82\x02\xc1\x00\x81\x02\x9f\x09\x00\x00\x9b\x09\x45\x0c\x34\x0c\x40\x03\x80\x09\x00\x00\x00\x00\x80\x02\x23\x0c\x7f\x02\x7d\x02\x7c\x02\x00\x00\x00\x00\xe2\xff\xba\x00\x00\x00\xe0\x0a\x3f\x01\x00\x00\x00\x00\x12\x0c\x01\x0c\x00\x00\x00\x00\x00\x00\xba\x02\xf0\x0b\xdf\x0b\xce\x0b\x00\x00\xa6\x01\xbc\x01\x48\x02\x00\x00\x00\x00\xaf\x03\xbd\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x76\x02\xb8\x00\x00\x00\x75\x02\x6f\x02\xac\x0b\x9b\x0b\x8a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\xca\x02\x9f\x02\x00\x00\x00\x00\x00\x00\x79\x0b\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x0b\x00\x00\x00\x00\x9d\x02\x00\x00\x94\x07\x6a\x02\x08\x00\x30\x00\x00\x00\x5a\x07\x69\x02\x66\x02\xf1\x01\x00\x00\xb8\x00\xb8\x00\xb8\x00\x00\x00\x00\x00\x61\x02\x00\x00\x02\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x60\x02\x53\x01\x5f\x02\x00\x00\xee\x01\xbd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x06\x00\x00\x00\x00\x00\x00\xb8\x00\x0c\x00\xb8\x00\x00\x00\x95\x01\x00\x00\x57\x0b\xb8\x00\xb8\x00\x46\x0b\xd6\x01\x00\x00\x00\x00\x53\x02\x00\x00\xe1\x04\x00\x00\xe1\x04\xb8\x00\x52\x02\x7b\x05\x51\x02\xb8\x00\x00\x00\x4c\x02\x4b\x02\x43\x02\x41\x02\x40\x02\x3b\x02\x32\x02\x00\x00\x31\x02\x00\x00\x30\x02\xae\x04\x2c\x02\x00\x00\x2b\x02\x00\x00\x1e\x02\x00\x00\x01\x03\x57\x02\x00\x00\x20\x07\xd9\x01\x00\x00\xe6\x06\x00\x00\xf3\xff\xb8\x00\x25\x02\x22\x02\x00\x00\x20\x02\xb8\x00\x00\x00\x18\x02\x0e\x02\x04\x02\x01\x02\xf8\x01\x00\x00\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x01\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\xed\x01\xf3\x01\xe5\x01\xe0\x01\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x35\x0b\x8c\x04\x00\x00\xb5\x00\x24\x0b\x99\x00\x00\x00\x21\x02\x00\x00\x00\x00\x00\x00\x9f\x01\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\xc5\x01\x00\x00\xaf\x01\x5b\x02\xaa\x01\x99\x01\x00\x00\x00\x00\x00\x00\x97\x01\x7c\x01\x71\x01\x4a\x01\x1d\x09\x00\x00\x00\x00\x00\x00\x38\x01\x00\x00\x00\x00\x99\x00\x31\x01\x00\x00\x00\x00\x56\x01\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\xf9\xff\x00\x00\x59\x04\x00\x00\x00\x00\x72\x06\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x01\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x01\x00\x00\x0b\x01\xd9\x00\x00\x00\xe1\x00\x7b\x00\xa6\x00\x13\x0b\x00\x00\x3f\x00\x82\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x50\x00\xef\xff\x37\x04\x4b\x00\x00\x00\x38\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\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\x5c\x01\x28\x00\x00\x00\xdf\xff\x37\x04\xcf\x0a\xda\xff\x37\x04\x00\x00\x00\x00\x00\x00\x37\x04\x00\x00\x00\x00\xc8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x32\xff\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\x00\x00\x00\x00\x1c\xff\x00\x00\x00\x00\x17\xff\x00\x00\x15\xff\x00\x00\x00\x00\x12\xff\x00\x00\x00\x00\x00\x00\x00\x00\x0d\xff\x0c\xff\x07\xff\x07\xff\x9e\xff\x83\xff\x51\xff\x52\xff\xa5\xff\x50\xff\x55\xff\x07\xff\xae\xff\x3a\xff\x3c\xff\x38\xff\x3b\xff\x39\xff\x5c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\xff\x00\x00\x42\xff\x41\xff\x40\xff\x43\xff\x3e\xff\x3f\xff\x3d\xff\x44\xff\x00\x00\x59\xff\x07\xff\x07\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x32\xff\xef\xff\xf8\xff\x32\xff\x00\x00\xf6\xff\xdb\xff\xf7\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xc1\xff\xc3\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\xed\xff\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\xc6\xff\xc5\xff\xc4\xff\x00\x00\x07\xff\x07\xff\xd9\xff\x07\xff\x00\x00\xa8\xff\x07\xff\x07\xff\x32\xff\x32\xff\x32\xff\x32\xff\x32\xff\xbd\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x73\xff\x00\x00\x07\xff\x08\xff\x73\xff\x00\x00\x08\xff\x08\xff\x07\xff\x07\xff\x07\xff\x5d\xff\x07\xff\x07\xff\x07\xff\x07\xff\x00\x00\x00\x00\xc7\xff\xc6\xff\x75\xff\x74\xff\x07\xff\x07\xff\x07\xff\x00\x00\x64\xff\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x08\xff\x00\x00\x00\x00\x08\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x16\xff\x07\xff\x00\x00\x07\xff\x00\x00\x07\xff\x1e\xff\x97\xff\x20\xff\x00\x00\x07\xff\x07\xff\x60\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x08\xff\x00\x00\x07\xff\x00\x00\x07\xff\x07\xff\x5a\xff\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x99\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\xa4\xff\x00\x00\x00\x00\x08\xff\x07\xff\x08\xff\x07\xff\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x5e\xff\x07\xff\x75\xff\x74\xff\x07\xff\x07\xff\x00\x00\x54\xff\x07\xff\x00\x00\x08\xff\x08\xff\x08\xff\x58\xff\x57\xff\x07\xff\x07\xff\x00\x00\x48\xff\x00\x00\x00\x00\x5f\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x71\xff\xd2\xff\x6e\xff\x91\xff\xbc\xff\x00\x00\xe9\xff\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x08\xff\x07\xff\x00\x00\x08\xff\x08\xff\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\xb2\xff\xb0\xff\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x32\xff\x00\x00\x00\x00\x00\x00\xf5\xff\x00\x00\x07\xff\x00\x00\xc0\xff\x00\x00\xf9\xff\x00\x00\x8e\xff\x2e\xff\x00\x00\x31\xff\x00\x00\x07\xff\x2a\xff\x26\xff\x00\x00\x00\x00\x07\xff\x07\xff\x00\x00\xb3\xff\x07\xff\x07\xff\x07\xff\xaa\xff\xa9\xff\x07\xff\xd8\xff\x00\x00\xa7\xff\xa6\xff\xf0\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\x07\xff\x07\xff\x00\x00\x07\xff\xd4\xff\xd2\xff\xd2\xff\x00\x00\xcc\xff\xd0\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\x07\xff\x07\xff\x07\xff\xdc\xff\x00\x00\xca\xff\x00\x00\x07\xff\x07\xff\x00\x00\x73\xff\x49\xff\x4b\xff\x08\xff\x00\x00\xa1\xff\x5b\xff\x89\xff\x07\xff\x08\xff\x00\x00\x08\xff\x07\xff\x4c\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x00\x00\x08\xff\x00\x00\x08\xff\x00\x00\x07\xff\x6d\xff\x07\xff\x67\xff\x07\xff\x6a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\x07\xff\x08\xff\x08\xff\xa3\xff\x08\xff\x07\xff\x8b\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x96\xff\x84\xff\x87\xff\x85\xff\x86\xff\x88\xff\x81\xff\xa2\xff\x82\xff\x9b\xff\x98\xff\x00\x00\x9a\xff\x72\xff\x00\x00\x62\xff\x61\xff\x07\xff\x08\xff\x08\xff\x08\xff\xac\xff\x00\x00\x79\xff\x00\x00\x78\xff\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\x07\xff\xc8\xff\x00\x00\x00\x00\x00\x00\x0b\xff\x0a\xff\x70\xff\x00\x00\x00\x00\xcb\xff\x00\x00\xd1\xff\x08\xff\x90\xff\x08\xff\xbc\xff\x08\xff\x00\x00\xe5\xff\x00\x00\xb1\xff\x08\xff\x08\xff\x32\xff\x07\xff\x37\xff\x00\x00\x25\xff\x29\xff\x08\xff\x2c\xff\x00\x00\x07\xff\x00\x00\xbf\xff\xeb\xff\x00\x00\x00\x00\xee\xff\x2f\xff\x00\x00\xb8\xff\x26\xff\xb7\xff\x37\xff\x22\xff\x23\xff\x00\x00\x08\xff\x00\x00\xb6\xff\xb5\xff\x34\xff\x00\x00\xd5\xff\x00\x00\xd7\xff\xb9\xff\xba\xff\x00\x00\xd3\xff\x94\xff\x00\x00\x00\x00\x09\xff\x00\x00\x07\xff\x00\x00\x00\x00\x07\xff\x08\xff\x00\x00\x45\xff\x07\xff\x08\xff\x07\xff\x7b\xff\x77\xff\x7c\xff\x7f\xff\x7d\xff\x7e\xff\x80\xff\x76\xff\x7a\xff\xab\xff\x66\xff\x65\xff\x08\xff\x6c\xff\x6b\xff\x00\x00\x08\xff\x4f\xff\x08\xff\x07\xff\x00\x00\x08\xff\x8c\xff\x07\xff\x08\xff\x00\x00\x6f\xff\xce\xff\x95\xff\x00\x00\xea\xff\xe3\xff\xd6\xff\x00\x00\x35\xff\x33\xff\x21\xff\x36\xff\x24\xff\x2b\xff\x30\xff\xbe\xff\xe4\xff\x93\xff\x00\x00\x07\xff\xe6\xff\x08\xff\x9d\xff\x00\x00\x08\xff\x00\x00\x63\xff\x69\xff\x47\xff\x00\x00\x00\x00\xe8\xff\x08\xff\x92\xff\xe7\xff\x4a\xff\x46\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x0b\x00\x01\x00\x05\x00\x0a\x00\x02\x00\x07\x00\x02\x00\x03\x00\x20\x00\x21\x00\x29\x00\x19\x00\x0c\x00\x46\x00\x1c\x00\x0b\x00\x10\x00\x19\x00\x24\x00\x13\x00\x09\x00\x0a\x00\x0b\x00\x19\x00\x1a\x00\x03\x00\x01\x00\x20\x00\x21\x00\x02\x00\x02\x00\x46\x00\x19\x00\x1d\x00\x0c\x00\x26\x00\x46\x00\x0c\x00\x22\x00\x23\x00\x47\x00\x10\x00\x31\x00\x27\x00\x11\x00\x19\x00\x30\x00\x24\x00\x2e\x00\x49\x00\x2e\x00\x35\x00\x3f\x00\x47\x00\x20\x00\x21\x00\x40\x00\x41\x00\x07\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x27\x00\x49\x00\x3e\x00\x02\x00\x03\x00\x19\x00\x2e\x00\x2e\x00\x4b\x00\x19\x00\x1a\x00\x46\x00\x02\x00\x50\x00\x3d\x00\x47\x00\x53\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x11\x00\x49\x00\x19\x00\x1d\x00\x24\x00\x30\x00\x4b\x00\x0b\x00\x22\x00\x23\x00\x35\x00\x50\x00\x01\x00\x27\x00\x53\x00\x6d\x00\x47\x00\x40\x00\x41\x00\x71\x00\x2e\x00\x73\x00\x74\x00\x75\x00\x76\x00\x1d\x00\x19\x00\x10\x00\x76\x00\x2e\x00\x22\x00\x23\x00\x47\x00\x02\x00\x03\x00\x27\x00\x02\x00\x03\x00\x3d\x00\x47\x00\x6d\x00\x02\x00\x2e\x00\x02\x00\x71\x00\x0b\x00\x73\x00\x74\x00\x75\x00\x76\x00\x46\x00\x11\x00\x12\x00\x13\x00\x14\x00\x46\x00\x11\x00\x17\x00\x11\x00\x19\x00\x1d\x00\x57\x00\x3d\x00\x1d\x00\x24\x00\x22\x00\x23\x00\x46\x00\x22\x00\x23\x00\x27\x00\x20\x00\x26\x00\x27\x00\x02\x00\x03\x00\x14\x00\x2e\x00\x27\x00\x26\x00\x2e\x00\x2f\x00\x24\x00\x0b\x00\x46\x00\x2e\x00\x28\x00\x2e\x00\x47\x00\x11\x00\x12\x00\x13\x00\x14\x00\x03\x00\x24\x00\x17\x00\x29\x00\x19\x00\x15\x00\x47\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x46\x00\x22\x00\x23\x00\x12\x00\x22\x00\x26\x00\x27\x00\x0b\x00\x01\x00\x76\x00\x51\x00\x52\x00\x47\x00\x2e\x00\x2f\x00\x56\x00\x57\x00\x24\x00\x59\x00\x0c\x00\x24\x00\x47\x00\x24\x00\x10\x00\x47\x00\x1d\x00\x13\x00\x37\x00\x01\x00\x24\x00\x22\x00\x23\x00\x51\x00\x52\x00\x3e\x00\x27\x00\x46\x00\x0a\x00\x0b\x00\x6e\x00\x6f\x00\x70\x00\x2e\x00\x10\x00\x76\x00\x24\x00\x24\x00\x76\x00\x51\x00\x52\x00\x19\x00\x24\x00\x47\x00\x56\x00\x57\x00\x47\x00\x59\x00\x47\x00\x24\x00\x20\x00\x23\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x24\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x01\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x47\x00\x4b\x00\x0b\x00\x24\x00\x76\x00\x47\x00\x50\x00\x47\x00\x13\x00\x53\x00\x10\x00\x19\x00\x47\x00\x02\x00\x03\x00\x19\x00\x24\x00\x24\x00\x24\x00\x47\x00\x1d\x00\x20\x00\x0b\x00\x24\x00\x22\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x24\x00\x76\x00\x24\x00\x6d\x00\x0b\x00\x2e\x00\x47\x00\x71\x00\x1d\x00\x73\x00\x74\x00\x75\x00\x46\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x29\x00\x0b\x00\x2e\x00\x47\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x47\x00\x47\x00\x24\x00\x47\x00\x0b\x00\x2e\x00\x24\x00\x23\x00\x1d\x00\x24\x00\x24\x00\x19\x00\x11\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x19\x00\x23\x00\x1d\x00\x1f\x00\x0b\x00\x2e\x00\x19\x00\x22\x00\x23\x00\x02\x00\x03\x00\x03\x00\x27\x00\x20\x00\x47\x00\x46\x00\x08\x00\x47\x00\x0b\x00\x2e\x00\x01\x00\x47\x00\x1d\x00\x76\x00\x47\x00\x47\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x0c\x00\x27\x00\x19\x00\x47\x00\x10\x00\x1d\x00\x19\x00\x0b\x00\x2e\x00\x11\x00\x22\x00\x23\x00\x76\x00\x20\x00\x03\x00\x27\x00\x19\x00\x19\x00\x19\x00\x08\x00\x0d\x00\x0e\x00\x2e\x00\x20\x00\x1f\x00\x1d\x00\x76\x00\x38\x00\x19\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x1f\x00\x27\x00\x19\x00\x19\x00\x02\x00\x03\x00\x1c\x00\x0b\x00\x2e\x00\x19\x00\x1a\x00\x02\x00\x76\x00\x0b\x00\x0c\x00\x0d\x00\x14\x00\x0a\x00\x46\x00\x11\x00\x0d\x00\x13\x00\x14\x00\x0a\x00\x0b\x00\x1d\x00\x76\x00\x13\x00\x2c\x00\x2d\x00\x22\x00\x23\x00\x47\x00\x19\x00\x20\x00\x27\x00\x0a\x00\x35\x00\x1d\x00\x0d\x00\x26\x00\x27\x00\x2e\x00\x22\x00\x23\x00\x46\x00\x76\x00\x27\x00\x2e\x00\x2f\x00\x43\x00\x31\x00\x45\x00\x2d\x00\x2a\x00\x2f\x00\x30\x00\x43\x00\x32\x00\x45\x00\x76\x00\x35\x00\x19\x00\x1a\x00\x46\x00\x3f\x00\x19\x00\x19\x00\x1a\x00\x46\x00\x1d\x00\x1e\x00\x0a\x00\x0b\x00\x48\x00\x21\x00\x44\x00\x51\x00\x52\x00\x29\x00\x76\x00\x2c\x00\x2d\x00\x51\x00\x52\x00\x2b\x00\x2c\x00\x2d\x00\x17\x00\x18\x00\x35\x00\x46\x00\x02\x00\x03\x00\x01\x00\x35\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0d\x00\x0e\x00\x6e\x00\x6f\x00\x70\x00\x10\x00\x51\x00\x52\x00\x6e\x00\x6f\x00\x70\x00\x16\x00\x03\x00\x18\x00\x46\x00\x1d\x00\x1b\x00\x08\x00\x19\x00\x46\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x26\x00\x27\x00\x25\x00\x12\x00\x47\x00\x28\x00\x17\x00\x18\x00\x2e\x00\x46\x00\x19\x00\x6e\x00\x6f\x00\x70\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x01\x00\x02\x00\x46\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x09\x00\x0a\x00\x0b\x00\x46\x00\x0e\x00\x0f\x00\x10\x00\x46\x00\x47\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\x46\x00\x18\x00\x53\x00\x54\x00\x1b\x00\x59\x00\x1d\x00\x47\x00\x46\x00\x5a\x00\x46\x00\x22\x00\x23\x00\x46\x00\x25\x00\x26\x00\x13\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x27\x00\x2c\x00\x2d\x00\x2e\x00\x46\x00\x46\x00\x2d\x00\x46\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x46\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x02\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x47\x00\x22\x00\x23\x00\x47\x00\x47\x00\x16\x00\x27\x00\x18\x00\x46\x00\x19\x00\x1b\x00\x19\x00\x1d\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x22\x00\x23\x00\x06\x00\x25\x00\x46\x00\x46\x00\x28\x00\x46\x00\x05\x00\x47\x00\x47\x00\x47\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x46\x00\x46\x00\x0f\x00\x10\x00\x46\x00\x12\x00\x47\x00\x14\x00\x47\x00\x46\x00\x46\x00\x56\x00\x19\x00\x29\x00\x47\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x47\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x46\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x29\x00\x29\x00\x47\x00\x47\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x05\x00\x18\x00\x47\x00\x47\x00\x1b\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x19\x00\x19\x00\x16\x00\x0e\x00\x25\x00\x06\x00\x47\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x11\x00\x47\x00\x47\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x19\x00\x2c\x00\x2d\x00\x19\x00\x22\x00\x23\x00\x43\x00\x13\x00\x26\x00\x27\x00\x35\x00\x15\x00\x26\x00\x15\x00\x11\x00\x2e\x00\x2e\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x03\x00\x13\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x0b\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x48\x00\x26\x00\x13\x00\x11\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x11\x00\x19\x00\x0c\x00\x1b\x00\x16\x00\x0b\x00\x18\x00\x14\x00\x14\x00\x1b\x00\x15\x00\x1d\x00\x2e\x00\x25\x00\x26\x00\x27\x00\x0b\x00\x20\x00\x11\x00\x25\x00\x11\x00\x2d\x00\x28\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x11\x00\x11\x00\x35\x00\x11\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x2e\x00\x2e\x00\x2e\x00\x11\x00\x0a\x00\x04\x00\x47\x00\x31\x00\x13\x00\x0b\x00\x13\x00\x10\x00\x02\x00\x03\x00\x26\x00\x20\x00\x04\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x13\x00\x20\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x20\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x11\x00\x26\x00\x0a\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x22\x00\x23\x00\x15\x00\x11\x00\x16\x00\x27\x00\x18\x00\x13\x00\x13\x00\x1b\x00\x13\x00\x1d\x00\x2e\x00\x2f\x00\x13\x00\x13\x00\x26\x00\x0a\x00\x0c\x00\x25\x00\x5a\x00\x13\x00\x28\x00\x26\x00\x0b\x00\x20\x00\x31\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x13\x00\x0f\x00\x10\x00\x0d\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x11\x00\x32\x00\x19\x00\x13\x00\x35\x00\x11\x00\x26\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x11\x00\x0a\x00\x26\x00\x53\x00\x54\x00\x55\x00\x01\x00\x03\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x13\x00\x26\x00\x20\x00\x2f\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x0a\x00\x18\x00\x11\x00\x11\x00\x1b\x00\x11\x00\x1d\x00\x03\x00\x0a\x00\x59\x00\x0a\x00\x12\x00\x0b\x00\x11\x00\x25\x00\x10\x00\x13\x00\x28\x00\x0b\x00\x0b\x00\x04\x00\x04\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x01\x00\x0f\x00\x10\x00\x12\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x3f\x00\x32\x00\x19\x00\x04\x00\x35\x00\x10\x00\x14\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x10\x00\x10\x00\x0c\x00\x53\x00\x54\x00\x55\x00\x01\x00\x12\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x12\x00\x19\x00\x12\x00\x12\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x12\x00\x18\x00\x27\x00\x05\x00\x1b\x00\x76\x00\x1d\x00\x20\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x76\x00\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\x36\x00\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x19\x00\x1a\x00\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x35\x00\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\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\x0e\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\x1d\x00\x1e\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\x35\x00\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x16\x00\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\x25\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x02\x00\x03\x00\xff\xff\x53\x00\x54\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x01\x00\x02\x00\x13\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\x4d\x00\x4e\x00\x4f\x00\x27\x00\xff\xff\xff\xff\x53\x00\x54\x00\xff\xff\x1d\x00\x2e\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x25\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x0f\x00\x10\x00\x1d\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\x42\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x0c\x00\xff\xff\x18\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x25\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x11\x00\x47\x00\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\x11\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\xff\xff\xff\xff\x1d\x00\xff\xff\x02\x00\x03\x00\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x0b\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x19\x00\xff\xff\x12\x00\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x1d\x00\x27\x00\x0b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x2e\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x13\x00\x12\x00\x27\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x1d\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\x2e\x00\xff\xff\x2e\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x0b\x00\xff\xff\x22\x00\x23\x00\x02\x00\x03\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x1d\x00\xff\xff\x1d\x00\x11\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\x2e\x00\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x1d\x00\x1b\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x0e\x00\xff\xff\xff\xff\x27\x00\x25\x00\x26\x00\x27\x00\x28\x00\xff\xff\xff\xff\x2e\x00\x19\x00\x2d\x00\x1b\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x0c\x02\x22\x00\x42\x02\xdc\x00\xe5\x00\x0d\x01\xb3\x00\xb4\x00\x10\x01\x11\x01\x7d\x01\xac\x00\x51\x00\x61\x02\xb7\x01\x18\xff\x52\x00\xf2\x01\xb0\x00\xfc\xff\xdb\x01\x62\x01\x63\x01\x76\x00\x77\x00\xb4\x00\x22\x00\x28\x01\x29\x01\xe5\x00\xe5\x00\x5c\x02\x47\x01\xb5\x00\xda\xff\x43\x02\x5e\x02\x51\x00\xb6\x00\xb7\x00\xb9\x00\x52\x00\x73\xff\xb8\x00\x25\x02\x2f\x01\x78\x00\xb0\x00\xe7\x00\x12\x01\xb9\x00\x79\x00\x57\x00\x57\x02\xda\xff\xda\xff\x4b\x02\xf4\x01\x75\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x9b\x01\x12\x01\xf5\x01\xb3\x00\xb4\x00\xf2\x01\xe7\x00\xe7\x00\x5b\x00\x76\x00\x77\x00\x53\x02\xe5\x00\x5c\x00\x4c\x02\xb1\x00\x5d\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\xe6\x00\xda\xff\x2f\x01\xb5\x00\xb0\x00\x78\x00\x5b\x00\x1a\xff\xb6\x00\xb7\x00\x79\x00\x5c\x00\x22\x00\xb8\x00\x5d\x00\x5e\x00\x5f\x02\xf3\x01\xf4\x01\x5f\x00\xb9\x00\x60\x00\x61\x00\x62\x00\xfc\xff\xb5\x00\x2f\x01\x52\x00\x18\xff\xe7\x00\xb6\x00\xb7\x00\x54\x02\xb3\x00\xb4\x00\xb8\x00\xb3\x00\xb4\x00\x30\x01\x37\x02\x5e\x00\xe5\x00\xb9\x00\xe5\x00\x5f\x00\xa0\xff\x60\x00\x61\x00\x62\x00\xfc\xff\x55\x02\xa0\xff\xa0\xff\xa0\xff\xa0\xff\x58\x02\x99\x01\xa0\xff\x6e\xff\xa0\xff\xb5\x00\xd8\x01\x32\x01\xb5\x00\xb0\x00\xb6\x00\xb7\x00\x59\x02\xb6\x00\xb7\x00\xb8\x00\x9a\x01\xa0\xff\xb8\x00\xb3\x00\xb4\x00\x65\x01\xb9\x00\x9b\x01\x6e\xff\xb9\x00\xa0\xff\xb0\x00\x9f\xff\x34\x02\xe7\x00\xf0\x00\xe7\x00\x35\x02\x9f\xff\x9f\xff\x9f\xff\x9f\xff\x93\x00\xb0\x00\x9f\xff\xf8\x00\x9f\xff\x46\x01\x3a\x02\x33\x01\xb5\x00\x47\x01\xb3\x00\xb4\x00\x36\x02\xb6\x00\xb7\x00\x94\x00\x41\x01\x9f\xff\xb8\x00\x1d\xff\x22\x00\x1a\xff\xa0\xff\xa0\xff\xb1\x00\xb9\x00\x9f\xff\xa0\xff\xa0\xff\xb0\x00\xa0\xff\x51\x00\xb0\x00\x25\x01\xb0\x00\x52\x00\xb1\x00\xb5\x00\xfc\xff\x48\x01\x22\x00\xb0\x00\xb6\x00\xb7\x00\x66\x01\x67\x01\x49\x01\xb8\x00\x39\x02\x4b\x01\x4c\x01\xa0\xff\xa0\xff\xa0\xff\xb9\x00\x52\x00\xff\xff\xb0\x00\xb0\x00\xa0\xff\x9f\xff\x9f\xff\x8e\x00\xb0\x00\x1f\x02\x9f\xff\x9f\xff\xb1\x00\x9f\xff\x7c\x01\xb0\x00\x4d\x01\x3b\x02\x68\x01\x69\x01\x6a\x01\x8b\x01\xb0\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\x22\x00\x9f\xff\x9f\xff\x9f\xff\x8d\x01\x8f\x01\x5b\x00\x1b\xff\xb0\x00\x9f\xff\x91\x01\x5c\x00\x3d\x02\x18\x01\x5d\x00\x52\x00\x3e\x02\xb1\x00\xb3\x00\xb4\x00\x33\x01\xb0\x00\xb0\x00\xb0\x00\xa6\x01\xb5\x00\x19\x01\x19\xff\xb0\x00\x34\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x46\x02\xb8\x00\xb0\x00\xe7\x00\x1d\xff\xb0\x00\x5e\x00\x14\xff\xb9\x00\xa9\x01\x5f\x00\xb5\x00\x60\x00\x61\x00\x62\x00\x48\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xfe\x01\xb8\x00\xaa\x01\xab\x01\xac\x01\xb5\x00\xf8\x00\x13\xff\xb9\x00\xad\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x79\x01\xb8\x00\xb0\x00\xb1\x00\xe8\x00\xb0\x00\xb1\x00\x11\xff\xb9\x00\xb0\x00\x8f\x00\xb5\x00\xe7\x00\xb0\x00\x8e\x00\x4e\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc7\x00\xb8\x00\xb9\x00\x38\x01\x8f\x00\xb5\x00\xe6\x01\x10\xff\xb9\x00\x16\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x0f\x02\xb8\x00\x60\x02\xfc\x00\x02\x02\x45\x02\xfe\x00\x0f\xff\xb9\x00\x22\x00\xb1\x00\xb5\x00\x1b\xff\xe8\x00\xb1\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x51\x00\xb8\x00\x4a\x00\x09\x02\x52\x00\xb5\x00\x16\x02\x0e\xff\xb9\x00\x37\x01\xb6\x00\xb7\x00\x19\xff\x50\x02\x0f\x02\xb8\x00\x16\x02\x38\x01\xc7\x00\x10\x02\xd9\x01\x0c\x01\xb9\x00\x17\x02\xae\x01\xb5\x00\x14\xff\x0a\x02\xc7\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc8\x00\xb8\x00\x4a\x00\xac\x00\x68\xff\xb4\x00\xad\x00\xd2\xff\xb9\x00\x76\x00\xa6\x00\x72\x00\x13\xff\x68\xff\x68\xff\x68\xff\x65\x01\x9d\x01\x0c\x02\x68\xff\x73\xff\x68\xff\x68\xff\xe3\x01\x63\x01\xb5\x00\x11\xff\x83\x00\x32\x02\xa8\x00\xb6\x00\xb7\x00\x23\x02\x17\x00\x68\xff\xb8\x00\xdc\x00\x79\x00\x73\x00\x73\xff\x68\xff\x68\xff\xb9\x00\x74\x00\x75\x00\x0d\x02\x10\xff\x1b\x00\x68\xff\x68\xff\x6c\x01\x68\xff\x19\x02\x1c\x00\x6a\x01\x84\x00\x1e\x00\x6c\x01\x1f\x00\x6d\x01\x0f\xff\x20\x00\x76\x00\xa6\x00\x11\x02\x68\xff\xdc\x00\x76\x00\xa6\x00\x13\x02\xba\x01\xde\x00\xe4\x01\x63\x01\x68\xff\x13\x01\x85\x00\x66\x01\x67\x01\xd5\x01\x0e\xff\x33\x02\xa8\x00\x68\xff\x68\xff\x3f\x02\x15\x01\xa8\x00\xed\x01\x2b\x01\x79\x00\x14\x02\xb3\x00\xb4\x00\x22\x00\x79\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x88\x00\x0b\x01\x0c\x01\x68\x01\x69\x01\x6a\x01\x2b\x00\x66\x01\x67\x01\x68\xff\x68\xff\x68\xff\x2c\x00\x0f\x02\x2d\x00\x2e\x02\xb5\x00\x2e\x00\x1c\x02\xdc\x00\x2f\x02\xb6\x00\xb7\x00\xdd\x00\xde\x00\x1e\x02\xb8\x00\x30\x00\x48\x00\x31\x02\x31\x00\x2a\x01\x2b\x01\xb9\x00\x30\x02\x4a\x00\x68\x01\x69\x01\x6a\x01\xaf\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb0\x01\x22\x00\xa1\x00\xb1\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x61\x01\x62\x01\x63\x01\xb2\x01\x29\x00\x2a\x00\x2b\x00\x2d\x01\x2e\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\xb3\x01\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x8d\xff\xa2\x00\xc0\x01\xb4\x01\x89\x00\xb5\x01\xa3\x00\xa4\x00\xb6\x01\x30\x00\xa5\x00\x12\x02\x31\x00\x76\x00\xa6\x00\xc1\x01\xc2\x01\x17\x00\xa6\x00\xc4\x01\xc6\x01\xc8\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc9\x01\x1b\x00\xbd\x01\xa8\x00\xbe\x01\xca\x01\xcb\x01\x1c\x00\xcc\x01\x84\x00\x1e\x00\x79\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\xcd\x01\xce\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xcf\x01\xd1\x01\xd4\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x72\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xe5\x01\xe7\x01\xe9\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\xee\x01\xb6\x00\xb7\x00\xef\x01\xf6\x01\x2c\x00\xb8\x00\x2d\x00\x52\x01\xf8\x01\x2e\x00\x3e\x01\xa2\x00\xb9\x00\x53\x01\x57\x01\x58\x01\x74\x00\x75\x00\x72\x01\x30\x00\x7e\x01\x7f\x01\x31\x00\x80\x01\x0e\x01\x82\x01\x8a\x01\x8c\x01\x3f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x8e\x01\x90\x01\x46\x00\x47\x00\x92\x01\x48\x00\xa3\x01\x49\x00\xa4\x01\xa8\x01\xcc\x00\x09\x01\x4a\x00\xda\x00\xd2\x00\xd5\x00\xd8\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xfd\x00\xff\x00\x00\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x07\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x06\x01\x0a\x01\x20\x01\x21\x01\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x26\x01\x2d\x00\x24\x01\x25\x01\x2e\x00\x2e\x01\x2f\x00\x31\x01\xb3\x00\xb4\x00\x69\x00\x6a\x00\x6e\x00\x70\x00\x30\x00\x89\x00\x91\x00\x31\x00\x76\x00\xa6\x00\x94\x00\x95\x00\x97\x00\x4d\xff\xae\x00\xb9\x00\xc3\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb5\x00\xc0\x00\xbf\x01\xa8\x00\xc6\x00\xb6\x00\xb7\x00\x04\x00\x63\x02\x57\x01\xb8\x00\x79\x00\x50\x02\x52\x02\x53\x02\x5b\x02\xe7\x00\xb9\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x3d\x02\x41\x02\x3e\x00\x3f\x00\x40\x00\x22\x00\x44\x02\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x48\x02\xfe\x01\x45\x02\x4e\x02\x29\x00\x2a\x00\x2b\x00\x02\x02\x01\x02\x17\x00\x04\x02\x85\x01\x2c\x00\x05\x02\x2d\x00\x0f\x02\x1b\x02\x2e\x00\x16\x02\x2f\x00\x19\x02\x19\x00\x1a\x00\x1b\x00\x1c\x02\x21\x02\x26\x02\x30\x00\x27\x02\x1c\x00\x31\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x28\x02\x29\x02\x20\x00\x2a\x02\xc5\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc6\x01\xba\x01\xbd\x01\xe7\x00\xc8\x01\xdc\x00\xe3\x01\x87\x01\xd4\x01\xde\x01\xdf\x01\xe1\x01\xe2\x01\xb3\x00\xb4\x00\xfb\x01\xf2\x01\xfc\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x01\x3d\x01\x43\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x41\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x45\x01\x44\x01\x46\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\x4e\x01\xb6\x00\xb7\x00\x4f\x01\x55\x01\x2c\x00\xb8\x00\x2d\x00\x5a\x01\x5b\x01\x2e\x00\x5c\x01\x2f\x00\xb9\x00\x3b\x01\x5d\x01\x5e\x01\x61\x01\x6c\x01\x8b\x00\x30\x00\x6f\x01\x5f\x01\x31\x00\x74\x01\x75\x01\x76\x01\x79\x01\x17\x00\x1b\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x7c\x01\x46\x00\x47\x00\x84\x01\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x98\x01\x1f\x00\x4a\x00\x94\x01\x20\x00\x9c\x01\x9e\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x9f\x01\xa0\x01\xa2\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xd7\x00\xca\x00\xd4\x00\xda\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\xdc\x00\x2d\x00\xc4\xff\xc5\xff\x2e\x00\xef\x00\x2f\x00\x00\x00\xdc\x00\x0a\x01\xdc\x00\x13\x01\x1a\x01\x2a\x01\x30\x00\x37\x01\x1a\x01\x31\x00\x36\x01\x3a\x01\x63\x00\x64\x00\x17\x00\x1c\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x66\x00\x46\x00\x47\x00\x67\x00\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x68\x00\x1f\x00\x4a\x00\x69\x00\x20\x00\x6c\x00\x70\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x6d\x00\x6e\x00\x8b\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x7f\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x80\x00\x17\x00\x81\x00\x82\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x83\x00\x2d\x00\x1b\x00\x8c\x00\x2e\x00\xff\xff\x2f\x00\xb0\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\xff\xff\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1d\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x4a\x02\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1e\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xc3\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xd7\x00\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x8c\x00\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x99\x00\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x76\x00\xa6\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x64\x02\x00\x00\x00\x00\xd0\x01\xa8\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x79\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x70\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x5c\x02\x00\x00\xdf\x00\xa6\x00\x00\x00\x2b\x00\xe0\x00\xde\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\xa8\x00\xe2\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x57\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x09\x02\x76\x00\xa6\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x94\x01\xa8\x00\x95\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x79\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x49\x02\x15\x01\xa8\x00\x00\x00\xa0\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x22\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2b\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\xbb\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2d\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf0\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2e\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf7\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x14\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\xb3\x00\xb4\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x72\x00\x8a\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\x00\x00\xaa\x00\xab\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\xb9\x00\x00\x00\x00\x00\x00\x00\x74\x00\x75\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x17\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x8d\x00\x42\x00\x43\x00\x44\x00\xaa\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\xb4\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\xaa\x00\xab\x00\xb5\x00\x00\x00\x17\x00\x7d\x00\x7e\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\xb9\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x1c\x00\x00\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x06\x02\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x07\x02\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x45\x00\x00\x00\x2d\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xd1\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x84\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xe9\x00\x00\x00\x17\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x88\x01\x19\x00\x1a\x00\x1b\x00\x89\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\xb4\x00\x56\x01\xea\x00\x00\x00\x00\x00\x00\x00\xec\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf3\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x57\x01\xb8\x00\x00\x00\x00\x00\xf4\x00\x00\x00\xb3\x00\xb4\x00\xb9\x00\xf5\x00\xf6\x00\x00\x00\x00\x00\xf7\x00\xb8\x00\x00\x02\xfb\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf8\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xfc\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\xd3\x01\x00\x00\xdb\x01\x00\x00\xb5\x00\xb9\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xb5\x00\xb8\x00\xdd\x01\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xb9\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xe9\x01\xeb\x01\xb8\x00\x00\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb5\x00\x00\x00\xb5\x00\xec\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\xb9\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\xed\x01\x00\x00\xfd\x01\x00\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\x00\x00\xb5\x00\x97\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\xb9\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\xb5\x00\x9d\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x70\x00\x00\x00\x00\x00\xb8\x00\x19\x00\x1a\x00\x1b\x00\x9e\x00\x00\x00\x00\x00\xb9\x00\x17\x00\x1c\x00\x22\x01\x1d\x00\x1e\x00\x9f\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x23\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x5d\x02\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x7a\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x85\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x03\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x38\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x1e\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x22\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd6\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd8\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xf9\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x3b\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x50\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x51\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x5e\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x6f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x70\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x71\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x76\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x77\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x81\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa2\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa7\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xca\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xce\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xe3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xed\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xef\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x64\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x90\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x96\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9a\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9b\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xba\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbc\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbe\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc5\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x18\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (3, 249) [-	(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)-	]--happy_n_terms = 119 :: Int-happy_n_nonterms = 73 :: Int--happyReduce_3 = happySpecReduce_0  0# happyReduction_3-happyReduction_3  =  happyIn6-		 ([]-	)--happyReduce_4 = happySpecReduce_2  0# happyReduction_4-happyReduction_4 happy_x_2-	happy_x_1-	 =  case happyOut7 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_2 of { happy_var_2 -> -	happyIn6-		 (happy_var_1:happy_var_2-	)}}--happyReduce_5 = happySpecReduce_2  0# happyReduction_5-happyReduction_5 happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_2 of { happy_var_2 -> -	happyIn6-		 (map RealDecl happy_var_1 ++ happy_var_2-	)}}--happyReduce_6 = happyReduce 4# 0# happyReduction_6-happyReduction_6 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	case happyOut6 happy_x_4 of { happy_var_4 -> -	happyIn6-		 (RealDecl (PInclude happy_var_2) : happy_var_4-	) `HappyStk` happyRest}}--happyReduce_7 = happySpecReduce_1  1# happyReduction_7-happyReduction_7 happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (happy_var_1-	)}--happyReduce_8 = happySpecReduce_1  1# happyReduction_8-happyReduction_8 happy_x_1-	 =  case happyOut26 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl (DataDecl happy_var_1)-	)}--happyReduce_9 = happySpecReduce_1  1# happyReduction_9-happyReduction_9 happy_x_1-	 =  case happyOut22 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl happy_var_1-	)}--happyReduce_10 = happySpecReduce_3  1# happyReduction_10-happyReduction_10 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> -	happyIn7-		 (RealDecl (Freeze happy_var_2)-	)}--happyReduce_11 = happyReduce 4# 1# happyReduction_11-happyReduction_11 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut62 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PUsing happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_12 = happyReduce 4# 1# happyReduction_12-happyReduction_12 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut63 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PDoUsing happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_13 = happyReduce 4# 1# happyReduction_13-happyReduction_13 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut64 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PIdiom happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_14 = happyReduce 4# 1# happyReduction_14-happyReduction_14 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut65 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PParams happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_15 = happyReduce 4# 1# happyReduction_15-happyReduction_15 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut66 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PNamespace happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_16 = happySpecReduce_1  1# happyReduction_16-happyReduction_16 happy_x_1-	 =  case happyOut8 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl happy_var_1-	)}--happyReduce_17 = happyReduce 6# 1# happyReduction_17-happyReduction_17 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut40 happy_x_3 of { happy_var_3 -> -	case happyOut33 happy_x_5 of { happy_var_5 -> -	happyIn7-		 (PSyntax happy_var_2 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_18 = happySpecReduce_2  1# happyReduction_18-happyReduction_18 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn7-		 (RealDecl (CInclude happy_var_2)-	)}--happyReduce_19 = happySpecReduce_2  1# happyReduction_19-happyReduction_19 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn7-		 (RealDecl (CLib happy_var_2)-	)}--happyReduce_20 = happyReduce 5# 2# happyReduction_20-happyReduction_20 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	happyIn8-		 (Transform happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_21 = happyReduce 7# 3# happyReduction_21-happyReduction_21 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut49 happy_x_3 of { happy_var_3 -> -	case happyOut15 happy_x_4 of { happy_var_4 -> -	case happyOut77 happy_x_5 of { happy_var_5 -> -	case happyOut76 happy_x_6 of { happy_var_6 -> -	happyIn9-		 (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6-	) `HappyStk` happyRest}}}}}--happyReduce_22 = happySpecReduce_3  3# happyReduction_22-happyReduction_22 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	happyIn9-		 (ProofScript happy_var_1 happy_var_2-	)}}--happyReduce_23 = happyReduce 9# 3# happyReduction_23-happyReduction_23 (happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut24 happy_x_1 of { happy_var_1 -> -	case happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut11 happy_x_3 of { happy_var_3 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut14 happy_x_6 of { happy_var_6 -> -	case happyOut77 happy_x_8 of { happy_var_8 -> -	case happyOut76 happy_x_9 of { happy_var_9 -> -	happyIn9-		 (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6-	) `HappyStk` happyRest}}}}}}}--happyReduce_24 = happyReduce 10# 3# happyReduction_24-happyReduction_24 (happy_x_10 `HappyStk`-	happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut24 happy_x_1 of { happy_var_1 -> -	case happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut31 happy_x_7 of { happy_var_7 -> -	case happyOut77 happy_x_9 of { happy_var_9 -> -	case happyOut76 happy_x_10 of { happy_var_10 -> -	happyIn9-		 (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7-	) `HappyStk` happyRest}}}}}}--happyReduce_25 = happyReduce 8# 3# happyReduction_25-happyReduction_25 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut24 happy_x_1 of { happy_var_1 -> -	case happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut15 happy_x_5 of { happy_var_5 -> -	case happyOut77 happy_x_7 of { happy_var_7 -> -	case happyOut76 happy_x_8 of { happy_var_8 -> -	happyIn9-		 (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)-	) `HappyStk` happyRest}}}}}}--happyReduce_26 = happyReduce 5# 3# happyReduction_26-happyReduction_26 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut13 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	happyIn9-		 (FunClause RPlaceholder [happy_var_2] happy_var_4 []-	) `HappyStk` happyRest}}--happyReduce_27 = happyReduce 8# 3# happyReduction_27-happyReduction_27 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut13 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut31 happy_x_7 of { happy_var_7 -> -	happyIn9-		 (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7-	) `HappyStk` happyRest}}}--happyReduce_28 = happyReduce 7# 3# happyReduction_28-happyReduction_28 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut13 happy_x_2 of { happy_var_2 -> -	case happyOut11 happy_x_3 of { happy_var_3 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut14 happy_x_6 of { happy_var_6 -> -	happyIn9-		 (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6-	) `HappyStk` happyRest}}}}--happyReduce_29 = happySpecReduce_1  4# happyReduction_29-happyReduction_29 happy_x_1-	 =  happyIn10-		 (Vis Public-	)--happyReduce_30 = happySpecReduce_1  4# happyReduction_30-happyReduction_30 happy_x_1-	 =  happyIn10-		 (Vis Private-	)--happyReduce_31 = happySpecReduce_1  4# happyReduction_31-happyReduction_31 happy_x_1-	 =  happyIn10-		 (Vis Abstract-	)--happyReduce_32 = happySpecReduce_0  4# happyReduction_32-happyReduction_32  =  happyIn10-		 (Vis Public-	)--happyReduce_33 = happySpecReduce_1  5# happyReduction_33-happyReduction_33 happy_x_1-	 =  happyIn11-		 (False-	)--happyReduce_34 = happySpecReduce_2  5# happyReduction_34-happyReduction_34 happy_x_2-	happy_x_1-	 =  happyIn11-		 (True-	)--happyReduce_35 = happySpecReduce_3  6# happyReduction_35-happyReduction_35 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut13 happy_x_2 of { happy_var_2 -> -	case happyOut12 happy_x_3 of { happy_var_3 -> -	happyIn12-		 (happy_var_2:happy_var_3-	)}}--happyReduce_36 = happySpecReduce_0  6# happyReduction_36-happyReduction_36  =  happyIn12-		 ([]-	)--happyReduce_37 = happySpecReduce_1  7# happyReduction_37-happyReduction_37 happy_x_1-	 =  case happyOut32 happy_x_1 of { happy_var_1 -> -	happyIn13-		 (happy_var_1-	)}--happyReduce_38 = happySpecReduce_1  7# happyReduction_38-happyReduction_38 happy_x_1-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> -	happyIn13-		 (happy_var_1-	)}--happyReduce_39 = happySpecReduce_3  7# happyReduction_39-happyReduction_39 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn13-		 (happy_var_2-	)}--happyReduce_40 = happyReduce 5# 7# 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 happyOut55 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn13-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_41 = happySpecReduce_2  8# happyReduction_41-happyReduction_41 happy_x_2-	happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	case happyOut14 happy_x_2 of { happy_var_2 -> -	happyIn14-		 (happy_var_1:happy_var_2-	)}}--happyReduce_42 = happySpecReduce_1  8# happyReduction_42-happyReduction_42 happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	happyIn14-		 ([happy_var_1]-	)}--happyReduce_43 = happySpecReduce_1  9# happyReduction_43-happyReduction_43 happy_x_1-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> -	happyIn15-		 (happy_var_1-	)}--happyReduce_44 = happySpecReduce_3  9# happyReduction_44-happyReduction_44 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut16 happy_x_2 of { happy_var_2 -> -	happyIn15-		 (happy_var_2-	)}--happyReduce_45 = happySpecReduce_0  10# happyReduction_45-happyReduction_45  =  happyIn16-		 ([]-	)--happyReduce_46 = happySpecReduce_2  10# happyReduction_46-happyReduction_46 happy_x_2-	happy_x_1-	 =  case happyOut17 happy_x_1 of { happy_var_1 -> -	case happyOut16 happy_x_2 of { happy_var_2 -> -	happyIn16-		 (happy_var_1 ++ happy_var_2-	)}}--happyReduce_47 = happySpecReduce_1  11# happyReduction_47-happyReduction_47 happy_x_1-	 =  happyIn17-		 ([NoCG]-	)--happyReduce_48 = happySpecReduce_1  11# happyReduction_48-happyReduction_48 happy_x_1-	 =  happyIn17-		 ([CGEval, Inline]-	)--happyReduce_49 = happyReduce 4# 11# happyReduction_49-happyReduction_49 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut38 happy_x_3 of { happy_var_3 -> -	happyIn17-		 ([CGSpec happy_var_3]-	) `HappyStk` happyRest}--happyReduce_50 = happySpecReduce_1  11# happyReduction_50-happyReduction_50 happy_x_1-	 =  happyIn17-		 ([CGSpec []]-	)--happyReduce_51 = happySpecReduce_1  11# happyReduction_51-happyReduction_51 happy_x_1-	 =  happyIn17-		 ([Inline]-	)--happyReduce_52 = happySpecReduce_2  11# happyReduction_52-happyReduction_52 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn17-		 ([CExport happy_var_2]-	)}--happyReduce_53 = happyReduce 4# 12# happyReduction_53-happyReduction_53 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut21 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	case happyOut19 happy_x_3 of { happy_var_3 -> -	happyIn18-		 (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3-	) `HappyStk` happyRest}}}--happyReduce_54 = happySpecReduce_1  13# happyReduction_54-happyReduction_54 happy_x_1-	 =  case happyOut20 happy_x_1 of { happy_var_1 -> -	happyIn19-		 ([happy_var_1]-	)}--happyReduce_55 = happySpecReduce_3  13# happyReduction_55-happyReduction_55 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut20 happy_x_1 of { happy_var_1 -> -	case happyOut19 happy_x_3 of { happy_var_3 -> -	happyIn19-		 (happy_var_1:happy_var_3-	)}}--happyReduce_56 = happySpecReduce_1  14# happyReduction_56-happyReduction_56 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> -	happyIn20-		 (happy_var_1-	)}--happyReduce_57 = happySpecReduce_1  14# happyReduction_57-happyReduction_57 happy_x_1-	 =  happyIn20-		 ("-"-	)--happyReduce_58 = happySpecReduce_1  14# happyReduction_58-happyReduction_58 happy_x_1-	 =  happyIn20-		 ("<"-	)--happyReduce_59 = happySpecReduce_1  14# happyReduction_59-happyReduction_59 happy_x_1-	 =  happyIn20-		 (">"-	)--happyReduce_60 = happySpecReduce_1  15# happyReduction_60-happyReduction_60 happy_x_1-	 =  happyIn21-		 (LeftAssoc-	)--happyReduce_61 = happySpecReduce_1  15# happyReduction_61-happyReduction_61 happy_x_1-	 =  happyIn21-		 (RightAssoc-	)--happyReduce_62 = happySpecReduce_1  15# happyReduction_62-happyReduction_62 happy_x_1-	 =  happyIn21-		 (NonAssoc-	)--happyReduce_63 = happyReduce 4# 16# happyReduction_63-happyReduction_63 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut23 happy_x_3 of { happy_var_3 -> -	happyIn22-		 (LatexDefs happy_var_3-	) `HappyStk` happyRest}--happyReduce_64 = happySpecReduce_3  17# happyReduction_64-happyReduction_64 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> -	happyIn23-		 ([(happy_var_1,happy_var_3)]-	)}}--happyReduce_65 = happyReduce 5# 17# happyReduction_65-happyReduction_65 (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_1 of { happy_var_1 -> -	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> -	case happyOut23 happy_x_5 of { happy_var_5 -> -	happyIn23-		 ((happy_var_1,happy_var_3):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_66 = happySpecReduce_2  18# happyReduction_66-happyReduction_66 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut25 happy_x_2 of { happy_var_2 -> -	happyIn24-		 ((happy_var_1, happy_var_2)-	)}}--happyReduce_67 = happySpecReduce_0  19# happyReduction_67-happyReduction_67  =  happyIn25-		 ([]-	)--happyReduce_68 = happySpecReduce_2  19# happyReduction_68-happyReduction_68 happy_x_2-	happy_x_1-	 =  case happyOut53 happy_x_1 of { happy_var_1 -> -	case happyOut25 happy_x_2 of { happy_var_2 -> -	happyIn25-		 ((happy_var_1,Nothing):happy_var_2-	)}}--happyReduce_69 = happyReduce 5# 19# 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)-	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut25 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn25-		 ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_70 = happyReduce 5# 19# happyReduction_70-happyReduction_70 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut25 happy_x_5 of { happy_var_5 -> -	happyIn25-		 ((happy_var_3, Just happy_var_1):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_71 = happyReduce 6# 20# happyReduction_71-happyReduction_71 (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 happyOut28 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut27 happy_x_4 of { happy_var_4 -> -	case happyOut77 happy_x_5 of { happy_var_5 -> -	case happyOut76 happy_x_6 of { happy_var_6 -> -	happyIn26-		 (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2-	) `HappyStk` happyRest}}}}}--happyReduce_72 = happySpecReduce_3  21# happyReduction_72-happyReduction_72 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut61 happy_x_1 of { happy_var_1 -> -	case happyOut70 happy_x_2 of { happy_var_2 -> -	happyIn27-		 (Right (happy_var_1,happy_var_2)-	)}}--happyReduce_73 = happySpecReduce_3  21# happyReduction_73-happyReduction_73 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut49 happy_x_2 of { happy_var_2 -> -	happyIn27-		 (Left happy_var_2-	)}--happyReduce_74 = happySpecReduce_3  21# happyReduction_74-happyReduction_74 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn27-		 (Left (RConst happy_var_2 happy_var_3 TYPE)-	)}}--happyReduce_75 = happySpecReduce_0  22# happyReduction_75-happyReduction_75  =  happyIn28-		 ([]-	)--happyReduce_76 = happySpecReduce_3  22# happyReduction_76-happyReduction_76 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_2 of { happy_var_2 -> -	happyIn28-		 (happy_var_2-	)}--happyReduce_77 = happySpecReduce_1  23# happyReduction_77-happyReduction_77 happy_x_1-	 =  case happyOut30 happy_x_1 of { happy_var_1 -> -	happyIn29-		 ([happy_var_1]-	)}--happyReduce_78 = happySpecReduce_3  23# happyReduction_78-happyReduction_78 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut30 happy_x_1 of { happy_var_1 -> -	case happyOut29 happy_x_3 of { happy_var_3 -> -	happyIn29-		 (happy_var_1:happy_var_3-	)}}--happyReduce_79 = happySpecReduce_1  24# happyReduction_79-happyReduction_79 happy_x_1-	 =  happyIn30-		 (NoElim-	)--happyReduce_80 = happySpecReduce_1  24# happyReduction_80-happyReduction_80 happy_x_1-	 =  happyIn30-		 (Collapsible-	)--happyReduce_81 = happySpecReduce_1  25# happyReduction_81-happyReduction_81 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> -	happyIn31-		 (happy_var_1-	)}--happyReduce_82 = happySpecReduce_3  25# happyReduction_82-happyReduction_82 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut20 happy_x_2 of { happy_var_2 -> -	happyIn31-		 (useropFn happy_var_2-	)}--happyReduce_83 = happyReduce 4# 26# happyReduction_83-happyReduction_83 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut32 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	case happyOut53 happy_x_4 of { happy_var_4 -> -	happyIn32-		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_84 = happyReduce 5# 26# happyReduction_84-happyReduction_84 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut32 happy_x_1 of { happy_var_1 -> -	case happyOut42 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn32-		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)-	) `HappyStk` happyRest}}}}--happyReduce_85 = happySpecReduce_3  26# happyReduction_85-happyReduction_85 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn32-		 (RVar happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_86 = happySpecReduce_3  26# happyReduction_86-happyReduction_86 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut59 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn32-		 (RConst happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_87 = happySpecReduce_1  26# happyReduction_87-happyReduction_87 happy_x_1-	 =  happyIn32-		 (RPlaceholder-	)--happyReduce_88 = happySpecReduce_3  26# happyReduction_88-happyReduction_88 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn32-		 (RVar happy_var_2 happy_var_3 (UN "__Empty")-	)}}--happyReduce_89 = happySpecReduce_3  26# happyReduction_89-happyReduction_89 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn32-		 (RVar happy_var_2 happy_var_3 (UN "__Unit")-	)}}--happyReduce_90 = happySpecReduce_1  27# happyReduction_90-happyReduction_90 happy_x_1-	 =  case happyOut53 happy_x_1 of { happy_var_1 -> -	happyIn33-		 (happy_var_1-	)}--happyReduce_91 = happySpecReduce_3  27# happyReduction_91-happyReduction_91 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn33-		 (happy_var_2-	)}--happyReduce_92 = happyReduce 4# 27# happyReduction_92-happyReduction_92 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	case happyOut53 happy_x_4 of { happy_var_4 -> -	happyIn33-		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_93 = happyReduce 5# 27# happyReduction_93-happyReduction_93 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut42 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn33-		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)-	) `HappyStk` happyRest}}}}--happyReduce_94 = happyReduce 4# 27# happyReduction_94-happyReduction_94 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn33-		 (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_95 = happyReduce 4# 27# happyReduction_95-happyReduction_95 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut34 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	happyIn33-		 (doBind Lam happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_96 = happyReduce 4# 27# happyReduction_96-happyReduction_96 (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 happyOut33 happy_x_4 of { happy_var_4 -> -	happyIn33-		 (doLetBind happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_97 = happySpecReduce_1  27# happyReduction_97-happyReduction_97 happy_x_1-	 =  case happyOut43 happy_x_1 of { happy_var_1 -> -	happyIn33-		 (happy_var_1-	)}--happyReduce_98 = happyReduce 8# 27# happyReduction_98-happyReduction_98 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut33 happy_x_6 of { happy_var_6 -> -	case happyOut77 happy_x_7 of { happy_var_7 -> -	case happyOut76 happy_x_8 of { happy_var_8 -> -	happyIn33-		 (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]-	) `HappyStk` happyRest}}}}}--happyReduce_99 = happySpecReduce_2  28# happyReduction_99-happyReduction_99 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_2 of { happy_var_2 -> -	happyIn34-		 ([(happy_var_1,happy_var_2)]-	)}}--happyReduce_100 = happyReduce 4# 28# happyReduction_100-happyReduction_100 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_2 of { happy_var_2 -> -	case happyOut34 happy_x_4 of { happy_var_4 -> -	happyIn34-		 ((happy_var_1,happy_var_2):happy_var_4-	) `HappyStk` happyRest}}}--happyReduce_101 = happySpecReduce_3  29# happyReduction_101-happyReduction_101 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut36 happy_x_1 of { happy_var_1 -> -	case happyOut35 happy_x_3 of { happy_var_3 -> -	happyIn35-		 (happy_var_1 ++ happy_var_3-	)}}--happyReduce_102 = happySpecReduce_1  29# happyReduction_102-happyReduction_102 happy_x_1-	 =  case happyOut36 happy_x_1 of { happy_var_1 -> -	happyIn35-		 (happy_var_1-	)}--happyReduce_103 = happySpecReduce_3  30# happyReduction_103-happyReduction_103 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut49 happy_x_3 of { happy_var_3 -> -	happyIn36-		 (map ( \x -> (x,happy_var_3)) [happy_var_1]-	)}}--happyReduce_104 = happySpecReduce_1  31# happyReduction_104-happyReduction_104 happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	happyIn37-		 ([happy_var_1]-	)}--happyReduce_105 = happySpecReduce_3  31# happyReduction_105-happyReduction_105 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut37 happy_x_3 of { happy_var_3 -> -	happyIn37-		 (happy_var_1:happy_var_3-	)}}--happyReduce_106 = happySpecReduce_2  32# happyReduction_106-happyReduction_106 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	happyIn38-		 ([(happy_var_1,happy_var_2)]-	)}}--happyReduce_107 = happySpecReduce_1  32# happyReduction_107-happyReduction_107 happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	happyIn38-		 ([(happy_var_1, 0)]-	)}--happyReduce_108 = happySpecReduce_3  32# happyReduction_108-happyReduction_108 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut38 happy_x_3 of { happy_var_3 -> -	happyIn38-		 ((happy_var_1,0):happy_var_3-	)}}--happyReduce_109 = happyReduce 4# 32# happyReduction_109-happyReduction_109 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	case happyOut38 happy_x_4 of { happy_var_4 -> -	happyIn38-		 ((happy_var_1,happy_var_2):happy_var_4-	) `HappyStk` happyRest}}}--happyReduce_110 = happySpecReduce_1  33# happyReduction_110-happyReduction_110 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	happyIn39-		 ([happy_var_1]-	)}--happyReduce_111 = happySpecReduce_3  33# happyReduction_111-happyReduction_111 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut37 happy_x_3 of { happy_var_3 -> -	happyIn39-		 (happy_var_1:happy_var_3-	)}}--happyReduce_112 = happySpecReduce_1  34# happyReduction_112-happyReduction_112 happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	happyIn40-		 ([happy_var_1]-	)}--happyReduce_113 = happySpecReduce_2  34# happyReduction_113-happyReduction_113 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut40 happy_x_2 of { happy_var_2 -> -	happyIn40-		 (happy_var_1:happy_var_2-	)}}--happyReduce_114 = happyReduce 4# 35# happyReduction_114-happyReduction_114 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	happyIn41-		 ([(happy_var_1,happy_var_2,happy_var_4)]-	) `HappyStk` happyRest}}}--happyReduce_115 = happyReduce 6# 35# happyReduction_115-happyReduction_115 (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 happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut41 happy_x_6 of { happy_var_6 -> -	happyIn41-		 ((happy_var_1,happy_var_2,happy_var_4):happy_var_6-	) `HappyStk` happyRest}}}}--happyReduce_116 = happySpecReduce_3  36# happyReduction_116-happyReduction_116 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn42-		 ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)-	)}}}--happyReduce_117 = happySpecReduce_3  36# happyReduction_117-happyReduction_117 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn42-		 ((happy_var_1, happy_var_3)-	)}}--happyReduce_118 = happyReduce 4# 37# happyReduction_118-happyReduction_118 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn43-		 (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_119 = happyReduce 5# 37# happyReduction_119-happyReduction_119 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_120 = happyReduce 5# 37# happyReduction_120-happyReduction_120 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]-	) `HappyStk` happyRest}}}}--happyReduce_121 = happyReduce 5# 37# happyReduction_121-happyReduction_121 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_122 = happyReduce 5# 37# happyReduction_122-happyReduction_122 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_123 = happyReduce 5# 37# happyReduction_123-happyReduction_123 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn43-		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3-	) `HappyStk` happyRest}}--happyReduce_124 = happySpecReduce_1  37# happyReduction_124-happyReduction_124 happy_x_1-	 =  case happyOut44 happy_x_1 of { happy_var_1 -> -	happyIn43-		 (happy_var_1-	)}--happyReduce_125 = happyReduce 5# 37# 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 happyOut53 happy_x_1 of { happy_var_1 -> -	case happyOut53 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_126 = happyReduce 5# 38# happyReduction_126-happyReduction_126 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn44-		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}}--happyReduce_127 = happyReduce 6# 39# happyReduction_127-happyReduction_127 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)-	) `HappyStk` happyRest}}}}--happyReduce_128 = happyReduce 6# 39# happyReduction_128-happyReduction_128 (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 happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}}--happyReduce_129 = happyReduce 6# 39# happyReduction_129-happyReduction_129 (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 happyOut46 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)-	) `HappyStk` happyRest}}}}--happyReduce_130 = happyReduce 6# 39# happyReduction_130-happyReduction_130 (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 happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut46 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}}--happyReduce_131 = happyReduce 6# 39# happyReduction_131-happyReduction_131 (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 happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}--happyReduce_132 = happyReduce 6# 39# happyReduction_132-happyReduction_132 (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 happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RBind (MN "X" 1) (Pi Ex Eager happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}--happyReduce_133 = happyReduce 6# 39# happyReduction_133-happyReduction_133 (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 happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RBind (MN "X" 1) (Pi Ex Eager (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)-	) `HappyStk` happyRest}}}--happyReduce_134 = happyReduce 5# 39# happyReduction_134-happyReduction_134 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (RBind (MN "X" 1) (Lam RPlaceholder)-                    (RBind (MN "X" 2) (Pi Ex Eager (RVar happy_var_3 happy_var_4 (MN "X" 0)))-                       (RVar happy_var_3 happy_var_4 (MN "X" 1))))-	) `HappyStk` happyRest}}--happyReduce_135 = happyReduce 5# 39# happyReduction_135-happyReduction_135 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                   (RBind (MN "X" 1) (Lam RPlaceholder)-                       (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))-                                    [RVar happy_var_3 happy_var_4 (MN "X" 0),-                                     RVar happy_var_3 happy_var_4 (MN "X" 1)]))-	) `HappyStk` happyRest}}--happyReduce_136 = happyReduce 6# 39# happyReduction_136-happyReduction_136 (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 happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))-                                    [happy_var_2,-                                     RVar happy_var_4 happy_var_5 (MN "X" 0)])-	) `HappyStk` happyRest}}}--happyReduce_137 = happyReduce 6# 39# happyReduction_137-happyReduction_137 (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 happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))-                                    [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])-	) `HappyStk` happyRest}}}--happyReduce_138 = happySpecReduce_1  40# happyReduction_138-happyReduction_138 happy_x_1-	 =  happyIn46-		 ("<"-	)--happyReduce_139 = happySpecReduce_1  40# happyReduction_139-happyReduction_139 happy_x_1-	 =  happyIn46-		 (">"-	)--happyReduce_140 = happySpecReduce_0  41# happyReduction_140-happyReduction_140  =  happyIn47-		 (RPlaceholder-	)--happyReduce_141 = happySpecReduce_2  41# happyReduction_141-happyReduction_141 happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn47-		 (happy_var_2-	)}--happyReduce_142 = happySpecReduce_0  42# happyReduction_142-happyReduction_142  =  happyIn48-		 (RPlaceholder-	)--happyReduce_143 = happySpecReduce_2  42# happyReduction_143-happyReduction_143 happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn48-		 (happy_var_2-	)}--happyReduce_144 = happyReduce 5# 43# happyReduction_144-happyReduction_144 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut39 happy_x_1 of { happy_var_1 -> -	case happyOut48 happy_x_2 of { happy_var_2 -> -	case happyOut49 happy_x_5 of { happy_var_5 -> -	happyIn49-		 (doBind (Pi Im Eager) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_145 = happySpecReduce_1  43# happyReduction_145-happyReduction_145 happy_x_1-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> -	happyIn49-		 (happy_var_1-	)}--happyReduce_146 = happySpecReduce_3  44# happyReduction_146-happyReduction_146 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> -	case happyOut50 happy_x_3 of { happy_var_3 -> -	happyIn50-		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3-	)}}--happyReduce_147 = happyReduce 5# 44# happyReduction_147-happyReduction_147 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut35 happy_x_2 of { happy_var_2 -> -	case happyOut50 happy_x_5 of { happy_var_5 -> -	happyIn50-		 (doBind (Pi Ex Eager) happy_var_2 happy_var_5-	) `HappyStk` happyRest}}--happyReduce_148 = happyReduce 5# 44# happyReduction_148-happyReduction_148 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut35 happy_x_2 of { happy_var_2 -> -	case happyOut50 happy_x_5 of { happy_var_5 -> -	happyIn50-		 (doBind (Pi Ex Lazy) happy_var_2 happy_var_5-	) `HappyStk` happyRest}}--happyReduce_149 = happySpecReduce_3  44# happyReduction_149-happyReduction_149 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn50-		 (bracket happy_var_2-	)}--happyReduce_150 = happyReduce 7# 44# happyReduction_150-happyReduction_150 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut50 happy_x_2 of { happy_var_2 -> -	case happyOut50 happy_x_4 of { happy_var_4 -> -	case happyOut77 happy_x_5 of { happy_var_5 -> -	case happyOut76 happy_x_6 of { happy_var_6 -> -	happyIn50-		 (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_151 = happySpecReduce_1  44# happyReduction_151-happyReduction_151 happy_x_1-	 =  case happyOut32 happy_x_1 of { happy_var_1 -> -	happyIn50-		 (happy_var_1-	)}--happyReduce_152 = happySpecReduce_3  44# happyReduction_152-happyReduction_152 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn50-		 (happy_var_2-	)}--happyReduce_153 = happyReduce 5# 44# happyReduction_153-happyReduction_153 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut50 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut50 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn50-		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}}--happyReduce_154 = happyReduce 5# 44# happyReduction_154-happyReduction_154 (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 happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn50-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_155 = happySpecReduce_1  44# happyReduction_155-happyReduction_155 happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	happyIn50-		 (happy_var_1-	)}--happyReduce_156 = happyReduce 8# 45# happyReduction_156-happyReduction_156 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOut50 happy_x_5 of { happy_var_5 -> -	case happyOut77 happy_x_7 of { happy_var_7 -> -	case happyOut76 happy_x_8 of { happy_var_8 -> -	happyIn51-		 (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_157 = happySpecReduce_3  46# happyReduction_157-happyReduction_157 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> -	case happyOut50 happy_x_3 of { happy_var_3 -> -	happyIn52-		 (happy_var_1:happy_var_3:[]-	)}}--happyReduce_158 = happySpecReduce_3  46# happyReduction_158-happyReduction_158 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> -	case happyOut52 happy_x_3 of { happy_var_3 -> -	happyIn52-		 (happy_var_1:happy_var_3-	)}}--happyReduce_159 = happySpecReduce_3  47# happyReduction_159-happyReduction_159 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (RVar happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_160 = happySpecReduce_3  47# happyReduction_160-happyReduction_160 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (RReturn happy_var_2 happy_var_3-	)}}--happyReduce_161 = happySpecReduce_3  47# happyReduction_161-happyReduction_161 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn53-		 (bracket happy_var_2-	)}--happyReduce_162 = happySpecReduce_2  47# happyReduction_162-happyReduction_162 happy_x_2-	happy_x_1-	 =  case happyOut53 happy_x_2 of { happy_var_2 -> -	happyIn53-		 (RPure happy_var_2-	)}--happyReduce_163 = happySpecReduce_1  47# happyReduction_163-happyReduction_163 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> -	happyIn53-		 (RMetavar happy_var_1-	)}--happyReduce_164 = happyReduce 4# 47# happyReduction_164-happyReduction_164 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn53-		 (RExpVar happy_var_3 happy_var_4 happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_165 = happySpecReduce_3  47# happyReduction_165-happyReduction_165 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut59 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (RConst happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_166 = happySpecReduce_1  47# happyReduction_166-happyReduction_166 happy_x_1-	 =  happyIn53-		 (RRefl-	)--happyReduce_167 = happySpecReduce_3  47# happyReduction_167-happyReduction_167 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (RVar happy_var_2 happy_var_3 (UN "__Empty")-	)}}--happyReduce_168 = happySpecReduce_3  47# happyReduction_168-happyReduction_168 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (RVar happy_var_2 happy_var_3 (UN "__Unit")-	)}}--happyReduce_169 = happySpecReduce_1  47# happyReduction_169-happyReduction_169 happy_x_1-	 =  happyIn53-		 (RPlaceholder-	)--happyReduce_170 = happySpecReduce_1  47# happyReduction_170-happyReduction_170 happy_x_1-	 =  case happyOut56 happy_x_1 of { happy_var_1 -> -	happyIn53-		 (RDo happy_var_1-	)}--happyReduce_171 = happySpecReduce_3  47# happyReduction_171-happyReduction_171 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn53-		 (RIdiom happy_var_2-	)}--happyReduce_172 = happyReduce 5# 47# happyReduction_172-happyReduction_172 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut55 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn53-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_173 = happySpecReduce_1  47# happyReduction_173-happyReduction_173 happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	happyIn53-		 (happy_var_1-	)}--happyReduce_174 = happySpecReduce_1  47# happyReduction_174-happyReduction_174 happy_x_1-	 =  case happyOut45 happy_x_1 of { happy_var_1 -> -	happyIn53-		 (happy_var_1-	)}--happyReduce_175 = happySpecReduce_1  47# happyReduction_175-happyReduction_175 happy_x_1-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> -	happyIn53-		 (happy_var_1-	)}--happyReduce_176 = happyReduce 7# 48# happyReduction_176-happyReduction_176 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut77 happy_x_6 of { happy_var_6 -> -	case happyOut76 happy_x_7 of { happy_var_7 -> -	happyIn54-		 (RApp happy_var_6 happy_var_7 (RAppImp happy_var_6 happy_var_7 (UN "a") (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_177 = happyReduce 5# 48# happyReduction_177-happyReduction_177 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn54-		 (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_178 = happySpecReduce_3  49# happyReduction_178-happyReduction_178 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn55-		 (happy_var_1:happy_var_3:[]-	)}}--happyReduce_179 = happySpecReduce_3  49# happyReduction_179-happyReduction_179 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut55 happy_x_3 of { happy_var_3 -> -	happyIn55-		 (happy_var_1:happy_var_3-	)}}--happyReduce_180 = happyReduce 4# 50# happyReduction_180-happyReduction_180 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut57 happy_x_3 of { happy_var_3 -> -	happyIn56-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_181 = happyReduce 10# 50# happyReduction_181-happyReduction_181 (happy_x_10 `HappyStk`-	happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOut33 happy_x_5 of { happy_var_5 -> -	case happyOut77 happy_x_6 of { happy_var_6 -> -	case happyOut76 happy_x_7 of { happy_var_7 -> -	case happyOut57 happy_x_9 of { happy_var_9 -> -	happyIn56-		 (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9-	) `HappyStk` happyRest}}}}}}--happyReduce_182 = happySpecReduce_2  51# happyReduction_182-happyReduction_182 happy_x_2-	happy_x_1-	 =  case happyOut58 happy_x_1 of { happy_var_1 -> -	case happyOut57 happy_x_2 of { happy_var_2 -> -	happyIn57-		 (happy_var_1:happy_var_2-	)}}--happyReduce_183 = happySpecReduce_1  51# happyReduction_183-happyReduction_183 happy_x_1-	 =  case happyOut58 happy_x_1 of { happy_var_1 -> -	happyIn57-		 ([happy_var_1]-	)}--happyReduce_184 = happyReduce 7# 52# happyReduction_184-happyReduction_184 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut77 happy_x_5 of { happy_var_5 -> -	case happyOut76 happy_x_6 of { happy_var_6 -> -	happyIn58-		 (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}}--happyReduce_185 = happyReduce 8# 52# happyReduction_185-happyReduction_185 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOut33 happy_x_5 of { happy_var_5 -> -	case happyOut77 happy_x_6 of { happy_var_6 -> -	case happyOut76 happy_x_7 of { happy_var_7 -> -	happyIn58-		 (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_186 = happyReduce 4# 52# happyReduction_186-happyReduction_186 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn58-		 (DoExp happy_var_2 happy_var_3 happy_var_1-	) `HappyStk` happyRest}}}--happyReduce_187 = happySpecReduce_1  53# happyReduction_187-happyReduction_187 happy_x_1-	 =  happyIn59-		 (TYPE-	)--happyReduce_188 = happySpecReduce_1  53# happyReduction_188-happyReduction_188 happy_x_1-	 =  happyIn59-		 (StringType-	)--happyReduce_189 = happySpecReduce_1  53# happyReduction_189-happyReduction_189 happy_x_1-	 =  happyIn59-		 (IntType-	)--happyReduce_190 = happySpecReduce_1  53# happyReduction_190-happyReduction_190 happy_x_1-	 =  happyIn59-		 (CharType-	)--happyReduce_191 = happySpecReduce_1  53# happyReduction_191-happyReduction_191 happy_x_1-	 =  happyIn59-		 (FloatType-	)--happyReduce_192 = happySpecReduce_1  53# happyReduction_192-happyReduction_192 happy_x_1-	 =  happyIn59-		 (PtrType-	)--happyReduce_193 = happySpecReduce_1  53# happyReduction_193-happyReduction_193 happy_x_1-	 =  happyIn59-		 (Builtin "Handle"-	)--happyReduce_194 = happySpecReduce_1  53# happyReduction_194-happyReduction_194 happy_x_1-	 =  happyIn59-		 (Builtin "Lock"-	)--happyReduce_195 = happySpecReduce_1  53# happyReduction_195-happyReduction_195 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> -	happyIn59-		 (Num happy_var_1-	)}--happyReduce_196 = happySpecReduce_1  53# happyReduction_196-happyReduction_196 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> -	happyIn59-		 (Ch happy_var_1-	)}--happyReduce_197 = happySpecReduce_1  53# happyReduction_197-happyReduction_197 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> -	happyIn59-		 (Str happy_var_1-	)}--happyReduce_198 = happySpecReduce_1  53# happyReduction_198-happyReduction_198 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> -	happyIn59-		 (Bo happy_var_1-	)}--happyReduce_199 = happySpecReduce_1  53# happyReduction_199-happyReduction_199 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> -	happyIn59-		 (Fl happy_var_1-	)}--happyReduce_200 = happySpecReduce_0  54# happyReduction_200-happyReduction_200  =  happyIn60-		 ([]-	)--happyReduce_201 = happySpecReduce_2  54# happyReduction_201-happyReduction_201 happy_x_2-	happy_x_1-	 =  case happyOut53 happy_x_1 of { happy_var_1 -> -	case happyOut60 happy_x_2 of { happy_var_2 -> -	happyIn60-		 (happy_var_1:happy_var_2-	)}}--happyReduce_202 = happyReduce 4# 55# happyReduction_202-happyReduction_202 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut49 happy_x_2 of { happy_var_2 -> -	case happyOut62 happy_x_3 of { happy_var_3 -> -	happyIn61-		 ((happy_var_2, happy_var_3)-	) `HappyStk` happyRest}}--happyReduce_203 = happySpecReduce_3  55# happyReduction_203-happyReduction_203 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn61-		 ((RConst happy_var_2 happy_var_3 TYPE, [])-	)}}--happyReduce_204 = happyReduce 4# 55# happyReduction_204-happyReduction_204 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut68 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn61-		 ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])-	) `HappyStk` happyRest}}}--happyReduce_205 = happySpecReduce_0  56# happyReduction_205-happyReduction_205  =  happyIn62-		 ([]-	)--happyReduce_206 = happyReduce 4# 56# happyReduction_206-happyReduction_206 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut67 happy_x_3 of { happy_var_3 -> -	happyIn62-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_207 = happyReduce 7# 57# happyReduction_207-happyReduction_207 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut31 happy_x_6 of { happy_var_6 -> -	happyIn63-		 ((happy_var_4,happy_var_6)-	) `HappyStk` happyRest}}--happyReduce_208 = happyReduce 6# 58# happyReduction_208-happyReduction_208 (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 happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_5 of { happy_var_5 -> -	happyIn64-		 ((happy_var_3,happy_var_5)-	) `HappyStk` happyRest}}--happyReduce_209 = happyReduce 4# 59# happyReduction_209-happyReduction_209 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut67 happy_x_3 of { happy_var_3 -> -	happyIn65-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_210 = happySpecReduce_2  60# happyReduction_210-happyReduction_210 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn66-		 (happy_var_2-	)}--happyReduce_211 = happySpecReduce_3  61# happyReduction_211-happyReduction_211 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut49 happy_x_3 of { happy_var_3 -> -	happyIn67-		 ([(happy_var_1, happy_var_3)]-	)}}--happyReduce_212 = happyReduce 5# 61# happyReduction_212-happyReduction_212 (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_1 of { happy_var_1 -> -	case happyOut49 happy_x_3 of { happy_var_3 -> -	case happyOut67 happy_x_5 of { happy_var_5 -> -	happyIn67-		 ((happy_var_1,happy_var_3):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_213 = happySpecReduce_1  62# happyReduction_213-happyReduction_213 happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	happyIn68-		 ([happy_var_1]-	)}--happyReduce_214 = happySpecReduce_2  62# happyReduction_214-happyReduction_214 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut68 happy_x_2 of { happy_var_2 -> -	happyIn68-		 (happy_var_1:happy_var_2-	)}}--happyReduce_215 = happySpecReduce_1  63# happyReduction_215-happyReduction_215 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn69-		 (happy_var_1-	)}--happyReduce_216 = happySpecReduce_1  63# happyReduction_216-happyReduction_216 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn69-		 (happy_var_1-	)}--happyReduce_217 = happySpecReduce_0  64# happyReduction_217-happyReduction_217  =  happyIn70-		 ([]-	)--happyReduce_218 = happySpecReduce_1  64# happyReduction_218-happyReduction_218 happy_x_1-	 =  case happyOut71 happy_x_1 of { happy_var_1 -> -	happyIn70-		 ([happy_var_1]-	)}--happyReduce_219 = happySpecReduce_3  64# happyReduction_219-happyReduction_219 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut71 happy_x_1 of { happy_var_1 -> -	case happyOut70 happy_x_3 of { happy_var_3 -> -	happyIn70-		 (happy_var_1:happy_var_3-	)}}--happyReduce_220 = happySpecReduce_2  65# happyReduction_220-happyReduction_220 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut72 happy_x_2 of { happy_var_2 -> -	happyIn71-		 (Full happy_var_1 happy_var_2-	)}}--happyReduce_221 = happySpecReduce_2  65# happyReduction_221-happyReduction_221 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut60 happy_x_2 of { happy_var_2 -> -	happyIn71-		 (Simple happy_var_1 happy_var_2-	)}}--happyReduce_222 = happySpecReduce_2  66# happyReduction_222-happyReduction_222 happy_x_2-	happy_x_1-	 =  case happyOut49 happy_x_2 of { happy_var_2 -> -	happyIn72-		 (happy_var_2-	)}--happyReduce_223 = happySpecReduce_2  67# happyReduction_223-happyReduction_223 happy_x_2-	happy_x_1-	 =  case happyOut37 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Intro happy_var_2-	)}--happyReduce_224 = happySpecReduce_1  67# happyReduction_224-happyReduction_224 happy_x_1-	 =  happyIn73-		 (Intro []-	)--happyReduce_225 = happySpecReduce_2  67# happyReduction_225-happyReduction_225 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Refine happy_var_2-	)}--happyReduce_226 = happySpecReduce_2  67# happyReduction_226-happyReduction_226 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Generalise happy_var_2-	)}--happyReduce_227 = happySpecReduce_1  67# happyReduction_227-happyReduction_227 happy_x_1-	 =  happyIn73-		 (ReflP-	)--happyReduce_228 = happySpecReduce_2  67# happyReduction_228-happyReduction_228 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Rewrite False False happy_var_2-	)}--happyReduce_229 = happySpecReduce_3  67# happyReduction_229-happyReduction_229 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn73-		 (Rewrite False True happy_var_3-	)}--happyReduce_230 = happySpecReduce_2  67# happyReduction_230-happyReduction_230 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Rewrite True False happy_var_2-	)}--happyReduce_231 = happySpecReduce_3  67# happyReduction_231-happyReduction_231 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn73-		 (Rewrite True True happy_var_3-	)}--happyReduce_232 = happySpecReduce_1  67# happyReduction_232-happyReduction_232 happy_x_1-	 =  happyIn73-		 (Compute-	)--happyReduce_233 = happySpecReduce_2  67# happyReduction_233-happyReduction_233 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Unfold happy_var_2-	)}--happyReduce_234 = happySpecReduce_1  67# happyReduction_234-happyReduction_234 happy_x_1-	 =  happyIn73-		 (Undo-	)--happyReduce_235 = happySpecReduce_2  67# happyReduction_235-happyReduction_235 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Induction happy_var_2-	)}--happyReduce_236 = happySpecReduce_2  67# happyReduction_236-happyReduction_236 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Fill happy_var_2-	)}--happyReduce_237 = happySpecReduce_1  67# happyReduction_237-happyReduction_237 happy_x_1-	 =  happyIn73-		 (Trivial-	)--happyReduce_238 = happySpecReduce_2  67# happyReduction_238-happyReduction_238 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (RunTactic happy_var_2-	)}--happyReduce_239 = happySpecReduce_2  67# happyReduction_239-happyReduction_239 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Believe happy_var_2-	)}--happyReduce_240 = happySpecReduce_2  67# happyReduction_240-happyReduction_240 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Use happy_var_2-	)}--happyReduce_241 = happySpecReduce_2  67# happyReduction_241-happyReduction_241 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Decide happy_var_2-	)}--happyReduce_242 = happySpecReduce_1  67# happyReduction_242-happyReduction_242 happy_x_1-	 =  happyIn73-		 (Abandon-	)--happyReduce_243 = happySpecReduce_1  67# happyReduction_243-happyReduction_243 happy_x_1-	 =  happyIn73-		 (Qed-	)--happyReduce_244 = happyReduce 4# 68# happyReduction_244-happyReduction_244 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut75 happy_x_3 of { happy_var_3 -> -	happyIn74-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_245 = happySpecReduce_2  69# happyReduction_245-happyReduction_245 happy_x_2-	happy_x_1-	 =  case happyOut73 happy_x_1 of { happy_var_1 -> -	happyIn75-		 ([happy_var_1]-	)}--happyReduce_246 = happySpecReduce_3  69# happyReduction_246-happyReduction_246 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut73 happy_x_1 of { happy_var_1 -> -	case happyOut75 happy_x_3 of { happy_var_3 -> -	happyIn75-		 (happy_var_1:happy_var_3-	)}}--happyReduce_247 = happyMonadReduce 0# 70# happyReduction_247-happyReduction_247 (happyRest) tk-	 = happyThen (( getLineNo)-	) (\r -> happyReturn (happyIn76 r))--happyReduce_248 = happyMonadReduce 0# 71# happyReduction_248-happyReduction_248 (happyRest) tk-	 = happyThen (( getFileName)-	) (\r -> happyReturn (happyIn77 r))--happyReduce_249 = happyMonadReduce 0# 72# happyReduction_249-happyReduction_249 (happyRest) tk-	 = happyThen (( getOps)-	) (\r -> happyReturn (happyIn78 r))--happyNewToken action sts stk-	= lexer(\tk -> -	let cont i = happyDoAction i tk action sts stk in-	case tk of {-	TokenEOF -> happyDoAction 118# tk action sts stk;-	TokenName happy_dollar_dollar -> cont 1#;-	TokenInfixName happy_dollar_dollar -> cont 2#;-	TokenBrackName happy_dollar_dollar -> cont 3#;-	TokenString happy_dollar_dollar -> cont 4#;-	TokenInt happy_dollar_dollar -> cont 5#;-	TokenFloat happy_dollar_dollar -> cont 6#;-	TokenChar happy_dollar_dollar -> cont 7#;-	TokenBool happy_dollar_dollar -> cont 8#;-	TokenMetavar happy_dollar_dollar -> cont 9#;-	TokenColon -> cont 10#;-	TokenSemi -> cont 11#;-	TokenBar -> cont 12#;-	TokenStars -> cont 13#;-	TokenLambda -> cont 14#;-	TokenHashOB -> cont 15#;-	TokenOB -> cont 16#;-	TokenCB -> cont 17#;-	TokenOCB -> cont 18#;-	TokenCCB -> cont 19#;-	TokenOSB -> cont 20#;-	TokenCSB -> cont 21#;-	TokenOId -> cont 22#;-	TokenCId -> cont 23#;-	TokenLPair -> cont 24#;-	TokenRPair -> cont 25#;-	TokenExists -> cont 26#;-	TokenTilde -> cont 27#;-	TokenPlus -> cont 28#;-	TokenMinus -> cont 29#;-	TokenTimes -> cont 30#;-	TokenDivide -> cont 31#;-	TokenEquals -> cont 32#;-	TokenMightEqual -> cont 33#;-	TokenLT -> cont 34#;-	TokenGT -> cont 35#;-	TokenEllipsis -> cont 36#;-	TokenUnderscore -> cont 37#;-	TokenComma -> cont 38#;-	TokenTuple -> cont 39#;-	TokenBang -> cont 40#;-	TokenConcat -> cont 41#;-	TokenGE -> cont 42#;-	TokenLE -> cont 43#;-	TokenOr -> cont 44#;-	TokenAnd -> cont 45#;-	TokenArrow -> cont 46#;-	TokenFatArrow -> cont 47#;-	TokenTransArrow -> cont 48#;-	TokenLeftArrow -> cont 49#;-	TokenIntType -> cont 50#;-	TokenCharType -> cont 51#;-	TokenFloatType -> cont 52#;-	TokenStringType -> cont 53#;-	TokenHandleType -> cont 54#;-	TokenPtrType -> cont 55#;-	TokenLockType -> cont 56#;-	TokenType -> cont 57#;-	TokenLazyBracket -> cont 58#;-	TokenDataType -> cont 59#;-	TokenInfix -> cont 60#;-	TokenInfixL -> cont 61#;-	TokenInfixR -> cont 62#;-	TokenUsing -> cont 63#;-	TokenIdiom -> cont 64#;-	TokenParams -> cont 65#;-	TokenNamespace -> cont 66#;-	TokenPublic -> cont 67#;-	TokenPrivate -> cont 68#;-	TokenAbstract -> cont 69#;-	TokenNoElim -> cont 70#;-	TokenCollapsible -> cont 71#;-	TokenWhere -> cont 72#;-	TokenWith -> cont 73#;-	TokenPartial -> cont 74#;-	TokenSyntax -> cont 75#;-	TokenLazy -> cont 76#;-	TokenRefl -> cont 77#;-	TokenEmptyType -> cont 78#;-	TokenUnitType -> cont 79#;-	TokenInclude -> cont 80#;-	TokenExport -> cont 81#;-	TokenInline -> cont 82#;-	TokenDo -> cont 83#;-	TokenReturn -> cont 84#;-	TokenIf -> cont 85#;-	TokenThen -> cont 86#;-	TokenElse -> cont 87#;-	TokenLet -> cont 88#;-	TokenIn -> cont 89#;-	TokenProof -> cont 90#;-	TokenIntro -> cont 91#;-	TokenRefine -> cont 92#;-	TokenGeneralise -> cont 93#;-	TokenReflP -> cont 94#;-	TokenRewrite -> cont 95#;-	TokenRewriteAll -> cont 96#;-	TokenCompute -> cont 97#;-	TokenUnfold -> cont 98#;-	TokenUndo -> cont 99#;-	TokenInduction -> cont 100#;-	TokenFill -> cont 101#;-	TokenTrivial -> cont 102#;-	TokenMkTac -> cont 103#;-	TokenBelieve -> cont 104#;-	TokenUse -> cont 105#;-	TokenDecide -> cont 106#;-	TokenAbandon -> cont 107#;-	TokenQED -> cont 108#;-	TokenLaTeX -> cont 109#;-	TokenNoCG -> cont 110#;-	TokenEval -> cont 111#;-	TokenSpec -> cont 112#;-	TokenFreeze -> cont 113#;-	TokenThaw -> cont 114#;-	TokenTransform -> cont 115#;-	TokenCInclude -> cont 116#;-	TokenCLib -> cont 117#;-	_ -> happyError' tk-	})--happyError_ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (thenP)-happyReturn :: () => a -> P a-happyReturn = (returnP)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => (Token) -> P a-happyError' tk = (\token -> happyError) tk--mkparse = happySomeParser where-  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))--mkparseTerm = happySomeParser where-  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut33 x))--mkparseTactic = happySomeParser where-  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut73 x))--happySeq = happyDontSeq---data ConParse = Full Id RawTerm-              | Simple Id [RawTerm]--parse :: String -> FilePath -> Result [Decl]-parse s fn = do ds <- mkparse s fn 1 []-                collectDecls ds--processImports :: [Opt] -> [FilePath] -> Result [Decl] -> -                  IO ([Decl], [FilePath])-processImports opts imped (Success ds) = pi imped [] ds-  where pi imps decls ((PInclude fp):xs)-           | fp `elem` imps = pi imps decls xs-           | otherwise = do-                 f <- readLibFile defaultLibPath fp-                 when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)-                 case parse f fp of-                   Success t -> pi (fp:imps) decls (t++xs)-                   Failure e f l ->-                     fail $ f ++ ":" ++ show l ++ ":" ++ e-        pi imps decls ((Using t ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Using t ds']) xs-        pi imps decls ((Params t ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Params t ds']) xs-        pi imps decls ((DoUsing b r ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[DoUsing b r ds']) xs-        pi imps decls ((Idiom b r ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Idiom b r ds']) xs-        pi imps decls ((Namespace n ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Namespace n ds']) xs-        pi imps decls (x:xs) = pi imps (decls++[x]) xs-        pi imps decls [] = return (decls, imps)--processImports _ imped (Failure e f l) -    = fail $ show f ++ ":" ++ show l ++ ":" ++ show e---parseTerm :: String -> Result RawTerm-parseTerm s = mkparseTerm s "(input)" 0 []--parseTactic :: String -> Result ITactic-parseTactic s = mkparseTactic s "(tactic)" 0 []--mkCon :: RawTerm -> ConParse -> (Id,RawTerm)-mkCon _ (Full n t) = (n,t)-mkCon ty (Simple n args) = (n, mkConTy args ty)-   where mkConTy [] ty = ty-         mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex Eager a) (mkConTy as ty)--mkDef file line (n, tms) = mkImpApp (RVar file line n) tms-   where mkImpApp f [] = f-         mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts-         mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts--doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm-doBind b [] t = t-doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)--doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm-doLetBind [] t = t-doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)--mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm-mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)-   where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)-         getTyArgs x = []--mkTyParams :: String -> Int -> [Id] -> RawTerm-mkTyParams f l [] = RConst f l TYPE-mkTyParams f l (x:xs) = RBind x (Pi Ex Eager (RConst f l TYPE)) (mkTyParams f l xs)+newtype HappyAbsSyn t72 = HappyAbsSyn HappyAny+#if __GLASGOW_HASKELL__ >= 607+type HappyAny = Happy_GHC_Exts.Any+#else+type HappyAny = forall a . a+#endif+happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t72)+happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn6 #-}+happyOut6 :: (HappyAbsSyn t72) -> ([ParseDecl])+happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut6 #-}+happyIn7 :: (ParseDecl) -> (HappyAbsSyn t72)+happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn7 #-}+happyOut7 :: (HappyAbsSyn t72) -> (ParseDecl)+happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut7 #-}+happyIn8 :: (Decl) -> (HappyAbsSyn t72)+happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn8 #-}+happyOut8 :: (HappyAbsSyn t72) -> (Decl)+happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut8 #-}+happyIn9 :: (ParseDecl) -> (HappyAbsSyn t72)+happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn9 #-}+happyOut9 :: (HappyAbsSyn t72) -> (ParseDecl)+happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut9 #-}+happyIn10 :: (CGFlag) -> (HappyAbsSyn t72)+happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn10 #-}+happyOut10 :: (HappyAbsSyn t72) -> (CGFlag)+happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut10 #-}+happyIn11 :: (Bool) -> (HappyAbsSyn t72)+happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn11 #-}+happyOut11 :: (HappyAbsSyn t72) -> (Bool)+happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut11 #-}+happyIn12 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn12 #-}+happyOut12 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut12 #-}+happyIn13 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn13 #-}+happyOut13 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut13 #-}+happyIn14 :: ([ParseDecl]) -> (HappyAbsSyn t72)+happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn14 #-}+happyOut14 :: (HappyAbsSyn t72) -> ([ParseDecl])+happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut14 #-}+happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn15 #-}+happyOut15 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut15 #-}+happyIn16 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn16 #-}+happyOut16 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut16 #-}+happyIn17 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn17 #-}+happyOut17 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut17 #-}+happyIn18 :: ([Decl]) -> (HappyAbsSyn t72)+happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn18 #-}+happyOut18 :: (HappyAbsSyn t72) -> ([Decl])+happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut18 #-}+happyIn19 :: ([String]) -> (HappyAbsSyn t72)+happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn19 #-}+happyOut19 :: (HappyAbsSyn t72) -> ([String])+happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut19 #-}+happyIn20 :: (String) -> (HappyAbsSyn t72)+happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn20 #-}+happyOut20 :: (HappyAbsSyn t72) -> (String)+happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut20 #-}+happyIn21 :: (Fixity) -> (HappyAbsSyn t72)+happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn21 #-}+happyOut21 :: (HappyAbsSyn t72) -> (Fixity)+happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut21 #-}+happyIn22 :: (Decl) -> (HappyAbsSyn t72)+happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn22 #-}+happyOut22 :: (HappyAbsSyn t72) -> (Decl)+happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut22 #-}+happyIn23 :: ([(Id,String)]) -> (HappyAbsSyn t72)+happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn23 #-}+happyOut23 :: (HappyAbsSyn t72) -> ([(Id,String)])+happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut23 #-}+happyIn24 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t72)+happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn24 #-}+happyOut24 :: (HappyAbsSyn t72) -> ((Id, [(RawTerm, Maybe Id)]))+happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut24 #-}+happyIn25 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t72)+happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn25 #-}+happyOut25 :: (HappyAbsSyn t72) -> ([(RawTerm,Maybe Id)])+happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut25 #-}+happyIn26 :: (Datatype) -> (HappyAbsSyn t72)+happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn26 #-}+happyOut26 :: (HappyAbsSyn t72) -> (Datatype)+happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut26 #-}+happyIn27 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t72)+happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn27 #-}+happyOut27 :: (HappyAbsSyn t72) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))+happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut27 #-}+happyIn28 :: ([TyOpt]) -> (HappyAbsSyn t72)+happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn28 #-}+happyOut28 :: (HappyAbsSyn t72) -> ([TyOpt])+happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut28 #-}+happyIn29 :: ([TyOpt]) -> (HappyAbsSyn t72)+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn29 #-}+happyOut29 :: (HappyAbsSyn t72) -> ([TyOpt])+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut29 #-}+happyIn30 :: (TyOpt) -> (HappyAbsSyn t72)+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn30 #-}+happyOut30 :: (HappyAbsSyn t72) -> (TyOpt)+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut30 #-}+happyIn31 :: (Id) -> (HappyAbsSyn t72)+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn31 #-}+happyOut31 :: (HappyAbsSyn t72) -> (Id)+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut31 #-}+happyIn32 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn32 #-}+happyOut32 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut32 #-}+happyIn33 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn33 #-}+happyOut33 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut33 #-}+happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn34 #-}+happyOut34 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut34 #-}+happyIn35 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn35 #-}+happyOut35 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut35 #-}+happyIn36 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn36 #-}+happyOut36 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut36 #-}+happyIn37 :: ([Id]) -> (HappyAbsSyn t72)+happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn37 #-}+happyOut37 :: (HappyAbsSyn t72) -> ([Id])+happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut37 #-}+happyIn38 :: ([(Id, Int)]) -> (HappyAbsSyn t72)+happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn38 #-}+happyOut38 :: (HappyAbsSyn t72) -> ([(Id, Int)])+happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut38 #-}+happyIn39 :: ([Id]) -> (HappyAbsSyn t72)+happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn39 #-}+happyOut39 :: (HappyAbsSyn t72) -> ([Id])+happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut39 #-}+happyIn40 :: ([Id]) -> (HappyAbsSyn t72)+happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn40 #-}+happyOut40 :: (HappyAbsSyn t72) -> ([Id])+happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut40 #-}+happyIn41 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t72)+happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn41 #-}+happyOut41 :: (HappyAbsSyn t72) -> ([(Id, RawTerm, RawTerm)])+happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut41 #-}+happyIn42 :: ((Id, RawTerm)) -> (HappyAbsSyn t72)+happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn42 #-}+happyOut42 :: (HappyAbsSyn t72) -> ((Id, RawTerm))+happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut42 #-}+happyIn43 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn43 #-}+happyOut43 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut43 #-}+happyIn44 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn44 #-}+happyOut44 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut44 #-}+happyIn45 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn45 #-}+happyOut45 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut45 #-}+happyIn46 :: (String) -> (HappyAbsSyn t72)+happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn46 #-}+happyOut46 :: (HappyAbsSyn t72) -> (String)+happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut46 #-}+happyIn47 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn47 #-}+happyOut47 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut47 #-}+happyIn48 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn48 #-}+happyOut48 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut48 #-}+happyIn49 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn49 #-}+happyOut49 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut49 #-}+happyIn50 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn50 #-}+happyOut50 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut50 #-}+happyIn51 :: (ArgOpt) -> (HappyAbsSyn t72)+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn51 #-}+happyOut51 :: (HappyAbsSyn t72) -> (ArgOpt)+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut51 #-}+happyIn52 :: ([ArgOpt]) -> (HappyAbsSyn t72)+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn52 #-}+happyOut52 :: (HappyAbsSyn t72) -> ([ArgOpt])+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut52 #-}+happyIn53 :: ([ArgOpt]) -> (HappyAbsSyn t72)+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn53 #-}+happyOut53 :: (HappyAbsSyn t72) -> ([ArgOpt])+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut53 #-}+happyIn54 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn54 #-}+happyOut54 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut54 #-}+happyIn55 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn55 #-}+happyOut55 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut55 #-}+happyIn56 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn56 #-}+happyOut56 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut56 #-}+happyIn57 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn57 #-}+happyOut57 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut57 #-}+happyIn58 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn58 #-}+happyOut58 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut58 #-}+happyIn59 :: ([Do]) -> (HappyAbsSyn t72)+happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn59 #-}+happyOut59 :: (HappyAbsSyn t72) -> ([Do])+happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut59 #-}+happyIn60 :: ([Do]) -> (HappyAbsSyn t72)+happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn60 #-}+happyOut60 :: (HappyAbsSyn t72) -> ([Do])+happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut60 #-}+happyIn61 :: (Do) -> (HappyAbsSyn t72)+happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn61 #-}+happyOut61 :: (HappyAbsSyn t72) -> (Do)+happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut61 #-}+happyIn62 :: (Constant) -> (HappyAbsSyn t72)+happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn62 #-}+happyOut62 :: (HappyAbsSyn t72) -> (Constant)+happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut62 #-}+happyIn63 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn63 #-}+happyOut63 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut63 #-}+happyIn64 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t72)+happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn64 #-}+happyOut64 :: (HappyAbsSyn t72) -> ((RawTerm, [(Id, RawTerm)]))+happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut64 #-}+happyIn65 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn65 #-}+happyOut65 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut65 #-}+happyIn66 :: ((Id,Id)) -> (HappyAbsSyn t72)+happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn66 #-}+happyOut66 :: (HappyAbsSyn t72) -> ((Id,Id))+happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut66 #-}+happyIn67 :: ((Id,Id)) -> (HappyAbsSyn t72)+happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn67 #-}+happyOut67 :: (HappyAbsSyn t72) -> ((Id,Id))+happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut67 #-}+happyIn68 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn68 #-}+happyOut68 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut68 #-}+happyIn69 :: (Id) -> (HappyAbsSyn t72)+happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn69 #-}+happyOut69 :: (HappyAbsSyn t72) -> (Id)+happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut69 #-}+happyIn70 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn70 #-}+happyOut70 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut70 #-}+happyIn71 :: ([Id]) -> (HappyAbsSyn t72)+happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn71 #-}+happyOut71 :: (HappyAbsSyn t72) -> ([Id])+happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut71 #-}+happyIn72 :: t72 -> (HappyAbsSyn t72)+happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn72 #-}+happyOut72 :: (HappyAbsSyn t72) -> t72+happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut72 #-}+happyIn73 :: ([ConParse]) -> (HappyAbsSyn t72)+happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn73 #-}+happyOut73 :: (HappyAbsSyn t72) -> ([ConParse])+happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut73 #-}+happyIn74 :: (ConParse) -> (HappyAbsSyn t72)+happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn74 #-}+happyOut74 :: (HappyAbsSyn t72) -> (ConParse)+happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut74 #-}+happyIn75 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn75 #-}+happyOut75 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut75 #-}+happyIn76 :: (ITactic) -> (HappyAbsSyn t72)+happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn76 #-}+happyOut76 :: (HappyAbsSyn t72) -> (ITactic)+happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut76 #-}+happyIn77 :: ([ITactic]) -> (HappyAbsSyn t72)+happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn77 #-}+happyOut77 :: (HappyAbsSyn t72) -> ([ITactic])+happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut77 #-}+happyIn78 :: ([ITactic]) -> (HappyAbsSyn t72)+happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn78 #-}+happyOut78 :: (HappyAbsSyn t72) -> ([ITactic])+happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut78 #-}+happyIn79 :: (LineNumber) -> (HappyAbsSyn t72)+happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn79 #-}+happyOut79 :: (HappyAbsSyn t72) -> (LineNumber)+happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut79 #-}+happyIn80 :: (String) -> (HappyAbsSyn t72)+happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn80 #-}+happyOut80 :: (HappyAbsSyn t72) -> (String)+happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut80 #-}+happyIn81 :: (Fixities) -> (HappyAbsSyn t72)+happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn81 #-}+happyOut81 :: (HappyAbsSyn t72) -> (Fixities)+happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut81 #-}+happyInTok :: (Token) -> (HappyAbsSyn t72)+happyInTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyInTok #-}+happyOutTok :: (HappyAbsSyn t72) -> (Token)+happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOutTok #-}+++happyActOffsets :: HappyAddr+happyActOffsets = HappyA# "\x1b\x00\x6d\x05\x76\x08\x00\x00\x20\x04\x6d\x05\x1f\x01\x1f\x01\x6d\x05\x00\x00\x69\x03\x13\x03\x00\x00\x1f\x01\x00\x00\x6d\x05\x6d\x05\x00\x00\x6d\x05\x6d\x05\x6d\x05\x6d\x05\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x01\x61\x09\x67\x02\x6d\x05\x6d\x05\x38\x08\x6d\x05\x00\x00\x1f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x05\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x6d\x05\xae\x00\x1a\x04\x01\x00\x00\x00\x00\x00\x01\x00\x89\x04\x00\x00\x7b\x04\x00\x00\x2c\x02\x73\x04\x72\x04\x70\x04\x6e\x04\x6c\x04\x9b\x09\xd1\x01\x68\x04\x00\x00\x00\x00\x00\x00\x67\x04\x66\x04\x58\x04\xae\x00\xae\x00\x71\x04\x2e\x04\x55\x04\x65\x04\x6d\x05\x5b\x04\x56\x04\x00\x00\x00\x00\x29\x02\x00\x00\xae\x00\x50\x04\x53\x04\xae\x00\x00\x00\xae\x00\xae\x00\xae\x00\xae\x00\x32\x02\x4c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x00\x00\xfe\xff\x00\x00\x00\x00\xbd\x02\x00\x00\x00\x00\x00\x00\xd1\x00\xd1\x00\xd1\x00\xd1\x00\xd1\x00\x00\x00\xfd\x07\x51\x04\x02\x00\x27\x09\x43\x04\x2a\x00\x9b\x09\xd1\x01\x00\x00\x00\x00\x4a\x04\xff\x03\xe6\x01\x00\x00\x49\x04\x17\x05\x00\x00\x00\x00\x4f\x04\x00\x00\x4f\x04\x00\x00\xe1\x02\x78\x0a\x76\x01\x86\x03\xc1\x04\x3f\x04\xc1\x04\xc1\x04\x3e\x04\x33\x04\xc1\x04\xc1\x04\xcf\x01\x6c\x00\x00\x00\xc1\x04\xed\x08\xae\x00\x38\x04\x16\x04\x00\x00\x38\x08\x29\x04\x00\x00\xc1\x04\x1b\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\x00\x00\xa7\x01\x97\x01\x89\x01\x7a\x01\x67\x01\x58\x01\x00\x00\x4a\x01\xc1\x04\x36\x01\xc1\x04\x28\x01\x00\x00\x13\x04\x00\x00\xf8\x00\xae\x00\xc3\x00\x03\x00\x00\x00\x35\x04\x35\x04\x35\x04\x35\x04\x35\x04\x00\x00\xc1\x04\x35\x04\x38\x08\x00\x00\x00\x00\x00\x00\xc1\x04\x0b\x04\x61\x09\x1c\x04\x1e\x04\x08\x04\x17\x01\x19\x04\xc2\x00\x17\x04\x92\x08\x61\x09\x00\x00\x61\x09\x0f\x04\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\xc1\x04\x00\x00\xc1\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\x14\x04\x00\x00\x00\x00\xc1\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x36\x05\x0c\x04\x6b\x04\xae\x00\xfb\x03\x00\x00\x15\x04\x15\x04\xf7\x03\x07\x04\xfa\x03\x00\x04\x15\x04\x15\x04\x15\x04\xae\x03\x76\x08\xf9\x03\xf3\xff\x0d\x00\xea\x03\xfd\x07\x15\x04\x00\x00\x00\x00\xf5\x03\xf4\x03\xf1\x03\xee\x03\xec\x03\x00\x00\x00\x00\x32\x03\xed\x03\x00\x00\x00\x00\x15\x04\x15\x04\x15\x04\x00\x00\xe6\x03\xd7\x03\x00\x00\x00\x00\x1d\x03\xf0\x03\xde\x03\xd3\x03\xdd\x03\xae\x00\xcc\x03\x01\x00\xae\x00\xd0\x03\xc9\x03\x00\x00\x15\x04\xe0\x04\xd6\x03\xdc\x03\x00\x00\xbc\x03\x00\x00\x15\x04\x00\x00\x00\x00\xae\x00\x00\x00\x27\x09\x00\x00\xae\x00\xae\x00\xbb\x03\x27\x09\x00\x00\x00\x00\x32\x02\x00\x00\x8a\x04\x34\x04\x07\x05\x00\x00\x00\x00\x00\x00\x00\x00\x15\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x09\x00\x00\xae\x00\x00\x00\x00\x00\x20\x02\x20\x02\xd5\x03\x00\x00\x00\x00\x00\x00\xc8\x03\xc3\x03\x61\x09\xc7\x03\xbd\x03\x00\x00\x88\x03\xc9\x01\x59\x03\x00\x00\xd1\x01\x00\x00\x15\x04\xa6\x00\x5d\x00\x15\x04\xc2\x03\x00\x00\x00\x00\x00\x00\xa3\x03\x98\x08\x00\x00\x73\x08\xe3\x03\x00\x00\x61\x09\x00\x00\x30\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x03\x00\x00\xb9\x03\x00\x00\x38\x08\x00\x00\x9b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x61\x09\x61\x09\xa8\x03\x27\x09\xae\x00\x93\x03\x27\x09\x0d\x00\xae\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x08\x73\x08\x73\x08\x73\x08\x73\x08\x73\x08\x00\x00\x00\x00\x00\x00\x00\x00\x61\x09\x00\x00\xb9\x00\x8d\x03\x10\x02\xd8\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x07\x00\x00\x87\x07\x00\x00\x4c\x07\x00\x00\x11\x07\xa9\x03\xa2\x03\xa1\x03\xa0\x03\x9f\x03\x0a\x00\x00\x00\x00\x00\x15\x04\xd6\x06\x8e\x03\x36\x05\x15\x04\x66\x00\x00\x00\xd5\x01\x9c\x03\x92\x03\x00\x00\x76\x08\x0d\x00\x6b\x03\xae\x00\x00\x00\x8f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x06\x00\x00\xd5\x01\x00\x00\x84\x03\x00\x00\x00\x00\x00\x00\xf8\xff\x00\x00\x60\x06\x8b\x03\x89\x03\x00\x00\x00\x00\x6e\x03\x81\x03\x03\x03\xae\x00\x6a\x03\x00\x00\x00\x00\xae\x00\x7e\x03\x00\x00\x00\x00\xae\x00\x00\x00\xae\x00\x00\x00\x38\x08\x00\x00\x00\x00\x27\x09\x00\x00\x45\x03\x00\x00\x00\x00\x00\x00\xae\x00\xd5\x01\x79\x03\x00\x00\x00\x00\x00\x00\x7a\x03\x00\x00\x7d\x01\x72\x03\x27\x09\x00\x00\xae\x00\x00\x00\x6f\x03\xae\x00\x7b\x03\x00\x00\x15\x04\x00\x00\x36\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\x57\x03\x65\x03\x00\x00\x00\x00\x61\x09\x47\x03\x47\x03\x00\x00\x10\x02\x63\x03\x00\x00\x00\x00\x00\x00\x66\x00\x25\x06\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x03\x00\x00\x00\x00\x40\x03\xae\x00\x00\x00\x00\x00\x00\x00\x50\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x03\x00\x00\xea\x05\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x05\x51\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyGotoOffsets :: HappyAddr+happyGotoOffsets = HappyA# "\x65\x0a\x97\x0d\x17\x03\x00\x00\x00\x00\x83\x0d\x97\x00\x41\x03\x7c\x0d\x00\x00\x68\x0d\x61\x0d\x00\x00\x38\x03\x00\x00\x4d\x0d\x46\x0d\x00\x00\x32\x0d\x2b\x0d\x17\x0d\x10\x0d\x00\x00\x00\x00\x00\x00\x06\x03\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x00\x52\x09\x83\x0a\xfc\x0c\xf5\x0c\xc6\x0d\xe1\x0c\x00\x00\x29\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x0c\x00\x00\xf6\x02\xf5\x02\x00\x00\xf4\x02\xc6\x0c\x8c\x01\x00\x00\x4b\x0a\x00\x00\x00\x00\x31\x0a\x00\x00\x00\x00\x36\x03\x00\x00\x0a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x28\x03\x24\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x03\x1e\x03\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x77\x01\xe2\x02\xaa\x01\x00\x00\x00\x00\x10\x01\x00\x00\x04\x00\x16\x03\xfa\xff\x0b\x03\x43\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x03\xd3\x02\x72\x01\x00\x00\xcb\x02\x97\x0a\x00\x00\xc6\x02\xc0\x02\x17\x0a\xfd\x09\xe3\x09\xc9\x09\x79\x09\x00\x00\x1e\x06\x00\x00\x00\x00\xbb\x0d\x00\x00\xfd\x02\xfd\xff\x18\x02\x00\x00\x00\x00\xd6\x02\x00\x00\x6e\x01\xb8\x02\xd4\x02\xd3\x0a\xb3\x02\xb2\x02\x6c\x01\xaf\x02\x6b\x01\x00\x00\x69\x01\x69\x01\x15\x01\x78\x00\xab\x0c\x00\x00\xa4\x0c\x90\x0c\x00\x00\x00\x00\xba\x04\x64\x04\x5d\x01\x00\x00\x00\x00\x89\x0c\x7a\x02\x0b\x02\xcf\x02\x00\x00\xae\x02\xab\x0d\x00\x00\xa4\x02\x75\x0c\xa2\x02\x6e\x0c\x5a\x0c\x53\x0c\x3f\x0c\x38\x0c\x9e\x02\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x00\x00\x5a\x01\x24\x0c\x5a\x01\x1d\x0c\x5a\x01\x00\x00\x00\x00\x00\x00\x5a\x01\x85\x00\x5a\x01\x5a\x01\x00\x00\x55\x01\x47\x01\x3e\x01\x3d\x01\x2c\x01\x98\x02\x09\x0c\x2a\x01\x9e\x0d\x94\x02\x8f\x02\x00\x00\x02\x0c\x00\x00\x2b\x08\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x25\x01\xef\x07\x00\x00\xb4\x07\x00\x00\x8e\x02\x12\x01\x8d\x02\x08\x01\x8b\x02\xe6\x00\x88\x02\xe4\x00\x86\x02\x0e\x04\x00\x00\xb8\x03\xee\x0b\xe7\x0b\xb6\x02\xe0\x01\x00\x00\x00\x00\x84\x02\xd3\x0b\x81\x02\x80\x02\x7f\x02\x00\x00\x00\x00\x28\x00\xe3\x00\x00\x00\xbf\x0a\x3b\x01\x00\x00\x00\x00\xcc\x0b\xb8\x0b\x00\x00\x00\x00\x00\x00\xc1\x02\xb1\x0b\x9d\x0b\x96\x0b\x00\x00\xbc\x01\x90\x02\x01\x02\x00\x00\x00\x00\xe3\x05\x82\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x02\x6f\x02\xde\x00\x00\x00\x6b\x02\x68\x02\x7b\x0b\x67\x0b\x60\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x05\x09\x97\x02\x00\x00\x00\x00\x66\x02\x4c\x0b\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x0b\x00\x00\x00\x00\x8c\x02\x00\x00\x8e\x09\x64\x02\xf2\xff\x8c\x00\x00\x00\x29\x08\x63\x02\x62\x02\xaf\x01\x00\x00\xde\x00\xde\x00\xde\x00\x00\x00\x00\x00\x5f\x02\x00\x00\xe7\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x00\x5e\x02\x80\x00\x5d\x02\x00\x00\xce\x01\x5b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x07\x00\x00\x00\x00\x00\x00\xde\x00\xa3\x00\xde\x00\x00\x00\xcb\x00\x00\x00\x31\x0b\xde\x00\xde\x00\x2a\x0b\x3e\x02\x00\x00\x00\x00\x5b\x02\x00\x00\xf6\x07\x00\x00\xf6\x07\xde\x00\x5a\x02\x3f\x07\x59\x02\xde\x00\x00\x00\x58\x02\x4d\x02\x45\x02\x42\x02\x3d\x02\x3c\x02\x3a\x02\x00\x00\x35\x02\x00\x00\x21\x02\xbb\x07\x2a\x02\x00\x00\x27\x02\x00\x00\xff\x01\x00\x00\x04\x07\x1e\x02\x92\x01\x78\x07\x00\x02\x00\x00\x3d\x07\x00\x00\x16\x00\xde\x00\x1d\x02\x0c\x02\x00\x00\x0a\x02\xde\x00\x00\x00\x04\x02\xfc\x01\xf5\x01\xe5\x01\xda\x01\x00\x00\xcf\x06\xcf\x06\xcf\x06\xcf\x06\xcf\x06\xcf\x06\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x06\x00\x00\x00\x00\x00\x00\xcb\x01\x00\x00\x00\x00\xd0\x01\xb6\x01\xb3\x01\xa8\x01\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x01\x16\x0b\xcf\x06\x00\x00\xdd\x00\x0f\x0b\xcf\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\xef\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\xa4\x01\x00\x00\xa1\x01\x66\x05\x9e\x01\x0e\x02\x00\x00\x00\x00\x00\x00\x9b\x01\x86\x01\x38\x01\x24\x01\x99\x05\x00\x00\x00\x00\x00\x00\x68\x01\x00\x00\x00\x00\xcf\x00\x85\x01\x00\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x00\x00\x00\x00\xf9\xff\x00\x00\x0b\x00\x00\x00\x18\x09\x00\x00\x00\x00\x02\x07\x64\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\xc5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x06\x00\x00\x34\x00\xea\x00\x00\x00\xf7\xff\xca\x00\x2e\x01\xfb\x0a\x00\x00\xbf\x00\x0e\x01\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x06\x00\x00\x00\x00\x00\x00\x90\x01\x00\x00\xbc\x00\x00\x00\x9f\x00\xad\x00\x59\x06\x73\x00\x00\x00\x37\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x21\x00\x00\x00\x3c\x00\x59\x06\xab\x0a\xe5\xff\x59\x06\x00\x00\x00\x00\x00\x00\x00\x00\x59\x06\x00\x00\x00\x00\xd0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyDefActions :: HappyAddr+happyDefActions = HappyA# "\x2c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\xff\x00\x00\x00\x00\x15\xff\x00\x00\x00\x00\x10\xff\x00\x00\x0e\xff\x00\x00\x00\x00\x0b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x06\xff\x05\xff\x04\xff\xff\xfe\xff\xfe\x9e\xff\x83\xff\x4b\xff\x4c\xff\xa5\xff\x4a\xff\x4f\xff\xff\xfe\xae\xff\x34\xff\x36\xff\x32\xff\x35\xff\x33\xff\x56\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\xff\x00\x00\x3c\xff\x3b\xff\x3a\xff\x3d\xff\x38\xff\x39\xff\x37\xff\x3e\xff\x00\x00\x53\xff\xff\xfe\xff\xfe\x00\x00\xff\xfe\x00\x00\x00\x00\x00\x00\x2c\xff\xef\xff\xf8\xff\x2c\xff\x00\x00\xf6\xff\xdb\xff\xf7\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xc1\xff\xc3\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\xed\xff\xff\xfe\xff\xfe\x00\x00\x00\x00\x00\x00\x8f\xff\x27\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\xc6\xff\xc5\xff\xc4\xff\x00\x00\xff\xfe\xff\xfe\xd9\xff\xff\xfe\x00\x00\xa8\xff\xff\xfe\xff\xfe\x2c\xff\x2c\xff\x2c\xff\x2c\xff\x2c\xff\xbd\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x73\xff\x00\x00\xff\xfe\x00\xff\x73\xff\x00\x00\x00\xff\x00\xff\xff\xfe\xff\xfe\xff\xfe\x57\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x00\x00\x00\x00\xc7\xff\xc6\xff\x75\xff\x74\xff\xff\xfe\xff\xfe\xff\xfe\x00\x00\x64\xff\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x00\xff\x00\x00\x00\x00\x00\xff\x00\x00\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x0f\xff\xff\xfe\x00\x00\xff\xfe\x00\x00\xff\xfe\x18\xff\x97\xff\x1a\xff\xff\xfe\x00\x00\xff\xfe\xff\xfe\x5a\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x00\xff\x00\x00\xff\xfe\x00\x00\xff\xfe\xff\xfe\x54\xff\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x99\xff\xff\xfe\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x00\xa4\xff\x00\x00\x00\x00\x00\xff\xff\xfe\x00\xff\xff\xfe\x00\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x58\xff\xff\xfe\x75\xff\x74\xff\xff\xfe\xff\xfe\x00\x00\x4e\xff\xff\xfe\x00\x00\x00\xff\x00\xff\x00\xff\x52\xff\x51\xff\xff\xfe\xff\xfe\x00\x00\x42\xff\x00\x00\x00\x00\x59\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x71\xff\xd2\xff\x6e\xff\x91\xff\xbc\xff\x00\x00\xe9\xff\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\xff\xff\xfe\x00\x00\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\xb2\xff\xb0\xff\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x2c\xff\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\xff\xfe\x00\x00\x00\x00\xc0\xff\x00\x00\xf9\xff\x00\x00\x8e\xff\x28\xff\x00\x00\x2b\xff\x00\x00\xff\xfe\x24\xff\x20\xff\x00\x00\x00\x00\xff\xfe\xff\xfe\x00\x00\xb3\xff\xff\xfe\xff\xfe\xff\xfe\xaa\xff\xa9\xff\xff\xfe\xd8\xff\x00\x00\xa7\xff\xa6\xff\xf0\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\xff\xfe\xff\xfe\x00\x00\xff\xfe\xd4\xff\xd2\xff\xd2\xff\x00\x00\xcc\xff\xd0\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\xff\xfe\xff\xfe\xff\xfe\xdc\xff\x00\x00\xca\xff\x00\x00\xff\xfe\xff\xfe\x00\x00\x73\xff\x43\xff\x45\xff\x00\xff\x00\x00\xa1\xff\x55\xff\x89\xff\xff\xfe\x00\xff\x00\x00\x00\xff\xff\xfe\x46\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\xff\xfe\x6d\xff\xff\xfe\x67\xff\xff\xfe\x6a\xff\x00\x00\x00\x00\x60\xff\x00\x00\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\xff\xfe\x00\xff\x00\xff\xa3\xff\x00\xff\xff\xfe\x8b\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x96\xff\x84\xff\x87\xff\x85\xff\x86\xff\x88\xff\x81\xff\xa2\xff\x82\xff\x9b\xff\x98\xff\x00\x00\x9a\xff\x72\xff\x00\x00\x00\x00\x5c\xff\x5b\xff\xff\xfe\x00\xff\x00\xff\x00\xff\xac\xff\x00\x00\x79\xff\x00\x00\x78\xff\x00\x00\x4d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\xff\xff\xfe\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x00\xff\xfe\xc8\xff\x00\x00\x00\x00\x00\x00\x03\xff\x02\xff\x70\xff\x00\x00\x00\x00\xcb\xff\x00\x00\xd1\xff\x00\xff\x90\xff\x00\xff\xbc\xff\x00\xff\x00\x00\xe5\xff\x00\x00\xb1\xff\x00\xff\x00\xff\x2c\xff\xff\xfe\x31\xff\x00\x00\x1f\xff\x23\xff\x00\xff\x26\xff\x00\x00\xff\xfe\x00\x00\xbf\xff\xf5\xff\xeb\xff\x00\x00\x00\x00\xee\xff\x29\xff\x00\x00\xb8\xff\x20\xff\xb7\xff\x31\xff\x1c\xff\x1d\xff\x00\x00\x00\xff\x00\x00\xb6\xff\xb5\xff\x2e\xff\x00\x00\xd5\xff\x00\x00\xd7\xff\xb9\xff\xba\xff\x00\x00\xd3\xff\x94\xff\x00\x00\x00\x00\x01\xff\x00\x00\xff\xfe\x00\x00\x00\x00\xff\xfe\x00\xff\x00\x00\x3f\xff\xff\xfe\x00\xff\xff\xfe\x7b\xff\x77\xff\x7c\xff\x7f\xff\x7d\xff\x7e\xff\x80\xff\x76\xff\x7a\xff\xab\xff\x66\xff\x65\xff\x00\xff\x5e\xff\x00\x00\x63\xff\x62\xff\x00\x00\x6b\xff\x6c\xff\x61\xff\x00\x00\x00\x00\x00\xff\x49\xff\x00\xff\xff\xfe\x00\x00\x00\xff\x8c\xff\xff\xfe\x00\xff\x00\x00\x6f\xff\xce\xff\x95\xff\x00\x00\xea\xff\xe3\xff\xd6\xff\x00\x00\x2f\xff\x2d\xff\x1b\xff\x30\xff\x1e\xff\x25\xff\x2a\xff\xbe\xff\xe4\xff\x93\xff\x00\x00\xff\xfe\xe6\xff\x00\xff\x9d\xff\x00\x00\x00\xff\x00\x00\x5d\xff\x69\xff\x5f\xff\x41\xff\x00\x00\x00\x00\xe8\xff\x00\xff\x92\xff\xe7\xff\x44\xff\x40\xff"#++happyCheck :: HappyAddr+happyCheck = HappyA# "\xff\xff\x03\x00\x01\x00\x0b\x00\x07\x00\x02\x00\x03\x00\x14\x00\x02\x00\x03\x00\x0c\x00\x19\x00\x02\x00\x0c\x00\x0b\x00\x02\x00\x19\x00\x10\x00\x19\x00\x19\x00\x13\x00\x13\x00\x19\x00\x1a\x00\x19\x00\x49\x00\x23\x00\x11\x00\x01\x00\x19\x00\x20\x00\x21\x00\x1d\x00\x22\x00\x20\x00\x1d\x00\x19\x00\x22\x00\x23\x00\x0c\x00\x22\x00\x23\x00\x27\x00\x10\x00\x0a\x00\x27\x00\x49\x00\x19\x00\x33\x00\x2e\x00\x1c\x00\x41\x00\x2e\x00\x38\x00\x07\x00\x3f\x00\x2e\x00\x40\x00\x40\x00\x2e\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x40\x00\x52\x00\x53\x00\x49\x00\x19\x00\x1a\x00\x20\x00\x21\x00\x4b\x00\x19\x00\x43\x00\x44\x00\x15\x00\x29\x00\x51\x00\x31\x00\x19\x00\x54\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x03\x00\x02\x00\x03\x00\x29\x00\x33\x00\x70\x00\x71\x00\x72\x00\x4b\x00\x38\x00\x02\x00\x03\x00\x19\x00\x4a\x00\x51\x00\x12\x00\x02\x00\x54\x00\x6f\x00\x20\x00\x4a\x00\x49\x00\x73\x00\x3a\x00\x75\x00\x76\x00\x77\x00\x78\x00\x1d\x00\x78\x00\x41\x00\x11\x00\x78\x00\x22\x00\x23\x00\x4a\x00\x4a\x00\x1d\x00\x27\x00\x49\x00\x02\x00\x03\x00\x22\x00\x23\x00\x6f\x00\x2e\x00\x26\x00\x27\x00\x73\x00\x0b\x00\x75\x00\x76\x00\x77\x00\x78\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x19\x00\x2e\x00\x17\x00\x24\x00\x19\x00\x19\x00\x1f\x00\x28\x00\x1d\x00\x20\x00\x21\x00\x1f\x00\x19\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x09\x00\x0a\x00\x0b\x00\x01\x00\x19\x00\x0b\x00\x2e\x00\x2f\x00\x49\x00\x58\x00\x1f\x00\x11\x00\x12\x00\x13\x00\x14\x00\x02\x00\x49\x00\x17\x00\x10\x00\x19\x00\x5a\x00\x4a\x00\x4a\x00\x1d\x00\x02\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x11\x00\x49\x00\x26\x00\x27\x00\x0b\x00\x43\x00\x44\x00\x24\x00\x01\x00\x11\x00\x2e\x00\x2f\x00\x52\x00\x53\x00\x0d\x00\x0e\x00\x02\x00\x57\x00\x58\x00\x0c\x00\x5a\x00\x26\x00\x1d\x00\x10\x00\x20\x00\x24\x00\x13\x00\x22\x00\x23\x00\x2e\x00\x49\x00\x27\x00\x27\x00\x19\x00\x19\x00\x4a\x00\x24\x00\x1c\x00\x2e\x00\x2e\x00\x20\x00\x24\x00\x70\x00\x71\x00\x72\x00\x4a\x00\x52\x00\x53\x00\x02\x00\x03\x00\x78\x00\x57\x00\x58\x00\x27\x00\x5a\x00\x24\x00\x24\x00\x0b\x00\x19\x00\x49\x00\x2e\x00\x24\x00\x24\x00\x4a\x00\x24\x00\x20\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x4a\x00\x1d\x00\x70\x00\x71\x00\x72\x00\x4a\x00\x22\x00\x23\x00\x4b\x00\x13\x00\x78\x00\x27\x00\x01\x00\x0a\x00\x51\x00\x19\x00\x0d\x00\x54\x00\x2e\x00\x4a\x00\x4a\x00\x19\x00\x02\x00\x03\x00\x24\x00\x4a\x00\x4a\x00\x10\x00\x4a\x00\x27\x00\x22\x00\x0b\x00\x4a\x00\x46\x00\x24\x00\x48\x00\x02\x00\x03\x00\x30\x00\x78\x00\x32\x00\x33\x00\x29\x00\x35\x00\x6f\x00\x0b\x00\x38\x00\x49\x00\x73\x00\x1d\x00\x75\x00\x76\x00\x77\x00\x24\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x24\x00\x47\x00\x4a\x00\x1d\x00\x19\x00\x0b\x00\x2e\x00\x49\x00\x22\x00\x23\x00\x02\x00\x03\x00\x4a\x00\x27\x00\x23\x00\x4a\x00\x11\x00\x24\x00\x24\x00\x0b\x00\x2e\x00\x0a\x00\x0b\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x4a\x00\x4a\x00\x78\x00\x27\x00\x0b\x00\x3b\x00\x4a\x00\x1d\x00\x4a\x00\x49\x00\x2e\x00\x24\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x0a\x00\x24\x00\x05\x00\x0d\x00\x1d\x00\x0b\x00\x2e\x00\x4a\x00\x4a\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x24\x00\x24\x00\x4a\x00\x24\x00\x4a\x00\x0b\x00\x2e\x00\x24\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x19\x00\x4a\x00\x78\x00\x27\x00\x0b\x00\x26\x00\x4a\x00\x19\x00\x1d\x00\x4a\x00\x2e\x00\x02\x00\x03\x00\x22\x00\x23\x00\x49\x00\x78\x00\x23\x00\x27\x00\x49\x00\x0b\x00\x4a\x00\x1d\x00\x4a\x00\x4a\x00\x2e\x00\x4a\x00\x22\x00\x23\x00\x11\x00\x4a\x00\x2d\x00\x27\x00\x2f\x00\x2e\x00\x4a\x00\x78\x00\x19\x00\x1d\x00\x2e\x00\x17\x00\x18\x00\x03\x00\x22\x00\x23\x00\x02\x00\x03\x00\x08\x00\x27\x00\x49\x00\x78\x00\x02\x00\x03\x00\x02\x00\x0b\x00\x2e\x00\x01\x00\x12\x00\x0a\x00\x0b\x00\x0b\x00\x0c\x00\x0d\x00\x14\x00\x19\x00\x78\x00\x11\x00\x0c\x00\x13\x00\x14\x00\x49\x00\x10\x00\x1d\x00\x49\x00\x02\x00\x03\x00\x49\x00\x22\x00\x23\x00\x49\x00\x1d\x00\x20\x00\x27\x00\x49\x00\x78\x00\x22\x00\x23\x00\x26\x00\x27\x00\x2e\x00\x2d\x00\x19\x00\x2f\x00\x1b\x00\x49\x00\x2e\x00\x2f\x00\x49\x00\x31\x00\x78\x00\x46\x00\x1d\x00\x48\x00\x25\x00\x26\x00\x27\x00\x22\x00\x23\x00\x09\x00\x0a\x00\x0b\x00\x27\x00\x3f\x00\x78\x00\x30\x00\x03\x00\x32\x00\x33\x00\x2e\x00\x35\x00\x08\x00\x48\x00\x38\x00\x19\x00\x4a\x00\x52\x00\x53\x00\x1d\x00\x1e\x00\x78\x00\x12\x00\x52\x00\x53\x00\x49\x00\x19\x00\x0d\x00\x0e\x00\x19\x00\x1d\x00\x1e\x00\x4a\x00\x02\x00\x03\x00\x01\x00\x49\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\x70\x00\x71\x00\x72\x00\x10\x00\x57\x00\x49\x00\x70\x00\x71\x00\x72\x00\x16\x00\x03\x00\x18\x00\x49\x00\x1d\x00\x1b\x00\x08\x00\x4a\x00\x2c\x00\x22\x00\x23\x00\x49\x00\x30\x00\x31\x00\x27\x00\x25\x00\x12\x00\x49\x00\x28\x00\x49\x00\x38\x00\x2e\x00\x2f\x00\x19\x00\x17\x00\x18\x00\x4c\x00\x4d\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x29\x00\x01\x00\x02\x00\x49\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4a\x00\x52\x00\x53\x00\x4a\x00\x0e\x00\x0f\x00\x10\x00\x46\x00\x47\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\x49\x00\x18\x00\x54\x00\x55\x00\x1b\x00\x49\x00\x1d\x00\x49\x00\x49\x00\x5b\x00\x0e\x00\x22\x00\x23\x00\x49\x00\x25\x00\x26\x00\x49\x00\x28\x00\x70\x00\x71\x00\x72\x00\x19\x00\x1a\x00\x2e\x00\x49\x00\x1d\x00\x1e\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x49\x00\x49\x00\x49\x00\x19\x00\x2c\x00\x4a\x00\x4a\x00\x4a\x00\x30\x00\x31\x00\x4a\x00\x4a\x00\x4a\x00\x49\x00\x19\x00\x49\x00\x38\x00\x4c\x00\x49\x00\x4e\x00\x4f\x00\x50\x00\x49\x00\x49\x00\x2a\x00\x54\x00\x55\x00\x56\x00\x01\x00\x02\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x06\x00\x49\x00\x49\x00\x49\x00\x0e\x00\x0f\x00\x10\x00\x4a\x00\x19\x00\x4a\x00\x1b\x00\x4a\x00\x16\x00\x49\x00\x18\x00\x49\x00\x49\x00\x1b\x00\x4a\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x4a\x00\x22\x00\x23\x00\x49\x00\x25\x00\x02\x00\x03\x00\x28\x00\x30\x00\x49\x00\x32\x00\x33\x00\x34\x00\x35\x00\x4a\x00\x49\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x29\x00\x4a\x00\x19\x00\x49\x00\x49\x00\x29\x00\x1d\x00\x29\x00\x4a\x00\x49\x00\x05\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x4c\x00\x4a\x00\x4e\x00\x4f\x00\x50\x00\x0b\x00\x2e\x00\x4a\x00\x54\x00\x55\x00\x56\x00\x01\x00\x4a\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4a\x00\x01\x00\x05\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x19\x00\x22\x00\x23\x00\x0a\x00\x0b\x00\x16\x00\x27\x00\x18\x00\x4a\x00\x10\x00\x1b\x00\x19\x00\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\x0e\x00\x19\x00\x25\x00\x19\x00\x16\x00\x28\x00\x06\x00\x20\x00\x4a\x00\x4a\x00\x4a\x00\x11\x00\x19\x00\x11\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x4a\x00\x1d\x00\x4a\x00\x19\x00\x22\x00\x23\x00\x22\x00\x23\x00\x26\x00\x27\x00\x26\x00\x27\x00\x19\x00\x02\x00\x03\x00\x46\x00\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x13\x00\x15\x00\x26\x00\x54\x00\x55\x00\x56\x00\x01\x00\x12\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x15\x00\x11\x00\x2e\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x15\x00\x22\x00\x23\x00\x26\x00\x03\x00\x16\x00\x27\x00\x18\x00\x13\x00\x11\x00\x1b\x00\x0b\x00\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\x13\x00\x48\x00\x25\x00\x11\x00\x26\x00\x28\x00\x11\x00\x0b\x00\x26\x00\x0c\x00\x0b\x00\x11\x00\x14\x00\x2e\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x15\x00\x1d\x00\x14\x00\x0b\x00\x22\x00\x23\x00\x22\x00\x23\x00\x26\x00\x27\x00\x20\x00\x27\x00\x11\x00\x11\x00\x11\x00\x11\x00\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x11\x00\x2e\x00\x14\x00\x54\x00\x55\x00\x56\x00\x01\x00\x2e\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x2e\x00\x11\x00\x11\x00\x0a\x00\x0e\x00\x0f\x00\x10\x00\x13\x00\x19\x00\x0b\x00\x1b\x00\x31\x00\x16\x00\x13\x00\x18\x00\x10\x00\x04\x00\x1b\x00\x20\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x04\x00\x0b\x00\x26\x00\x13\x00\x25\x00\x02\x00\x03\x00\x28\x00\x30\x00\x20\x00\x32\x00\x33\x00\x20\x00\x35\x00\x11\x00\x11\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x26\x00\x0a\x00\x15\x00\x19\x00\x26\x00\x11\x00\x13\x00\x1d\x00\x13\x00\x4a\x00\x0a\x00\x13\x00\x22\x00\x23\x00\x13\x00\x13\x00\x5b\x00\x27\x00\x4c\x00\x0c\x00\x4e\x00\x4f\x00\x50\x00\x26\x00\x2e\x00\x0b\x00\x54\x00\x55\x00\x56\x00\x01\x00\x20\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x13\x00\x26\x00\x0d\x00\x13\x00\x0e\x00\x0f\x00\x10\x00\x0a\x00\x19\x00\x11\x00\x1b\x00\x11\x00\x16\x00\x31\x00\x18\x00\x26\x00\x11\x00\x1b\x00\x26\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\x03\x00\x26\x00\x25\x00\x20\x00\x13\x00\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\x0a\x00\x35\x00\x11\x00\x2f\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x11\x00\x1d\x00\x03\x00\x0a\x00\x0a\x00\x12\x00\x22\x00\x23\x00\x4a\x00\x5a\x00\x04\x00\x27\x00\x0b\x00\x11\x00\x0b\x00\x04\x00\x10\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x12\x00\x10\x00\x54\x00\x55\x00\x56\x00\x01\x00\x3f\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x04\x00\x10\x00\x10\x00\xff\xff\x0e\x00\x0f\x00\x10\x00\x14\x00\x19\x00\x12\x00\x1b\x00\x12\x00\x16\x00\x12\x00\x18\x00\x12\x00\x12\x00\x1b\x00\x0c\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\x05\x00\x20\x00\x25\x00\xff\xff\x78\x00\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\x78\x00\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x4a\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\xff\xff\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x4a\x00\xff\xff\xff\xff\x27\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\x12\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x16\x00\x27\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\xff\xff\x1d\x00\xff\xff\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\xff\xff\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\x13\x00\xff\xff\x0e\x00\x0f\x00\x10\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x19\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4c\x00\x0b\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x10\x00\x27\x00\x54\x00\x55\x00\x56\x00\xff\xff\x16\x00\x59\x00\x18\x00\xff\xff\x30\x00\x1b\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x39\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x13\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x13\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x11\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x16\x00\x1d\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x0c\x00\x25\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\x27\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x25\x00\x35\x00\xff\xff\xff\xff\x38\x00\x39\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x13\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x1d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\x4f\x00\x50\x00\x27\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x2c\x00\x2e\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\x0c\x00\x25\x00\xff\xff\x0f\x00\x10\x00\x38\x00\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\x21\x00\x4f\x00\x50\x00\xff\xff\x18\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\x02\x00\x03\x00\xff\xff\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x19\x00\xff\xff\x1b\x00\x27\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0e\x00\x2e\x00\xff\xff\x25\x00\x26\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\x30\x00\x38\x00\x32\x00\x33\x00\x27\x00\x35\x00\x19\x00\x1a\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x21\x00\x32\x00\x33\x00\x19\x00\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#++happyTable :: HappyAddr+happyTable = HappyA# "\x00\x00\xb6\x00\x24\x00\x12\x02\x10\x01\xb5\x00\xb6\x00\x69\x01\xb5\x00\xb6\x00\xda\xff\x4b\x01\xe8\x00\x53\x00\x11\xff\xe8\x00\x90\x00\x54\x00\x32\x01\x32\x01\xfc\xff\x1b\x01\x78\x00\x79\x00\x36\x01\x6f\x02\x48\x02\x2b\x02\x24\x00\x32\x01\xda\xff\xda\xff\xb7\x00\x45\x01\x1c\x01\xb7\x00\xf7\x01\xb8\x00\xb9\x00\x53\x00\xb8\x00\xb9\x00\xba\x00\x54\x00\xdf\x00\xba\x00\x6a\x02\xae\x00\x7a\x00\xbb\x00\xbb\x01\xfa\x01\xbb\x00\x7b\x00\x77\x00\x59\x00\xea\x00\x59\x02\x33\x01\xea\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x35\x01\x6a\x01\x6b\x01\xda\xff\x78\x00\x79\x00\x13\x01\x14\x01\x5d\x00\x4b\x02\x58\x02\xf9\x01\x4a\x01\x81\x01\x5e\x00\x73\xff\x4b\x01\x5f\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x95\x00\xb5\x00\xb6\x00\xfb\x00\x7a\x00\x6c\x01\x6d\x01\x6e\x01\x5d\x00\x7b\x00\xb5\x00\xb6\x00\x1c\x02\x6d\x02\x5e\x00\x96\x00\xe8\x00\x5f\x00\x60\x00\x6e\x02\xbb\x00\x15\x01\x61\x00\x4c\x01\x62\x00\x63\x00\x64\x00\xfc\xff\xb7\x00\x11\xff\x4d\x01\xe9\x00\xff\xff\xb8\x00\xb9\x00\x61\x02\x28\x01\xb7\x00\xba\x00\x6c\x02\xb5\x00\xb6\x00\xb8\x00\xb9\x00\x60\x00\xbb\x00\x24\x02\xba\x00\x61\x00\xa0\xff\x62\x00\x63\x00\x64\x00\xfc\xff\xbb\x00\xa0\xff\xa0\xff\xa0\xff\xa0\xff\xc9\x00\xea\x00\xa0\xff\xb2\x00\xa0\xff\xc9\x00\xeb\x01\xf3\x00\xb7\x00\x2b\x01\x2c\x01\xb2\x01\xf7\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xa0\xff\xba\x00\xe0\x01\x66\x01\x67\x01\x24\x00\xc9\x00\x9f\xff\xbb\x00\xa0\xff\x60\x02\xdd\x01\xca\x00\x9f\xff\x9f\xff\x9f\xff\x9f\xff\xe8\x00\x62\x02\x9f\xff\x54\x00\x9f\xff\x8d\xff\x42\x02\xb3\x00\xb7\x00\xe8\x00\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x6e\xff\x15\x01\x9f\xff\xba\x00\x13\xff\xf8\x01\xf9\x01\xb2\x00\x24\x00\x9d\x01\xbb\x00\x9f\xff\xa0\xff\xa0\xff\xde\x01\x0f\x01\xe8\x00\xa0\xff\xa0\xff\x53\x00\xa0\xff\x6e\xff\xb7\x00\x54\x00\x9e\x01\xb2\x00\xfc\xff\xb8\x00\xb9\x00\xea\x00\x65\x02\x9f\x01\xba\x00\x1c\x02\xae\x00\xb3\x00\xb2\x00\xaf\x00\xea\x00\xbb\x00\x5d\x02\xb2\x00\xa0\xff\xa0\xff\xa0\xff\x64\x02\x9f\xff\x9f\xff\xb5\x00\xb6\x00\xa0\xff\x9f\xff\x9f\xff\x9f\x01\x9f\xff\xb2\x00\xb2\x00\x17\xff\x1c\x02\x66\x02\xea\x00\xb2\x00\xb2\x00\x44\x02\xb2\x00\x1d\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x47\x02\xb7\x00\x9f\xff\x9f\xff\x9f\xff\xb3\x00\xb8\x00\xb9\x00\x5d\x00\x85\x00\x9f\xff\xba\x00\x24\x00\xa1\x01\x5e\x00\x19\x00\x73\xff\x5f\x00\xbb\x00\x25\x02\xb3\x00\x36\x01\xb5\x00\xb6\x00\xb2\x00\x80\x01\x8f\x01\x54\x00\x91\x01\x1d\x00\x37\x01\x16\xff\x4a\x02\x70\x01\xb2\x00\x1f\x02\xb5\x00\xb6\x00\x1e\x00\x13\xff\x86\x00\x20\x00\xfb\x00\x21\x00\x60\x00\x14\xff\x22\x00\x41\x02\x61\x00\xb7\x00\x62\x00\x63\x00\x64\x00\xb2\x00\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xb2\x00\x87\x00\x93\x01\xb7\x00\x7d\x01\x12\xff\xbb\x00\x43\x02\xb8\x00\xb9\x00\xb5\x00\xb6\x00\x95\x01\xba\x00\x91\x00\xbb\x00\x5b\x02\xb2\x00\xb2\x00\x0d\xff\xbb\x00\xe8\x01\x67\x01\xb7\x00\x3b\x01\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x0f\x02\xb3\x00\x17\xff\xba\x00\x0c\xff\x10\x02\xaa\x01\xb7\x00\xad\x01\x46\x02\xbb\x00\xb2\x00\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xdf\x00\xea\x00\x4f\x02\x73\xff\xb7\x00\x0a\xff\xbb\x00\xae\x01\xaf\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xb2\x00\xb2\x00\xb0\x01\xb2\x00\x29\x02\x09\xff\xbb\x00\xea\x00\xb7\x00\x53\x02\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x04\x02\xb1\x01\x16\xff\xba\x00\x08\xff\x50\x02\xb3\x00\x90\x00\xb7\x00\xeb\x00\xbb\x00\xb5\x00\xb6\x00\xb8\x00\xb9\x00\x55\x02\x14\xff\x91\x00\xba\x00\x08\x02\x07\xff\xb3\x00\xb7\x00\xff\x00\x01\x01\xbb\x00\xb3\x00\xb8\x00\xb9\x00\x3a\x01\xeb\x00\x38\x02\xba\x00\x68\x02\xc0\x01\xb3\x00\x12\xff\x3b\x01\xb7\x00\xbb\x00\xf2\x01\x2e\x01\x15\x02\xb8\x00\xb9\x00\xb5\x00\xb6\x00\x52\x02\xba\x00\x12\x02\x0d\xff\x68\xff\xb6\x00\x74\x00\xd2\xff\xbb\x00\x24\x00\x4a\x00\xe9\x01\x67\x01\x68\xff\x68\xff\x68\xff\x69\x01\x4c\x00\x0c\xff\x68\xff\x53\x00\x68\xff\x68\xff\x13\x02\x54\x00\xb7\x00\x17\x02\xb5\x00\xb6\x00\x19\x02\xb8\x00\xb9\x00\x1a\x02\x75\x00\x68\xff\xba\x00\x34\x02\x0a\xff\x76\x00\x77\x00\x68\xff\x68\xff\xbb\x00\x38\x02\x19\x00\x39\x02\xd0\x00\x35\x02\x68\xff\x68\xff\x36\x02\x68\xff\x09\xff\x70\x01\xb7\x00\x71\x01\x1b\x00\x1c\x00\x1d\x00\xb8\x00\xb9\x00\x65\x01\x66\x01\x67\x01\xba\x00\x68\xff\x08\xff\x1e\x00\x15\x02\x1f\x00\x20\x00\xbb\x00\x21\x00\x16\x02\x68\xff\x22\x00\xdf\x00\x37\x02\x6a\x01\x6b\x01\xbe\x01\xe1\x00\x07\xff\x4a\x00\x68\xff\x68\xff\xb3\x01\xdf\x00\x0e\x01\x0f\x01\x4c\x00\xe0\x00\xe1\x00\x88\x01\xb5\x00\xb6\x00\x24\x00\xb4\x01\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x8a\x00\x78\x00\xa8\x00\x6c\x01\x6d\x01\x6e\x01\x2d\x00\x0c\x01\xb5\x01\x68\xff\x68\xff\x68\xff\x2e\x00\x15\x02\x2f\x00\xb6\x01\xb7\x00\x30\x00\x22\x02\xc5\x01\xc2\x01\xb8\x00\xb9\x00\xb7\x01\xaa\x00\xc3\x01\xba\x00\x32\x00\x4a\x00\xb8\x01\x33\x00\xb9\x01\x7b\x00\xbb\x00\x3e\x01\x4c\x00\x2d\x01\x2e\x01\x3b\x02\x3c\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xba\x01\xda\x01\x24\x00\xa3\x00\xc9\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xc6\x01\x6a\x01\x6b\x01\xc7\x01\x2b\x00\x2c\x00\x2d\x00\x30\x01\x31\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\xcb\x01\x2f\x00\x40\x00\x41\x00\x30\x00\xcd\x01\xa4\x00\xce\x01\xcf\x01\x8b\x00\x72\x00\xa5\x00\xa6\x00\xd0\x01\x32\x00\xa7\x00\xd1\x01\x33\x00\x6c\x01\x6d\x01\x6e\x01\xe2\x00\xa8\x00\xa8\x00\xd2\x01\xe3\x00\xe1\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xd3\x01\xd4\x01\xd6\x01\xd9\x01\xfd\x01\xe4\x00\xea\x01\xec\x01\xee\x01\xaa\x00\xe5\x00\xf3\x01\xf4\x01\xfb\x01\x3f\x01\x42\x01\x56\x01\x7b\x00\x3c\x00\x57\x01\x3d\x00\x3e\x00\x3f\x00\x5b\x01\x5c\x01\x6e\x01\x40\x00\x41\x00\x42\x00\x24\x00\x74\x00\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x76\x01\x82\x01\x83\x01\x84\x01\x2b\x00\x2c\x00\x2d\x00\x86\x01\x19\x00\x8e\x01\x89\x01\x90\x01\x2e\x00\x92\x01\x2f\x00\x94\x01\x96\x01\x30\x00\xa7\x01\xa4\x00\x1b\x00\x1c\x00\x1d\x00\xa8\x01\x76\x00\x77\x00\xac\x01\x32\x00\xb5\x00\xb6\x00\x33\x00\x1e\x00\xcf\x00\x1f\x00\x20\x00\x8a\x01\x21\x00\xd5\x00\xd8\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xdb\x00\xdd\x00\x00\x01\xfe\x00\x02\x01\x03\x01\x09\x01\xb7\x00\x0d\x01\x8b\x01\x0a\x01\x11\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xff\x00\xba\x00\x3c\x00\x23\x01\x3d\x00\x3e\x00\x3f\x00\x06\x02\xbb\x00\x24\x01\x40\x00\x41\x00\x42\x00\x24\x00\x27\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x28\x01\x24\x00\x29\x01\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x31\x01\xb8\x00\xb9\x00\x4f\x01\x50\x01\x2e\x00\xba\x00\x2f\x00\x3c\x01\x54\x00\x30\x00\x34\x01\x31\x00\xbb\x00\xb5\x00\xb6\x00\xb5\x00\xb6\x00\x72\x00\x6b\x00\x32\x00\x6c\x00\x70\x00\x33\x00\x8b\x00\x51\x01\x93\x00\x96\x00\x97\x00\x47\xff\x99\x00\x5a\x01\xc5\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xb7\x00\xb0\x00\xb7\x00\xbb\x00\xc2\x00\xb8\x00\xb9\x00\xb8\x00\xb9\x00\x5b\x01\xba\x00\x5b\x01\xba\x00\xc8\x00\xb5\x00\xb6\x00\x04\x00\xbb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x71\x02\x5d\x02\x5f\x02\x40\x00\x41\x00\x42\x00\x24\x00\xe0\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x60\x02\x68\x02\xea\x00\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x40\x02\xb8\x00\xb9\x00\x41\x02\x00\x00\x2e\x00\xba\x00\x2f\x00\x4a\x02\x4e\x02\x30\x00\x51\x02\x31\x00\xbb\x00\xf5\x00\xb6\x00\xb5\x00\xb6\x00\x52\x02\x55\x02\x32\x00\x5b\x02\x04\x02\x33\x00\x07\x02\xe2\x01\x08\x02\x0a\x02\x0b\x02\xf6\x00\x15\x02\x1f\x02\xc7\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xf7\x00\x1c\x02\xb7\x00\x21\x02\x22\x02\xf8\x00\xf9\x00\xb8\x00\xb9\x00\xfa\x00\xba\x00\x27\x02\xba\x00\x2c\x02\x2d\x02\x2e\x02\x2f\x02\xfb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x30\x02\x3d\x02\xc2\x01\x40\x00\x41\x00\x42\x00\x24\x00\xbe\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xea\x00\xcb\x01\xcd\x01\xdf\x00\x2b\x00\x2c\x00\x2d\x00\xe3\x01\x19\x00\xe4\x01\xd4\x00\xd9\x01\x2e\x00\xe6\x01\x2f\x00\xe7\x01\xe8\x01\x30\x00\xf7\x01\x31\x00\x1b\x00\x1c\x00\x1d\x00\x01\x02\x02\x02\x00\x02\x42\x01\x32\x00\xb5\x00\xb6\x00\x33\x00\x1e\x00\x41\x01\x1f\x00\x20\x00\x45\x01\x21\x00\x47\x01\x49\x01\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x48\x01\x4a\x01\x53\x01\xd8\x01\x52\x01\x59\x01\x5e\x01\xb7\x00\x5f\x01\x8c\x01\x70\x01\x60\x01\xb8\x00\xb9\x00\x61\x01\x62\x01\x73\x01\xba\x00\x3c\x00\x8d\x00\x3d\x00\x3e\x00\x3f\x00\x65\x01\xbb\x00\x79\x01\x40\x00\x41\x00\x42\x00\x24\x00\x7a\x01\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x80\x01\x78\x01\x88\x01\x98\x01\x2b\x00\x2c\x00\x2d\x00\xa4\x01\x19\x00\x9c\x01\xd7\x00\xa0\x01\x2e\x00\x7d\x01\x2f\x00\xa2\x01\xa3\x01\x30\x00\xa6\x01\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x00\x00\xcd\x00\x32\x00\xd7\x00\xda\x00\x33\x00\x1e\x00\xf1\x01\x1f\x00\x20\x00\xdf\x00\x21\x00\xc4\xff\xdd\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xc5\xff\xf2\x00\xb7\x00\x00\x00\xdf\x00\xdf\x00\x16\x01\xb8\x00\xb9\x00\x8d\x01\x0d\x01\x65\x00\xba\x00\x1d\x01\x2d\x01\x39\x01\x66\x00\x3a\x01\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x68\x00\x69\x00\x6e\x00\x40\x00\x41\x00\x42\x00\x24\x00\x6a\x00\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x6b\x00\x6f\x00\x70\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x72\x00\x19\x00\x81\x00\xec\x00\x82\x00\x2e\x00\x83\x00\x2f\x00\x84\x00\x85\x00\x30\x00\x8d\x00\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x8e\x00\xb2\x00\x32\x00\x00\x00\xff\xff\x33\x00\x1e\x00\xf2\x01\x1f\x00\x20\x00\xff\xff\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xed\x00\x00\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\x00\x00\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x19\x00\x00\x00\xee\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x03\x02\x1f\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xef\x00\x00\x00\x00\x00\xba\x00\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\xf0\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x00\x00\x2e\x00\xba\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\xbb\x00\xb5\x00\xb6\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xff\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xb7\x00\x00\x00\xb7\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xb8\x00\xb9\x00\x00\x00\xba\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\x00\x00\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x18\x02\x00\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x19\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x3c\x00\x72\x02\x3d\x00\x3e\x00\x3f\x00\x00\x00\x2d\x00\x1d\x00\x40\x00\x41\x00\x42\x00\x00\x00\x2e\x00\x43\x00\x2f\x00\x00\x00\x1e\x00\x30\x00\x0b\x02\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x0c\x02\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x02\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x6a\x02\x63\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x64\x02\x1d\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x02\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x3e\x02\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x4c\x02\x18\x01\x00\x00\x3d\x02\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x28\x02\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x31\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x56\x02\x18\x01\x00\x00\xc4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x32\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xbc\x01\x18\x01\x00\x00\xd5\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x33\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xbc\x01\xbf\x01\x00\x00\xe4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x34\x02\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x98\x01\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xc8\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x99\x01\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xf5\x01\x18\x01\x00\x00\xa4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x00\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\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\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x74\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x01\x44\x00\x45\x00\x46\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x77\x00\x47\x00\x7e\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\x1a\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x80\x00\x00\x00\x1d\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x0b\x02\x20\x00\x7e\x00\x21\x00\x00\x00\x00\x00\x22\x00\x57\x02\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\xee\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x78\x00\xa8\x00\x00\x00\xb7\x00\x00\x00\xac\x00\xad\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x7f\x00\x80\x00\xba\x00\x1e\x01\x44\x00\x45\x00\x46\x00\x00\x00\xa9\x00\xbb\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x47\x00\x7e\x00\x00\x00\x48\x00\x49\x00\x7b\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x16\x01\x7f\x00\x80\x00\x00\x00\x2f\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xfc\x01\x18\x01\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x1f\x01\x44\x00\x45\x00\x46\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x20\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x21\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x22\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x8e\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x8f\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\x9e\x00\x00\x00\x9f\x00\xba\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x72\x00\xbb\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x25\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\xa1\x00\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x26\x01\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x6b\x02\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x7e\x01\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x89\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x06\x01\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x45\x02\x1e\x00\x00\x00\x1f\x00\x20\x00\x8a\x01\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x24\x02\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x28\x02\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xdb\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xdd\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xfe\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x3e\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x53\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x54\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x55\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x62\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x73\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x74\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x75\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x7a\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x7b\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x85\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd2\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd3\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xa6\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xab\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xcd\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xce\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd1\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd2\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd3\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd4\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd7\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xe6\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9a\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xf0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xf2\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x66\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x92\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x98\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9a\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9c\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9d\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbc\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbd\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbe\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbf\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc1\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc3\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc5\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc7\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xcb\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x1a\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x00\x00\x1e\x00\x22\x00\xa9\x01\x20\x00\x1d\x00\x21\x00\x78\x00\xa8\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x16\x01\xda\x00\x20\x00\x19\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x17\x01\x18\x01\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x9b\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyReduceArr = Happy_Data_Array.array (3, 257) [+	(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)+	]++happy_n_terms = 121 :: Int+happy_n_nonterms = 76 :: Int++happyReduce_3 = happySpecReduce_0  0# happyReduction_3+happyReduction_3  =  happyIn6+		 ([]+	)++happyReduce_4 = happySpecReduce_2  0# happyReduction_4+happyReduction_4 happy_x_2+	happy_x_1+	 =  case happyOut7 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_2 of { happy_var_2 -> +	happyIn6+		 (happy_var_1:happy_var_2+	)}}++happyReduce_5 = happySpecReduce_2  0# happyReduction_5+happyReduction_5 happy_x_2+	happy_x_1+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_2 of { happy_var_2 -> +	happyIn6+		 (map RealDecl happy_var_1 ++ happy_var_2+	)}}++happyReduce_6 = happyReduce 4# 0# happyReduction_6+happyReduction_6 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	case happyOut6 happy_x_4 of { happy_var_4 -> +	happyIn6+		 (RealDecl (PInclude happy_var_2) : happy_var_4+	) `HappyStk` happyRest}}++happyReduce_7 = happySpecReduce_1  1# happyReduction_7+happyReduction_7 happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (happy_var_1+	)}++happyReduce_8 = happySpecReduce_1  1# happyReduction_8+happyReduction_8 happy_x_1+	 =  case happyOut26 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl (DataDecl happy_var_1)+	)}++happyReduce_9 = happySpecReduce_1  1# happyReduction_9+happyReduction_9 happy_x_1+	 =  case happyOut22 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl happy_var_1+	)}++happyReduce_10 = happyReduce 5# 1# happyReduction_10+happyReduction_10 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> +	case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn7+		 (RealDecl (Freeze happy_var_3 happy_var_4 [] happy_var_2)+	) `HappyStk` happyRest}}}++happyReduce_11 = happyReduce 4# 1# happyReduction_11+happyReduction_11 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut65 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PUsing happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_12 = happyReduce 4# 1# happyReduction_12+happyReduction_12 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut66 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PDoUsing happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_13 = happyReduce 4# 1# happyReduction_13+happyReduction_13 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut67 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PIdiom happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_14 = happyReduce 4# 1# happyReduction_14+happyReduction_14 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut68 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PParams happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_15 = happyReduce 4# 1# happyReduction_15+happyReduction_15 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut69 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PNamespace happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_16 = happySpecReduce_1  1# happyReduction_16+happyReduction_16 happy_x_1+	 =  case happyOut8 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl happy_var_1+	)}++happyReduce_17 = happyReduce 6# 1# happyReduction_17+happyReduction_17 (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 happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut40 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	happyIn7+		 (RealDecl (SynDef happy_var_2 happy_var_3 happy_var_5)+	) `HappyStk` happyRest}}}++happyReduce_18 = happySpecReduce_2  1# happyReduction_18+happyReduction_18 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn7+		 (RealDecl (CInclude happy_var_2)+	)}++happyReduce_19 = happySpecReduce_2  1# happyReduction_19+happyReduction_19 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn7+		 (RealDecl (CLib happy_var_2)+	)}++happyReduce_20 = happyReduce 5# 2# happyReduction_20+happyReduction_20 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn8+		 (Transform happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_21 = happyReduce 7# 3# happyReduction_21+happyReduction_21 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	case happyOut15 happy_x_4 of { happy_var_4 -> +	case happyOut80 happy_x_5 of { happy_var_5 -> +	case happyOut79 happy_x_6 of { happy_var_6 -> +	happyIn9+		 (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6+	) `HappyStk` happyRest}}}}}++happyReduce_22 = happySpecReduce_3  3# happyReduction_22+happyReduction_22 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	happyIn9+		 (ProofScript happy_var_1 happy_var_2+	)}}++happyReduce_23 = happyReduce 9# 3# happyReduction_23+happyReduction_23 (happy_x_9 `HappyStk`+	happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut11 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut14 happy_x_6 of { happy_var_6 -> +	case happyOut80 happy_x_8 of { happy_var_8 -> +	case happyOut79 happy_x_9 of { happy_var_9 -> +	happyIn9+		 (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6+	) `HappyStk` happyRest}}}}}}}++happyReduce_24 = happyReduce 10# 3# happyReduction_24+happyReduction_24 (happy_x_10 `HappyStk`+	happy_x_9 `HappyStk`+	happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_7 of { happy_var_7 -> +	case happyOut80 happy_x_9 of { happy_var_9 -> +	case happyOut79 happy_x_10 of { happy_var_10 -> +	happyIn9+		 (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7+	) `HappyStk` happyRest}}}}}}++happyReduce_25 = happyReduce 8# 3# happyReduction_25+happyReduction_25 (happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut15 happy_x_5 of { happy_var_5 -> +	case happyOut80 happy_x_7 of { happy_var_7 -> +	case happyOut79 happy_x_8 of { happy_var_8 -> +	happyIn9+		 (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)+	) `HappyStk` happyRest}}}}}}++happyReduce_26 = happyReduce 5# 3# happyReduction_26+happyReduction_26 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn9+		 (FunClause RPlaceholder [happy_var_2] happy_var_4 []+	) `HappyStk` happyRest}}++happyReduce_27 = happyReduce 8# 3# happyReduction_27+happyReduction_27 (happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_7 of { happy_var_7 -> +	happyIn9+		 (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7+	) `HappyStk` happyRest}}}++happyReduce_28 = happyReduce 7# 3# happyReduction_28+happyReduction_28 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut11 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut14 happy_x_6 of { happy_var_6 -> +	happyIn9+		 (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6+	) `HappyStk` happyRest}}}}++happyReduce_29 = happySpecReduce_1  4# happyReduction_29+happyReduction_29 happy_x_1+	 =  happyIn10+		 (Vis Public+	)++happyReduce_30 = happySpecReduce_1  4# happyReduction_30+happyReduction_30 happy_x_1+	 =  happyIn10+		 (Vis Private+	)++happyReduce_31 = happySpecReduce_1  4# happyReduction_31+happyReduction_31 happy_x_1+	 =  happyIn10+		 (Vis Abstract+	)++happyReduce_32 = happySpecReduce_0  4# happyReduction_32+happyReduction_32  =  happyIn10+		 (Vis Public+	)++happyReduce_33 = happySpecReduce_1  5# happyReduction_33+happyReduction_33 happy_x_1+	 =  happyIn11+		 (False+	)++happyReduce_34 = happySpecReduce_2  5# happyReduction_34+happyReduction_34 happy_x_2+	happy_x_1+	 =  happyIn11+		 (True+	)++happyReduce_35 = happySpecReduce_3  6# happyReduction_35+happyReduction_35 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut12 happy_x_3 of { happy_var_3 -> +	happyIn12+		 (happy_var_2:happy_var_3+	)}}++happyReduce_36 = happySpecReduce_0  6# happyReduction_36+happyReduction_36  =  happyIn12+		 ([]+	)++happyReduce_37 = happySpecReduce_1  7# happyReduction_37+happyReduction_37 happy_x_1+	 =  case happyOut32 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (happy_var_1+	)}++happyReduce_38 = happySpecReduce_1  7# happyReduction_38+happyReduction_38 happy_x_1+	 =  case happyOut57 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (happy_var_1+	)}++happyReduce_39 = happySpecReduce_3  7# happyReduction_39+happyReduction_39 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn13+		 (happy_var_2+	)}++happyReduce_40 = happyReduce 5# 7# 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 happyOut58 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn13+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_41 = happySpecReduce_2  8# happyReduction_41+happyReduction_41 happy_x_2+	happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	case happyOut14 happy_x_2 of { happy_var_2 -> +	happyIn14+		 (happy_var_1:happy_var_2+	)}}++happyReduce_42 = happySpecReduce_1  8# happyReduction_42+happyReduction_42 happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	happyIn14+		 ([happy_var_1]+	)}++happyReduce_43 = happySpecReduce_1  9# happyReduction_43+happyReduction_43 happy_x_1+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> +	happyIn15+		 (happy_var_1+	)}++happyReduce_44 = happySpecReduce_3  9# happyReduction_44+happyReduction_44 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut16 happy_x_2 of { happy_var_2 -> +	happyIn15+		 (happy_var_2+	)}++happyReduce_45 = happySpecReduce_0  10# happyReduction_45+happyReduction_45  =  happyIn16+		 ([]+	)++happyReduce_46 = happySpecReduce_2  10# happyReduction_46+happyReduction_46 happy_x_2+	happy_x_1+	 =  case happyOut17 happy_x_1 of { happy_var_1 -> +	case happyOut16 happy_x_2 of { happy_var_2 -> +	happyIn16+		 (happy_var_1 ++ happy_var_2+	)}}++happyReduce_47 = happySpecReduce_1  11# happyReduction_47+happyReduction_47 happy_x_1+	 =  happyIn17+		 ([NoCG]+	)++happyReduce_48 = happySpecReduce_1  11# happyReduction_48+happyReduction_48 happy_x_1+	 =  happyIn17+		 ([CGEval, Inline]+	)++happyReduce_49 = happyReduce 4# 11# happyReduction_49+happyReduction_49 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut38 happy_x_3 of { happy_var_3 -> +	happyIn17+		 ([CGSpec happy_var_3]+	) `HappyStk` happyRest}++happyReduce_50 = happySpecReduce_1  11# happyReduction_50+happyReduction_50 happy_x_1+	 =  happyIn17+		 ([CGSpec []]+	)++happyReduce_51 = happySpecReduce_1  11# happyReduction_51+happyReduction_51 happy_x_1+	 =  happyIn17+		 ([Inline]+	)++happyReduce_52 = happySpecReduce_2  11# happyReduction_52+happyReduction_52 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn17+		 ([CExport happy_var_2]+	)}++happyReduce_53 = happyReduce 4# 12# happyReduction_53+happyReduction_53 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut21 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	case happyOut19 happy_x_3 of { happy_var_3 -> +	happyIn18+		 (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3+	) `HappyStk` happyRest}}}++happyReduce_54 = happySpecReduce_1  13# happyReduction_54+happyReduction_54 happy_x_1+	 =  case happyOut20 happy_x_1 of { happy_var_1 -> +	happyIn19+		 ([happy_var_1]+	)}++happyReduce_55 = happySpecReduce_3  13# happyReduction_55+happyReduction_55 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut20 happy_x_1 of { happy_var_1 -> +	case happyOut19 happy_x_3 of { happy_var_3 -> +	happyIn19+		 (happy_var_1:happy_var_3+	)}}++happyReduce_56 = happySpecReduce_1  14# happyReduction_56+happyReduction_56 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> +	happyIn20+		 (happy_var_1+	)}++happyReduce_57 = happySpecReduce_1  14# happyReduction_57+happyReduction_57 happy_x_1+	 =  happyIn20+		 ("-"+	)++happyReduce_58 = happySpecReduce_1  14# happyReduction_58+happyReduction_58 happy_x_1+	 =  happyIn20+		 ("<"+	)++happyReduce_59 = happySpecReduce_1  14# happyReduction_59+happyReduction_59 happy_x_1+	 =  happyIn20+		 (">"+	)++happyReduce_60 = happySpecReduce_1  15# happyReduction_60+happyReduction_60 happy_x_1+	 =  happyIn21+		 (LeftAssoc+	)++happyReduce_61 = happySpecReduce_1  15# happyReduction_61+happyReduction_61 happy_x_1+	 =  happyIn21+		 (RightAssoc+	)++happyReduce_62 = happySpecReduce_1  15# happyReduction_62+happyReduction_62 happy_x_1+	 =  happyIn21+		 (NonAssoc+	)++happyReduce_63 = happyReduce 4# 16# happyReduction_63+happyReduction_63 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut23 happy_x_3 of { happy_var_3 -> +	happyIn22+		 (LatexDefs happy_var_3+	) `HappyStk` happyRest}++happyReduce_64 = happySpecReduce_3  17# happyReduction_64+happyReduction_64 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> +	happyIn23+		 ([(happy_var_1,happy_var_3)]+	)}}++happyReduce_65 = happyReduce 5# 17# happyReduction_65+happyReduction_65 (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_1 of { happy_var_1 -> +	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> +	case happyOut23 happy_x_5 of { happy_var_5 -> +	happyIn23+		 ((happy_var_1,happy_var_3):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_66 = happySpecReduce_2  18# happyReduction_66+happyReduction_66 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut25 happy_x_2 of { happy_var_2 -> +	happyIn24+		 ((happy_var_1, happy_var_2)+	)}}++happyReduce_67 = happySpecReduce_0  19# happyReduction_67+happyReduction_67  =  happyIn25+		 ([]+	)++happyReduce_68 = happySpecReduce_2  19# happyReduction_68+happyReduction_68 happy_x_2+	happy_x_1+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> +	case happyOut25 happy_x_2 of { happy_var_2 -> +	happyIn25+		 ((happy_var_1,Nothing):happy_var_2+	)}}++happyReduce_69 = happyReduce 5# 19# 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)+	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut25 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn25+		 ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_70 = happyReduce 5# 19# happyReduction_70+happyReduction_70 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut25 happy_x_5 of { happy_var_5 -> +	happyIn25+		 ((happy_var_3, Just happy_var_1):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_71 = happyReduce 6# 20# happyReduction_71+happyReduction_71 (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 happyOut28 happy_x_2 of { happy_var_2 -> +	case happyOut31 happy_x_3 of { happy_var_3 -> +	case happyOut27 happy_x_4 of { happy_var_4 -> +	case happyOut80 happy_x_5 of { happy_var_5 -> +	case happyOut79 happy_x_6 of { happy_var_6 -> +	happyIn26+		 (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2+	) `HappyStk` happyRest}}}}}++happyReduce_72 = happySpecReduce_3  21# happyReduction_72+happyReduction_72 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut64 happy_x_1 of { happy_var_1 -> +	case happyOut73 happy_x_2 of { happy_var_2 -> +	happyIn27+		 (Right (happy_var_1,happy_var_2)+	)}}++happyReduce_73 = happySpecReduce_3  21# happyReduction_73+happyReduction_73 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_2 of { happy_var_2 -> +	happyIn27+		 (Left happy_var_2+	)}++happyReduce_74 = happySpecReduce_3  21# happyReduction_74+happyReduction_74 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn27+		 (Left (RConst happy_var_2 happy_var_3 TYPE)+	)}}++happyReduce_75 = happySpecReduce_0  22# happyReduction_75+happyReduction_75  =  happyIn28+		 ([]+	)++happyReduce_76 = happySpecReduce_3  22# happyReduction_76+happyReduction_76 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut29 happy_x_2 of { happy_var_2 -> +	happyIn28+		 (happy_var_2+	)}++happyReduce_77 = happySpecReduce_1  23# happyReduction_77+happyReduction_77 happy_x_1+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> +	happyIn29+		 ([happy_var_1]+	)}++happyReduce_78 = happySpecReduce_3  23# happyReduction_78+happyReduction_78 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> +	case happyOut29 happy_x_3 of { happy_var_3 -> +	happyIn29+		 (happy_var_1:happy_var_3+	)}}++happyReduce_79 = happySpecReduce_1  24# happyReduction_79+happyReduction_79 happy_x_1+	 =  happyIn30+		 (NoElim+	)++happyReduce_80 = happySpecReduce_1  24# happyReduction_80+happyReduction_80 happy_x_1+	 =  happyIn30+		 (Collapsible+	)++happyReduce_81 = happySpecReduce_1  25# happyReduction_81+happyReduction_81 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> +	happyIn31+		 (happy_var_1+	)}++happyReduce_82 = happySpecReduce_3  25# happyReduction_82+happyReduction_82 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut20 happy_x_2 of { happy_var_2 -> +	happyIn31+		 (useropFn happy_var_2+	)}++happyReduce_83 = happyReduce 4# 26# happyReduction_83+happyReduction_83 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut32 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	case happyOut56 happy_x_4 of { happy_var_4 -> +	happyIn32+		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_84 = happyReduce 5# 26# happyReduction_84+happyReduction_84 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut32 happy_x_1 of { happy_var_1 -> +	case happyOut42 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn32+		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+	) `HappyStk` happyRest}}}}++happyReduce_85 = happySpecReduce_3  26# happyReduction_85+happyReduction_85 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_86 = happySpecReduce_3  26# happyReduction_86+happyReduction_86 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut62 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RConst happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_87 = happySpecReduce_1  26# happyReduction_87+happyReduction_87 happy_x_1+	 =  happyIn32+		 (RPlaceholder+	)++happyReduce_88 = happySpecReduce_3  26# happyReduction_88+happyReduction_88 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 (UN "__Empty")+	)}}++happyReduce_89 = happySpecReduce_3  26# happyReduction_89+happyReduction_89 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 (UN "__Unit")+	)}}++happyReduce_90 = happySpecReduce_1  27# happyReduction_90+happyReduction_90 happy_x_1+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> +	happyIn33+		 (happy_var_1+	)}++happyReduce_91 = happySpecReduce_3  27# happyReduction_91+happyReduction_91 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn33+		 (happy_var_2+	)}++happyReduce_92 = happyReduce 4# 27# happyReduction_92+happyReduction_92 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	case happyOut56 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_93 = happyReduce 5# 27# happyReduction_93+happyReduction_93 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut42 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn33+		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+	) `HappyStk` happyRest}}}}++happyReduce_94 = happyReduce 4# 27# happyReduction_94+happyReduction_94 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_95 = happyReduce 4# 27# happyReduction_95+happyReduction_95 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut34 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (doBind Lam happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_96 = happyReduce 4# 27# happyReduction_96+happyReduction_96 (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 happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (doLetBind happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_97 = happySpecReduce_1  27# happyReduction_97+happyReduction_97 happy_x_1+	 =  case happyOut43 happy_x_1 of { happy_var_1 -> +	happyIn33+		 (happy_var_1+	)}++happyReduce_98 = happyReduce 8# 27# happyReduction_98+happyReduction_98 (happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut33 happy_x_6 of { happy_var_6 -> +	case happyOut80 happy_x_7 of { happy_var_7 -> +	case happyOut79 happy_x_8 of { happy_var_8 -> +	happyIn33+		 (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]+	) `HappyStk` happyRest}}}}}++happyReduce_99 = happySpecReduce_2  28# happyReduction_99+happyReduction_99 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	happyIn34+		 ([(happy_var_1,happy_var_2)]+	)}}++happyReduce_100 = happyReduce 4# 28# happyReduction_100+happyReduction_100 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut34 happy_x_4 of { happy_var_4 -> +	happyIn34+		 ((happy_var_1,happy_var_2):happy_var_4+	) `HappyStk` happyRest}}}++happyReduce_101 = happySpecReduce_3  29# happyReduction_101+happyReduction_101 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> +	case happyOut35 happy_x_3 of { happy_var_3 -> +	happyIn35+		 (happy_var_1 ++ happy_var_3+	)}}++happyReduce_102 = happySpecReduce_1  29# happyReduction_102+happyReduction_102 happy_x_1+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> +	happyIn35+		 (happy_var_1+	)}++happyReduce_103 = happySpecReduce_3  30# happyReduction_103+happyReduction_103 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	happyIn36+		 (map ( \x -> (x,happy_var_3)) [happy_var_1]+	)}}++happyReduce_104 = happySpecReduce_1  31# happyReduction_104+happyReduction_104 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn37+		 ([happy_var_1]+	)}++happyReduce_105 = happySpecReduce_3  31# happyReduction_105+happyReduction_105 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut37 happy_x_3 of { happy_var_3 -> +	happyIn37+		 (happy_var_1:happy_var_3+	)}}++happyReduce_106 = happySpecReduce_2  32# happyReduction_106+happyReduction_106 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	happyIn38+		 ([(happy_var_1,happy_var_2)]+	)}}++happyReduce_107 = happySpecReduce_1  32# happyReduction_107+happyReduction_107 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn38+		 ([(happy_var_1, 0)]+	)}++happyReduce_108 = happySpecReduce_3  32# happyReduction_108+happyReduction_108 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut38 happy_x_3 of { happy_var_3 -> +	happyIn38+		 ((happy_var_1,0):happy_var_3+	)}}++happyReduce_109 = happyReduce 4# 32# happyReduction_109+happyReduction_109 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	case happyOut38 happy_x_4 of { happy_var_4 -> +	happyIn38+		 ((happy_var_1,happy_var_2):happy_var_4+	) `HappyStk` happyRest}}}++happyReduce_110 = happySpecReduce_1  33# happyReduction_110+happyReduction_110 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	happyIn39+		 ([happy_var_1]+	)}++happyReduce_111 = happySpecReduce_3  33# happyReduction_111+happyReduction_111 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut37 happy_x_3 of { happy_var_3 -> +	happyIn39+		 (happy_var_1:happy_var_3+	)}}++happyReduce_112 = happySpecReduce_0  34# happyReduction_112+happyReduction_112  =  happyIn40+		 ([]+	)++happyReduce_113 = happySpecReduce_2  34# happyReduction_113+happyReduction_113 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut40 happy_x_2 of { happy_var_2 -> +	happyIn40+		 (happy_var_1:happy_var_2+	)}}++happyReduce_114 = happyReduce 4# 35# happyReduction_114+happyReduction_114 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn41+		 ([(happy_var_1,happy_var_2,happy_var_4)]+	) `HappyStk` happyRest}}}++happyReduce_115 = happyReduce 6# 35# happyReduction_115+happyReduction_115 (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 happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut41 happy_x_6 of { happy_var_6 -> +	happyIn41+		 ((happy_var_1,happy_var_2,happy_var_4):happy_var_6+	) `HappyStk` happyRest}}}}++happyReduce_116 = happySpecReduce_3  36# happyReduction_116+happyReduction_116 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn42+		 ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)+	)}}}++happyReduce_117 = happySpecReduce_3  36# happyReduction_117+happyReduction_117 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn42+		 ((happy_var_1, happy_var_3)+	)}}++happyReduce_118 = happyReduce 4# 37# happyReduction_118+happyReduction_118 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn43+		 (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_119 = happyReduce 5# 37# happyReduction_119+happyReduction_119 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_120 = happyReduce 5# 37# happyReduction_120+happyReduction_120 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]+	) `HappyStk` happyRest}}}}++happyReduce_121 = happyReduce 5# 37# happyReduction_121+happyReduction_121 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_122 = happyReduce 5# 37# happyReduction_122+happyReduction_122 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_123 = happyReduce 5# 37# happyReduction_123+happyReduction_123 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn43+		 (RBind (MN "X" 0) (Pi Ex [] happy_var_1) happy_var_3+	) `HappyStk` happyRest}}++happyReduce_124 = happySpecReduce_1  37# happyReduction_124+happyReduction_124 happy_x_1+	 =  case happyOut44 happy_x_1 of { happy_var_1 -> +	happyIn43+		 (happy_var_1+	)}++happyReduce_125 = happyReduce 5# 37# 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 happyOut56 happy_x_1 of { happy_var_1 -> +	case happyOut56 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_126 = happyReduce 5# 38# happyReduction_126+happyReduction_126 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn44+		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}}++happyReduce_127 = happyReduce 6# 39# happyReduction_127+happyReduction_127 (happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+	) `HappyStk` happyRest}}}}++happyReduce_128 = happyReduce 6# 39# happyReduction_128+happyReduction_128 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}}++happyReduce_129 = happyReduce 6# 39# happyReduction_129+happyReduction_129 (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 happyOut46 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+	) `HappyStk` happyRest}}}}++happyReduce_130 = happyReduce 6# 39# happyReduction_130+happyReduction_130 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut46 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}}++happyReduce_131 = happyReduce 6# 39# happyReduction_131+happyReduction_131 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}++happyReduce_132 = happyReduce 6# 39# happyReduction_132+happyReduction_132 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RBind (MN "X" 1) (Pi Ex [] happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}++happyReduce_133 = happyReduce 6# 39# happyReduction_133+happyReduction_133 (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 happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RBind (MN "X" 1) (Pi Ex [] (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)+	) `HappyStk` happyRest}}}++happyReduce_134 = happyReduce 5# 39# happyReduction_134+happyReduction_134 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (RBind (MN "X" 1) (Lam RPlaceholder)+                    (RBind (MN "X" 2) (Pi Ex [] (RVar happy_var_3 happy_var_4 (MN "X" 0)))+                       (RVar happy_var_3 happy_var_4 (MN "X" 1))))+	) `HappyStk` happyRest}}++happyReduce_135 = happyReduce 5# 39# happyReduction_135+happyReduction_135 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                   (RBind (MN "X" 1) (Lam RPlaceholder)+                       (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))+                                    [RVar happy_var_3 happy_var_4 (MN "X" 0),+                                     RVar happy_var_3 happy_var_4 (MN "X" 1)]))+	) `HappyStk` happyRest}}++happyReduce_136 = happyReduce 6# 39# happyReduction_136+happyReduction_136 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+                                    [happy_var_2,+                                     RVar happy_var_4 happy_var_5 (MN "X" 0)])+	) `HappyStk` happyRest}}}++happyReduce_137 = happyReduce 6# 39# happyReduction_137+happyReduction_137 (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 happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+                                    [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])+	) `HappyStk` happyRest}}}++happyReduce_138 = happySpecReduce_1  40# happyReduction_138+happyReduction_138 happy_x_1+	 =  happyIn46+		 ("<"+	)++happyReduce_139 = happySpecReduce_1  40# happyReduction_139+happyReduction_139 happy_x_1+	 =  happyIn46+		 (">"+	)++happyReduce_140 = happySpecReduce_0  41# happyReduction_140+happyReduction_140  =  happyIn47+		 (RPlaceholder+	)++happyReduce_141 = happySpecReduce_2  41# happyReduction_141+happyReduction_141 happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn47+		 (happy_var_2+	)}++happyReduce_142 = happySpecReduce_0  42# happyReduction_142+happyReduction_142  =  happyIn48+		 (RPlaceholder+	)++happyReduce_143 = happySpecReduce_2  42# happyReduction_143+happyReduction_143 happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn48+		 (happy_var_2+	)}++happyReduce_144 = happyReduce 5# 43# happyReduction_144+happyReduction_144 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut39 happy_x_1 of { happy_var_1 -> +	case happyOut48 happy_x_2 of { happy_var_2 -> +	case happyOut49 happy_x_5 of { happy_var_5 -> +	happyIn49+		 (doBind (Pi Im []) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_145 = happySpecReduce_1  43# happyReduction_145+happyReduction_145 happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	happyIn49+		 (happy_var_1+	)}++happyReduce_146 = happySpecReduce_3  44# happyReduction_146+happyReduction_146 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	happyIn50+		 (RBind (MN "X" 0) (Pi Ex [] happy_var_1) happy_var_3+	)}}++happyReduce_147 = happyReduce 6# 44# happyReduction_147+happyReduction_147 (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 happyOut35 happy_x_2 of { happy_var_2 -> +	case happyOut52 happy_x_4 of { happy_var_4 -> +	case happyOut50 happy_x_6 of { happy_var_6 -> +	happyIn50+		 (doBind (Pi Ex happy_var_4) happy_var_2 happy_var_6+	) `HappyStk` happyRest}}}++happyReduce_148 = happyReduce 5# 44# happyReduction_148+happyReduction_148 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut35 happy_x_2 of { happy_var_2 -> +	case happyOut50 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (doBind (Pi Ex [Lazy]) happy_var_2 happy_var_5+	) `HappyStk` happyRest}}++happyReduce_149 = happySpecReduce_3  44# happyReduction_149+happyReduction_149 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (bracket happy_var_2+	)}++happyReduce_150 = happyReduce 7# 44# happyReduction_150+happyReduction_150 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut50 happy_x_2 of { happy_var_2 -> +	case happyOut50 happy_x_4 of { happy_var_4 -> +	case happyOut80 happy_x_5 of { happy_var_5 -> +	case happyOut79 happy_x_6 of { happy_var_6 -> +	happyIn50+		 (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_151 = happySpecReduce_1  44# happyReduction_151+happyReduction_151 happy_x_1+	 =  case happyOut32 happy_x_1 of { happy_var_1 -> +	happyIn50+		 (happy_var_1+	)}++happyReduce_152 = happySpecReduce_3  44# happyReduction_152+happyReduction_152 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (happy_var_2+	)}++happyReduce_153 = happyReduce 5# 44# happyReduction_153+happyReduction_153 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}}++happyReduce_154 = happyReduce 5# 44# happyReduction_154+happyReduction_154 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut55 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_155 = happySpecReduce_1  44# happyReduction_155+happyReduction_155 happy_x_1+	 =  case happyOut54 happy_x_1 of { happy_var_1 -> +	happyIn50+		 (happy_var_1+	)}++happyReduce_156 = happySpecReduce_1  45# happyReduction_156+happyReduction_156 happy_x_1+	 =  happyIn51+		 (Lazy+	)++happyReduce_157 = happySpecReduce_1  45# happyReduction_157+happyReduction_157 happy_x_1+	 =  happyIn51+		 (Static+	)++happyReduce_158 = happySpecReduce_3  46# happyReduction_158+happyReduction_158 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut53 happy_x_2 of { happy_var_2 -> +	happyIn52+		 (happy_var_2+	)}++happyReduce_159 = happySpecReduce_0  46# happyReduction_159+happyReduction_159  =  happyIn52+		 ([]+	)++happyReduce_160 = happySpecReduce_3  47# happyReduction_160+happyReduction_160 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> +	case happyOut53 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (happy_var_1:happy_var_3+	)}}++happyReduce_161 = happySpecReduce_1  47# happyReduction_161+happyReduction_161 happy_x_1+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> +	happyIn53+		 ([happy_var_1]+	)}++happyReduce_162 = happyReduce 8# 48# happyReduction_162+happyReduction_162 (happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut50 happy_x_5 of { happy_var_5 -> +	case happyOut80 happy_x_7 of { happy_var_7 -> +	case happyOut79 happy_x_8 of { happy_var_8 -> +	happyIn54+		 (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5+	) `HappyStk` happyRest}}}}}++happyReduce_163 = happySpecReduce_3  49# happyReduction_163+happyReduction_163 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	happyIn55+		 (happy_var_1:happy_var_3:[]+	)}}++happyReduce_164 = happySpecReduce_3  49# happyReduction_164+happyReduction_164 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut55 happy_x_3 of { happy_var_3 -> +	happyIn55+		 (happy_var_1:happy_var_3+	)}}++happyReduce_165 = happySpecReduce_3  50# happyReduction_165+happyReduction_165 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (RVar happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_166 = happySpecReduce_3  50# happyReduction_166+happyReduction_166 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (RReturn happy_var_2 happy_var_3+	)}}++happyReduce_167 = happySpecReduce_3  50# happyReduction_167+happyReduction_167 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn56+		 (bracket happy_var_2+	)}++happyReduce_168 = happySpecReduce_2  50# happyReduction_168+happyReduction_168 happy_x_2+	happy_x_1+	 =  case happyOut56 happy_x_2 of { happy_var_2 -> +	happyIn56+		 (RPure happy_var_2+	)}++happyReduce_169 = happySpecReduce_1  50# happyReduction_169+happyReduction_169 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> +	happyIn56+		 (RMetavar happy_var_1+	)}++happyReduce_170 = happyReduce 4# 50# happyReduction_170+happyReduction_170 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn56+		 (RExpVar happy_var_3 happy_var_4 happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_171 = happySpecReduce_3  50# happyReduction_171+happyReduction_171 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut62 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (RConst happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_172 = happySpecReduce_1  50# happyReduction_172+happyReduction_172 happy_x_1+	 =  happyIn56+		 (RRefl+	)++happyReduce_173 = happySpecReduce_3  50# happyReduction_173+happyReduction_173 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (RVar happy_var_2 happy_var_3 (UN "__Empty")+	)}}++happyReduce_174 = happySpecReduce_3  50# happyReduction_174+happyReduction_174 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (RVar happy_var_2 happy_var_3 (UN "__Unit")+	)}}++happyReduce_175 = happySpecReduce_1  50# happyReduction_175+happyReduction_175 happy_x_1+	 =  happyIn56+		 (RPlaceholder+	)++happyReduce_176 = happySpecReduce_1  50# happyReduction_176+happyReduction_176 happy_x_1+	 =  case happyOut59 happy_x_1 of { happy_var_1 -> +	happyIn56+		 (RDo happy_var_1+	)}++happyReduce_177 = happySpecReduce_3  50# happyReduction_177+happyReduction_177 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn56+		 (RIdiom happy_var_2+	)}++happyReduce_178 = happyReduce 5# 50# happyReduction_178+happyReduction_178 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut58 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn56+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_179 = happySpecReduce_1  50# happyReduction_179+happyReduction_179 happy_x_1+	 =  case happyOut54 happy_x_1 of { happy_var_1 -> +	happyIn56+		 (happy_var_1+	)}++happyReduce_180 = happySpecReduce_1  50# happyReduction_180+happyReduction_180 happy_x_1+	 =  case happyOut45 happy_x_1 of { happy_var_1 -> +	happyIn56+		 (happy_var_1+	)}++happyReduce_181 = happySpecReduce_1  50# happyReduction_181+happyReduction_181 happy_x_1+	 =  case happyOut57 happy_x_1 of { happy_var_1 -> +	happyIn56+		 (happy_var_1+	)}++happyReduce_182 = happyReduce 7# 51# happyReduction_182+happyReduction_182 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut80 happy_x_6 of { happy_var_6 -> +	case happyOut79 happy_x_7 of { happy_var_7 -> +	happyIn57+		 (RApp happy_var_6 happy_var_7 (RApp happy_var_6 happy_var_7 (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_183 = happyReduce 5# 51# happyReduction_183+happyReduction_183 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn57+		 (RApp happy_var_4 happy_var_5 (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) RPlaceholder) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_184 = happySpecReduce_3  52# happyReduction_184+happyReduction_184 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn58+		 (happy_var_1:happy_var_3:[]+	)}}++happyReduce_185 = happySpecReduce_3  52# happyReduction_185+happyReduction_185 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut58 happy_x_3 of { happy_var_3 -> +	happyIn58+		 (happy_var_1:happy_var_3+	)}}++happyReduce_186 = happyReduce 4# 53# happyReduction_186+happyReduction_186 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut60 happy_x_3 of { happy_var_3 -> +	happyIn59+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_187 = happyReduce 10# 53# happyReduction_187+happyReduction_187 (happy_x_10 `HappyStk`+	happy_x_9 `HappyStk`+	happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	case happyOut80 happy_x_6 of { happy_var_6 -> +	case happyOut79 happy_x_7 of { happy_var_7 -> +	case happyOut60 happy_x_9 of { happy_var_9 -> +	happyIn59+		 (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9+	) `HappyStk` happyRest}}}}}}++happyReduce_188 = happySpecReduce_2  54# happyReduction_188+happyReduction_188 happy_x_2+	happy_x_1+	 =  case happyOut61 happy_x_1 of { happy_var_1 -> +	case happyOut60 happy_x_2 of { happy_var_2 -> +	happyIn60+		 (happy_var_1:happy_var_2+	)}}++happyReduce_189 = happySpecReduce_1  54# happyReduction_189+happyReduction_189 happy_x_1+	 =  case happyOut61 happy_x_1 of { happy_var_1 -> +	happyIn60+		 ([happy_var_1]+	)}++happyReduce_190 = happyReduce 7# 55# happyReduction_190+happyReduction_190 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut80 happy_x_5 of { happy_var_5 -> +	case happyOut79 happy_x_6 of { happy_var_6 -> +	happyIn61+		 (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4+	) `HappyStk` happyRest}}}}}++happyReduce_191 = happyReduce 8# 55# happyReduction_191+happyReduction_191 (happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	case happyOut80 happy_x_6 of { happy_var_6 -> +	case happyOut79 happy_x_7 of { happy_var_7 -> +	happyIn61+		 (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5+	) `HappyStk` happyRest}}}}}++happyReduce_192 = happyReduce 4# 55# happyReduction_192+happyReduction_192 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn61+		 (DoExp happy_var_2 happy_var_3 happy_var_1+	) `HappyStk` happyRest}}}++happyReduce_193 = happySpecReduce_1  56# happyReduction_193+happyReduction_193 happy_x_1+	 =  happyIn62+		 (TYPE+	)++happyReduce_194 = happySpecReduce_1  56# happyReduction_194+happyReduction_194 happy_x_1+	 =  happyIn62+		 (StringType+	)++happyReduce_195 = happySpecReduce_1  56# happyReduction_195+happyReduction_195 happy_x_1+	 =  happyIn62+		 (IntType+	)++happyReduce_196 = happySpecReduce_1  56# happyReduction_196+happyReduction_196 happy_x_1+	 =  happyIn62+		 (CharType+	)++happyReduce_197 = happySpecReduce_1  56# happyReduction_197+happyReduction_197 happy_x_1+	 =  happyIn62+		 (FloatType+	)++happyReduce_198 = happySpecReduce_1  56# happyReduction_198+happyReduction_198 happy_x_1+	 =  happyIn62+		 (PtrType+	)++happyReduce_199 = happySpecReduce_1  56# happyReduction_199+happyReduction_199 happy_x_1+	 =  happyIn62+		 (Builtin "Handle"+	)++happyReduce_200 = happySpecReduce_1  56# happyReduction_200+happyReduction_200 happy_x_1+	 =  happyIn62+		 (Builtin "Lock"+	)++happyReduce_201 = happySpecReduce_1  56# happyReduction_201+happyReduction_201 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> +	happyIn62+		 (Num happy_var_1+	)}++happyReduce_202 = happySpecReduce_1  56# happyReduction_202+happyReduction_202 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> +	happyIn62+		 (Ch happy_var_1+	)}++happyReduce_203 = happySpecReduce_1  56# happyReduction_203+happyReduction_203 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> +	happyIn62+		 (Str happy_var_1+	)}++happyReduce_204 = happySpecReduce_1  56# happyReduction_204+happyReduction_204 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> +	happyIn62+		 (Bo happy_var_1+	)}++happyReduce_205 = happySpecReduce_1  56# happyReduction_205+happyReduction_205 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> +	happyIn62+		 (Fl happy_var_1+	)}++happyReduce_206 = happySpecReduce_0  57# happyReduction_206+happyReduction_206  =  happyIn63+		 ([]+	)++happyReduce_207 = happySpecReduce_2  57# happyReduction_207+happyReduction_207 happy_x_2+	happy_x_1+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> +	case happyOut63 happy_x_2 of { happy_var_2 -> +	happyIn63+		 (happy_var_1:happy_var_2+	)}}++happyReduce_208 = happyReduce 4# 58# happyReduction_208+happyReduction_208 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut49 happy_x_2 of { happy_var_2 -> +	case happyOut65 happy_x_3 of { happy_var_3 -> +	happyIn64+		 ((happy_var_2, happy_var_3)+	) `HappyStk` happyRest}}++happyReduce_209 = happySpecReduce_3  58# happyReduction_209+happyReduction_209 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn64+		 ((RConst happy_var_2 happy_var_3 TYPE, [])+	)}}++happyReduce_210 = happyReduce 4# 58# happyReduction_210+happyReduction_210 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut71 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn64+		 ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])+	) `HappyStk` happyRest}}}++happyReduce_211 = happySpecReduce_0  59# happyReduction_211+happyReduction_211  =  happyIn65+		 ([]+	)++happyReduce_212 = happyReduce 4# 59# happyReduction_212+happyReduction_212 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut70 happy_x_3 of { happy_var_3 -> +	happyIn65+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_213 = happyReduce 7# 60# happyReduction_213+happyReduction_213 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_6 of { happy_var_6 -> +	happyIn66+		 ((happy_var_4,happy_var_6)+	) `HappyStk` happyRest}}++happyReduce_214 = happyReduce 6# 61# happyReduction_214+happyReduction_214 (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 happyOut31 happy_x_3 of { happy_var_3 -> +	case happyOut31 happy_x_5 of { happy_var_5 -> +	happyIn67+		 ((happy_var_3,happy_var_5)+	) `HappyStk` happyRest}}++happyReduce_215 = happyReduce 4# 62# happyReduction_215+happyReduction_215 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut70 happy_x_3 of { happy_var_3 -> +	happyIn68+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_216 = happySpecReduce_2  63# happyReduction_216+happyReduction_216 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn69+		 (happy_var_2+	)}++happyReduce_217 = happySpecReduce_3  64# happyReduction_217+happyReduction_217 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	happyIn70+		 ([(happy_var_1, happy_var_3)]+	)}}++happyReduce_218 = happyReduce 5# 64# 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)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	case happyOut70 happy_x_5 of { happy_var_5 -> +	happyIn70+		 ((happy_var_1,happy_var_3):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_219 = happySpecReduce_1  65# happyReduction_219+happyReduction_219 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn71+		 ([happy_var_1]+	)}++happyReduce_220 = happySpecReduce_2  65# happyReduction_220+happyReduction_220 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut71 happy_x_2 of { happy_var_2 -> +	happyIn71+		 (happy_var_1:happy_var_2+	)}}++happyReduce_221 = happySpecReduce_1  66# happyReduction_221+happyReduction_221 happy_x_1+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> +	happyIn72+		 (happy_var_1+	)}++happyReduce_222 = happySpecReduce_1  66# happyReduction_222+happyReduction_222 happy_x_1+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> +	happyIn72+		 (happy_var_1+	)}++happyReduce_223 = happySpecReduce_0  67# happyReduction_223+happyReduction_223  =  happyIn73+		 ([]+	)++happyReduce_224 = happySpecReduce_1  67# happyReduction_224+happyReduction_224 happy_x_1+	 =  case happyOut74 happy_x_1 of { happy_var_1 -> +	happyIn73+		 ([happy_var_1]+	)}++happyReduce_225 = happySpecReduce_3  67# happyReduction_225+happyReduction_225 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut74 happy_x_1 of { happy_var_1 -> +	case happyOut73 happy_x_3 of { happy_var_3 -> +	happyIn73+		 (happy_var_1:happy_var_3+	)}}++happyReduce_226 = happySpecReduce_2  68# happyReduction_226+happyReduction_226 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut75 happy_x_2 of { happy_var_2 -> +	happyIn74+		 (Full happy_var_1 happy_var_2+	)}}++happyReduce_227 = happySpecReduce_2  68# happyReduction_227+happyReduction_227 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut63 happy_x_2 of { happy_var_2 -> +	happyIn74+		 (Simple happy_var_1 happy_var_2+	)}}++happyReduce_228 = happySpecReduce_2  69# happyReduction_228+happyReduction_228 happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_2 of { happy_var_2 -> +	happyIn75+		 (happy_var_2+	)}++happyReduce_229 = happySpecReduce_2  70# happyReduction_229+happyReduction_229 happy_x_2+	happy_x_1+	 =  case happyOut37 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Intro happy_var_2+	)}++happyReduce_230 = happySpecReduce_1  70# happyReduction_230+happyReduction_230 happy_x_1+	 =  happyIn76+		 (Intro []+	)++happyReduce_231 = happySpecReduce_2  70# happyReduction_231+happyReduction_231 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Refine happy_var_2+	)}++happyReduce_232 = happySpecReduce_2  70# happyReduction_232+happyReduction_232 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Exists happy_var_2+	)}++happyReduce_233 = happySpecReduce_2  70# happyReduction_233+happyReduction_233 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Generalise happy_var_2+	)}++happyReduce_234 = happySpecReduce_1  70# happyReduction_234+happyReduction_234 happy_x_1+	 =  happyIn76+		 (ReflP+	)++happyReduce_235 = happySpecReduce_2  70# happyReduction_235+happyReduction_235 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Rewrite False False happy_var_2+	)}++happyReduce_236 = happySpecReduce_3  70# happyReduction_236+happyReduction_236 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn76+		 (Rewrite False True happy_var_3+	)}++happyReduce_237 = happySpecReduce_2  70# happyReduction_237+happyReduction_237 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Rewrite True False happy_var_2+	)}++happyReduce_238 = happySpecReduce_3  70# happyReduction_238+happyReduction_238 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn76+		 (Rewrite True True happy_var_3+	)}++happyReduce_239 = happySpecReduce_1  70# happyReduction_239+happyReduction_239 happy_x_1+	 =  happyIn76+		 (Compute+	)++happyReduce_240 = happySpecReduce_2  70# happyReduction_240+happyReduction_240 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Unfold happy_var_2+	)}++happyReduce_241 = happySpecReduce_1  70# happyReduction_241+happyReduction_241 happy_x_1+	 =  happyIn76+		 (Undo+	)++happyReduce_242 = happySpecReduce_2  70# happyReduction_242+happyReduction_242 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Induction happy_var_2+	)}++happyReduce_243 = happySpecReduce_2  70# happyReduction_243+happyReduction_243 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Fill happy_var_2+	)}++happyReduce_244 = happySpecReduce_1  70# happyReduction_244+happyReduction_244 happy_x_1+	 =  happyIn76+		 (Trivial+	)++happyReduce_245 = happySpecReduce_2  70# happyReduction_245+happyReduction_245 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (RunTactic happy_var_2+	)}++happyReduce_246 = happySpecReduce_2  70# happyReduction_246+happyReduction_246 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Believe happy_var_2+	)}++happyReduce_247 = happySpecReduce_2  70# happyReduction_247+happyReduction_247 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Use happy_var_2+	)}++happyReduce_248 = happySpecReduce_2  70# happyReduction_248+happyReduction_248 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Decide happy_var_2+	)}++happyReduce_249 = happySpecReduce_1  70# happyReduction_249+happyReduction_249 happy_x_1+	 =  happyIn76+		 (Abandon+	)++happyReduce_250 = happySpecReduce_1  70# happyReduction_250+happyReduction_250 happy_x_1+	 =  happyIn76+		 (ProofTerm+	)++happyReduce_251 = happySpecReduce_1  70# happyReduction_251+happyReduction_251 happy_x_1+	 =  happyIn76+		 (Qed+	)++happyReduce_252 = happyReduce 4# 71# happyReduction_252+happyReduction_252 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut78 happy_x_3 of { happy_var_3 -> +	happyIn77+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_253 = happySpecReduce_2  72# happyReduction_253+happyReduction_253 happy_x_2+	happy_x_1+	 =  case happyOut76 happy_x_1 of { happy_var_1 -> +	happyIn78+		 ([happy_var_1]+	)}++happyReduce_254 = happySpecReduce_3  72# happyReduction_254+happyReduction_254 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut76 happy_x_1 of { happy_var_1 -> +	case happyOut78 happy_x_3 of { happy_var_3 -> +	happyIn78+		 (happy_var_1:happy_var_3+	)}}++happyReduce_255 = happyMonadReduce 0# 73# happyReduction_255+happyReduction_255 (happyRest) tk+	 = happyThen (( getLineNo)+	) (\r -> happyReturn (happyIn79 r))++happyReduce_256 = happyMonadReduce 0# 74# happyReduction_256+happyReduction_256 (happyRest) tk+	 = happyThen (( getFileName)+	) (\r -> happyReturn (happyIn80 r))++happyReduce_257 = happyMonadReduce 0# 75# happyReduction_257+happyReduction_257 (happyRest) tk+	 = happyThen (( getOps)+	) (\r -> happyReturn (happyIn81 r))++happyNewToken action sts stk+	= lexer(\tk -> +	let cont i = happyDoAction i tk action sts stk in+	case tk of {+	TokenEOF -> happyDoAction 120# tk action sts stk;+	TokenName happy_dollar_dollar -> cont 1#;+	TokenInfixName happy_dollar_dollar -> cont 2#;+	TokenBrackName happy_dollar_dollar -> cont 3#;+	TokenString happy_dollar_dollar -> cont 4#;+	TokenInt happy_dollar_dollar -> cont 5#;+	TokenFloat happy_dollar_dollar -> cont 6#;+	TokenChar happy_dollar_dollar -> cont 7#;+	TokenBool happy_dollar_dollar -> cont 8#;+	TokenMetavar happy_dollar_dollar -> cont 9#;+	TokenColon -> cont 10#;+	TokenSemi -> cont 11#;+	TokenBar -> cont 12#;+	TokenStars -> cont 13#;+	TokenLambda -> cont 14#;+	TokenHashOB -> cont 15#;+	TokenOB -> cont 16#;+	TokenCB -> cont 17#;+	TokenOCB -> cont 18#;+	TokenCCB -> cont 19#;+	TokenOSB -> cont 20#;+	TokenCSB -> cont 21#;+	TokenOId -> cont 22#;+	TokenCId -> cont 23#;+	TokenLPair -> cont 24#;+	TokenRPair -> cont 25#;+	TokenExists -> cont 26#;+	TokenTilde -> cont 27#;+	TokenPlus -> cont 28#;+	TokenMinus -> cont 29#;+	TokenTimes -> cont 30#;+	TokenDivide -> cont 31#;+	TokenEquals -> cont 32#;+	TokenMightEqual -> cont 33#;+	TokenLT -> cont 34#;+	TokenGT -> cont 35#;+	TokenEllipsis -> cont 36#;+	TokenUnderscore -> cont 37#;+	TokenComma -> cont 38#;+	TokenTuple -> cont 39#;+	TokenBang -> cont 40#;+	TokenConcat -> cont 41#;+	TokenGE -> cont 42#;+	TokenLE -> cont 43#;+	TokenOr -> cont 44#;+	TokenAnd -> cont 45#;+	TokenArrow -> cont 46#;+	TokenFatArrow -> cont 47#;+	TokenTransArrow -> cont 48#;+	TokenLeftArrow -> cont 49#;+	TokenIntType -> cont 50#;+	TokenCharType -> cont 51#;+	TokenFloatType -> cont 52#;+	TokenStringType -> cont 53#;+	TokenHandleType -> cont 54#;+	TokenPtrType -> cont 55#;+	TokenLockType -> cont 56#;+	TokenType -> cont 57#;+	TokenLazyBracket -> cont 58#;+	TokenDataType -> cont 59#;+	TokenInfix -> cont 60#;+	TokenInfixL -> cont 61#;+	TokenInfixR -> cont 62#;+	TokenUsing -> cont 63#;+	TokenIdiom -> cont 64#;+	TokenParams -> cont 65#;+	TokenNamespace -> cont 66#;+	TokenPublic -> cont 67#;+	TokenPrivate -> cont 68#;+	TokenAbstract -> cont 69#;+	TokenNoElim -> cont 70#;+	TokenCollapsible -> cont 71#;+	TokenWhere -> cont 72#;+	TokenWith -> cont 73#;+	TokenPartial -> cont 74#;+	TokenSyntax -> cont 75#;+	TokenLazy -> cont 76#;+	TokenStatic -> cont 77#;+	TokenRefl -> cont 78#;+	TokenEmptyType -> cont 79#;+	TokenUnitType -> cont 80#;+	TokenInclude -> cont 81#;+	TokenExport -> cont 82#;+	TokenInline -> cont 83#;+	TokenDo -> cont 84#;+	TokenReturn -> cont 85#;+	TokenIf -> cont 86#;+	TokenThen -> cont 87#;+	TokenElse -> cont 88#;+	TokenLet -> cont 89#;+	TokenIn -> cont 90#;+	TokenProof -> cont 91#;+	TokenIntro -> cont 92#;+	TokenRefine -> cont 93#;+	TokenGeneralise -> cont 94#;+	TokenReflP -> cont 95#;+	TokenRewrite -> cont 96#;+	TokenRewriteAll -> cont 97#;+	TokenCompute -> cont 98#;+	TokenUnfold -> cont 99#;+	TokenUndo -> cont 100#;+	TokenInduction -> cont 101#;+	TokenFill -> cont 102#;+	TokenTrivial -> cont 103#;+	TokenMkTac -> cont 104#;+	TokenBelieve -> cont 105#;+	TokenUse -> cont 106#;+	TokenDecide -> cont 107#;+	TokenAbandon -> cont 108#;+	TokenProofTerm -> cont 109#;+	TokenQED -> cont 110#;+	TokenLaTeX -> cont 111#;+	TokenNoCG -> cont 112#;+	TokenEval -> cont 113#;+	TokenSpec -> cont 114#;+	TokenFreeze -> cont 115#;+	TokenThaw -> cont 116#;+	TokenTransform -> cont 117#;+	TokenCInclude -> cont 118#;+	TokenCLib -> cont 119#;+	_ -> happyError' tk+	})++happyError_ tk = happyError' tk++happyThen :: () => P a -> (a -> P b) -> P b+happyThen = (thenP)+happyReturn :: () => a -> P a+happyReturn = (returnP)+happyThen1 = happyThen+happyReturn1 :: () => a -> P a+happyReturn1 = happyReturn+happyError' :: () => (Token) -> P a+happyError' tk = (\token -> happyError) tk++mkparse = happySomeParser where+  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))++mkparseTerm = happySomeParser where+  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut33 x))++mkparseTactic = happySomeParser where+  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut76 x))++happySeq = happyDontSeq+++data ConParse = Full Id RawTerm+              | Simple Id [RawTerm]++parse :: String -> FilePath -> Result [Decl]+parse s fn = do ds <- mkparse s fn 1 []+                collectDecls ds++processImports :: [Opt] -> [FilePath] -> Result [Decl] -> +                  IO ([Decl], [FilePath])+processImports opts imped (Success ds) = pi imped [] ds+  where pi imps decls ((PInclude fp):xs)+           | fp `elem` imps = pi imps decls xs+           | otherwise = do+                 f <- readLibFile defaultLibPath fp+                 when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)+                 case parse f fp of+                   Success t -> pi (fp:imps) decls (t++xs)+                   Failure e f l ->+                     fail $ f ++ ":" ++ show l ++ ":" ++ e+        pi imps decls ((Using t ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Using t ds']) xs+        pi imps decls ((Params t ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Params t ds']) xs+        pi imps decls ((DoUsing b r ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[DoUsing b r ds']) xs+        pi imps decls ((Idiom b r ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Idiom b r ds']) xs+        pi imps decls ((Namespace n ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Namespace n ds']) xs+        pi imps decls (x:xs) = pi imps (decls++[x]) xs+        pi imps decls [] = return (decls, imps)++processImports _ imped (Failure e f l) +    = fail $ show f ++ ":" ++ show l ++ ":" ++ show e+++parseTerm :: String -> Result RawTerm+parseTerm s = mkparseTerm s "(input)" 0 []++parseTactic :: String -> Result ITactic+parseTactic s = mkparseTactic s "(tactic)" 0 []++mkCon :: RawTerm -> ConParse -> (Id,RawTerm)+mkCon _ (Full n t) = (n,t)+mkCon ty (Simple n args) = (n, mkConTy args ty)+   where mkConTy [] ty = ty+         mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex [] a) (mkConTy as ty)++mkDef file line (n, tms) = mkImpApp (RVar file line n) tms+   where mkImpApp f [] = f+         mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts+         mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts++doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm+doBind b [] t = t+doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)++doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm+doLetBind [] t = t+doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)++mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm+mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)+   where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)+         getTyArgs x = []++mkTyParams :: String -> Int -> [Id] -> RawTerm+mkTyParams f l [] = RConst f l TYPE+mkTyParams f l (x:xs) = RBind x (Pi Ex [] (RConst f l TYPE)) (mkTyParams f l xs)  mkDatatype :: String -> Int ->               Id -> Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]) -> 
dist/build/Idris/idris-tmp/Idris/Parser.hs view
@@ -29,3400 +29,3490 @@  -- parser produced by Happy Version 1.18.4 -newtype HappyAbsSyn t69 = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t69)-happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn t69) -> ([ParseDecl])-happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (ParseDecl) -> (HappyAbsSyn t69)-happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn t69) -> (ParseDecl)-happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (Decl) -> (HappyAbsSyn t69)-happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn t69) -> (Decl)-happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (ParseDecl) -> (HappyAbsSyn t69)-happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn t69) -> (ParseDecl)-happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (CGFlag) -> (HappyAbsSyn t69)-happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn t69) -> (CGFlag)-happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: (Bool) -> (HappyAbsSyn t69)-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn t69) -> (Bool)-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: ([ParseDecl]) -> (HappyAbsSyn t69)-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn t69) -> ([ParseDecl])-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: ([CGFlag]) -> (HappyAbsSyn t69)-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn t69) -> ([CGFlag])-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: ([Decl]) -> (HappyAbsSyn t69)-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn t69) -> ([Decl])-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: ([String]) -> (HappyAbsSyn t69)-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn t69) -> ([String])-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (String) -> (HappyAbsSyn t69)-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn t69) -> (String)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (Fixity) -> (HappyAbsSyn t69)-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn t69) -> (Fixity)-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: (Decl) -> (HappyAbsSyn t69)-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn t69) -> (Decl)-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: ([(Id,String)]) -> (HappyAbsSyn t69)-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn t69) -> ([(Id,String)])-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t69)-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn t69) -> ((Id, [(RawTerm, Maybe Id)]))-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t69)-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn t69) -> ([(RawTerm,Maybe Id)])-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (Datatype) -> (HappyAbsSyn t69)-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn t69) -> (Datatype)-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t69)-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn t69) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([TyOpt]) -> (HappyAbsSyn t69)-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn t69) -> ([TyOpt])-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: ([TyOpt]) -> (HappyAbsSyn t69)-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn t69) -> ([TyOpt])-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (TyOpt) -> (HappyAbsSyn t69)-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn t69) -> (TyOpt)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: (Id) -> (HappyAbsSyn t69)-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn t69) -> (Id)-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: ([Id]) -> (HappyAbsSyn t69)-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn t69) -> ([Id])-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: ([(Id, Int)]) -> (HappyAbsSyn t69)-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn t69) -> ([(Id, Int)])-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: ([Id]) -> (HappyAbsSyn t69)-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn t69) -> ([Id])-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: ([Id]) -> (HappyAbsSyn t69)-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn t69) -> ([Id])-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t69)-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn t69) -> ([(Id, RawTerm, RawTerm)])-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: ((Id, RawTerm)) -> (HappyAbsSyn t69)-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn t69) -> ((Id, RawTerm))-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (String) -> (HappyAbsSyn t69)-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn t69) -> (String)-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: ([Do]) -> (HappyAbsSyn t69)-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn t69) -> ([Do])-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ([Do]) -> (HappyAbsSyn t69)-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn t69) -> ([Do])-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (Do) -> (HappyAbsSyn t69)-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn t69) -> (Do)-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (Constant) -> (HappyAbsSyn t69)-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn t69) -> (Constant)-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: ([RawTerm]) -> (HappyAbsSyn t69)-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn t69) -> ([RawTerm])-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t69)-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn t69) -> ((RawTerm, [(Id, RawTerm)]))-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: ((Id,Id)) -> (HappyAbsSyn t69)-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn t69) -> ((Id,Id))-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: ((Id,Id)) -> (HappyAbsSyn t69)-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn t69) -> ((Id,Id))-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: (Id) -> (HappyAbsSyn t69)-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn t69) -> (Id)-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t69)-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn t69) -> ([(Id, RawTerm)])-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: ([Id]) -> (HappyAbsSyn t69)-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn t69) -> ([Id])-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: t69 -> (HappyAbsSyn t69)-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn t69) -> t69-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: ([ConParse]) -> (HappyAbsSyn t69)-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn t69) -> ([ConParse])-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: (ConParse) -> (HappyAbsSyn t69)-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn t69) -> (ConParse)-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (RawTerm) -> (HappyAbsSyn t69)-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn t69) -> (RawTerm)-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (ITactic) -> (HappyAbsSyn t69)-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn t69) -> (ITactic)-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: ([ITactic]) -> (HappyAbsSyn t69)-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn t69) -> ([ITactic])-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: ([ITactic]) -> (HappyAbsSyn t69)-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn t69) -> ([ITactic])-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (LineNumber) -> (HappyAbsSyn t69)-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn t69) -> (LineNumber)-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (String) -> (HappyAbsSyn t69)-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn t69) -> (String)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (Fixities) -> (HappyAbsSyn t69)-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn t69) -> (Fixities)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyInTok :: (Token) -> (HappyAbsSyn t69)-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn t69) -> (Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x1a\x00\x44\x05\x1e\x0e\x00\x00\xf2\x03\x13\x01\x13\x01\x44\x05\x00\x00\x46\x03\xf1\x02\x00\x00\x13\x01\x00\x00\x44\x05\x44\x05\x00\x00\x44\x05\x44\x05\x44\x05\x44\x05\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x01\x23\x09\x47\x02\x44\x05\x44\x05\x17\x08\x44\x05\x00\x00\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x05\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x44\x05\x6a\x00\xeb\x03\x01\x00\x00\x00\x00\x00\x01\x00\x5a\x04\x00\x00\x36\x04\x00\x00\x0d\x02\x4a\x04\x40\x04\x3f\x04\x3d\x04\x35\x04\x5d\x09\xb9\x01\x27\x04\x00\x00\x00\x00\x00\x00\x31\x04\x30\x04\x2a\x04\x6a\x00\x6a\x00\x34\x04\xf6\x03\x1d\x04\x2b\x04\x44\x05\x18\x04\x17\x04\x00\x00\x00\x00\x8b\x03\x0f\x04\x6a\x00\x06\x04\x0e\x04\x6a\x00\x00\x00\x6a\x00\x6a\x00\x6a\x00\x6a\x00\x12\x02\x03\x04\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x00\x17\x00\x00\x00\x00\x00\x9c\x02\x00\x00\x00\x00\x00\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\xcf\x00\x00\x00\xdd\x07\x08\x04\x0e\x01\xe9\x08\x00\x04\xe9\xff\x5d\x09\xb9\x01\x00\x00\x00\x00\x07\x04\xb7\x03\x8c\x02\x00\x00\x05\x04\xef\x04\x00\x00\x00\x00\x0b\x04\x00\x00\x0b\x04\x00\x00\x0c\x0a\xa8\x0a\xca\x01\xfc\x09\x9a\x04\xfb\x03\x9a\x04\x9a\x04\xf9\x03\xf8\x03\x9a\x04\x9a\x04\xb2\x01\x4e\x00\x00\x00\x9a\x04\xaf\x08\x6a\x00\xfd\x03\xce\x03\x00\x00\x17\x08\xe7\x03\x00\x00\x9a\x04\xdc\x03\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x00\x00\x8a\x01\x76\x01\x68\x01\x54\x01\x46\x01\x32\x01\x00\x00\x24\x01\x9a\x04\x10\x01\x9a\x04\xc4\x00\x00\x00\xd5\x03\x00\x00\x6a\x00\x5b\x00\x05\x00\x00\x00\xef\x03\xef\x03\xef\x03\xef\x03\xef\x03\x00\x00\x9a\x04\xef\x03\x17\x08\x00\x00\x00\x00\x00\x00\x9a\x04\xc7\x03\x23\x09\xe2\x03\xda\x03\xc0\x03\xb7\x01\xd4\x03\x86\x00\xcf\x03\x8f\x0a\x23\x09\x00\x00\x23\x09\xd0\x03\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x17\x09\x00\x00\x9a\x04\x00\x00\x9a\x04\x9a\x04\x9a\x04\x9a\x04\x9a\x04\xcd\x03\x00\x00\x00\x00\x9a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\x17\x09\xc4\x03\x45\x04\x6a\x00\x96\x03\x00\x00\xf0\x03\xf0\x03\xa6\x03\xba\x03\x9e\x03\xb3\x03\xf0\x03\xf0\x03\xf0\x03\x67\x03\x1e\x0e\xb4\x03\x97\x00\x03\x00\x97\x03\xdd\x07\xf0\x03\x00\x00\x00\x00\xa9\x03\xa8\x03\xa4\x03\xa2\x03\xa1\x03\x00\x00\x00\x00\xef\x09\x9f\x03\x00\x00\x00\x00\xf0\x03\xf0\x03\xf0\x03\x00\x00\x9a\x03\x86\x03\x00\x00\x00\x00\xe3\x00\x9d\x03\x94\x03\x80\x03\x87\x03\x6a\x00\x7d\x03\x01\x00\x6a\x00\x83\x03\x77\x03\x00\x00\xf0\x03\x82\x0a\x8d\x03\x00\x00\x69\x03\x00\x00\xf0\x03\x00\x00\x00\x00\x6a\x00\x00\x00\xe9\x08\x00\x00\x6a\x00\x6a\x00\x70\x03\xe9\x08\x00\x00\x00\x00\x12\x02\x00\x00\x80\x0a\x6d\x0a\x5a\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x0a\x00\x00\x6a\x00\x00\x00\x00\x00\xcd\x01\xcd\x01\x82\x03\x00\x00\x00\x00\x00\x00\x7c\x03\x78\x03\x23\x09\x7f\x03\x76\x03\x00\x00\x46\x0a\xac\x01\x32\x0a\x00\x00\xb9\x01\x00\x00\xf0\x03\xa7\x00\x45\x00\xf0\x03\x7b\x03\x00\x00\x00\x00\x00\x00\x57\x03\x76\x08\x00\x00\x51\x08\x29\x0a\x00\x00\x23\x09\x00\x00\x0e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x03\x00\x00\x6f\x03\x00\x00\x17\x08\x00\x00\x55\x03\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x23\x09\x54\x03\xe9\x08\x6a\x00\x53\x03\xe9\x08\x03\x00\x6a\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x51\x08\x00\x00\x00\x00\x00\x00\x00\x00\x23\x09\x00\x00\x88\x00\x23\x09\x1d\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x07\x00\x00\x69\x07\x00\x00\x2f\x07\x00\x00\xf5\x06\x65\x03\x63\x03\x62\x03\x5b\x03\x59\x03\x1c\x00\x00\x00\x00\x00\xf0\x03\xbb\x06\x49\x03\x17\x09\xf0\x03\x0a\x02\x00\x00\x82\x01\x5d\x03\x4c\x03\x00\x00\x1e\x0e\x03\x00\x36\x03\x6a\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x81\x06\x00\x00\x82\x01\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x47\x06\x52\x03\x4e\x03\x00\x00\x00\x00\x31\x03\x47\x03\x19\x0a\x6a\x00\x2b\x03\x00\x00\x6a\x00\x42\x03\x00\x00\x00\x00\x6a\x00\x00\x00\x6a\x00\x00\x00\x17\x08\x00\x00\x00\x00\xe9\x08\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x6a\x00\x82\x01\x3f\x03\x00\x00\x00\x00\x00\x00\x3d\x03\x00\x00\xfe\xff\x32\x03\xe9\x08\x00\x00\x6a\x00\x00\x00\x2f\x03\x6a\x00\x3e\x03\x00\x00\xf0\x03\x00\x00\x17\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x03\x0d\x03\x29\x03\x00\x00\x00\x00\x00\x00\x0a\x02\x0d\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x03\x00\x00\x00\x00\x12\x03\x6a\x00\x00\x00\x00\x00\x00\x00\x22\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x76\x08\x9b\x03\x00\x00\xd3\x05\x00\x00\x00\x00\x00\x00\x99\x05\x20\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x67\x09\x43\x0e\xef\x02\x00\x00\x00\x00\x91\x01\x16\x03\x32\x0e\x00\x00\x21\x0e\x10\x0e\x00\x00\x13\x03\x00\x00\xff\x0d\xee\x0d\x00\x00\xdd\x0d\xcc\x0d\xbb\x0d\xaa\x0d\x00\x00\x00\x00\xda\x02\x41\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x01\xaf\x06\xab\x0a\x99\x0d\x88\x0d\x58\x05\x77\x0d\x00\x00\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x0d\x00\x00\xd6\x02\xd5\x02\x00\x00\xd1\x02\x55\x0d\x4d\x01\x00\x00\xf4\x08\x00\x00\x00\x00\x72\x05\x00\x00\x00\x00\x11\x03\x00\x00\xb8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x07\x03\xfe\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x02\xf9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x41\x01\x00\x00\x86\x01\x00\x00\x00\x00\x0f\x01\x00\x00\x60\x00\xf6\x02\x48\x00\xf4\x02\x1f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x03\xc4\x02\x40\x01\x00\x00\xc3\x02\xbe\x0a\x00\x00\xb7\x02\xb6\x02\x1d\x05\xc8\x04\x73\x04\x1e\x04\xc9\x03\x00\x00\x04\x04\x00\x00\x00\x00\xce\x07\x00\x00\xc1\x02\xff\xff\x0b\x02\x00\x00\x00\x00\xd3\x02\x00\x00\x3d\x01\xad\x02\xd2\x02\xf1\x0a\xa8\x02\xa7\x02\x39\x01\xa5\x02\x36\x01\x00\x00\x17\x01\x17\x01\x27\x01\x8d\x00\x33\x0d\x00\x00\x22\x0d\x11\x0d\x00\x00\x00\x00\xbe\x09\xba\x09\x15\x01\x00\x00\x00\x00\x00\x0d\xc7\x05\x11\x02\xbb\x02\x00\x00\xa1\x02\x36\x05\x00\x00\xa0\x02\xef\x0c\x9e\x02\xde\x0c\xcd\x0c\xbc\x0c\xab\x0c\x9a\x0c\x9b\x02\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x14\x01\x00\x00\x14\x01\x89\x0c\x14\x01\x78\x0c\x14\x01\x00\x00\x00\x00\x00\x00\x87\x01\x14\x01\x14\x01\x00\x00\x0c\x01\x07\x01\x06\x01\x05\x01\xf8\x00\x9a\x02\x67\x0c\xe5\x00\x03\x05\x98\x02\x96\x02\x00\x00\x56\x0c\x00\x00\x75\x06\x00\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\xde\x00\x3b\x06\x00\x00\x39\x06\x00\x00\x95\x02\xd7\x00\x92\x02\xd2\x00\x91\x02\xd1\x00\x82\x02\xc1\x00\x81\x02\x9f\x09\x00\x00\x9b\x09\x45\x0c\x34\x0c\x40\x03\x80\x09\x00\x00\x00\x00\x80\x02\x23\x0c\x7f\x02\x7d\x02\x7c\x02\x00\x00\x00\x00\xe2\xff\xba\x00\x00\x00\xe0\x0a\x3f\x01\x00\x00\x00\x00\x12\x0c\x01\x0c\x00\x00\x00\x00\x00\x00\xba\x02\xf0\x0b\xdf\x0b\xce\x0b\x00\x00\xa6\x01\xbc\x01\x48\x02\x00\x00\x00\x00\xaf\x03\xbd\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x76\x02\xb8\x00\x00\x00\x75\x02\x6f\x02\xac\x0b\x9b\x0b\x8a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\xca\x02\x9f\x02\x00\x00\x00\x00\x00\x00\x79\x0b\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x0b\x00\x00\x00\x00\x9d\x02\x00\x00\x94\x07\x6a\x02\x08\x00\x30\x00\x00\x00\x5a\x07\x69\x02\x66\x02\xf1\x01\x00\x00\xb8\x00\xb8\x00\xb8\x00\x00\x00\x00\x00\x61\x02\x00\x00\x02\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x60\x02\x53\x01\x5f\x02\x00\x00\xee\x01\xbd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x06\x00\x00\x00\x00\x00\x00\xb8\x00\x0c\x00\xb8\x00\x00\x00\x95\x01\x00\x00\x57\x0b\xb8\x00\xb8\x00\x46\x0b\xd6\x01\x00\x00\x00\x00\x53\x02\x00\x00\xe1\x04\x00\x00\xe1\x04\xb8\x00\x52\x02\x7b\x05\x51\x02\xb8\x00\x00\x00\x4c\x02\x4b\x02\x43\x02\x41\x02\x40\x02\x3b\x02\x32\x02\x00\x00\x31\x02\x00\x00\x30\x02\xae\x04\x2c\x02\x00\x00\x2b\x02\x00\x00\x1e\x02\x00\x00\x01\x03\x57\x02\x00\x00\x20\x07\xd9\x01\x00\x00\xe6\x06\x00\x00\xf3\xff\xb8\x00\x25\x02\x22\x02\x00\x00\x20\x02\xb8\x00\x00\x00\x18\x02\x0e\x02\x04\x02\x01\x02\xf8\x01\x00\x00\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x01\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\xed\x01\xf3\x01\xe5\x01\xe0\x01\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x8c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x35\x0b\x8c\x04\x00\x00\xb5\x00\x24\x0b\x99\x00\x00\x00\x21\x02\x00\x00\x00\x00\x00\x00\x9f\x01\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\xc5\x01\x00\x00\xaf\x01\x5b\x02\xaa\x01\x99\x01\x00\x00\x00\x00\x00\x00\x97\x01\x7c\x01\x71\x01\x4a\x01\x1d\x09\x00\x00\x00\x00\x00\x00\x38\x01\x00\x00\x00\x00\x99\x00\x31\x01\x00\x00\x00\x00\x56\x01\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\xf9\xff\x00\x00\x59\x04\x00\x00\x00\x00\x72\x06\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x01\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x01\x00\x00\x0b\x01\xd9\x00\x00\x00\xe1\x00\x7b\x00\xa6\x00\x13\x0b\x00\x00\x3f\x00\x82\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x50\x00\xef\xff\x37\x04\x4b\x00\x00\x00\x38\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\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\x5c\x01\x28\x00\x00\x00\xdf\xff\x37\x04\xcf\x0a\xda\xff\x37\x04\x00\x00\x00\x00\x00\x00\x37\x04\x00\x00\x00\x00\xc8\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x32\xff\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\x00\x00\x00\x00\x1c\xff\x00\x00\x00\x00\x17\xff\x00\x00\x15\xff\x00\x00\x00\x00\x12\xff\x00\x00\x00\x00\x00\x00\x00\x00\x0d\xff\x0c\xff\x07\xff\x07\xff\x9e\xff\x83\xff\x51\xff\x52\xff\xa5\xff\x50\xff\x55\xff\x07\xff\xae\xff\x3a\xff\x3c\xff\x38\xff\x3b\xff\x39\xff\x5c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\xff\x00\x00\x42\xff\x41\xff\x40\xff\x43\xff\x3e\xff\x3f\xff\x3d\xff\x44\xff\x00\x00\x59\xff\x07\xff\x07\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x32\xff\xef\xff\xf8\xff\x32\xff\x00\x00\xf6\xff\xdb\xff\xf7\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xc1\xff\xc3\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\xed\xff\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\xc6\xff\xc5\xff\xc4\xff\x00\x00\x07\xff\x07\xff\xd9\xff\x07\xff\x00\x00\xa8\xff\x07\xff\x07\xff\x32\xff\x32\xff\x32\xff\x32\xff\x32\xff\xbd\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x73\xff\x00\x00\x07\xff\x08\xff\x73\xff\x00\x00\x08\xff\x08\xff\x07\xff\x07\xff\x07\xff\x5d\xff\x07\xff\x07\xff\x07\xff\x07\xff\x00\x00\x00\x00\xc7\xff\xc6\xff\x75\xff\x74\xff\x07\xff\x07\xff\x07\xff\x00\x00\x64\xff\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x08\xff\x00\x00\x00\x00\x08\xff\x00\x00\x07\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x16\xff\x07\xff\x00\x00\x07\xff\x00\x00\x07\xff\x1e\xff\x97\xff\x20\xff\x00\x00\x07\xff\x07\xff\x60\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x08\xff\x00\x00\x07\xff\x00\x00\x07\xff\x07\xff\x5a\xff\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x99\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\xa4\xff\x00\x00\x00\x00\x08\xff\x07\xff\x08\xff\x07\xff\x08\xff\x07\xff\x07\xff\x07\xff\x07\xff\x07\xff\x5e\xff\x07\xff\x75\xff\x74\xff\x07\xff\x07\xff\x00\x00\x54\xff\x07\xff\x00\x00\x08\xff\x08\xff\x08\xff\x58\xff\x57\xff\x07\xff\x07\xff\x00\x00\x48\xff\x00\x00\x00\x00\x5f\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x71\xff\xd2\xff\x6e\xff\x91\xff\xbc\xff\x00\x00\xe9\xff\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x08\xff\x07\xff\x00\x00\x08\xff\x08\xff\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\xb2\xff\xb0\xff\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x32\xff\x00\x00\x00\x00\x00\x00\xf5\xff\x00\x00\x07\xff\x00\x00\xc0\xff\x00\x00\xf9\xff\x00\x00\x8e\xff\x2e\xff\x00\x00\x31\xff\x00\x00\x07\xff\x2a\xff\x26\xff\x00\x00\x00\x00\x07\xff\x07\xff\x00\x00\xb3\xff\x07\xff\x07\xff\x07\xff\xaa\xff\xa9\xff\x07\xff\xd8\xff\x00\x00\xa7\xff\xa6\xff\xf0\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\x07\xff\x07\xff\x00\x00\x07\xff\xd4\xff\xd2\xff\xd2\xff\x00\x00\xcc\xff\xd0\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\x07\xff\x07\xff\x07\xff\xdc\xff\x00\x00\xca\xff\x00\x00\x07\xff\x07\xff\x00\x00\x73\xff\x49\xff\x4b\xff\x08\xff\x00\x00\xa1\xff\x5b\xff\x89\xff\x07\xff\x08\xff\x00\x00\x08\xff\x07\xff\x4c\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x00\x00\x08\xff\x00\x00\x08\xff\x00\x00\x07\xff\x6d\xff\x07\xff\x67\xff\x07\xff\x6a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\x07\xff\x08\xff\x08\xff\xa3\xff\x08\xff\x07\xff\x8b\xff\x08\xff\x08\xff\x08\xff\x08\xff\x08\xff\x96\xff\x84\xff\x87\xff\x85\xff\x86\xff\x88\xff\x81\xff\xa2\xff\x82\xff\x9b\xff\x98\xff\x00\x00\x9a\xff\x72\xff\x00\x00\x62\xff\x61\xff\x07\xff\x08\xff\x08\xff\x08\xff\xac\xff\x00\x00\x79\xff\x00\x00\x78\xff\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xff\x07\xff\x00\x00\x00\x00\x00\x00\x07\xff\x00\x00\x07\xff\xc8\xff\x00\x00\x00\x00\x00\x00\x0b\xff\x0a\xff\x70\xff\x00\x00\x00\x00\xcb\xff\x00\x00\xd1\xff\x08\xff\x90\xff\x08\xff\xbc\xff\x08\xff\x00\x00\xe5\xff\x00\x00\xb1\xff\x08\xff\x08\xff\x32\xff\x07\xff\x37\xff\x00\x00\x25\xff\x29\xff\x08\xff\x2c\xff\x00\x00\x07\xff\x00\x00\xbf\xff\xeb\xff\x00\x00\x00\x00\xee\xff\x2f\xff\x00\x00\xb8\xff\x26\xff\xb7\xff\x37\xff\x22\xff\x23\xff\x00\x00\x08\xff\x00\x00\xb6\xff\xb5\xff\x34\xff\x00\x00\xd5\xff\x00\x00\xd7\xff\xb9\xff\xba\xff\x00\x00\xd3\xff\x94\xff\x00\x00\x00\x00\x09\xff\x00\x00\x07\xff\x00\x00\x00\x00\x07\xff\x08\xff\x00\x00\x45\xff\x07\xff\x08\xff\x07\xff\x7b\xff\x77\xff\x7c\xff\x7f\xff\x7d\xff\x7e\xff\x80\xff\x76\xff\x7a\xff\xab\xff\x66\xff\x65\xff\x08\xff\x6c\xff\x6b\xff\x00\x00\x08\xff\x4f\xff\x08\xff\x07\xff\x00\x00\x08\xff\x8c\xff\x07\xff\x08\xff\x00\x00\x6f\xff\xce\xff\x95\xff\x00\x00\xea\xff\xe3\xff\xd6\xff\x00\x00\x35\xff\x33\xff\x21\xff\x36\xff\x24\xff\x2b\xff\x30\xff\xbe\xff\xe4\xff\x93\xff\x00\x00\x07\xff\xe6\xff\x08\xff\x9d\xff\x00\x00\x08\xff\x00\x00\x63\xff\x69\xff\x47\xff\x00\x00\x00\x00\xe8\xff\x08\xff\x92\xff\xe7\xff\x4a\xff\x46\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x0b\x00\x01\x00\x05\x00\x0a\x00\x02\x00\x07\x00\x02\x00\x03\x00\x20\x00\x21\x00\x29\x00\x19\x00\x0c\x00\x46\x00\x1c\x00\x0b\x00\x10\x00\x19\x00\x24\x00\x13\x00\x09\x00\x0a\x00\x0b\x00\x19\x00\x1a\x00\x03\x00\x01\x00\x20\x00\x21\x00\x02\x00\x02\x00\x46\x00\x19\x00\x1d\x00\x0c\x00\x26\x00\x46\x00\x0c\x00\x22\x00\x23\x00\x47\x00\x10\x00\x31\x00\x27\x00\x11\x00\x19\x00\x30\x00\x24\x00\x2e\x00\x49\x00\x2e\x00\x35\x00\x3f\x00\x47\x00\x20\x00\x21\x00\x40\x00\x41\x00\x07\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x27\x00\x49\x00\x3e\x00\x02\x00\x03\x00\x19\x00\x2e\x00\x2e\x00\x4b\x00\x19\x00\x1a\x00\x46\x00\x02\x00\x50\x00\x3d\x00\x47\x00\x53\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x11\x00\x49\x00\x19\x00\x1d\x00\x24\x00\x30\x00\x4b\x00\x0b\x00\x22\x00\x23\x00\x35\x00\x50\x00\x01\x00\x27\x00\x53\x00\x6d\x00\x47\x00\x40\x00\x41\x00\x71\x00\x2e\x00\x73\x00\x74\x00\x75\x00\x76\x00\x1d\x00\x19\x00\x10\x00\x76\x00\x2e\x00\x22\x00\x23\x00\x47\x00\x02\x00\x03\x00\x27\x00\x02\x00\x03\x00\x3d\x00\x47\x00\x6d\x00\x02\x00\x2e\x00\x02\x00\x71\x00\x0b\x00\x73\x00\x74\x00\x75\x00\x76\x00\x46\x00\x11\x00\x12\x00\x13\x00\x14\x00\x46\x00\x11\x00\x17\x00\x11\x00\x19\x00\x1d\x00\x57\x00\x3d\x00\x1d\x00\x24\x00\x22\x00\x23\x00\x46\x00\x22\x00\x23\x00\x27\x00\x20\x00\x26\x00\x27\x00\x02\x00\x03\x00\x14\x00\x2e\x00\x27\x00\x26\x00\x2e\x00\x2f\x00\x24\x00\x0b\x00\x46\x00\x2e\x00\x28\x00\x2e\x00\x47\x00\x11\x00\x12\x00\x13\x00\x14\x00\x03\x00\x24\x00\x17\x00\x29\x00\x19\x00\x15\x00\x47\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x46\x00\x22\x00\x23\x00\x12\x00\x22\x00\x26\x00\x27\x00\x0b\x00\x01\x00\x76\x00\x51\x00\x52\x00\x47\x00\x2e\x00\x2f\x00\x56\x00\x57\x00\x24\x00\x59\x00\x0c\x00\x24\x00\x47\x00\x24\x00\x10\x00\x47\x00\x1d\x00\x13\x00\x37\x00\x01\x00\x24\x00\x22\x00\x23\x00\x51\x00\x52\x00\x3e\x00\x27\x00\x46\x00\x0a\x00\x0b\x00\x6e\x00\x6f\x00\x70\x00\x2e\x00\x10\x00\x76\x00\x24\x00\x24\x00\x76\x00\x51\x00\x52\x00\x19\x00\x24\x00\x47\x00\x56\x00\x57\x00\x47\x00\x59\x00\x47\x00\x24\x00\x20\x00\x23\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x24\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x02\x00\x03\x00\x01\x00\x6e\x00\x6f\x00\x70\x00\x47\x00\x47\x00\x4b\x00\x0b\x00\x24\x00\x76\x00\x47\x00\x50\x00\x47\x00\x13\x00\x53\x00\x10\x00\x19\x00\x47\x00\x02\x00\x03\x00\x19\x00\x24\x00\x24\x00\x24\x00\x47\x00\x1d\x00\x20\x00\x0b\x00\x24\x00\x22\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x24\x00\x76\x00\x24\x00\x6d\x00\x0b\x00\x2e\x00\x47\x00\x71\x00\x1d\x00\x73\x00\x74\x00\x75\x00\x46\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x29\x00\x0b\x00\x2e\x00\x47\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x24\x00\x47\x00\x47\x00\x24\x00\x47\x00\x0b\x00\x2e\x00\x24\x00\x23\x00\x1d\x00\x24\x00\x24\x00\x19\x00\x11\x00\x22\x00\x23\x00\x02\x00\x03\x00\x19\x00\x27\x00\x47\x00\x19\x00\x23\x00\x1d\x00\x1f\x00\x0b\x00\x2e\x00\x19\x00\x22\x00\x23\x00\x02\x00\x03\x00\x03\x00\x27\x00\x20\x00\x47\x00\x46\x00\x08\x00\x47\x00\x0b\x00\x2e\x00\x01\x00\x47\x00\x1d\x00\x76\x00\x47\x00\x47\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x0c\x00\x27\x00\x19\x00\x47\x00\x10\x00\x1d\x00\x19\x00\x0b\x00\x2e\x00\x11\x00\x22\x00\x23\x00\x76\x00\x20\x00\x03\x00\x27\x00\x19\x00\x19\x00\x19\x00\x08\x00\x0d\x00\x0e\x00\x2e\x00\x20\x00\x1f\x00\x1d\x00\x76\x00\x38\x00\x19\x00\x12\x00\x22\x00\x23\x00\x02\x00\x03\x00\x1f\x00\x27\x00\x19\x00\x19\x00\x02\x00\x03\x00\x1c\x00\x0b\x00\x2e\x00\x19\x00\x1a\x00\x02\x00\x76\x00\x0b\x00\x0c\x00\x0d\x00\x14\x00\x0a\x00\x46\x00\x11\x00\x0d\x00\x13\x00\x14\x00\x0a\x00\x0b\x00\x1d\x00\x76\x00\x13\x00\x2c\x00\x2d\x00\x22\x00\x23\x00\x47\x00\x19\x00\x20\x00\x27\x00\x0a\x00\x35\x00\x1d\x00\x0d\x00\x26\x00\x27\x00\x2e\x00\x22\x00\x23\x00\x46\x00\x76\x00\x27\x00\x2e\x00\x2f\x00\x43\x00\x31\x00\x45\x00\x2d\x00\x2a\x00\x2f\x00\x30\x00\x43\x00\x32\x00\x45\x00\x76\x00\x35\x00\x19\x00\x1a\x00\x46\x00\x3f\x00\x19\x00\x19\x00\x1a\x00\x46\x00\x1d\x00\x1e\x00\x0a\x00\x0b\x00\x48\x00\x21\x00\x44\x00\x51\x00\x52\x00\x29\x00\x76\x00\x2c\x00\x2d\x00\x51\x00\x52\x00\x2b\x00\x2c\x00\x2d\x00\x17\x00\x18\x00\x35\x00\x46\x00\x02\x00\x03\x00\x01\x00\x35\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0d\x00\x0e\x00\x6e\x00\x6f\x00\x70\x00\x10\x00\x51\x00\x52\x00\x6e\x00\x6f\x00\x70\x00\x16\x00\x03\x00\x18\x00\x46\x00\x1d\x00\x1b\x00\x08\x00\x19\x00\x46\x00\x22\x00\x23\x00\x1d\x00\x1e\x00\x26\x00\x27\x00\x25\x00\x12\x00\x47\x00\x28\x00\x17\x00\x18\x00\x2e\x00\x46\x00\x19\x00\x6e\x00\x6f\x00\x70\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x01\x00\x02\x00\x46\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x09\x00\x0a\x00\x0b\x00\x46\x00\x0e\x00\x0f\x00\x10\x00\x46\x00\x47\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\x46\x00\x18\x00\x53\x00\x54\x00\x1b\x00\x59\x00\x1d\x00\x47\x00\x46\x00\x5a\x00\x46\x00\x22\x00\x23\x00\x46\x00\x25\x00\x26\x00\x13\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x46\x00\x27\x00\x2c\x00\x2d\x00\x2e\x00\x46\x00\x46\x00\x2d\x00\x46\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x46\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x02\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x47\x00\x47\x00\x47\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x47\x00\x22\x00\x23\x00\x47\x00\x47\x00\x16\x00\x27\x00\x18\x00\x46\x00\x19\x00\x1b\x00\x19\x00\x1d\x00\x2e\x00\x46\x00\x46\x00\x46\x00\x22\x00\x23\x00\x06\x00\x25\x00\x46\x00\x46\x00\x28\x00\x46\x00\x05\x00\x47\x00\x47\x00\x47\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x46\x00\x46\x00\x0f\x00\x10\x00\x46\x00\x12\x00\x47\x00\x14\x00\x47\x00\x46\x00\x46\x00\x56\x00\x19\x00\x29\x00\x47\x00\x46\x00\x46\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x47\x00\x46\x00\x46\x00\x53\x00\x54\x00\x55\x00\x01\x00\x46\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x29\x00\x29\x00\x47\x00\x47\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x05\x00\x18\x00\x47\x00\x47\x00\x1b\x00\x19\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x19\x00\x19\x00\x16\x00\x0e\x00\x25\x00\x06\x00\x47\x00\x28\x00\x19\x00\x1a\x00\x47\x00\x47\x00\x19\x00\x11\x00\x47\x00\x47\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x19\x00\x2c\x00\x2d\x00\x19\x00\x22\x00\x23\x00\x43\x00\x13\x00\x26\x00\x27\x00\x35\x00\x15\x00\x26\x00\x15\x00\x11\x00\x2e\x00\x2e\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x03\x00\x13\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x0b\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x48\x00\x26\x00\x13\x00\x11\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x11\x00\x19\x00\x0c\x00\x1b\x00\x16\x00\x0b\x00\x18\x00\x14\x00\x14\x00\x1b\x00\x15\x00\x1d\x00\x2e\x00\x25\x00\x26\x00\x27\x00\x0b\x00\x20\x00\x11\x00\x25\x00\x11\x00\x2d\x00\x28\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x11\x00\x11\x00\x35\x00\x11\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x2e\x00\x2e\x00\x2e\x00\x11\x00\x0a\x00\x04\x00\x47\x00\x31\x00\x13\x00\x0b\x00\x13\x00\x10\x00\x02\x00\x03\x00\x26\x00\x20\x00\x04\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x13\x00\x20\x00\x11\x00\x53\x00\x54\x00\x55\x00\x01\x00\x20\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x11\x00\x26\x00\x0a\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x26\x00\x22\x00\x23\x00\x15\x00\x11\x00\x16\x00\x27\x00\x18\x00\x13\x00\x13\x00\x1b\x00\x13\x00\x1d\x00\x2e\x00\x2f\x00\x13\x00\x13\x00\x26\x00\x0a\x00\x0c\x00\x25\x00\x5a\x00\x13\x00\x28\x00\x26\x00\x0b\x00\x20\x00\x31\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x13\x00\x0f\x00\x10\x00\x0d\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x11\x00\x32\x00\x19\x00\x13\x00\x35\x00\x11\x00\x26\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x11\x00\x0a\x00\x26\x00\x53\x00\x54\x00\x55\x00\x01\x00\x03\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x13\x00\x26\x00\x20\x00\x2f\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x0a\x00\x18\x00\x11\x00\x11\x00\x1b\x00\x11\x00\x1d\x00\x03\x00\x0a\x00\x59\x00\x0a\x00\x12\x00\x0b\x00\x11\x00\x25\x00\x10\x00\x13\x00\x28\x00\x0b\x00\x0b\x00\x04\x00\x04\x00\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\x01\x00\x0f\x00\x10\x00\x12\x00\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\x3f\x00\x32\x00\x19\x00\x04\x00\x35\x00\x10\x00\x14\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x10\x00\x10\x00\x0c\x00\x53\x00\x54\x00\x55\x00\x01\x00\x12\x00\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x12\x00\x19\x00\x12\x00\x12\x00\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x12\x00\x18\x00\x27\x00\x05\x00\x1b\x00\x76\x00\x1d\x00\x20\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x76\x00\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\x36\x00\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\xff\xff\x18\x00\x27\x00\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x25\x00\xff\xff\x35\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\x27\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\x2d\x00\x14\x00\x2f\x00\x30\x00\xff\xff\x32\x00\x19\x00\xff\xff\x35\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x19\x00\x1a\x00\xff\xff\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x58\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x10\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x16\x00\x35\x00\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\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\x0e\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\x1d\x00\x1e\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\x35\x00\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x35\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x16\x00\xff\xff\x18\x00\x53\x00\x54\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x16\x00\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\x25\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x02\x00\x03\x00\xff\xff\x53\x00\x54\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x01\x00\x02\x00\x13\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\x4d\x00\x4e\x00\x4f\x00\x27\x00\xff\xff\xff\xff\x53\x00\x54\x00\xff\xff\x1d\x00\x2e\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x25\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x0f\x00\x10\x00\x1d\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\x2e\x00\xff\xff\xff\xff\x25\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x36\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\x42\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x0c\x00\xff\xff\x18\x00\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x25\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\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\xff\xff\x19\x00\x35\x00\x1b\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\x47\x00\x25\x00\x26\x00\x27\x00\x47\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x2d\x00\x32\x00\x2f\x00\x30\x00\x35\x00\x32\x00\x02\x00\x03\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\x11\x00\x47\x00\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\x11\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\xff\xff\xff\xff\x1d\x00\xff\xff\x02\x00\x03\x00\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x0b\x00\x19\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x19\x00\xff\xff\x12\x00\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x1d\x00\x27\x00\x0b\x00\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x2e\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\x13\x00\x12\x00\x27\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x1d\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x02\x00\x03\x00\x2e\x00\xff\xff\x2e\x00\xff\xff\x1d\x00\x0b\x00\xff\xff\x0b\x00\xff\xff\x22\x00\x23\x00\x02\x00\x03\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x1d\x00\xff\xff\x1d\x00\x11\x00\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\x02\x00\x03\x00\x1d\x00\xff\xff\x2e\x00\xff\xff\x2e\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x1d\x00\x1b\x00\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x0e\x00\xff\xff\xff\xff\x27\x00\x25\x00\x26\x00\x27\x00\x28\x00\xff\xff\xff\xff\x2e\x00\x19\x00\x2d\x00\x1b\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\x35\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x0c\x02\x22\x00\x42\x02\xdc\x00\xe5\x00\x0d\x01\xb3\x00\xb4\x00\x10\x01\x11\x01\x7d\x01\xac\x00\x51\x00\x61\x02\xb7\x01\x18\xff\x52\x00\xf2\x01\xb0\x00\xfc\xff\xdb\x01\x62\x01\x63\x01\x76\x00\x77\x00\xb4\x00\x22\x00\x28\x01\x29\x01\xe5\x00\xe5\x00\x5c\x02\x47\x01\xb5\x00\xda\xff\x43\x02\x5e\x02\x51\x00\xb6\x00\xb7\x00\xb9\x00\x52\x00\x73\xff\xb8\x00\x25\x02\x2f\x01\x78\x00\xb0\x00\xe7\x00\x12\x01\xb9\x00\x79\x00\x57\x00\x57\x02\xda\xff\xda\xff\x4b\x02\xf4\x01\x75\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x9b\x01\x12\x01\xf5\x01\xb3\x00\xb4\x00\xf2\x01\xe7\x00\xe7\x00\x5b\x00\x76\x00\x77\x00\x53\x02\xe5\x00\x5c\x00\x4c\x02\xb1\x00\x5d\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\xe6\x00\xda\xff\x2f\x01\xb5\x00\xb0\x00\x78\x00\x5b\x00\x1a\xff\xb6\x00\xb7\x00\x79\x00\x5c\x00\x22\x00\xb8\x00\x5d\x00\x5e\x00\x5f\x02\xf3\x01\xf4\x01\x5f\x00\xb9\x00\x60\x00\x61\x00\x62\x00\xfc\xff\xb5\x00\x2f\x01\x52\x00\x18\xff\xe7\x00\xb6\x00\xb7\x00\x54\x02\xb3\x00\xb4\x00\xb8\x00\xb3\x00\xb4\x00\x30\x01\x37\x02\x5e\x00\xe5\x00\xb9\x00\xe5\x00\x5f\x00\xa0\xff\x60\x00\x61\x00\x62\x00\xfc\xff\x55\x02\xa0\xff\xa0\xff\xa0\xff\xa0\xff\x58\x02\x99\x01\xa0\xff\x6e\xff\xa0\xff\xb5\x00\xd8\x01\x32\x01\xb5\x00\xb0\x00\xb6\x00\xb7\x00\x59\x02\xb6\x00\xb7\x00\xb8\x00\x9a\x01\xa0\xff\xb8\x00\xb3\x00\xb4\x00\x65\x01\xb9\x00\x9b\x01\x6e\xff\xb9\x00\xa0\xff\xb0\x00\x9f\xff\x34\x02\xe7\x00\xf0\x00\xe7\x00\x35\x02\x9f\xff\x9f\xff\x9f\xff\x9f\xff\x93\x00\xb0\x00\x9f\xff\xf8\x00\x9f\xff\x46\x01\x3a\x02\x33\x01\xb5\x00\x47\x01\xb3\x00\xb4\x00\x36\x02\xb6\x00\xb7\x00\x94\x00\x41\x01\x9f\xff\xb8\x00\x1d\xff\x22\x00\x1a\xff\xa0\xff\xa0\xff\xb1\x00\xb9\x00\x9f\xff\xa0\xff\xa0\xff\xb0\x00\xa0\xff\x51\x00\xb0\x00\x25\x01\xb0\x00\x52\x00\xb1\x00\xb5\x00\xfc\xff\x48\x01\x22\x00\xb0\x00\xb6\x00\xb7\x00\x66\x01\x67\x01\x49\x01\xb8\x00\x39\x02\x4b\x01\x4c\x01\xa0\xff\xa0\xff\xa0\xff\xb9\x00\x52\x00\xff\xff\xb0\x00\xb0\x00\xa0\xff\x9f\xff\x9f\xff\x8e\x00\xb0\x00\x1f\x02\x9f\xff\x9f\xff\xb1\x00\x9f\xff\x7c\x01\xb0\x00\x4d\x01\x3b\x02\x68\x01\x69\x01\x6a\x01\x8b\x01\xb0\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xb3\x00\xb4\x00\x22\x00\x9f\xff\x9f\xff\x9f\xff\x8d\x01\x8f\x01\x5b\x00\x1b\xff\xb0\x00\x9f\xff\x91\x01\x5c\x00\x3d\x02\x18\x01\x5d\x00\x52\x00\x3e\x02\xb1\x00\xb3\x00\xb4\x00\x33\x01\xb0\x00\xb0\x00\xb0\x00\xa6\x01\xb5\x00\x19\x01\x19\xff\xb0\x00\x34\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x46\x02\xb8\x00\xb0\x00\xe7\x00\x1d\xff\xb0\x00\x5e\x00\x14\xff\xb9\x00\xa9\x01\x5f\x00\xb5\x00\x60\x00\x61\x00\x62\x00\x48\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xfe\x01\xb8\x00\xaa\x01\xab\x01\xac\x01\xb5\x00\xf8\x00\x13\xff\xb9\x00\xad\x01\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x79\x01\xb8\x00\xb0\x00\xb1\x00\xe8\x00\xb0\x00\xb1\x00\x11\xff\xb9\x00\xb0\x00\x8f\x00\xb5\x00\xe7\x00\xb0\x00\x8e\x00\x4e\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc7\x00\xb8\x00\xb9\x00\x38\x01\x8f\x00\xb5\x00\xe6\x01\x10\xff\xb9\x00\x16\x02\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x0f\x02\xb8\x00\x60\x02\xfc\x00\x02\x02\x45\x02\xfe\x00\x0f\xff\xb9\x00\x22\x00\xb1\x00\xb5\x00\x1b\xff\xe8\x00\xb1\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x51\x00\xb8\x00\x4a\x00\x09\x02\x52\x00\xb5\x00\x16\x02\x0e\xff\xb9\x00\x37\x01\xb6\x00\xb7\x00\x19\xff\x50\x02\x0f\x02\xb8\x00\x16\x02\x38\x01\xc7\x00\x10\x02\xd9\x01\x0c\x01\xb9\x00\x17\x02\xae\x01\xb5\x00\x14\xff\x0a\x02\xc7\x00\x48\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\xc8\x00\xb8\x00\x4a\x00\xac\x00\x68\xff\xb4\x00\xad\x00\xd2\xff\xb9\x00\x76\x00\xa6\x00\x72\x00\x13\xff\x68\xff\x68\xff\x68\xff\x65\x01\x9d\x01\x0c\x02\x68\xff\x73\xff\x68\xff\x68\xff\xe3\x01\x63\x01\xb5\x00\x11\xff\x83\x00\x32\x02\xa8\x00\xb6\x00\xb7\x00\x23\x02\x17\x00\x68\xff\xb8\x00\xdc\x00\x79\x00\x73\x00\x73\xff\x68\xff\x68\xff\xb9\x00\x74\x00\x75\x00\x0d\x02\x10\xff\x1b\x00\x68\xff\x68\xff\x6c\x01\x68\xff\x19\x02\x1c\x00\x6a\x01\x84\x00\x1e\x00\x6c\x01\x1f\x00\x6d\x01\x0f\xff\x20\x00\x76\x00\xa6\x00\x11\x02\x68\xff\xdc\x00\x76\x00\xa6\x00\x13\x02\xba\x01\xde\x00\xe4\x01\x63\x01\x68\xff\x13\x01\x85\x00\x66\x01\x67\x01\xd5\x01\x0e\xff\x33\x02\xa8\x00\x68\xff\x68\xff\x3f\x02\x15\x01\xa8\x00\xed\x01\x2b\x01\x79\x00\x14\x02\xb3\x00\xb4\x00\x22\x00\x79\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x88\x00\x0b\x01\x0c\x01\x68\x01\x69\x01\x6a\x01\x2b\x00\x66\x01\x67\x01\x68\xff\x68\xff\x68\xff\x2c\x00\x0f\x02\x2d\x00\x2e\x02\xb5\x00\x2e\x00\x1c\x02\xdc\x00\x2f\x02\xb6\x00\xb7\x00\xdd\x00\xde\x00\x1e\x02\xb8\x00\x30\x00\x48\x00\x31\x02\x31\x00\x2a\x01\x2b\x01\xb9\x00\x30\x02\x4a\x00\x68\x01\x69\x01\x6a\x01\xaf\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb0\x01\x22\x00\xa1\x00\xb1\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x61\x01\x62\x01\x63\x01\xb2\x01\x29\x00\x2a\x00\x2b\x00\x2d\x01\x2e\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\xb3\x01\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x8d\xff\xa2\x00\xc0\x01\xb4\x01\x89\x00\xb5\x01\xa3\x00\xa4\x00\xb6\x01\x30\x00\xa5\x00\x12\x02\x31\x00\x76\x00\xa6\x00\xc1\x01\xc2\x01\x17\x00\xa6\x00\xc4\x01\xc6\x01\xc8\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc9\x01\x1b\x00\xbd\x01\xa8\x00\xbe\x01\xca\x01\xcb\x01\x1c\x00\xcc\x01\x84\x00\x1e\x00\x79\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\xcd\x01\xce\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xcf\x01\xd1\x01\xd4\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x72\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xe5\x01\xe7\x01\xe9\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\xee\x01\xb6\x00\xb7\x00\xef\x01\xf6\x01\x2c\x00\xb8\x00\x2d\x00\x52\x01\xf8\x01\x2e\x00\x3e\x01\xa2\x00\xb9\x00\x53\x01\x57\x01\x58\x01\x74\x00\x75\x00\x72\x01\x30\x00\x7e\x01\x7f\x01\x31\x00\x80\x01\x0e\x01\x82\x01\x8a\x01\x8c\x01\x3f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x8e\x01\x90\x01\x46\x00\x47\x00\x92\x01\x48\x00\xa3\x01\x49\x00\xa4\x01\xa8\x01\xcc\x00\x09\x01\x4a\x00\xda\x00\xd2\x00\xd5\x00\xd8\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xfd\x00\xff\x00\x00\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x07\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x06\x01\x0a\x01\x20\x01\x21\x01\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x26\x01\x2d\x00\x24\x01\x25\x01\x2e\x00\x2e\x01\x2f\x00\x31\x01\xb3\x00\xb4\x00\x69\x00\x6a\x00\x6e\x00\x70\x00\x30\x00\x89\x00\x91\x00\x31\x00\x76\x00\xa6\x00\x94\x00\x95\x00\x97\x00\x4d\xff\xae\x00\xb9\x00\xc3\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xb5\x00\xc0\x00\xbf\x01\xa8\x00\xc6\x00\xb6\x00\xb7\x00\x04\x00\x63\x02\x57\x01\xb8\x00\x79\x00\x50\x02\x52\x02\x53\x02\x5b\x02\xe7\x00\xb9\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x3d\x02\x41\x02\x3e\x00\x3f\x00\x40\x00\x22\x00\x44\x02\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x48\x02\xfe\x01\x45\x02\x4e\x02\x29\x00\x2a\x00\x2b\x00\x02\x02\x01\x02\x17\x00\x04\x02\x85\x01\x2c\x00\x05\x02\x2d\x00\x0f\x02\x1b\x02\x2e\x00\x16\x02\x2f\x00\x19\x02\x19\x00\x1a\x00\x1b\x00\x1c\x02\x21\x02\x26\x02\x30\x00\x27\x02\x1c\x00\x31\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x28\x02\x29\x02\x20\x00\x2a\x02\xc5\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xc6\x01\xba\x01\xbd\x01\xe7\x00\xc8\x01\xdc\x00\xe3\x01\x87\x01\xd4\x01\xde\x01\xdf\x01\xe1\x01\xe2\x01\xb3\x00\xb4\x00\xfb\x01\xf2\x01\xfc\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x01\x3d\x01\x43\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x41\x01\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x45\x01\x44\x01\x46\x01\xb5\x00\x29\x00\x2a\x00\x2b\x00\x4e\x01\xb6\x00\xb7\x00\x4f\x01\x55\x01\x2c\x00\xb8\x00\x2d\x00\x5a\x01\x5b\x01\x2e\x00\x5c\x01\x2f\x00\xb9\x00\x3b\x01\x5d\x01\x5e\x01\x61\x01\x6c\x01\x8b\x00\x30\x00\x6f\x01\x5f\x01\x31\x00\x74\x01\x75\x01\x76\x01\x79\x01\x17\x00\x1b\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x7c\x01\x46\x00\x47\x00\x84\x01\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x98\x01\x1f\x00\x4a\x00\x94\x01\x20\x00\x9c\x01\x9e\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x9f\x01\xa0\x01\xa2\x01\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xd7\x00\xca\x00\xd4\x00\xda\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\xdc\x00\x2d\x00\xc4\xff\xc5\xff\x2e\x00\xef\x00\x2f\x00\x00\x00\xdc\x00\x0a\x01\xdc\x00\x13\x01\x1a\x01\x2a\x01\x30\x00\x37\x01\x1a\x01\x31\x00\x36\x01\x3a\x01\x63\x00\x64\x00\x17\x00\x1c\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x66\x00\x46\x00\x47\x00\x67\x00\x48\x00\x1c\x00\x49\x00\x84\x00\x1e\x00\x68\x00\x1f\x00\x4a\x00\x69\x00\x20\x00\x6c\x00\x70\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x6d\x00\x6e\x00\x8b\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x7f\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x80\x00\x17\x00\x81\x00\x82\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x83\x00\x2d\x00\x1b\x00\x8c\x00\x2e\x00\xff\xff\x2f\x00\xb0\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\xff\xff\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1d\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x4a\x02\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1e\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xc3\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x1f\x01\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\xa5\x01\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x06\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x17\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x00\x00\x2d\x00\x1b\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x1c\x00\x00\x00\xd7\x00\x1e\x00\x00\x00\x1f\x00\x30\x00\x00\x00\x20\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x8c\x00\x42\x00\x43\x00\x44\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x45\x00\x1b\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x1c\x00\x49\x00\x99\x00\x1e\x00\x00\x00\x1f\x00\x4a\x00\x00\x00\x20\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x76\x00\xa6\x00\x00\x00\x3e\x00\x3f\x00\x40\x00\x22\x00\x00\x00\x41\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x64\x02\x00\x00\x00\x00\xd0\x01\xa8\x00\x2b\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x2c\x00\x79\x00\x2d\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x70\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x5c\x02\x00\x00\xdf\x00\xa6\x00\x00\x00\x2b\x00\xe0\x00\xde\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\xa8\x00\xe2\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x57\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x09\x02\x76\x00\xa6\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x94\x01\xa8\x00\x95\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x79\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x49\x02\x15\x01\xa8\x00\x00\x00\xa0\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x22\x02\x00\x00\x76\x00\xa6\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x79\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2b\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xb8\x01\xbb\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2d\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf0\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2e\x02\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\xf7\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x87\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x76\x00\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x13\x01\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x14\x01\x15\x01\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x79\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x00\x00\x2d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\xb3\x00\xb4\x00\x00\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x72\x00\x8a\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\x00\x00\xaa\x00\xab\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\xb9\x00\x00\x00\x00\x00\x00\x00\x74\x00\x75\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x17\x01\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x00\x00\x8d\x00\x42\x00\x43\x00\x44\x00\xaa\x00\xab\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\xb4\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\xaa\x00\xab\x00\xb5\x00\x00\x00\x17\x00\x7d\x00\x7e\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\xb9\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x1c\x00\x00\x00\x05\x02\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x06\x02\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xac\x00\x22\x00\x07\x02\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x00\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x45\x00\x00\x00\x2d\x00\x46\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xd1\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x84\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\x00\x00\x17\x00\x20\x00\xe9\x00\x00\x00\x17\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x88\x01\x19\x00\x1a\x00\x1b\x00\x89\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x1c\x00\x1f\x00\x1d\x00\x1e\x00\x20\x00\x1f\x00\xb3\x00\xb4\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\xb4\x00\x56\x01\xea\x00\x00\x00\x00\x00\x00\x00\xec\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf3\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x57\x01\xb8\x00\x00\x00\x00\x00\xf4\x00\x00\x00\xb3\x00\xb4\x00\xb9\x00\xf5\x00\xf6\x00\x00\x00\x00\x00\xf7\x00\xb8\x00\x00\x02\xfb\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xf8\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xfc\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\xd3\x01\x00\x00\xdb\x01\x00\x00\xb5\x00\xb9\x00\xb3\x00\xb4\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\xb5\x00\xb8\x00\xdd\x01\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xb9\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x00\x00\xe9\x01\xeb\x01\xb8\x00\x00\x00\xb3\x00\xb4\x00\x00\x00\x00\x00\x00\x00\xb9\x00\xb5\x00\x00\x00\xb5\x00\xec\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb3\x00\xb4\x00\xb9\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\xed\x01\x00\x00\xfd\x01\x00\x00\xb6\x00\xb7\x00\xb3\x00\xb4\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xb5\x00\x00\x00\xb5\x00\x97\x01\x00\x00\xb6\x00\xb7\x00\xb6\x00\xb7\x00\x00\x00\xb8\x00\x00\x00\xb8\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\xb9\x00\x00\x00\xb9\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\xb5\x00\x9d\x00\x00\x00\x00\x00\x00\x00\xb6\x00\xb7\x00\x70\x00\x00\x00\x00\x00\xb8\x00\x19\x00\x1a\x00\x1b\x00\x9e\x00\x00\x00\x00\x00\xb9\x00\x17\x00\x1c\x00\x22\x01\x1d\x00\x1e\x00\x9f\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x23\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x5d\x02\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x01\x01\x00\x00\x02\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x7a\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x85\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x03\x01\x04\x01\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x38\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x86\x01\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x1e\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x22\x02\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd6\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd8\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xf9\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x3b\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x4f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x50\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x51\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x5e\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x6f\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x70\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x71\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x76\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x77\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x81\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa2\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xa7\x01\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xca\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xce\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xcf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd0\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xd4\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xe3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xed\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xef\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x64\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x90\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x96\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x98\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9a\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x9b\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xba\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbb\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbc\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbd\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbe\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xbf\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc1\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc3\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\xc5\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x17\x00\x00\x00\x18\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x19\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (3, 249) [-	(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)-	]--happy_n_terms = 119 :: Int-happy_n_nonterms = 73 :: Int--happyReduce_3 = happySpecReduce_0  0# happyReduction_3-happyReduction_3  =  happyIn6-		 ([]-	)--happyReduce_4 = happySpecReduce_2  0# happyReduction_4-happyReduction_4 happy_x_2-	happy_x_1-	 =  case happyOut7 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_2 of { happy_var_2 -> -	happyIn6-		 (happy_var_1:happy_var_2-	)}}--happyReduce_5 = happySpecReduce_2  0# happyReduction_5-happyReduction_5 happy_x_2-	happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_2 of { happy_var_2 -> -	happyIn6-		 (map RealDecl happy_var_1 ++ happy_var_2-	)}}--happyReduce_6 = happyReduce 4# 0# happyReduction_6-happyReduction_6 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	case happyOut6 happy_x_4 of { happy_var_4 -> -	happyIn6-		 (RealDecl (PInclude happy_var_2) : happy_var_4-	) `HappyStk` happyRest}}--happyReduce_7 = happySpecReduce_1  1# happyReduction_7-happyReduction_7 happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (happy_var_1-	)}--happyReduce_8 = happySpecReduce_1  1# happyReduction_8-happyReduction_8 happy_x_1-	 =  case happyOut26 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl (DataDecl happy_var_1)-	)}--happyReduce_9 = happySpecReduce_1  1# happyReduction_9-happyReduction_9 happy_x_1-	 =  case happyOut22 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl happy_var_1-	)}--happyReduce_10 = happySpecReduce_3  1# happyReduction_10-happyReduction_10 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> -	happyIn7-		 (RealDecl (Freeze happy_var_2)-	)}--happyReduce_11 = happyReduce 4# 1# happyReduction_11-happyReduction_11 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut62 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PUsing happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_12 = happyReduce 4# 1# happyReduction_12-happyReduction_12 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut63 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PDoUsing happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_13 = happyReduce 4# 1# happyReduction_13-happyReduction_13 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut64 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PIdiom happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_14 = happyReduce 4# 1# happyReduction_14-happyReduction_14 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut65 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PParams happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_15 = happyReduce 4# 1# happyReduction_15-happyReduction_15 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut66 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_3 of { happy_var_3 -> -	happyIn7-		 (PNamespace happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_16 = happySpecReduce_1  1# happyReduction_16-happyReduction_16 happy_x_1-	 =  case happyOut8 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (RealDecl happy_var_1-	)}--happyReduce_17 = happyReduce 6# 1# happyReduction_17-happyReduction_17 (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 happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut40 happy_x_3 of { happy_var_3 -> -	case happyOut33 happy_x_5 of { happy_var_5 -> -	happyIn7-		 (PSyntax happy_var_2 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_18 = happySpecReduce_2  1# happyReduction_18-happyReduction_18 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn7-		 (RealDecl (CInclude happy_var_2)-	)}--happyReduce_19 = happySpecReduce_2  1# happyReduction_19-happyReduction_19 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn7-		 (RealDecl (CLib happy_var_2)-	)}--happyReduce_20 = happyReduce 5# 2# happyReduction_20-happyReduction_20 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	happyIn8-		 (Transform happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_21 = happyReduce 7# 3# happyReduction_21-happyReduction_21 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut49 happy_x_3 of { happy_var_3 -> -	case happyOut15 happy_x_4 of { happy_var_4 -> -	case happyOut77 happy_x_5 of { happy_var_5 -> -	case happyOut76 happy_x_6 of { happy_var_6 -> -	happyIn9-		 (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6-	) `HappyStk` happyRest}}}}}--happyReduce_22 = happySpecReduce_3  3# happyReduction_22-happyReduction_22 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_2 of { happy_var_2 -> -	happyIn9-		 (ProofScript happy_var_1 happy_var_2-	)}}--happyReduce_23 = happyReduce 9# 3# happyReduction_23-happyReduction_23 (happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut24 happy_x_1 of { happy_var_1 -> -	case happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut11 happy_x_3 of { happy_var_3 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut14 happy_x_6 of { happy_var_6 -> -	case happyOut77 happy_x_8 of { happy_var_8 -> -	case happyOut76 happy_x_9 of { happy_var_9 -> -	happyIn9-		 (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6-	) `HappyStk` happyRest}}}}}}}--happyReduce_24 = happyReduce 10# 3# happyReduction_24-happyReduction_24 (happy_x_10 `HappyStk`-	happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut24 happy_x_1 of { happy_var_1 -> -	case happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut31 happy_x_7 of { happy_var_7 -> -	case happyOut77 happy_x_9 of { happy_var_9 -> -	case happyOut76 happy_x_10 of { happy_var_10 -> -	happyIn9-		 (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7-	) `HappyStk` happyRest}}}}}}--happyReduce_25 = happyReduce 8# 3# happyReduction_25-happyReduction_25 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut24 happy_x_1 of { happy_var_1 -> -	case happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut15 happy_x_5 of { happy_var_5 -> -	case happyOut77 happy_x_7 of { happy_var_7 -> -	case happyOut76 happy_x_8 of { happy_var_8 -> -	happyIn9-		 (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)-	) `HappyStk` happyRest}}}}}}--happyReduce_26 = happyReduce 5# 3# happyReduction_26-happyReduction_26 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut13 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	happyIn9-		 (FunClause RPlaceholder [happy_var_2] happy_var_4 []-	) `HappyStk` happyRest}}--happyReduce_27 = happyReduce 8# 3# happyReduction_27-happyReduction_27 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut13 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut31 happy_x_7 of { happy_var_7 -> -	happyIn9-		 (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7-	) `HappyStk` happyRest}}}--happyReduce_28 = happyReduce 7# 3# happyReduction_28-happyReduction_28 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut13 happy_x_2 of { happy_var_2 -> -	case happyOut11 happy_x_3 of { happy_var_3 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut14 happy_x_6 of { happy_var_6 -> -	happyIn9-		 (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6-	) `HappyStk` happyRest}}}}--happyReduce_29 = happySpecReduce_1  4# happyReduction_29-happyReduction_29 happy_x_1-	 =  happyIn10-		 (Vis Public-	)--happyReduce_30 = happySpecReduce_1  4# happyReduction_30-happyReduction_30 happy_x_1-	 =  happyIn10-		 (Vis Private-	)--happyReduce_31 = happySpecReduce_1  4# happyReduction_31-happyReduction_31 happy_x_1-	 =  happyIn10-		 (Vis Abstract-	)--happyReduce_32 = happySpecReduce_0  4# happyReduction_32-happyReduction_32  =  happyIn10-		 (Vis Public-	)--happyReduce_33 = happySpecReduce_1  5# happyReduction_33-happyReduction_33 happy_x_1-	 =  happyIn11-		 (False-	)--happyReduce_34 = happySpecReduce_2  5# happyReduction_34-happyReduction_34 happy_x_2-	happy_x_1-	 =  happyIn11-		 (True-	)--happyReduce_35 = happySpecReduce_3  6# happyReduction_35-happyReduction_35 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut13 happy_x_2 of { happy_var_2 -> -	case happyOut12 happy_x_3 of { happy_var_3 -> -	happyIn12-		 (happy_var_2:happy_var_3-	)}}--happyReduce_36 = happySpecReduce_0  6# happyReduction_36-happyReduction_36  =  happyIn12-		 ([]-	)--happyReduce_37 = happySpecReduce_1  7# happyReduction_37-happyReduction_37 happy_x_1-	 =  case happyOut32 happy_x_1 of { happy_var_1 -> -	happyIn13-		 (happy_var_1-	)}--happyReduce_38 = happySpecReduce_1  7# happyReduction_38-happyReduction_38 happy_x_1-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> -	happyIn13-		 (happy_var_1-	)}--happyReduce_39 = happySpecReduce_3  7# happyReduction_39-happyReduction_39 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn13-		 (happy_var_2-	)}--happyReduce_40 = happyReduce 5# 7# 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 happyOut55 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn13-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_41 = happySpecReduce_2  8# happyReduction_41-happyReduction_41 happy_x_2-	happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	case happyOut14 happy_x_2 of { happy_var_2 -> -	happyIn14-		 (happy_var_1:happy_var_2-	)}}--happyReduce_42 = happySpecReduce_1  8# happyReduction_42-happyReduction_42 happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	happyIn14-		 ([happy_var_1]-	)}--happyReduce_43 = happySpecReduce_1  9# happyReduction_43-happyReduction_43 happy_x_1-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> -	happyIn15-		 (happy_var_1-	)}--happyReduce_44 = happySpecReduce_3  9# happyReduction_44-happyReduction_44 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut16 happy_x_2 of { happy_var_2 -> -	happyIn15-		 (happy_var_2-	)}--happyReduce_45 = happySpecReduce_0  10# happyReduction_45-happyReduction_45  =  happyIn16-		 ([]-	)--happyReduce_46 = happySpecReduce_2  10# happyReduction_46-happyReduction_46 happy_x_2-	happy_x_1-	 =  case happyOut17 happy_x_1 of { happy_var_1 -> -	case happyOut16 happy_x_2 of { happy_var_2 -> -	happyIn16-		 (happy_var_1 ++ happy_var_2-	)}}--happyReduce_47 = happySpecReduce_1  11# happyReduction_47-happyReduction_47 happy_x_1-	 =  happyIn17-		 ([NoCG]-	)--happyReduce_48 = happySpecReduce_1  11# happyReduction_48-happyReduction_48 happy_x_1-	 =  happyIn17-		 ([CGEval, Inline]-	)--happyReduce_49 = happyReduce 4# 11# happyReduction_49-happyReduction_49 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut38 happy_x_3 of { happy_var_3 -> -	happyIn17-		 ([CGSpec happy_var_3]-	) `HappyStk` happyRest}--happyReduce_50 = happySpecReduce_1  11# happyReduction_50-happyReduction_50 happy_x_1-	 =  happyIn17-		 ([CGSpec []]-	)--happyReduce_51 = happySpecReduce_1  11# happyReduction_51-happyReduction_51 happy_x_1-	 =  happyIn17-		 ([Inline]-	)--happyReduce_52 = happySpecReduce_2  11# happyReduction_52-happyReduction_52 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> -	happyIn17-		 ([CExport happy_var_2]-	)}--happyReduce_53 = happyReduce 4# 12# happyReduction_53-happyReduction_53 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut21 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	case happyOut19 happy_x_3 of { happy_var_3 -> -	happyIn18-		 (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3-	) `HappyStk` happyRest}}}--happyReduce_54 = happySpecReduce_1  13# happyReduction_54-happyReduction_54 happy_x_1-	 =  case happyOut20 happy_x_1 of { happy_var_1 -> -	happyIn19-		 ([happy_var_1]-	)}--happyReduce_55 = happySpecReduce_3  13# happyReduction_55-happyReduction_55 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut20 happy_x_1 of { happy_var_1 -> -	case happyOut19 happy_x_3 of { happy_var_3 -> -	happyIn19-		 (happy_var_1:happy_var_3-	)}}--happyReduce_56 = happySpecReduce_1  14# happyReduction_56-happyReduction_56 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> -	happyIn20-		 (happy_var_1-	)}--happyReduce_57 = happySpecReduce_1  14# happyReduction_57-happyReduction_57 happy_x_1-	 =  happyIn20-		 ("-"-	)--happyReduce_58 = happySpecReduce_1  14# happyReduction_58-happyReduction_58 happy_x_1-	 =  happyIn20-		 ("<"-	)--happyReduce_59 = happySpecReduce_1  14# happyReduction_59-happyReduction_59 happy_x_1-	 =  happyIn20-		 (">"-	)--happyReduce_60 = happySpecReduce_1  15# happyReduction_60-happyReduction_60 happy_x_1-	 =  happyIn21-		 (LeftAssoc-	)--happyReduce_61 = happySpecReduce_1  15# happyReduction_61-happyReduction_61 happy_x_1-	 =  happyIn21-		 (RightAssoc-	)--happyReduce_62 = happySpecReduce_1  15# happyReduction_62-happyReduction_62 happy_x_1-	 =  happyIn21-		 (NonAssoc-	)--happyReduce_63 = happyReduce 4# 16# happyReduction_63-happyReduction_63 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut23 happy_x_3 of { happy_var_3 -> -	happyIn22-		 (LatexDefs happy_var_3-	) `HappyStk` happyRest}--happyReduce_64 = happySpecReduce_3  17# happyReduction_64-happyReduction_64 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> -	happyIn23-		 ([(happy_var_1,happy_var_3)]-	)}}--happyReduce_65 = happyReduce 5# 17# happyReduction_65-happyReduction_65 (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_1 of { happy_var_1 -> -	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> -	case happyOut23 happy_x_5 of { happy_var_5 -> -	happyIn23-		 ((happy_var_1,happy_var_3):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_66 = happySpecReduce_2  18# happyReduction_66-happyReduction_66 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut25 happy_x_2 of { happy_var_2 -> -	happyIn24-		 ((happy_var_1, happy_var_2)-	)}}--happyReduce_67 = happySpecReduce_0  19# happyReduction_67-happyReduction_67  =  happyIn25-		 ([]-	)--happyReduce_68 = happySpecReduce_2  19# happyReduction_68-happyReduction_68 happy_x_2-	happy_x_1-	 =  case happyOut53 happy_x_1 of { happy_var_1 -> -	case happyOut25 happy_x_2 of { happy_var_2 -> -	happyIn25-		 ((happy_var_1,Nothing):happy_var_2-	)}}--happyReduce_69 = happyReduce 5# 19# 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)-	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut25 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn25-		 ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_70 = happyReduce 5# 19# happyReduction_70-happyReduction_70 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut25 happy_x_5 of { happy_var_5 -> -	happyIn25-		 ((happy_var_3, Just happy_var_1):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_71 = happyReduce 6# 20# happyReduction_71-happyReduction_71 (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 happyOut28 happy_x_2 of { happy_var_2 -> -	case happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut27 happy_x_4 of { happy_var_4 -> -	case happyOut77 happy_x_5 of { happy_var_5 -> -	case happyOut76 happy_x_6 of { happy_var_6 -> -	happyIn26-		 (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2-	) `HappyStk` happyRest}}}}}--happyReduce_72 = happySpecReduce_3  21# happyReduction_72-happyReduction_72 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut61 happy_x_1 of { happy_var_1 -> -	case happyOut70 happy_x_2 of { happy_var_2 -> -	happyIn27-		 (Right (happy_var_1,happy_var_2)-	)}}--happyReduce_73 = happySpecReduce_3  21# happyReduction_73-happyReduction_73 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut49 happy_x_2 of { happy_var_2 -> -	happyIn27-		 (Left happy_var_2-	)}--happyReduce_74 = happySpecReduce_3  21# happyReduction_74-happyReduction_74 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn27-		 (Left (RConst happy_var_2 happy_var_3 TYPE)-	)}}--happyReduce_75 = happySpecReduce_0  22# happyReduction_75-happyReduction_75  =  happyIn28-		 ([]-	)--happyReduce_76 = happySpecReduce_3  22# happyReduction_76-happyReduction_76 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut29 happy_x_2 of { happy_var_2 -> -	happyIn28-		 (happy_var_2-	)}--happyReduce_77 = happySpecReduce_1  23# happyReduction_77-happyReduction_77 happy_x_1-	 =  case happyOut30 happy_x_1 of { happy_var_1 -> -	happyIn29-		 ([happy_var_1]-	)}--happyReduce_78 = happySpecReduce_3  23# happyReduction_78-happyReduction_78 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut30 happy_x_1 of { happy_var_1 -> -	case happyOut29 happy_x_3 of { happy_var_3 -> -	happyIn29-		 (happy_var_1:happy_var_3-	)}}--happyReduce_79 = happySpecReduce_1  24# happyReduction_79-happyReduction_79 happy_x_1-	 =  happyIn30-		 (NoElim-	)--happyReduce_80 = happySpecReduce_1  24# happyReduction_80-happyReduction_80 happy_x_1-	 =  happyIn30-		 (Collapsible-	)--happyReduce_81 = happySpecReduce_1  25# happyReduction_81-happyReduction_81 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> -	happyIn31-		 (happy_var_1-	)}--happyReduce_82 = happySpecReduce_3  25# happyReduction_82-happyReduction_82 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut20 happy_x_2 of { happy_var_2 -> -	happyIn31-		 (useropFn happy_var_2-	)}--happyReduce_83 = happyReduce 4# 26# happyReduction_83-happyReduction_83 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut32 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	case happyOut53 happy_x_4 of { happy_var_4 -> -	happyIn32-		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_84 = happyReduce 5# 26# happyReduction_84-happyReduction_84 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut32 happy_x_1 of { happy_var_1 -> -	case happyOut42 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn32-		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)-	) `HappyStk` happyRest}}}}--happyReduce_85 = happySpecReduce_3  26# happyReduction_85-happyReduction_85 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn32-		 (RVar happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_86 = happySpecReduce_3  26# happyReduction_86-happyReduction_86 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut59 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn32-		 (RConst happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_87 = happySpecReduce_1  26# happyReduction_87-happyReduction_87 happy_x_1-	 =  happyIn32-		 (RPlaceholder-	)--happyReduce_88 = happySpecReduce_3  26# happyReduction_88-happyReduction_88 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn32-		 (RVar happy_var_2 happy_var_3 (UN "__Empty")-	)}}--happyReduce_89 = happySpecReduce_3  26# happyReduction_89-happyReduction_89 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn32-		 (RVar happy_var_2 happy_var_3 (UN "__Unit")-	)}}--happyReduce_90 = happySpecReduce_1  27# happyReduction_90-happyReduction_90 happy_x_1-	 =  case happyOut53 happy_x_1 of { happy_var_1 -> -	happyIn33-		 (happy_var_1-	)}--happyReduce_91 = happySpecReduce_3  27# happyReduction_91-happyReduction_91 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn33-		 (happy_var_2-	)}--happyReduce_92 = happyReduce 4# 27# happyReduction_92-happyReduction_92 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	case happyOut53 happy_x_4 of { happy_var_4 -> -	happyIn33-		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_93 = happyReduce 5# 27# happyReduction_93-happyReduction_93 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut42 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn33-		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)-	) `HappyStk` happyRest}}}}--happyReduce_94 = happyReduce 4# 27# happyReduction_94-happyReduction_94 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn33-		 (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_95 = happyReduce 4# 27# happyReduction_95-happyReduction_95 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut34 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	happyIn33-		 (doBind Lam happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_96 = happyReduce 4# 27# happyReduction_96-happyReduction_96 (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 happyOut33 happy_x_4 of { happy_var_4 -> -	happyIn33-		 (doLetBind happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_97 = happySpecReduce_1  27# happyReduction_97-happyReduction_97 happy_x_1-	 =  case happyOut43 happy_x_1 of { happy_var_1 -> -	happyIn33-		 (happy_var_1-	)}--happyReduce_98 = happyReduce 8# 27# happyReduction_98-happyReduction_98 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut33 happy_x_6 of { happy_var_6 -> -	case happyOut77 happy_x_7 of { happy_var_7 -> -	case happyOut76 happy_x_8 of { happy_var_8 -> -	happyIn33-		 (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]-	) `HappyStk` happyRest}}}}}--happyReduce_99 = happySpecReduce_2  28# happyReduction_99-happyReduction_99 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_2 of { happy_var_2 -> -	happyIn34-		 ([(happy_var_1,happy_var_2)]-	)}}--happyReduce_100 = happyReduce 4# 28# happyReduction_100-happyReduction_100 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_2 of { happy_var_2 -> -	case happyOut34 happy_x_4 of { happy_var_4 -> -	happyIn34-		 ((happy_var_1,happy_var_2):happy_var_4-	) `HappyStk` happyRest}}}--happyReduce_101 = happySpecReduce_3  29# happyReduction_101-happyReduction_101 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut36 happy_x_1 of { happy_var_1 -> -	case happyOut35 happy_x_3 of { happy_var_3 -> -	happyIn35-		 (happy_var_1 ++ happy_var_3-	)}}--happyReduce_102 = happySpecReduce_1  29# happyReduction_102-happyReduction_102 happy_x_1-	 =  case happyOut36 happy_x_1 of { happy_var_1 -> -	happyIn35-		 (happy_var_1-	)}--happyReduce_103 = happySpecReduce_3  30# happyReduction_103-happyReduction_103 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut49 happy_x_3 of { happy_var_3 -> -	happyIn36-		 (map ( \x -> (x,happy_var_3)) [happy_var_1]-	)}}--happyReduce_104 = happySpecReduce_1  31# happyReduction_104-happyReduction_104 happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	happyIn37-		 ([happy_var_1]-	)}--happyReduce_105 = happySpecReduce_3  31# happyReduction_105-happyReduction_105 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut37 happy_x_3 of { happy_var_3 -> -	happyIn37-		 (happy_var_1:happy_var_3-	)}}--happyReduce_106 = happySpecReduce_2  32# happyReduction_106-happyReduction_106 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	happyIn38-		 ([(happy_var_1,happy_var_2)]-	)}}--happyReduce_107 = happySpecReduce_1  32# happyReduction_107-happyReduction_107 happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	happyIn38-		 ([(happy_var_1, 0)]-	)}--happyReduce_108 = happySpecReduce_3  32# happyReduction_108-happyReduction_108 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut38 happy_x_3 of { happy_var_3 -> -	happyIn38-		 ((happy_var_1,0):happy_var_3-	)}}--happyReduce_109 = happyReduce 4# 32# happyReduction_109-happyReduction_109 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> -	case happyOut38 happy_x_4 of { happy_var_4 -> -	happyIn38-		 ((happy_var_1,happy_var_2):happy_var_4-	) `HappyStk` happyRest}}}--happyReduce_110 = happySpecReduce_1  33# happyReduction_110-happyReduction_110 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	happyIn39-		 ([happy_var_1]-	)}--happyReduce_111 = happySpecReduce_3  33# happyReduction_111-happyReduction_111 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut37 happy_x_3 of { happy_var_3 -> -	happyIn39-		 (happy_var_1:happy_var_3-	)}}--happyReduce_112 = happySpecReduce_1  34# happyReduction_112-happyReduction_112 happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	happyIn40-		 ([happy_var_1]-	)}--happyReduce_113 = happySpecReduce_2  34# happyReduction_113-happyReduction_113 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut40 happy_x_2 of { happy_var_2 -> -	happyIn40-		 (happy_var_1:happy_var_2-	)}}--happyReduce_114 = happyReduce 4# 35# happyReduction_114-happyReduction_114 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	happyIn41-		 ([(happy_var_1,happy_var_2,happy_var_4)]-	) `HappyStk` happyRest}}}--happyReduce_115 = happyReduce 6# 35# happyReduction_115-happyReduction_115 (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 happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut41 happy_x_6 of { happy_var_6 -> -	happyIn41-		 ((happy_var_1,happy_var_2,happy_var_4):happy_var_6-	) `HappyStk` happyRest}}}}--happyReduce_116 = happySpecReduce_3  36# happyReduction_116-happyReduction_116 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn42-		 ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)-	)}}}--happyReduce_117 = happySpecReduce_3  36# happyReduction_117-happyReduction_117 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn42-		 ((happy_var_1, happy_var_3)-	)}}--happyReduce_118 = happyReduce 4# 37# happyReduction_118-happyReduction_118 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn43-		 (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_119 = happyReduce 5# 37# happyReduction_119-happyReduction_119 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_120 = happyReduce 5# 37# happyReduction_120-happyReduction_120 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]-	) `HappyStk` happyRest}}}}--happyReduce_121 = happyReduce 5# 37# happyReduction_121-happyReduction_121 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_122 = happyReduce 5# 37# happyReduction_122-happyReduction_122 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_123 = happyReduce 5# 37# happyReduction_123-happyReduction_123 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn43-		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3-	) `HappyStk` happyRest}}--happyReduce_124 = happySpecReduce_1  37# happyReduction_124-happyReduction_124 happy_x_1-	 =  case happyOut44 happy_x_1 of { happy_var_1 -> -	happyIn43-		 (happy_var_1-	)}--happyReduce_125 = happyReduce 5# 37# 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 happyOut53 happy_x_1 of { happy_var_1 -> -	case happyOut53 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn43-		 (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}--happyReduce_126 = happyReduce 5# 38# happyReduction_126-happyReduction_126 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn44-		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}}--happyReduce_127 = happyReduce 6# 39# happyReduction_127-happyReduction_127 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)-	) `HappyStk` happyRest}}}}--happyReduce_128 = happyReduce 6# 39# happyReduction_128-happyReduction_128 (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 happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}}--happyReduce_129 = happyReduce 6# 39# happyReduction_129-happyReduction_129 (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 happyOut46 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)-	) `HappyStk` happyRest}}}}--happyReduce_130 = happyReduce 6# 39# happyReduction_130-happyReduction_130 (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 happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut46 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}}--happyReduce_131 = happyReduce 6# 39# happyReduction_131-happyReduction_131 (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 happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}--happyReduce_132 = happyReduce 6# 39# happyReduction_132-happyReduction_132 (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 happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RBind (MN "X" 1) (Pi Ex Eager happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))-	) `HappyStk` happyRest}}}--happyReduce_133 = happyReduce 6# 39# happyReduction_133-happyReduction_133 (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 happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder) -                       (RBind (MN "X" 1) (Pi Ex Eager (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)-	) `HappyStk` happyRest}}}--happyReduce_134 = happyReduce 5# 39# happyReduction_134-happyReduction_134 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (RBind (MN "X" 1) (Lam RPlaceholder)-                    (RBind (MN "X" 2) (Pi Ex Eager (RVar happy_var_3 happy_var_4 (MN "X" 0)))-                       (RVar happy_var_3 happy_var_4 (MN "X" 1))))-	) `HappyStk` happyRest}}--happyReduce_135 = happyReduce 5# 39# happyReduction_135-happyReduction_135 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                   (RBind (MN "X" 1) (Lam RPlaceholder)-                       (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))-                                    [RVar happy_var_3 happy_var_4 (MN "X" 0),-                                     RVar happy_var_3 happy_var_4 (MN "X" 1)]))-	) `HappyStk` happyRest}}--happyReduce_136 = happyReduce 6# 39# happyReduction_136-happyReduction_136 (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 happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))-                                    [happy_var_2,-                                     RVar happy_var_4 happy_var_5 (MN "X" 0)])-	) `HappyStk` happyRest}}}--happyReduce_137 = happyReduce 6# 39# happyReduction_137-happyReduction_137 (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 happyOut33 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn45-		 (RBind (MN "X" 0) (Lam RPlaceholder)-                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))-                                    [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])-	) `HappyStk` happyRest}}}--happyReduce_138 = happySpecReduce_1  40# happyReduction_138-happyReduction_138 happy_x_1-	 =  happyIn46-		 ("<"-	)--happyReduce_139 = happySpecReduce_1  40# happyReduction_139-happyReduction_139 happy_x_1-	 =  happyIn46-		 (">"-	)--happyReduce_140 = happySpecReduce_0  41# happyReduction_140-happyReduction_140  =  happyIn47-		 (RPlaceholder-	)--happyReduce_141 = happySpecReduce_2  41# happyReduction_141-happyReduction_141 happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn47-		 (happy_var_2-	)}--happyReduce_142 = happySpecReduce_0  42# happyReduction_142-happyReduction_142  =  happyIn48-		 (RPlaceholder-	)--happyReduce_143 = happySpecReduce_2  42# happyReduction_143-happyReduction_143 happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn48-		 (happy_var_2-	)}--happyReduce_144 = happyReduce 5# 43# happyReduction_144-happyReduction_144 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut39 happy_x_1 of { happy_var_1 -> -	case happyOut48 happy_x_2 of { happy_var_2 -> -	case happyOut49 happy_x_5 of { happy_var_5 -> -	happyIn49-		 (doBind (Pi Im Eager) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_145 = happySpecReduce_1  43# happyReduction_145-happyReduction_145 happy_x_1-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> -	happyIn49-		 (happy_var_1-	)}--happyReduce_146 = happySpecReduce_3  44# happyReduction_146-happyReduction_146 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> -	case happyOut50 happy_x_3 of { happy_var_3 -> -	happyIn50-		 (RBind (MN "X" 0) (Pi Ex Eager happy_var_1) happy_var_3-	)}}--happyReduce_147 = happyReduce 5# 44# happyReduction_147-happyReduction_147 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut35 happy_x_2 of { happy_var_2 -> -	case happyOut50 happy_x_5 of { happy_var_5 -> -	happyIn50-		 (doBind (Pi Ex Eager) happy_var_2 happy_var_5-	) `HappyStk` happyRest}}--happyReduce_148 = happyReduce 5# 44# happyReduction_148-happyReduction_148 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut35 happy_x_2 of { happy_var_2 -> -	case happyOut50 happy_x_5 of { happy_var_5 -> -	happyIn50-		 (doBind (Pi Ex Lazy) happy_var_2 happy_var_5-	) `HappyStk` happyRest}}--happyReduce_149 = happySpecReduce_3  44# happyReduction_149-happyReduction_149 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn50-		 (bracket happy_var_2-	)}--happyReduce_150 = happyReduce 7# 44# happyReduction_150-happyReduction_150 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut50 happy_x_2 of { happy_var_2 -> -	case happyOut50 happy_x_4 of { happy_var_4 -> -	case happyOut77 happy_x_5 of { happy_var_5 -> -	case happyOut76 happy_x_6 of { happy_var_6 -> -	happyIn50-		 (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_151 = happySpecReduce_1  44# happyReduction_151-happyReduction_151 happy_x_1-	 =  case happyOut32 happy_x_1 of { happy_var_1 -> -	happyIn50-		 (happy_var_1-	)}--happyReduce_152 = happySpecReduce_3  44# happyReduction_152-happyReduction_152 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn50-		 (happy_var_2-	)}--happyReduce_153 = happyReduce 5# 44# happyReduction_153-happyReduction_153 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut50 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> -	case happyOut50 happy_x_3 of { happy_var_3 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn50-		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3-	) `HappyStk` happyRest}}}}}--happyReduce_154 = happyReduce 5# 44# happyReduction_154-happyReduction_154 (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 happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn50-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_155 = happySpecReduce_1  44# happyReduction_155-happyReduction_155 happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	happyIn50-		 (happy_var_1-	)}--happyReduce_156 = happyReduce 8# 45# happyReduction_156-happyReduction_156 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOut50 happy_x_5 of { happy_var_5 -> -	case happyOut77 happy_x_7 of { happy_var_7 -> -	case happyOut76 happy_x_8 of { happy_var_8 -> -	happyIn51-		 (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_157 = happySpecReduce_3  46# happyReduction_157-happyReduction_157 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> -	case happyOut50 happy_x_3 of { happy_var_3 -> -	happyIn52-		 (happy_var_1:happy_var_3:[]-	)}}--happyReduce_158 = happySpecReduce_3  46# happyReduction_158-happyReduction_158 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> -	case happyOut52 happy_x_3 of { happy_var_3 -> -	happyIn52-		 (happy_var_1:happy_var_3-	)}}--happyReduce_159 = happySpecReduce_3  47# happyReduction_159-happyReduction_159 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (RVar happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_160 = happySpecReduce_3  47# happyReduction_160-happyReduction_160 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (RReturn happy_var_2 happy_var_3-	)}}--happyReduce_161 = happySpecReduce_3  47# happyReduction_161-happyReduction_161 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn53-		 (bracket happy_var_2-	)}--happyReduce_162 = happySpecReduce_2  47# happyReduction_162-happyReduction_162 happy_x_2-	happy_x_1-	 =  case happyOut53 happy_x_2 of { happy_var_2 -> -	happyIn53-		 (RPure happy_var_2-	)}--happyReduce_163 = happySpecReduce_1  47# happyReduction_163-happyReduction_163 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> -	happyIn53-		 (RMetavar happy_var_1-	)}--happyReduce_164 = happyReduce 4# 47# happyReduction_164-happyReduction_164 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn53-		 (RExpVar happy_var_3 happy_var_4 happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_165 = happySpecReduce_3  47# happyReduction_165-happyReduction_165 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut59 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (RConst happy_var_2 happy_var_3 happy_var_1-	)}}}--happyReduce_166 = happySpecReduce_1  47# happyReduction_166-happyReduction_166 happy_x_1-	 =  happyIn53-		 (RRefl-	)--happyReduce_167 = happySpecReduce_3  47# happyReduction_167-happyReduction_167 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (RVar happy_var_2 happy_var_3 (UN "__Empty")-	)}}--happyReduce_168 = happySpecReduce_3  47# happyReduction_168-happyReduction_168 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (RVar happy_var_2 happy_var_3 (UN "__Unit")-	)}}--happyReduce_169 = happySpecReduce_1  47# happyReduction_169-happyReduction_169 happy_x_1-	 =  happyIn53-		 (RPlaceholder-	)--happyReduce_170 = happySpecReduce_1  47# happyReduction_170-happyReduction_170 happy_x_1-	 =  case happyOut56 happy_x_1 of { happy_var_1 -> -	happyIn53-		 (RDo happy_var_1-	)}--happyReduce_171 = happySpecReduce_3  47# happyReduction_171-happyReduction_171 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn53-		 (RIdiom happy_var_2-	)}--happyReduce_172 = happyReduce 5# 47# happyReduction_172-happyReduction_172 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut55 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn53-		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_173 = happySpecReduce_1  47# happyReduction_173-happyReduction_173 happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	happyIn53-		 (happy_var_1-	)}--happyReduce_174 = happySpecReduce_1  47# happyReduction_174-happyReduction_174 happy_x_1-	 =  case happyOut45 happy_x_1 of { happy_var_1 -> -	happyIn53-		 (happy_var_1-	)}--happyReduce_175 = happySpecReduce_1  47# happyReduction_175-happyReduction_175 happy_x_1-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> -	happyIn53-		 (happy_var_1-	)}--happyReduce_176 = happyReduce 7# 48# happyReduction_176-happyReduction_176 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut77 happy_x_6 of { happy_var_6 -> -	case happyOut76 happy_x_7 of { happy_var_7 -> -	happyIn54-		 (RApp happy_var_6 happy_var_7 (RAppImp happy_var_6 happy_var_7 (UN "a") (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_177 = happyReduce 5# 48# happyReduction_177-happyReduction_177 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_2 of { happy_var_2 -> -	case happyOut77 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	happyIn54-		 (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) happy_var_2-	) `HappyStk` happyRest}}}--happyReduce_178 = happySpecReduce_3  49# happyReduction_178-happyReduction_178 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn55-		 (happy_var_1:happy_var_3:[]-	)}}--happyReduce_179 = happySpecReduce_3  49# happyReduction_179-happyReduction_179 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut55 happy_x_3 of { happy_var_3 -> -	happyIn55-		 (happy_var_1:happy_var_3-	)}}--happyReduce_180 = happyReduce 4# 50# happyReduction_180-happyReduction_180 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut57 happy_x_3 of { happy_var_3 -> -	happyIn56-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_181 = happyReduce 10# 50# happyReduction_181-happyReduction_181 (happy_x_10 `HappyStk`-	happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOut33 happy_x_5 of { happy_var_5 -> -	case happyOut77 happy_x_6 of { happy_var_6 -> -	case happyOut76 happy_x_7 of { happy_var_7 -> -	case happyOut57 happy_x_9 of { happy_var_9 -> -	happyIn56-		 (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9-	) `HappyStk` happyRest}}}}}}--happyReduce_182 = happySpecReduce_2  51# happyReduction_182-happyReduction_182 happy_x_2-	happy_x_1-	 =  case happyOut58 happy_x_1 of { happy_var_1 -> -	case happyOut57 happy_x_2 of { happy_var_2 -> -	happyIn57-		 (happy_var_1:happy_var_2-	)}}--happyReduce_183 = happySpecReduce_1  51# happyReduction_183-happyReduction_183 happy_x_1-	 =  case happyOut58 happy_x_1 of { happy_var_1 -> -	happyIn57-		 ([happy_var_1]-	)}--happyReduce_184 = happyReduce 7# 52# happyReduction_184-happyReduction_184 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_2 of { happy_var_2 -> -	case happyOut33 happy_x_4 of { happy_var_4 -> -	case happyOut77 happy_x_5 of { happy_var_5 -> -	case happyOut76 happy_x_6 of { happy_var_6 -> -	happyIn58-		 (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4-	) `HappyStk` happyRest}}}}}--happyReduce_185 = happyReduce 8# 52# happyReduction_185-happyReduction_185 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_2 of { happy_var_2 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	case happyOut33 happy_x_5 of { happy_var_5 -> -	case happyOut77 happy_x_6 of { happy_var_6 -> -	case happyOut76 happy_x_7 of { happy_var_7 -> -	happyIn58-		 (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}}}--happyReduce_186 = happyReduce 4# 52# happyReduction_186-happyReduction_186 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn58-		 (DoExp happy_var_2 happy_var_3 happy_var_1-	) `HappyStk` happyRest}}}--happyReduce_187 = happySpecReduce_1  53# happyReduction_187-happyReduction_187 happy_x_1-	 =  happyIn59-		 (TYPE-	)--happyReduce_188 = happySpecReduce_1  53# happyReduction_188-happyReduction_188 happy_x_1-	 =  happyIn59-		 (StringType-	)--happyReduce_189 = happySpecReduce_1  53# happyReduction_189-happyReduction_189 happy_x_1-	 =  happyIn59-		 (IntType-	)--happyReduce_190 = happySpecReduce_1  53# happyReduction_190-happyReduction_190 happy_x_1-	 =  happyIn59-		 (CharType-	)--happyReduce_191 = happySpecReduce_1  53# happyReduction_191-happyReduction_191 happy_x_1-	 =  happyIn59-		 (FloatType-	)--happyReduce_192 = happySpecReduce_1  53# happyReduction_192-happyReduction_192 happy_x_1-	 =  happyIn59-		 (PtrType-	)--happyReduce_193 = happySpecReduce_1  53# happyReduction_193-happyReduction_193 happy_x_1-	 =  happyIn59-		 (Builtin "Handle"-	)--happyReduce_194 = happySpecReduce_1  53# happyReduction_194-happyReduction_194 happy_x_1-	 =  happyIn59-		 (Builtin "Lock"-	)--happyReduce_195 = happySpecReduce_1  53# happyReduction_195-happyReduction_195 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> -	happyIn59-		 (Num happy_var_1-	)}--happyReduce_196 = happySpecReduce_1  53# happyReduction_196-happyReduction_196 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> -	happyIn59-		 (Ch happy_var_1-	)}--happyReduce_197 = happySpecReduce_1  53# happyReduction_197-happyReduction_197 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> -	happyIn59-		 (Str happy_var_1-	)}--happyReduce_198 = happySpecReduce_1  53# happyReduction_198-happyReduction_198 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> -	happyIn59-		 (Bo happy_var_1-	)}--happyReduce_199 = happySpecReduce_1  53# happyReduction_199-happyReduction_199 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> -	happyIn59-		 (Fl happy_var_1-	)}--happyReduce_200 = happySpecReduce_0  54# happyReduction_200-happyReduction_200  =  happyIn60-		 ([]-	)--happyReduce_201 = happySpecReduce_2  54# happyReduction_201-happyReduction_201 happy_x_2-	happy_x_1-	 =  case happyOut53 happy_x_1 of { happy_var_1 -> -	case happyOut60 happy_x_2 of { happy_var_2 -> -	happyIn60-		 (happy_var_1:happy_var_2-	)}}--happyReduce_202 = happyReduce 4# 55# happyReduction_202-happyReduction_202 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut49 happy_x_2 of { happy_var_2 -> -	case happyOut62 happy_x_3 of { happy_var_3 -> -	happyIn61-		 ((happy_var_2, happy_var_3)-	) `HappyStk` happyRest}}--happyReduce_203 = happySpecReduce_3  55# happyReduction_203-happyReduction_203 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	case happyOut76 happy_x_3 of { happy_var_3 -> -	happyIn61-		 ((RConst happy_var_2 happy_var_3 TYPE, [])-	)}}--happyReduce_204 = happyReduce 4# 55# happyReduction_204-happyReduction_204 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut68 happy_x_1 of { happy_var_1 -> -	case happyOut77 happy_x_3 of { happy_var_3 -> -	case happyOut76 happy_x_4 of { happy_var_4 -> -	happyIn61-		 ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])-	) `HappyStk` happyRest}}}--happyReduce_205 = happySpecReduce_0  56# happyReduction_205-happyReduction_205  =  happyIn62-		 ([]-	)--happyReduce_206 = happyReduce 4# 56# happyReduction_206-happyReduction_206 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut67 happy_x_3 of { happy_var_3 -> -	happyIn62-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_207 = happyReduce 7# 57# happyReduction_207-happyReduction_207 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut31 happy_x_4 of { happy_var_4 -> -	case happyOut31 happy_x_6 of { happy_var_6 -> -	happyIn63-		 ((happy_var_4,happy_var_6)-	) `HappyStk` happyRest}}--happyReduce_208 = happyReduce 6# 58# happyReduction_208-happyReduction_208 (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 happyOut31 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_5 of { happy_var_5 -> -	happyIn64-		 ((happy_var_3,happy_var_5)-	) `HappyStk` happyRest}}--happyReduce_209 = happyReduce 4# 59# happyReduction_209-happyReduction_209 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut67 happy_x_3 of { happy_var_3 -> -	happyIn65-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_210 = happySpecReduce_2  60# happyReduction_210-happyReduction_210 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn66-		 (happy_var_2-	)}--happyReduce_211 = happySpecReduce_3  61# happyReduction_211-happyReduction_211 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut49 happy_x_3 of { happy_var_3 -> -	happyIn67-		 ([(happy_var_1, happy_var_3)]-	)}}--happyReduce_212 = happyReduce 5# 61# happyReduction_212-happyReduction_212 (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_1 of { happy_var_1 -> -	case happyOut49 happy_x_3 of { happy_var_3 -> -	case happyOut67 happy_x_5 of { happy_var_5 -> -	happyIn67-		 ((happy_var_1,happy_var_3):happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_213 = happySpecReduce_1  62# happyReduction_213-happyReduction_213 happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	happyIn68-		 ([happy_var_1]-	)}--happyReduce_214 = happySpecReduce_2  62# happyReduction_214-happyReduction_214 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut68 happy_x_2 of { happy_var_2 -> -	happyIn68-		 (happy_var_1:happy_var_2-	)}}--happyReduce_215 = happySpecReduce_1  63# happyReduction_215-happyReduction_215 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn69-		 (happy_var_1-	)}--happyReduce_216 = happySpecReduce_1  63# happyReduction_216-happyReduction_216 happy_x_1-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> -	happyIn69-		 (happy_var_1-	)}--happyReduce_217 = happySpecReduce_0  64# happyReduction_217-happyReduction_217  =  happyIn70-		 ([]-	)--happyReduce_218 = happySpecReduce_1  64# happyReduction_218-happyReduction_218 happy_x_1-	 =  case happyOut71 happy_x_1 of { happy_var_1 -> -	happyIn70-		 ([happy_var_1]-	)}--happyReduce_219 = happySpecReduce_3  64# happyReduction_219-happyReduction_219 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut71 happy_x_1 of { happy_var_1 -> -	case happyOut70 happy_x_3 of { happy_var_3 -> -	happyIn70-		 (happy_var_1:happy_var_3-	)}}--happyReduce_220 = happySpecReduce_2  65# happyReduction_220-happyReduction_220 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut72 happy_x_2 of { happy_var_2 -> -	happyIn71-		 (Full happy_var_1 happy_var_2-	)}}--happyReduce_221 = happySpecReduce_2  65# happyReduction_221-happyReduction_221 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut60 happy_x_2 of { happy_var_2 -> -	happyIn71-		 (Simple happy_var_1 happy_var_2-	)}}--happyReduce_222 = happySpecReduce_2  66# happyReduction_222-happyReduction_222 happy_x_2-	happy_x_1-	 =  case happyOut49 happy_x_2 of { happy_var_2 -> -	happyIn72-		 (happy_var_2-	)}--happyReduce_223 = happySpecReduce_2  67# happyReduction_223-happyReduction_223 happy_x_2-	happy_x_1-	 =  case happyOut37 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Intro happy_var_2-	)}--happyReduce_224 = happySpecReduce_1  67# happyReduction_224-happyReduction_224 happy_x_1-	 =  happyIn73-		 (Intro []-	)--happyReduce_225 = happySpecReduce_2  67# happyReduction_225-happyReduction_225 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Refine happy_var_2-	)}--happyReduce_226 = happySpecReduce_2  67# happyReduction_226-happyReduction_226 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Generalise happy_var_2-	)}--happyReduce_227 = happySpecReduce_1  67# happyReduction_227-happyReduction_227 happy_x_1-	 =  happyIn73-		 (ReflP-	)--happyReduce_228 = happySpecReduce_2  67# happyReduction_228-happyReduction_228 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Rewrite False False happy_var_2-	)}--happyReduce_229 = happySpecReduce_3  67# happyReduction_229-happyReduction_229 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn73-		 (Rewrite False True happy_var_3-	)}--happyReduce_230 = happySpecReduce_2  67# happyReduction_230-happyReduction_230 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Rewrite True False happy_var_2-	)}--happyReduce_231 = happySpecReduce_3  67# happyReduction_231-happyReduction_231 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_3 of { happy_var_3 -> -	happyIn73-		 (Rewrite True True happy_var_3-	)}--happyReduce_232 = happySpecReduce_1  67# happyReduction_232-happyReduction_232 happy_x_1-	 =  happyIn73-		 (Compute-	)--happyReduce_233 = happySpecReduce_2  67# happyReduction_233-happyReduction_233 happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Unfold happy_var_2-	)}--happyReduce_234 = happySpecReduce_1  67# happyReduction_234-happyReduction_234 happy_x_1-	 =  happyIn73-		 (Undo-	)--happyReduce_235 = happySpecReduce_2  67# happyReduction_235-happyReduction_235 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Induction happy_var_2-	)}--happyReduce_236 = happySpecReduce_2  67# happyReduction_236-happyReduction_236 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Fill happy_var_2-	)}--happyReduce_237 = happySpecReduce_1  67# happyReduction_237-happyReduction_237 happy_x_1-	 =  happyIn73-		 (Trivial-	)--happyReduce_238 = happySpecReduce_2  67# happyReduction_238-happyReduction_238 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (RunTactic happy_var_2-	)}--happyReduce_239 = happySpecReduce_2  67# happyReduction_239-happyReduction_239 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Believe happy_var_2-	)}--happyReduce_240 = happySpecReduce_2  67# happyReduction_240-happyReduction_240 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Use happy_var_2-	)}--happyReduce_241 = happySpecReduce_2  67# happyReduction_241-happyReduction_241 happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_2 of { happy_var_2 -> -	happyIn73-		 (Decide happy_var_2-	)}--happyReduce_242 = happySpecReduce_1  67# happyReduction_242-happyReduction_242 happy_x_1-	 =  happyIn73-		 (Abandon-	)--happyReduce_243 = happySpecReduce_1  67# happyReduction_243-happyReduction_243 happy_x_1-	 =  happyIn73-		 (Qed-	)--happyReduce_244 = happyReduce 4# 68# happyReduction_244-happyReduction_244 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut75 happy_x_3 of { happy_var_3 -> -	happyIn74-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_245 = happySpecReduce_2  69# happyReduction_245-happyReduction_245 happy_x_2-	happy_x_1-	 =  case happyOut73 happy_x_1 of { happy_var_1 -> -	happyIn75-		 ([happy_var_1]-	)}--happyReduce_246 = happySpecReduce_3  69# happyReduction_246-happyReduction_246 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut73 happy_x_1 of { happy_var_1 -> -	case happyOut75 happy_x_3 of { happy_var_3 -> -	happyIn75-		 (happy_var_1:happy_var_3-	)}}--happyReduce_247 = happyMonadReduce 0# 70# happyReduction_247-happyReduction_247 (happyRest) tk-	 = happyThen (( getLineNo)-	) (\r -> happyReturn (happyIn76 r))--happyReduce_248 = happyMonadReduce 0# 71# happyReduction_248-happyReduction_248 (happyRest) tk-	 = happyThen (( getFileName)-	) (\r -> happyReturn (happyIn77 r))--happyReduce_249 = happyMonadReduce 0# 72# happyReduction_249-happyReduction_249 (happyRest) tk-	 = happyThen (( getOps)-	) (\r -> happyReturn (happyIn78 r))--happyNewToken action sts stk-	= lexer(\tk -> -	let cont i = happyDoAction i tk action sts stk in-	case tk of {-	TokenEOF -> happyDoAction 118# tk action sts stk;-	TokenName happy_dollar_dollar -> cont 1#;-	TokenInfixName happy_dollar_dollar -> cont 2#;-	TokenBrackName happy_dollar_dollar -> cont 3#;-	TokenString happy_dollar_dollar -> cont 4#;-	TokenInt happy_dollar_dollar -> cont 5#;-	TokenFloat happy_dollar_dollar -> cont 6#;-	TokenChar happy_dollar_dollar -> cont 7#;-	TokenBool happy_dollar_dollar -> cont 8#;-	TokenMetavar happy_dollar_dollar -> cont 9#;-	TokenColon -> cont 10#;-	TokenSemi -> cont 11#;-	TokenBar -> cont 12#;-	TokenStars -> cont 13#;-	TokenLambda -> cont 14#;-	TokenHashOB -> cont 15#;-	TokenOB -> cont 16#;-	TokenCB -> cont 17#;-	TokenOCB -> cont 18#;-	TokenCCB -> cont 19#;-	TokenOSB -> cont 20#;-	TokenCSB -> cont 21#;-	TokenOId -> cont 22#;-	TokenCId -> cont 23#;-	TokenLPair -> cont 24#;-	TokenRPair -> cont 25#;-	TokenExists -> cont 26#;-	TokenTilde -> cont 27#;-	TokenPlus -> cont 28#;-	TokenMinus -> cont 29#;-	TokenTimes -> cont 30#;-	TokenDivide -> cont 31#;-	TokenEquals -> cont 32#;-	TokenMightEqual -> cont 33#;-	TokenLT -> cont 34#;-	TokenGT -> cont 35#;-	TokenEllipsis -> cont 36#;-	TokenUnderscore -> cont 37#;-	TokenComma -> cont 38#;-	TokenTuple -> cont 39#;-	TokenBang -> cont 40#;-	TokenConcat -> cont 41#;-	TokenGE -> cont 42#;-	TokenLE -> cont 43#;-	TokenOr -> cont 44#;-	TokenAnd -> cont 45#;-	TokenArrow -> cont 46#;-	TokenFatArrow -> cont 47#;-	TokenTransArrow -> cont 48#;-	TokenLeftArrow -> cont 49#;-	TokenIntType -> cont 50#;-	TokenCharType -> cont 51#;-	TokenFloatType -> cont 52#;-	TokenStringType -> cont 53#;-	TokenHandleType -> cont 54#;-	TokenPtrType -> cont 55#;-	TokenLockType -> cont 56#;-	TokenType -> cont 57#;-	TokenLazyBracket -> cont 58#;-	TokenDataType -> cont 59#;-	TokenInfix -> cont 60#;-	TokenInfixL -> cont 61#;-	TokenInfixR -> cont 62#;-	TokenUsing -> cont 63#;-	TokenIdiom -> cont 64#;-	TokenParams -> cont 65#;-	TokenNamespace -> cont 66#;-	TokenPublic -> cont 67#;-	TokenPrivate -> cont 68#;-	TokenAbstract -> cont 69#;-	TokenNoElim -> cont 70#;-	TokenCollapsible -> cont 71#;-	TokenWhere -> cont 72#;-	TokenWith -> cont 73#;-	TokenPartial -> cont 74#;-	TokenSyntax -> cont 75#;-	TokenLazy -> cont 76#;-	TokenRefl -> cont 77#;-	TokenEmptyType -> cont 78#;-	TokenUnitType -> cont 79#;-	TokenInclude -> cont 80#;-	TokenExport -> cont 81#;-	TokenInline -> cont 82#;-	TokenDo -> cont 83#;-	TokenReturn -> cont 84#;-	TokenIf -> cont 85#;-	TokenThen -> cont 86#;-	TokenElse -> cont 87#;-	TokenLet -> cont 88#;-	TokenIn -> cont 89#;-	TokenProof -> cont 90#;-	TokenIntro -> cont 91#;-	TokenRefine -> cont 92#;-	TokenGeneralise -> cont 93#;-	TokenReflP -> cont 94#;-	TokenRewrite -> cont 95#;-	TokenRewriteAll -> cont 96#;-	TokenCompute -> cont 97#;-	TokenUnfold -> cont 98#;-	TokenUndo -> cont 99#;-	TokenInduction -> cont 100#;-	TokenFill -> cont 101#;-	TokenTrivial -> cont 102#;-	TokenMkTac -> cont 103#;-	TokenBelieve -> cont 104#;-	TokenUse -> cont 105#;-	TokenDecide -> cont 106#;-	TokenAbandon -> cont 107#;-	TokenQED -> cont 108#;-	TokenLaTeX -> cont 109#;-	TokenNoCG -> cont 110#;-	TokenEval -> cont 111#;-	TokenSpec -> cont 112#;-	TokenFreeze -> cont 113#;-	TokenThaw -> cont 114#;-	TokenTransform -> cont 115#;-	TokenCInclude -> cont 116#;-	TokenCLib -> cont 117#;-	_ -> happyError' tk-	})--happyError_ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (thenP)-happyReturn :: () => a -> P a-happyReturn = (returnP)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => (Token) -> P a-happyError' tk = (\token -> happyError) tk--mkparse = happySomeParser where-  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))--mkparseTerm = happySomeParser where-  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut33 x))--mkparseTactic = happySomeParser where-  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut73 x))--happySeq = happyDontSeq---data ConParse = Full Id RawTerm-              | Simple Id [RawTerm]--parse :: String -> FilePath -> Result [Decl]-parse s fn = do ds <- mkparse s fn 1 []-                collectDecls ds--processImports :: [Opt] -> [FilePath] -> Result [Decl] -> -                  IO ([Decl], [FilePath])-processImports opts imped (Success ds) = pi imped [] ds-  where pi imps decls ((PInclude fp):xs)-           | fp `elem` imps = pi imps decls xs-           | otherwise = do-                 f <- readLibFile defaultLibPath fp-                 when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)-                 case parse f fp of-                   Success t -> pi (fp:imps) decls (t++xs)-                   Failure e f l ->-                     fail $ f ++ ":" ++ show l ++ ":" ++ e-        pi imps decls ((Using t ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Using t ds']) xs-        pi imps decls ((Params t ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Params t ds']) xs-        pi imps decls ((DoUsing b r ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[DoUsing b r ds']) xs-        pi imps decls ((Idiom b r ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Idiom b r ds']) xs-        pi imps decls ((Namespace n ds):xs)-            = do (ds',imps') <- pi imps [] ds-                 pi imps' (decls++[Namespace n ds']) xs-        pi imps decls (x:xs) = pi imps (decls++[x]) xs-        pi imps decls [] = return (decls, imps)--processImports _ imped (Failure e f l) -    = fail $ show f ++ ":" ++ show l ++ ":" ++ show e---parseTerm :: String -> Result RawTerm-parseTerm s = mkparseTerm s "(input)" 0 []--parseTactic :: String -> Result ITactic-parseTactic s = mkparseTactic s "(tactic)" 0 []--mkCon :: RawTerm -> ConParse -> (Id,RawTerm)-mkCon _ (Full n t) = (n,t)-mkCon ty (Simple n args) = (n, mkConTy args ty)-   where mkConTy [] ty = ty-         mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex Eager a) (mkConTy as ty)--mkDef file line (n, tms) = mkImpApp (RVar file line n) tms-   where mkImpApp f [] = f-         mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts-         mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts--doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm-doBind b [] t = t-doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)--doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm-doLetBind [] t = t-doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)--mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm-mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)-   where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)-         getTyArgs x = []--mkTyParams :: String -> Int -> [Id] -> RawTerm-mkTyParams f l [] = RConst f l TYPE-mkTyParams f l (x:xs) = RBind x (Pi Ex Eager (RConst f l TYPE)) (mkTyParams f l xs)+newtype HappyAbsSyn t72 = HappyAbsSyn HappyAny+#if __GLASGOW_HASKELL__ >= 607+type HappyAny = Happy_GHC_Exts.Any+#else+type HappyAny = forall a . a+#endif+happyIn6 :: ([ParseDecl]) -> (HappyAbsSyn t72)+happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn6 #-}+happyOut6 :: (HappyAbsSyn t72) -> ([ParseDecl])+happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut6 #-}+happyIn7 :: (ParseDecl) -> (HappyAbsSyn t72)+happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn7 #-}+happyOut7 :: (HappyAbsSyn t72) -> (ParseDecl)+happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut7 #-}+happyIn8 :: (Decl) -> (HappyAbsSyn t72)+happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn8 #-}+happyOut8 :: (HappyAbsSyn t72) -> (Decl)+happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut8 #-}+happyIn9 :: (ParseDecl) -> (HappyAbsSyn t72)+happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn9 #-}+happyOut9 :: (HappyAbsSyn t72) -> (ParseDecl)+happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut9 #-}+happyIn10 :: (CGFlag) -> (HappyAbsSyn t72)+happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn10 #-}+happyOut10 :: (HappyAbsSyn t72) -> (CGFlag)+happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut10 #-}+happyIn11 :: (Bool) -> (HappyAbsSyn t72)+happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn11 #-}+happyOut11 :: (HappyAbsSyn t72) -> (Bool)+happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut11 #-}+happyIn12 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn12 #-}+happyOut12 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut12 #-}+happyIn13 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn13 #-}+happyOut13 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut13 #-}+happyIn14 :: ([ParseDecl]) -> (HappyAbsSyn t72)+happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn14 #-}+happyOut14 :: (HappyAbsSyn t72) -> ([ParseDecl])+happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut14 #-}+happyIn15 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn15 #-}+happyOut15 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut15 #-}+happyIn16 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn16 #-}+happyOut16 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut16 #-}+happyIn17 :: ([CGFlag]) -> (HappyAbsSyn t72)+happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn17 #-}+happyOut17 :: (HappyAbsSyn t72) -> ([CGFlag])+happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut17 #-}+happyIn18 :: ([Decl]) -> (HappyAbsSyn t72)+happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn18 #-}+happyOut18 :: (HappyAbsSyn t72) -> ([Decl])+happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut18 #-}+happyIn19 :: ([String]) -> (HappyAbsSyn t72)+happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn19 #-}+happyOut19 :: (HappyAbsSyn t72) -> ([String])+happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut19 #-}+happyIn20 :: (String) -> (HappyAbsSyn t72)+happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn20 #-}+happyOut20 :: (HappyAbsSyn t72) -> (String)+happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut20 #-}+happyIn21 :: (Fixity) -> (HappyAbsSyn t72)+happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn21 #-}+happyOut21 :: (HappyAbsSyn t72) -> (Fixity)+happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut21 #-}+happyIn22 :: (Decl) -> (HappyAbsSyn t72)+happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn22 #-}+happyOut22 :: (HappyAbsSyn t72) -> (Decl)+happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut22 #-}+happyIn23 :: ([(Id,String)]) -> (HappyAbsSyn t72)+happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn23 #-}+happyOut23 :: (HappyAbsSyn t72) -> ([(Id,String)])+happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut23 #-}+happyIn24 :: ((Id, [(RawTerm, Maybe Id)])) -> (HappyAbsSyn t72)+happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn24 #-}+happyOut24 :: (HappyAbsSyn t72) -> ((Id, [(RawTerm, Maybe Id)]))+happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut24 #-}+happyIn25 :: ([(RawTerm,Maybe Id)]) -> (HappyAbsSyn t72)+happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn25 #-}+happyOut25 :: (HappyAbsSyn t72) -> ([(RawTerm,Maybe Id)])+happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut25 #-}+happyIn26 :: (Datatype) -> (HappyAbsSyn t72)+happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn26 #-}+happyOut26 :: (HappyAbsSyn t72) -> (Datatype)+happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut26 #-}+happyIn27 :: (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse])) -> (HappyAbsSyn t72)+happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn27 #-}+happyOut27 :: (HappyAbsSyn t72) -> (Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]))+happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut27 #-}+happyIn28 :: ([TyOpt]) -> (HappyAbsSyn t72)+happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn28 #-}+happyOut28 :: (HappyAbsSyn t72) -> ([TyOpt])+happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut28 #-}+happyIn29 :: ([TyOpt]) -> (HappyAbsSyn t72)+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn29 #-}+happyOut29 :: (HappyAbsSyn t72) -> ([TyOpt])+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut29 #-}+happyIn30 :: (TyOpt) -> (HappyAbsSyn t72)+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn30 #-}+happyOut30 :: (HappyAbsSyn t72) -> (TyOpt)+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut30 #-}+happyIn31 :: (Id) -> (HappyAbsSyn t72)+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn31 #-}+happyOut31 :: (HappyAbsSyn t72) -> (Id)+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut31 #-}+happyIn32 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn32 #-}+happyOut32 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut32 #-}+happyIn33 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn33 #-}+happyOut33 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut33 #-}+happyIn34 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn34 #-}+happyOut34 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut34 #-}+happyIn35 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn35 #-}+happyOut35 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut35 #-}+happyIn36 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn36 #-}+happyOut36 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut36 #-}+happyIn37 :: ([Id]) -> (HappyAbsSyn t72)+happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn37 #-}+happyOut37 :: (HappyAbsSyn t72) -> ([Id])+happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut37 #-}+happyIn38 :: ([(Id, Int)]) -> (HappyAbsSyn t72)+happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn38 #-}+happyOut38 :: (HappyAbsSyn t72) -> ([(Id, Int)])+happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut38 #-}+happyIn39 :: ([Id]) -> (HappyAbsSyn t72)+happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn39 #-}+happyOut39 :: (HappyAbsSyn t72) -> ([Id])+happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut39 #-}+happyIn40 :: ([Id]) -> (HappyAbsSyn t72)+happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn40 #-}+happyOut40 :: (HappyAbsSyn t72) -> ([Id])+happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut40 #-}+happyIn41 :: ([(Id, RawTerm, RawTerm)]) -> (HappyAbsSyn t72)+happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn41 #-}+happyOut41 :: (HappyAbsSyn t72) -> ([(Id, RawTerm, RawTerm)])+happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut41 #-}+happyIn42 :: ((Id, RawTerm)) -> (HappyAbsSyn t72)+happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn42 #-}+happyOut42 :: (HappyAbsSyn t72) -> ((Id, RawTerm))+happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut42 #-}+happyIn43 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn43 #-}+happyOut43 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut43 #-}+happyIn44 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn44 #-}+happyOut44 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut44 #-}+happyIn45 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn45 #-}+happyOut45 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut45 #-}+happyIn46 :: (String) -> (HappyAbsSyn t72)+happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn46 #-}+happyOut46 :: (HappyAbsSyn t72) -> (String)+happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut46 #-}+happyIn47 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn47 #-}+happyOut47 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut47 #-}+happyIn48 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn48 #-}+happyOut48 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut48 #-}+happyIn49 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn49 #-}+happyOut49 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut49 #-}+happyIn50 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn50 #-}+happyOut50 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut50 #-}+happyIn51 :: (ArgOpt) -> (HappyAbsSyn t72)+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn51 #-}+happyOut51 :: (HappyAbsSyn t72) -> (ArgOpt)+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut51 #-}+happyIn52 :: ([ArgOpt]) -> (HappyAbsSyn t72)+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn52 #-}+happyOut52 :: (HappyAbsSyn t72) -> ([ArgOpt])+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut52 #-}+happyIn53 :: ([ArgOpt]) -> (HappyAbsSyn t72)+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn53 #-}+happyOut53 :: (HappyAbsSyn t72) -> ([ArgOpt])+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut53 #-}+happyIn54 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn54 #-}+happyOut54 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut54 #-}+happyIn55 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn55 #-}+happyOut55 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut55 #-}+happyIn56 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn56 #-}+happyOut56 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut56 #-}+happyIn57 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn57 #-}+happyOut57 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut57 #-}+happyIn58 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn58 #-}+happyOut58 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut58 #-}+happyIn59 :: ([Do]) -> (HappyAbsSyn t72)+happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn59 #-}+happyOut59 :: (HappyAbsSyn t72) -> ([Do])+happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut59 #-}+happyIn60 :: ([Do]) -> (HappyAbsSyn t72)+happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn60 #-}+happyOut60 :: (HappyAbsSyn t72) -> ([Do])+happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut60 #-}+happyIn61 :: (Do) -> (HappyAbsSyn t72)+happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn61 #-}+happyOut61 :: (HappyAbsSyn t72) -> (Do)+happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut61 #-}+happyIn62 :: (Constant) -> (HappyAbsSyn t72)+happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn62 #-}+happyOut62 :: (HappyAbsSyn t72) -> (Constant)+happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut62 #-}+happyIn63 :: ([RawTerm]) -> (HappyAbsSyn t72)+happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn63 #-}+happyOut63 :: (HappyAbsSyn t72) -> ([RawTerm])+happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut63 #-}+happyIn64 :: ((RawTerm, [(Id, RawTerm)])) -> (HappyAbsSyn t72)+happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn64 #-}+happyOut64 :: (HappyAbsSyn t72) -> ((RawTerm, [(Id, RawTerm)]))+happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut64 #-}+happyIn65 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn65 #-}+happyOut65 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut65 #-}+happyIn66 :: ((Id,Id)) -> (HappyAbsSyn t72)+happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn66 #-}+happyOut66 :: (HappyAbsSyn t72) -> ((Id,Id))+happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut66 #-}+happyIn67 :: ((Id,Id)) -> (HappyAbsSyn t72)+happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn67 #-}+happyOut67 :: (HappyAbsSyn t72) -> ((Id,Id))+happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut67 #-}+happyIn68 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn68 #-}+happyOut68 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut68 #-}+happyIn69 :: (Id) -> (HappyAbsSyn t72)+happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn69 #-}+happyOut69 :: (HappyAbsSyn t72) -> (Id)+happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut69 #-}+happyIn70 :: ([(Id, RawTerm)]) -> (HappyAbsSyn t72)+happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn70 #-}+happyOut70 :: (HappyAbsSyn t72) -> ([(Id, RawTerm)])+happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut70 #-}+happyIn71 :: ([Id]) -> (HappyAbsSyn t72)+happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn71 #-}+happyOut71 :: (HappyAbsSyn t72) -> ([Id])+happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut71 #-}+happyIn72 :: t72 -> (HappyAbsSyn t72)+happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn72 #-}+happyOut72 :: (HappyAbsSyn t72) -> t72+happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut72 #-}+happyIn73 :: ([ConParse]) -> (HappyAbsSyn t72)+happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn73 #-}+happyOut73 :: (HappyAbsSyn t72) -> ([ConParse])+happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut73 #-}+happyIn74 :: (ConParse) -> (HappyAbsSyn t72)+happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn74 #-}+happyOut74 :: (HappyAbsSyn t72) -> (ConParse)+happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut74 #-}+happyIn75 :: (RawTerm) -> (HappyAbsSyn t72)+happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn75 #-}+happyOut75 :: (HappyAbsSyn t72) -> (RawTerm)+happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut75 #-}+happyIn76 :: (ITactic) -> (HappyAbsSyn t72)+happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn76 #-}+happyOut76 :: (HappyAbsSyn t72) -> (ITactic)+happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut76 #-}+happyIn77 :: ([ITactic]) -> (HappyAbsSyn t72)+happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn77 #-}+happyOut77 :: (HappyAbsSyn t72) -> ([ITactic])+happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut77 #-}+happyIn78 :: ([ITactic]) -> (HappyAbsSyn t72)+happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn78 #-}+happyOut78 :: (HappyAbsSyn t72) -> ([ITactic])+happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut78 #-}+happyIn79 :: (LineNumber) -> (HappyAbsSyn t72)+happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn79 #-}+happyOut79 :: (HappyAbsSyn t72) -> (LineNumber)+happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut79 #-}+happyIn80 :: (String) -> (HappyAbsSyn t72)+happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn80 #-}+happyOut80 :: (HappyAbsSyn t72) -> (String)+happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut80 #-}+happyIn81 :: (Fixities) -> (HappyAbsSyn t72)+happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn81 #-}+happyOut81 :: (HappyAbsSyn t72) -> (Fixities)+happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut81 #-}+happyInTok :: (Token) -> (HappyAbsSyn t72)+happyInTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyInTok #-}+happyOutTok :: (HappyAbsSyn t72) -> (Token)+happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOutTok #-}+++happyActOffsets :: HappyAddr+happyActOffsets = HappyA# "\x1b\x00\x6d\x05\x76\x08\x00\x00\x20\x04\x6d\x05\x1f\x01\x1f\x01\x6d\x05\x00\x00\x69\x03\x13\x03\x00\x00\x1f\x01\x00\x00\x6d\x05\x6d\x05\x00\x00\x6d\x05\x6d\x05\x6d\x05\x6d\x05\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x01\x61\x09\x67\x02\x6d\x05\x6d\x05\x38\x08\x6d\x05\x00\x00\x1f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x05\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x6d\x05\xae\x00\x1a\x04\x01\x00\x00\x00\x00\x00\x01\x00\x89\x04\x00\x00\x7b\x04\x00\x00\x2c\x02\x73\x04\x72\x04\x70\x04\x6e\x04\x6c\x04\x9b\x09\xd1\x01\x68\x04\x00\x00\x00\x00\x00\x00\x67\x04\x66\x04\x58\x04\xae\x00\xae\x00\x71\x04\x2e\x04\x55\x04\x65\x04\x6d\x05\x5b\x04\x56\x04\x00\x00\x00\x00\x29\x02\x00\x00\xae\x00\x50\x04\x53\x04\xae\x00\x00\x00\xae\x00\xae\x00\xae\x00\xae\x00\x32\x02\x4c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x00\x00\xfe\xff\x00\x00\x00\x00\xbd\x02\x00\x00\x00\x00\x00\x00\xd1\x00\xd1\x00\xd1\x00\xd1\x00\xd1\x00\x00\x00\xfd\x07\x51\x04\x02\x00\x27\x09\x43\x04\x2a\x00\x9b\x09\xd1\x01\x00\x00\x00\x00\x4a\x04\xff\x03\xe6\x01\x00\x00\x49\x04\x17\x05\x00\x00\x00\x00\x4f\x04\x00\x00\x4f\x04\x00\x00\xe1\x02\x78\x0a\x76\x01\x86\x03\xc1\x04\x3f\x04\xc1\x04\xc1\x04\x3e\x04\x33\x04\xc1\x04\xc1\x04\xcf\x01\x6c\x00\x00\x00\xc1\x04\xed\x08\xae\x00\x38\x04\x16\x04\x00\x00\x38\x08\x29\x04\x00\x00\xc1\x04\x1b\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\x00\x00\xa7\x01\x97\x01\x89\x01\x7a\x01\x67\x01\x58\x01\x00\x00\x4a\x01\xc1\x04\x36\x01\xc1\x04\x28\x01\x00\x00\x13\x04\x00\x00\xf8\x00\xae\x00\xc3\x00\x03\x00\x00\x00\x35\x04\x35\x04\x35\x04\x35\x04\x35\x04\x00\x00\xc1\x04\x35\x04\x38\x08\x00\x00\x00\x00\x00\x00\xc1\x04\x0b\x04\x61\x09\x1c\x04\x1e\x04\x08\x04\x17\x01\x19\x04\xc2\x00\x17\x04\x92\x08\x61\x09\x00\x00\x61\x09\x0f\x04\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\x36\x05\x00\x00\xc1\x04\x00\x00\xc1\x04\xc1\x04\xc1\x04\xc1\x04\xc1\x04\x14\x04\x00\x00\x00\x00\xc1\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x36\x05\x0c\x04\x6b\x04\xae\x00\xfb\x03\x00\x00\x15\x04\x15\x04\xf7\x03\x07\x04\xfa\x03\x00\x04\x15\x04\x15\x04\x15\x04\xae\x03\x76\x08\xf9\x03\xf3\xff\x0d\x00\xea\x03\xfd\x07\x15\x04\x00\x00\x00\x00\xf5\x03\xf4\x03\xf1\x03\xee\x03\xec\x03\x00\x00\x00\x00\x32\x03\xed\x03\x00\x00\x00\x00\x15\x04\x15\x04\x15\x04\x00\x00\xe6\x03\xd7\x03\x00\x00\x00\x00\x1d\x03\xf0\x03\xde\x03\xd3\x03\xdd\x03\xae\x00\xcc\x03\x01\x00\xae\x00\xd0\x03\xc9\x03\x00\x00\x15\x04\xe0\x04\xd6\x03\xdc\x03\x00\x00\xbc\x03\x00\x00\x15\x04\x00\x00\x00\x00\xae\x00\x00\x00\x27\x09\x00\x00\xae\x00\xae\x00\xbb\x03\x27\x09\x00\x00\x00\x00\x32\x02\x00\x00\x8a\x04\x34\x04\x07\x05\x00\x00\x00\x00\x00\x00\x00\x00\x15\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x09\x00\x00\xae\x00\x00\x00\x00\x00\x20\x02\x20\x02\xd5\x03\x00\x00\x00\x00\x00\x00\xc8\x03\xc3\x03\x61\x09\xc7\x03\xbd\x03\x00\x00\x88\x03\xc9\x01\x59\x03\x00\x00\xd1\x01\x00\x00\x15\x04\xa6\x00\x5d\x00\x15\x04\xc2\x03\x00\x00\x00\x00\x00\x00\xa3\x03\x98\x08\x00\x00\x73\x08\xe3\x03\x00\x00\x61\x09\x00\x00\x30\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x03\x00\x00\xb9\x03\x00\x00\x38\x08\x00\x00\x9b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x61\x09\x61\x09\xa8\x03\x27\x09\xae\x00\x93\x03\x27\x09\x0d\x00\xae\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x08\x73\x08\x73\x08\x73\x08\x73\x08\x73\x08\x00\x00\x00\x00\x00\x00\x00\x00\x61\x09\x00\x00\xb9\x00\x8d\x03\x10\x02\xd8\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x07\x00\x00\x87\x07\x00\x00\x4c\x07\x00\x00\x11\x07\xa9\x03\xa2\x03\xa1\x03\xa0\x03\x9f\x03\x0a\x00\x00\x00\x00\x00\x15\x04\xd6\x06\x8e\x03\x36\x05\x15\x04\x66\x00\x00\x00\xd5\x01\x9c\x03\x92\x03\x00\x00\x76\x08\x0d\x00\x6b\x03\xae\x00\x00\x00\x8f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x06\x00\x00\xd5\x01\x00\x00\x84\x03\x00\x00\x00\x00\x00\x00\xf8\xff\x00\x00\x60\x06\x8b\x03\x89\x03\x00\x00\x00\x00\x6e\x03\x81\x03\x03\x03\xae\x00\x6a\x03\x00\x00\x00\x00\xae\x00\x7e\x03\x00\x00\x00\x00\xae\x00\x00\x00\xae\x00\x00\x00\x38\x08\x00\x00\x00\x00\x27\x09\x00\x00\x45\x03\x00\x00\x00\x00\x00\x00\xae\x00\xd5\x01\x79\x03\x00\x00\x00\x00\x00\x00\x7a\x03\x00\x00\x7d\x01\x72\x03\x27\x09\x00\x00\xae\x00\x00\x00\x6f\x03\xae\x00\x7b\x03\x00\x00\x15\x04\x00\x00\x36\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\x57\x03\x65\x03\x00\x00\x00\x00\x61\x09\x47\x03\x47\x03\x00\x00\x10\x02\x63\x03\x00\x00\x00\x00\x00\x00\x66\x00\x25\x06\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x03\x00\x00\x00\x00\x40\x03\xae\x00\x00\x00\x00\x00\x00\x00\x50\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x03\x00\x00\xea\x05\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x05\x51\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyGotoOffsets :: HappyAddr+happyGotoOffsets = HappyA# "\x65\x0a\x97\x0d\x17\x03\x00\x00\x00\x00\x83\x0d\x97\x00\x41\x03\x7c\x0d\x00\x00\x68\x0d\x61\x0d\x00\x00\x38\x03\x00\x00\x4d\x0d\x46\x0d\x00\x00\x32\x0d\x2b\x0d\x17\x0d\x10\x0d\x00\x00\x00\x00\x00\x00\x06\x03\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x00\x52\x09\x83\x0a\xfc\x0c\xf5\x0c\xc6\x0d\xe1\x0c\x00\x00\x29\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x0c\x00\x00\xf6\x02\xf5\x02\x00\x00\xf4\x02\xc6\x0c\x8c\x01\x00\x00\x4b\x0a\x00\x00\x00\x00\x31\x0a\x00\x00\x00\x00\x36\x03\x00\x00\x0a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x28\x03\x24\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x03\x1e\x03\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x77\x01\xe2\x02\xaa\x01\x00\x00\x00\x00\x10\x01\x00\x00\x04\x00\x16\x03\xfa\xff\x0b\x03\x43\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x03\xd3\x02\x72\x01\x00\x00\xcb\x02\x97\x0a\x00\x00\xc6\x02\xc0\x02\x17\x0a\xfd\x09\xe3\x09\xc9\x09\x79\x09\x00\x00\x1e\x06\x00\x00\x00\x00\xbb\x0d\x00\x00\xfd\x02\xfd\xff\x18\x02\x00\x00\x00\x00\xd6\x02\x00\x00\x6e\x01\xb8\x02\xd4\x02\xd3\x0a\xb3\x02\xb2\x02\x6c\x01\xaf\x02\x6b\x01\x00\x00\x69\x01\x69\x01\x15\x01\x78\x00\xab\x0c\x00\x00\xa4\x0c\x90\x0c\x00\x00\x00\x00\xba\x04\x64\x04\x5d\x01\x00\x00\x00\x00\x89\x0c\x7a\x02\x0b\x02\xcf\x02\x00\x00\xae\x02\xab\x0d\x00\x00\xa4\x02\x75\x0c\xa2\x02\x6e\x0c\x5a\x0c\x53\x0c\x3f\x0c\x38\x0c\x9e\x02\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x5a\x01\x00\x00\x5a\x01\x24\x0c\x5a\x01\x1d\x0c\x5a\x01\x00\x00\x00\x00\x00\x00\x5a\x01\x85\x00\x5a\x01\x5a\x01\x00\x00\x55\x01\x47\x01\x3e\x01\x3d\x01\x2c\x01\x98\x02\x09\x0c\x2a\x01\x9e\x0d\x94\x02\x8f\x02\x00\x00\x02\x0c\x00\x00\x2b\x08\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x25\x01\xef\x07\x00\x00\xb4\x07\x00\x00\x8e\x02\x12\x01\x8d\x02\x08\x01\x8b\x02\xe6\x00\x88\x02\xe4\x00\x86\x02\x0e\x04\x00\x00\xb8\x03\xee\x0b\xe7\x0b\xb6\x02\xe0\x01\x00\x00\x00\x00\x84\x02\xd3\x0b\x81\x02\x80\x02\x7f\x02\x00\x00\x00\x00\x28\x00\xe3\x00\x00\x00\xbf\x0a\x3b\x01\x00\x00\x00\x00\xcc\x0b\xb8\x0b\x00\x00\x00\x00\x00\x00\xc1\x02\xb1\x0b\x9d\x0b\x96\x0b\x00\x00\xbc\x01\x90\x02\x01\x02\x00\x00\x00\x00\xe3\x05\x82\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x02\x6f\x02\xde\x00\x00\x00\x6b\x02\x68\x02\x7b\x0b\x67\x0b\x60\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x05\x09\x97\x02\x00\x00\x00\x00\x66\x02\x4c\x0b\xde\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x0b\x00\x00\x00\x00\x8c\x02\x00\x00\x8e\x09\x64\x02\xf2\xff\x8c\x00\x00\x00\x29\x08\x63\x02\x62\x02\xaf\x01\x00\x00\xde\x00\xde\x00\xde\x00\x00\x00\x00\x00\x5f\x02\x00\x00\xe7\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x00\x5e\x02\x80\x00\x5d\x02\x00\x00\xce\x01\x5b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x07\x00\x00\x00\x00\x00\x00\xde\x00\xa3\x00\xde\x00\x00\x00\xcb\x00\x00\x00\x31\x0b\xde\x00\xde\x00\x2a\x0b\x3e\x02\x00\x00\x00\x00\x5b\x02\x00\x00\xf6\x07\x00\x00\xf6\x07\xde\x00\x5a\x02\x3f\x07\x59\x02\xde\x00\x00\x00\x58\x02\x4d\x02\x45\x02\x42\x02\x3d\x02\x3c\x02\x3a\x02\x00\x00\x35\x02\x00\x00\x21\x02\xbb\x07\x2a\x02\x00\x00\x27\x02\x00\x00\xff\x01\x00\x00\x04\x07\x1e\x02\x92\x01\x78\x07\x00\x02\x00\x00\x3d\x07\x00\x00\x16\x00\xde\x00\x1d\x02\x0c\x02\x00\x00\x0a\x02\xde\x00\x00\x00\x04\x02\xfc\x01\xf5\x01\xe5\x01\xda\x01\x00\x00\xcf\x06\xcf\x06\xcf\x06\xcf\x06\xcf\x06\xcf\x06\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x06\x00\x00\x00\x00\x00\x00\xcb\x01\x00\x00\x00\x00\xd0\x01\xb6\x01\xb3\x01\xa8\x01\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\xcf\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x01\x16\x0b\xcf\x06\x00\x00\xdd\x00\x0f\x0b\xcf\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\xef\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\xa4\x01\x00\x00\xa1\x01\x66\x05\x9e\x01\x0e\x02\x00\x00\x00\x00\x00\x00\x9b\x01\x86\x01\x38\x01\x24\x01\x99\x05\x00\x00\x00\x00\x00\x00\x68\x01\x00\x00\x00\x00\xcf\x00\x85\x01\x00\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x00\x00\x00\x00\xf9\xff\x00\x00\x0b\x00\x00\x00\x18\x09\x00\x00\x00\x00\x02\x07\x64\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\xc5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x06\x00\x00\x34\x00\xea\x00\x00\x00\xf7\xff\xca\x00\x2e\x01\xfb\x0a\x00\x00\xbf\x00\x0e\x01\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x06\x00\x00\x00\x00\x00\x00\x90\x01\x00\x00\xbc\x00\x00\x00\x9f\x00\xad\x00\x59\x06\x73\x00\x00\x00\x37\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x21\x00\x00\x00\x3c\x00\x59\x06\xab\x0a\xe5\xff\x59\x06\x00\x00\x00\x00\x00\x00\x00\x00\x59\x06\x00\x00\x00\x00\xd0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyDefActions :: HappyAddr+happyDefActions = HappyA# "\x2c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\xff\x00\x00\x00\x00\x15\xff\x00\x00\x00\x00\x10\xff\x00\x00\x0e\xff\x00\x00\x00\x00\x0b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x06\xff\x05\xff\x04\xff\xff\xfe\xff\xfe\x9e\xff\x83\xff\x4b\xff\x4c\xff\xa5\xff\x4a\xff\x4f\xff\xff\xfe\xae\xff\x34\xff\x36\xff\x32\xff\x35\xff\x33\xff\x56\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\xff\x00\x00\x3c\xff\x3b\xff\x3a\xff\x3d\xff\x38\xff\x39\xff\x37\xff\x3e\xff\x00\x00\x53\xff\xff\xfe\xff\xfe\x00\x00\xff\xfe\x00\x00\x00\x00\x00\x00\x2c\xff\xef\xff\xf8\xff\x2c\xff\x00\x00\xf6\xff\xdb\xff\xf7\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xc1\xff\xc3\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\xed\xff\xff\xfe\xff\xfe\x00\x00\x00\x00\x00\x00\x8f\xff\x27\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\xc6\xff\xc5\xff\xc4\xff\x00\x00\xff\xfe\xff\xfe\xd9\xff\xff\xfe\x00\x00\xa8\xff\xff\xfe\xff\xfe\x2c\xff\x2c\xff\x2c\xff\x2c\xff\x2c\xff\xbd\xff\xbc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\xfb\xff\x73\xff\x00\x00\xff\xfe\x00\xff\x73\xff\x00\x00\x00\xff\x00\xff\xff\xfe\xff\xfe\xff\xfe\x57\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x00\x00\x00\x00\xc7\xff\xc6\xff\x75\xff\x74\xff\xff\xfe\xff\xfe\xff\xfe\x00\x00\x64\xff\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x00\xff\x00\x00\x00\x00\x00\xff\x00\x00\xff\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x0f\xff\xff\xfe\x00\x00\xff\xfe\x00\x00\xff\xfe\x18\xff\x97\xff\x1a\xff\xff\xfe\x00\x00\xff\xfe\xff\xfe\x5a\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x00\xff\x00\x00\xff\xfe\x00\x00\xff\xfe\xff\xfe\x54\xff\x00\x00\x9c\xff\x00\x00\x00\x00\x00\x00\x99\xff\xff\xfe\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x00\xa4\xff\x00\x00\x00\x00\x00\xff\xff\xfe\x00\xff\xff\xfe\x00\xff\xff\xfe\xff\xfe\xff\xfe\xff\xfe\xff\xfe\x58\xff\xff\xfe\x75\xff\x74\xff\xff\xfe\xff\xfe\x00\x00\x4e\xff\xff\xfe\x00\x00\x00\xff\x00\xff\x00\xff\x52\xff\x51\xff\xff\xfe\xff\xfe\x00\x00\x42\xff\x00\x00\x00\x00\x59\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\xdb\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x71\xff\xd2\xff\x6e\xff\x91\xff\xbc\xff\x00\x00\xe9\xff\xbb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\xff\xff\xfe\x00\x00\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\xb2\xff\xb0\xff\xaf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x2c\xff\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\xff\xfe\x00\x00\x00\x00\xc0\xff\x00\x00\xf9\xff\x00\x00\x8e\xff\x28\xff\x00\x00\x2b\xff\x00\x00\xff\xfe\x24\xff\x20\xff\x00\x00\x00\x00\xff\xfe\xff\xfe\x00\x00\xb3\xff\xff\xfe\xff\xfe\xff\xfe\xaa\xff\xa9\xff\xff\xfe\xd8\xff\x00\x00\xa7\xff\xa6\xff\xf0\xff\xf1\xff\xf2\xff\xf3\xff\xf4\xff\xff\xfe\xff\xfe\x00\x00\xff\xfe\xd4\xff\xd2\xff\xd2\xff\x00\x00\xcc\xff\xd0\xff\xcf\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\xff\xfe\xff\xfe\xff\xfe\xdc\xff\x00\x00\xca\xff\x00\x00\xff\xfe\xff\xfe\x00\x00\x73\xff\x43\xff\x45\xff\x00\xff\x00\x00\xa1\xff\x55\xff\x89\xff\xff\xfe\x00\xff\x00\x00\x00\xff\xff\xfe\x46\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\xff\xfe\x6d\xff\xff\xfe\x67\xff\xff\xfe\x6a\xff\x00\x00\x00\x00\x60\xff\x00\x00\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\xff\xfe\x00\xff\x00\xff\xa3\xff\x00\xff\xff\xfe\x8b\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x96\xff\x84\xff\x87\xff\x85\xff\x86\xff\x88\xff\x81\xff\xa2\xff\x82\xff\x9b\xff\x98\xff\x00\x00\x9a\xff\x72\xff\x00\x00\x00\x00\x5c\xff\x5b\xff\xff\xfe\x00\xff\x00\xff\x00\xff\xac\xff\x00\x00\x79\xff\x00\x00\x78\xff\x00\x00\x4d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\xff\xff\xfe\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x00\xff\xfe\xc8\xff\x00\x00\x00\x00\x00\x00\x03\xff\x02\xff\x70\xff\x00\x00\x00\x00\xcb\xff\x00\x00\xd1\xff\x00\xff\x90\xff\x00\xff\xbc\xff\x00\xff\x00\x00\xe5\xff\x00\x00\xb1\xff\x00\xff\x00\xff\x2c\xff\xff\xfe\x31\xff\x00\x00\x1f\xff\x23\xff\x00\xff\x26\xff\x00\x00\xff\xfe\x00\x00\xbf\xff\xf5\xff\xeb\xff\x00\x00\x00\x00\xee\xff\x29\xff\x00\x00\xb8\xff\x20\xff\xb7\xff\x31\xff\x1c\xff\x1d\xff\x00\x00\x00\xff\x00\x00\xb6\xff\xb5\xff\x2e\xff\x00\x00\xd5\xff\x00\x00\xd7\xff\xb9\xff\xba\xff\x00\x00\xd3\xff\x94\xff\x00\x00\x00\x00\x01\xff\x00\x00\xff\xfe\x00\x00\x00\x00\xff\xfe\x00\xff\x00\x00\x3f\xff\xff\xfe\x00\xff\xff\xfe\x7b\xff\x77\xff\x7c\xff\x7f\xff\x7d\xff\x7e\xff\x80\xff\x76\xff\x7a\xff\xab\xff\x66\xff\x65\xff\x00\xff\x5e\xff\x00\x00\x63\xff\x62\xff\x00\x00\x6b\xff\x6c\xff\x61\xff\x00\x00\x00\x00\x00\xff\x49\xff\x00\xff\xff\xfe\x00\x00\x00\xff\x8c\xff\xff\xfe\x00\xff\x00\x00\x6f\xff\xce\xff\x95\xff\x00\x00\xea\xff\xe3\xff\xd6\xff\x00\x00\x2f\xff\x2d\xff\x1b\xff\x30\xff\x1e\xff\x25\xff\x2a\xff\xbe\xff\xe4\xff\x93\xff\x00\x00\xff\xfe\xe6\xff\x00\xff\x9d\xff\x00\x00\x00\xff\x00\x00\x5d\xff\x69\xff\x5f\xff\x41\xff\x00\x00\x00\x00\xe8\xff\x00\xff\x92\xff\xe7\xff\x44\xff\x40\xff"#++happyCheck :: HappyAddr+happyCheck = HappyA# "\xff\xff\x03\x00\x01\x00\x0b\x00\x07\x00\x02\x00\x03\x00\x14\x00\x02\x00\x03\x00\x0c\x00\x19\x00\x02\x00\x0c\x00\x0b\x00\x02\x00\x19\x00\x10\x00\x19\x00\x19\x00\x13\x00\x13\x00\x19\x00\x1a\x00\x19\x00\x49\x00\x23\x00\x11\x00\x01\x00\x19\x00\x20\x00\x21\x00\x1d\x00\x22\x00\x20\x00\x1d\x00\x19\x00\x22\x00\x23\x00\x0c\x00\x22\x00\x23\x00\x27\x00\x10\x00\x0a\x00\x27\x00\x49\x00\x19\x00\x33\x00\x2e\x00\x1c\x00\x41\x00\x2e\x00\x38\x00\x07\x00\x3f\x00\x2e\x00\x40\x00\x40\x00\x2e\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x40\x00\x52\x00\x53\x00\x49\x00\x19\x00\x1a\x00\x20\x00\x21\x00\x4b\x00\x19\x00\x43\x00\x44\x00\x15\x00\x29\x00\x51\x00\x31\x00\x19\x00\x54\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x03\x00\x02\x00\x03\x00\x29\x00\x33\x00\x70\x00\x71\x00\x72\x00\x4b\x00\x38\x00\x02\x00\x03\x00\x19\x00\x4a\x00\x51\x00\x12\x00\x02\x00\x54\x00\x6f\x00\x20\x00\x4a\x00\x49\x00\x73\x00\x3a\x00\x75\x00\x76\x00\x77\x00\x78\x00\x1d\x00\x78\x00\x41\x00\x11\x00\x78\x00\x22\x00\x23\x00\x4a\x00\x4a\x00\x1d\x00\x27\x00\x49\x00\x02\x00\x03\x00\x22\x00\x23\x00\x6f\x00\x2e\x00\x26\x00\x27\x00\x73\x00\x0b\x00\x75\x00\x76\x00\x77\x00\x78\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x19\x00\x2e\x00\x17\x00\x24\x00\x19\x00\x19\x00\x1f\x00\x28\x00\x1d\x00\x20\x00\x21\x00\x1f\x00\x19\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x09\x00\x0a\x00\x0b\x00\x01\x00\x19\x00\x0b\x00\x2e\x00\x2f\x00\x49\x00\x58\x00\x1f\x00\x11\x00\x12\x00\x13\x00\x14\x00\x02\x00\x49\x00\x17\x00\x10\x00\x19\x00\x5a\x00\x4a\x00\x4a\x00\x1d\x00\x02\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x11\x00\x49\x00\x26\x00\x27\x00\x0b\x00\x43\x00\x44\x00\x24\x00\x01\x00\x11\x00\x2e\x00\x2f\x00\x52\x00\x53\x00\x0d\x00\x0e\x00\x02\x00\x57\x00\x58\x00\x0c\x00\x5a\x00\x26\x00\x1d\x00\x10\x00\x20\x00\x24\x00\x13\x00\x22\x00\x23\x00\x2e\x00\x49\x00\x27\x00\x27\x00\x19\x00\x19\x00\x4a\x00\x24\x00\x1c\x00\x2e\x00\x2e\x00\x20\x00\x24\x00\x70\x00\x71\x00\x72\x00\x4a\x00\x52\x00\x53\x00\x02\x00\x03\x00\x78\x00\x57\x00\x58\x00\x27\x00\x5a\x00\x24\x00\x24\x00\x0b\x00\x19\x00\x49\x00\x2e\x00\x24\x00\x24\x00\x4a\x00\x24\x00\x20\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x4a\x00\x1d\x00\x70\x00\x71\x00\x72\x00\x4a\x00\x22\x00\x23\x00\x4b\x00\x13\x00\x78\x00\x27\x00\x01\x00\x0a\x00\x51\x00\x19\x00\x0d\x00\x54\x00\x2e\x00\x4a\x00\x4a\x00\x19\x00\x02\x00\x03\x00\x24\x00\x4a\x00\x4a\x00\x10\x00\x4a\x00\x27\x00\x22\x00\x0b\x00\x4a\x00\x46\x00\x24\x00\x48\x00\x02\x00\x03\x00\x30\x00\x78\x00\x32\x00\x33\x00\x29\x00\x35\x00\x6f\x00\x0b\x00\x38\x00\x49\x00\x73\x00\x1d\x00\x75\x00\x76\x00\x77\x00\x24\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x24\x00\x47\x00\x4a\x00\x1d\x00\x19\x00\x0b\x00\x2e\x00\x49\x00\x22\x00\x23\x00\x02\x00\x03\x00\x4a\x00\x27\x00\x23\x00\x4a\x00\x11\x00\x24\x00\x24\x00\x0b\x00\x2e\x00\x0a\x00\x0b\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x4a\x00\x4a\x00\x78\x00\x27\x00\x0b\x00\x3b\x00\x4a\x00\x1d\x00\x4a\x00\x49\x00\x2e\x00\x24\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x0a\x00\x24\x00\x05\x00\x0d\x00\x1d\x00\x0b\x00\x2e\x00\x4a\x00\x4a\x00\x22\x00\x23\x00\x02\x00\x03\x00\x24\x00\x27\x00\x24\x00\x24\x00\x4a\x00\x24\x00\x4a\x00\x0b\x00\x2e\x00\x24\x00\x1d\x00\x19\x00\x02\x00\x03\x00\x24\x00\x22\x00\x23\x00\x19\x00\x4a\x00\x78\x00\x27\x00\x0b\x00\x26\x00\x4a\x00\x19\x00\x1d\x00\x4a\x00\x2e\x00\x02\x00\x03\x00\x22\x00\x23\x00\x49\x00\x78\x00\x23\x00\x27\x00\x49\x00\x0b\x00\x4a\x00\x1d\x00\x4a\x00\x4a\x00\x2e\x00\x4a\x00\x22\x00\x23\x00\x11\x00\x4a\x00\x2d\x00\x27\x00\x2f\x00\x2e\x00\x4a\x00\x78\x00\x19\x00\x1d\x00\x2e\x00\x17\x00\x18\x00\x03\x00\x22\x00\x23\x00\x02\x00\x03\x00\x08\x00\x27\x00\x49\x00\x78\x00\x02\x00\x03\x00\x02\x00\x0b\x00\x2e\x00\x01\x00\x12\x00\x0a\x00\x0b\x00\x0b\x00\x0c\x00\x0d\x00\x14\x00\x19\x00\x78\x00\x11\x00\x0c\x00\x13\x00\x14\x00\x49\x00\x10\x00\x1d\x00\x49\x00\x02\x00\x03\x00\x49\x00\x22\x00\x23\x00\x49\x00\x1d\x00\x20\x00\x27\x00\x49\x00\x78\x00\x22\x00\x23\x00\x26\x00\x27\x00\x2e\x00\x2d\x00\x19\x00\x2f\x00\x1b\x00\x49\x00\x2e\x00\x2f\x00\x49\x00\x31\x00\x78\x00\x46\x00\x1d\x00\x48\x00\x25\x00\x26\x00\x27\x00\x22\x00\x23\x00\x09\x00\x0a\x00\x0b\x00\x27\x00\x3f\x00\x78\x00\x30\x00\x03\x00\x32\x00\x33\x00\x2e\x00\x35\x00\x08\x00\x48\x00\x38\x00\x19\x00\x4a\x00\x52\x00\x53\x00\x1d\x00\x1e\x00\x78\x00\x12\x00\x52\x00\x53\x00\x49\x00\x19\x00\x0d\x00\x0e\x00\x19\x00\x1d\x00\x1e\x00\x4a\x00\x02\x00\x03\x00\x01\x00\x49\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\x70\x00\x71\x00\x72\x00\x10\x00\x57\x00\x49\x00\x70\x00\x71\x00\x72\x00\x16\x00\x03\x00\x18\x00\x49\x00\x1d\x00\x1b\x00\x08\x00\x4a\x00\x2c\x00\x22\x00\x23\x00\x49\x00\x30\x00\x31\x00\x27\x00\x25\x00\x12\x00\x49\x00\x28\x00\x49\x00\x38\x00\x2e\x00\x2f\x00\x19\x00\x17\x00\x18\x00\x4c\x00\x4d\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x29\x00\x01\x00\x02\x00\x49\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4a\x00\x52\x00\x53\x00\x4a\x00\x0e\x00\x0f\x00\x10\x00\x46\x00\x47\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\x49\x00\x18\x00\x54\x00\x55\x00\x1b\x00\x49\x00\x1d\x00\x49\x00\x49\x00\x5b\x00\x0e\x00\x22\x00\x23\x00\x49\x00\x25\x00\x26\x00\x49\x00\x28\x00\x70\x00\x71\x00\x72\x00\x19\x00\x1a\x00\x2e\x00\x49\x00\x1d\x00\x1e\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x49\x00\x49\x00\x49\x00\x19\x00\x2c\x00\x4a\x00\x4a\x00\x4a\x00\x30\x00\x31\x00\x4a\x00\x4a\x00\x4a\x00\x49\x00\x19\x00\x49\x00\x38\x00\x4c\x00\x49\x00\x4e\x00\x4f\x00\x50\x00\x49\x00\x49\x00\x2a\x00\x54\x00\x55\x00\x56\x00\x01\x00\x02\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x06\x00\x49\x00\x49\x00\x49\x00\x0e\x00\x0f\x00\x10\x00\x4a\x00\x19\x00\x4a\x00\x1b\x00\x4a\x00\x16\x00\x49\x00\x18\x00\x49\x00\x49\x00\x1b\x00\x4a\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x4a\x00\x22\x00\x23\x00\x49\x00\x25\x00\x02\x00\x03\x00\x28\x00\x30\x00\x49\x00\x32\x00\x33\x00\x34\x00\x35\x00\x4a\x00\x49\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x49\x00\x29\x00\x4a\x00\x19\x00\x49\x00\x49\x00\x29\x00\x1d\x00\x29\x00\x4a\x00\x49\x00\x05\x00\x22\x00\x23\x00\x02\x00\x03\x00\x26\x00\x27\x00\x4c\x00\x4a\x00\x4e\x00\x4f\x00\x50\x00\x0b\x00\x2e\x00\x4a\x00\x54\x00\x55\x00\x56\x00\x01\x00\x4a\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4a\x00\x01\x00\x05\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x19\x00\x22\x00\x23\x00\x0a\x00\x0b\x00\x16\x00\x27\x00\x18\x00\x4a\x00\x10\x00\x1b\x00\x19\x00\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\x0e\x00\x19\x00\x25\x00\x19\x00\x16\x00\x28\x00\x06\x00\x20\x00\x4a\x00\x4a\x00\x4a\x00\x11\x00\x19\x00\x11\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x4a\x00\x1d\x00\x4a\x00\x19\x00\x22\x00\x23\x00\x22\x00\x23\x00\x26\x00\x27\x00\x26\x00\x27\x00\x19\x00\x02\x00\x03\x00\x46\x00\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x13\x00\x15\x00\x26\x00\x54\x00\x55\x00\x56\x00\x01\x00\x12\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x15\x00\x11\x00\x2e\x00\x1d\x00\x0e\x00\x0f\x00\x10\x00\x15\x00\x22\x00\x23\x00\x26\x00\x03\x00\x16\x00\x27\x00\x18\x00\x13\x00\x11\x00\x1b\x00\x0b\x00\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\x13\x00\x48\x00\x25\x00\x11\x00\x26\x00\x28\x00\x11\x00\x0b\x00\x26\x00\x0c\x00\x0b\x00\x11\x00\x14\x00\x2e\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\x15\x00\x1d\x00\x14\x00\x0b\x00\x22\x00\x23\x00\x22\x00\x23\x00\x26\x00\x27\x00\x20\x00\x27\x00\x11\x00\x11\x00\x11\x00\x11\x00\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x11\x00\x2e\x00\x14\x00\x54\x00\x55\x00\x56\x00\x01\x00\x2e\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x2e\x00\x11\x00\x11\x00\x0a\x00\x0e\x00\x0f\x00\x10\x00\x13\x00\x19\x00\x0b\x00\x1b\x00\x31\x00\x16\x00\x13\x00\x18\x00\x10\x00\x04\x00\x1b\x00\x20\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x04\x00\x0b\x00\x26\x00\x13\x00\x25\x00\x02\x00\x03\x00\x28\x00\x30\x00\x20\x00\x32\x00\x33\x00\x20\x00\x35\x00\x11\x00\x11\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x26\x00\x0a\x00\x15\x00\x19\x00\x26\x00\x11\x00\x13\x00\x1d\x00\x13\x00\x4a\x00\x0a\x00\x13\x00\x22\x00\x23\x00\x13\x00\x13\x00\x5b\x00\x27\x00\x4c\x00\x0c\x00\x4e\x00\x4f\x00\x50\x00\x26\x00\x2e\x00\x0b\x00\x54\x00\x55\x00\x56\x00\x01\x00\x20\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x13\x00\x26\x00\x0d\x00\x13\x00\x0e\x00\x0f\x00\x10\x00\x0a\x00\x19\x00\x11\x00\x1b\x00\x11\x00\x16\x00\x31\x00\x18\x00\x26\x00\x11\x00\x1b\x00\x26\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\x03\x00\x26\x00\x25\x00\x20\x00\x13\x00\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\x0a\x00\x35\x00\x11\x00\x2f\x00\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x11\x00\x1d\x00\x03\x00\x0a\x00\x0a\x00\x12\x00\x22\x00\x23\x00\x4a\x00\x5a\x00\x04\x00\x27\x00\x0b\x00\x11\x00\x0b\x00\x04\x00\x10\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x12\x00\x10\x00\x54\x00\x55\x00\x56\x00\x01\x00\x3f\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x04\x00\x10\x00\x10\x00\xff\xff\x0e\x00\x0f\x00\x10\x00\x14\x00\x19\x00\x12\x00\x1b\x00\x12\x00\x16\x00\x12\x00\x18\x00\x12\x00\x12\x00\x1b\x00\x0c\x00\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\x05\x00\x20\x00\x25\x00\xff\xff\x78\x00\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\x78\x00\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x4a\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\xff\xff\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0e\x00\x0f\x00\x10\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x25\x00\x26\x00\x27\x00\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x0b\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x4a\x00\xff\xff\xff\xff\x27\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\x12\x00\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\x1d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x16\x00\x27\x00\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\x2e\x00\x02\x00\x03\x00\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x1d\x00\xff\xff\x1d\x00\xff\xff\xff\xff\x22\x00\x23\x00\x22\x00\x23\x00\xff\xff\x27\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x4c\x00\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\x01\x00\xff\xff\x59\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\x13\x00\xff\xff\x0e\x00\x0f\x00\x10\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x1d\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x19\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x4c\x00\x0b\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x10\x00\x27\x00\x54\x00\x55\x00\x56\x00\xff\xff\x16\x00\x59\x00\x18\x00\xff\xff\x30\x00\x1b\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x39\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x13\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\x13\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\x11\x00\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\x11\x00\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\x19\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\xff\xff\x2c\x00\xff\xff\x27\x00\xff\xff\x30\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x30\x00\x38\x00\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x19\x00\x1a\x00\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\x21\x00\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\x2b\x00\x2c\x00\xff\xff\x2c\x00\xff\xff\x30\x00\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\x28\x00\x38\x00\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x16\x00\xff\xff\x18\x00\x54\x00\x55\x00\x1b\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\x25\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x11\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x16\x00\x1d\x00\x18\x00\xff\xff\xff\xff\x1b\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x2e\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x0c\x00\x25\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\x27\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x25\x00\x35\x00\xff\xff\xff\xff\x38\x00\x39\x00\xff\xff\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\x13\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x19\x00\x1a\x00\xff\xff\x1d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x22\x00\x23\x00\xff\xff\x4f\x00\x50\x00\x27\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x2c\x00\x2e\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\x0c\x00\x25\x00\xff\xff\x0f\x00\x10\x00\x38\x00\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\x21\x00\x4f\x00\x50\x00\xff\xff\x18\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\x14\x00\x02\x00\x03\x00\xff\xff\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x19\x00\xff\xff\x1b\x00\x27\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x0e\x00\x2e\x00\xff\xff\x25\x00\x26\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\x1b\x00\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x19\x00\x35\x00\x1b\x00\x30\x00\x38\x00\x32\x00\x33\x00\x19\x00\x35\x00\xff\xff\xff\xff\x38\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x27\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\x30\x00\x38\x00\x32\x00\x33\x00\x27\x00\x35\x00\x19\x00\x1a\x00\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x21\x00\x32\x00\x33\x00\x19\x00\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#++happyTable :: HappyAddr+happyTable = HappyA# "\x00\x00\xb6\x00\x24\x00\x12\x02\x10\x01\xb5\x00\xb6\x00\x69\x01\xb5\x00\xb6\x00\xda\xff\x4b\x01\xe8\x00\x53\x00\x11\xff\xe8\x00\x90\x00\x54\x00\x32\x01\x32\x01\xfc\xff\x1b\x01\x78\x00\x79\x00\x36\x01\x6f\x02\x48\x02\x2b\x02\x24\x00\x32\x01\xda\xff\xda\xff\xb7\x00\x45\x01\x1c\x01\xb7\x00\xf7\x01\xb8\x00\xb9\x00\x53\x00\xb8\x00\xb9\x00\xba\x00\x54\x00\xdf\x00\xba\x00\x6a\x02\xae\x00\x7a\x00\xbb\x00\xbb\x01\xfa\x01\xbb\x00\x7b\x00\x77\x00\x59\x00\xea\x00\x59\x02\x33\x01\xea\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x35\x01\x6a\x01\x6b\x01\xda\xff\x78\x00\x79\x00\x13\x01\x14\x01\x5d\x00\x4b\x02\x58\x02\xf9\x01\x4a\x01\x81\x01\x5e\x00\x73\xff\x4b\x01\x5f\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x95\x00\xb5\x00\xb6\x00\xfb\x00\x7a\x00\x6c\x01\x6d\x01\x6e\x01\x5d\x00\x7b\x00\xb5\x00\xb6\x00\x1c\x02\x6d\x02\x5e\x00\x96\x00\xe8\x00\x5f\x00\x60\x00\x6e\x02\xbb\x00\x15\x01\x61\x00\x4c\x01\x62\x00\x63\x00\x64\x00\xfc\xff\xb7\x00\x11\xff\x4d\x01\xe9\x00\xff\xff\xb8\x00\xb9\x00\x61\x02\x28\x01\xb7\x00\xba\x00\x6c\x02\xb5\x00\xb6\x00\xb8\x00\xb9\x00\x60\x00\xbb\x00\x24\x02\xba\x00\x61\x00\xa0\xff\x62\x00\x63\x00\x64\x00\xfc\xff\xbb\x00\xa0\xff\xa0\xff\xa0\xff\xa0\xff\xc9\x00\xea\x00\xa0\xff\xb2\x00\xa0\xff\xc9\x00\xeb\x01\xf3\x00\xb7\x00\x2b\x01\x2c\x01\xb2\x01\xf7\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xa0\xff\xba\x00\xe0\x01\x66\x01\x67\x01\x24\x00\xc9\x00\x9f\xff\xbb\x00\xa0\xff\x60\x02\xdd\x01\xca\x00\x9f\xff\x9f\xff\x9f\xff\x9f\xff\xe8\x00\x62\x02\x9f\xff\x54\x00\x9f\xff\x8d\xff\x42\x02\xb3\x00\xb7\x00\xe8\x00\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x6e\xff\x15\x01\x9f\xff\xba\x00\x13\xff\xf8\x01\xf9\x01\xb2\x00\x24\x00\x9d\x01\xbb\x00\x9f\xff\xa0\xff\xa0\xff\xde\x01\x0f\x01\xe8\x00\xa0\xff\xa0\xff\x53\x00\xa0\xff\x6e\xff\xb7\x00\x54\x00\x9e\x01\xb2\x00\xfc\xff\xb8\x00\xb9\x00\xea\x00\x65\x02\x9f\x01\xba\x00\x1c\x02\xae\x00\xb3\x00\xb2\x00\xaf\x00\xea\x00\xbb\x00\x5d\x02\xb2\x00\xa0\xff\xa0\xff\xa0\xff\x64\x02\x9f\xff\x9f\xff\xb5\x00\xb6\x00\xa0\xff\x9f\xff\x9f\xff\x9f\x01\x9f\xff\xb2\x00\xb2\x00\x17\xff\x1c\x02\x66\x02\xea\x00\xb2\x00\xb2\x00\x44\x02\xb2\x00\x1d\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x47\x02\xb7\x00\x9f\xff\x9f\xff\x9f\xff\xb3\x00\xb8\x00\xb9\x00\x5d\x00\x85\x00\x9f\xff\xba\x00\x24\x00\xa1\x01\x5e\x00\x19\x00\x73\xff\x5f\x00\xbb\x00\x25\x02\xb3\x00\x36\x01\xb5\x00\xb6\x00\xb2\x00\x80\x01\x8f\x01\x54\x00\x91\x01\x1d\x00\x37\x01\x16\xff\x4a\x02\x70\x01\xb2\x00\x1f\x02\xb5\x00\xb6\x00\x1e\x00\x13\xff\x86\x00\x20\x00\xfb\x00\x21\x00\x60\x00\x14\xff\x22\x00\x41\x02\x61\x00\xb7\x00\x62\x00\x63\x00\x64\x00\xb2\x00\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xb2\x00\x87\x00\x93\x01\xb7\x00\x7d\x01\x12\xff\xbb\x00\x43\x02\xb8\x00\xb9\x00\xb5\x00\xb6\x00\x95\x01\xba\x00\x91\x00\xbb\x00\x5b\x02\xb2\x00\xb2\x00\x0d\xff\xbb\x00\xe8\x01\x67\x01\xb7\x00\x3b\x01\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x0f\x02\xb3\x00\x17\xff\xba\x00\x0c\xff\x10\x02\xaa\x01\xb7\x00\xad\x01\x46\x02\xbb\x00\xb2\x00\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xdf\x00\xea\x00\x4f\x02\x73\xff\xb7\x00\x0a\xff\xbb\x00\xae\x01\xaf\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xb2\x00\xba\x00\xb2\x00\xb2\x00\xb0\x01\xb2\x00\x29\x02\x09\xff\xbb\x00\xea\x00\xb7\x00\x53\x02\xb5\x00\xb6\x00\xb2\x00\xb8\x00\xb9\x00\x04\x02\xb1\x01\x16\xff\xba\x00\x08\xff\x50\x02\xb3\x00\x90\x00\xb7\x00\xeb\x00\xbb\x00\xb5\x00\xb6\x00\xb8\x00\xb9\x00\x55\x02\x14\xff\x91\x00\xba\x00\x08\x02\x07\xff\xb3\x00\xb7\x00\xff\x00\x01\x01\xbb\x00\xb3\x00\xb8\x00\xb9\x00\x3a\x01\xeb\x00\x38\x02\xba\x00\x68\x02\xc0\x01\xb3\x00\x12\xff\x3b\x01\xb7\x00\xbb\x00\xf2\x01\x2e\x01\x15\x02\xb8\x00\xb9\x00\xb5\x00\xb6\x00\x52\x02\xba\x00\x12\x02\x0d\xff\x68\xff\xb6\x00\x74\x00\xd2\xff\xbb\x00\x24\x00\x4a\x00\xe9\x01\x67\x01\x68\xff\x68\xff\x68\xff\x69\x01\x4c\x00\x0c\xff\x68\xff\x53\x00\x68\xff\x68\xff\x13\x02\x54\x00\xb7\x00\x17\x02\xb5\x00\xb6\x00\x19\x02\xb8\x00\xb9\x00\x1a\x02\x75\x00\x68\xff\xba\x00\x34\x02\x0a\xff\x76\x00\x77\x00\x68\xff\x68\xff\xbb\x00\x38\x02\x19\x00\x39\x02\xd0\x00\x35\x02\x68\xff\x68\xff\x36\x02\x68\xff\x09\xff\x70\x01\xb7\x00\x71\x01\x1b\x00\x1c\x00\x1d\x00\xb8\x00\xb9\x00\x65\x01\x66\x01\x67\x01\xba\x00\x68\xff\x08\xff\x1e\x00\x15\x02\x1f\x00\x20\x00\xbb\x00\x21\x00\x16\x02\x68\xff\x22\x00\xdf\x00\x37\x02\x6a\x01\x6b\x01\xbe\x01\xe1\x00\x07\xff\x4a\x00\x68\xff\x68\xff\xb3\x01\xdf\x00\x0e\x01\x0f\x01\x4c\x00\xe0\x00\xe1\x00\x88\x01\xb5\x00\xb6\x00\x24\x00\xb4\x01\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x8a\x00\x78\x00\xa8\x00\x6c\x01\x6d\x01\x6e\x01\x2d\x00\x0c\x01\xb5\x01\x68\xff\x68\xff\x68\xff\x2e\x00\x15\x02\x2f\x00\xb6\x01\xb7\x00\x30\x00\x22\x02\xc5\x01\xc2\x01\xb8\x00\xb9\x00\xb7\x01\xaa\x00\xc3\x01\xba\x00\x32\x00\x4a\x00\xb8\x01\x33\x00\xb9\x01\x7b\x00\xbb\x00\x3e\x01\x4c\x00\x2d\x01\x2e\x01\x3b\x02\x3c\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xba\x01\xda\x01\x24\x00\xa3\x00\xc9\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xc6\x01\x6a\x01\x6b\x01\xc7\x01\x2b\x00\x2c\x00\x2d\x00\x30\x01\x31\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\xcb\x01\x2f\x00\x40\x00\x41\x00\x30\x00\xcd\x01\xa4\x00\xce\x01\xcf\x01\x8b\x00\x72\x00\xa5\x00\xa6\x00\xd0\x01\x32\x00\xa7\x00\xd1\x01\x33\x00\x6c\x01\x6d\x01\x6e\x01\xe2\x00\xa8\x00\xa8\x00\xd2\x01\xe3\x00\xe1\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xd3\x01\xd4\x01\xd6\x01\xd9\x01\xfd\x01\xe4\x00\xea\x01\xec\x01\xee\x01\xaa\x00\xe5\x00\xf3\x01\xf4\x01\xfb\x01\x3f\x01\x42\x01\x56\x01\x7b\x00\x3c\x00\x57\x01\x3d\x00\x3e\x00\x3f\x00\x5b\x01\x5c\x01\x6e\x01\x40\x00\x41\x00\x42\x00\x24\x00\x74\x00\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x76\x01\x82\x01\x83\x01\x84\x01\x2b\x00\x2c\x00\x2d\x00\x86\x01\x19\x00\x8e\x01\x89\x01\x90\x01\x2e\x00\x92\x01\x2f\x00\x94\x01\x96\x01\x30\x00\xa7\x01\xa4\x00\x1b\x00\x1c\x00\x1d\x00\xa8\x01\x76\x00\x77\x00\xac\x01\x32\x00\xb5\x00\xb6\x00\x33\x00\x1e\x00\xcf\x00\x1f\x00\x20\x00\x8a\x01\x21\x00\xd5\x00\xd8\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xdb\x00\xdd\x00\x00\x01\xfe\x00\x02\x01\x03\x01\x09\x01\xb7\x00\x0d\x01\x8b\x01\x0a\x01\x11\x01\xb8\x00\xb9\x00\xb5\x00\xb6\x00\xff\x00\xba\x00\x3c\x00\x23\x01\x3d\x00\x3e\x00\x3f\x00\x06\x02\xbb\x00\x24\x01\x40\x00\x41\x00\x42\x00\x24\x00\x27\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x28\x01\x24\x00\x29\x01\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x31\x01\xb8\x00\xb9\x00\x4f\x01\x50\x01\x2e\x00\xba\x00\x2f\x00\x3c\x01\x54\x00\x30\x00\x34\x01\x31\x00\xbb\x00\xb5\x00\xb6\x00\xb5\x00\xb6\x00\x72\x00\x6b\x00\x32\x00\x6c\x00\x70\x00\x33\x00\x8b\x00\x51\x01\x93\x00\x96\x00\x97\x00\x47\xff\x99\x00\x5a\x01\xc5\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xb7\x00\xb0\x00\xb7\x00\xbb\x00\xc2\x00\xb8\x00\xb9\x00\xb8\x00\xb9\x00\x5b\x01\xba\x00\x5b\x01\xba\x00\xc8\x00\xb5\x00\xb6\x00\x04\x00\xbb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x71\x02\x5d\x02\x5f\x02\x40\x00\x41\x00\x42\x00\x24\x00\xe0\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x60\x02\x68\x02\xea\x00\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x40\x02\xb8\x00\xb9\x00\x41\x02\x00\x00\x2e\x00\xba\x00\x2f\x00\x4a\x02\x4e\x02\x30\x00\x51\x02\x31\x00\xbb\x00\xf5\x00\xb6\x00\xb5\x00\xb6\x00\x52\x02\x55\x02\x32\x00\x5b\x02\x04\x02\x33\x00\x07\x02\xe2\x01\x08\x02\x0a\x02\x0b\x02\xf6\x00\x15\x02\x1f\x02\xc7\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xf7\x00\x1c\x02\xb7\x00\x21\x02\x22\x02\xf8\x00\xf9\x00\xb8\x00\xb9\x00\xfa\x00\xba\x00\x27\x02\xba\x00\x2c\x02\x2d\x02\x2e\x02\x2f\x02\xfb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x30\x02\x3d\x02\xc2\x01\x40\x00\x41\x00\x42\x00\x24\x00\xbe\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xea\x00\xcb\x01\xcd\x01\xdf\x00\x2b\x00\x2c\x00\x2d\x00\xe3\x01\x19\x00\xe4\x01\xd4\x00\xd9\x01\x2e\x00\xe6\x01\x2f\x00\xe7\x01\xe8\x01\x30\x00\xf7\x01\x31\x00\x1b\x00\x1c\x00\x1d\x00\x01\x02\x02\x02\x00\x02\x42\x01\x32\x00\xb5\x00\xb6\x00\x33\x00\x1e\x00\x41\x01\x1f\x00\x20\x00\x45\x01\x21\x00\x47\x01\x49\x01\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x48\x01\x4a\x01\x53\x01\xd8\x01\x52\x01\x59\x01\x5e\x01\xb7\x00\x5f\x01\x8c\x01\x70\x01\x60\x01\xb8\x00\xb9\x00\x61\x01\x62\x01\x73\x01\xba\x00\x3c\x00\x8d\x00\x3d\x00\x3e\x00\x3f\x00\x65\x01\xbb\x00\x79\x01\x40\x00\x41\x00\x42\x00\x24\x00\x7a\x01\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x80\x01\x78\x01\x88\x01\x98\x01\x2b\x00\x2c\x00\x2d\x00\xa4\x01\x19\x00\x9c\x01\xd7\x00\xa0\x01\x2e\x00\x7d\x01\x2f\x00\xa2\x01\xa3\x01\x30\x00\xa6\x01\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x00\x00\xcd\x00\x32\x00\xd7\x00\xda\x00\x33\x00\x1e\x00\xf1\x01\x1f\x00\x20\x00\xdf\x00\x21\x00\xc4\xff\xdd\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xc5\xff\xf2\x00\xb7\x00\x00\x00\xdf\x00\xdf\x00\x16\x01\xb8\x00\xb9\x00\x8d\x01\x0d\x01\x65\x00\xba\x00\x1d\x01\x2d\x01\x39\x01\x66\x00\x3a\x01\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x68\x00\x69\x00\x6e\x00\x40\x00\x41\x00\x42\x00\x24\x00\x6a\x00\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x6b\x00\x6f\x00\x70\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x72\x00\x19\x00\x81\x00\xec\x00\x82\x00\x2e\x00\x83\x00\x2f\x00\x84\x00\x85\x00\x30\x00\x8d\x00\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x8e\x00\xb2\x00\x32\x00\x00\x00\xff\xff\x33\x00\x1e\x00\xf2\x01\x1f\x00\x20\x00\xff\xff\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xed\x00\x00\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\x00\x00\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x19\x00\x00\x00\xee\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\x1b\x00\x1c\x00\x1d\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x03\x02\x1f\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xef\x00\x00\x00\x00\x00\xba\x00\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\xf0\x01\x43\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x00\x00\x2e\x00\xba\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\xbb\x00\xb5\x00\xb6\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xff\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xb7\x00\x00\x00\xb7\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\xb8\x00\xb9\x00\x00\x00\xba\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\x3c\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x40\x00\x41\x00\x42\x00\x24\x00\x00\x00\x09\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x18\x02\x00\x00\x2b\x00\x2c\x00\x2d\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x30\x00\x00\x00\x31\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x19\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x3c\x00\x72\x02\x3d\x00\x3e\x00\x3f\x00\x00\x00\x2d\x00\x1d\x00\x40\x00\x41\x00\x42\x00\x00\x00\x2e\x00\x43\x00\x2f\x00\x00\x00\x1e\x00\x30\x00\x0b\x02\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x0c\x02\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x02\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x6a\x02\x63\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x64\x02\x1d\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\x86\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x0f\x02\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x3e\x02\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x4c\x02\x18\x01\x00\x00\x3d\x02\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x28\x02\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x00\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x31\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x56\x02\x18\x01\x00\x00\xc4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x32\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xbc\x01\x18\x01\x00\x00\xd5\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x33\x02\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xbc\x01\xbf\x01\x00\x00\xe4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x34\x02\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x98\x01\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xc8\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x89\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x19\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x00\x00\x99\x01\x00\x00\x1d\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x1e\x00\x7b\x00\xa9\x01\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x78\x00\xa8\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x16\x01\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\xf5\x01\x18\x01\x00\x00\xa4\x01\x00\x00\xaa\x00\x00\x00\xaa\x00\x00\x00\x32\x00\x00\x00\x00\x00\x33\x00\x7b\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x3d\x00\x3e\x00\x3f\x00\x2e\x00\x00\x00\x2f\x00\x40\x00\x41\x00\x30\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x01\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x00\x00\x00\x00\xba\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x00\x3d\x00\x3e\x00\x3f\x00\x00\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\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x74\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x01\x44\x00\x45\x00\x46\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x77\x00\x47\x00\x7e\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\x1a\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x80\x00\x00\x00\x1d\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x0b\x02\x20\x00\x7e\x00\x21\x00\x00\x00\x00\x00\x22\x00\x57\x02\x00\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\xee\x01\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x78\x00\xa8\x00\x00\x00\xb7\x00\x00\x00\xac\x00\xad\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x7f\x00\x80\x00\xba\x00\x1e\x01\x44\x00\x45\x00\x46\x00\x00\x00\xa9\x00\xbb\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x47\x00\x7e\x00\x00\x00\x48\x00\x49\x00\x7b\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xae\x00\x24\x00\x00\x00\x00\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x78\x00\xa8\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x16\x01\x7f\x00\x80\x00\x00\x00\x2f\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xfc\x01\x18\x01\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x1f\x01\x44\x00\x45\x00\x46\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x20\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x21\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x22\x01\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x8e\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x8f\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x47\x00\x00\x00\x00\x00\x48\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x4b\x00\xb5\x00\xb6\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\xb9\x00\x9e\x00\x00\x00\x9f\x00\xba\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x72\x00\xbb\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x25\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\xa1\x00\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x26\x01\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x6b\x02\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x05\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x7e\x01\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x89\x01\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x06\x01\x07\x01\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x45\x02\x1e\x00\x00\x00\x1f\x00\x20\x00\x8a\x01\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x24\x02\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x28\x02\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xdb\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xdd\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xfe\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x3e\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x53\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x54\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x55\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x62\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x73\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x74\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x75\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x7a\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x7b\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x85\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd2\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd3\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xa6\x01\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xab\x01\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xcd\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xce\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd1\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd2\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd3\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd4\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xd7\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xe6\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9a\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xf0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xf2\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x66\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x92\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x98\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9a\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9c\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x9d\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbc\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbd\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbe\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xbf\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc0\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc1\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc3\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc5\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xc7\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\xcb\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x1a\x00\x1e\x00\x22\x00\x1f\x00\x20\x00\x19\x00\x21\x00\x00\x00\x00\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x20\x00\x00\x00\x21\x00\x00\x00\x1e\x00\x22\x00\xa9\x01\x20\x00\x1d\x00\x21\x00\x78\x00\xa8\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x16\x01\xda\x00\x20\x00\x19\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x17\x01\x18\x01\x00\x00\x00\x00\x00\x00\xaa\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x9b\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyReduceArr = Happy_Data_Array.array (3, 257) [+	(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)+	]++happy_n_terms = 121 :: Int+happy_n_nonterms = 76 :: Int++happyReduce_3 = happySpecReduce_0  0# happyReduction_3+happyReduction_3  =  happyIn6+		 ([]+	)++happyReduce_4 = happySpecReduce_2  0# happyReduction_4+happyReduction_4 happy_x_2+	happy_x_1+	 =  case happyOut7 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_2 of { happy_var_2 -> +	happyIn6+		 (happy_var_1:happy_var_2+	)}}++happyReduce_5 = happySpecReduce_2  0# happyReduction_5+happyReduction_5 happy_x_2+	happy_x_1+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_2 of { happy_var_2 -> +	happyIn6+		 (map RealDecl happy_var_1 ++ happy_var_2+	)}}++happyReduce_6 = happyReduce 4# 0# happyReduction_6+happyReduction_6 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	case happyOut6 happy_x_4 of { happy_var_4 -> +	happyIn6+		 (RealDecl (PInclude happy_var_2) : happy_var_4+	) `HappyStk` happyRest}}++happyReduce_7 = happySpecReduce_1  1# happyReduction_7+happyReduction_7 happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (happy_var_1+	)}++happyReduce_8 = happySpecReduce_1  1# happyReduction_8+happyReduction_8 happy_x_1+	 =  case happyOut26 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl (DataDecl happy_var_1)+	)}++happyReduce_9 = happySpecReduce_1  1# happyReduction_9+happyReduction_9 happy_x_1+	 =  case happyOut22 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl happy_var_1+	)}++happyReduce_10 = happyReduce 5# 1# happyReduction_10+happyReduction_10 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenName happy_var_2) -> +	case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn7+		 (RealDecl (Freeze happy_var_3 happy_var_4 [] happy_var_2)+	) `HappyStk` happyRest}}}++happyReduce_11 = happyReduce 4# 1# happyReduction_11+happyReduction_11 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut65 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PUsing happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_12 = happyReduce 4# 1# happyReduction_12+happyReduction_12 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut66 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PDoUsing happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_13 = happyReduce 4# 1# happyReduction_13+happyReduction_13 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut67 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PIdiom happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_14 = happyReduce 4# 1# happyReduction_14+happyReduction_14 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut68 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PParams happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_15 = happyReduce 4# 1# happyReduction_15+happyReduction_15 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut69 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_3 of { happy_var_3 -> +	happyIn7+		 (PNamespace happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_16 = happySpecReduce_1  1# happyReduction_16+happyReduction_16 happy_x_1+	 =  case happyOut8 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (RealDecl happy_var_1+	)}++happyReduce_17 = happyReduce 6# 1# happyReduction_17+happyReduction_17 (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 happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut40 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	happyIn7+		 (RealDecl (SynDef happy_var_2 happy_var_3 happy_var_5)+	) `HappyStk` happyRest}}}++happyReduce_18 = happySpecReduce_2  1# happyReduction_18+happyReduction_18 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn7+		 (RealDecl (CInclude happy_var_2)+	)}++happyReduce_19 = happySpecReduce_2  1# happyReduction_19+happyReduction_19 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn7+		 (RealDecl (CLib happy_var_2)+	)}++happyReduce_20 = happyReduce 5# 2# happyReduction_20+happyReduction_20 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn8+		 (Transform happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_21 = happyReduce 7# 3# happyReduction_21+happyReduction_21 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	case happyOut15 happy_x_4 of { happy_var_4 -> +	case happyOut80 happy_x_5 of { happy_var_5 -> +	case happyOut79 happy_x_6 of { happy_var_6 -> +	happyIn9+		 (FunType happy_var_1 happy_var_3 (nub happy_var_4) happy_var_5 happy_var_6+	) `HappyStk` happyRest}}}}}++happyReduce_22 = happySpecReduce_3  3# happyReduction_22+happyReduction_22 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut77 happy_x_2 of { happy_var_2 -> +	happyIn9+		 (ProofScript happy_var_1 happy_var_2+	)}}++happyReduce_23 = happyReduce 9# 3# happyReduction_23+happyReduction_23 (happy_x_9 `HappyStk`+	happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut11 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut14 happy_x_6 of { happy_var_6 -> +	case happyOut80 happy_x_8 of { happy_var_8 -> +	case happyOut79 happy_x_9 of { happy_var_9 -> +	happyIn9+		 (WithClause (mkDef happy_var_8 happy_var_9 happy_var_1) happy_var_2 happy_var_3 happy_var_4 happy_var_6+	) `HappyStk` happyRest}}}}}}}++happyReduce_24 = happyReduce 10# 3# happyReduction_24+happyReduction_24 (happy_x_10 `HappyStk`+	happy_x_9 `HappyStk`+	happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_7 of { happy_var_7 -> +	case happyOut80 happy_x_9 of { happy_var_9 -> +	case happyOut79 happy_x_10 of { happy_var_10 -> +	happyIn9+		 (FunClauseP (mkDef happy_var_9 happy_var_10 happy_var_1) happy_var_2 happy_var_4 happy_var_7+	) `HappyStk` happyRest}}}}}}++happyReduce_25 = happyReduce 8# 3# happyReduction_25+happyReduction_25 (happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut24 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut15 happy_x_5 of { happy_var_5 -> +	case happyOut80 happy_x_7 of { happy_var_7 -> +	case happyOut79 happy_x_8 of { happy_var_8 -> +	happyIn9+		 (FunClause (mkDef happy_var_7 happy_var_8 happy_var_1) happy_var_2 happy_var_4 (nub happy_var_5)+	) `HappyStk` happyRest}}}}}}++happyReduce_26 = happyReduce 5# 3# happyReduction_26+happyReduction_26 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn9+		 (FunClause RPlaceholder [happy_var_2] happy_var_4 []+	) `HappyStk` happyRest}}++happyReduce_27 = happyReduce 8# 3# happyReduction_27+happyReduction_27 (happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_7 of { happy_var_7 -> +	happyIn9+		 (FunClauseP RPlaceholder [happy_var_2] happy_var_4 happy_var_7+	) `HappyStk` happyRest}}}++happyReduce_28 = happyReduce 7# 3# happyReduction_28+happyReduction_28 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut11 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut14 happy_x_6 of { happy_var_6 -> +	happyIn9+		 (WithClause RPlaceholder [happy_var_2] happy_var_3 happy_var_4 happy_var_6+	) `HappyStk` happyRest}}}}++happyReduce_29 = happySpecReduce_1  4# happyReduction_29+happyReduction_29 happy_x_1+	 =  happyIn10+		 (Vis Public+	)++happyReduce_30 = happySpecReduce_1  4# happyReduction_30+happyReduction_30 happy_x_1+	 =  happyIn10+		 (Vis Private+	)++happyReduce_31 = happySpecReduce_1  4# happyReduction_31+happyReduction_31 happy_x_1+	 =  happyIn10+		 (Vis Abstract+	)++happyReduce_32 = happySpecReduce_0  4# happyReduction_32+happyReduction_32  =  happyIn10+		 (Vis Public+	)++happyReduce_33 = happySpecReduce_1  5# happyReduction_33+happyReduction_33 happy_x_1+	 =  happyIn11+		 (False+	)++happyReduce_34 = happySpecReduce_2  5# happyReduction_34+happyReduction_34 happy_x_2+	happy_x_1+	 =  happyIn11+		 (True+	)++happyReduce_35 = happySpecReduce_3  6# happyReduction_35+happyReduction_35 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut13 happy_x_2 of { happy_var_2 -> +	case happyOut12 happy_x_3 of { happy_var_3 -> +	happyIn12+		 (happy_var_2:happy_var_3+	)}}++happyReduce_36 = happySpecReduce_0  6# happyReduction_36+happyReduction_36  =  happyIn12+		 ([]+	)++happyReduce_37 = happySpecReduce_1  7# happyReduction_37+happyReduction_37 happy_x_1+	 =  case happyOut32 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (happy_var_1+	)}++happyReduce_38 = happySpecReduce_1  7# happyReduction_38+happyReduction_38 happy_x_1+	 =  case happyOut57 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (happy_var_1+	)}++happyReduce_39 = happySpecReduce_3  7# happyReduction_39+happyReduction_39 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn13+		 (happy_var_2+	)}++happyReduce_40 = happyReduce 5# 7# 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 happyOut58 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn13+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_41 = happySpecReduce_2  8# happyReduction_41+happyReduction_41 happy_x_2+	happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	case happyOut14 happy_x_2 of { happy_var_2 -> +	happyIn14+		 (happy_var_1:happy_var_2+	)}}++happyReduce_42 = happySpecReduce_1  8# happyReduction_42+happyReduction_42 happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	happyIn14+		 ([happy_var_1]+	)}++happyReduce_43 = happySpecReduce_1  9# happyReduction_43+happyReduction_43 happy_x_1+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> +	happyIn15+		 (happy_var_1+	)}++happyReduce_44 = happySpecReduce_3  9# happyReduction_44+happyReduction_44 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut16 happy_x_2 of { happy_var_2 -> +	happyIn15+		 (happy_var_2+	)}++happyReduce_45 = happySpecReduce_0  10# happyReduction_45+happyReduction_45  =  happyIn16+		 ([]+	)++happyReduce_46 = happySpecReduce_2  10# happyReduction_46+happyReduction_46 happy_x_2+	happy_x_1+	 =  case happyOut17 happy_x_1 of { happy_var_1 -> +	case happyOut16 happy_x_2 of { happy_var_2 -> +	happyIn16+		 (happy_var_1 ++ happy_var_2+	)}}++happyReduce_47 = happySpecReduce_1  11# happyReduction_47+happyReduction_47 happy_x_1+	 =  happyIn17+		 ([NoCG]+	)++happyReduce_48 = happySpecReduce_1  11# happyReduction_48+happyReduction_48 happy_x_1+	 =  happyIn17+		 ([CGEval, Inline]+	)++happyReduce_49 = happyReduce 4# 11# happyReduction_49+happyReduction_49 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut38 happy_x_3 of { happy_var_3 -> +	happyIn17+		 ([CGSpec happy_var_3]+	) `HappyStk` happyRest}++happyReduce_50 = happySpecReduce_1  11# happyReduction_50+happyReduction_50 happy_x_1+	 =  happyIn17+		 ([CGSpec []]+	)++happyReduce_51 = happySpecReduce_1  11# happyReduction_51+happyReduction_51 happy_x_1+	 =  happyIn17+		 ([Inline]+	)++happyReduce_52 = happySpecReduce_2  11# happyReduction_52+happyReduction_52 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { (TokenString happy_var_2) -> +	happyIn17+		 ([CExport happy_var_2]+	)}++happyReduce_53 = happyReduce 4# 12# happyReduction_53+happyReduction_53 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut21 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	case happyOut19 happy_x_3 of { happy_var_3 -> +	happyIn18+		 (map (\x -> Fixity x happy_var_1 happy_var_2) happy_var_3+	) `HappyStk` happyRest}}}++happyReduce_54 = happySpecReduce_1  13# happyReduction_54+happyReduction_54 happy_x_1+	 =  case happyOut20 happy_x_1 of { happy_var_1 -> +	happyIn19+		 ([happy_var_1]+	)}++happyReduce_55 = happySpecReduce_3  13# happyReduction_55+happyReduction_55 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut20 happy_x_1 of { happy_var_1 -> +	case happyOut19 happy_x_3 of { happy_var_3 -> +	happyIn19+		 (happy_var_1:happy_var_3+	)}}++happyReduce_56 = happySpecReduce_1  14# happyReduction_56+happyReduction_56 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenInfixName happy_var_1) -> +	happyIn20+		 (happy_var_1+	)}++happyReduce_57 = happySpecReduce_1  14# happyReduction_57+happyReduction_57 happy_x_1+	 =  happyIn20+		 ("-"+	)++happyReduce_58 = happySpecReduce_1  14# happyReduction_58+happyReduction_58 happy_x_1+	 =  happyIn20+		 ("<"+	)++happyReduce_59 = happySpecReduce_1  14# happyReduction_59+happyReduction_59 happy_x_1+	 =  happyIn20+		 (">"+	)++happyReduce_60 = happySpecReduce_1  15# happyReduction_60+happyReduction_60 happy_x_1+	 =  happyIn21+		 (LeftAssoc+	)++happyReduce_61 = happySpecReduce_1  15# happyReduction_61+happyReduction_61 happy_x_1+	 =  happyIn21+		 (RightAssoc+	)++happyReduce_62 = happySpecReduce_1  15# happyReduction_62+happyReduction_62 happy_x_1+	 =  happyIn21+		 (NonAssoc+	)++happyReduce_63 = happyReduce 4# 16# happyReduction_63+happyReduction_63 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut23 happy_x_3 of { happy_var_3 -> +	happyIn22+		 (LatexDefs happy_var_3+	) `HappyStk` happyRest}++happyReduce_64 = happySpecReduce_3  17# happyReduction_64+happyReduction_64 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> +	happyIn23+		 ([(happy_var_1,happy_var_3)]+	)}}++happyReduce_65 = happyReduce 5# 17# happyReduction_65+happyReduction_65 (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_1 of { happy_var_1 -> +	case happyOutTok happy_x_3 of { (TokenString happy_var_3) -> +	case happyOut23 happy_x_5 of { happy_var_5 -> +	happyIn23+		 ((happy_var_1,happy_var_3):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_66 = happySpecReduce_2  18# happyReduction_66+happyReduction_66 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut25 happy_x_2 of { happy_var_2 -> +	happyIn24+		 ((happy_var_1, happy_var_2)+	)}}++happyReduce_67 = happySpecReduce_0  19# happyReduction_67+happyReduction_67  =  happyIn25+		 ([]+	)++happyReduce_68 = happySpecReduce_2  19# happyReduction_68+happyReduction_68 happy_x_2+	happy_x_1+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> +	case happyOut25 happy_x_2 of { happy_var_2 -> +	happyIn25+		 ((happy_var_1,Nothing):happy_var_2+	)}}++happyReduce_69 = happyReduce 5# 19# 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)+	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut25 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn25+		 ((RVar happy_var_4 happy_var_5 happy_var_1, Just happy_var_1):happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_70 = happyReduce 5# 19# happyReduction_70+happyReduction_70 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut25 happy_x_5 of { happy_var_5 -> +	happyIn25+		 ((happy_var_3, Just happy_var_1):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_71 = happyReduce 6# 20# happyReduction_71+happyReduction_71 (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 happyOut28 happy_x_2 of { happy_var_2 -> +	case happyOut31 happy_x_3 of { happy_var_3 -> +	case happyOut27 happy_x_4 of { happy_var_4 -> +	case happyOut80 happy_x_5 of { happy_var_5 -> +	case happyOut79 happy_x_6 of { happy_var_6 -> +	happyIn26+		 (mkDatatype happy_var_5 happy_var_6 happy_var_3 happy_var_4 happy_var_2+	) `HappyStk` happyRest}}}}}++happyReduce_72 = happySpecReduce_3  21# happyReduction_72+happyReduction_72 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut64 happy_x_1 of { happy_var_1 -> +	case happyOut73 happy_x_2 of { happy_var_2 -> +	happyIn27+		 (Right (happy_var_1,happy_var_2)+	)}}++happyReduce_73 = happySpecReduce_3  21# happyReduction_73+happyReduction_73 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_2 of { happy_var_2 -> +	happyIn27+		 (Left happy_var_2+	)}++happyReduce_74 = happySpecReduce_3  21# happyReduction_74+happyReduction_74 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn27+		 (Left (RConst happy_var_2 happy_var_3 TYPE)+	)}}++happyReduce_75 = happySpecReduce_0  22# happyReduction_75+happyReduction_75  =  happyIn28+		 ([]+	)++happyReduce_76 = happySpecReduce_3  22# happyReduction_76+happyReduction_76 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut29 happy_x_2 of { happy_var_2 -> +	happyIn28+		 (happy_var_2+	)}++happyReduce_77 = happySpecReduce_1  23# happyReduction_77+happyReduction_77 happy_x_1+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> +	happyIn29+		 ([happy_var_1]+	)}++happyReduce_78 = happySpecReduce_3  23# happyReduction_78+happyReduction_78 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> +	case happyOut29 happy_x_3 of { happy_var_3 -> +	happyIn29+		 (happy_var_1:happy_var_3+	)}}++happyReduce_79 = happySpecReduce_1  24# happyReduction_79+happyReduction_79 happy_x_1+	 =  happyIn30+		 (NoElim+	)++happyReduce_80 = happySpecReduce_1  24# happyReduction_80+happyReduction_80 happy_x_1+	 =  happyIn30+		 (Collapsible+	)++happyReduce_81 = happySpecReduce_1  25# happyReduction_81+happyReduction_81 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenName happy_var_1) -> +	happyIn31+		 (happy_var_1+	)}++happyReduce_82 = happySpecReduce_3  25# happyReduction_82+happyReduction_82 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut20 happy_x_2 of { happy_var_2 -> +	happyIn31+		 (useropFn happy_var_2+	)}++happyReduce_83 = happyReduce 4# 26# happyReduction_83+happyReduction_83 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut32 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	case happyOut56 happy_x_4 of { happy_var_4 -> +	happyIn32+		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_84 = happyReduce 5# 26# happyReduction_84+happyReduction_84 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut32 happy_x_1 of { happy_var_1 -> +	case happyOut42 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn32+		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+	) `HappyStk` happyRest}}}}++happyReduce_85 = happySpecReduce_3  26# happyReduction_85+happyReduction_85 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_86 = happySpecReduce_3  26# happyReduction_86+happyReduction_86 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut62 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RConst happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_87 = happySpecReduce_1  26# happyReduction_87+happyReduction_87 happy_x_1+	 =  happyIn32+		 (RPlaceholder+	)++happyReduce_88 = happySpecReduce_3  26# happyReduction_88+happyReduction_88 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 (UN "__Empty")+	)}}++happyReduce_89 = happySpecReduce_3  26# happyReduction_89+happyReduction_89 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (RVar happy_var_2 happy_var_3 (UN "__Unit")+	)}}++happyReduce_90 = happySpecReduce_1  27# happyReduction_90+happyReduction_90 happy_x_1+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> +	happyIn33+		 (happy_var_1+	)}++happyReduce_91 = happySpecReduce_3  27# happyReduction_91+happyReduction_91 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn33+		 (happy_var_2+	)}++happyReduce_92 = happyReduce 4# 27# happyReduction_92+happyReduction_92 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	case happyOut56 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (RApp happy_var_2 happy_var_3 happy_var_1 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_93 = happyReduce 5# 27# happyReduction_93+happyReduction_93 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut42 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn33+		 (RAppImp happy_var_4 happy_var_5 (fst happy_var_2) happy_var_1 (snd happy_var_2)+	) `HappyStk` happyRest}}}}++happyReduce_94 = happyReduce 4# 27# happyReduction_94+happyReduction_94 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (RApp happy_var_3 happy_var_4 (RApp happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "__lazy")) RPlaceholder) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_95 = happyReduce 4# 27# happyReduction_95+happyReduction_95 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut34 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (doBind Lam happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_96 = happyReduce 4# 27# happyReduction_96+happyReduction_96 (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 happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (doLetBind happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_97 = happySpecReduce_1  27# happyReduction_97+happyReduction_97 happy_x_1+	 =  case happyOut43 happy_x_1 of { happy_var_1 -> +	happyIn33+		 (happy_var_1+	)}++happyReduce_98 = happyReduce 8# 27# happyReduction_98+happyReduction_98 (happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut33 happy_x_6 of { happy_var_6 -> +	case happyOut80 happy_x_7 of { happy_var_7 -> +	case happyOut79 happy_x_8 of { happy_var_8 -> +	happyIn33+		 (mkApp happy_var_7 happy_var_8 (RVar happy_var_7 happy_var_8 (UN "if_then_else")) [happy_var_2,happy_var_4,happy_var_6]+	) `HappyStk` happyRest}}}}}++happyReduce_99 = happySpecReduce_2  28# happyReduction_99+happyReduction_99 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	happyIn34+		 ([(happy_var_1,happy_var_2)]+	)}}++happyReduce_100 = happyReduce 4# 28# happyReduction_100+happyReduction_100 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut34 happy_x_4 of { happy_var_4 -> +	happyIn34+		 ((happy_var_1,happy_var_2):happy_var_4+	) `HappyStk` happyRest}}}++happyReduce_101 = happySpecReduce_3  29# happyReduction_101+happyReduction_101 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> +	case happyOut35 happy_x_3 of { happy_var_3 -> +	happyIn35+		 (happy_var_1 ++ happy_var_3+	)}}++happyReduce_102 = happySpecReduce_1  29# happyReduction_102+happyReduction_102 happy_x_1+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> +	happyIn35+		 (happy_var_1+	)}++happyReduce_103 = happySpecReduce_3  30# happyReduction_103+happyReduction_103 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	happyIn36+		 (map ( \x -> (x,happy_var_3)) [happy_var_1]+	)}}++happyReduce_104 = happySpecReduce_1  31# happyReduction_104+happyReduction_104 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn37+		 ([happy_var_1]+	)}++happyReduce_105 = happySpecReduce_3  31# happyReduction_105+happyReduction_105 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut37 happy_x_3 of { happy_var_3 -> +	happyIn37+		 (happy_var_1:happy_var_3+	)}}++happyReduce_106 = happySpecReduce_2  32# happyReduction_106+happyReduction_106 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	happyIn38+		 ([(happy_var_1,happy_var_2)]+	)}}++happyReduce_107 = happySpecReduce_1  32# happyReduction_107+happyReduction_107 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn38+		 ([(happy_var_1, 0)]+	)}++happyReduce_108 = happySpecReduce_3  32# happyReduction_108+happyReduction_108 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut38 happy_x_3 of { happy_var_3 -> +	happyIn38+		 ((happy_var_1,0):happy_var_3+	)}}++happyReduce_109 = happyReduce 4# 32# happyReduction_109+happyReduction_109 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInt happy_var_2) -> +	case happyOut38 happy_x_4 of { happy_var_4 -> +	happyIn38+		 ((happy_var_1,happy_var_2):happy_var_4+	) `HappyStk` happyRest}}}++happyReduce_110 = happySpecReduce_1  33# happyReduction_110+happyReduction_110 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	happyIn39+		 ([happy_var_1]+	)}++happyReduce_111 = happySpecReduce_3  33# happyReduction_111+happyReduction_111 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut37 happy_x_3 of { happy_var_3 -> +	happyIn39+		 (happy_var_1:happy_var_3+	)}}++happyReduce_112 = happySpecReduce_0  34# happyReduction_112+happyReduction_112  =  happyIn40+		 ([]+	)++happyReduce_113 = happySpecReduce_2  34# happyReduction_113+happyReduction_113 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut40 happy_x_2 of { happy_var_2 -> +	happyIn40+		 (happy_var_1:happy_var_2+	)}}++happyReduce_114 = happyReduce 4# 35# happyReduction_114+happyReduction_114 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	happyIn41+		 ([(happy_var_1,happy_var_2,happy_var_4)]+	) `HappyStk` happyRest}}}++happyReduce_115 = happyReduce 6# 35# happyReduction_115+happyReduction_115 (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 happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut41 happy_x_6 of { happy_var_6 -> +	happyIn41+		 ((happy_var_1,happy_var_2,happy_var_4):happy_var_6+	) `HappyStk` happyRest}}}}++happyReduce_116 = happySpecReduce_3  36# happyReduction_116+happyReduction_116 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn42+		 ((happy_var_1, RVar happy_var_2 happy_var_3 happy_var_1)+	)}}}++happyReduce_117 = happySpecReduce_3  36# happyReduction_117+happyReduction_117 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBrackName happy_var_1) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn42+		 ((happy_var_1, happy_var_3)+	)}}++happyReduce_118 = happyReduce 4# 37# happyReduction_118+happyReduction_118 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn43+		 (RInfix happy_var_3 happy_var_4 Minus (RConst happy_var_3 happy_var_4 (Num 0)) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_119 = happyReduce 5# 37# happyReduction_119+happyReduction_119 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_120 = happyReduce 5# 37# happyReduction_120+happyReduction_120 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (mkApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) [happy_var_1, happy_var_3]+	) `HappyStk` happyRest}}}}++happyReduce_121 = happyReduce 5# 37# happyReduction_121+happyReduction_121 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False "<" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_122 = happyReduce 5# 37# happyReduction_122+happyReduction_122 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RUserInfix happy_var_4 happy_var_5 False ">" happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_123 = happyReduce 5# 37# happyReduction_123+happyReduction_123 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn43+		 (RBind (MN "X" 0) (Pi Ex [] happy_var_1) happy_var_3+	) `HappyStk` happyRest}}++happyReduce_124 = happySpecReduce_1  37# happyReduction_124+happyReduction_124 happy_x_1+	 =  case happyOut44 happy_x_1 of { happy_var_1 -> +	happyIn43+		 (happy_var_1+	)}++happyReduce_125 = happyReduce 5# 37# 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 happyOut56 happy_x_1 of { happy_var_1 -> +	case happyOut56 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn43+		 (RInfix happy_var_4 happy_var_5 JMEq happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}++happyReduce_126 = happyReduce 5# 38# happyReduction_126+happyReduction_126 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn44+		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}}++happyReduce_127 = happyReduce 6# 39# happyReduction_127+happyReduction_127 (happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+	) `HappyStk` happyRest}}}}++happyReduce_128 = happyReduce 6# 39# happyReduction_128+happyReduction_128 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOutTok happy_x_3 of { (TokenInfixName happy_var_3) -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}}++happyReduce_129 = happyReduce 6# 39# happyReduction_129+happyReduction_129 (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 happyOut46 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)) happy_var_3)+	) `HappyStk` happyRest}}}}++happyReduce_130 = happyReduce 6# 39# happyReduction_130+happyReduction_130 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut46 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False happy_var_3 happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}}++happyReduce_131 = happyReduce 6# 39# happyReduction_131+happyReduction_131 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RUserInfix happy_var_4 happy_var_5 False "-" happy_var_2 (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}++happyReduce_132 = happyReduce 6# 39# happyReduction_132+happyReduction_132 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RBind (MN "X" 1) (Pi Ex [] happy_var_2) (RVar happy_var_4 happy_var_5 (MN "X" 0)))+	) `HappyStk` happyRest}}}++happyReduce_133 = happyReduce 6# 39# happyReduction_133+happyReduction_133 (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 happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder) +                       (RBind (MN "X" 1) (Pi Ex [] (RVar happy_var_4 happy_var_5 (MN "X" 0))) happy_var_3)+	) `HappyStk` happyRest}}}++happyReduce_134 = happyReduce 5# 39# happyReduction_134+happyReduction_134 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (RBind (MN "X" 1) (Lam RPlaceholder)+                    (RBind (MN "X" 2) (Pi Ex [] (RVar happy_var_3 happy_var_4 (MN "X" 0)))+                       (RVar happy_var_3 happy_var_4 (MN "X" 1))))+	) `HappyStk` happyRest}}++happyReduce_135 = happyReduce 5# 39# happyReduction_135+happyReduction_135 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                   (RBind (MN "X" 1) (Lam RPlaceholder)+                       (pairDesugar happy_var_3 happy_var_4 (RVar happy_var_3 happy_var_4 (UN "mkPair"))+                                    [RVar happy_var_3 happy_var_4 (MN "X" 0),+                                     RVar happy_var_3 happy_var_4 (MN "X" 1)]))+	) `HappyStk` happyRest}}++happyReduce_136 = happyReduce 6# 39# happyReduction_136+happyReduction_136 (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 happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+                                    [happy_var_2,+                                     RVar happy_var_4 happy_var_5 (MN "X" 0)])+	) `HappyStk` happyRest}}}++happyReduce_137 = happyReduce 6# 39# happyReduction_137+happyReduction_137 (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 happyOut33 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn45+		 (RBind (MN "X" 0) (Lam RPlaceholder)+                       (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair"))+                                    [RVar happy_var_4 happy_var_5 (MN "X" 0), happy_var_3])+	) `HappyStk` happyRest}}}++happyReduce_138 = happySpecReduce_1  40# happyReduction_138+happyReduction_138 happy_x_1+	 =  happyIn46+		 ("<"+	)++happyReduce_139 = happySpecReduce_1  40# happyReduction_139+happyReduction_139 happy_x_1+	 =  happyIn46+		 (">"+	)++happyReduce_140 = happySpecReduce_0  41# happyReduction_140+happyReduction_140  =  happyIn47+		 (RPlaceholder+	)++happyReduce_141 = happySpecReduce_2  41# happyReduction_141+happyReduction_141 happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn47+		 (happy_var_2+	)}++happyReduce_142 = happySpecReduce_0  42# happyReduction_142+happyReduction_142  =  happyIn48+		 (RPlaceholder+	)++happyReduce_143 = happySpecReduce_2  42# happyReduction_143+happyReduction_143 happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn48+		 (happy_var_2+	)}++happyReduce_144 = happyReduce 5# 43# happyReduction_144+happyReduction_144 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut39 happy_x_1 of { happy_var_1 -> +	case happyOut48 happy_x_2 of { happy_var_2 -> +	case happyOut49 happy_x_5 of { happy_var_5 -> +	happyIn49+		 (doBind (Pi Im []) (map (\x -> (x, happy_var_2)) happy_var_1) happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_145 = happySpecReduce_1  43# happyReduction_145+happyReduction_145 happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	happyIn49+		 (happy_var_1+	)}++happyReduce_146 = happySpecReduce_3  44# happyReduction_146+happyReduction_146 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	happyIn50+		 (RBind (MN "X" 0) (Pi Ex [] happy_var_1) happy_var_3+	)}}++happyReduce_147 = happyReduce 6# 44# happyReduction_147+happyReduction_147 (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 happyOut35 happy_x_2 of { happy_var_2 -> +	case happyOut52 happy_x_4 of { happy_var_4 -> +	case happyOut50 happy_x_6 of { happy_var_6 -> +	happyIn50+		 (doBind (Pi Ex happy_var_4) happy_var_2 happy_var_6+	) `HappyStk` happyRest}}}++happyReduce_148 = happyReduce 5# 44# happyReduction_148+happyReduction_148 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut35 happy_x_2 of { happy_var_2 -> +	case happyOut50 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (doBind (Pi Ex [Lazy]) happy_var_2 happy_var_5+	) `HappyStk` happyRest}}++happyReduce_149 = happySpecReduce_3  44# happyReduction_149+happyReduction_149 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (bracket happy_var_2+	)}++happyReduce_150 = happyReduce 7# 44# happyReduction_150+happyReduction_150 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut50 happy_x_2 of { happy_var_2 -> +	case happyOut50 happy_x_4 of { happy_var_4 -> +	case happyOut80 happy_x_5 of { happy_var_5 -> +	case happyOut79 happy_x_6 of { happy_var_6 -> +	happyIn50+		 (RInfix happy_var_5 happy_var_6 JMEq happy_var_2 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_151 = happySpecReduce_1  44# happyReduction_151+happyReduction_151 happy_x_1+	 =  case happyOut32 happy_x_1 of { happy_var_1 -> +	happyIn50+		 (happy_var_1+	)}++happyReduce_152 = happySpecReduce_3  44# happyReduction_152+happyReduction_152 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (happy_var_2+	)}++happyReduce_153 = happyReduce 5# 44# happyReduction_153+happyReduction_153 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (TokenInfixName happy_var_2) -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (RUserInfix happy_var_4 happy_var_5 False happy_var_2 happy_var_1 happy_var_3+	) `HappyStk` happyRest}}}}}++happyReduce_154 = happyReduce 5# 44# happyReduction_154+happyReduction_154 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut55 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn50+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Pair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_155 = happySpecReduce_1  44# happyReduction_155+happyReduction_155 happy_x_1+	 =  case happyOut54 happy_x_1 of { happy_var_1 -> +	happyIn50+		 (happy_var_1+	)}++happyReduce_156 = happySpecReduce_1  45# happyReduction_156+happyReduction_156 happy_x_1+	 =  happyIn51+		 (Lazy+	)++happyReduce_157 = happySpecReduce_1  45# happyReduction_157+happyReduction_157 happy_x_1+	 =  happyIn51+		 (Static+	)++happyReduce_158 = happySpecReduce_3  46# happyReduction_158+happyReduction_158 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut53 happy_x_2 of { happy_var_2 -> +	happyIn52+		 (happy_var_2+	)}++happyReduce_159 = happySpecReduce_0  46# happyReduction_159+happyReduction_159  =  happyIn52+		 ([]+	)++happyReduce_160 = happySpecReduce_3  47# happyReduction_160+happyReduction_160 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> +	case happyOut53 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (happy_var_1:happy_var_3+	)}}++happyReduce_161 = happySpecReduce_1  47# happyReduction_161+happyReduction_161 happy_x_1+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> +	happyIn53+		 ([happy_var_1]+	)}++happyReduce_162 = happyReduce 8# 48# happyReduction_162+happyReduction_162 (happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut50 happy_x_5 of { happy_var_5 -> +	case happyOut80 happy_x_7 of { happy_var_7 -> +	case happyOut79 happy_x_8 of { happy_var_8 -> +	happyIn54+		 (sigDesugar happy_var_7 happy_var_8 (happy_var_2, happy_var_3) happy_var_5+	) `HappyStk` happyRest}}}}}++happyReduce_163 = happySpecReduce_3  49# happyReduction_163+happyReduction_163 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	happyIn55+		 (happy_var_1:happy_var_3:[]+	)}}++happyReduce_164 = happySpecReduce_3  49# happyReduction_164+happyReduction_164 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	case happyOut55 happy_x_3 of { happy_var_3 -> +	happyIn55+		 (happy_var_1:happy_var_3+	)}}++happyReduce_165 = happySpecReduce_3  50# happyReduction_165+happyReduction_165 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (RVar happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_166 = happySpecReduce_3  50# happyReduction_166+happyReduction_166 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (RReturn happy_var_2 happy_var_3+	)}}++happyReduce_167 = happySpecReduce_3  50# happyReduction_167+happyReduction_167 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn56+		 (bracket happy_var_2+	)}++happyReduce_168 = happySpecReduce_2  50# happyReduction_168+happyReduction_168 happy_x_2+	happy_x_1+	 =  case happyOut56 happy_x_2 of { happy_var_2 -> +	happyIn56+		 (RPure happy_var_2+	)}++happyReduce_169 = happySpecReduce_1  50# happyReduction_169+happyReduction_169 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenMetavar happy_var_1) -> +	happyIn56+		 (RMetavar happy_var_1+	)}++happyReduce_170 = happyReduce 4# 50# happyReduction_170+happyReduction_170 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn56+		 (RExpVar happy_var_3 happy_var_4 happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_171 = happySpecReduce_3  50# happyReduction_171+happyReduction_171 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut62 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (RConst happy_var_2 happy_var_3 happy_var_1+	)}}}++happyReduce_172 = happySpecReduce_1  50# happyReduction_172+happyReduction_172 happy_x_1+	 =  happyIn56+		 (RRefl+	)++happyReduce_173 = happySpecReduce_3  50# happyReduction_173+happyReduction_173 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (RVar happy_var_2 happy_var_3 (UN "__Empty")+	)}}++happyReduce_174 = happySpecReduce_3  50# happyReduction_174+happyReduction_174 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn56+		 (RVar happy_var_2 happy_var_3 (UN "__Unit")+	)}}++happyReduce_175 = happySpecReduce_1  50# happyReduction_175+happyReduction_175 happy_x_1+	 =  happyIn56+		 (RPlaceholder+	)++happyReduce_176 = happySpecReduce_1  50# happyReduction_176+happyReduction_176 happy_x_1+	 =  case happyOut59 happy_x_1 of { happy_var_1 -> +	happyIn56+		 (RDo happy_var_1+	)}++happyReduce_177 = happySpecReduce_3  50# happyReduction_177+happyReduction_177 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn56+		 (RIdiom happy_var_2+	)}++happyReduce_178 = happyReduce 5# 50# happyReduction_178+happyReduction_178 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut58 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn56+		 (pairDesugar happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "mkPair")) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_179 = happySpecReduce_1  50# happyReduction_179+happyReduction_179 happy_x_1+	 =  case happyOut54 happy_x_1 of { happy_var_1 -> +	happyIn56+		 (happy_var_1+	)}++happyReduce_180 = happySpecReduce_1  50# happyReduction_180+happyReduction_180 happy_x_1+	 =  case happyOut45 happy_x_1 of { happy_var_1 -> +	happyIn56+		 (happy_var_1+	)}++happyReduce_181 = happySpecReduce_1  50# happyReduction_181+happyReduction_181 happy_x_1+	 =  case happyOut57 happy_x_1 of { happy_var_1 -> +	happyIn56+		 (happy_var_1+	)}++happyReduce_182 = happyReduce 7# 51# happyReduction_182+happyReduction_182 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut80 happy_x_6 of { happy_var_6 -> +	case happyOut79 happy_x_7 of { happy_var_7 -> +	happyIn57+		 (RApp happy_var_6 happy_var_7 (RApp happy_var_6 happy_var_7 (RVar happy_var_6 happy_var_7 (UN "Exists")) happy_var_2) happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_183 = happyReduce 5# 51# happyReduction_183+happyReduction_183 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_2 of { happy_var_2 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	case happyOut79 happy_x_5 of { happy_var_5 -> +	happyIn57+		 (RApp happy_var_4 happy_var_5 (RApp happy_var_4 happy_var_5 (RVar happy_var_4 happy_var_5 (UN "Exists")) RPlaceholder) happy_var_2+	) `HappyStk` happyRest}}}++happyReduce_184 = happySpecReduce_3  52# happyReduction_184+happyReduction_184 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn58+		 (happy_var_1:happy_var_3:[]+	)}}++happyReduce_185 = happySpecReduce_3  52# happyReduction_185+happyReduction_185 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut58 happy_x_3 of { happy_var_3 -> +	happyIn58+		 (happy_var_1:happy_var_3+	)}}++happyReduce_186 = happyReduce 4# 53# happyReduction_186+happyReduction_186 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut60 happy_x_3 of { happy_var_3 -> +	happyIn59+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_187 = happyReduce 10# 53# happyReduction_187+happyReduction_187 (happy_x_10 `HappyStk`+	happy_x_9 `HappyStk`+	happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_2 of { (TokenBrackName happy_var_2) -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	case happyOut80 happy_x_6 of { happy_var_6 -> +	case happyOut79 happy_x_7 of { happy_var_7 -> +	case happyOut60 happy_x_9 of { happy_var_9 -> +	happyIn59+		 (DoBinding happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5 : happy_var_9+	) `HappyStk` happyRest}}}}}}++happyReduce_188 = happySpecReduce_2  54# happyReduction_188+happyReduction_188 happy_x_2+	happy_x_1+	 =  case happyOut61 happy_x_1 of { happy_var_1 -> +	case happyOut60 happy_x_2 of { happy_var_2 -> +	happyIn60+		 (happy_var_1:happy_var_2+	)}}++happyReduce_189 = happySpecReduce_1  54# happyReduction_189+happyReduction_189 happy_x_1+	 =  case happyOut61 happy_x_1 of { happy_var_1 -> +	happyIn60+		 ([happy_var_1]+	)}++happyReduce_190 = happyReduce 7# 55# happyReduction_190+happyReduction_190 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_2 of { happy_var_2 -> +	case happyOut33 happy_x_4 of { happy_var_4 -> +	case happyOut80 happy_x_5 of { happy_var_5 -> +	case happyOut79 happy_x_6 of { happy_var_6 -> +	happyIn61+		 (DoBinding happy_var_5 happy_var_6 happy_var_1 happy_var_2 happy_var_4+	) `HappyStk` happyRest}}}}}++happyReduce_191 = happyReduce 8# 55# happyReduction_191+happyReduction_191 (happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_2 of { happy_var_2 -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	case happyOut33 happy_x_5 of { happy_var_5 -> +	case happyOut80 happy_x_6 of { happy_var_6 -> +	case happyOut79 happy_x_7 of { happy_var_7 -> +	happyIn61+		 (DoLet happy_var_6 happy_var_7 happy_var_2 happy_var_3 happy_var_5+	) `HappyStk` happyRest}}}}}++happyReduce_192 = happyReduce 4# 55# happyReduction_192+happyReduction_192 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn61+		 (DoExp happy_var_2 happy_var_3 happy_var_1+	) `HappyStk` happyRest}}}++happyReduce_193 = happySpecReduce_1  56# happyReduction_193+happyReduction_193 happy_x_1+	 =  happyIn62+		 (TYPE+	)++happyReduce_194 = happySpecReduce_1  56# happyReduction_194+happyReduction_194 happy_x_1+	 =  happyIn62+		 (StringType+	)++happyReduce_195 = happySpecReduce_1  56# happyReduction_195+happyReduction_195 happy_x_1+	 =  happyIn62+		 (IntType+	)++happyReduce_196 = happySpecReduce_1  56# happyReduction_196+happyReduction_196 happy_x_1+	 =  happyIn62+		 (CharType+	)++happyReduce_197 = happySpecReduce_1  56# happyReduction_197+happyReduction_197 happy_x_1+	 =  happyIn62+		 (FloatType+	)++happyReduce_198 = happySpecReduce_1  56# happyReduction_198+happyReduction_198 happy_x_1+	 =  happyIn62+		 (PtrType+	)++happyReduce_199 = happySpecReduce_1  56# happyReduction_199+happyReduction_199 happy_x_1+	 =  happyIn62+		 (Builtin "Handle"+	)++happyReduce_200 = happySpecReduce_1  56# happyReduction_200+happyReduction_200 happy_x_1+	 =  happyIn62+		 (Builtin "Lock"+	)++happyReduce_201 = happySpecReduce_1  56# happyReduction_201+happyReduction_201 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenInt happy_var_1) -> +	happyIn62+		 (Num happy_var_1+	)}++happyReduce_202 = happySpecReduce_1  56# happyReduction_202+happyReduction_202 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenChar happy_var_1) -> +	happyIn62+		 (Ch happy_var_1+	)}++happyReduce_203 = happySpecReduce_1  56# happyReduction_203+happyReduction_203 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenString happy_var_1) -> +	happyIn62+		 (Str happy_var_1+	)}++happyReduce_204 = happySpecReduce_1  56# happyReduction_204+happyReduction_204 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenBool happy_var_1) -> +	happyIn62+		 (Bo happy_var_1+	)}++happyReduce_205 = happySpecReduce_1  56# happyReduction_205+happyReduction_205 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokenFloat happy_var_1) -> +	happyIn62+		 (Fl happy_var_1+	)}++happyReduce_206 = happySpecReduce_0  57# happyReduction_206+happyReduction_206  =  happyIn63+		 ([]+	)++happyReduce_207 = happySpecReduce_2  57# happyReduction_207+happyReduction_207 happy_x_2+	happy_x_1+	 =  case happyOut56 happy_x_1 of { happy_var_1 -> +	case happyOut63 happy_x_2 of { happy_var_2 -> +	happyIn63+		 (happy_var_1:happy_var_2+	)}}++happyReduce_208 = happyReduce 4# 58# happyReduction_208+happyReduction_208 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut49 happy_x_2 of { happy_var_2 -> +	case happyOut65 happy_x_3 of { happy_var_3 -> +	happyIn64+		 ((happy_var_2, happy_var_3)+	) `HappyStk` happyRest}}++happyReduce_209 = happySpecReduce_3  58# happyReduction_209+happyReduction_209 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut80 happy_x_2 of { happy_var_2 -> +	case happyOut79 happy_x_3 of { happy_var_3 -> +	happyIn64+		 ((RConst happy_var_2 happy_var_3 TYPE, [])+	)}}++happyReduce_210 = happyReduce 4# 58# happyReduction_210+happyReduction_210 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut71 happy_x_1 of { happy_var_1 -> +	case happyOut80 happy_x_3 of { happy_var_3 -> +	case happyOut79 happy_x_4 of { happy_var_4 -> +	happyIn64+		 ((mkTyParams happy_var_3 happy_var_4 happy_var_1, [])+	) `HappyStk` happyRest}}}++happyReduce_211 = happySpecReduce_0  59# happyReduction_211+happyReduction_211  =  happyIn65+		 ([]+	)++happyReduce_212 = happyReduce 4# 59# happyReduction_212+happyReduction_212 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut70 happy_x_3 of { happy_var_3 -> +	happyIn65+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_213 = happyReduce 7# 60# happyReduction_213+happyReduction_213 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut31 happy_x_4 of { happy_var_4 -> +	case happyOut31 happy_x_6 of { happy_var_6 -> +	happyIn66+		 ((happy_var_4,happy_var_6)+	) `HappyStk` happyRest}}++happyReduce_214 = happyReduce 6# 61# happyReduction_214+happyReduction_214 (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 happyOut31 happy_x_3 of { happy_var_3 -> +	case happyOut31 happy_x_5 of { happy_var_5 -> +	happyIn67+		 ((happy_var_3,happy_var_5)+	) `HappyStk` happyRest}}++happyReduce_215 = happyReduce 4# 62# happyReduction_215+happyReduction_215 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut70 happy_x_3 of { happy_var_3 -> +	happyIn68+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_216 = happySpecReduce_2  63# happyReduction_216+happyReduction_216 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn69+		 (happy_var_2+	)}++happyReduce_217 = happySpecReduce_3  64# happyReduction_217+happyReduction_217 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	happyIn70+		 ([(happy_var_1, happy_var_3)]+	)}}++happyReduce_218 = happyReduce 5# 64# 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)+	 = case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	case happyOut70 happy_x_5 of { happy_var_5 -> +	happyIn70+		 ((happy_var_1,happy_var_3):happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_219 = happySpecReduce_1  65# happyReduction_219+happyReduction_219 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn71+		 ([happy_var_1]+	)}++happyReduce_220 = happySpecReduce_2  65# happyReduction_220+happyReduction_220 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut71 happy_x_2 of { happy_var_2 -> +	happyIn71+		 (happy_var_1:happy_var_2+	)}}++happyReduce_221 = happySpecReduce_1  66# happyReduction_221+happyReduction_221 happy_x_1+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> +	happyIn72+		 (happy_var_1+	)}++happyReduce_222 = happySpecReduce_1  66# happyReduction_222+happyReduction_222 happy_x_1+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> +	happyIn72+		 (happy_var_1+	)}++happyReduce_223 = happySpecReduce_0  67# happyReduction_223+happyReduction_223  =  happyIn73+		 ([]+	)++happyReduce_224 = happySpecReduce_1  67# happyReduction_224+happyReduction_224 happy_x_1+	 =  case happyOut74 happy_x_1 of { happy_var_1 -> +	happyIn73+		 ([happy_var_1]+	)}++happyReduce_225 = happySpecReduce_3  67# happyReduction_225+happyReduction_225 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut74 happy_x_1 of { happy_var_1 -> +	case happyOut73 happy_x_3 of { happy_var_3 -> +	happyIn73+		 (happy_var_1:happy_var_3+	)}}++happyReduce_226 = happySpecReduce_2  68# happyReduction_226+happyReduction_226 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut75 happy_x_2 of { happy_var_2 -> +	happyIn74+		 (Full happy_var_1 happy_var_2+	)}}++happyReduce_227 = happySpecReduce_2  68# happyReduction_227+happyReduction_227 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut63 happy_x_2 of { happy_var_2 -> +	happyIn74+		 (Simple happy_var_1 happy_var_2+	)}}++happyReduce_228 = happySpecReduce_2  69# happyReduction_228+happyReduction_228 happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_2 of { happy_var_2 -> +	happyIn75+		 (happy_var_2+	)}++happyReduce_229 = happySpecReduce_2  70# happyReduction_229+happyReduction_229 happy_x_2+	happy_x_1+	 =  case happyOut37 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Intro happy_var_2+	)}++happyReduce_230 = happySpecReduce_1  70# happyReduction_230+happyReduction_230 happy_x_1+	 =  happyIn76+		 (Intro []+	)++happyReduce_231 = happySpecReduce_2  70# happyReduction_231+happyReduction_231 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Refine happy_var_2+	)}++happyReduce_232 = happySpecReduce_2  70# happyReduction_232+happyReduction_232 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Exists happy_var_2+	)}++happyReduce_233 = happySpecReduce_2  70# happyReduction_233+happyReduction_233 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Generalise happy_var_2+	)}++happyReduce_234 = happySpecReduce_1  70# happyReduction_234+happyReduction_234 happy_x_1+	 =  happyIn76+		 (ReflP+	)++happyReduce_235 = happySpecReduce_2  70# happyReduction_235+happyReduction_235 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Rewrite False False happy_var_2+	)}++happyReduce_236 = happySpecReduce_3  70# happyReduction_236+happyReduction_236 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn76+		 (Rewrite False True happy_var_3+	)}++happyReduce_237 = happySpecReduce_2  70# happyReduction_237+happyReduction_237 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Rewrite True False happy_var_2+	)}++happyReduce_238 = happySpecReduce_3  70# happyReduction_238+happyReduction_238 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_3 of { happy_var_3 -> +	happyIn76+		 (Rewrite True True happy_var_3+	)}++happyReduce_239 = happySpecReduce_1  70# happyReduction_239+happyReduction_239 happy_x_1+	 =  happyIn76+		 (Compute+	)++happyReduce_240 = happySpecReduce_2  70# happyReduction_240+happyReduction_240 happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Unfold happy_var_2+	)}++happyReduce_241 = happySpecReduce_1  70# happyReduction_241+happyReduction_241 happy_x_1+	 =  happyIn76+		 (Undo+	)++happyReduce_242 = happySpecReduce_2  70# happyReduction_242+happyReduction_242 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Induction happy_var_2+	)}++happyReduce_243 = happySpecReduce_2  70# happyReduction_243+happyReduction_243 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Fill happy_var_2+	)}++happyReduce_244 = happySpecReduce_1  70# happyReduction_244+happyReduction_244 happy_x_1+	 =  happyIn76+		 (Trivial+	)++happyReduce_245 = happySpecReduce_2  70# happyReduction_245+happyReduction_245 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (RunTactic happy_var_2+	)}++happyReduce_246 = happySpecReduce_2  70# happyReduction_246+happyReduction_246 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Believe happy_var_2+	)}++happyReduce_247 = happySpecReduce_2  70# happyReduction_247+happyReduction_247 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Use happy_var_2+	)}++happyReduce_248 = happySpecReduce_2  70# happyReduction_248+happyReduction_248 happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (Decide happy_var_2+	)}++happyReduce_249 = happySpecReduce_1  70# happyReduction_249+happyReduction_249 happy_x_1+	 =  happyIn76+		 (Abandon+	)++happyReduce_250 = happySpecReduce_1  70# happyReduction_250+happyReduction_250 happy_x_1+	 =  happyIn76+		 (ProofTerm+	)++happyReduce_251 = happySpecReduce_1  70# happyReduction_251+happyReduction_251 happy_x_1+	 =  happyIn76+		 (Qed+	)++happyReduce_252 = happyReduce 4# 71# happyReduction_252+happyReduction_252 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut78 happy_x_3 of { happy_var_3 -> +	happyIn77+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_253 = happySpecReduce_2  72# happyReduction_253+happyReduction_253 happy_x_2+	happy_x_1+	 =  case happyOut76 happy_x_1 of { happy_var_1 -> +	happyIn78+		 ([happy_var_1]+	)}++happyReduce_254 = happySpecReduce_3  72# happyReduction_254+happyReduction_254 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut76 happy_x_1 of { happy_var_1 -> +	case happyOut78 happy_x_3 of { happy_var_3 -> +	happyIn78+		 (happy_var_1:happy_var_3+	)}}++happyReduce_255 = happyMonadReduce 0# 73# happyReduction_255+happyReduction_255 (happyRest) tk+	 = happyThen (( getLineNo)+	) (\r -> happyReturn (happyIn79 r))++happyReduce_256 = happyMonadReduce 0# 74# happyReduction_256+happyReduction_256 (happyRest) tk+	 = happyThen (( getFileName)+	) (\r -> happyReturn (happyIn80 r))++happyReduce_257 = happyMonadReduce 0# 75# happyReduction_257+happyReduction_257 (happyRest) tk+	 = happyThen (( getOps)+	) (\r -> happyReturn (happyIn81 r))++happyNewToken action sts stk+	= lexer(\tk -> +	let cont i = happyDoAction i tk action sts stk in+	case tk of {+	TokenEOF -> happyDoAction 120# tk action sts stk;+	TokenName happy_dollar_dollar -> cont 1#;+	TokenInfixName happy_dollar_dollar -> cont 2#;+	TokenBrackName happy_dollar_dollar -> cont 3#;+	TokenString happy_dollar_dollar -> cont 4#;+	TokenInt happy_dollar_dollar -> cont 5#;+	TokenFloat happy_dollar_dollar -> cont 6#;+	TokenChar happy_dollar_dollar -> cont 7#;+	TokenBool happy_dollar_dollar -> cont 8#;+	TokenMetavar happy_dollar_dollar -> cont 9#;+	TokenColon -> cont 10#;+	TokenSemi -> cont 11#;+	TokenBar -> cont 12#;+	TokenStars -> cont 13#;+	TokenLambda -> cont 14#;+	TokenHashOB -> cont 15#;+	TokenOB -> cont 16#;+	TokenCB -> cont 17#;+	TokenOCB -> cont 18#;+	TokenCCB -> cont 19#;+	TokenOSB -> cont 20#;+	TokenCSB -> cont 21#;+	TokenOId -> cont 22#;+	TokenCId -> cont 23#;+	TokenLPair -> cont 24#;+	TokenRPair -> cont 25#;+	TokenExists -> cont 26#;+	TokenTilde -> cont 27#;+	TokenPlus -> cont 28#;+	TokenMinus -> cont 29#;+	TokenTimes -> cont 30#;+	TokenDivide -> cont 31#;+	TokenEquals -> cont 32#;+	TokenMightEqual -> cont 33#;+	TokenLT -> cont 34#;+	TokenGT -> cont 35#;+	TokenEllipsis -> cont 36#;+	TokenUnderscore -> cont 37#;+	TokenComma -> cont 38#;+	TokenTuple -> cont 39#;+	TokenBang -> cont 40#;+	TokenConcat -> cont 41#;+	TokenGE -> cont 42#;+	TokenLE -> cont 43#;+	TokenOr -> cont 44#;+	TokenAnd -> cont 45#;+	TokenArrow -> cont 46#;+	TokenFatArrow -> cont 47#;+	TokenTransArrow -> cont 48#;+	TokenLeftArrow -> cont 49#;+	TokenIntType -> cont 50#;+	TokenCharType -> cont 51#;+	TokenFloatType -> cont 52#;+	TokenStringType -> cont 53#;+	TokenHandleType -> cont 54#;+	TokenPtrType -> cont 55#;+	TokenLockType -> cont 56#;+	TokenType -> cont 57#;+	TokenLazyBracket -> cont 58#;+	TokenDataType -> cont 59#;+	TokenInfix -> cont 60#;+	TokenInfixL -> cont 61#;+	TokenInfixR -> cont 62#;+	TokenUsing -> cont 63#;+	TokenIdiom -> cont 64#;+	TokenParams -> cont 65#;+	TokenNamespace -> cont 66#;+	TokenPublic -> cont 67#;+	TokenPrivate -> cont 68#;+	TokenAbstract -> cont 69#;+	TokenNoElim -> cont 70#;+	TokenCollapsible -> cont 71#;+	TokenWhere -> cont 72#;+	TokenWith -> cont 73#;+	TokenPartial -> cont 74#;+	TokenSyntax -> cont 75#;+	TokenLazy -> cont 76#;+	TokenStatic -> cont 77#;+	TokenRefl -> cont 78#;+	TokenEmptyType -> cont 79#;+	TokenUnitType -> cont 80#;+	TokenInclude -> cont 81#;+	TokenExport -> cont 82#;+	TokenInline -> cont 83#;+	TokenDo -> cont 84#;+	TokenReturn -> cont 85#;+	TokenIf -> cont 86#;+	TokenThen -> cont 87#;+	TokenElse -> cont 88#;+	TokenLet -> cont 89#;+	TokenIn -> cont 90#;+	TokenProof -> cont 91#;+	TokenIntro -> cont 92#;+	TokenRefine -> cont 93#;+	TokenGeneralise -> cont 94#;+	TokenReflP -> cont 95#;+	TokenRewrite -> cont 96#;+	TokenRewriteAll -> cont 97#;+	TokenCompute -> cont 98#;+	TokenUnfold -> cont 99#;+	TokenUndo -> cont 100#;+	TokenInduction -> cont 101#;+	TokenFill -> cont 102#;+	TokenTrivial -> cont 103#;+	TokenMkTac -> cont 104#;+	TokenBelieve -> cont 105#;+	TokenUse -> cont 106#;+	TokenDecide -> cont 107#;+	TokenAbandon -> cont 108#;+	TokenProofTerm -> cont 109#;+	TokenQED -> cont 110#;+	TokenLaTeX -> cont 111#;+	TokenNoCG -> cont 112#;+	TokenEval -> cont 113#;+	TokenSpec -> cont 114#;+	TokenFreeze -> cont 115#;+	TokenThaw -> cont 116#;+	TokenTransform -> cont 117#;+	TokenCInclude -> cont 118#;+	TokenCLib -> cont 119#;+	_ -> happyError' tk+	})++happyError_ tk = happyError' tk++happyThen :: () => P a -> (a -> P b) -> P b+happyThen = (thenP)+happyReturn :: () => a -> P a+happyReturn = (returnP)+happyThen1 = happyThen+happyReturn1 :: () => a -> P a+happyReturn1 = happyReturn+happyError' :: () => (Token) -> P a+happyError' tk = (\token -> happyError) tk++mkparse = happySomeParser where+  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut6 x))++mkparseTerm = happySomeParser where+  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut33 x))++mkparseTactic = happySomeParser where+  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut76 x))++happySeq = happyDontSeq+++data ConParse = Full Id RawTerm+              | Simple Id [RawTerm]++parse :: String -> FilePath -> Result [Decl]+parse s fn = do ds <- mkparse s fn 1 []+                collectDecls ds++processImports :: [Opt] -> [FilePath] -> Result [Decl] -> +                  IO ([Decl], [FilePath])+processImports opts imped (Success ds) = pi imped [] ds+  where pi imps decls ((PInclude fp):xs)+           | fp `elem` imps = pi imps decls xs+           | otherwise = do+                 f <- readLibFile defaultLibPath fp+                 when (Verbose `elem` opts) $ putStrLn ("Reading " ++ fp)+                 case parse f fp of+                   Success t -> pi (fp:imps) decls (t++xs)+                   Failure e f l ->+                     fail $ f ++ ":" ++ show l ++ ":" ++ e+        pi imps decls ((Using t ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Using t ds']) xs+        pi imps decls ((Params t ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Params t ds']) xs+        pi imps decls ((DoUsing b r ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[DoUsing b r ds']) xs+        pi imps decls ((Idiom b r ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Idiom b r ds']) xs+        pi imps decls ((Namespace n ds):xs)+            = do (ds',imps') <- pi imps [] ds+                 pi imps' (decls++[Namespace n ds']) xs+        pi imps decls (x:xs) = pi imps (decls++[x]) xs+        pi imps decls [] = return (decls, imps)++processImports _ imped (Failure e f l) +    = fail $ show f ++ ":" ++ show l ++ ":" ++ show e+++parseTerm :: String -> Result RawTerm+parseTerm s = mkparseTerm s "(input)" 0 []++parseTactic :: String -> Result ITactic+parseTactic s = mkparseTactic s "(tactic)" 0 []++mkCon :: RawTerm -> ConParse -> (Id,RawTerm)+mkCon _ (Full n t) = (n,t)+mkCon ty (Simple n args) = (n, mkConTy args ty)+   where mkConTy [] ty = ty+         mkConTy (a:as) ty = RBind (MN "X" 0) (Pi Ex [] a) (mkConTy as ty)++mkDef file line (n, tms) = mkImpApp (RVar file line n) tms+   where mkImpApp f [] = f+         mkImpApp f ((tm,Just n):ts) = mkImpApp (RAppImp file line n f tm) ts+         mkImpApp f ((tm, Nothing):ts) = mkImpApp (RApp file line f tm) ts++doBind :: (RawTerm -> RBinder) -> [(Id,RawTerm)] -> RawTerm -> RawTerm+doBind b [] t = t+doBind b ((x,ty):ts) tm = RBind x (b ty) (doBind b ts tm)++doLetBind :: [(Id,RawTerm,RawTerm)] -> RawTerm -> RawTerm+doLetBind [] t = t+doLetBind ((x,ty,val):ts) tm = RBind x (RLet val ty) (doLetBind ts tm)++mkTyApp :: String -> Int -> Id -> RawTerm -> RawTerm+mkTyApp file line n ty = mkApp file line (RVar file line n) (getTyArgs ty)+   where getTyArgs (RBind n _ t) = (RVar file line n):(getTyArgs t)+         getTyArgs x = []++mkTyParams :: String -> Int -> [Id] -> RawTerm+mkTyParams f l [] = RConst f l TYPE+mkTyParams f l (x:xs) = RBind x (Pi Ex [] (RConst f l TYPE)) (mkTyParams f l xs)  mkDatatype :: String -> Int ->               Id -> Either RawTerm ((RawTerm, [(Id, RawTerm)]), [ConParse]) -> 
idris.cabal view
@@ -1,5 +1,5 @@ Name:           idris-Version:        0.1.4+Version:        0.1.5 License:        BSD3 License-file:   LICENSE Author:         Edwin Brady@@ -36,6 +36,8 @@ Data-files:     Prelude.e *.idr Data-dir:       lib +Extra-source-files: CHANGELOG+ Library         Exposed-modules: Idris.Parser, Idris.Lexer, Idris.Lib,                           Idris.AbsSyntax, Idris.Context, Idris.Latex@@ -46,8 +48,8 @@         Other-modules:   Paths_idris          Build-depends:   base>=4 && <5, containers, array, parsec, mtl,-                         readline, ivor>=0.1.11, directory, haskell98,-                         old-time, old-locale, binary, epic>=0.1.4+                         readline, ivor>=0.1.12, directory, haskell98,+                         old-time, old-locale, binary, epic>=0.1.5, Cabal                                          Extensions:      MagicHash, UndecidableInstances, OverlappingInstances @@ -61,7 +63,7 @@                               Idris.SimpleCase, Idris.Serialise                 Build-depends:   base>=4 && <5, containers, array, parsec, mtl,-                                readline, ivor>=0.1.10, directory, haskell98,-                                old-time, old-locale, binary, epic>=0.1.3+                                readline, ivor>=0.1.12, directory, haskell98,+                                old-time, old-locale, binary, epic>=0.1.4, Cabal                                                 Extensions:      MagicHash, UndecidableInstances, OverlappingInstances
lib/Prelude.e view
@@ -28,6 +28,8 @@ __epic_streq (x:String, y:String) -> Data =     foreign Int "streq" (x:String, y:String) +%inline __epic_chareq (x:Int, y:Int) -> Data = x==y+ %inline __epic_strlt (x:String, y:String) -> Data =     foreign Int "strlt" (x:String, y:String) 
lib/bool.idr view
@@ -10,7 +10,7 @@ if_then_else True t f = t; if_then_else False t f = f; -data so : Bool -> # where oh : so True;+data so : Bool -> Set where oh : so True;  infixl 4 &&,||; 
lib/builtins.idr view
@@ -3,31 +3,47 @@ data __Unit = II; data __Empty = ; -data Sigma : (A:#)->(P:A->#)-># where-   Exists : {P:A->#} -> {a:A} -> P a -> Sigma A P;+data Sigma : (A:Set)->(P:A->Set)->Set where+   Exists : {P:A->Set} -> (a:A) -> P a -> Sigma A P; -getSigIdx : {P:a->#} ->  (s:Sigma a P) -> a;-getSigIdx (Exists {a} v) = a;+getSigIdx : {P:a->Set} ->  (s:Sigma a P) -> a;+getSigIdx (Exists a v) = a; -getSigVal : {P:a->#} -> (s:Sigma a P) -> P (getSigIdx s);-getSigVal (Exists v) = v;+getSigVal : {P:a->Set} -> (s:Sigma a P) -> P (getSigIdx s);+getSigVal (Exists a v) = v;  data Pair a b = mkPair a b; -rewrite : {A:B->#} -> A m -> (m=n) -> A n;+rewrite : {A:B->Set} -> A m -> (m=n) -> A n; rewrite t (refl m) = t;  -- This way is needed for Ivor's rewriting tactic -__eq_repl : (A:#)->(x:A) -> (y:A) -> (q:(x=y)) -> (P:(m:A)->#) -> (p:P x) -> (P y);+__eq_repl : (A:Set)->(x:A) -> (y:A) -> (q:(x=y)) -> (P:(m:A)->Set) -> (p:P x) -> (P y); __eq_repl A x x (refl x) P p = p; -__eq_sym : (A:#) -> (a:A) -> (b:A) -> (p:(a=b)) -> (b=a);+__eq_sym : (A:Set) -> (a:A) -> (b:A) -> (p:(a=b)) -> (b=a); __eq_sym A a a p = refl _; +-- For proofs which should not be stored at run-time. Programs can+-- construct objects of type Proof A, and manipulate them,+-- but not inspect them. 'Proof' is treated as collapsible.++data Proof : (A:Set) -> Set where+  __mkProof : (a:A) -> Proof A;++prove : (a:A) -> Proof A;+prove x = __mkProof x;++-- This is the only function allowed to manipulate proofs.+-- It'd be easier if we could hide '__mkProof'!++proof_bind : Proof A -> (A -> Proof B) -> Proof B;+proof_bind (__mkProof a) p = p a;+ -- Used by the 'believe' tactic to make a temporary proof. Programs -- using this are not to be trusted! -__Prove_Anything : {A:#} -> A;+__Prove_Anything : {A:Set} -> A; __Suspend_Disbelief : (m:A) -> (n:A) -> (m = n); 
lib/either.idr view
@@ -1,1 +1,5 @@ data Either A B = Left A | Right B;++choose : (x:Bool) -> Either (so (not x)) (so x);+choose False = Left oh;+choose True = Right oh;
lib/io.idr view
@@ -3,9 +3,9 @@ -- FAny is to allow C functions to build up Idris data -- types. Obviously this needs care... -data FType = FUnit | FInt | FStr | FPtr | FAny #;+data FType = FUnit | FInt | FStr | FPtr | FAny Set; -i_ftype : FType -> #;+i_ftype : FType -> Set; i_ftype FInt = Int; i_ftype FStr = String; i_ftype FPtr = Ptr;@@ -23,7 +23,7 @@ f_name : ForeignFun -> String; f_name (FFun nm args ret) = nm; -data FArgList : (List FType) -> # where+data FArgList : (List FType) -> Set where     fNil : FArgList Nil   | fCons : {x:FType} -> (fx:i_ftype x) -> (fxs:FArgList xs) -> 			 (FArgList (Cons x xs));@@ -35,26 +35,26 @@  namespace IO { -  data IO : # -> #;+  data IO : Set -> Set; -  data Command : # where+  data Command : Set where       PutStr : String -> Command     | GetStr : Command-    | Fork : {A:#} -> A -> Command+    | Fork : {A:Set} -> A -> Command     | NewLock : Int -> Command     | DoLock : Lock -> Command     | DoUnlock : Lock -> Command     | NewRef : Command-    | ReadRef : # -> Int -> Command-    | WriteRef : {A:#} -> Int -> A -> Command+    | ReadRef : Set -> Int -> Command+    | WriteRef : {A:Set} -> Int -> A -> Command     | While : (IO Bool) -> (IO ()) -> Command-    | WhileAcc : {A:#} -> (IO Bool) -> A -> (A -> IO A) -> Command+    | WhileAcc : {A:Set} -> (IO Bool) -> A -> (A -> IO A) -> Command     | Within : Int -> (IO A) -> (IO A) -> Command-    | IOLift : {A:#} -> (IO A) -> Command +    | IOLift : {A:Set} -> (IO A) -> Command      | Foreign : (f:ForeignFun) ->    	        (args:FArgList (f_args f)) -> Command; -  Response : Command -> #;+  Response : Command -> Set;   Response (PutStr s) = ();   Response GetStr = String;   Response (Fork proc) = ();@@ -64,14 +64,14 @@   Response NewRef = Int;   Response (ReadRef A i) = A;   Response (WriteRef i val) = ();-  Response (While test body) = ();-  Response (WhileAcc {A} test acc body) = A;+  Response (While _ body) = ();+  Response (WhileAcc {A} _ acc body) = A;   Response (Within {A} time body failure) = A;   Response (IOLift {A} f) = A;   Response (Foreign t args) = i_ftype (f_retType t);  -  data IO : # -> # where+  data IO : Set -> Set where      IOReturn : A -> (IO A)    | IODo : (c:Command) -> ((Response c) -> (IO A)) -> (IO A); @@ -92,7 +92,7 @@ kbind (IODo c p) k = IODo c (\x => (kbind (p x) k));  while : |(test:IO Bool) -> |(body: IO ()) -> IO ();-while test body = IODo (While test body) (\a => (IOReturn II));+while t body = IODo (While t body) (\a => (IOReturn II));  while_accTR : Bool ->              |(test:IO Bool) -> acc -> |(body: acc -> IO acc) -> IO acc;@@ -121,7 +121,7 @@  data IOException = IOExcept String;  -data IOe : # -> # where+data IOe : Set -> Set where    IOK : (IO A) -> (IOe A)  | IOError : String -> (IOe A); @@ -192,12 +192,12 @@ writeIORef : (IORef A) -> A -> (IO ()); writeIORef (MkIORef i) val = writeIORefPrim i val; -mkFType' : (List FType) -> FType -> #   %nocg;+mkFType' : (List FType) -> FType -> Set   %nocg;  mkFType' Nil rt = IO (i_ftype rt);-mkFType' (Cons t ts) rt = #((i_ftype t) -> (mkFType' ts rt));+mkFType' (Cons t ts) rt = (i_ftype t) -> (mkFType' ts rt); -mkFType : ForeignFun -> #    %nocg;+mkFType : ForeignFun -> Set    %nocg; mkFType (FFun fn args rt) = mkFType' args rt;  mkFDef : String -> (ts:List FType) -> (xs:List FType) -> (FArgList xs) ->
lib/list.idr view
@@ -54,4 +54,15 @@ 	%refl; 	%qed; };- ++app_Nil : (xs:List a) -> (app xs Nil = xs);+app_Nil Nil = refl _;+app_Nil (Cons x xs) = ?appNil_Cons;+appNil_Cons proof {+	%intro a;+	%intro;+	%rewrite <- app_Nil xs;+	%refl;+	%qed;+};+
lib/maybe.idr view
@@ -8,3 +8,6 @@ maybe Nothing def f = def; maybe (Just a) def f = f a; +maybeBind : Maybe a -> (a -> Maybe b) -> Maybe b;+maybeBind Nothing  mf = Nothing;+maybeBind (Just x) mf = mf x;
lib/nat.idr view
@@ -11,6 +11,10 @@ eq_resp_S : (m=n) -> ((S m) = (S n)); eq_resp_S (refl n) = refl (S n); +power : Nat -> Nat -> Nat;+power n O = S O;+power n (S k) = mult n (power n k);+ ------- Int/String conversions -------  intToNat : Int -> Nat;@@ -115,7 +119,7 @@  ---- Comparing Nats -data Compare : Nat -> Nat -> # where+data Compare : Nat -> Nat -> Set where    cmpLT : (y:Nat) -> (Compare x (plus x (S y)))  | cmpEQ : Compare x x  | cmpGT : (x:Nat) -> (Compare (plus y (S x)) y);
+ lib/perm.idr view
@@ -0,0 +1,139 @@+include "vect.idr";++-- Yes, it's a DSL! One which gives a sequence of operations for converting a+-- list into its permutation.++using (x:A, xs:List A, xs':List A, xs'':List A, +       ys:List A, ys':List A,+       zs:List A)+{+  data Perm : (List A) -> (List A) -> Set where+     pnil : {A:Set} -> (Perm {A} Nil Nil)+   | pskip : (Perm xs xs') -> (Perm (Cons x xs) (Cons x xs'))+   | pswap : (Perm (Cons x (Cons y xs)) (Cons y (Cons x xs)))+   | ptrans : (Perm xs xs') -> (Perm xs' xs'') -> (Perm xs xs'');++  perm_id: Perm xs xs;+  perm_id {xs=Nil} = pnil;+  perm_id {xs=Cons x xs} = pskip perm_id;++  perm_sym : Perm xs xs' -> Perm xs' xs;+  perm_sym pnil = pnil;+  perm_sym (pskip p) = pskip (perm_sym p);+  perm_sym pswap = pswap;+  perm_sym (ptrans p q) = ptrans (perm_sym q) (perm_sym p);++  perm_refl : Perm xs xs;+  perm_refl {xs=Nil} = pnil;+  perm_refl {xs=Cons x xs} = pskip perm_refl;++  perm_app_head : (xs:List A) -> +                  Perm xs' ys' -> Perm (app xs xs') (app xs ys');+  perm_app_head Nil p = p;+  perm_app_head (Cons x xs) p = pskip (perm_app_head xs p);++  perm_add_cons : Perm (Cons x xs) (Cons x ys) -> Perm xs ys;+  perm_add_cons (pskip p) = p;+  perm_add_cons pswap = pskip perm_id;++  perm_app : Perm xs ys -> Perm xs' ys' ->+             Perm (app xs xs') (app ys ys');+  perm_app {xs=Nil} {ys=Nil} p p' = p';+  perm_app {xs=Cons x xs} {ys=Cons y ys} {xs'} {ys'} (ptrans p1 p2) p' = +     let r1 = perm_app p1 p' in+     let r2 = perm_app p2 p' in ?papp_cons;++  perm_rewrite : Perm xs xs' -> Perm xs ys -> Perm xs' ys;+  perm_rewrite p1 p2 = ptrans (perm_sym p1) p2;++  perm_rewrite_cons : Perm (Cons x xs) xs' -> Perm xs ys -> +                      Perm (Cons x ys) xs';+  perm_rewrite_cons (pskip p1) p2 = pskip (ptrans (perm_sym p2) p1);+  perm_rewrite_cons pswap p = ptrans (pskip (perm_sym p)) pswap;+  perm_rewrite_cons (ptrans p1 p2) p3 = ptrans (perm_rewrite_cons p1 p3) p2;++  perm_rewrite_app : Perm (app xs ys) xs' -> Perm ys zs ->+                     Perm (app xs zs) xs';+  perm_rewrite_app {xs=Nil} p1 p2 = perm_rewrite p2 p1;+  perm_rewrite_app {xs=Cons x xs} p1 p2 +       = perm_rewrite_cons p1 (perm_app perm_id p2);++  perm_swapr : Perm xs (Cons x (Cons y ys)) ->+               Perm xs (Cons y (Cons x ys));+  perm_swapr {xs=Cons a (Cons b xs)} p = ptrans p pswap;++  perm_swapl : Perm (Cons x (Cons y ys)) xs ->+               Perm (Cons y (Cons x ys)) xs;+  perm_swapl {xs=Cons a (Cons b xs)} p = ptrans pswap p;++  perm_move_cons : Perm xs (app ys (Cons x zs)) ->+                   Perm xs (Cons x (app ys zs));+  perm_move_cons {ys=Nil} p = p;+  perm_move_cons {ys=Cons y ys} p +        = perm_swapr (perm_sym +             (perm_rewrite_cons (perm_sym p) (perm_move_cons perm_id)));++  perm_cons_move : Perm xs (Cons x (app ys zs)) ->+                   Perm xs (app ys (Cons x zs));+                  +  perm_cons_move {ys=Nil} p = p;+  perm_cons_move {ys=Cons y ys} p +        = perm_sym (perm_rewrite_cons+             (perm_swapl (perm_sym p)) (perm_cons_move perm_id));++  -- This is by induction on the *list* xs, not the permutation, despite+  -- initial appearances.++  perm_app_cons : Perm xs (app xs' ys') ->+  		  Perm (Cons x xs) (app xs' (Cons x ys'));+  perm_app_cons {xs'=Nil} {ys'=Nil} p = pskip p;+  perm_app_cons {x} {xs=Cons x' xs} {xs'=Cons x' xs'}+                (pskip p) = let prec = perm_app_cons {x=x} p in+  		  perm_swapl (perm_rewrite_cons perm_id (perm_sym prec));+  perm_app_cons {xs=Cons x (Cons y _)} {xs'=Cons y (Cons x _)}+                pswap = perm_swapl (perm_swapr (pskip (perm_swapl+  		  (pskip (perm_app_cons perm_id))))); -- list is smaller!+  perm_app_cons {xs=Cons x' xs} {xs'=Cons x' xs'}+                (ptrans p1 p2) = perm_swapl (pskip (perm_app_cons+  		  (perm_add_cons (ptrans p1 p2)))); -- list is smaller!++  -- Again by induction on the list xs. Maybe there are shorter proofs,+  -- but it doesn't really matter, we're not going to run them...++  perm_app_swap : Perm (app xs ys) zs -> Perm (app ys xs) zs;+  perm_app_swap {xs=Nil} p ?= p;   [papp_swap_nil]+  perm_app_swap {xs=Cons x xs} {zs=Cons x zs} +                (pskip p) = perm_sym+                     (perm_app_cons (perm_sym (perm_app_swap p)));+  perm_app_swap {xs=Cons x (Cons y _)}+                pswap = perm_swapr (perm_sym +		        (perm_app_cons +			 (perm_rewrite_cons +			  (perm_app_cons perm_id) (perm_app_swap perm_id))));+  perm_app_swap {xs=Cons x xs} {zs=Cons z zs}+                (ptrans p1 p2) = perm_sym (perm_cons_move +                                  (perm_sym (perm_rewrite_cons +                                    (ptrans p1 p2) (perm_app_swap perm_id))));++}+++papp_cons proof {+	%intro a;+	%intro;+	%refine ptrans;+	%fill (app X xs');+	%refine ptrans;+	%fill (app X ys');+	%fill r1;+	%fill perm_app_head X (perm_sym p');+	%fill r2;+	%qed;+};++papp_swap_nil proof {+	%intro;+	%use value;+	%fill app_Nil X1;+	%qed;+};
lib/prelude.idr view
@@ -1,10 +1,11 @@ flip : (a -> b -> c) -> b -> a -> c; flip f x y = f y x; -infixl 5 ==;+infixl 5 ==, /=; infixl 6 <, <=, >, >=;-infixl 7 +,-,++;-infixl 8 *,/;+infixl 7 <=<, >=>;+infixl 8 +,-,++;+infixl 9 *,/;  (+) : Int -> Int -> Int inline; (+) x y = __addInt x y;@@ -35,6 +36,15 @@  (==) : Int -> Int -> Bool inline; (==) x y = __eq x y;++(/=) : Int -> Int -> Bool inline;+(/=) x y = not (__eq x y);++(<=<) : Int -> Int -> Int inline;+(<=<) x y = __shl x y;++(>=>) : Int -> Int -> Int inline;+(>=>) x y = __shr x y;   include "nat.idr"; include "maybe.idr";
lib/string.idr view
@@ -18,6 +18,14 @@ strTail: String -> Maybe String inline; strTail s = if (strNull s) then Nothing else (Just (__strTail s)); +-- Some more, faster, string manipulations++strHead' : (x:String) -> (so (not (strNull x))) -> Char;+strHead' x p = __strHead x;++strTail' : (x:String) -> (so (not (strNull x))) -> String;+strTail' x p = __strTail x;+ strCons: Char -> String -> String inline; strCons c s = __strCons c s; @@ -26,6 +34,31 @@   | (Just h,  Just t)  = Just (h, t);   | (Nothing, Nothing) = Nothing; }++{-- A view of strings, for better, faster, pattern matching --}++data StrM : String -> Set where+   StrNil : StrM ""+ | StrCons : (x:Char) -> (xs:String) -> StrM (strCons x xs);++strM : (x:String) -> StrM x;+strM x with choose (strNull x) {+   | Left p ?= StrCons (strHead' x p) (strTail' x p);     [strMleft]+   | Right p ?= StrNil;                                   [strMright]+}++strMright proof {+  %intro;+  %believe value; -- it's a primitive operation, we have to believe it!+  %qed;+};++strMleft proof {+  %intro;+  %believe value; -- it's a primitive operation, we have to believe it!+  %qed;+};+  charAt: Int -> String -> Maybe Char inline; charAt x str =
+ lib/system.idr view
@@ -0,0 +1,7 @@+-- Interaction with the outside world, operating system, etc.++%include "system_glue.h"+%lib "system_glue.o"+++
lib/tactics.idr view
@@ -1,5 +1,5 @@-data Tactic : # where-    TFill : {a:#} -> a -> Tactic+data Tactic : Set where+    TFill : {a:Set} -> a -> Tactic   | TRefine : String -> Tactic   | TTrivial : Tactic   | TTry : Tactic -> Tactic -> Tactic
lib/vect.idr view
@@ -2,14 +2,22 @@  infixr 5 ::; -data Vect : # -> Nat -> # where+data Vect : Set -> Nat -> Set where    VNil : Vect A O  | (::) : A -> (Vect A k) -> (Vect A (S k)); -data Fin : Nat -> # where+data Fin : Nat -> Set where    fO : Fin (S k)  | fS : (Fin k) -> (Fin (S k)); +finToNat : Fin k -> Nat;+finToNat fO = O;+finToNat (fS k) = S (finToNat k);++natToFin : (x:Nat) -> Fin (S x);+natToFin O = fO;+natToFin (S k) = fS (natToFin k);+ vlookup : (Fin k) -> (Vect A k) -> A; vlookup fO (x :: xs) = x; vlookup (fS k) (x :: xs) = vlookup k xs;@@ -28,9 +36,9 @@  -- Membership predicate for vectors, and means to compute one. -using (A:#, n:Nat, i:Fin n, x:A, y:A, xs:Vect A n) {+using (A:Set, n:Nat, i:Fin n, x:A, y:A, xs:Vect A n) { -  data ElemIs : (Fin n) -> A -> (Vect A n) -> # where+  data ElemIs : (Fin n) -> A -> (Vect A n) -> Set where      first : (ElemIs fO x (x :: xs))    | later : (ElemIs i x xs) -> (ElemIs (fS i) x (y :: xs)); }