packages feed

haskell-src-exts 1.1.3.1 → 1.1.4

raw patch · 14 files changed

+2262/−732 lines, 14 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Language.Haskell.Exts.Annotated.Comments: MultiLine :: SrcLoc -> String -> Comment
- Language.Haskell.Exts.Annotated.Comments: SingleLine :: SrcLoc -> String -> Comment
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (Alt l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (Binds l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (Bracket l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (ClassDecl l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (Decl l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (Exp l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (FieldUpdate l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (GuardedAlt l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (GuardedAlts l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (GuardedRhs l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (IPBind l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (InstDecl l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (Match l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (Module l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (PXAttr l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (Pat l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (PatField l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (QualStmt l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (RPat l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (Rhs l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (Splice l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (Stmt l)
- Language.Haskell.Exts.Annotated.Fixity: instance AppFixity (XAttr l)
- Language.Haskell.Exts.Annotated.SrcLoc: (<??) :: SrcSpanInfo -> Bool -> SrcSpanInfo
- Language.Haskell.Exts.Annotated.SrcLoc: explLayout :: SrcSpanInfo -> Bool
- Language.Haskell.Exts.Annotated.Syntax: Context :: l -> [Asst l] -> Context l
+ Language.Haskell.Exts.Annotated: parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])
+ Language.Haskell.Exts.Annotated: parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)
+ Language.Haskell.Exts.Annotated: parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment]))
+ Language.Haskell.Exts.Annotated.Comments: Comment :: Bool -> SrcSpan -> String -> Comment
+ Language.Haskell.Exts.Annotated.ExactPrint: class ExactP ast
+ Language.Haskell.Exts.Annotated.ExactPrint: exactPrint :: (ExactP ast) => ast L -> [Comment] -> String
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Activation
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Alt
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Assoc
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Asst
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP BangType
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Binds
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Bracket
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP CName
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP CallConv
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP ClassDecl
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP ConDecl
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Context
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP DataOrNew
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Decl
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP DeclHead
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Deriving
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Exp
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP ExportSpec
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP ExportSpecList
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP FieldDecl
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP FieldUpdate
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP FunDep
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP GadtDecl
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP GuardedAlt
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP GuardedAlts
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP GuardedRhs
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP IPBind
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP IPName
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP ImportDecl
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP ImportSpec
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP ImportSpecList
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP InstDecl
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP InstHead
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Kind
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Literal
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Match
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Module
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP ModuleHead
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP ModuleName
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Name
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Op
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP OptionPragma
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP PXAttr
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Pat
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP PatField
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP QName
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP QOp
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP QualConDecl
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP QualStmt
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP RPat
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP RPatOp
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Rhs
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Rule
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP RuleVar
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Safety
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP SpecialCon
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Splice
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Stmt
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP TyVarBind
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP Type
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP WarningText
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP XAttr
+ Language.Haskell.Exts.Annotated.ExactPrint: instance ExactP XName
+ Language.Haskell.Exts.Annotated.ExactPrint: instance Monad EP
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity Alt
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity Binds
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity Bracket
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity ClassDecl
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity Decl
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity Exp
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity FieldUpdate
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity GuardedAlt
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity GuardedAlts
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity GuardedRhs
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity IPBind
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity InstDecl
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity Match
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity Module
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity PXAttr
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity Pat
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity PatField
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity QualStmt
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity RPat
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity Rhs
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity Splice
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity Stmt
+ Language.Haskell.Exts.Annotated.Fixity: instance AppFixity XAttr
+ Language.Haskell.Exts.Annotated.Pretty: instance Pretty (Context l)
+ Language.Haskell.Exts.Annotated.Pretty: instance Pretty (DeclHead l)
+ Language.Haskell.Exts.Annotated.Pretty: instance Pretty (Deriving l)
+ Language.Haskell.Exts.Annotated.Pretty: instance Pretty (InstHead l)
+ Language.Haskell.Exts.Annotated.Syntax: CxEmpty :: l -> Context l
+ Language.Haskell.Exts.Annotated.Syntax: CxParen :: l -> (Context l) -> Context l
+ Language.Haskell.Exts.Annotated.Syntax: CxSingle :: l -> (Asst l) -> Context l
+ Language.Haskell.Exts.Annotated.Syntax: CxTuple :: l -> [Asst l] -> Context l
+ Language.Haskell.Exts.Annotated.Syntax: DHInfix :: l -> (TyVarBind l) -> (Name l) -> (TyVarBind l) -> DeclHead l
+ Language.Haskell.Exts.Annotated.Syntax: DHParen :: l -> (DeclHead l) -> DeclHead l
+ Language.Haskell.Exts.Annotated.Syntax: DHead :: l -> (Name l) -> [TyVarBind l] -> DeclHead l
+ Language.Haskell.Exts.Annotated.Syntax: IHInfix :: l -> (Type l) -> (QName l) -> (Type l) -> InstHead l
+ Language.Haskell.Exts.Annotated.Syntax: IHParen :: l -> (InstHead l) -> InstHead l
+ Language.Haskell.Exts.Annotated.Syntax: IHead :: l -> (QName l) -> [Type l] -> InstHead l
+ Language.Haskell.Exts.Annotated.Syntax: InfixMatch :: l -> (Pat l) -> (Name l) -> (Pat l) -> (Rhs l) -> (Maybe (Binds l)) -> Match l
+ Language.Haskell.Exts.Annotated.Syntax: data DeclHead l
+ Language.Haskell.Exts.Annotated.Syntax: data InstHead l
+ Language.Haskell.Exts.Annotated.Syntax: instance (Data l) => Data (DeclHead l)
+ Language.Haskell.Exts.Annotated.Syntax: instance (Data l) => Data (InstHead l)
+ Language.Haskell.Exts.Annotated.Syntax: instance (Eq l) => Eq (DeclHead l)
+ Language.Haskell.Exts.Annotated.Syntax: instance (Eq l) => Eq (InstHead l)
+ Language.Haskell.Exts.Annotated.Syntax: instance (Show l) => Show (DeclHead l)
+ Language.Haskell.Exts.Annotated.Syntax: instance (Show l) => Show (InstHead l)
+ Language.Haskell.Exts.Annotated.Syntax: instance Annotated DeclHead
+ Language.Haskell.Exts.Annotated.Syntax: instance Annotated InstHead
+ Language.Haskell.Exts.Annotated.Syntax: instance Functor DeclHead
+ Language.Haskell.Exts.Annotated.Syntax: instance Functor InstHead
+ Language.Haskell.Exts.Annotated.Syntax: instance Typeable1 DeclHead
+ Language.Haskell.Exts.Annotated.Syntax: instance Typeable1 InstHead
- Language.Haskell.Exts.Annotated.Fixity: applyFixities :: (AppFixity ast) => [Fixity] -> ast -> ast
+ Language.Haskell.Exts.Annotated.Fixity: applyFixities :: (AppFixity ast) => [Fixity] -> ast L -> ast L
- Language.Haskell.Exts.Annotated.SrcLoc: SrcSpanInfo :: SrcSpan -> Bool -> [SrcSpan] -> SrcSpanInfo
+ Language.Haskell.Exts.Annotated.SrcLoc: SrcSpanInfo :: SrcSpan -> [SrcSpan] -> SrcSpanInfo
- Language.Haskell.Exts.Annotated.SrcLoc: toSrcInfo :: (SrcInfo si) => SrcLoc -> Bool -> [SrcSpan] -> SrcLoc -> si
+ Language.Haskell.Exts.Annotated.SrcLoc: toSrcInfo :: (SrcInfo si) => SrcLoc -> [SrcSpan] -> SrcLoc -> si
- Language.Haskell.Exts.Annotated.Syntax: Char :: l -> Char -> Literal l
+ Language.Haskell.Exts.Annotated.Syntax: Char :: l -> Char -> String -> Literal l
- Language.Haskell.Exts.Annotated.Syntax: ClassDecl :: l -> (Maybe (Context l)) -> (Name l) -> [TyVarBind l] -> [FunDep l] -> (Maybe [ClassDecl l]) -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: ClassDecl :: l -> (Maybe (Context l)) -> (DeclHead l) -> [FunDep l] -> (Maybe [ClassDecl l]) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: ClsDataFam :: l -> (Maybe (Context l)) -> (Name l) -> [TyVarBind l] -> (Maybe (Kind l)) -> ClassDecl l
+ Language.Haskell.Exts.Annotated.Syntax: ClsDataFam :: l -> (Maybe (Context l)) -> (DeclHead l) -> (Maybe (Kind l)) -> ClassDecl l
- Language.Haskell.Exts.Annotated.Syntax: ClsTyFam :: l -> (Name l) -> [TyVarBind l] -> (Maybe (Kind l)) -> ClassDecl l
+ Language.Haskell.Exts.Annotated.Syntax: ClsTyFam :: l -> (DeclHead l) -> (Maybe (Kind l)) -> ClassDecl l
- Language.Haskell.Exts.Annotated.Syntax: DataDecl :: l -> (DataOrNew l) -> (Maybe (Context l)) -> (Name l) -> [TyVarBind l] -> [QualConDecl l] -> (Maybe [Deriving l]) -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: DataDecl :: l -> (DataOrNew l) -> (Maybe (Context l)) -> (DeclHead l) -> [QualConDecl l] -> (Maybe (Deriving l)) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: DataFamDecl :: l -> (Maybe (Context l)) -> (Name l) -> [TyVarBind l] -> (Maybe (Kind l)) -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: DataFamDecl :: l -> (Maybe (Context l)) -> (DeclHead l) -> (Maybe (Kind l)) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: DataInsDecl :: l -> (DataOrNew l) -> (Type l) -> [QualConDecl l] -> (Maybe [Deriving l]) -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: DataInsDecl :: l -> (DataOrNew l) -> (Type l) -> [QualConDecl l] -> (Maybe (Deriving l)) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: DerivDecl :: l -> (Maybe (Context l)) -> (QName l) -> [Type l] -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: DerivDecl :: l -> (Maybe (Context l)) -> (InstHead l) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: Deriving :: l -> (QName l) -> [Type l] -> Deriving l
+ Language.Haskell.Exts.Annotated.Syntax: Deriving :: l -> [InstHead l] -> Deriving l
- Language.Haskell.Exts.Annotated.Syntax: ForExp :: l -> (CallConv l) -> String -> (Name l) -> (Type l) -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: ForExp :: l -> (CallConv l) -> (Maybe String) -> (Name l) -> (Type l) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: ForImp :: l -> (CallConv l) -> (Maybe (Safety l)) -> String -> (Name l) -> (Type l) -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: ForImp :: l -> (CallConv l) -> (Maybe (Safety l)) -> (Maybe String) -> (Name l) -> (Type l) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: Frac :: l -> Rational -> Literal l
+ Language.Haskell.Exts.Annotated.Syntax: Frac :: l -> Rational -> String -> Literal l
- Language.Haskell.Exts.Annotated.Syntax: GDataDecl :: l -> (DataOrNew l) -> (Maybe (Context l)) -> (Name l) -> [TyVarBind l] -> (Maybe (Kind l)) -> [GadtDecl l] -> (Maybe [Deriving l]) -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: GDataDecl :: l -> (DataOrNew l) -> (Maybe (Context l)) -> (DeclHead l) -> (Maybe (Kind l)) -> [GadtDecl l] -> (Maybe (Deriving l)) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: GDataInsDecl :: l -> (DataOrNew l) -> (Type l) -> (Maybe (Kind l)) -> [GadtDecl l] -> (Maybe [Deriving l]) -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: GDataInsDecl :: l -> (DataOrNew l) -> (Type l) -> (Maybe (Kind l)) -> [GadtDecl l] -> (Maybe (Deriving l)) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: InsData :: l -> (DataOrNew l) -> (Type l) -> [QualConDecl l] -> (Maybe [Deriving l]) -> InstDecl l
+ Language.Haskell.Exts.Annotated.Syntax: InsData :: l -> (DataOrNew l) -> (Type l) -> [QualConDecl l] -> (Maybe (Deriving l)) -> InstDecl l
- Language.Haskell.Exts.Annotated.Syntax: InsGData :: l -> (DataOrNew l) -> (Type l) -> (Maybe (Kind l)) -> [GadtDecl l] -> (Maybe [Deriving l]) -> InstDecl l
+ Language.Haskell.Exts.Annotated.Syntax: InsGData :: l -> (DataOrNew l) -> (Type l) -> (Maybe (Kind l)) -> [GadtDecl l] -> (Maybe (Deriving l)) -> InstDecl l
- Language.Haskell.Exts.Annotated.Syntax: InstDecl :: l -> (Maybe (Context l)) -> (QName l) -> [Type l] -> (Maybe [InstDecl l]) -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: InstDecl :: l -> (Maybe (Context l)) -> (InstHead l) -> (Maybe [InstDecl l]) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: InstSig :: l -> (Maybe (Context l)) -> (QName l) -> [Type l] -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: InstSig :: l -> (Maybe (Context l)) -> (InstHead l) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: Int :: l -> Integer -> Literal l
+ Language.Haskell.Exts.Annotated.Syntax: Int :: l -> Integer -> String -> Literal l
- Language.Haskell.Exts.Annotated.Syntax: Match :: l -> (Name l) -> [Pat l] -> (Maybe (Type l)) -> (Rhs l) -> (Maybe (Binds l)) -> Match l
+ Language.Haskell.Exts.Annotated.Syntax: Match :: l -> (Name l) -> [Pat l] -> (Rhs l) -> (Maybe (Binds l)) -> Match l
- Language.Haskell.Exts.Annotated.Syntax: PrimChar :: l -> Char -> Literal l
+ Language.Haskell.Exts.Annotated.Syntax: PrimChar :: l -> Char -> String -> Literal l
- Language.Haskell.Exts.Annotated.Syntax: PrimDouble :: l -> Rational -> Literal l
+ Language.Haskell.Exts.Annotated.Syntax: PrimDouble :: l -> Rational -> String -> Literal l
- Language.Haskell.Exts.Annotated.Syntax: PrimFloat :: l -> Rational -> Literal l
+ Language.Haskell.Exts.Annotated.Syntax: PrimFloat :: l -> Rational -> String -> Literal l
- Language.Haskell.Exts.Annotated.Syntax: PrimInt :: l -> Integer -> Literal l
+ Language.Haskell.Exts.Annotated.Syntax: PrimInt :: l -> Integer -> String -> Literal l
- Language.Haskell.Exts.Annotated.Syntax: PrimString :: l -> String -> Literal l
+ Language.Haskell.Exts.Annotated.Syntax: PrimString :: l -> String -> String -> Literal l
- Language.Haskell.Exts.Annotated.Syntax: PrimWord :: l -> Integer -> Literal l
+ Language.Haskell.Exts.Annotated.Syntax: PrimWord :: l -> Integer -> String -> Literal l
- Language.Haskell.Exts.Annotated.Syntax: String :: l -> String -> Literal l
+ Language.Haskell.Exts.Annotated.Syntax: String :: l -> String -> String -> Literal l
- Language.Haskell.Exts.Annotated.Syntax: TypeDecl :: l -> (Name l) -> [TyVarBind l] -> (Type l) -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: TypeDecl :: l -> (DeclHead l) -> (Type l) -> Decl l
- Language.Haskell.Exts.Annotated.Syntax: TypeFamDecl :: l -> (Name l) -> [TyVarBind l] -> (Maybe (Kind l)) -> Decl l
+ Language.Haskell.Exts.Annotated.Syntax: TypeFamDecl :: l -> (DeclHead l) -> (Maybe (Kind l)) -> Decl l

Files

dist/build/Language/Haskell/Exts/Annotated/Parser.hs view
@@ -115,10 +115,10 @@ happyOut17 :: (HappyAbsSyn ) -> (Maybe (WarningText L))
 happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut17 #-}
-happyIn18 :: (([ImportDecl L],[Decl L],[S],Bool,L)) -> (HappyAbsSyn )
+happyIn18 :: (([ImportDecl L],[Decl L],[S],L)) -> (HappyAbsSyn )
 happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyIn18 #-}
-happyOut18 :: (HappyAbsSyn ) -> (([ImportDecl L],[Decl L],[S],Bool,L))
+happyOut18 :: (HappyAbsSyn ) -> (([ImportDecl L],[Decl L],[S],L))
 happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut18 #-}
 happyIn19 :: (([ImportDecl L],[Decl L],[S])) -> (HappyAbsSyn )
@@ -367,10 +367,10 @@ happyOut59 :: (HappyAbsSyn ) -> (Maybe (Safety L))
 happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut59 #-}
-happyIn60 :: ((String, Name L, Type L, [S])) -> (HappyAbsSyn )
+happyIn60 :: ((Maybe String, Name L, Type L, [S])) -> (HappyAbsSyn )
 happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyIn60 #-}
-happyOut60 :: (HappyAbsSyn ) -> ((String, Name L, Type L, [S]))
+happyOut60 :: (HappyAbsSyn ) -> ((Maybe String, Name L, Type L, [S]))
 happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut60 #-}
 happyIn61 :: ([Rule L]) -> (HappyAbsSyn )
@@ -571,16 +571,16 @@ happyOut93 :: (HappyAbsSyn ) -> (FunDep L)
 happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut93 #-}
-happyIn94 :: (([GadtDecl L],[S],L,Bool)) -> (HappyAbsSyn )
+happyIn94 :: (([GadtDecl L],[S],L)) -> (HappyAbsSyn )
 happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyIn94 #-}
-happyOut94 :: (HappyAbsSyn ) -> (([GadtDecl L],[S],L,Bool))
+happyOut94 :: (HappyAbsSyn ) -> (([GadtDecl L],[S],L))
 happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut94 #-}
-happyIn95 :: (([GadtDecl L],[S],L,Bool)) -> (HappyAbsSyn )
+happyIn95 :: (([GadtDecl L],[S],L)) -> (HappyAbsSyn )
 happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyIn95 #-}
-happyOut95 :: (HappyAbsSyn ) -> (([GadtDecl L],[S],L,Bool))
+happyOut95 :: (HappyAbsSyn ) -> (([GadtDecl L],[S],L))
 happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut95 #-}
 happyIn96 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )
@@ -673,16 +673,16 @@ happyOut110 :: (HappyAbsSyn ) -> (BangType L)
 happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut110 #-}
-happyIn111 :: ((Maybe [Deriving L],[S],Maybe L)) -> (HappyAbsSyn )
+happyIn111 :: (Maybe (Deriving L)) -> (HappyAbsSyn )
 happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyIn111 #-}
-happyOut111 :: (HappyAbsSyn ) -> ((Maybe [Deriving L],[S],Maybe L))
+happyOut111 :: (HappyAbsSyn ) -> (Maybe (Deriving L))
 happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut111 #-}
-happyIn112 :: (([Deriving L],[S])) -> (HappyAbsSyn )
+happyIn112 :: (([InstHead L],[S])) -> (HappyAbsSyn )
 happyIn112 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyIn112 #-}
-happyOut112 :: (HappyAbsSyn ) -> (([Deriving L],[S]))
+happyOut112 :: (HappyAbsSyn ) -> (([InstHead L],[S]))
 happyOut112 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut112 #-}
 happyIn113 :: (QName L) -> (HappyAbsSyn )
@@ -715,10 +715,10 @@ happyOut117 :: (HappyAbsSyn ) -> ((Maybe (Kind L), [S]))
 happyOut117 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut117 #-}
-happyIn118 :: ((Maybe [ClassDecl L],[S],Maybe L,Bool)) -> (HappyAbsSyn )
+happyIn118 :: ((Maybe [ClassDecl L],[S],Maybe L)) -> (HappyAbsSyn )
 happyIn118 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyIn118 #-}
-happyOut118 :: (HappyAbsSyn ) -> ((Maybe [ClassDecl L],[S],Maybe L,Bool))
+happyOut118 :: (HappyAbsSyn ) -> ((Maybe [ClassDecl L],[S],Maybe L))
 happyOut118 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut118 #-}
 happyIn119 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )
@@ -745,10 +745,10 @@ happyOut122 :: (HappyAbsSyn ) -> (ClassDecl L)
 happyOut122 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut122 #-}
-happyIn123 :: ((Maybe [InstDecl L],[S],Maybe L,Bool)) -> (HappyAbsSyn )
+happyIn123 :: ((Maybe [InstDecl L],[S],Maybe L)) -> (HappyAbsSyn )
 happyIn123 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyIn123 #-}
-happyOut123 :: (HappyAbsSyn ) -> ((Maybe [InstDecl L],[S],Maybe L,Bool))
+happyOut123 :: (HappyAbsSyn ) -> ((Maybe [InstDecl L],[S],Maybe L))
 happyOut123 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut123 #-}
 happyIn124 :: (([InstDecl L],[S])) -> (HappyAbsSyn )
@@ -1033,10 +1033,10 @@ happyOut170 :: (HappyAbsSyn ) -> (Stmt L)
 happyOut170 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut170 #-}
-happyIn171 :: (([Alt L],L,[S],Bool)) -> (HappyAbsSyn )
+happyIn171 :: (([Alt L],L,[S])) -> (HappyAbsSyn )
 happyIn171 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyIn171 #-}
-happyOut171 :: (HappyAbsSyn ) -> (([Alt L],L,[S],Bool))
+happyOut171 :: (HappyAbsSyn ) -> (([Alt L],L,[S]))
 happyOut171 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut171 #-}
 happyIn172 :: (([Alt L],[S])) -> (HappyAbsSyn )
@@ -1081,10 +1081,10 @@ happyOut178 :: (HappyAbsSyn ) -> (Pat L)
 happyOut178 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut178 #-}
-happyIn179 :: (([Stmt L],L,[S],Bool)) -> (HappyAbsSyn )
+happyIn179 :: (([Stmt L],L,[S])) -> (HappyAbsSyn )
 happyIn179 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyIn179 #-}
-happyOut179 :: (HappyAbsSyn ) -> (([Stmt L],L,[S],Bool))
+happyOut179 :: (HappyAbsSyn ) -> (([Stmt L],L,[S]))
 happyOut179 x = Happy_GHC_Exts.unsafeCoerce# x
 {-# INLINE happyOut179 #-}
 happyIn180 :: (([Stmt L],[S])) -> (HappyAbsSyn )
@@ -1372,19 +1372,19 @@ 
 
 happyActOffsets :: HappyAddr
-happyActOffsets = HappyA# "\x00\x00\x3d\x11\xc1\x10\x73\x0a\xc2\x19\x00\x00\x00\x00\xbd\x07\x5f\x02\x02\x08\x00\x00\x00\x00\xea\x18\x00\x00\x00\x00\x00\x00\x73\x07\x00\x00\xc1\x07\xcc\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x18\x42\x19\x92\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x07\x71\x07\x82\x19\x00\x00\x00\x00\x00\x00\xbb\x18\x00\x00\x5f\x18\x00\x00\xd6\x07\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\x0b\xbd\x01\x65\x0c\x00\x00\x5f\x18\x5f\x18\x5f\x18\x3d\x11\x00\x00\x3d\x11\x3d\x11\x3d\x11\xaa\x19\x00\x00\x0b\x1b\xda\x1a\x00\x00\xeb\x17\x3d\x11\x13\x00\x3d\x11\xaa\x19\x92\x07\xd8\x07\x82\x07\xc9\x07\x00\x00\x00\x00\x00\x00\xaa\x19\xc9\x07\x00\x00\x02\x1a\xc4\x07\xe1\x1a\xc4\x07\xd4\x07\x66\x1b\x66\x1b\x00\x00\x00\x00\x00\x00\x07\x1c\x00\x00\x00\x00\x68\x07\xf3\x15\xc4\x17\x3d\x11\x3d\x11\xc5\x07\xf3\x15\xd2\x07\xd1\x07\xcf\x07\x5a\x07\x00\x00\x5a\x07\x11\x00\x00\x00\x00\x00\xbb\x07\x50\x17\x67\x07\x32\x05\xc3\x07\x58\x07\x56\x07\xa4\x07\x00\x00\x29\x17\x00\x00\x6c\x07\x00\x00\x00\x00\x5e\x07\xb5\x07\x00\x00\x9d\x15\x00\x00\x00\x00\x00\x00\x3d\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x08\x00\x00\x00\x00\xaa\x19\x00\x00\x00\x00\x00\x00\x3d\x11\x3d\x11\x3d\x11\x3d\x11\x61\x00\x00\x00\xbc\x07\xa3\x07\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x04\x5f\x00\x24\x00\x00\x00\xa2\x07\x52\x1b\x3f\x00\x99\x07\x04\x02\xaa\x19\x52\x1b\x96\x07\x2a\x19\xea\x19\xb4\x1a\x00\x00\x5d\x0d\x5d\x0d\x4b\x07\x00\x00\xaa\x19\xaa\x19\xaa\x19\x90\x07\x4f\x07\xcf\x04\xcf\x04\x6f\x07\x00\x00\x91\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x07\xa0\x01\x87\x07\x00\x00\x00\x00\x7e\x03\x73\x0a\x66\x07\x61\x07\x5d\x1a\x54\x07\x7d\x07\x75\x07\x47\x00\x9d\x04\x29\x17\x00\x00\x62\x07\xd1\x01\x64\x07\x6b\x07\x00\x00\x00\x00\x3d\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x08\x00\x00\x00\x00\x00\x00\x9e\x01\x00\x00\x00\x00\x8a\x04\x6d\x0b\x8e\x01\x6a\x07\x69\x07\x63\x07\x5d\x07\x5c\x07\x00\x00\x59\x07\x29\x17\x55\x07\x4e\x07\xea\x19\x29\x17\x29\x17\xc9\x13\x00\x00\x59\x04\x33\x15\x52\x1b\xaa\x19\x2c\x00\xaa\x19\xeb\x08\x00\x00\x06\x12\x3e\x07\x00\x00\x00\x00\x40\x01\xdc\x00\x00\x00\x3e\x01\x46\x07\x3a\x07\x89\x01\x44\x07\x00\x00\x34\x07\xb4\x1a\xaa\x19\x00\x00\xb4\x1a\x00\x00\xb4\x1a\x00\x00\x00\x00\x3e\x1b\xaa\x19\xb4\x1a\x50\x00\x2e\x07\x00\x00\x00\x00\x00\x00\x43\x07\x00\x00\x0c\x07\x00\x00\x23\x00\x21\x00\x1d\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x57\x1a\x00\x00\x23\x07\x11\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x19\x00\x00\x00\x00\x2b\x01\x00\x00\x00\x00\xaa\x19\x00\x00\x00\x00\x00\x00\xaa\x18\xaa\x19\x0a\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x1b\x2c\x00\xc5\x06\xac\x06\x2b\x01\xbc\x06\xe4\x02\x81\x01\x00\x00\x00\x00\x9a\x06\xee\x06\x00\x00\x3d\x11\x45\x10\xd8\x01\x00\x00\xe3\x06\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x06\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x0a\x00\x00\x00\x00\x5c\x01\x00\x00\x3d\x11\x3d\x11\x00\x00\xe4\x06\x00\x00\xe1\x0c\x00\x00\xe1\x0c\x3d\x11\x55\x0e\x87\x06\x3d\x11\x00\x00\x45\x10\xdd\x14\x00\x00\x3d\x11\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\xe2\x06\xb5\x16\x69\x14\x00\x00\x07\x07\x00\x00\x00\x00\x4f\x09\xd6\x06\x82\x06\x00\x00\xc2\x06\xce\x06\x00\x00\xbe\x06\x00\x00\x00\x00\x00\x00\xbf\x06\x00\x00\xbd\x06\xb8\x06\xba\x06\xb9\x06\x5d\x0d\xb4\x06\xaf\x06\x50\x00\xa1\x06\x00\x00\x99\x06\xb4\x1a\xaa\x19\x4c\x06\x44\x06\xaa\x19\x9f\x06\xb0\x06\x93\x06\x58\x06\xa4\x06\x00\x00\x37\x1b\x00\x00\x92\x06\x91\x06\x37\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x06\x00\x00\x00\x00\x3d\x11\x00\x00\x3d\x11\xa7\x12\x84\x06\x78\x06\x50\x00\x50\x00\x3d\x11\x00\x00\x3d\x11\x3d\x11\x3d\x11\x6a\x06\x5c\x04\x00\x00\x00\x00\x4a\x06\x00\x00\x00\x00\x00\x00\x00\x00\x71\x06\x77\x09\x50\x00\x69\x14\x3d\x06\x6c\x06\x6f\x06\x6d\x06\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x06\x00\x00\x0e\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x11\x83\x1b\xaa\x19\x48\x06\x00\x00\xdc\x05\x3c\x06\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x1a\x00\x00\xaa\x19\x00\x00\x00\x00\xf9\x05\x00\x00\x00\x00\x5d\x0d\x00\x00\x3d\x11\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x18\x28\x06\x31\x06\x00\x00\x00\x00\x35\x06\x00\x00\x00\x00\x00\x00\x00\x00\x24\x06\x00\x00\x46\x0b\x1a\x01\x4f\x09\x00\x00\x00\x00\x00\x00\x00\x00\x22\x06\x00\x00\x87\x04\x53\x04\x4d\x04\x1e\x04\xef\x03\xc5\x03\x8b\x03\x26\x03\x22\x03\x11\x03\x09\x03\xe9\x02\x00\x00\x73\x0a\x2b\x06\x05\x06\x00\x00\x31\x00\x00\x00\x16\x06\x1a\x06\x00\x00\x00\x00\x1a\x06\x13\x06\x0f\x06\x00\x00\x00\x00\x00\x00\xc9\x0f\x00\x00\xc2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x06\x00\x00\x00\x00\x00\x00\x45\x01\x00\x00\x00\x00\x3d\x11\x00\x00\x7c\x12\x3b\x00\x00\x00\x00\x00\x00\x00\x6d\x1b\xaa\x19\x07\x06\x00\x00\x21\x09\x00\x00\x00\x00\x00\x00\x00\x06\x2b\x01\x00\x00\x00\x00\x0c\x06\x00\x00\xfe\x01\xc7\x05\xa7\x05\x01\x06\xfa\x05\xeb\x08\x00\x00\xf0\x05\x00\x00\xff\x05\xf2\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x06\x0b\x00\x00\x00\x00\x00\x00\x00\x2b\x01\x00\x00\x00\x00\x00\x00\xf6\x05\x00\x00\x00\x00\x00\x00\x6a\x19\xac\x05\x00\x00\x00\x00\x00\x00\xee\x05\x2b\x01\xf5\x08\x00\x00\x2e\x08\xd3\x05\x00\x00\x00\x00\xe1\x08\x53\x00\xdb\x05\xd7\x05\xb4\x18\xb4\x1a\x6e\x05\x86\x05\x00\x00\x00\x00\x1a\x01\x4d\x0f\x3d\x11\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x11\x8b\x05\x08\x00\x55\x0e\x55\x0e\x00\x00\x7b\x05\x3d\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x16\x00\x00\xc2\x05\xae\x05\xb4\x1a\xd9\x0d\xb3\x05\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x18\x7f\x13\xa4\x05\x50\x00\x00\x00\x00\x00\x00\x00\xaa\x19\x00\x00\x00\x00\x49\x05\xa6\x05\xeb\x12\x00\x00\x33\x01\x93\x05\x3d\x11\x3d\x11\x55\x04\x9c\x05\x13\x13\x9c\x05\x83\x05\x45\x05\x3d\x05\x38\x05\x00\x00\x2a\x1a\x00\x00\xa9\x03\x00\x00\x00\x00\x00\x00\x00\x00\x35\x05\x00\x00\x36\x05\x1c\x05\xf5\x09\x7d\x05\x00\x00\x00\x00\x88\x05\x70\x05\x00\x00\x00\x00\x00\x00\x79\x05\x00\x00\xb8\x04\x00\x00\x00\x00\x00\x00\x82\x05\x00\x00\x00\x00\x58\x05\x00\x00\x00\x00\x3d\x11\x64\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x1a\x00\x00\xb4\x1a\x5d\x05\x00\x00\x00\x00\xb9\x11\x6d\x05\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x02\x00\x00\xb4\x1a\x00\x00\x00\x00\x4e\x03\x00\x00\x59\x05\x00\x00\x3d\x11\x3d\x11\x3d\x11\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x05\x00\x00\x00\x00\x53\x05\x3e\x14\xda\x08\x63\x05\x00\x00\x00\x00\xb4\x1a\xdb\x04\x9a\x08\xb4\x1a\xb4\x1a\xd3\x04\x00\x00\x00\x00\x00\x00\x29\x02\x34\x05\x50\x00\x00\x00\x33\x05\x3a\x05\x00\x00\xf9\x04\x30\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x05\x44\x00\x11\x05\x00\x00\xb4\x1a\x84\x08\x00\x00\x0f\x05\x00\x00\xb4\x1a\x00\x00\xe3\x00\xd9\x00\x00\x00\x00\x00\x0d\x05\xb4\x1a\x00\x00\x00\x00\xbc\x04\x00\x00\x00\x00\x00\x00\x1a\x16\x3d\x11\x00\x00\xab\x04\xfb\x04\x00\x00\x4d\x0f\x3d\x11\xd1\x0e\xfe\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x19\xea\x19\x21\x1b\xef\x04\xaa\x19\xf4\x13\xfa\x04\x2c\x00\xaa\x19\x00\x00\xe9\x04\x00\x00\xd0\x18\xf3\x04\x97\x1a\x00\x00\x1f\x03\x00\x00\x00\x00\x00\x00\xf7\x04\x00\x00\xb8\x04\x00\x00\x1a\x16\x00\x00\x00\x00\x1e\x01\x00\x00\x00\x00\x00\x00\x00\x00\xed\x04\xf6\x04\xe0\x04\x98\x04\x7e\x04\x00\x00\x00\x00\xaa\x19\x67\x04\xbf\x04\xbb\x04\xb6\x04\xb6\x04\x30\x12\xc4\x04\x00\x00\x00\x00\x09\x01\x00\x00\x00\x00\x00\x00\xf1\xff\x8b\x04\x3d\x11\x00\x00\x00\x00\x21\x1b\x44\x08\x6d\x1a\x6d\x1a\xaa\x19\xca\x01\xb0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x1a\x35\x04\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x11\x00\x00\x00\x00\x00\x00\xaa\x19\x00\x00\x00\x00\x8e\x04\x00\x00\x00\x00\x1d\x04\x00\x00\x00\x00\x73\x15\x4a\x04\x41\x04\x2d\x00\xb8\x04\x00\x00\x00\x00\x3d\x11\x3e\x04\x00\x00\x00\x00\x5a\x04\x00\x00\x6d\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x04\x00\x00\x08\x15\x00\x00\x52\x04\x51\x04\x00\x00\x00\x00\x00\x00\x57\x04\x1a\x08\x47\x04\x73\x15\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x3b\x04\x00\x00\x00\x00\x00\x00"#
+happyActOffsets = HappyA# "\x00\x00\x1f\x11\xa3\x10\x55\x0a\xa4\x19\x00\x00\x00\x00\xb2\x07\x5f\x02\xf6\x07\x00\x00\x00\x00\xcc\x18\x00\x00\x00\x00\x00\x00\x6f\x07\x00\x00\xa4\x19\xcb\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x18\x24\x19\x74\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x07\x6c\x07\x64\x19\x00\x00\x00\x00\x00\x00\x9d\x18\x00\x00\x41\x18\x00\x00\xd3\x07\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\x0b\xbd\x01\x47\x0c\x00\x00\x41\x18\x41\x18\x41\x18\x1f\x11\x00\x00\x1f\x11\x1f\x11\x1f\x11\x8c\x19\x00\x00\xd9\x1a\xc1\x1a\x00\x00\xcd\x17\x1f\x11\x13\x00\x1f\x11\x8c\x19\x8c\x07\xd7\x07\x7e\x07\xc7\x07\x00\x00\x00\x00\x00\x00\x8c\x19\xc7\x07\x00\x00\xe4\x19\xbf\x07\xef\x1a\xbf\x07\xd4\x07\x36\x1b\x36\x1b\x00\x00\x00\x00\x00\x00\xe9\x1b\x00\x00\x00\x00\x6a\x07\xd5\x15\xa6\x17\x1f\x11\x1f\x11\xc5\x07\xd5\x15\xd2\x07\xd1\x07\xc2\x07\x57\x07\x00\x00\x57\x07\x11\x00\x00\x00\x00\x00\xbb\x07\x32\x17\x67\x07\x32\x05\xc4\x07\x5a\x07\x56\x07\xa2\x07\x00\x00\x0b\x17\x00\x00\x68\x07\x00\x00\x00\x00\x5e\x07\xb4\x07\x00\x00\x7f\x15\x00\x00\x00\x00\x00\x00\x1f\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x08\x00\x00\x00\x00\x8c\x19\x00\x00\x00\x00\x00\x00\x1f\x11\x1f\x11\x1f\x11\x1f\x11\x61\x00\x00\x00\xb6\x07\xa0\x07\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x04\x5f\x00\x24\x00\x00\x00\xa1\x07\x22\x1b\x3f\x00\x97\x07\x04\x02\x8c\x19\x22\x1b\x95\x07\x0c\x19\xcc\x19\xa9\x1a\x00\x00\x3f\x0d\x3f\x0d\x49\x07\x00\x00\x8c\x19\x8c\x19\x8c\x19\x90\x07\x4d\x07\xcf\x04\xcf\x04\x6d\x07\x00\x00\x81\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x07\xa0\x01\x7f\x07\x00\x00\x00\x00\x7e\x03\x55\x0a\x66\x07\x61\x07\x8a\x1b\x54\x07\x7d\x07\x64\x07\x47\x00\x9d\x04\x0b\x17\x00\x00\x58\x07\xd1\x01\x60\x07\x6b\x07\x00\x00\x00\x00\x1f\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x08\x00\x00\x00\x00\x00\x00\x9e\x01\x00\x00\x00\x00\x8a\x04\x4f\x0b\x8e\x01\x69\x07\x63\x07\x5d\x07\x5c\x07\x59\x07\x00\x00\x55\x07\x0b\x17\x4e\x07\x48\x07\xcc\x19\x0b\x17\x0b\x17\xab\x13\x00\x00\x59\x04\x15\x15\x22\x1b\x8c\x19\x2c\x00\x8c\x19\xeb\x08\x00\x00\xcd\x12\x3c\x07\x00\x00\x00\x00\x40\x01\xdc\x00\x00\x00\x3e\x01\x45\x07\x39\x07\x89\x01\x34\x07\x00\x00\x33\x07\xa9\x1a\x00\x00\x00\x00\xa9\x1a\x00\x00\xa9\x1a\x00\x00\x00\x00\x54\x1a\x8c\x19\xa9\x1a\x00\x00\x50\x00\x2c\x07\x00\x00\x00\x00\x00\x00\x42\x07\x00\x00\x13\x07\x00\x00\x23\x00\x21\x00\x1d\x00\x5f\x02\x00\x00\x00\x00\x00\x00\x4c\x1a\x00\x00\x0a\x07\x08\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x19\x00\x00\x00\x00\x2b\x01\x00\x00\x00\x00\x8c\x19\x00\x00\x00\x00\x00\x00\x8c\x18\x8c\x19\xfd\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x1b\x2c\x00\xc0\x06\xad\x06\x2b\x01\xae\x06\xe4\x02\x81\x01\x00\x00\x00\x00\xa6\x06\xe1\x06\x00\x00\x1f\x11\x27\x10\xd8\x01\x00\x00\xdf\x06\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x06\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x0a\x00\x00\x00\x00\x5c\x01\x00\x00\x1f\x11\x1f\x11\x00\x00\xd6\x06\x00\x00\xc3\x0c\x00\x00\xc3\x0c\x1f\x11\x37\x0e\x86\x06\x1f\x11\x00\x00\x27\x10\xbf\x14\x00\x00\x1f\x11\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\xde\x06\x97\x16\x4b\x14\x00\x00\x07\x07\x00\x00\x00\x00\xb3\x08\xcd\x06\x80\x06\x00\x00\xc1\x06\xce\x06\x00\x00\xbe\x06\x00\x00\x00\x00\x00\x00\xbf\x06\x00\x00\xb8\x06\xac\x06\xb7\x06\xb0\x06\x3f\x0d\xb4\x06\xb3\x06\x50\x00\x9f\x06\x00\x00\x98\x06\xa9\x1a\x8c\x19\x46\x06\x3d\x06\x8c\x19\x9b\x06\xaf\x06\x8f\x06\x54\x06\x9a\x06\x00\x00\x95\x1a\x00\x00\x91\x06\x8d\x06\x95\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x06\x00\x00\x00\x00\x1f\x11\x00\x00\x1f\x11\x89\x12\x78\x06\x77\x06\x50\x00\x50\x00\x1f\x11\x00\x00\x1f\x11\x1f\x11\x1f\x11\x6a\x06\x5c\x04\x00\x00\x00\x00\x44\x06\x00\x00\x00\x00\x00\x00\x00\x00\x65\x06\x59\x09\x50\x00\x4b\x14\x3c\x06\x68\x06\x6d\x06\x61\x06\x63\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x06\x00\x00\x0c\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x11\x65\x1b\x8c\x19\x3f\x06\x00\x00\xda\x05\x33\x06\x00\x00\x00\x00\x00\x00\x00\x00\xa9\x1a\x00\x00\x8c\x19\x00\x00\x00\x00\xf9\x05\x00\x00\x00\x00\x3f\x0d\x00\x00\x1f\x11\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x18\x26\x06\x30\x06\x00\x00\x00\x00\x2f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x23\x06\x00\x00\x28\x0b\x1a\x01\xb3\x08\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x06\x00\x00\x87\x04\x53\x04\x4d\x04\x1e\x04\xef\x03\xc5\x03\x8b\x03\x26\x03\x22\x03\x11\x03\x09\x03\xe9\x02\x00\x00\x55\x0a\x22\x06\x05\x06\x00\x00\x31\x00\x00\x00\x16\x06\x1a\x06\x00\x00\x00\x00\x1a\x06\x0b\x06\x0f\x06\x00\x00\x00\x00\x00\x00\xab\x0f\x00\x00\xc2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x06\x00\x00\x00\x00\x00\x00\x45\x01\x00\x00\x00\x00\x1f\x11\x00\x00\x5e\x12\x3b\x00\x00\x00\x00\x00\x00\x00\x51\x1b\x8c\x19\x02\x06\x00\x00\xe1\x08\x00\x00\x00\x00\x00\x00\xfc\x05\x2b\x01\x00\x00\x00\x00\x08\x06\x00\x00\xfe\x01\xc7\x05\xab\x05\xf6\x05\xf4\x05\xeb\x08\x00\x00\xee\x05\x00\x00\xfd\x05\xf1\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x06\x0b\x00\x00\x00\x00\x00\x00\x00\x2b\x01\x00\x00\x00\x00\x00\x00\xea\x05\x00\x00\x00\x00\x00\x00\x4c\x19\xaa\x05\x00\x00\x00\x00\x00\x00\xec\x05\x2b\x01\xe8\x11\x00\x00\x2e\x08\xe1\x08\x00\x00\x00\x00\xda\x08\x53\x00\xdb\x05\xd7\x05\x96\x18\xa9\x1a\x6e\x05\x86\x05\x00\x00\x00\x00\x1a\x01\x2f\x0f\x1f\x11\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x11\x8b\x05\x08\x00\x37\x0e\x37\x0e\x00\x00\x7b\x05\x1f\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x16\x00\x00\xc2\x05\xae\x05\xa9\x1a\xbb\x0d\xb3\x05\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x18\x61\x13\xa4\x05\x50\x00\x00\x00\x00\x00\x00\x00\x8c\x19\x00\x00\x00\x00\x49\x05\xa6\x05\x4a\x1b\x00\x00\x33\x01\x93\x05\x1f\x11\x1f\x11\x55\x04\x9c\x05\xf5\x12\x9c\x05\x83\x05\x45\x05\x3d\x05\x38\x05\x00\x00\x24\x1a\x00\x00\xa9\x03\x00\x00\x00\x00\x00\x00\x00\x00\x35\x05\x00\x00\x36\x05\x1c\x05\xd7\x09\x7d\x05\x00\x00\x00\x00\x88\x05\x70\x05\x00\x00\x00\x00\x00\x00\x79\x05\x00\x00\xb8\x04\x00\x00\x00\x00\x00\x00\x82\x05\x00\x00\x00\x00\x58\x05\x00\x00\x00\x00\x1f\x11\x64\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x1b\x00\x00\xa9\x1a\x5d\x05\x00\x00\x00\x00\x9b\x11\x6d\x05\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x02\x00\x00\xa9\x1a\x00\x00\x00\x00\x4e\x03\x00\x00\x59\x05\x00\x00\x1f\x11\x1f\x11\x1f\x11\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x05\x00\x00\x00\x00\x53\x05\x20\x14\x9a\x08\x63\x05\x00\x00\x00\x00\xa9\x1a\xdb\x04\x84\x08\x00\x00\xa9\x1a\xa9\x1a\xd3\x04\x00\x00\x00\x00\x00\x00\x29\x02\x34\x05\x50\x00\x00\x00\x33\x05\x3a\x05\x00\x00\xf9\x04\x30\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x05\x44\x00\x11\x05\x00\x00\x0c\x1a\x0f\x05\x00\x00\xa9\x1a\x00\x00\xe3\x00\xd9\x00\x00\x00\x00\x00\x0d\x05\xa9\x1a\x00\x00\x00\x00\xbc\x04\x00\x00\x00\x00\x00\x00\xfc\x15\x1f\x11\x00\x00\xab\x04\xfb\x04\x00\x00\x2f\x0f\x1f\x11\xb3\x0e\xfe\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x19\xcc\x19\x0a\x1b\xef\x04\x8c\x19\xd6\x13\xfa\x04\x2c\x00\x8c\x19\x00\x00\xe9\x04\x00\x00\xb2\x18\xf3\x04\x81\x1a\x00\x00\x1f\x03\x00\x00\x00\x00\x00\x00\xf7\x04\x00\x00\xb8\x04\x00\x00\xfc\x15\x00\x00\x00\x00\x1e\x01\x00\x00\x00\x00\x00\x00\x00\x00\xed\x04\xf6\x04\xe0\x04\x98\x04\x7e\x04\x00\x00\x00\x00\x8c\x19\x67\x04\xbf\x04\xbb\x04\xb6\x04\xb6\x04\x12\x12\xc4\x04\x00\x00\x00\x00\x09\x01\x00\x00\x00\x00\x00\x00\xf1\xff\x8b\x04\x1f\x11\x00\x00\x00\x00\x0a\x1b\x44\x08\x69\x1a\x69\x1a\x8c\x19\xca\x01\xb0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x1a\x35\x04\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x11\x00\x00\x00\x00\x00\x00\x8c\x19\x00\x00\x00\x00\x8e\x04\x00\x00\x00\x00\x1d\x04\x00\x00\x00\x00\x55\x15\x4a\x04\x41\x04\x2d\x00\xb8\x04\x00\x00\x00\x00\x1f\x11\x3e\x04\x00\x00\x00\x00\x5a\x04\x00\x00\x69\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x04\x00\x00\xea\x14\x00\x00\x52\x04\x51\x04\x00\x00\x00\x00\x00\x00\x57\x04\x1a\x08\x47\x04\x55\x15\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x3b\x04\x00\x00\x00\x00\x00\x00"#
 
 happyGotoOffsets :: HappyAddr
-happyGotoOffsets = HappyA# "\x01\x00\x56\x22\xd6\x24\x61\x02\xd6\x05\x03\x00\x02\x00\x4e\x04\x1b\x04\x00\x00\x00\x00\x00\x00\x37\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x03\x88\x04\xea\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x03\x00\x00\x00\x00\x00\x00\x13\x04\x00\x00\xd7\x06\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x59\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x22\xa1\x03\xbe\x22\x00\x00\x3e\x2b\x22\x16\x28\x2b\xc0\x24\x00\x00\x03\x22\xed\x21\x8e\x29\xc3\x05\x56\x03\x98\x03\xce\x00\x00\x00\xa8\x06\xe6\x28\x00\x00\xd0\x28\xc4\x06\x00\x00\x00\x00\x00\x00\x90\xff\x00\x00\x00\x00\x00\x00\xb1\x06\x8e\xff\x00\x00\x61\x03\xee\x03\x9e\x02\xe4\x03\xb3\x03\x7a\x07\x1b\x03\x00\x00\x00\x00\x00\x00\x9d\x08\x00\x00\x00\x00\x00\x00\xbd\x16\x0d\x2b\x9a\x21\x7e\x28\xf5\xff\x02\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x02\x00\x00\x00\x00\xf9\xff\x9e\x06\xc6\x03\x3e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x2a\x00\x00\x00\x00\x1f\x00\x04\x00\x00\x00\x00\x00\x00\x00\x58\x17\x00\x00\x00\x00\x00\x00\xa4\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x02\x00\x00\x00\x00\xb0\x05\x00\x00\x00\x00\x00\x00\x68\x28\x16\x28\x00\x28\xae\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x01\x00\x00\x00\x00\x00\x00\xcf\x03\x5d\x02\x00\x00\x00\x00\x85\x01\x9c\x06\x0d\x02\x00\x00\x37\x07\x38\x04\x9f\x03\x00\x00\x68\x1e\x15\x1e\x8a\x03\x00\x00\x88\x06\x2a\x01\x73\x06\xb8\x03\x00\x00\xb0\x03\xa0\x03\x00\x00\x31\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\xff\x2c\x03\x00\x00\x00\x00\x00\x00\x34\x03\x24\x01\x00\x00\x00\x00\x56\x08\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x05\xcb\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x23\x16\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x16\x00\x00\x00\x00\x33\x03\xb5\x2a\x9a\x2a\x19\x02\x00\x00\x95\x05\xec\x29\x5b\x00\x9d\x05\xd8\x00\x89\x05\xec\xff\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x02\x60\x06\x00\x00\x9f\x01\x00\x00\xc9\x00\x00\x00\x00\x00\x32\x02\x4d\x06\x13\x05\xcc\x02\x00\x00\xd0\x03\xb5\x03\x86\x03\x06\x00\x71\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x06\x00\x00\x00\x00\x3e\x05\x00\x00\x00\x00\x27\x06\x00\x00\x00\x00\x00\x00\xf8\x00\xfe\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x01\xbe\x00\x35\x03\x00\x00\x2c\x05\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x03\x0d\x03\x00\x00\x84\x21\xc2\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x23\x00\x00\x00\x00\x9c\x01\x00\x00\x6e\x24\x98\x27\x00\x00\x00\x00\x00\x00\x2e\x23\x00\x00\xdc\x22\x46\x27\x7d\x1b\x0c\x03\x30\x27\x00\x00\x6f\x1d\x00\x00\x00\x00\xa4\x29\x00\x00\x00\x00\xae\x02\x54\x03\x00\x00\x00\x00\xac\x02\x58\x2a\x00\x00\x43\x03\x00\x00\x00\x00\x1b\x00\x79\xff\xfc\x02\xed\x03\xcf\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x02\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x1c\x1d\xef\xff\x8a\xff\x47\x02\x00\x00\x00\x00\x95\x02\xcc\x04\x74\x05\x00\x00\x00\x00\xaa\x03\x00\x00\x00\x00\x00\x00\xc7\x02\xb8\x02\x00\x00\x05\x07\x00\x00\x00\x00\x00\x00\x3b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x26\x00\x00\xc8\x26\x95\x01\x00\x00\x00\x00\x12\x02\xf4\x01\x76\x26\x00\x00\x60\x26\x0e\x26\xf8\x25\x00\x00\xb6\x02\x00\x00\x00\x00\x00\x00\x1b\x02\x00\x00\xb9\x04\x84\x04\x00\x00\x60\x00\xd6\x01\x42\x2a\x9a\x02\x27\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x03\x00\x00\xdd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x29\x2f\x00\x8f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x01\x00\x00\x39\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc9\x1c\x00\x00\x31\x21\x2a\x00\x25\x00\x00\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x01\x00\x00\x1a\x00\x09\x00\x00\x00\x00\x00\x00\x00\xd2\xff\xc1\x01\xee\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xff\x00\x00\x00\x00\xde\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x00\x00\x00\x00\x00\xa6\x25\x00\x00\xea\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x26\x05\x00\x00\x00\x00\x0f\x07\x25\x02\x00\x00\x00\x00\x00\x00\x8a\x02\x00\x00\x00\x00\xdd\xff\x00\x00\xa9\xff\x23\x02\x00\x00\x00\x00\x00\x00\xb2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x04\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x00\x00\x00\x00\x75\x04\x17\x02\x00\x00\x3d\x00\x36\x00\x00\x00\x86\x02\x92\x00\x00\x00\x0d\x01\x00\x00\x00\x00\x00\x00\x52\x07\x9b\xff\x00\x00\x00\x00\xc1\x03\x65\x07\x00\x00\x7e\x02\x00\x00\x00\x00\xa3\x01\xbb\x1e\xc8\x20\x00\x00\x00\x00\x00\x00\x00\x00\x90\x25\x00\x00\x00\x00\x23\x1c\xd0\x1b\x00\x00\x00\x00\xb2\x20\x00\x00\x00\x00\x00\x00\xd0\x01\x00\x00\x73\x2a\x00\x00\x00\x00\x00\x00\x84\x03\xf0\x23\x00\x00\x7f\x01\x6d\x00\x30\x00\x88\x01\x6a\x02\x00\x00\xc8\x02\x00\x00\x7b\x01\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\xbf\x01\x00\x00\x3e\x25\x5f\x20\x7c\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\xff\x00\x00\x00\x00\x00\x00\x53\x02\x00\x00\x00\x00\x26\x02\x00\x00\x18\x02\x00\x00\x76\x00\x00\x00\x8f\x01\x00\x00\x00\x00\x09\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x04\x3e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\xfd\x01\xc7\x01\x00\x00\x00\x00\x42\x01\x00\x00\x39\x01\x00\x00\x00\x00\x28\x02\x00\x00\x9c\x03\x00\x00\x3a\x01\x00\x00\x00\x00\x34\x01\x00\x00\x00\x00\x00\x00\xf6\x1f\xe0\x1f\x8d\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x00\xcd\x03\x25\x01\x00\x00\x00\x00\x5f\x07\x00\x00\x24\x07\x25\x04\x4c\x07\x00\x00\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\xe6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x01\x00\x00\x00\x00\x6f\x01\x00\x00\x00\x00\x0d\x01\x0d\x01\x00\x00\x00\x00\x00\x00\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x03\x58\x24\x00\x00\xf9\x00\xb0\x00\x00\x00\x76\x1c\x77\x1f\x06\x24\x00\x00\x00\x00\x00\x00\x00\x00\x59\x01\x00\x00\x00\x00\xe9\x05\x57\x02\xcf\x01\x00\x00\xea\x04\xe6\x02\x00\x00\xea\xff\xd6\x04\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x12\x00\x00\x00\x34\x01\x00\x00\x00\x00\x00\x00\x1b\x01\x00\x00\x4e\x00\x00\x00\xee\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\xc2\x04\x00\x00\x00\x00\x00\x00\x5d\x00\x26\x00\xf0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1f\x00\x00\x00\x00\x5f\x01\xeb\x03\x12\x06\x5f\x05\xaf\x04\xc9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x1f\x00\x00\x00\x00\x00\x00\x9c\x04\x00\x00\x00\x00\xd3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x00\x00\x4f\x00\xe3\x02\x5a\xff\x00\x00\x00\x00\x28\x25\xb1\xff\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xff\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
+happyGotoOffsets = HappyA# "\x01\x00\x38\x22\xb8\x24\x61\x02\xd6\x05\x03\x00\x02\x00\x4e\x04\x1b\x04\x00\x00\x00\x00\x00\x00\x37\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x03\x88\x04\xea\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x03\x00\x00\x00\x00\x00\x00\x13\x04\x00\x00\xc4\x06\x00\x00\x00\x00\x00\x00\x7c\x08\x00\x00\x3b\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x22\xa1\x03\xa0\x22\x00\x00\x20\x2b\x04\x16\x0a\x2b\xa2\x24\x00\x00\xe5\x21\xcf\x21\x70\x29\xc3\x05\x56\x03\x98\x03\xce\x00\x00\x00\xa8\x06\xc8\x28\x00\x00\xb2\x28\xb1\x06\x00\x00\x00\x00\x00\x00\x90\xff\x00\x00\x00\x00\x00\x00\x9c\x06\x8e\xff\x00\x00\x61\x03\xee\x03\x9e\x02\xe4\x03\xb3\x03\x7a\x07\x1b\x03\x00\x00\x00\x00\x00\x00\x33\x09\x00\x00\x00\x00\x00\x00\x9f\x16\xef\x2a\x7c\x21\x60\x28\xf5\xff\xe4\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x02\x00\x00\x00\x00\xf9\xff\x9e\x06\xc6\x03\x3e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x2a\x00\x00\x00\x00\x1f\x00\x04\x00\x00\x00\x00\x00\x00\x00\x3a\x17\x00\x00\x00\x00\x00\x00\x86\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x02\x00\x00\x00\x00\xb0\x05\x00\x00\x00\x00\x00\x00\x4a\x28\xf8\x27\xe2\x27\x90\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x01\x00\x00\x00\x00\x00\x00\xcf\x03\x5d\x02\x00\x00\x00\x00\x85\x01\x88\x06\x0d\x02\x00\x00\x37\x07\x38\x04\x9f\x03\x00\x00\x4a\x1e\xf7\x1d\x8a\x03\x00\x00\x73\x06\x2a\x01\x60\x06\xb8\x03\x00\x00\xb0\x03\xa0\x03\x00\x00\x31\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\xff\x2c\x03\x00\x00\x00\x00\x00\x00\x34\x03\x24\x01\x00\x00\x00\x00\xb8\x08\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x05\xad\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x23\x16\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x16\x00\x00\x00\x00\x33\x03\x97\x2a\x7c\x2a\x19\x02\x00\x00\x95\x05\xce\x29\x5b\x00\x9d\x05\xd8\x00\x89\x05\xec\xff\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x02\x00\x00\x00\x00\x9f\x01\x00\x00\xc9\x00\x00\x00\x00\x00\x32\x02\x4d\x06\x13\x05\x00\x00\xcc\x02\x00\x00\xd0\x03\xb5\x03\x86\x03\x06\x00\x71\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x06\x00\x00\x00\x00\x3e\x05\x00\x00\x00\x00\x27\x06\x00\x00\x00\x00\x00\x00\xf8\x00\xfe\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x01\xbe\x00\x35\x03\x00\x00\x2c\x05\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x03\x0d\x03\x00\x00\x66\x21\xa4\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x23\x00\x00\x00\x00\x9c\x01\x00\x00\x50\x24\x7a\x27\x00\x00\x00\x00\x00\x00\x10\x23\x00\x00\xbe\x22\x28\x27\x5f\x1b\x0c\x03\x12\x27\x00\x00\x51\x1d\x00\x00\x00\x00\x86\x29\x00\x00\x00\x00\xae\x02\x54\x03\x00\x00\x00\x00\xac\x02\x3a\x2a\x00\x00\x43\x03\x00\x00\x00\x00\x1b\x00\x79\xff\xfc\x02\xed\x03\xcf\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x02\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\xfe\x1c\xef\xff\x8a\xff\x47\x02\x00\x00\x00\x00\x95\x02\xcc\x04\x74\x05\x00\x00\x00\x00\xaa\x03\x00\x00\x00\x00\x00\x00\xc7\x02\xb8\x02\x00\x00\x05\x07\x00\x00\x00\x00\x00\x00\x3b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x26\x00\x00\xaa\x26\x95\x01\x00\x00\x00\x00\x12\x02\xf4\x01\x58\x26\x00\x00\x42\x26\xf0\x25\xda\x25\x00\x00\xb6\x02\x00\x00\x00\x00\x00\x00\x1b\x02\x00\x00\xb9\x04\x84\x04\x00\x00\x60\x00\xd6\x01\x24\x2a\x9a\x02\x27\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x03\x00\x00\xdd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x29\x2f\x00\x8f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x01\x00\x00\x39\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x1c\x00\x00\x13\x21\x2a\x00\x25\x00\x00\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x01\x00\x00\x1a\x00\x09\x00\x00\x00\x00\x00\x00\x00\xd2\xff\xc1\x01\xee\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xff\x00\x00\x00\x00\xde\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x00\x00\x00\x00\x00\x88\x25\x00\x00\xea\x01\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x26\x05\x00\x00\x00\x00\x0f\x07\x25\x02\x00\x00\x00\x00\x00\x00\x8a\x02\x00\x00\x00\x00\xdd\xff\x00\x00\xa9\xff\x23\x02\x00\x00\x00\x00\x00\x00\xb2\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\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x04\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x00\x00\x00\x00\x75\x04\x17\x02\x00\x00\x3d\x00\x36\x00\x00\x00\x86\x02\x92\x00\x00\x00\x0d\x01\x24\x07\x00\x00\x00\x00\x52\x07\x9b\xff\x00\x00\x00\x00\xc1\x03\x65\x07\x00\x00\x7e\x02\x00\x00\x00\x00\xa3\x01\x9d\x1e\xaa\x20\x00\x00\x00\x00\x00\x00\x00\x00\x72\x25\x00\x00\x00\x00\x05\x1c\xb2\x1b\x00\x00\x00\x00\x94\x20\x00\x00\x00\x00\x00\x00\xd0\x01\x00\x00\x55\x2a\x00\x00\x00\x00\x00\x00\x84\x03\xd2\x23\x00\x00\x7f\x01\x6d\x00\x30\x00\x88\x01\x6a\x02\x00\x00\xc8\x02\x00\x00\x7b\x01\x00\x00\x00\x00\x00\x00\x74\x03\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\xbf\x01\x00\x00\x20\x25\x41\x20\x7c\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\xff\x00\x00\x00\x00\x00\x00\x53\x02\x00\x00\x00\x00\x26\x02\x00\x00\x18\x02\x00\x00\x76\x00\x00\x00\x8f\x01\x00\x00\x00\x00\x09\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x04\x3e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x08\x00\x00\xfd\x01\xc7\x01\x00\x00\x00\x00\x42\x01\x00\x00\x39\x01\x00\x00\x00\x00\x28\x02\x00\x00\x9c\x03\x00\x00\x3a\x01\x00\x00\x00\x00\x34\x01\x00\x00\x00\x00\x00\x00\xd8\x1f\xc2\x1f\x6f\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x00\xcd\x03\x25\x01\x00\x00\x00\x00\x5f\x07\x00\x00\x0d\x01\x00\x00\x25\x04\x4c\x07\x00\x00\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\xe6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x01\x00\x00\x00\x00\x6f\x01\x00\x00\x00\x00\x0d\x01\x00\x00\x00\x00\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x03\x3a\x24\x00\x00\xf9\x00\xb0\x00\x00\x00\x58\x1c\x59\x1f\xe8\x23\x00\x00\x00\x00\x00\x00\x00\x00\x59\x01\x00\x00\x00\x00\xe9\x05\x57\x02\xcf\x01\x00\x00\xea\x04\xe6\x02\x00\x00\xea\xff\xd6\x04\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x12\x00\x00\x00\x34\x01\x00\x00\x00\x00\x00\x00\x1b\x01\x00\x00\x4e\x00\x00\x00\xee\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\xc2\x04\x00\x00\x00\x00\x00\x00\x5d\x00\x26\x00\xf0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x1f\x00\x00\x00\x00\x5f\x01\xeb\x03\x12\x06\x5f\x05\xaf\x04\xc9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x1e\x00\x00\x00\x00\x00\x00\x9c\x04\x00\x00\x00\x00\xd3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x00\x00\x4f\x00\xe3\x02\x5a\xff\x00\x00\x00\x00\x0a\x25\xb1\xff\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xff\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
 
 happyDefActions :: HappyAddr
-happyDefActions = HappyA# "\xbd\xfd\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xfd\x00\x00\x00\x00\xf2\xff\x00\x00\x51\xff\x38\xff\x58\xff\x4e\xff\x4c\xff\x45\xff\x00\x00\x3b\xff\x00\x00\x00\x00\xe1\xfd\xb6\xfd\x01\xfe\x3e\xff\xdb\xfd\x4b\xff\xe8\xfd\xdd\xfd\xdc\xfd\xd9\xfd\xda\xfd\x00\x00\x00\x00\x00\x00\xe4\xfd\xe0\xfd\xdf\xfd\xde\xfd\xe3\xfd\xe2\xfd\xe7\xfd\x31\xff\xe5\xfd\xe6\xfd\x8a\xff\xb1\xff\x00\x00\x00\x00\x95\xff\x8b\xff\x89\xff\xd5\xfe\xc2\xfe\xb8\xfe\xb3\xfe\xab\xfe\xa7\xfe\x99\xfe\xa4\xfe\xa5\xfe\xa6\xfe\x08\xfe\x03\xfe\xea\xfd\xfe\xfd\xa3\xfe\xe9\xfd\xc7\xfd\xc5\xfd\xc6\xfd\xc4\xfd\xc3\xfd\xc2\xfd\xc1\xfd\xc0\xfd\xbf\xfd\xbe\xfd\x00\x00\x00\x00\x00\x00\x9d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x98\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xfd\x00\x00\x00\x00\x8e\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\xff\x00\x00\x00\x00\xbd\xfd\xaf\xff\xae\xff\xad\xff\x00\x00\xbd\xfd\x93\xff\x00\x00\x6b\xff\x00\x00\x6b\xff\x6d\xff\x5f\xff\x5f\xff\x23\xfe\xcd\xfe\xc7\xfe\xc6\xfe\xc4\xfe\xbd\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\xfe\x00\x00\xe9\xff\xf9\xff\xf7\xff\xbd\xfd\x00\x00\xe9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\xfe\x00\x00\x7d\xff\x00\x00\xdd\xff\xdd\xff\x00\x00\x00\x00\x22\xfe\x00\x00\xb1\xfe\xf0\xfd\xef\xfd\xcc\xfe\xf4\xfd\xeb\xfd\xd8\xfd\xfa\xfd\xd5\xfd\xd4\xfd\xd1\xfd\xd6\xfd\xc8\xfd\xd7\xfd\x00\x00\xce\xfd\xec\xfd\x00\x00\xd0\xfd\xcf\xfd\xcd\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\xff\x00\x00\x5d\xff\x5a\xff\x5b\xff\x07\xfe\x00\xfe\x00\x00\x00\x00\x00\x00\x6e\xff\x6b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\xff\x00\x00\x00\x00\xb9\xfe\x1d\xfe\x1d\xfe\xe6\xfe\xba\xfe\x00\x00\x90\xff\x00\x00\x2b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x4b\xfe\x78\xfe\x74\xfe\x77\xfe\x76\xfe\x75\xfe\x70\xfe\x6f\xfe\x6e\xfe\x6d\xfe\x6c\xfe\x6b\xfe\x6a\xfe\x69\xfe\x68\xfe\x67\xfe\x72\xfe\x71\xfe\x66\xfe\x65\xfe\x64\xfe\x63\xfe\x62\xfe\x61\xfe\x60\xfe\x5f\xfe\x5e\xfe\x5d\xfe\x5c\xfe\x5b\xfe\x5a\xfe\x59\xfe\x58\xfe\x57\xfe\x56\xfe\x55\xfe\x54\xfe\x53\xfe\x52\xfe\x51\xfe\x50\xfe\x73\xfe\x4f\xfe\x4e\xfe\x4d\xfe\x8f\xfe\x90\xfe\x00\x00\x00\x00\x00\x00\x92\xfe\x91\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xc6\xfe\x00\x00\x00\x00\x84\xfe\x00\x00\x00\x00\xbb\xfe\xac\xfe\x8b\xfe\x47\xfe\x00\x00\x46\xfe\xee\xfd\xed\xfd\x00\x00\xf8\xfd\xd3\xfd\xd2\xfd\xcc\xfd\x0c\xfe\x00\x00\xca\xfd\xcb\xfd\xc9\xfd\x00\x00\x0a\xfe\x8c\xfe\x8b\xfe\x00\x00\x00\x00\x00\x00\xf4\xfd\x00\x00\xd2\xfd\xcc\xfd\x0d\xfe\xca\xfd\xd0\xfd\xcb\xfd\xc9\xfd\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\x00\x00\x00\x00\xb0\xff\x00\x00\x00\x00\x42\xff\x34\xff\x00\x00\x00\x00\x40\xff\x34\xff\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\x00\x00\x00\x00\x00\x00\x4f\xff\x00\x00\x3c\xff\x00\x00\xb4\xfd\xb3\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\xdd\xff\xdd\xff\x00\x00\xdd\xff\xec\xff\xde\xff\x00\x00\x00\x00\x00\x00\xf2\xff\xf4\xff\xbb\xfd\xbc\xfd\x54\xff\x55\xff\x00\x00\x00\x00\x56\xff\x57\xff\x39\xff\x52\xff\x43\xff\x3d\xff\x41\xff\x8d\xfe\x00\x00\x4a\xff\x47\xff\x00\x00\x3f\xff\x49\xff\x00\x00\x48\xff\x32\xff\x30\xff\x00\x00\x00\x00\xb2\xff\xf2\xfd\xf1\xfd\xab\xff\xf6\xfd\xfc\xfd\x00\x00\x1f\xff\x02\xff\x00\x00\x00\x00\x18\xff\x86\xff\x00\x00\x79\xff\xc3\xfe\xd7\xfe\xd3\xfe\xd1\xfe\x00\x00\x00\x00\x00\x00\x15\xfe\x13\xfe\xaa\xfe\x12\xfe\xad\xfe\xae\xfe\x00\x00\x53\xff\x02\xfe\xfd\xfd\x9c\xfe\x00\x00\xa1\xfe\xa2\xfe\x00\x00\x0b\xfe\x00\x00\x00\x00\x09\xfe\x00\x00\x8a\xfe\x00\x00\x9e\xfe\x00\x00\x45\xfe\x00\x00\xd7\xfe\x00\x00\x9b\xfe\x00\x00\x9b\xff\x96\xfe\x00\x00\x95\xfe\x94\xfe\x00\x00\xdd\xff\xa8\xff\x00\x00\x00\x00\x48\xfe\x7f\xfe\x73\xff\x78\xff\x77\xff\x00\x00\xbd\xfd\xf2\xfe\x2d\xff\xf6\xfe\x00\x00\x91\xff\x53\xff\x92\xff\x9d\xff\x9e\xff\xbd\xfd\x18\xfe\xcf\xfe\x00\x00\x00\x00\x1b\xfe\x1d\xfe\xbd\xfd\xbd\xfd\x00\x00\x00\x00\x59\xff\xf6\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\xff\x6f\xff\x98\xff\x61\xff\x97\xff\x00\x00\x00\x00\x00\x00\x5e\xff\x96\xff\xc8\xfe\xc9\xfe\xca\xfe\xcb\xfe\xce\xfe\x00\x00\xc5\xfe\xb2\xfe\x00\x00\x97\xfe\x00\x00\x8e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe6\xff\xba\xfd\xb9\xfd\x00\x00\x4b\xfe\xeb\xff\xdd\xff\xdd\xff\x00\x00\xe0\xff\x00\x00\x48\xfe\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\xb6\xfe\xb7\xfe\xbe\xfe\xc0\xfe\x7b\xff\x87\xff\x7c\xff\x88\xff\xdd\xff\x8c\xff\xdd\xff\x0f\xfe\xa6\xfe\xdf\xff\x00\x00\xc1\xfe\xf9\xfd\x5c\xff\x06\xfe\xff\xfd\x62\xff\x70\xff\x00\x00\x00\x00\x00\x00\x00\x00\x6a\xff\x00\x00\x80\xff\x7e\xff\x81\xff\x84\xff\xa7\xff\x54\xff\xa6\xff\x00\x00\x20\xfe\x17\xfe\x1a\xfe\x1e\xfe\x1f\xfe\x1d\xfe\x21\xfe\x00\x00\xdd\xff\xdd\xff\x9c\xff\xa2\xff\x00\x00\x00\x00\x2a\xff\x28\xff\x9f\xff\xbd\xfd\xbc\xfe\xdd\xff\xdd\xff\x99\xff\x00\x00\x05\xfe\x00\x00\x00\x00\x00\x00\x76\xff\x75\xff\x74\xff\x49\xfe\x00\x00\x4c\xfe\x00\x00\xe8\xfd\xd9\xfd\xe4\xfd\xe0\xfd\xdf\xfd\xde\xfd\xe3\xfd\xe2\xfd\xe7\xfd\xe5\xfd\xe6\xfd\x79\xfe\xde\xff\xaa\xff\x00\x00\x30\xfe\x00\x00\x32\xfe\x00\x00\xbd\xfd\x85\xfe\xd9\xfe\xbd\xfd\x41\xfe\x3d\xfe\x3b\xfe\x3a\xfe\x39\xfe\x00\x00\x43\xfe\x8b\xfe\x3f\xfe\x40\xfe\xf7\xfd\x89\xfe\x82\xfe\x83\xfe\x9f\xfe\xa0\xfe\x00\x00\x86\xfe\xa8\xfe\x00\x00\xa9\xfe\x00\x00\x00\x00\xd4\xfe\xd2\xfe\xda\xfe\x00\x00\x00\x00\x1e\xff\x1c\xff\x00\x00\x31\xff\xf5\xfe\xfc\xfe\xfb\xfe\x00\x00\xf8\xfe\xf9\xfe\xbd\xfd\xa4\xff\x00\x00\x02\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3a\xff\x00\x00\x33\xff\x00\x00\x35\xff\xb5\xfd\xf3\xfd\xf3\xff\xef\xff\xee\xff\xf0\xff\x00\x00\x00\x00\xf1\xff\xed\xff\x46\xff\x00\x00\xac\xff\xf5\xfd\xfb\xfd\xbd\xfd\xa1\xff\x01\xff\xfd\xfe\x00\x00\x02\xff\x26\xff\xdd\xff\xdd\xff\x00\x00\x00\x00\x00\x00\x0b\xff\x13\xff\x00\x00\x1a\xff\x17\xff\x12\xff\x00\x00\x00\x00\x3e\xff\x00\x00\x00\x00\x00\x00\x18\xff\x85\xff\x7a\xff\x00\x00\x00\x00\x00\x00\x16\xfe\x14\xfe\x88\xfe\x87\xfe\x44\xfe\x38\xfe\x00\x00\x00\x00\x00\x00\xd8\xfe\x2f\xfe\x00\x00\x9a\xfe\x93\xfe\xa9\xff\x7d\xfe\x80\xfe\x00\x00\x9a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\xdd\xff\x2d\xff\x2d\xff\x2c\xff\xe4\xfe\x00\x00\x00\x00\x19\xfe\x1c\xfe\xa5\xff\x00\x00\x83\xff\x69\xff\x00\x00\x00\x00\x66\xff\x64\xff\x00\x00\x00\x00\x00\x00\x00\x00\xde\xff\x11\xfe\xde\xff\x8f\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xff\xd7\xff\xf8\xff\x00\x00\xe4\xff\xdd\xff\xcd\xff\xe2\xff\xca\xff\xe5\xff\xc8\xff\x00\x00\xde\xff\xe1\xff\x7d\xfe\xf5\xff\x00\x00\xd7\xff\xd5\xff\xd4\xff\xb7\xfd\xd3\xff\xd8\xff\x00\x00\xea\xff\xe8\xff\xe7\xff\x00\x00\x8d\xff\x10\xfe\x00\x00\x0e\xfe\xbf\xfe\x00\x00\x00\x00\x65\xff\x67\xff\x82\xff\x7f\xff\xe7\xfe\xe8\xfe\x00\x00\xdd\xff\xe2\xfe\xdf\xfe\xe0\xfe\xe1\xfe\xd5\xfe\x94\xff\x00\x00\x6b\xff\x27\xff\x29\xff\xf0\xfe\x00\x00\x00\x00\x2d\xfe\x2e\xfe\xdd\xff\x2a\xfe\x00\x00\x71\xff\x00\x00\x04\xfe\x4a\xfe\x00\x00\x31\xfe\x3e\xfe\x3c\xfe\x00\x00\x00\x00\x00\x00\x42\xfe\xd0\xfe\x33\xfe\x1d\xff\x00\x00\x0a\xff\x4d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x0e\xff\x0f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\xff\xfa\xfe\xf7\xfe\x00\x00\x00\x00\x00\x00\xa3\xff\xfe\xfe\x00\x00\x00\xff\x02\xff\x00\x00\x2f\xff\xa0\xff\xff\xfe\x24\xff\x25\xff\xdd\xff\x21\xff\x00\x00\x00\x00\x00\x00\x11\xff\x36\xff\x13\xff\x1b\xff\x00\x00\x0d\xff\x50\xff\x16\xff\x00\x00\x00\x00\x07\xff\x15\xff\x3d\xff\x00\x00\x37\xfe\x35\xfe\x36\xfe\x7a\xfe\x7e\xfe\x7c\xfe\x00\x00\x00\x00\x72\xff\xd7\xfe\x27\xfe\x25\xfe\x00\x00\x00\x00\xde\xff\x2c\xfe\xf3\xfe\xf4\xfe\xed\xfe\xdd\xff\xee\xfe\xec\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\xff\xe5\xfe\x1f\xff\x00\x00\x6c\xff\x00\x00\xcf\xff\x00\x00\x00\x00\xd8\xff\xd9\xff\x00\x00\xce\xff\xe3\xff\xcb\xff\xc6\xff\xc9\xff\x00\x00\xc7\xff\x00\x00\xd6\xff\xda\xff\x00\x00\xb5\xff\xb4\xff\xb3\xff\xd1\xff\x00\x00\x00\x00\x00\x00\x02\xff\x00\x00\xe3\xfe\xd6\xfe\x00\x00\x00\x00\x00\x00\x51\xff\xf6\xfe\xf6\xfe\xde\xff\xf1\xfe\x2b\xfe\x28\xfe\x00\x00\x26\xfe\x29\xfe\x84\xfe\x00\x00\x00\x00\x00\x00\x09\xff\x14\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\xff\x23\xff\x22\xff\x20\xff\x10\xff\x0c\xff\x05\xff\x06\xff\x00\x00\x00\x00\x08\xff\x34\xfe\x81\xfe\x7b\xfe\x00\x00\xef\xfe\xe9\xfe\xeb\xfe\x00\x00\xde\xfe\xdd\xfe\xbd\xfd\xdc\xfe\x63\xff\x00\x00\xd2\xff\xd0\xff\x00\x00\x00\x00\xc4\xff\xc2\xff\x00\x00\xf6\xff\xb6\xff\x00\x00\x02\xff\xea\xfe\x24\xfe\x00\x00\x04\xff\x00\x00\xdb\xfe\xb5\xfe\xc5\xff\xcc\xff\xc3\xff\x00\x00\xbf\xff\xd7\xff\x03\xff\x00\x00\xd7\xff\xbc\xff\xbb\xff\xb8\xfd\xba\xff\x00\x00\x00\x00\xd8\xff\xc0\xff\xbd\xff\xc1\xff\x00\x00\xb8\xff\x00\x00\xb9\xff\xb7\xff"#
+happyDefActions = HappyA# "\xbd\xfd\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xfd\x00\x00\x00\x00\xf2\xff\x00\x00\x51\xff\x38\xff\x58\xff\x4e\xff\x4c\xff\x45\xff\x00\x00\x3b\xff\x00\x00\x00\x00\xe1\xfd\xb6\xfd\x01\xfe\x3e\xff\xdb\xfd\x4b\xff\xe8\xfd\xdd\xfd\xdc\xfd\xd9\xfd\xda\xfd\x00\x00\x00\x00\x00\x00\xe4\xfd\xe0\xfd\xdf\xfd\xde\xfd\xe3\xfd\xe2\xfd\xe7\xfd\x31\xff\xe5\xfd\xe6\xfd\x8a\xff\xb1\xff\x00\x00\x00\x00\x95\xff\x8b\xff\x89\xff\xd5\xfe\xc2\xfe\xb8\xfe\xb3\xfe\xab\xfe\xa7\xfe\x99\xfe\xa4\xfe\xa5\xfe\xa6\xfe\x08\xfe\x03\xfe\xea\xfd\xfe\xfd\xa3\xfe\xe9\xfd\xc7\xfd\xc5\xfd\xc6\xfd\xc4\xfd\xc3\xfd\xc2\xfd\xc1\xfd\xc0\xfd\xbf\xfd\xbe\xfd\x00\x00\x00\x00\x00\x00\x9d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x98\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xfd\x00\x00\x00\x00\x8e\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\xff\x00\x00\x00\x00\xbd\xfd\xaf\xff\xae\xff\xad\xff\x00\x00\xbd\xfd\x93\xff\x00\x00\x6b\xff\x00\x00\x6b\xff\x6d\xff\x5f\xff\x5f\xff\x23\xfe\xcd\xfe\xc7\xfe\xc6\xfe\xc4\xfe\xbd\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\xfe\x00\x00\xe9\xff\xf9\xff\xf7\xff\xbd\xfd\x00\x00\xe9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\xfe\x00\x00\x7d\xff\x00\x00\xdd\xff\xdd\xff\x00\x00\x00\x00\x22\xfe\x00\x00\xb1\xfe\xf0\xfd\xef\xfd\xcc\xfe\xf4\xfd\xeb\xfd\xd8\xfd\xfa\xfd\xd5\xfd\xd4\xfd\xd1\xfd\xd6\xfd\xc8\xfd\xd7\xfd\x00\x00\xce\xfd\xec\xfd\x00\x00\xd0\xfd\xcf\xfd\xcd\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\xff\x00\x00\x5d\xff\x5a\xff\x5b\xff\x07\xfe\x00\xfe\x00\x00\x00\x00\x00\x00\x6e\xff\x6b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\xff\x00\x00\x00\x00\xb9\xfe\x1d\xfe\x1d\xfe\xe6\xfe\xba\xfe\x00\x00\x90\xff\x00\x00\x2b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x4b\xfe\x78\xfe\x74\xfe\x77\xfe\x76\xfe\x75\xfe\x70\xfe\x6f\xfe\x6e\xfe\x6d\xfe\x6c\xfe\x6b\xfe\x6a\xfe\x69\xfe\x68\xfe\x67\xfe\x72\xfe\x71\xfe\x66\xfe\x65\xfe\x64\xfe\x63\xfe\x62\xfe\x61\xfe\x60\xfe\x5f\xfe\x5e\xfe\x5d\xfe\x5c\xfe\x5b\xfe\x5a\xfe\x59\xfe\x58\xfe\x57\xfe\x56\xfe\x55\xfe\x54\xfe\x53\xfe\x52\xfe\x51\xfe\x50\xfe\x73\xfe\x4f\xfe\x4e\xfe\x4d\xfe\x8f\xfe\x90\xfe\x00\x00\x00\x00\x00\x00\x92\xfe\x91\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xc6\xfe\x00\x00\x00\x00\x84\xfe\x00\x00\x00\x00\xbb\xfe\xac\xfe\x8b\xfe\x47\xfe\x00\x00\x46\xfe\xee\xfd\xed\xfd\x00\x00\xf8\xfd\xd3\xfd\xd2\xfd\xcc\xfd\x0c\xfe\x00\x00\xca\xfd\xcb\xfd\xc9\xfd\x00\x00\x0a\xfe\x8c\xfe\x8b\xfe\x00\x00\x00\x00\x00\x00\xf4\xfd\x00\x00\xd2\xfd\xcc\xfd\x0d\xfe\xca\xfd\xd0\xfd\xcb\xfd\xc9\xfd\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x1f\xff\x00\x00\x00\x00\xb0\xff\x00\x00\x00\x00\x42\xff\x34\xff\x00\x00\x00\x00\x40\xff\x34\xff\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\x00\x00\x00\x00\x39\xff\x4f\xff\x00\x00\x3c\xff\x00\x00\xb4\xfd\xb3\xfd\x00\x00\x00\x00\x00\x00\x37\xff\x00\x00\x00\x00\xdd\xff\xdd\xff\xdd\xff\x00\x00\xdd\xff\xec\xff\xde\xff\x00\x00\x00\x00\x00\x00\xf2\xff\xf4\xff\xbb\xfd\xbc\xfd\x54\xff\x55\xff\x00\x00\x00\x00\x56\xff\x57\xff\x52\xff\x43\xff\x3d\xff\x41\xff\x8d\xfe\x00\x00\x4a\xff\x47\xff\x00\x00\x3f\xff\x49\xff\x00\x00\x48\xff\x32\xff\x30\xff\x00\x00\x00\x00\xb2\xff\xf2\xfd\xf1\xfd\xab\xff\xf6\xfd\xfc\xfd\x00\x00\x1f\xff\x02\xff\x00\x00\x00\x00\x18\xff\x86\xff\x00\x00\x79\xff\xc3\xfe\xd7\xfe\xd3\xfe\xd1\xfe\x00\x00\x00\x00\x00\x00\x15\xfe\x13\xfe\xaa\xfe\x12\xfe\xad\xfe\xae\xfe\x00\x00\x53\xff\x02\xfe\xfd\xfd\x9c\xfe\x00\x00\xa1\xfe\xa2\xfe\x00\x00\x0b\xfe\x00\x00\x00\x00\x09\xfe\x00\x00\x8a\xfe\x00\x00\x9e\xfe\x00\x00\x45\xfe\x00\x00\xd7\xfe\x00\x00\x9b\xfe\x00\x00\x9b\xff\x96\xfe\x00\x00\x95\xfe\x94\xfe\x00\x00\xdd\xff\xa8\xff\x00\x00\x00\x00\x48\xfe\x7f\xfe\x73\xff\x78\xff\x77\xff\x00\x00\xbd\xfd\xf2\xfe\x2d\xff\xf6\xfe\x00\x00\x91\xff\x53\xff\x92\xff\x9d\xff\x9e\xff\xbd\xfd\x18\xfe\xcf\xfe\x00\x00\x00\x00\x1b\xfe\x1d\xfe\xbd\xfd\xbd\xfd\x00\x00\x00\x00\x59\xff\xf6\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\xff\x6f\xff\x98\xff\x61\xff\x97\xff\x00\x00\x00\x00\x00\x00\x5e\xff\x96\xff\xc8\xfe\xc9\xfe\xca\xfe\xcb\xfe\xce\xfe\x00\x00\xc5\xfe\xb2\xfe\x00\x00\x97\xfe\x00\x00\x8e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xe6\xff\xba\xfd\xb9\xfd\x00\x00\x4b\xfe\xeb\xff\xdd\xff\xdd\xff\x00\x00\xe0\xff\x00\x00\x48\xfe\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\xb6\xfe\xb7\xfe\xbe\xfe\xc0\xfe\x7b\xff\x87\xff\x7c\xff\x88\xff\xdd\xff\x8c\xff\xdd\xff\x0f\xfe\xa6\xfe\xdf\xff\x00\x00\xc1\xfe\xf9\xfd\x5c\xff\x06\xfe\xff\xfd\x62\xff\x70\xff\x00\x00\x00\x00\x00\x00\x00\x00\x6a\xff\x00\x00\x80\xff\x7e\xff\x81\xff\x84\xff\xa7\xff\x54\xff\xa6\xff\x00\x00\x20\xfe\x17\xfe\x1a\xfe\x1e\xfe\x1f\xfe\x1d\xfe\x21\xfe\x00\x00\xdd\xff\xdd\xff\x9c\xff\xa2\xff\x00\x00\x00\x00\x2a\xff\x28\xff\x9f\xff\xbd\xfd\xbc\xfe\xdd\xff\xdd\xff\x99\xff\x00\x00\x05\xfe\x00\x00\x00\x00\x00\x00\x76\xff\x75\xff\x74\xff\x49\xfe\x00\x00\x4c\xfe\x00\x00\xe8\xfd\xd9\xfd\xe4\xfd\xe0\xfd\xdf\xfd\xde\xfd\xe3\xfd\xe2\xfd\xe7\xfd\xe5\xfd\xe6\xfd\x79\xfe\xde\xff\xaa\xff\x00\x00\x30\xfe\x00\x00\x32\xfe\x00\x00\xbd\xfd\x85\xfe\xd9\xfe\xbd\xfd\x41\xfe\x3d\xfe\x3b\xfe\x3a\xfe\x39\xfe\x00\x00\x43\xfe\x8b\xfe\x3f\xfe\x40\xfe\xf7\xfd\x89\xfe\x82\xfe\x83\xfe\x9f\xfe\xa0\xfe\x00\x00\x86\xfe\xa8\xfe\x00\x00\xa9\xfe\x00\x00\x00\x00\xd4\xfe\xd2\xfe\xda\xfe\x00\x00\x00\x00\x1e\xff\x1c\xff\x00\x00\x31\xff\xf5\xfe\xfc\xfe\xfb\xfe\x00\x00\xf8\xfe\xf9\xfe\xbd\xfd\xa4\xff\x00\x00\x02\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3a\xff\x00\x00\x33\xff\x00\x00\x35\xff\xb5\xfd\xf3\xfd\x36\xff\xf3\xff\xef\xff\xee\xff\xf0\xff\x00\x00\x00\x00\xf1\xff\xed\xff\x46\xff\x00\x00\xac\xff\xf5\xfd\xfb\xfd\xbd\xfd\xa1\xff\x01\xff\xfd\xfe\x00\x00\x02\xff\x26\xff\xdd\xff\xdd\xff\x00\x00\x00\x00\x00\x00\x0b\xff\x13\xff\x00\x00\x1a\xff\x17\xff\x12\xff\x00\x00\x00\x00\x3e\xff\x00\x00\x00\x00\x00\x00\x18\xff\x85\xff\x7a\xff\x00\x00\x00\x00\x00\x00\x16\xfe\x14\xfe\x88\xfe\x87\xfe\x44\xfe\x38\xfe\x00\x00\x00\x00\x00\x00\xd8\xfe\x2f\xfe\x00\x00\x9a\xfe\x93\xfe\xa9\xff\x7d\xfe\x80\xfe\x00\x00\x9a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\xdd\xff\x2d\xff\x2d\xff\x2c\xff\xe4\xfe\x00\x00\x00\x00\x19\xfe\x1c\xfe\xa5\xff\x00\x00\x83\xff\x69\xff\x00\x00\x00\x00\x66\xff\x64\xff\x00\x00\x00\x00\x00\x00\x00\x00\xde\xff\x11\xfe\xde\xff\x8f\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xff\xd7\xff\xf8\xff\x00\x00\xe4\xff\xdd\xff\xcd\xff\xe2\xff\xca\xff\xe5\xff\xc8\xff\x00\x00\xde\xff\xe1\xff\x7d\xfe\xf5\xff\x00\x00\xd7\xff\xd5\xff\xd4\xff\xb7\xfd\xd3\xff\xd8\xff\x00\x00\xea\xff\xe8\xff\xe7\xff\x00\x00\x8d\xff\x10\xfe\x00\x00\x0e\xfe\xbf\xfe\x00\x00\x00\x00\x65\xff\x67\xff\x82\xff\x7f\xff\xe7\xfe\xe8\xfe\x00\x00\xdd\xff\xe2\xfe\xdf\xfe\xe0\xfe\xe1\xfe\xd5\xfe\x94\xff\x00\x00\x6b\xff\x27\xff\x29\xff\xf0\xfe\x00\x00\x00\x00\x2d\xfe\x2e\xfe\xdd\xff\x2a\xfe\x00\x00\x71\xff\x00\x00\x04\xfe\x4a\xfe\x00\x00\x31\xfe\x3e\xfe\x3c\xfe\x00\x00\x00\x00\x00\x00\x42\xfe\xd0\xfe\x33\xfe\x1d\xff\x00\x00\x0a\xff\x4d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x0e\xff\x0f\xff\x00\x00\x00\x00\x13\xff\x1b\xff\x00\x00\x00\x00\x00\x00\x19\xff\xfa\xfe\xf7\xfe\x00\x00\x00\x00\x00\x00\xa3\xff\xfe\xfe\x00\x00\x00\xff\x02\xff\x00\x00\x2f\xff\xa0\xff\xff\xfe\x24\xff\x25\xff\xdd\xff\x21\xff\x00\x00\x00\x00\x00\x00\x11\xff\x00\x00\x00\x00\x0d\xff\x50\xff\x16\xff\x00\x00\x00\x00\x07\xff\x15\xff\x3d\xff\x00\x00\x37\xfe\x35\xfe\x36\xfe\x7a\xfe\x7e\xfe\x7c\xfe\x00\x00\x00\x00\x72\xff\xd7\xfe\x27\xfe\x25\xfe\x00\x00\x00\x00\xde\xff\x2c\xfe\xf3\xfe\xf4\xfe\xed\xfe\xdd\xff\xee\xfe\xec\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\xff\xe5\xfe\x1f\xff\x00\x00\x6c\xff\x00\x00\xcf\xff\x00\x00\x00\x00\xd8\xff\xd9\xff\x00\x00\xce\xff\xe3\xff\xcb\xff\xc6\xff\xc9\xff\x00\x00\xc7\xff\x00\x00\xd6\xff\xda\xff\x00\x00\xb5\xff\xb4\xff\xb3\xff\xd1\xff\x00\x00\x00\x00\x00\x00\x02\xff\x00\x00\xe3\xfe\xd6\xfe\x00\x00\x00\x00\x00\x00\x51\xff\xf6\xfe\xf6\xfe\xde\xff\xf1\xfe\x2b\xfe\x28\xfe\x00\x00\x26\xfe\x29\xfe\x84\xfe\x00\x00\x00\x00\x00\x00\x09\xff\x14\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\xff\x23\xff\x22\xff\x20\xff\x10\xff\x0c\xff\x05\xff\x06\xff\x00\x00\x00\x00\x08\xff\x34\xfe\x81\xfe\x7b\xfe\x00\x00\xef\xfe\xe9\xfe\xeb\xfe\x00\x00\xde\xfe\xdd\xfe\xbd\xfd\xdc\xfe\x63\xff\x00\x00\xd2\xff\xd0\xff\x00\x00\x00\x00\xc4\xff\xc2\xff\x00\x00\xf6\xff\xb6\xff\x00\x00\x02\xff\xea\xfe\x24\xfe\x00\x00\x04\xff\x00\x00\xdb\xfe\xb5\xfe\xc5\xff\xcc\xff\xc3\xff\x00\x00\xbf\xff\xd7\xff\x03\xff\x00\x00\xd7\xff\xbc\xff\xbb\xff\xb8\xfd\xba\xff\x00\x00\x00\x00\xd8\xff\xc0\xff\xbd\xff\xc1\xff\x00\x00\xb8\xff\x00\x00\xb9\xff\xb7\xff"#
 
 happyCheck :: HappyAddr
-happyCheck = HappyA# "\xff\xff\x00\x00\x09\x00\x02\x00\x02\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x2b\x00\x05\x00\x05\x00\x0f\x00\x2f\x00\x22\x00\x0b\x00\x0c\x00\x68\x00\x2b\x00\x22\x00\x0b\x00\x0c\x00\x2f\x00\x66\x00\x1b\x00\x1c\x00\x2b\x00\xa2\x00\x1d\x00\x1e\x00\x2f\x00\x0f\x00\x2b\x00\x33\x00\x59\x00\x11\x00\x2f\x00\x0b\x00\x0c\x00\x1c\x00\x55\x00\x56\x00\x0b\x00\x0c\x00\x28\x00\xd3\x00\x55\x00\x56\x00\x0b\x00\x0c\x00\x55\x00\x56\x00\xaa\x00\x0b\x00\x0c\x00\x8c\x00\xaa\x00\x1c\x00\xaa\x00\x0b\x00\x0c\x00\x1c\x00\x4d\x00\x1c\x00\x1c\x00\x0b\x00\x0c\x00\x16\x00\x5a\x00\x1d\x00\x1e\x00\x28\x00\x0b\x00\x0c\x00\xd1\x00\x0c\x00\x1a\x00\x09\x00\x33\x00\x0b\x00\x00\x00\x38\x00\x39\x00\x22\x00\x28\x00\x29\x00\x6c\x00\x46\x00\xbd\x00\x48\x00\x1c\x00\xd1\x00\x09\x00\x22\x00\x56\x00\xd1\x00\x2e\x00\xd1\x00\x4f\x00\x1e\x00\x29\x00\xca\x00\x17\x00\x38\x00\x39\x00\x22\x00\x39\x00\x27\x00\x3a\x00\xc2\x00\x2f\x00\x1f\x00\xc7\x00\xc8\x00\x12\x00\x13\x00\xc9\x00\xca\x00\x63\x00\x24\x00\x0b\x00\x0c\x00\x72\x00\x1c\x00\x6b\x00\x1c\x00\x66\x00\x1f\x00\x39\x00\x21\x00\xb9\x00\x23\x00\x24\x00\x25\x00\x26\x00\xb5\x00\x17\x00\x13\x00\x2a\x00\x30\x00\x2c\x00\x57\x00\x61\x00\x84\x00\xc7\x00\xc8\x00\x6c\x00\x22\x00\x57\x00\x1f\x00\xc4\x00\x21\x00\x73\x00\x23\x00\x24\x00\x25\x00\x26\x00\x73\x00\x6e\x00\x73\x00\x2a\x00\x84\x00\x2c\x00\xb5\x00\xd1\x00\x84\x00\xba\x00\x84\x00\x84\x00\xbd\x00\xd1\x00\xbf\x00\xa3\x00\xb6\x00\xd1\x00\xd1\x00\xb9\x00\xb4\x00\xc4\x00\xb4\x00\xb0\x00\xb8\x00\xca\x00\xb8\x00\xd1\x00\xcd\x00\xc3\x00\xc4\x00\xc5\x00\xa3\x00\xc7\x00\xc8\x00\xd1\x00\xc4\x00\xc5\x00\xc4\x00\xc5\x00\xc8\x00\xd1\x00\xc8\x00\xb6\x00\x6c\x00\xd1\x00\xb9\x00\xd5\x00\xc8\x00\xc8\x00\xb0\x00\xb5\x00\xd4\x00\xd1\x00\xd1\x00\xd1\x00\xc3\x00\xc4\x00\xc5\x00\x78\x00\xc7\x00\xc8\x00\x6e\x00\xb4\x00\xc4\x00\xc5\x00\xc4\x00\xb8\x00\x4f\x00\x82\x00\x84\x00\x84\x00\x84\x00\x86\x00\xd5\x00\x26\x00\x89\x00\x8a\x00\x8b\x00\xc4\x00\xc5\x00\x78\x00\x2d\x00\xc8\x00\x91\x00\xb4\x00\xc4\x00\xc5\x00\x19\x00\xb8\x00\x1e\x00\x82\x00\xb4\x00\x84\x00\x22\x00\x86\x00\xb8\x00\x22\x00\x89\x00\x8a\x00\x8b\x00\xc4\x00\xc5\x00\x30\x00\x22\x00\xc8\x00\x91\x00\x3f\x00\xc4\x00\xc5\x00\x28\x00\x43\x00\xc8\x00\x45\x00\x46\x00\x47\x00\xb6\x00\xd4\x00\xb3\x00\x46\x00\x47\x00\xb6\x00\xb7\x00\x5a\x00\xb9\x00\x44\x00\x45\x00\x46\x00\x47\x00\xc3\x00\xc4\x00\xc5\x00\xd3\x00\x08\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\x6c\x00\x22\x00\xb6\x00\xb7\x00\xb2\x00\xb9\x00\xd0\x00\x16\x00\x5a\x00\xb7\x00\x01\x00\x17\x00\x2d\x00\x63\x00\x64\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x25\x00\x22\x00\x16\x00\xc6\x00\x1f\x00\x6c\x00\x21\x00\xd0\x00\x23\x00\x24\x00\x25\x00\x26\x00\x31\x00\x32\x00\x33\x00\x2a\x00\xb4\x00\x2c\x00\x27\x00\x45\x00\x46\x00\x47\x00\x17\x00\xc4\x00\xc5\x00\xa8\x00\x19\x00\x58\x00\x59\x00\x17\x00\x32\x00\x33\x00\xc4\x00\xc5\x00\x1f\x00\x22\x00\x21\x00\x0b\x00\x0c\x00\x28\x00\x22\x00\xd6\x00\x3f\x00\x40\x00\x41\x00\x2a\x00\x43\x00\x2c\x00\x45\x00\x46\x00\x47\x00\x79\x00\x17\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x3e\x00\x3f\x00\xc4\x00\xc5\x00\x66\x00\x43\x00\x22\x00\x45\x00\x46\x00\x47\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x8c\x00\xb6\x00\x8e\x00\xd6\x00\xc4\x00\xc5\x00\x30\x00\xc7\x00\xc8\x00\xc4\x00\xc5\x00\x61\x00\xc7\x00\xc8\x00\xc3\x00\xc4\x00\xc5\x00\xc4\x00\xc5\x00\x78\x00\xc7\x00\xc8\x00\xd6\x00\x17\x00\x0b\x00\x0c\x00\x22\x00\xd6\x00\x17\x00\x82\x00\x74\x00\x84\x00\x28\x00\x86\x00\x22\x00\xd6\x00\x89\x00\x8a\x00\x8b\x00\x22\x00\x6f\x00\x70\x00\x71\x00\x1f\x00\x91\x00\x21\x00\x19\x00\xd2\x00\x19\x00\x78\x00\xb9\x00\xc4\x00\xc5\x00\x29\x00\x2a\x00\x22\x00\x2c\x00\x22\x00\x64\x00\x82\x00\x91\x00\x84\x00\x93\x00\x86\x00\xc7\x00\xc8\x00\x89\x00\x8a\x00\x8b\x00\xd6\x00\x05\x00\x06\x00\xc4\x00\xc5\x00\x91\x00\xc7\x00\xc8\x00\x19\x00\xb3\x00\x50\x00\x51\x00\xb6\x00\xb7\x00\x54\x00\xb9\x00\x3f\x00\x22\x00\x16\x00\xb7\x00\x43\x00\xd6\x00\x45\x00\x46\x00\x47\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc8\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x22\x00\xd0\x00\xb3\x00\x1e\x00\x26\x00\xb6\x00\xb7\x00\x22\x00\xb9\x00\x2b\x00\x36\x00\xc4\x00\xc5\x00\xd6\x00\xc7\x00\xc8\x00\x05\x00\x06\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xd2\x00\x08\x00\x78\x00\x0a\x00\x1f\x00\xd6\x00\x21\x00\xd0\x00\xca\x00\x16\x00\xb6\x00\xcd\x00\x82\x00\x0f\x00\x84\x00\x2a\x00\x86\x00\x2c\x00\xd3\x00\x89\x00\x8a\x00\x8b\x00\x92\x00\xc3\x00\xc4\x00\xc5\x00\x1f\x00\x91\x00\x21\x00\x8c\x00\x25\x00\x8e\x00\x25\x00\x26\x00\x15\x00\x05\x00\x06\x00\x2a\x00\xc2\x00\x2c\x00\x0b\x00\x0c\x00\x31\x00\x32\x00\x33\x00\xc9\x00\xca\x00\x14\x00\x3e\x00\x3f\x00\xc4\x00\xc5\x00\x16\x00\x43\x00\xc8\x00\x45\x00\x46\x00\x47\x00\x1c\x00\xb1\x00\xb2\x00\xb3\x00\x0b\x00\x0c\x00\xb6\x00\xb7\x00\xd2\x00\xb9\x00\x3f\x00\xcb\x00\xd2\x00\xcd\x00\x43\x00\xcf\x00\x45\x00\x46\x00\x47\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x0b\x00\x0c\x00\x70\x00\x71\x00\x92\x00\xc4\x00\xc5\x00\xd0\x00\xc7\x00\xc8\x00\x78\x00\xc3\x00\xc4\x00\xc5\x00\xba\x00\xc7\x00\xc8\x00\xbd\x00\xcd\x00\xbf\x00\x82\x00\x4e\x00\x84\x00\xd6\x00\x86\x00\x3c\x00\x3d\x00\x89\x00\x8a\x00\x8b\x00\xca\x00\x66\x00\x78\x00\xcd\x00\x1f\x00\x91\x00\x21\x00\xc4\x00\xc5\x00\xb6\x00\x25\x00\x26\x00\x82\x00\x66\x00\x84\x00\x2a\x00\x86\x00\x2c\x00\xcd\x00\x89\x00\x8a\x00\x8b\x00\xc3\x00\xc4\x00\xc5\x00\x3e\x00\x3f\x00\x91\x00\x41\x00\xaf\x00\x43\x00\x01\x00\x45\x00\x46\x00\x47\x00\x1f\x00\xb6\x00\x21\x00\x8c\x00\xb3\x00\x8e\x00\xd1\x00\xb6\x00\xb7\x00\xd2\x00\xb9\x00\x2a\x00\x01\x00\x2c\x00\xc3\x00\xc4\x00\xc5\x00\x06\x00\x07\x00\x97\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\x50\x00\x51\x00\xb6\x00\xb7\x00\x08\x00\xb9\x00\xd0\x00\xc4\x00\xc5\x00\xb6\x00\xc7\x00\xc8\x00\xd2\x00\xae\x00\xaf\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb6\x00\xc3\x00\xc4\x00\xc5\x00\xd6\x00\xc4\x00\xc5\x00\xd0\x00\xc7\x00\xc8\x00\x78\x00\x5c\x00\x5d\x00\xc3\x00\xc4\x00\xc5\x00\x80\x00\x81\x00\x82\x00\x83\x00\x82\x00\xd2\x00\x84\x00\xd6\x00\x86\x00\x0b\x00\x0c\x00\x89\x00\x8a\x00\x8b\x00\x35\x00\x26\x00\xb4\x00\x6a\x00\x6b\x00\x91\x00\xb8\x00\x6a\x00\x6b\x00\xc4\x00\xc5\x00\x78\x00\xc7\x00\xc8\x00\x18\x00\x19\x00\x1a\x00\x37\x00\xc4\x00\xc5\x00\x6c\x00\x82\x00\xc8\x00\x84\x00\x2b\x00\x86\x00\x2d\x00\xd6\x00\x89\x00\x8a\x00\x8b\x00\x26\x00\x29\x00\xb7\x00\x2b\x00\x27\x00\x91\x00\x29\x00\xb6\x00\xb3\x00\x0b\x00\x0c\x00\xb6\x00\xb7\x00\xd2\x00\xb9\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc3\x00\xc4\x00\xc5\x00\xac\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc3\x00\xc4\x00\xc5\x00\xd6\x00\xc7\x00\xc8\x00\x27\x00\xd0\x00\x29\x00\xb3\x00\x0d\x00\x0e\x00\xb6\x00\xb7\x00\x27\x00\xb9\x00\x29\x00\x6c\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x95\x00\x96\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x27\x00\x82\x00\x29\x00\x84\x00\x27\x00\x86\x00\x29\x00\xd0\x00\x89\x00\x8a\x00\x8b\x00\xb6\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x91\x00\xd1\x00\x75\x00\x76\x00\x77\x00\x78\x00\x0b\x00\x0c\x00\xc3\x00\xc4\x00\xc5\x00\x45\x00\x46\x00\x47\x00\x48\x00\x82\x00\x6d\x00\x84\x00\x4c\x00\x86\x00\x03\x00\x04\x00\x89\x00\x8a\x00\x8b\x00\x3f\x00\x40\x00\x41\x00\x32\x00\x43\x00\x91\x00\x45\x00\x46\x00\x47\x00\xb3\x00\x0b\x00\x0c\x00\xb6\x00\xb7\x00\xd2\x00\xb9\x00\x94\x00\x95\x00\x96\x00\x79\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x7d\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x0b\x00\x0c\x00\x45\x00\x46\x00\x47\x00\x48\x00\x79\x00\xd0\x00\xb3\x00\x4c\x00\x66\x00\xb6\x00\xb7\x00\xd2\x00\xb9\x00\x3f\x00\x2d\x00\x2e\x00\x25\x00\x43\x00\x27\x00\x45\x00\x46\x00\x47\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x31\x00\x32\x00\x33\x00\x27\x00\x3f\x00\x29\x00\x41\x00\xd0\x00\x43\x00\x8c\x00\x45\x00\x46\x00\x47\x00\x2d\x00\x2e\x00\x4a\x00\x4b\x00\x0b\x00\x0c\x00\x3e\x00\x3f\x00\x94\x00\x95\x00\x96\x00\x43\x00\x97\x00\x45\x00\x46\x00\x47\x00\x06\x00\x07\x00\x3f\x00\xb4\x00\x41\x00\x31\x00\x43\x00\xb8\x00\x45\x00\x46\x00\x47\x00\x2d\x00\x2e\x00\x4a\x00\x4b\x00\x0b\x00\x0c\x00\x3e\x00\x3f\x00\xc4\x00\xc5\x00\x31\x00\x43\x00\xc8\x00\x45\x00\x46\x00\x47\x00\x34\x00\x35\x00\x3f\x00\xb7\x00\x41\x00\x27\x00\x43\x00\x29\x00\x45\x00\x46\x00\x47\x00\x49\x00\x4a\x00\x4a\x00\x4b\x00\xc2\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x72\x00\xc9\x00\xca\x00\xcb\x00\x3f\x00\xcd\x00\x41\x00\xcf\x00\x43\x00\x36\x00\x45\x00\x46\x00\x47\x00\xd6\x00\x52\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x42\x00\x43\x00\xd3\x00\x45\x00\x46\x00\x47\x00\x3f\x00\x27\x00\x41\x00\x29\x00\x43\x00\x36\x00\x45\x00\x46\x00\x47\x00\x03\x00\x04\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x36\x00\xc4\x00\xc5\x00\xd1\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x8c\x00\x43\x00\x62\x00\x45\x00\x46\x00\x47\x00\x20\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x50\x00\x51\x00\x4e\x00\x53\x00\x54\x00\xa6\x00\xa7\x00\xa8\x00\x27\x00\xb7\x00\x29\x00\xc4\x00\xc5\x00\xd6\x00\xc7\x00\xc8\x00\x8c\x00\xb6\x00\x01\x00\x65\x00\xb9\x00\x17\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x03\x00\x04\x00\xd6\x00\xc3\x00\xc4\x00\xc5\x00\x17\x00\xc7\x00\xc8\x00\xb7\x00\x8c\x00\xc4\x00\xc5\x00\xd6\x00\xc7\x00\xc8\x00\x43\x00\x17\x00\x45\x00\x46\x00\x47\x00\x16\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x22\x00\x27\x00\xd6\x00\x29\x00\x3f\x00\xb7\x00\x41\x00\x27\x00\x43\x00\x29\x00\x45\x00\x46\x00\x47\x00\xd6\x00\x16\x00\x29\x00\xc2\x00\x2b\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\x32\x00\xb7\x00\x0a\x00\x0b\x00\x0c\x00\xc4\x00\xc5\x00\x49\x00\xc7\x00\xc8\x00\x55\x00\xd6\x00\xc2\x00\x5b\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\x84\x00\xb7\x00\xd6\x00\x44\x00\x45\x00\x46\x00\x47\x00\x69\x00\x6a\x00\x6b\x00\x1d\x00\xd6\x00\x08\x00\x09\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x2b\x00\x41\x00\x2d\x00\x43\x00\x84\x00\x45\x00\x46\x00\x47\x00\x05\x00\x06\x00\x4a\x00\x4b\x00\xd6\x00\x4d\x00\x0a\x00\x0b\x00\x0c\x00\x29\x00\x3f\x00\x2b\x00\x41\x00\x25\x00\x43\x00\x1c\x00\x45\x00\x46\x00\x47\x00\x49\x00\x4a\x00\x4a\x00\x4b\x00\x49\x00\x4d\x00\x31\x00\x32\x00\x33\x00\x7d\x00\x7e\x00\x3f\x00\x67\x00\x41\x00\x28\x00\x43\x00\x1c\x00\x45\x00\x46\x00\x47\x00\x29\x00\x49\x00\x4a\x00\x4b\x00\x29\x00\xc4\x00\xc5\x00\x84\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x73\x00\x43\x00\x5b\x00\x45\x00\x46\x00\x47\x00\x17\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x0c\x00\x41\x00\x17\x00\x43\x00\x0f\x00\x45\x00\x46\x00\x47\x00\x17\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\x43\x00\x27\x00\x45\x00\x46\x00\x47\x00\x8c\x00\x3f\x00\x1c\x00\x41\x00\x29\x00\x43\x00\x1c\x00\x45\x00\x46\x00\x47\x00\x73\x00\x49\x00\x4a\x00\x4b\x00\x53\x00\x54\x00\xc4\x00\xc5\x00\x2b\x00\xc7\x00\xc8\x00\x3f\x00\x1d\x00\x41\x00\xb7\x00\x43\x00\x72\x00\x45\x00\x46\x00\x47\x00\x28\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\x05\x00\x06\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x32\x00\x43\x00\x32\x00\x45\x00\x46\x00\x47\x00\x17\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x17\x00\x1e\x00\xb7\x00\x5b\x00\x22\x00\x43\x00\x84\x00\x45\x00\x46\x00\x47\x00\x5b\x00\x5c\x00\x5d\x00\xd6\x00\x84\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x05\x00\x43\x00\x17\x00\x45\x00\x46\x00\x47\x00\x32\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x22\x00\x43\x00\x20\x00\x45\x00\x46\x00\x47\x00\x29\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x1e\x00\x28\x00\xb7\x00\x0c\x00\x16\x00\xc4\x00\xc5\x00\x22\x00\xc7\x00\xc8\x00\x69\x00\x6a\x00\x6b\x00\xd6\x00\x1c\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x17\x00\x84\x00\xb7\x00\xd6\x00\x44\x00\x45\x00\x46\x00\x47\x00\x69\x00\x6a\x00\x6b\x00\x74\x00\x73\x00\xd6\x00\x78\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x31\x00\x41\x00\xb7\x00\x43\x00\x1c\x00\x45\x00\x46\x00\x47\x00\x29\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\x84\x00\x1e\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x84\x00\x41\x00\x25\x00\x43\x00\x84\x00\x45\x00\x46\x00\x47\x00\x1e\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\x28\x00\xc4\x00\xc5\x00\x17\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x64\x00\x43\x00\x56\x00\x45\x00\x46\x00\x47\x00\x5f\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x84\x00\x43\x00\x1d\x00\x45\x00\x46\x00\x47\x00\x1d\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x30\x00\x41\x00\x17\x00\x43\x00\x5b\x00\x45\x00\x46\x00\x47\x00\x05\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\x7b\x00\x7c\x00\x7d\x00\x1d\x00\x22\x00\x3f\x00\x17\x00\x41\x00\x28\x00\x43\x00\x73\x00\x45\x00\x46\x00\x47\x00\x24\x00\x49\x00\x4a\x00\x4b\x00\x5b\x00\xc4\x00\xc5\x00\x24\x00\xc7\x00\xc8\x00\x3f\x00\x1d\x00\x41\x00\xb7\x00\x43\x00\x2d\x00\x45\x00\x46\x00\x47\x00\x22\x00\x2b\x00\x4a\x00\x4b\x00\xd6\x00\x2b\x00\x1d\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x2b\x00\x41\x00\xb7\x00\x43\x00\x2c\x00\x45\x00\x46\x00\x47\x00\x41\x00\x1c\x00\x4a\x00\x4b\x00\xd6\x00\x29\x00\x28\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x1d\x00\x22\x00\xb7\x00\x2d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x7b\x00\x7c\x00\x7d\x00\x64\x00\x22\x00\xd6\x00\x84\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x21\x00\x43\x00\x5d\x00\x45\x00\x46\x00\x47\x00\x29\x00\x0c\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x0f\x00\x43\x00\x0f\x00\x45\x00\x46\x00\x47\x00\x16\x00\x46\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x1e\x00\x43\x00\x27\x00\x45\x00\x46\x00\x47\x00\x4b\x00\x1e\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x1e\x00\x43\x00\x24\x00\x45\x00\x46\x00\x47\x00\x17\x00\x17\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x0f\x00\x41\x00\xb7\x00\x43\x00\x5f\x00\x45\x00\x46\x00\x47\x00\x28\x00\x0c\x00\x4a\x00\x4b\x00\xd6\x00\x21\x00\x28\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x84\x00\x41\x00\x29\x00\x43\x00\x1d\x00\x45\x00\x46\x00\x47\x00\x84\x00\x1d\x00\x4a\x00\x4b\x00\xd6\x00\x1c\x00\xc4\x00\xc5\x00\x1e\x00\xc7\x00\xc8\x00\x3f\x00\x1d\x00\x41\x00\xb7\x00\x43\x00\x22\x00\x45\x00\x46\x00\x47\x00\x2c\x00\x17\x00\x4a\x00\x4b\x00\xd6\x00\x2c\x00\x28\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x1d\x00\x43\x00\x73\x00\x45\x00\x46\x00\x47\x00\x17\x00\x73\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x1b\x00\x43\x00\x24\x00\x45\x00\x46\x00\x47\x00\x29\x00\x73\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x2b\x00\x43\x00\x5f\x00\x45\x00\x46\x00\x47\x00\x73\x00\x5b\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x22\x00\x43\x00\x22\x00\x45\x00\x46\x00\x47\x00\x94\x00\x95\x00\x96\x00\x24\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x94\x00\x95\x00\x96\x00\xb7\x00\x3b\x00\x3c\x00\x3d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x24\x00\x05\x00\xd6\x00\x1c\x00\x17\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x42\x00\x43\x00\xb7\x00\x45\x00\x46\x00\x47\x00\x50\x00\x51\x00\x52\x00\x4b\x00\x17\x00\x22\x00\x17\x00\xd6\x00\x21\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x17\x00\x42\x00\x43\x00\xb7\x00\x45\x00\x46\x00\x47\x00\x17\x00\x5e\x00\x5f\x00\x60\x00\x17\x00\x62\x00\xd6\x00\x17\x00\x17\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x17\x00\xb7\x00\x45\x00\x46\x00\x47\x00\x48\x00\x17\x00\x17\x00\x5e\x00\x5f\x00\x60\x00\x21\x00\x62\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x22\x00\xb7\x00\x2d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x17\x00\x41\x00\x44\x00\x45\x00\x46\x00\x47\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x2b\x00\xb7\x00\x41\x00\x44\x00\x45\x00\x46\x00\x47\x00\x41\x00\x21\x00\x44\x00\x45\x00\x46\x00\x47\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x61\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x27\x00\xb4\x00\x4b\x00\x2b\x00\x6d\x00\xb8\x00\x73\x00\x29\x00\xd6\x00\x28\x00\x20\x00\xc4\x00\xc5\x00\x22\x00\xc7\x00\xc8\x00\xb9\x00\xc4\x00\xc5\x00\x0f\x00\x17\x00\xc8\x00\x70\x00\x0c\x00\x64\x00\x2d\x00\x6b\x00\xc4\x00\xc5\x00\xd6\x00\xc7\x00\xc8\x00\x1d\x00\x09\x00\x84\x00\x0b\x00\x84\x00\xb9\x00\x0f\x00\x85\x00\x0f\x00\x0f\x00\x1d\x00\x0f\x00\x20\x00\xd6\x00\x1d\x00\x17\x00\xc4\x00\xc5\x00\x68\x00\xc7\x00\xc8\x00\x85\x00\x16\x00\x0c\x00\x5e\x00\x30\x00\x22\x00\x1d\x00\x28\x00\xbe\x00\x85\x00\x27\x00\x85\x00\xc2\x00\xd6\x00\xc4\x00\xc5\x00\x2d\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x46\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xd6\x00\xd7\x00\xd8\x00\xc4\x00\xc5\x00\xff\xff\xc7\x00\xc8\x00\xff\xff\xc4\x00\xc5\x00\xff\xff\xc7\x00\xc8\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\xd6\x00\xc4\x00\xc5\x00\xff\xff\xc7\x00\xc8\x00\xd6\x00\xc4\x00\xc5\x00\xff\xff\xc7\x00\xc8\x00\xb4\x00\x01\x00\x16\x00\x17\x00\xb8\x00\x05\x00\x06\x00\xd6\x00\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xd6\x00\xff\xff\xff\xff\xc4\x00\xc5\x00\x26\x00\xff\xff\xc8\x00\xff\xff\x16\x00\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x74\x00\xff\xff\x7a\x00\x61\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\x74\x00\x61\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\x01\x00\x18\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x74\x00\x5f\x00\x20\x00\x61\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x74\x00\xff\xff\x20\x00\xbb\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xc0\x00\xff\xff\xc2\x00\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc9\x00\xca\x00\xcb\x00\x32\x00\xcd\x00\xff\xff\xcf\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x01\x00\xff\xff\xff\xff\x61\x00\x05\x00\x06\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x08\x00\x09\x00\xff\xff\x01\x00\x16\x00\x74\x00\x18\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x32\x00\xff\xff\x74\x00\x24\x00\x25\x00\xbb\x00\xff\xff\x32\x00\xbe\x00\xff\xff\xc0\x00\xff\xff\xc2\x00\x7f\x00\x25\x00\xff\xff\x31\x00\x32\x00\x33\x00\xc9\x00\xca\x00\xcb\x00\x01\x00\xcd\x00\xff\xff\xcf\x00\x05\x00\x06\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x61\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x01\x00\xff\xff\xff\xff\x32\x00\xff\xff\x74\x00\x61\x00\xff\xff\xbb\x00\x7f\x00\xff\xff\xbe\x00\xff\xff\xc0\x00\x0f\x00\xc2\x00\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xc9\x00\xca\x00\xcb\x00\x74\x00\xcd\x00\xff\xff\xcf\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\x74\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x4f\x00\xff\xff\x7f\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x61\x00\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\xff\xff\x65\x00\x66\x00\x67\x00\x68\x00\xff\xff\x6a\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\x7d\x00\x7e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\xff\xff\x65\x00\x66\x00\x67\x00\x68\x00\xff\xff\x6a\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\x7d\x00\x7e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\x65\x00\x66\x00\x67\x00\x68\x00\xff\xff\x6a\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\x7d\x00\x7e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\x16\x00\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\x4f\x00\xff\xff\x2a\x00\xff\xff\x53\x00\x54\x00\x55\x00\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\x61\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x57\x00\x03\x00\x04\x00\x05\x00\x06\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\x16\x00\xff\xff\x18\x00\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\x20\x00\x21\x00\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\x61\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\x01\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x16\x00\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x25\x00\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\x74\x00\xff\xff\xff\xff\x01\x00\x02\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x16\x00\xff\xff\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x26\x00\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x01\x00\x46\x00\xff\xff\x48\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\x16\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x61\x00\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\x16\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x6a\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x26\x00\x71\x00\xff\xff\xff\xff\x74\x00\x75\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x74\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\x16\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x6a\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\x74\x00\x75\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\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\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\x28\x00\x29\x00\xff\xff\x2b\x00\x01\x00\xff\xff\xff\xff\x2f\x00\x05\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x16\x00\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x01\x00\x42\x00\x43\x00\x44\x00\x05\x00\x46\x00\xff\xff\x48\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6a\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x07\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\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\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x91\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x07\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xb3\x00\x48\x00\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xd0\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\x74\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\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\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x91\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x07\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xb3\x00\x48\x00\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xd0\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\x74\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\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\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x91\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x07\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xb3\x00\x48\x00\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xd0\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\x01\x00\xff\xff\xff\xff\x74\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\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\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x74\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\x61\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x74\x00\x20\x00\x05\x00\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\x2d\x00\x27\x00\x28\x00\xff\xff\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\x31\x00\x32\x00\x33\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\xff\xff\x0b\x00\x26\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x20\x00\x61\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\x5f\x00\xff\xff\x61\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\x74\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x61\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x01\x00\x74\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x20\x00\x61\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x16\x00\x2f\x00\x18\x00\x19\x00\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\x17\x00\x18\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x5f\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x5f\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x5f\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x5f\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x5f\x00\x20\x00\x61\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\x24\x00\x25\x00\xff\xff\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x22\x00\xff\xff\x31\x00\x32\x00\x33\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x74\x00\xff\xff\x5e\x00\xff\xff\xff\xff\x61\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\x68\x00\xff\xff\xff\xff\x16\x00\x01\x00\x18\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x74\x00\x20\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x24\x00\x25\x00\x16\x00\x27\x00\x18\x00\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x20\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x61\x00\x05\x00\x06\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x74\x00\x18\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x74\x00\x01\x00\x02\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x61\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x74\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\x01\x00\xff\xff\xff\xff\x61\x00\x05\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x61\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\xff\xff\xff\xff\xff\xff\x16\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x16\x00\xff\xff\xff\xff\x05\x00\x61\x00\xff\xff\x01\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x61\x00\x16\x00\x01\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x74\x00\xff\xff\xff\xff\x61\x00\x16\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x61\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\x61\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x74\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x61\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\x91\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xff\xff\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\xff\xff\x27\x00\x28\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x9e\x00\x9f\x00\xff\xff\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\x9e\x00\x9f\x00\xff\xff\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa0\x00\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa9\x00\xff\xff\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa9\x00\xff\xff\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa0\x00\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa0\x00\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa9\x00\xff\xff\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa9\x00\xff\xff\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\xff\xff\xff\xff\x90\x00\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\x8d\x00\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9a\x00\x9b\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\x8d\x00\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xff\xff\xcc\x00\xff\xff\xce\x00\xcf\x00\xd0\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xff\xff\xcc\x00\xff\xff\xce\x00\xcf\x00\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\x8d\x00\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\x8d\x00\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xff\xff\xcc\x00\xff\xff\xce\x00\xcf\x00\xd0\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xff\xff\xcc\x00\xff\xff\xce\x00\xcf\x00\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\x8d\x00\xff\xff\xff\xff\xff\xff\x91\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\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xff\xff\xcc\x00\xff\xff\xce\x00\xcf\x00\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xff\xff\x91\x00\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xd0\x00\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xd0\x00\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\x84\x00\xff\xff\x86\x00\xff\xff\xd0\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\x88\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\x98\x00\x99\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\x98\x00\x99\x00\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xb3\x00\xff\xff\xd0\x00\xb6\x00\xb7\x00\x91\x00\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xd0\x00\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xd0\x00\xb6\x00\xb7\x00\xff\xff\xb9\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xb3\x00\xff\xff\xd0\x00\xb6\x00\xb7\x00\x91\x00\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xd0\x00\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xd0\x00\xb6\x00\xb7\x00\xff\xff\xb9\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xd0\x00\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\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"#
+happyCheck = HappyA# "\xff\xff\x00\x00\x09\x00\x02\x00\x02\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x2b\x00\x05\x00\x05\x00\x0f\x00\x2f\x00\x22\x00\x0b\x00\x0c\x00\x68\x00\x2b\x00\x22\x00\x0b\x00\x0c\x00\x2f\x00\x66\x00\x1b\x00\x1c\x00\x2b\x00\xa2\x00\x1d\x00\x1e\x00\x2f\x00\x0f\x00\x2b\x00\x33\x00\x59\x00\x11\x00\x2f\x00\x0b\x00\x0c\x00\x1c\x00\x55\x00\x56\x00\x0b\x00\x0c\x00\x28\x00\xd3\x00\x55\x00\x56\x00\x0b\x00\x0c\x00\x55\x00\x56\x00\xaa\x00\x0b\x00\x0c\x00\x8c\x00\xaa\x00\x1c\x00\xaa\x00\x0b\x00\x0c\x00\x1c\x00\x4d\x00\x1c\x00\x1c\x00\x0b\x00\x0c\x00\x16\x00\x5a\x00\x1d\x00\x1e\x00\x28\x00\x0b\x00\x0c\x00\xd1\x00\x0c\x00\x1a\x00\x09\x00\x33\x00\x0b\x00\x00\x00\x38\x00\x39\x00\x22\x00\x28\x00\x29\x00\x6c\x00\x46\x00\xbd\x00\x48\x00\x1c\x00\xd1\x00\x09\x00\x22\x00\x56\x00\xd1\x00\x2e\x00\xd1\x00\x4f\x00\x1e\x00\x29\x00\xca\x00\x17\x00\x38\x00\x39\x00\x22\x00\x39\x00\x27\x00\x3a\x00\xc2\x00\x2f\x00\x1f\x00\xc7\x00\xc8\x00\x12\x00\x13\x00\xc9\x00\xca\x00\x63\x00\x24\x00\x0b\x00\x0c\x00\x72\x00\x1c\x00\x6b\x00\x1c\x00\x66\x00\x1f\x00\x39\x00\x21\x00\xb9\x00\x23\x00\x24\x00\x25\x00\x26\x00\xb5\x00\x17\x00\x13\x00\x2a\x00\x30\x00\x2c\x00\x57\x00\x61\x00\x84\x00\xc7\x00\xc8\x00\x6c\x00\x22\x00\x57\x00\x1f\x00\xc4\x00\x21\x00\x73\x00\x23\x00\x24\x00\x25\x00\x26\x00\x73\x00\x6e\x00\x73\x00\x2a\x00\x84\x00\x2c\x00\xb5\x00\xd1\x00\x84\x00\xba\x00\x84\x00\x84\x00\xbd\x00\xd1\x00\xbf\x00\xa3\x00\xb6\x00\xd1\x00\xd1\x00\xb9\x00\xb4\x00\xc4\x00\xb4\x00\xb0\x00\xb8\x00\xca\x00\xb8\x00\xd1\x00\xcd\x00\xc3\x00\xc4\x00\xc5\x00\xa3\x00\xc7\x00\xc8\x00\xd1\x00\xc4\x00\xc5\x00\xc4\x00\xc5\x00\xc8\x00\xd1\x00\xc8\x00\xb6\x00\x6c\x00\xd1\x00\xb9\x00\xd5\x00\xc8\x00\xc8\x00\xb0\x00\xb5\x00\xd4\x00\xd1\x00\xd1\x00\xd1\x00\xc3\x00\xc4\x00\xc5\x00\x78\x00\xc7\x00\xc8\x00\x6e\x00\xb4\x00\xc4\x00\xc5\x00\xc4\x00\xb8\x00\x4f\x00\x82\x00\x84\x00\x84\x00\x84\x00\x86\x00\xd5\x00\x26\x00\x89\x00\x8a\x00\x8b\x00\xc4\x00\xc5\x00\x78\x00\x2d\x00\xc8\x00\x91\x00\xb4\x00\xc4\x00\xc5\x00\x19\x00\xb8\x00\x1e\x00\x82\x00\xb4\x00\x84\x00\x22\x00\x86\x00\xb8\x00\x22\x00\x89\x00\x8a\x00\x8b\x00\xc4\x00\xc5\x00\x30\x00\x22\x00\xc8\x00\x91\x00\x3f\x00\xc4\x00\xc5\x00\x28\x00\x43\x00\xc8\x00\x45\x00\x46\x00\x47\x00\xb6\x00\xd4\x00\xb3\x00\x46\x00\x47\x00\xb6\x00\xb7\x00\x5a\x00\xb9\x00\x44\x00\x45\x00\x46\x00\x47\x00\xc3\x00\xc4\x00\xc5\x00\xd3\x00\x08\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\x6c\x00\x22\x00\xb6\x00\xb7\x00\xb2\x00\xb9\x00\xd0\x00\x16\x00\x5a\x00\xb7\x00\x01\x00\x17\x00\x2d\x00\x63\x00\x64\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x25\x00\x22\x00\x16\x00\xc6\x00\x1f\x00\x6c\x00\x21\x00\xd0\x00\x23\x00\x24\x00\x25\x00\x26\x00\x31\x00\x32\x00\x33\x00\x2a\x00\xb4\x00\x2c\x00\x27\x00\x45\x00\x46\x00\x47\x00\x17\x00\xc4\x00\xc5\x00\xa8\x00\x19\x00\x58\x00\x59\x00\x17\x00\x32\x00\x33\x00\xc4\x00\xc5\x00\x1f\x00\x22\x00\x21\x00\x0b\x00\x0c\x00\x28\x00\x22\x00\xd6\x00\x3f\x00\x40\x00\x41\x00\x2a\x00\x43\x00\x2c\x00\x45\x00\x46\x00\x47\x00\x79\x00\x17\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x3e\x00\x3f\x00\xc4\x00\xc5\x00\x66\x00\x43\x00\x22\x00\x45\x00\x46\x00\x47\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x8c\x00\xb6\x00\x8e\x00\xd6\x00\xc4\x00\xc5\x00\x30\x00\xc7\x00\xc8\x00\xc4\x00\xc5\x00\x61\x00\xc7\x00\xc8\x00\xc3\x00\xc4\x00\xc5\x00\xc4\x00\xc5\x00\x78\x00\xc7\x00\xc8\x00\xd6\x00\x17\x00\x0b\x00\x0c\x00\x22\x00\xd6\x00\x17\x00\x82\x00\x74\x00\x84\x00\x28\x00\x86\x00\x22\x00\xd6\x00\x89\x00\x8a\x00\x8b\x00\x22\x00\x6f\x00\x70\x00\x71\x00\x1f\x00\x91\x00\x21\x00\x19\x00\xd2\x00\x19\x00\x78\x00\xb9\x00\xc4\x00\xc5\x00\x29\x00\x2a\x00\x22\x00\x2c\x00\x22\x00\x64\x00\x82\x00\x91\x00\x84\x00\x93\x00\x86\x00\xc7\x00\xc8\x00\x89\x00\x8a\x00\x8b\x00\xd6\x00\x05\x00\x06\x00\xc4\x00\xc5\x00\x91\x00\xc7\x00\xc8\x00\x19\x00\xb3\x00\x50\x00\x51\x00\xb6\x00\xb7\x00\x54\x00\xb9\x00\x3f\x00\x22\x00\x16\x00\xb7\x00\x43\x00\xd6\x00\x45\x00\x46\x00\x47\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc8\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x22\x00\xd0\x00\xb3\x00\x1e\x00\x26\x00\xb6\x00\xb7\x00\x22\x00\xb9\x00\x2b\x00\x36\x00\xc4\x00\xc5\x00\xd6\x00\xc7\x00\xc8\x00\x05\x00\x06\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xd2\x00\x08\x00\x78\x00\x0a\x00\x1f\x00\xd6\x00\x21\x00\xd0\x00\xca\x00\x16\x00\xb6\x00\xcd\x00\x82\x00\x0f\x00\x84\x00\x2a\x00\x86\x00\x2c\x00\xd3\x00\x89\x00\x8a\x00\x8b\x00\x92\x00\xc3\x00\xc4\x00\xc5\x00\x1f\x00\x91\x00\x21\x00\x8c\x00\x25\x00\x8e\x00\x25\x00\x26\x00\x15\x00\x05\x00\x06\x00\x2a\x00\xc2\x00\x2c\x00\x0b\x00\x0c\x00\x31\x00\x32\x00\x33\x00\xc9\x00\xca\x00\x14\x00\x3e\x00\x3f\x00\xc4\x00\xc5\x00\x16\x00\x43\x00\xc8\x00\x45\x00\x46\x00\x47\x00\x1c\x00\xb1\x00\xb2\x00\xb3\x00\x0b\x00\x0c\x00\xb6\x00\xb7\x00\xd2\x00\xb9\x00\x3f\x00\xcb\x00\xd2\x00\xcd\x00\x43\x00\xcf\x00\x45\x00\x46\x00\x47\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x0b\x00\x0c\x00\x70\x00\x71\x00\x92\x00\xc4\x00\xc5\x00\xd0\x00\xc7\x00\xc8\x00\x78\x00\xc3\x00\xc4\x00\xc5\x00\xba\x00\xc7\x00\xc8\x00\xbd\x00\xcd\x00\xbf\x00\x82\x00\x4e\x00\x84\x00\xd6\x00\x86\x00\x3c\x00\x3d\x00\x89\x00\x8a\x00\x8b\x00\xca\x00\x66\x00\x78\x00\xcd\x00\x1f\x00\x91\x00\x21\x00\xc4\x00\xc5\x00\xb6\x00\x25\x00\x26\x00\x82\x00\x66\x00\x84\x00\x2a\x00\x86\x00\x2c\x00\xcd\x00\x89\x00\x8a\x00\x8b\x00\xc3\x00\xc4\x00\xc5\x00\x3e\x00\x3f\x00\x91\x00\x41\x00\xaf\x00\x43\x00\x01\x00\x45\x00\x46\x00\x47\x00\x1f\x00\xb6\x00\x21\x00\x8c\x00\xb3\x00\x8e\x00\xd1\x00\xb6\x00\xb7\x00\xd2\x00\xb9\x00\x2a\x00\x01\x00\x2c\x00\xc3\x00\xc4\x00\xc5\x00\x06\x00\x07\x00\x97\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\x50\x00\x51\x00\xb6\x00\xb7\x00\x08\x00\xb9\x00\xd0\x00\xc4\x00\xc5\x00\xb6\x00\xc7\x00\xc8\x00\xd2\x00\xae\x00\xaf\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb6\x00\xc3\x00\xc4\x00\xc5\x00\xd6\x00\xc4\x00\xc5\x00\xd0\x00\xc7\x00\xc8\x00\x78\x00\x5c\x00\x5d\x00\xc3\x00\xc4\x00\xc5\x00\x80\x00\x81\x00\x82\x00\x83\x00\x82\x00\xd2\x00\x84\x00\xd6\x00\x86\x00\x0b\x00\x0c\x00\x89\x00\x8a\x00\x8b\x00\x35\x00\x26\x00\xb4\x00\x6a\x00\x6b\x00\x91\x00\xb8\x00\x6a\x00\x6b\x00\xc4\x00\xc5\x00\x78\x00\xc7\x00\xc8\x00\x18\x00\x19\x00\x1a\x00\x37\x00\xc4\x00\xc5\x00\x6c\x00\x82\x00\xc8\x00\x84\x00\x2b\x00\x86\x00\x2d\x00\xd6\x00\x89\x00\x8a\x00\x8b\x00\x26\x00\x29\x00\xb7\x00\x2b\x00\x27\x00\x91\x00\x29\x00\xb6\x00\xb3\x00\x0b\x00\x0c\x00\xb6\x00\xb7\x00\xd2\x00\xb9\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc3\x00\xc4\x00\xc5\x00\xac\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc3\x00\xc4\x00\xc5\x00\xd6\x00\xc7\x00\xc8\x00\x27\x00\xd0\x00\x29\x00\xb3\x00\x0d\x00\x0e\x00\xb6\x00\xb7\x00\x27\x00\xb9\x00\x29\x00\x6c\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x95\x00\x96\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x27\x00\x82\x00\x29\x00\x84\x00\x27\x00\x86\x00\x29\x00\xd0\x00\x89\x00\x8a\x00\x8b\x00\xb6\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x91\x00\xd1\x00\x75\x00\x76\x00\x77\x00\x78\x00\x0b\x00\x0c\x00\xc3\x00\xc4\x00\xc5\x00\x45\x00\x46\x00\x47\x00\x48\x00\x82\x00\x6d\x00\x84\x00\x4c\x00\x86\x00\x03\x00\x04\x00\x89\x00\x8a\x00\x8b\x00\x3f\x00\x40\x00\x41\x00\x32\x00\x43\x00\x91\x00\x45\x00\x46\x00\x47\x00\xb3\x00\x0b\x00\x0c\x00\xb6\x00\xb7\x00\xd2\x00\xb9\x00\x94\x00\x95\x00\x96\x00\x79\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x7d\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x0b\x00\x0c\x00\x45\x00\x46\x00\x47\x00\x48\x00\x79\x00\xd0\x00\xb3\x00\x4c\x00\x66\x00\xb6\x00\xb7\x00\xd2\x00\xb9\x00\x3f\x00\x2d\x00\x2e\x00\x25\x00\x43\x00\x27\x00\x45\x00\x46\x00\x47\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x31\x00\x32\x00\x33\x00\x27\x00\x3f\x00\x29\x00\x41\x00\xd0\x00\x43\x00\x8c\x00\x45\x00\x46\x00\x47\x00\x2d\x00\x2e\x00\x4a\x00\x4b\x00\x0b\x00\x0c\x00\x3e\x00\x3f\x00\x94\x00\x95\x00\x96\x00\x43\x00\x97\x00\x45\x00\x46\x00\x47\x00\x06\x00\x07\x00\x3f\x00\xb4\x00\x41\x00\x31\x00\x43\x00\xb8\x00\x45\x00\x46\x00\x47\x00\x2d\x00\x2e\x00\x4a\x00\x4b\x00\x0b\x00\x0c\x00\x3e\x00\x3f\x00\xc4\x00\xc5\x00\x31\x00\x43\x00\xc8\x00\x45\x00\x46\x00\x47\x00\x34\x00\x35\x00\x3f\x00\xb7\x00\x41\x00\x27\x00\x43\x00\x29\x00\x45\x00\x46\x00\x47\x00\x49\x00\x4a\x00\x4a\x00\x4b\x00\xc2\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x72\x00\xc9\x00\xca\x00\xcb\x00\x3f\x00\xcd\x00\x41\x00\xcf\x00\x43\x00\x36\x00\x45\x00\x46\x00\x47\x00\xd6\x00\x52\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x42\x00\x43\x00\xd3\x00\x45\x00\x46\x00\x47\x00\x3f\x00\x27\x00\x41\x00\x29\x00\x43\x00\x36\x00\x45\x00\x46\x00\x47\x00\x03\x00\x04\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x36\x00\xc4\x00\xc5\x00\xd1\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x8c\x00\x43\x00\x62\x00\x45\x00\x46\x00\x47\x00\x20\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x50\x00\x51\x00\x4e\x00\x53\x00\x54\x00\xa6\x00\xa7\x00\xa8\x00\x27\x00\xb7\x00\x29\x00\xc4\x00\xc5\x00\xd6\x00\xc7\x00\xc8\x00\x8c\x00\xb6\x00\x01\x00\x65\x00\xb9\x00\x17\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x03\x00\x04\x00\xd6\x00\xc3\x00\xc4\x00\xc5\x00\x17\x00\xc7\x00\xc8\x00\xb7\x00\x8c\x00\xc4\x00\xc5\x00\xd6\x00\xc7\x00\xc8\x00\x43\x00\x17\x00\x45\x00\x46\x00\x47\x00\x16\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x22\x00\x27\x00\xd6\x00\x29\x00\x3f\x00\xb7\x00\x41\x00\x27\x00\x43\x00\x29\x00\x45\x00\x46\x00\x47\x00\xd6\x00\x16\x00\x29\x00\xc2\x00\x2b\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\x32\x00\xb7\x00\x0a\x00\x0b\x00\x0c\x00\xc4\x00\xc5\x00\x49\x00\xc7\x00\xc8\x00\x55\x00\xd6\x00\xc2\x00\x5b\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\x84\x00\xb7\x00\xd6\x00\x44\x00\x45\x00\x46\x00\x47\x00\x69\x00\x6a\x00\x6b\x00\x1d\x00\xd6\x00\x08\x00\x09\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x2b\x00\x41\x00\x2d\x00\x43\x00\x84\x00\x45\x00\x46\x00\x47\x00\x05\x00\x06\x00\x4a\x00\x4b\x00\xd6\x00\x4d\x00\x0a\x00\x0b\x00\x0c\x00\x29\x00\x3f\x00\x2b\x00\x41\x00\x25\x00\x43\x00\x1c\x00\x45\x00\x46\x00\x47\x00\x49\x00\x4a\x00\x4a\x00\x4b\x00\x49\x00\x4d\x00\x31\x00\x32\x00\x33\x00\x7d\x00\x7e\x00\x3f\x00\x67\x00\x41\x00\x28\x00\x43\x00\x1c\x00\x45\x00\x46\x00\x47\x00\x29\x00\x49\x00\x4a\x00\x4b\x00\x29\x00\xc4\x00\xc5\x00\x84\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x73\x00\x43\x00\x5b\x00\x45\x00\x46\x00\x47\x00\x17\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x0c\x00\x41\x00\x17\x00\x43\x00\x0f\x00\x45\x00\x46\x00\x47\x00\x17\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\x43\x00\x27\x00\x45\x00\x46\x00\x47\x00\x8c\x00\x3f\x00\x1c\x00\x41\x00\x29\x00\x43\x00\x1c\x00\x45\x00\x46\x00\x47\x00\x73\x00\x49\x00\x4a\x00\x4b\x00\x53\x00\x54\x00\xc4\x00\xc5\x00\x2b\x00\xc7\x00\xc8\x00\x3f\x00\x1d\x00\x41\x00\xb7\x00\x43\x00\x72\x00\x45\x00\x46\x00\x47\x00\x28\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\x05\x00\x06\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x32\x00\x43\x00\x32\x00\x45\x00\x46\x00\x47\x00\x17\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x17\x00\x1e\x00\xb7\x00\x5b\x00\x22\x00\x43\x00\x84\x00\x45\x00\x46\x00\x47\x00\x5b\x00\x5c\x00\x5d\x00\xd6\x00\x84\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x05\x00\x43\x00\x17\x00\x45\x00\x46\x00\x47\x00\x32\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x22\x00\x43\x00\x20\x00\x45\x00\x46\x00\x47\x00\x29\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x1e\x00\x28\x00\xb7\x00\x0c\x00\x16\x00\xc4\x00\xc5\x00\x22\x00\xc7\x00\xc8\x00\x69\x00\x6a\x00\x6b\x00\xd6\x00\x1c\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x17\x00\x84\x00\xb7\x00\xd6\x00\x44\x00\x45\x00\x46\x00\x47\x00\x69\x00\x6a\x00\x6b\x00\x74\x00\x73\x00\xd6\x00\x78\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x31\x00\x41\x00\xb7\x00\x43\x00\x1c\x00\x45\x00\x46\x00\x47\x00\x29\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\x84\x00\x1e\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x84\x00\x41\x00\x25\x00\x43\x00\x84\x00\x45\x00\x46\x00\x47\x00\x1e\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\x28\x00\xc4\x00\xc5\x00\x17\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x64\x00\x43\x00\x56\x00\x45\x00\x46\x00\x47\x00\x5f\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x84\x00\x43\x00\x1d\x00\x45\x00\x46\x00\x47\x00\x1d\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x17\x00\x41\x00\x5b\x00\x43\x00\x1d\x00\x45\x00\x46\x00\x47\x00\x05\x00\x49\x00\x4a\x00\x4b\x00\xd6\x00\x7b\x00\x7c\x00\x7d\x00\x22\x00\x17\x00\x3f\x00\x28\x00\x41\x00\x24\x00\x43\x00\x24\x00\x45\x00\x46\x00\x47\x00\x73\x00\x49\x00\x4a\x00\x4b\x00\x5b\x00\xc4\x00\xc5\x00\x1d\x00\xc7\x00\xc8\x00\x3f\x00\x2d\x00\x41\x00\xb7\x00\x43\x00\x2b\x00\x45\x00\x46\x00\x47\x00\x22\x00\x2b\x00\x4a\x00\x4b\x00\xd6\x00\x2b\x00\x1d\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x1c\x00\x41\x00\xb7\x00\x43\x00\x2c\x00\x45\x00\x46\x00\x47\x00\x41\x00\x29\x00\x4a\x00\x4b\x00\xd6\x00\x28\x00\x1d\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x22\x00\x2d\x00\xb7\x00\x22\x00\x44\x00\x45\x00\x46\x00\x47\x00\x7b\x00\x7c\x00\x7d\x00\x64\x00\x84\x00\xd6\x00\x21\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x5d\x00\x43\x00\x29\x00\x45\x00\x46\x00\x47\x00\x0c\x00\x0f\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x0f\x00\x43\x00\x16\x00\x45\x00\x46\x00\x47\x00\x46\x00\x1e\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x4b\x00\x43\x00\x27\x00\x45\x00\x46\x00\x47\x00\x1e\x00\x1e\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x24\x00\x43\x00\x17\x00\x45\x00\x46\x00\x47\x00\x17\x00\x0f\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x5f\x00\x41\x00\xb7\x00\x43\x00\x28\x00\x45\x00\x46\x00\x47\x00\x0c\x00\x21\x00\x4a\x00\x4b\x00\xd6\x00\x28\x00\x84\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\x29\x00\x41\x00\x84\x00\x43\x00\x1c\x00\x45\x00\x46\x00\x47\x00\x1d\x00\x1d\x00\x4a\x00\x4b\x00\xd6\x00\x1e\x00\xc4\x00\xc5\x00\x2c\x00\xc7\x00\xc8\x00\x3f\x00\x1d\x00\x41\x00\xb7\x00\x43\x00\x22\x00\x45\x00\x46\x00\x47\x00\x2c\x00\x17\x00\x4a\x00\x4b\x00\xd6\x00\x28\x00\x1d\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x73\x00\x43\x00\x17\x00\x45\x00\x46\x00\x47\x00\x73\x00\x24\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x1b\x00\x43\x00\x29\x00\x45\x00\x46\x00\x47\x00\x2b\x00\x5f\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x73\x00\x43\x00\x5b\x00\x45\x00\x46\x00\x47\x00\x22\x00\x73\x00\x4a\x00\x4b\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x3f\x00\xb7\x00\x41\x00\x24\x00\x43\x00\x24\x00\x45\x00\x46\x00\x47\x00\x94\x00\x95\x00\x96\x00\x22\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x94\x00\x95\x00\x96\x00\xb7\x00\x3b\x00\x3c\x00\x3d\x00\x44\x00\x45\x00\x46\x00\x47\x00\x05\x00\x1c\x00\xd6\x00\x17\x00\x17\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x42\x00\x43\x00\xb7\x00\x45\x00\x46\x00\x47\x00\x50\x00\x51\x00\x52\x00\x4b\x00\x22\x00\x17\x00\x21\x00\xd6\x00\x17\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x17\x00\x42\x00\x43\x00\xb7\x00\x45\x00\x46\x00\x47\x00\x17\x00\x5e\x00\x5f\x00\x60\x00\x17\x00\x62\x00\xd6\x00\x17\x00\x17\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x17\x00\xb7\x00\x45\x00\x46\x00\x47\x00\x48\x00\x17\x00\x21\x00\x5e\x00\x5f\x00\x60\x00\x2d\x00\x62\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x22\x00\xb7\x00\x2b\x00\x44\x00\x45\x00\x46\x00\x47\x00\x17\x00\x41\x00\x44\x00\x45\x00\x46\x00\x47\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x21\x00\xb7\x00\x41\x00\x44\x00\x45\x00\x46\x00\x47\x00\x41\x00\x27\x00\x44\x00\x45\x00\x46\x00\x47\x00\xd6\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x61\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x4b\x00\xb4\x00\x6d\x00\x2b\x00\x73\x00\xb8\x00\x29\x00\x28\x00\xd6\x00\x20\x00\x22\x00\xc4\x00\xc5\x00\x0f\x00\xc7\x00\xc8\x00\xb9\x00\xc4\x00\xc5\x00\x17\x00\x64\x00\xc8\x00\x70\x00\x2d\x00\x0c\x00\x0f\x00\x6b\x00\xc4\x00\xc5\x00\xd6\x00\xc7\x00\xc8\x00\x1d\x00\x09\x00\x84\x00\x0b\x00\x85\x00\xb9\x00\x84\x00\x20\x00\x0f\x00\x0f\x00\x1d\x00\x0f\x00\x1d\x00\xd6\x00\x68\x00\x17\x00\xc4\x00\xc5\x00\x5e\x00\xc7\x00\xc8\x00\x16\x00\x0c\x00\x85\x00\x1d\x00\x85\x00\x22\x00\x28\x00\x85\x00\xbe\x00\x00\x00\x27\x00\x46\x00\xc2\x00\xd6\x00\xc4\x00\xc5\x00\x2d\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xd6\x00\xd7\x00\xd8\x00\xc4\x00\xc5\x00\xff\xff\xc7\x00\xc8\x00\xff\xff\xc4\x00\xc5\x00\xff\xff\xc7\x00\xc8\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\xd6\x00\xc4\x00\xc5\x00\xff\xff\xc7\x00\xc8\x00\xd6\x00\xc4\x00\xc5\x00\xff\xff\xc7\x00\xc8\x00\xb4\x00\x01\x00\x16\x00\x17\x00\xb8\x00\x05\x00\x06\x00\xd6\x00\xff\xff\x09\x00\xff\xff\xff\xff\xff\xff\xd6\x00\xff\xff\xff\xff\xc4\x00\xc5\x00\x26\x00\xff\xff\xc8\x00\xff\xff\x16\x00\x01\x00\x18\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x74\x00\xff\xff\xff\xff\x61\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\x74\x00\x61\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\x01\x00\x18\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x74\x00\x5f\x00\x20\x00\x61\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\x01\x00\xff\xff\x32\x00\xff\xff\x74\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x01\x00\xff\xff\xff\xff\x61\x00\x05\x00\x06\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x08\x00\x09\x00\xff\xff\x7a\x00\x16\x00\x74\x00\x18\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x4f\x00\x7f\x00\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x74\x00\x24\x00\x25\x00\xff\xff\xff\xff\x32\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xbb\x00\xff\xff\xff\xff\xbe\x00\x61\x00\xc0\x00\xff\xff\xc2\x00\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xc9\x00\xca\x00\xcb\x00\xff\xff\xcd\x00\xff\xff\xcf\x00\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xbb\x00\xff\xff\x1c\x00\xbe\x00\xff\xff\xc0\x00\x20\x00\xc2\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc9\x00\xca\x00\xcb\x00\xff\xff\xcd\x00\xff\xff\xcf\x00\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\xff\xff\x65\x00\x66\x00\x67\x00\x68\x00\xff\xff\x6a\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\x7d\x00\x7e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xbb\x00\x18\x00\xff\xff\xbe\x00\xff\xff\xc0\x00\xff\xff\xc2\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xc9\x00\xca\x00\xcb\x00\xff\xff\xcd\x00\xff\xff\xcf\x00\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x63\x00\xff\xff\x65\x00\x66\x00\x67\x00\x68\x00\xff\xff\x6a\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\x7d\x00\x7e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\x65\x00\x66\x00\x67\x00\x68\x00\xff\xff\x6a\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\x7d\x00\x7e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\x16\x00\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\x4f\x00\xff\xff\x2a\x00\xff\xff\x53\x00\x54\x00\x55\x00\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\x61\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x57\x00\x03\x00\x04\x00\x05\x00\x06\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x6a\x00\x16\x00\xff\xff\x18\x00\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\x20\x00\x21\x00\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\x61\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\x01\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x16\x00\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x25\x00\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\x74\x00\xff\xff\xff\xff\x01\x00\x02\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x16\x00\xff\xff\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x26\x00\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x01\x00\x46\x00\xff\xff\x48\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\x16\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\x25\x00\x6a\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x61\x00\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x74\x00\x75\x00\x76\x00\x77\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\x16\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x6a\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\x26\x00\x71\x00\xff\xff\xff\xff\x74\x00\x75\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x74\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\xff\xff\x59\x00\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\x16\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x6a\x00\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\xff\xff\x74\x00\x75\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\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\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\x28\x00\x29\x00\xff\xff\x2b\x00\x01\x00\xff\xff\xff\xff\x2f\x00\x05\x00\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x16\x00\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x01\x00\x42\x00\x43\x00\x44\x00\x05\x00\x46\x00\xff\xff\x48\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\x57\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6a\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x07\x00\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\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\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x91\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x07\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xb3\x00\x48\x00\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xd0\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\x74\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\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\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x91\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x07\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xb3\x00\x48\x00\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xd0\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\x74\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\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\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x91\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x07\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xb3\x00\x48\x00\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\xd0\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\x01\x00\xff\xff\xff\xff\x74\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\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\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x74\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\x61\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x74\x00\x20\x00\x05\x00\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\x2d\x00\x27\x00\x28\x00\xff\xff\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\x31\x00\x32\x00\x33\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\xff\xff\x0b\x00\x26\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x20\x00\x61\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\x5f\x00\xff\xff\x61\x00\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\xff\xff\xff\xff\xff\xff\x74\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x61\x00\x08\x00\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x01\x00\x74\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x20\x00\x61\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x16\x00\x2f\x00\x18\x00\x19\x00\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\x17\x00\x18\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x5f\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x5f\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x5f\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x5f\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x5f\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x5e\x00\xff\xff\xff\xff\x61\x00\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x74\x00\x05\x00\x06\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x20\x00\x61\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\x16\x00\x74\x00\x18\x00\x01\x00\x02\x00\xff\xff\x61\x00\x05\x00\x06\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x16\x00\x74\x00\xff\xff\x05\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x16\x00\xff\xff\x61\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\x74\x00\x18\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\x74\x00\x20\x00\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\xff\xff\x18\x00\x01\x00\x02\x00\xff\xff\x74\x00\x05\x00\x06\x00\xff\xff\x20\x00\x61\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x6b\x00\xff\xff\xff\xff\x16\x00\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\x74\x00\x61\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\x74\x00\x61\x00\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x16\x00\xff\xff\x61\x00\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x01\x00\x16\x00\xff\xff\x61\x00\x05\x00\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\x01\x00\x16\x00\x74\x00\xff\xff\xff\xff\x61\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x16\x00\x24\x00\x25\x00\x74\x00\x27\x00\x28\x00\x01\x00\x16\x00\xff\xff\xff\xff\xff\xff\x61\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x16\x00\x01\x00\xff\xff\x74\x00\xff\xff\x05\x00\xff\xff\xff\xff\x61\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x74\x00\x61\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\x74\x00\x61\x00\xff\xff\xff\xff\x24\x00\x25\x00\xff\xff\x27\x00\x61\x00\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x31\x00\x32\x00\x33\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\x61\x00\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x61\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\x91\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xff\xff\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\xff\xff\x27\x00\x28\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x9e\x00\x9f\x00\xff\xff\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\x9e\x00\x9f\x00\xff\xff\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa0\x00\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa9\x00\xff\xff\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa9\x00\xff\xff\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa0\x00\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa0\x00\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa9\x00\xff\xff\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa9\x00\xff\xff\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xa1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\xff\xff\xff\xff\x90\x00\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\x8d\x00\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9a\x00\x9b\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\x8d\x00\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xff\xff\xcc\x00\xff\xff\xce\x00\xcf\x00\xd0\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xff\xff\xcc\x00\xff\xff\xce\x00\xcf\x00\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\x8d\x00\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\x8d\x00\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xff\xff\xcc\x00\xff\xff\xce\x00\xcf\x00\xd0\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xff\xff\xcc\x00\xff\xff\xce\x00\xcf\x00\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\x8d\x00\xff\xff\xff\xff\xff\xff\x91\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\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xff\xff\xcc\x00\xff\xff\xce\x00\xcf\x00\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xff\xff\x91\x00\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\x8f\x00\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xd0\x00\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xd0\x00\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\x84\x00\xff\xff\x86\x00\xff\xff\xd0\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\x88\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\x98\x00\x99\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\x94\x00\x95\x00\x96\x00\xff\xff\x98\x00\x99\x00\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xb3\x00\xff\xff\xd0\x00\xb6\x00\xb7\x00\x91\x00\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xd0\x00\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xd0\x00\xb6\x00\xb7\x00\xff\xff\xb9\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xb3\x00\xff\xff\xd0\x00\xb6\x00\xb7\x00\x91\x00\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xd0\x00\xff\xff\xff\xff\x91\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xd0\x00\xb6\x00\xb7\x00\xff\xff\xb9\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x91\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xb3\x00\xff\xff\xff\xff\xb6\x00\xb7\x00\xff\xff\xb9\x00\xd0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb3\x00\xff\xff\xd0\x00\xb6\x00\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd0\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"#
 
 happyTable :: HappyAddr
-happyTable = HappyA# "\x00\x00\x86\x00\x0f\x02\x87\x00\x07\x00\x09\x00\x1f\x03\x20\x03\x21\x03\x94\x00\xb4\x02\x65\x01\x15\x04\xe1\x02\x87\x01\x67\x01\xff\x01\xbc\x02\x94\x00\xb9\x01\x67\x01\xee\x02\xe2\x02\x0c\x04\x16\x04\x17\x04\x94\x00\x51\x02\x21\x04\xc0\x03\x41\x02\x1c\x04\x94\x00\xea\x02\xe5\x03\xbd\x03\x95\x00\x67\x01\xee\x02\x29\x02\x06\x04\xc0\x02\x67\x01\xff\x01\x00\x02\x0e\x04\x74\x03\xc0\x02\x67\x01\xf6\x02\xbf\x02\xc0\x02\x40\x02\x67\x01\xf6\x02\x50\x01\xcc\x00\x29\x02\xd0\x00\x67\x01\x44\x03\x29\x02\xf1\x03\x29\x02\xec\x01\x67\x01\x6d\x03\xbe\xff\xc7\x03\xbf\x03\xc0\x03\x02\x02\x67\x01\x6d\x03\x52\x02\xe8\x01\x3a\x01\xa8\x00\x54\x02\xaa\x00\x6e\x01\x32\x03\x01\x03\xd7\x02\x92\x01\x93\x01\xc8\x03\x8c\x00\x60\x03\x8d\x00\x1f\x04\xcd\x00\xa8\x00\xd7\x02\x55\x03\xcd\x00\x3b\x01\xcd\x00\xd7\x00\x04\x04\xd8\x02\x8b\x01\x01\x04\x00\x03\x01\x03\xb9\x01\xe5\x02\xad\x00\x3c\x01\x51\x01\xe9\x01\x6f\x01\xbd\x02\x18\x00\x14\x03\x15\x03\xa1\x00\xa2\x00\xd8\x00\x62\x03\x67\x01\x44\x03\x56\x03\xee\x01\x8e\x00\xee\x01\xf9\x03\x2c\x00\xba\x01\x2d\x00\x7d\x03\x16\x03\xc1\x01\xc2\x01\x2f\x00\xec\x02\x26\x04\xb5\x03\x30\x00\x94\x01\x31\x00\x6e\x03\x13\x04\xb4\x02\x40\x00\x18\x00\xf3\x03\xff\x03\x6f\x03\x2c\x00\x56\x02\x2d\x00\xf7\x02\xb6\x03\xc1\x01\xc2\x01\x2f\x00\xf8\x02\x45\x03\xf6\xfe\x30\x00\xaf\x02\x31\x00\x55\x02\xc1\x02\xb0\x02\x88\x01\xb1\x02\xed\x01\x89\x01\xc1\x02\x8a\x01\xef\x02\x22\x03\xc1\x02\x96\x00\x23\x03\x18\x04\x56\x02\xc1\x03\x01\x02\x19\x04\x8b\x01\xc2\x03\x96\x00\x8c\x01\x3e\x00\x14\x00\x3f\x00\xf0\x02\x40\x00\x18\x00\x96\x00\x14\x00\xbb\x00\x14\x00\xbb\x00\xbc\x00\x96\x00\xbc\x00\x22\x03\xf4\x03\x10\x02\x23\x03\x24\x03\x66\x01\x66\x01\x03\x02\x55\x02\x1a\x04\x08\x00\x08\x00\x08\x00\x3e\x00\x14\x00\x3f\x00\x32\x00\x40\x00\x18\x00\x46\x03\xc1\x03\x14\x00\x02\x03\x56\x02\xc2\x03\x83\x01\x33\x00\xef\x01\x34\x00\xf4\x01\x35\x00\x24\x03\xdd\x02\x36\x00\x37\x00\x38\x00\x14\x00\xbb\x00\x32\x00\xaf\x01\xbc\x00\x39\x00\x18\x04\x14\x00\x02\x03\x80\x01\x19\x04\xde\x03\x33\x00\xc1\x03\x34\x00\xdf\x03\x35\x00\xc2\x03\x7b\x01\x36\x00\x37\x00\x38\x00\x14\x00\xbb\x00\x88\x03\x93\x02\xbc\x00\x39\x00\x73\x01\x14\x00\xbb\x00\xe0\x03\xc9\x00\xbc\x00\x0d\x00\x0e\x00\x0f\x00\x95\x01\x1a\x04\x3a\x00\x06\x01\x0f\x00\x3b\x00\x3c\x00\xa1\x02\x3d\x00\x14\x04\x5d\x03\x0e\x00\x0f\x00\x3e\x00\x14\x00\x3f\x00\x00\x04\xa7\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\xa2\x02\xd7\x02\x3b\x00\x3c\x00\x2c\x03\x3d\x00\x41\x00\xba\x03\x8f\x01\x2d\x03\x1b\x00\xfe\x03\xf2\x03\x89\x03\x8a\x03\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xac\x00\xff\x03\x9c\x02\x16\x00\x2c\x00\x90\x01\x2d\x00\x41\x00\xc0\x01\xc1\x01\xc2\x01\x2f\x00\xaf\x00\xb0\x00\xb1\x00\x30\x00\xd4\x02\x31\x00\xcf\x01\x56\x01\x0e\x00\x0f\x00\x7e\x01\x14\x00\x15\x00\xd6\x03\x81\x01\x7b\x03\x7c\x03\xdc\x02\x9d\x02\x9e\x02\x14\x00\xbb\x00\x2c\x00\x82\x01\x2d\x00\xd1\x03\xd2\x03\x7f\x01\x2c\x01\x84\x01\x0a\x00\xd0\x01\xd1\x01\xa0\x03\x0c\x00\x31\x00\x0d\x00\x0e\x00\x0f\x00\xd7\x03\x88\x02\x49\x01\x12\x00\xd2\x01\x4f\x01\x96\x03\xe0\x01\x14\x00\x15\x00\x77\x03\xc9\x00\x2c\x01\x0d\x00\x0e\x00\x0f\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xa8\x01\x95\x01\xda\x02\xf5\x02\x14\x00\x15\x00\x88\x03\x17\x00\x18\x00\x14\x00\x15\x00\x2b\x00\x17\x00\x18\x00\x3e\x00\x14\x00\x3f\x00\x14\x00\x15\x00\x32\x00\x17\x00\x18\x00\x19\x00\x7a\x01\xe3\x03\xe4\x03\x93\x02\x07\x01\xab\x01\x33\x00\x2c\x00\x34\x00\x94\x02\x35\x00\x7b\x01\x19\x00\x36\x00\x37\x00\x38\x00\x2c\x01\xa1\x03\xa2\x03\xa3\x03\x2c\x00\x39\x00\x2d\x00\xb0\x01\x79\x03\x4d\x01\x32\x00\x7d\x03\x14\x00\x15\x00\x23\x02\x24\x02\x7b\x01\x31\x00\x2c\x01\xed\x03\x33\x00\x91\x03\x34\x00\x92\x03\x35\x00\x40\x00\x18\x00\x36\x00\x37\x00\x38\x00\xa7\x02\x1e\x00\x1f\x00\x14\x00\x15\x00\x39\x00\x17\x00\x18\x00\x2b\x01\x3a\x00\x4b\x02\x4c\x02\x3b\x00\x3c\x00\x43\x03\x3d\x00\x74\x01\x2c\x01\x7f\x03\x13\x00\xc9\x00\x19\x00\x0d\x00\x0e\x00\x0f\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa4\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xb5\x01\x41\x00\x3a\x00\x8d\x02\xb6\x01\x3b\x00\x3c\x00\x8e\x02\x3d\x00\xb7\x01\xa6\x03\x14\x00\x15\x00\x19\x00\x17\x00\x18\x00\x1e\x00\x1f\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x9e\x03\xa7\x00\x32\x00\xa9\x00\x2c\x00\x19\x00\x2d\x00\x41\x00\xef\x01\xbf\x02\x95\x01\xf0\x01\x33\x00\xb1\x03\x34\x00\xa0\x03\x35\x00\x31\x00\xaf\x03\x36\x00\x37\x00\x38\x00\xb4\x03\x3e\x00\x14\x00\x3f\x00\x2c\x00\x39\x00\x2d\x00\xa8\x01\xac\x00\x86\x02\xe6\x02\x2f\x00\xb8\x03\x1e\x00\x1f\x00\x30\x00\xc3\x01\x31\x00\x9c\x03\x9d\x03\xaf\x00\xb0\x00\xb1\x00\xa1\x00\xa2\x00\x19\x03\xa7\x03\xe0\x01\x14\x00\xa3\x02\x7f\x03\xc9\x00\xa4\x02\x0d\x00\x0e\x00\x0f\x00\x29\x02\x25\x02\x26\x02\x3a\x00\xa9\x03\xaa\x03\x3b\x00\x27\x02\x36\x03\x3d\x00\x76\x01\x31\x01\x47\x03\xa4\x00\xc9\x00\xa5\x00\x0d\x00\x0e\x00\x0f\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x1b\x03\x1c\x03\xf2\x03\xa3\x03\x50\x03\x14\x00\x15\x00\x41\x00\x17\x00\x18\x00\x32\x00\xb0\x01\x14\x00\x3f\x00\x88\x01\x71\x01\x18\x00\x89\x01\xf0\x01\xb7\x02\x33\x00\xc5\x02\x34\x00\x19\x00\x35\x00\x2c\x02\xb8\x00\x36\x00\x37\x00\x38\x00\x8b\x01\x70\x03\x32\x00\x8c\x01\x2c\x00\x39\x00\x2d\x00\x14\x00\x31\x03\xcc\x03\x2e\x00\x2f\x00\x33\x00\xbb\x02\x34\x00\x30\x00\x35\x00\x31\x00\xeb\x02\x36\x00\x37\x00\x38\x00\x3e\x00\x14\x00\x3f\x00\xcd\x03\xce\x03\x39\x00\xcf\x03\xd8\x02\xc9\x00\x11\x03\x0d\x00\x0e\x00\x0f\x00\x2c\x00\x9e\x01\x2d\x00\xa8\x01\x3a\x00\xa9\x01\xf1\x02\x3b\x00\x3c\x00\x13\x03\x3d\x00\x2b\x03\x88\x00\x31\x00\x3e\x00\x14\x00\x3f\x00\x89\x00\x8a\x00\x15\x02\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x4b\x02\x42\x03\x3b\x00\x3c\x00\x17\x02\x3d\x00\x41\x00\x14\x00\x15\x00\xe4\x01\x17\x00\x18\x00\x1f\x02\x9c\x01\x9d\x01\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x9e\x01\x3e\x00\x14\x00\x3f\x00\x19\x00\x14\x00\x15\x00\x41\x00\x17\x00\x18\x00\x32\x00\x5a\x03\x96\x02\x3e\x00\x14\x00\x3f\x00\x62\x01\x63\x01\x64\x01\x65\x01\x33\x00\x20\x02\x34\x00\x19\x00\x35\x00\x07\x03\x08\x03\x36\x00\x37\x00\x38\x00\x30\x02\x38\x03\xb9\x00\x6b\x03\x9a\x02\x39\x00\xba\x00\xc3\x02\x9a\x02\x14\x00\x15\x00\x32\x00\x71\x01\x18\x00\x0f\x04\x10\x04\x11\x04\x31\x02\x14\x00\xbb\x00\x3d\x02\x33\x00\xbc\x00\x34\x00\x9b\x03\x35\x00\x9c\x03\x72\x01\x36\x00\x37\x00\x38\x00\x38\x03\xd6\xfe\x13\x00\xd6\xfe\x4d\xfe\x39\x00\x4d\xfe\xe9\x01\x3a\x00\x09\x03\x0a\x03\x3b\x00\x3c\x00\x3f\x02\x3d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x3e\x00\x14\x00\x3f\x00\x43\x02\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xf9\x01\x14\x00\x3f\x00\x19\x00\x71\x01\x18\x00\x5f\xfe\x41\x00\x5f\xfe\x3a\x00\x0e\x03\x0f\x03\x3b\x00\x3c\x00\x69\xfe\x3d\x00\x69\xfe\x4a\x02\x39\x03\x3a\x03\x3b\x03\x3c\x03\x3d\x03\x6c\x02\xdb\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x6a\xfe\x3e\x03\x6a\xfe\x34\x00\x6b\xfe\x35\x00\x6b\xfe\x41\x00\x36\x00\x37\x00\x38\x00\xc4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\x39\x00\x47\x02\xc9\x03\x3b\x03\x3c\x03\x3d\x03\x6d\x02\x6e\x02\x3e\x00\x14\x00\x3f\x00\x94\x03\x5f\x00\xbd\x03\x60\x00\x3e\x03\x4f\x02\x34\x00\x96\x03\x35\x00\xad\x02\x60\x01\x36\x00\x37\x00\x38\x00\x0a\x00\xa3\x01\xa4\x01\x59\x02\xc9\x00\x39\x00\x0d\x00\x0e\x00\x0f\x00\x3a\x00\x67\x01\xb2\x02\x3b\x00\x3c\x00\x6f\x02\x3d\x00\xff\x03\xda\x00\xdb\x00\x76\x02\xa7\x00\xa8\x00\xa9\x00\xaa\x00\x90\x02\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x67\x01\x68\x01\x94\x03\x5f\x00\x95\x03\x60\x00\x91\x02\x41\x00\x3a\x00\x96\x03\x9f\x02\x3b\x00\x3c\x00\x6c\x01\x3d\x00\xc8\x00\x35\x03\x37\x02\xac\x00\xc9\x00\xad\x00\x0d\x00\x0e\x00\x0f\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xaf\x00\xb0\x00\xb1\x00\x6c\xfe\x0a\x00\x6c\xfe\x0b\x00\x41\x00\x0c\x00\x4b\x01\x0d\x00\x0e\x00\x0f\x00\xff\x02\x37\x02\x38\x02\x12\x00\x67\x01\x69\x01\x4c\x03\xe0\x01\xda\x03\xda\x00\xdb\x00\xc9\x00\xc5\x01\x0d\x00\x0e\x00\x0f\x00\x0d\x02\x8a\x00\x0a\x00\xb9\x00\x0b\x00\xc7\x01\x0c\x00\xba\x00\x0d\x00\x0e\x00\x0f\x00\x36\x02\x37\x02\x38\x02\x12\x00\x67\x01\x6a\x01\xdf\x01\xe0\x01\x14\x00\xbb\x00\xca\x01\xc9\x00\xbc\x00\x0d\x00\x0e\x00\x0f\x00\xbf\x00\xc0\x00\x0a\x00\x13\x00\x0b\x00\x6d\xfe\x0c\x00\x6d\xfe\x0d\x00\x0e\x00\x0f\x00\x1e\x03\x1f\x03\x38\x02\x12\x00\xc3\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xd4\x01\xa1\x00\xa2\x00\x31\x01\x0a\x00\xa4\x00\x0b\x00\xa5\x00\x0c\x00\xea\x01\x0d\x00\x0e\x00\x0f\x00\x19\x00\xcc\x01\x4d\x01\x12\x00\x4e\x01\x4f\x01\xc6\x02\x86\x03\x0a\x02\x0d\x00\x0e\x00\x0f\x00\x0a\x00\x6e\xfe\x0b\x00\x6e\xfe\x0c\x00\xc2\x00\x0d\x00\x0e\x00\x0f\x00\x5f\x01\x60\x01\x4d\x01\x12\x00\x4e\x01\x4f\x01\xc7\x00\x14\x00\x15\x00\x0e\x01\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x29\x01\x0c\x00\x87\x03\x0d\x00\x0e\x00\x0f\x00\x44\x01\xe9\x03\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x4b\x02\x4c\x02\x46\x01\x4d\x02\x4e\x02\x97\x03\x98\x03\x99\x03\x6f\xfe\x13\x00\x6f\xfe\x14\x00\x15\x00\x19\x00\x17\x00\x18\x00\x50\x01\x0b\x01\x88\x00\xea\x03\x0c\x01\x25\x04\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x1c\x00\x1d\x00\x19\x00\x3e\x00\x14\x00\x3f\x00\x21\x04\x40\x00\x18\x00\x13\x00\x50\x01\x14\x00\x15\x00\x19\x00\x17\x00\x18\x00\x81\x03\x1f\x04\x0d\x00\x0e\x00\x0f\x00\x1c\x04\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x1e\x04\x76\xfe\x19\x00\x76\xfe\x0a\x00\x13\x00\xe1\x01\x77\xfe\xc9\x00\x77\xfe\x0d\x00\x0e\x00\x0f\x00\x19\x00\x14\x04\x9b\x01\x5e\x03\x9c\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xa1\x00\xa2\x00\x0c\x04\x13\x00\x12\x02\x67\x01\x13\x02\x14\x00\x15\x00\x04\x04\x17\x00\x18\x00\x03\x04\x19\x00\x51\x01\xa1\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xa1\x00\xa2\x00\x06\x04\x13\x00\x19\x00\x0a\x04\x5d\x03\x0e\x00\x0f\x00\x75\x03\x99\x02\x9a\x02\xc3\x02\x19\x00\xa7\x00\xa8\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\xae\x01\x0b\x00\xaf\x01\x0c\x00\x0a\x04\x0d\x00\x0e\x00\x0f\x00\x0c\x02\x0d\x02\x49\x01\x12\x00\x19\x00\x71\x03\x14\x02\x67\x01\x13\x02\x9b\x01\x0a\x00\x9c\x01\x0b\x00\xac\x00\x0c\x00\x29\x02\x0d\x00\x0e\x00\x0f\x00\xe8\x02\xe9\x02\x49\x01\x12\x00\xf0\x03\x4a\x01\xaf\x00\xb0\x00\xb1\x00\x19\x02\x1a\x02\x0a\x00\x72\x03\x0b\x00\x92\x01\x0c\x00\x29\x02\x0d\x00\x0e\x00\x0f\x00\x59\xff\x07\x04\x11\x00\x12\x00\xf6\x03\x14\x00\x15\x00\xf7\x03\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\xf9\x03\x0c\x00\xa1\x02\x0d\x00\x0e\x00\x0f\x00\xfb\x03\xe6\x03\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\xfc\x03\x0b\x00\xfd\x03\x0c\x00\xbc\x03\x0d\x00\x0e\x00\x0f\x00\xbf\x03\xf7\x03\x11\x00\x12\x00\x19\x00\x3c\x02\xc6\x03\x0d\x00\x0e\x00\x0f\x00\x4b\x01\x0a\x00\x29\x02\x0b\x00\xcc\x03\x0c\x00\x29\x02\x0d\x00\x0e\x00\x0f\x00\x78\x02\xc6\x03\x11\x00\x12\x00\xc9\x01\xca\x01\x14\x00\x15\x00\x9b\x03\x17\x00\x18\x00\x0a\x00\xfd\xfd\x0b\x00\x13\x00\x0c\x00\xdc\x03\x0d\x00\x0e\x00\x0f\x00\xe3\x03\xca\x03\x11\x00\x12\x00\x19\x00\x0c\x02\x0d\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\xe1\x03\x0c\x00\xe2\x03\x0d\x00\x0e\x00\x0f\x00\x77\x03\xab\x03\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x79\x03\x7b\x03\x13\x00\xa1\x02\x82\x01\x6f\x01\x80\x03\x0d\x00\x0e\x00\x0f\x00\x94\x02\x95\x02\x96\x02\x19\x00\x85\x03\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x1e\x00\x0c\x00\x8d\x03\x0d\x00\x0e\x00\x0f\x00\x8e\x03\xd3\x02\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\xe0\x02\x0c\x00\xc4\x00\x0d\x00\x0e\x00\x0f\x00\x07\x03\xfb\x02\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xa0\x03\xad\x03\x13\x00\xaf\x03\xb1\x03\x14\x00\x15\x00\xb3\x03\x17\x00\x18\x00\x98\x02\x99\x02\x9a\x02\x19\x00\x29\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xb4\x03\xb8\x03\x13\x00\x19\x00\xe7\x03\x5d\x03\x0e\x00\x0f\x00\xa9\x02\x99\x02\x9a\x02\xba\x03\x28\x03\x19\x00\x1b\x03\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x2b\x03\x0b\x00\x13\x00\x0c\x00\x29\x02\x0d\x00\x0e\x00\x0f\x00\x31\x03\x3b\x02\x11\x00\x12\x00\x19\x00\x29\x03\x38\x03\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x2a\x03\x0b\x00\x34\x03\x0c\x00\x35\x03\x0d\x00\x0e\x00\x0f\x00\x49\x03\x8e\x01\x11\x00\x12\x00\x19\x00\x4e\x03\x14\x00\x15\x00\x4f\x03\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x05\x02\x0c\x00\x57\x03\x0d\x00\x0e\x00\x0f\x00\x98\x02\x93\x01\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x5c\x03\x0c\x00\xfe\xfd\x0d\x00\x0e\x00\x0f\x00\x60\x03\xf8\x01\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x67\x03\x0b\x00\x6d\x03\x0c\x00\xa1\x02\x0d\x00\x0e\x00\x0f\x00\x1e\x00\x0f\x01\x11\x00\x12\x00\x19\x00\x97\x01\x98\x01\x99\x01\xc3\x02\x33\xff\x0a\x00\xb6\x02\x0b\x00\xb7\x02\x0c\x00\xbb\x02\x0d\x00\x0e\x00\x0f\x00\xb9\x02\x10\x00\x11\x00\x12\x00\xa1\x02\x14\x00\x15\x00\xba\x02\x17\x00\x18\x00\x0a\x00\xc3\x02\x0b\x00\x13\x00\x0c\x00\xc5\x02\x0d\x00\x0e\x00\x0f\x00\xe0\x02\xd3\x02\xd0\x03\x12\x00\x19\x00\xae\x01\x98\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\xe1\x02\x0b\x00\x13\x00\x0c\x00\xe4\x02\x0d\x00\x0e\x00\x0f\x00\xe6\x02\x29\x02\xa6\x02\x12\x00\x19\x00\xea\x02\xee\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xf3\x02\xf4\x02\x13\x00\xf5\x02\xe8\x03\x5d\x03\x0e\x00\x0f\x00\xb7\x01\x98\x01\x99\x01\x05\x02\xfd\x02\x19\x00\xfe\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\xff\x02\x0c\x00\x06\x03\x0d\x00\x0e\x00\x0f\x00\x07\x03\x0c\x03\xa8\x02\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x0d\x03\x0c\x00\x0e\x03\x0d\x00\x0e\x00\x0f\x00\x11\x03\x8c\x00\xaa\x02\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x19\x03\x0c\x00\x1b\x02\x0d\x00\x0e\x00\x0f\x00\x17\x02\x22\x02\x70\x01\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x23\x02\x0c\x00\x2c\x02\x0d\x00\x0e\x00\x0f\x00\x2e\x02\x2f\x02\x75\x01\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\xc2\x00\x0b\x00\x13\x00\x0c\x00\x33\x02\x0d\x00\x0e\x00\x0f\x00\x34\x02\x35\x02\xce\x01\x12\x00\x19\x00\x36\x02\x92\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x3a\x02\x0b\x00\x3f\x02\x0c\x00\xcf\x00\x0d\x00\x0e\x00\x0f\x00\x3b\x02\x98\x00\xd3\x01\x12\x00\x19\x00\x45\x02\x14\x00\x15\x00\x46\x02\x17\x00\x18\x00\x0a\x00\x49\x02\x0b\x00\x13\x00\x0c\x00\x38\xff\x0d\x00\x0e\x00\x0f\x00\x47\x02\x4a\x02\xe5\x01\x12\x00\x19\x00\x23\xfe\x92\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x54\x02\x0c\x00\x51\x02\x0d\x00\x0e\x00\x0f\x00\xa7\x01\x78\x02\xcf\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x8b\x02\x0c\x00\x83\x02\x0d\x00\x0e\x00\x0f\x00\x8c\x02\x78\x02\xd4\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x9c\x01\x0c\x00\x98\x02\x0d\x00\x0e\x00\x0f\x00\x9f\x02\xa1\x02\x42\x01\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x47\x01\xa6\x02\xc9\x00\xb2\x02\x0d\x00\x0e\x00\x0f\x00\x0e\x02\xda\x00\xdb\x00\xac\x02\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xd9\x00\xda\x00\xdb\x00\x13\x00\x2f\x02\xb7\x00\xb8\x00\xdc\x03\x5d\x03\x0e\x00\x0f\x00\xad\x02\x1e\x00\x19\x00\x6c\x01\x78\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xc6\x02\xc7\x02\x13\x00\x0d\x00\x0e\x00\x0f\x00\x5b\x02\x5c\x02\x5d\x02\xc8\x02\x79\x01\x7c\x01\x7d\x01\x19\x00\x83\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xcd\xfd\xc6\x02\x82\x03\x13\x00\x0d\x00\x0e\x00\x0f\x00\xcf\xfd\xc9\x02\xca\x02\xcb\x02\xce\xfd\xcc\x02\x19\x00\xd1\xfd\xd4\xfd\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xa6\x01\x13\x00\x56\x01\x0e\x00\x0f\x00\x57\x01\xa7\x01\xa8\x01\x83\x03\xca\x02\xcb\x02\xb4\x01\xcc\x02\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xb3\x01\x13\x00\xaf\x01\x80\x03\x5d\x03\x0e\x00\x0f\x00\xbc\x01\xbd\x01\x62\x03\x5d\x03\x0e\x00\x0f\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xbb\x01\x13\x00\xbf\x01\x85\x03\x5d\x03\x0e\x00\x0f\x00\xc0\x01\x49\x01\x5c\x03\x5d\x03\x0e\x00\x0f\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x63\x03\xbe\x00\xb6\x00\xb7\x00\xb8\x00\xc5\x01\xb9\x00\xc7\x01\xce\x01\xcc\x01\xba\x00\xd6\x01\xe4\x01\x19\x00\xe7\x01\xc4\x00\x14\x00\x15\x00\xf2\x01\x17\x00\x18\x00\xcd\x02\x14\x00\xbb\x00\xf3\x01\xfe\x01\xbc\x00\xff\x01\x0a\x02\x05\x02\x07\x02\x8e\x00\x14\x00\x15\x00\x19\x00\xce\x02\x18\x00\x12\x02\xa8\x00\x08\x02\xaa\x00\x09\x02\xcd\x02\x8f\x00\xff\xff\x90\x00\x91\x00\x98\x00\xc2\x00\xc4\x00\x19\x00\xcf\x00\x53\x01\x14\x00\x15\x00\xd2\x00\xce\x02\x18\x00\xff\xff\xd3\x00\x46\x01\xd4\x00\x56\x01\x2c\x01\x3d\x01\x55\x01\x58\x01\xff\xff\xad\x00\xff\xff\xa0\x00\x19\x00\x14\x00\x15\x00\x54\x01\x17\x00\x18\x00\xa1\x00\xa2\x00\xff\xff\x8c\x00\x00\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x19\x00\x59\x01\x5a\x01\x14\x00\x15\x00\x00\x00\x17\x00\x18\x00\x00\x00\x14\x00\x15\x00\x00\x00\x17\x00\x18\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x19\x00\x14\x00\x15\x00\x00\x00\x17\x00\x18\x00\x19\x00\x14\x00\x15\x00\x00\x00\x17\x00\x18\x00\xb9\x00\x1b\x00\xbe\x00\x23\x04\xba\x00\x1e\x00\x1f\x00\x19\x00\x00\x00\x50\xff\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x14\x00\xbb\x00\x24\x04\x00\x00\xbc\x00\x00\x00\x20\x00\x1b\x00\x21\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x50\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x68\x03\x37\xff\x00\x00\x69\x03\x00\x00\x00\x00\x00\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x03\x00\x00\x2c\x00\x00\x00\x3e\x01\x2b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x50\xff\x2c\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x1b\x00\x21\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x2c\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x50\xff\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x03\x00\x00\x00\x00\xd0\x02\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x69\x03\x00\x00\x2c\x00\x00\x00\x22\x00\x9d\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x3f\x01\x00\x00\xa0\x00\xed\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x00\xa2\x00\xa3\x00\xd1\x02\xa4\x00\x00\x00\xa5\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x2b\x00\x1e\x00\x1f\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\xa7\x00\xa8\x00\x00\x00\x1b\x00\x20\x00\x2c\x00\x21\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x01\xd1\x02\x00\x00\x2c\x00\x8e\x01\xac\x00\x9d\x00\x00\x00\x65\x03\x9e\x00\x00\x00\xbd\x01\x00\x00\xa0\x00\xd2\x02\x6b\x03\x00\x00\xaf\x00\xb0\x00\xb1\x00\xa1\x00\xa2\x00\xa3\x00\x1b\x00\xa4\x00\x00\x00\xa5\x00\x1e\x00\x1f\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xd0\x02\x00\x00\x21\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x2b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x1b\x00\x00\x00\x00\x00\xd1\x02\x00\x00\x2c\x00\x2b\x00\x00\x00\x9d\x00\xd2\x02\x00\x00\x9e\x00\x00\x00\x9f\x00\x58\x02\xa0\x00\x66\x03\x00\x00\x00\x00\x00\x00\x00\x00\x59\x02\xa1\x00\xa2\x00\xa3\x00\x2c\x00\xa4\x00\x00\x00\xa5\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x2c\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\xd2\x02\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x2b\x00\x00\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x61\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x18\x03\x00\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x18\x03\x00\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x24\x01\xa8\x00\xa9\x00\xaa\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x8a\x02\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x7b\x01\x51\x00\x26\x01\x27\x01\x00\x00\xad\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x28\x01\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1b\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x59\x02\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x24\x01\xa8\x00\xa9\x00\xaa\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xad\x01\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x7b\x01\x51\x00\x26\x01\x27\x01\x00\x00\xad\x00\x23\x00\x00\x00\x7c\x00\x00\x00\x27\x00\x28\x00\x29\x00\x52\x00\x00\x00\x53\x00\x28\x01\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x2b\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x34\x01\xa8\x00\xa9\x00\xaa\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x35\x01\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x2c\x01\x51\x00\x26\x01\x36\x01\x00\x00\xad\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x37\x01\x38\x01\x39\x01\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x24\x01\xa8\x00\xa9\x00\xaa\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x25\x01\x00\x00\x51\x00\x26\x01\x27\x01\x00\x00\xad\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x28\x01\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x24\x01\xa8\x00\xa9\x00\xaa\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x26\x01\x27\x01\x00\x00\xad\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x28\x01\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\xdc\x01\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x01\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\xde\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x02\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x7e\x02\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x02\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\xdf\x02\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x02\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1b\x00\x62\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x20\x00\x00\x00\x21\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x22\x00\x49\x01\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x2b\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x1b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\xa5\x03\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x86\x01\x00\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x87\x01\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x1b\x00\x43\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\xa5\x03\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\xc6\x00\x00\x00\x00\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\xa1\x01\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x1b\x00\x5f\x00\x00\x00\x60\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x04\x03\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x2b\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x40\x03\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\xc6\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\xa1\x01\x41\x03\x00\x00\x00\x00\x2c\x00\x42\x03\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x2c\x00\x00\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x40\x03\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\xc6\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x03\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x03\x00\x00\x00\x00\x2c\x00\x42\x03\x62\x02\x43\x00\x1c\x00\x1d\x00\x63\x02\x1f\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x64\x02\x65\x02\x66\x02\x67\x02\x68\x02\x69\x02\x6a\x02\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\x6b\x02\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x6c\x02\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x00\x00\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x00\x00\x97\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x97\xfe\x00\x00\x00\x00\x97\xfe\x00\x00\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x00\x00\x97\xfe\x97\xfe\x97\xfe\x00\x00\x97\xfe\x1b\x00\x00\x00\x00\x00\x97\xfe\x1e\x00\x97\xfe\x97\xfe\x97\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x97\xfe\x00\x00\x00\x00\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\xbe\x00\x97\xfe\x97\xfe\x97\xfe\x00\x00\x97\xfe\x00\x00\x97\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x26\x03\x00\x00\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x00\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\xfe\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\xfe\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1b\x00\x5c\x00\x5d\x00\x5e\x00\x1e\x00\x5f\x00\x00\x00\x60\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xbe\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\xfd\x01\x00\x00\x52\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\xdf\x00\x52\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x17\x01\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x39\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\xdf\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x3a\x00\x60\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x92\x00\x37\x00\x38\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x39\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\xdf\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x3a\x00\x60\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\xfb\x01\x92\x00\x37\x00\x38\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x39\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\xdf\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x3a\x00\x60\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\xff\x00\x00\x00\x00\x2c\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x2e\xff\x2e\xff\x2e\xff\x2e\xff\x2e\xff\x2e\xff\x2e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\xff\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x2e\xff\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\xa8\x00\x00\x00\xaa\x00\x2b\x00\x00\x00\x00\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x20\x00\x53\x01\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x2c\x00\x22\x00\x1e\x00\x2c\x01\x00\x00\x00\x00\x00\x00\x00\x00\xad\x00\x00\x00\x41\x01\x00\x00\xab\x00\xac\x00\x54\x01\xad\x00\x42\x01\x00\x00\x00\x00\xbe\x00\xc4\x03\x00\x00\x00\x00\x00\x00\x1b\x00\xaf\x00\xb0\x00\xb1\x00\x1e\x00\x1f\x00\x00\x00\x5c\x01\xa8\x00\x00\x00\xaa\x00\xc5\x03\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x5d\x01\x00\x00\x00\x00\xad\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x5e\x01\x00\x00\x5f\x01\x37\xff\x00\x00\x00\x00\x00\x00\x2c\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x2b\x00\x5c\x01\xa8\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x1b\x00\x2c\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x5d\x01\x00\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x01\x20\x00\xe3\x01\x21\x00\x4d\x01\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x2c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x74\x03\x21\x00\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\x00\x00\x00\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x0e\x01\xab\x00\xac\x00\x00\x00\xad\x00\xa9\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x26\x03\x00\x00\xaf\x00\xb0\x00\xb1\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x2c\x00\x00\x00\xcb\x00\x00\x00\x00\x00\x2b\x00\x00\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\x00\x00\xcc\x00\x00\x00\x00\x00\x20\x00\x1b\x00\x21\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x2c\x00\x22\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\xab\x00\xac\x00\x20\x00\xad\x00\x21\x00\x00\x00\x36\xff\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x22\x00\xaf\x00\xb0\x00\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x03\x00\x00\x00\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x0e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x2b\x00\x1e\x00\x1f\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x2c\x00\x21\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x2c\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x09\x01\x00\x00\x0a\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\x2b\x00\x00\x00\x0b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x03\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x2c\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x1b\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xc6\x00\x1b\x00\x00\x00\x00\x00\x2b\x00\x1e\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x2b\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x43\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\xc6\x00\x00\x00\x00\x00\x1e\x00\x2b\x00\x00\x00\x1b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x2b\x00\xd6\x02\x1b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x2b\x00\x04\x03\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x2b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x2b\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x39\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x02\x79\x02\x7a\x02\x7b\x02\x00\x00\x7c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\xac\x00\x00\x00\xad\x00\xae\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x52\x03\x7a\x02\x7b\x02\x00\x00\x7c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x53\x03\x7b\x02\x00\x00\x7c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xd5\x03\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd6\x01\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x01\x00\x00\xfa\x02\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd6\x01\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x01\x00\x00\x42\x02\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x71\x02\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x8e\x02\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd6\x01\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x01\x00\x00\xd9\x01\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd6\x01\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x01\x00\x00\xde\x01\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x59\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x08\x04\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\xee\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd4\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x8e\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x8f\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x90\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xad\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x2e\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x51\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x58\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xdd\x02\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\xf9\x02\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x8f\x02\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x99\x00\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x12\x01\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x13\x01\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x84\x00\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x2c\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x2d\x01\x2e\x01\x00\x00\x00\x00\x2f\x01\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\x30\x01\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x31\x01\x20\x01\xa4\x00\x21\x01\x32\x01\x41\x00\x19\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x1a\x01\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x01\x1c\x01\x00\x00\x7f\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\xa0\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x00\x00\x20\x01\x00\x00\x21\x01\x22\x01\x41\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\xa0\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x00\x00\x20\x01\x00\x00\x21\x01\x22\x01\x41\x00\x19\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x81\x02\x00\x00\x00\x00\x00\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\x19\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x88\x02\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\xa0\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x00\x00\x20\x01\x00\x00\x21\x01\x22\x01\x41\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\xa0\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x00\x00\x20\x01\x00\x00\x21\x01\x22\x01\x41\x00\x19\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\xa0\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x00\x00\x20\x01\x00\x00\x21\x01\x22\x01\x41\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x49\x03\x4a\x03\x00\x00\x39\x00\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\xd3\x03\x00\x00\x00\x00\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd8\x03\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\xd9\x03\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x84\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x02\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x14\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x15\x01\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x0d\x04\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x2f\x03\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x57\x03\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\xd9\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x1b\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x1c\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x1d\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x1e\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x29\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x2a\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x75\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x7e\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x83\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\xf4\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xf5\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\xf6\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xf7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x98\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd5\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x04\x03\x76\x00\x11\x01\x78\x00\x34\x00\x79\x00\x35\x00\x41\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb1\x01\x76\x00\x11\x01\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x10\x01\x76\x00\x11\x01\x78\x00\x34\x00\x79\x00\x35\x00\x41\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x01\x96\x01\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x96\x01\x00\x00\x35\x00\x00\x00\x41\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x91\x00\x92\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x5d\x02\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x39\x00\x00\x00\x00\x00\x5e\x02\xda\x00\xdb\x00\x00\x00\x5f\x02\x12\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x02\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x5e\x02\xda\x00\xdb\x00\x00\x00\x5f\x02\x60\x02\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x4f\x03\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\xa1\x01\x37\x00\x38\x00\x3a\x00\x00\x00\x41\x00\x3b\x00\x3c\x00\x39\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\xa2\x01\x37\x00\x38\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x3d\x01\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x41\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x05\x02\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x9a\x00\x37\x00\x38\x00\x3a\x00\x00\x00\x41\x00\x3b\x00\x3c\x00\x39\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x16\x01\x37\x00\x38\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x18\x01\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x41\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x3d\x01\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x41\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
+happyTable = HappyA# "\x00\x00\x86\x00\x0f\x02\x87\x00\x07\x00\x09\x00\x20\x03\x21\x03\x22\x03\x94\x00\xb5\x02\x66\x01\x15\x04\xe2\x02\x87\x01\x68\x01\xff\x01\xbd\x02\x94\x00\xb9\x01\x68\x01\xef\x02\xe3\x02\x0c\x04\x16\x04\x17\x04\x94\x00\x51\x02\x21\x04\xc0\x03\x41\x02\x1c\x04\x94\x00\xeb\x02\xe5\x03\xbd\x03\x95\x00\x68\x01\xef\x02\x29\x02\x06\x04\xc1\x02\x68\x01\xff\x01\x00\x02\x0e\x04\x76\x03\xc1\x02\x68\x01\xf7\x02\xc0\x02\xc1\x02\x40\x02\x68\x01\xf7\x02\x50\x01\xcc\x00\x29\x02\xd0\x00\x68\x01\x45\x03\x29\x02\xf1\x03\x29\x02\xec\x01\x68\x01\x6f\x03\xbe\xff\xc7\x03\xbf\x03\xc0\x03\x02\x02\x68\x01\x6f\x03\x52\x02\xe8\x01\x3a\x01\xa8\x00\x54\x02\xaa\x00\x6f\x01\x33\x03\x02\x03\xd8\x02\x92\x01\x93\x01\xc8\x03\x8c\x00\x61\x03\x8d\x00\x1f\x04\xcd\x00\xa8\x00\xd8\x02\x56\x03\xcd\x00\x3b\x01\xcd\x00\xd7\x00\x04\x04\xd9\x02\x8b\x01\x01\x04\x01\x03\x02\x03\xb9\x01\xe6\x02\xad\x00\x3c\x01\x51\x01\xe9\x01\x70\x01\xbe\x02\x18\x00\x15\x03\x16\x03\xa1\x00\xa2\x00\xd8\x00\x63\x03\x68\x01\x45\x03\x57\x03\xee\x01\x8e\x00\xee\x01\xf9\x03\x2c\x00\xba\x01\x2d\x00\x7f\x03\x17\x03\xc1\x01\xc2\x01\x2f\x00\xed\x02\x26\x04\xb5\x03\x30\x00\x94\x01\x31\x00\x70\x03\x13\x04\xb5\x02\x40\x00\x18\x00\xf3\x03\xff\x03\x71\x03\x2c\x00\x56\x02\x2d\x00\xf8\x02\xb6\x03\xc1\x01\xc2\x01\x2f\x00\xf9\x02\x46\x03\xf6\xfe\x30\x00\xb0\x02\x31\x00\x55\x02\xc2\x02\xb1\x02\x88\x01\xb2\x02\xed\x01\x89\x01\xc2\x02\x8a\x01\xf0\x02\x23\x03\xc2\x02\x96\x00\x24\x03\x18\x04\x56\x02\xc1\x03\x01\x02\x19\x04\x8b\x01\xc2\x03\x96\x00\x8c\x01\x3e\x00\x14\x00\x3f\x00\xf1\x02\x40\x00\x18\x00\x96\x00\x14\x00\xbb\x00\x14\x00\xbb\x00\xbc\x00\x96\x00\xbc\x00\x23\x03\xf4\x03\x10\x02\x24\x03\x25\x03\x67\x01\x67\x01\x03\x02\x55\x02\x1a\x04\x08\x00\x08\x00\x08\x00\x3e\x00\x14\x00\x3f\x00\x32\x00\x40\x00\x18\x00\x47\x03\xc1\x03\x14\x00\x03\x03\x56\x02\xc2\x03\x83\x01\x33\x00\xef\x01\x34\x00\xf4\x01\x35\x00\x25\x03\xde\x02\x36\x00\x37\x00\x38\x00\x14\x00\xbb\x00\x32\x00\xaf\x01\xbc\x00\x39\x00\x18\x04\x14\x00\x03\x03\x80\x01\x19\x04\xde\x03\x33\x00\xc1\x03\x34\x00\xdf\x03\x35\x00\xc2\x03\x7b\x01\x36\x00\x37\x00\x38\x00\x14\x00\xbb\x00\x88\x03\x93\x02\xbc\x00\x39\x00\x74\x01\x14\x00\xbb\x00\xe0\x03\xc9\x00\xbc\x00\x0d\x00\x0e\x00\x0f\x00\x95\x01\x1a\x04\x3a\x00\x06\x01\x0f\x00\x3b\x00\x3c\x00\xa1\x02\x3d\x00\x14\x04\x5e\x03\x0e\x00\x0f\x00\x3e\x00\x14\x00\x3f\x00\x00\x04\xa7\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\xa2\x02\xd8\x02\x3b\x00\x3c\x00\x2d\x03\x3d\x00\x41\x00\xba\x03\x8f\x01\x2e\x03\x1b\x00\xfe\x03\xf2\x03\x89\x03\x8a\x03\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xac\x00\xff\x03\x9c\x02\x16\x00\x2c\x00\x90\x01\x2d\x00\x41\x00\xc0\x01\xc1\x01\xc2\x01\x2f\x00\xaf\x00\xb0\x00\xb1\x00\x30\x00\xd5\x02\x31\x00\xcf\x01\x56\x01\x0e\x00\x0f\x00\x7e\x01\x14\x00\x15\x00\xd6\x03\x81\x01\x7d\x03\x7e\x03\xdd\x02\x9d\x02\x9e\x02\x14\x00\xbb\x00\x2c\x00\x82\x01\x2d\x00\xd1\x03\xd2\x03\x7f\x01\x2c\x01\x84\x01\x0a\x00\xd0\x01\xd1\x01\xa0\x03\x0c\x00\x31\x00\x0d\x00\x0e\x00\x0f\x00\xd7\x03\x88\x02\x49\x01\x12\x00\xd2\x01\x4f\x01\x96\x03\xe0\x01\x14\x00\x15\x00\x79\x03\xc9\x00\x2c\x01\x0d\x00\x0e\x00\x0f\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xa8\x01\x95\x01\xdb\x02\xf6\x02\x14\x00\x15\x00\x88\x03\x17\x00\x18\x00\x14\x00\x15\x00\x2b\x00\x17\x00\x18\x00\x3e\x00\x14\x00\x3f\x00\x14\x00\x15\x00\x32\x00\x17\x00\x18\x00\x19\x00\x7a\x01\xe3\x03\xe4\x03\x93\x02\x07\x01\xab\x01\x33\x00\x2c\x00\x34\x00\x94\x02\x35\x00\x7b\x01\x19\x00\x36\x00\x37\x00\x38\x00\x2c\x01\xa1\x03\xa2\x03\xa3\x03\x2c\x00\x39\x00\x2d\x00\xb0\x01\x7b\x03\x4d\x01\x32\x00\x7f\x03\x14\x00\x15\x00\x23\x02\x24\x02\x7b\x01\x31\x00\x2c\x01\xed\x03\x33\x00\x91\x03\x34\x00\x92\x03\x35\x00\x40\x00\x18\x00\x36\x00\x37\x00\x38\x00\xa7\x02\x1e\x00\x1f\x00\x14\x00\x15\x00\x39\x00\x17\x00\x18\x00\x2b\x01\x3a\x00\x4b\x02\x4c\x02\x3b\x00\x3c\x00\x44\x03\x3d\x00\x75\x01\x2c\x01\x81\x03\x13\x00\xc9\x00\x19\x00\x0d\x00\x0e\x00\x0f\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa4\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xb5\x01\x41\x00\x3a\x00\x8d\x02\xb6\x01\x3b\x00\x3c\x00\x8e\x02\x3d\x00\xb7\x01\xa6\x03\x14\x00\x15\x00\x19\x00\x17\x00\x18\x00\x1e\x00\x1f\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x9e\x03\xa7\x00\x32\x00\xa9\x00\x2c\x00\x19\x00\x2d\x00\x41\x00\xef\x01\xc0\x02\x95\x01\xf0\x01\x33\x00\xb1\x03\x34\x00\xa0\x03\x35\x00\x31\x00\xaf\x03\x36\x00\x37\x00\x38\x00\xb4\x03\x3e\x00\x14\x00\x3f\x00\x2c\x00\x39\x00\x2d\x00\xa8\x01\xac\x00\x86\x02\xe7\x02\x2f\x00\xb8\x03\x1e\x00\x1f\x00\x30\x00\xc3\x01\x31\x00\x9c\x03\x9d\x03\xaf\x00\xb0\x00\xb1\x00\xa1\x00\xa2\x00\x1a\x03\xa7\x03\xe0\x01\x14\x00\xa3\x02\x81\x03\xc9\x00\xa4\x02\x0d\x00\x0e\x00\x0f\x00\x29\x02\x25\x02\x26\x02\x3a\x00\xa9\x03\xaa\x03\x3b\x00\x27\x02\x37\x03\x3d\x00\x76\x01\x31\x01\x48\x03\xa4\x00\xc9\x00\xa5\x00\x0d\x00\x0e\x00\x0f\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x1c\x03\x1d\x03\xf2\x03\xa3\x03\x51\x03\x14\x00\x15\x00\x41\x00\x17\x00\x18\x00\x32\x00\xb0\x01\x14\x00\x3f\x00\x88\x01\x72\x01\x18\x00\x89\x01\xf0\x01\xb8\x02\x33\x00\xc6\x02\x34\x00\x19\x00\x35\x00\x2c\x02\xb8\x00\x36\x00\x37\x00\x38\x00\x8b\x01\x72\x03\x32\x00\x8c\x01\x2c\x00\x39\x00\x2d\x00\x14\x00\x32\x03\xcc\x03\x2e\x00\x2f\x00\x33\x00\xbc\x02\x34\x00\x30\x00\x35\x00\x31\x00\xec\x02\x36\x00\x37\x00\x38\x00\x3e\x00\x14\x00\x3f\x00\xcd\x03\xce\x03\x39\x00\xcf\x03\xd9\x02\xc9\x00\x12\x03\x0d\x00\x0e\x00\x0f\x00\x2c\x00\x9e\x01\x2d\x00\xa8\x01\x3a\x00\xa9\x01\xf2\x02\x3b\x00\x3c\x00\x14\x03\x3d\x00\x2c\x03\x88\x00\x31\x00\x3e\x00\x14\x00\x3f\x00\x89\x00\x8a\x00\x15\x02\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x4b\x02\x43\x03\x3b\x00\x3c\x00\x17\x02\x3d\x00\x41\x00\x14\x00\x15\x00\xe4\x01\x17\x00\x18\x00\x1f\x02\x9c\x01\x9d\x01\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x9e\x01\x3e\x00\x14\x00\x3f\x00\x19\x00\x14\x00\x15\x00\x41\x00\x17\x00\x18\x00\x32\x00\x5b\x03\x96\x02\x3e\x00\x14\x00\x3f\x00\x63\x01\x64\x01\x65\x01\x66\x01\x33\x00\x20\x02\x34\x00\x19\x00\x35\x00\x08\x03\x09\x03\x36\x00\x37\x00\x38\x00\x30\x02\x39\x03\xb9\x00\x6d\x03\x9a\x02\x39\x00\xba\x00\xc4\x02\x9a\x02\x14\x00\x15\x00\x32\x00\x72\x01\x18\x00\x0f\x04\x10\x04\x11\x04\x31\x02\x14\x00\xbb\x00\x3d\x02\x33\x00\xbc\x00\x34\x00\x9b\x03\x35\x00\x9c\x03\x73\x01\x36\x00\x37\x00\x38\x00\x39\x03\xd6\xfe\x13\x00\xd6\xfe\x4d\xfe\x39\x00\x4d\xfe\xe9\x01\x3a\x00\x0a\x03\x0b\x03\x3b\x00\x3c\x00\x3f\x02\x3d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x3e\x00\x14\x00\x3f\x00\x43\x02\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xf9\x01\x14\x00\x3f\x00\x19\x00\x72\x01\x18\x00\x5f\xfe\x41\x00\x5f\xfe\x3a\x00\x0f\x03\x10\x03\x3b\x00\x3c\x00\x69\xfe\x3d\x00\x69\xfe\x4a\x02\x3a\x03\x3b\x03\x3c\x03\x3d\x03\x3e\x03\x6c\x02\xdb\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x6a\xfe\x3f\x03\x6a\xfe\x34\x00\x6b\xfe\x35\x00\x6b\xfe\x41\x00\x36\x00\x37\x00\x38\x00\xc4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\x39\x00\x47\x02\xc9\x03\x3c\x03\x3d\x03\x3e\x03\x6d\x02\x6e\x02\x3e\x00\x14\x00\x3f\x00\x94\x03\x5f\x00\xbd\x03\x60\x00\x3f\x03\x4f\x02\x34\x00\x96\x03\x35\x00\xae\x02\x61\x01\x36\x00\x37\x00\x38\x00\x0a\x00\xa3\x01\xa4\x01\x59\x02\xc9\x00\x39\x00\x0d\x00\x0e\x00\x0f\x00\x3a\x00\x68\x01\xb3\x02\x3b\x00\x3c\x00\x6f\x02\x3d\x00\xff\x03\xda\x00\xdb\x00\x76\x02\xa7\x00\xa8\x00\xa9\x00\xaa\x00\x90\x02\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x68\x01\x69\x01\x94\x03\x5f\x00\x95\x03\x60\x00\x91\x02\x41\x00\x3a\x00\x96\x03\x9f\x02\x3b\x00\x3c\x00\x6d\x01\x3d\x00\xc8\x00\x36\x03\x37\x02\xac\x00\xc9\x00\xad\x00\x0d\x00\x0e\x00\x0f\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xaf\x00\xb0\x00\xb1\x00\x6c\xfe\x0a\x00\x6c\xfe\x0b\x00\x41\x00\x0c\x00\x4b\x01\x0d\x00\x0e\x00\x0f\x00\x00\x03\x37\x02\x38\x02\x12\x00\x68\x01\x6a\x01\x4d\x03\xe0\x01\xda\x03\xda\x00\xdb\x00\xc9\x00\xc5\x01\x0d\x00\x0e\x00\x0f\x00\x0d\x02\x8a\x00\x0a\x00\xb9\x00\x0b\x00\xc7\x01\x0c\x00\xba\x00\x0d\x00\x0e\x00\x0f\x00\x36\x02\x37\x02\x38\x02\x12\x00\x68\x01\x6b\x01\xdf\x01\xe0\x01\x14\x00\xbb\x00\xca\x01\xc9\x00\xbc\x00\x0d\x00\x0e\x00\x0f\x00\xbf\x00\xc0\x00\x0a\x00\x13\x00\x0b\x00\x6d\xfe\x0c\x00\x6d\xfe\x0d\x00\x0e\x00\x0f\x00\x1f\x03\x20\x03\x38\x02\x12\x00\xc3\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xd4\x01\xa1\x00\xa2\x00\x31\x01\x0a\x00\xa4\x00\x0b\x00\xa5\x00\x0c\x00\xea\x01\x0d\x00\x0e\x00\x0f\x00\x19\x00\xcc\x01\x4d\x01\x12\x00\x4e\x01\x4f\x01\xc7\x02\x86\x03\x0a\x02\x0d\x00\x0e\x00\x0f\x00\x0a\x00\x6e\xfe\x0b\x00\x6e\xfe\x0c\x00\xc2\x00\x0d\x00\x0e\x00\x0f\x00\x60\x01\x61\x01\x4d\x01\x12\x00\x4e\x01\x4f\x01\xc7\x00\x14\x00\x15\x00\x0e\x01\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x29\x01\x0c\x00\x87\x03\x0d\x00\x0e\x00\x0f\x00\x44\x01\xe9\x03\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x4b\x02\x4c\x02\x46\x01\x4d\x02\x4e\x02\x97\x03\x98\x03\x99\x03\x6f\xfe\x13\x00\x6f\xfe\x14\x00\x15\x00\x19\x00\x17\x00\x18\x00\x50\x01\x0b\x01\x88\x00\xea\x03\x0c\x01\x25\x04\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x1c\x00\x1d\x00\x19\x00\x3e\x00\x14\x00\x3f\x00\x21\x04\x40\x00\x18\x00\x13\x00\x50\x01\x14\x00\x15\x00\x19\x00\x17\x00\x18\x00\x83\x03\x1f\x04\x0d\x00\x0e\x00\x0f\x00\x1c\x04\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x1e\x04\x76\xfe\x19\x00\x76\xfe\x0a\x00\x13\x00\xe1\x01\x77\xfe\xc9\x00\x77\xfe\x0d\x00\x0e\x00\x0f\x00\x19\x00\x14\x04\x9b\x01\x5f\x03\x9c\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xa1\x00\xa2\x00\x0c\x04\x13\x00\x12\x02\x68\x01\x13\x02\x14\x00\x15\x00\x04\x04\x17\x00\x18\x00\x03\x04\x19\x00\x51\x01\xa1\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xa1\x00\xa2\x00\x06\x04\x13\x00\x19\x00\x0a\x04\x5e\x03\x0e\x00\x0f\x00\x77\x03\x99\x02\x9a\x02\xc4\x02\x19\x00\xa7\x00\xa8\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\xae\x01\x0b\x00\xaf\x01\x0c\x00\x0a\x04\x0d\x00\x0e\x00\x0f\x00\x0c\x02\x0d\x02\x49\x01\x12\x00\x19\x00\x73\x03\x14\x02\x68\x01\x13\x02\x9b\x01\x0a\x00\x9c\x01\x0b\x00\xac\x00\x0c\x00\x29\x02\x0d\x00\x0e\x00\x0f\x00\xe9\x02\xea\x02\x49\x01\x12\x00\xf0\x03\x4a\x01\xaf\x00\xb0\x00\xb1\x00\x19\x02\x1a\x02\x0a\x00\x74\x03\x0b\x00\x92\x01\x0c\x00\x29\x02\x0d\x00\x0e\x00\x0f\x00\x59\xff\x07\x04\x11\x00\x12\x00\xf6\x03\x14\x00\x15\x00\xf7\x03\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\xf9\x03\x0c\x00\xa1\x02\x0d\x00\x0e\x00\x0f\x00\xfb\x03\xe6\x03\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\xfc\x03\x0b\x00\xfd\x03\x0c\x00\xbc\x03\x0d\x00\x0e\x00\x0f\x00\xbf\x03\xf7\x03\x11\x00\x12\x00\x19\x00\x3c\x02\xc6\x03\x0d\x00\x0e\x00\x0f\x00\x4b\x01\x0a\x00\x29\x02\x0b\x00\xcc\x03\x0c\x00\x29\x02\x0d\x00\x0e\x00\x0f\x00\x78\x02\xc6\x03\x11\x00\x12\x00\xc9\x01\xca\x01\x14\x00\x15\x00\x9b\x03\x17\x00\x18\x00\x0a\x00\xfd\xfd\x0b\x00\x13\x00\x0c\x00\xdc\x03\x0d\x00\x0e\x00\x0f\x00\xe3\x03\xca\x03\x11\x00\x12\x00\x19\x00\x0c\x02\x0d\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\xe1\x03\x0c\x00\xe2\x03\x0d\x00\x0e\x00\x0f\x00\x79\x03\xab\x03\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x7b\x03\x7d\x03\x13\x00\xa1\x02\x82\x01\x70\x01\x82\x03\x0d\x00\x0e\x00\x0f\x00\x94\x02\x95\x02\x96\x02\x19\x00\x85\x03\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x1e\x00\x0c\x00\x8d\x03\x0d\x00\x0e\x00\x0f\x00\x8e\x03\xd4\x02\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\xe1\x02\x0c\x00\xc4\x00\x0d\x00\x0e\x00\x0f\x00\x08\x03\xfc\x02\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xa0\x03\xad\x03\x13\x00\xaf\x03\xb1\x03\x14\x00\x15\x00\xb3\x03\x17\x00\x18\x00\x98\x02\x99\x02\x9a\x02\x19\x00\x29\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xb4\x03\xb8\x03\x13\x00\x19\x00\xe7\x03\x5e\x03\x0e\x00\x0f\x00\xa9\x02\x99\x02\x9a\x02\xba\x03\x29\x03\x19\x00\x1c\x03\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x2c\x03\x0b\x00\x13\x00\x0c\x00\x29\x02\x0d\x00\x0e\x00\x0f\x00\x32\x03\x3b\x02\x11\x00\x12\x00\x19\x00\x2a\x03\x39\x03\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x2b\x03\x0b\x00\x35\x03\x0c\x00\x36\x03\x0d\x00\x0e\x00\x0f\x00\x4a\x03\x8e\x01\x11\x00\x12\x00\x19\x00\x4f\x03\x14\x00\x15\x00\x50\x03\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x05\x02\x0c\x00\x58\x03\x0d\x00\x0e\x00\x0f\x00\x98\x02\x93\x01\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x5d\x03\x0c\x00\xfe\xfd\x0d\x00\x0e\x00\x0f\x00\x61\x03\xf8\x01\x11\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x6f\x03\x0b\x00\xa1\x02\x0c\x00\xc4\x02\x0d\x00\x0e\x00\x0f\x00\x1e\x00\x0f\x01\x11\x00\x12\x00\x19\x00\x97\x01\x98\x01\x99\x01\x33\xff\xb7\x02\x0a\x00\xb8\x02\x0b\x00\xba\x02\x0c\x00\xbb\x02\x0d\x00\x0e\x00\x0f\x00\xbc\x02\x10\x00\x11\x00\x12\x00\xa1\x02\x14\x00\x15\x00\xc4\x02\x17\x00\x18\x00\x0a\x00\xc6\x02\x0b\x00\x13\x00\x0c\x00\xd4\x02\x0d\x00\x0e\x00\x0f\x00\xe1\x02\xae\x01\xd0\x03\x12\x00\x19\x00\xe2\x02\x98\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x29\x02\x0b\x00\x13\x00\x0c\x00\xe5\x02\x0d\x00\x0e\x00\x0f\x00\xe7\x02\xeb\x02\xa6\x02\x12\x00\x19\x00\xef\x02\xf4\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xf5\x02\xf6\x02\x13\x00\xfe\x02\xe8\x03\x5e\x03\x0e\x00\x0f\x00\xb7\x01\x98\x01\x99\x01\x05\x02\xff\x02\x19\x00\x00\x03\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x07\x03\x0c\x00\x08\x03\x0d\x00\x0e\x00\x0f\x00\x0d\x03\x0e\x03\xa8\x02\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x0f\x03\x0c\x00\x12\x03\x0d\x00\x0e\x00\x0f\x00\x8c\x00\x1a\x03\xaa\x02\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x17\x02\x0c\x00\x1b\x02\x0d\x00\x0e\x00\x0f\x00\x22\x02\x23\x02\x71\x01\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x2c\x02\x0c\x00\x2e\x02\x0d\x00\x0e\x00\x0f\x00\x2f\x02\xc2\x00\xce\x01\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x33\x02\x0b\x00\x13\x00\x0c\x00\x34\x02\x0d\x00\x0e\x00\x0f\x00\x35\x02\x36\x02\xd3\x01\x12\x00\x19\x00\x92\x01\x3a\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x3f\x02\x0b\x00\x3b\x02\x0c\x00\x45\x02\x0d\x00\x0e\x00\x0f\x00\xcf\x00\x98\x00\xe5\x01\x12\x00\x19\x00\x46\x02\x14\x00\x15\x00\x47\x02\x17\x00\x18\x00\x0a\x00\x49\x02\x0b\x00\x13\x00\x0c\x00\x38\xff\x0d\x00\x0e\x00\x0f\x00\x23\xfe\x4a\x02\xcf\x00\x12\x00\x19\x00\x92\x01\x54\x02\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x51\x02\x0c\x00\xa7\x01\x0d\x00\x0e\x00\x0f\x00\x78\x02\x83\x02\xd4\x00\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x8b\x02\x0c\x00\x8c\x02\x0d\x00\x0e\x00\x0f\x00\x9c\x01\x98\x02\x42\x01\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x0b\x00\x78\x02\x0c\x00\xa1\x02\x0d\x00\x0e\x00\x0f\x00\xa6\x02\x9f\x02\x55\x01\x12\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0a\x00\x13\x00\x47\x01\xac\x02\xc9\x00\xad\x02\x0d\x00\x0e\x00\x0f\x00\x0e\x02\xda\x00\xdb\x00\xb3\x02\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xd9\x00\xda\x00\xdb\x00\x13\x00\x2f\x02\xb7\x00\xb8\x00\xdc\x03\x5e\x03\x0e\x00\x0f\x00\x1e\x00\x6d\x01\x19\x00\x78\x01\x79\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xc7\x02\xc8\x02\x13\x00\x0d\x00\x0e\x00\x0f\x00\x5b\x02\x5c\x02\x5d\x02\xc9\x02\x7c\x01\x7d\x01\x83\x01\x19\x00\xcd\xfd\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xcf\xfd\xc7\x02\x67\x03\x13\x00\x0d\x00\x0e\x00\x0f\x00\xce\xfd\xca\x02\xcb\x02\xcc\x02\xd1\xfd\xcd\x02\x19\x00\xd4\xfd\xa6\x01\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xa7\x01\x13\x00\x56\x01\x0e\x00\x0f\x00\x57\x01\xa8\x01\xb4\x01\x68\x03\xcb\x02\xcc\x02\xaf\x01\xcd\x02\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xb3\x01\x13\x00\xbb\x01\x82\x03\x5e\x03\x0e\x00\x0f\x00\xbc\x01\xbd\x01\x63\x03\x5e\x03\x0e\x00\x0f\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x49\x01\x13\x00\xbf\x01\x85\x03\x5e\x03\x0e\x00\x0f\x00\xc0\x01\xc5\x01\x5d\x03\x5e\x03\x0e\x00\x0f\x00\x19\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x64\x03\xbe\x00\xb6\x00\xb7\x00\xb8\x00\xc7\x01\xb9\x00\xcc\x01\xce\x01\xd6\x01\xba\x00\xe4\x01\xe7\x01\x19\x00\xc4\x00\xf2\x01\x14\x00\x15\x00\xf3\x01\x17\x00\x18\x00\xce\x02\x14\x00\xbb\x00\xfe\x01\x05\x02\xbc\x00\xff\x01\x07\x02\x0a\x02\x8f\x00\x8e\x00\x14\x00\x15\x00\x19\x00\xcf\x02\x18\x00\x12\x02\xa8\x00\x08\x02\xaa\x00\xff\xff\xce\x02\x09\x02\xc4\x00\x90\x00\x91\x00\x98\x00\xc2\x00\xcf\x00\x19\x00\xd2\x00\x53\x01\x14\x00\x15\x00\xd4\x00\xcf\x02\x18\x00\xd3\x00\x46\x01\xff\xff\x3d\x01\xff\xff\x2c\x01\x55\x01\xff\xff\x58\x01\xff\xff\xad\x00\x8c\x00\xa0\x00\x19\x00\x14\x00\x15\x00\x54\x01\x17\x00\x18\x00\xa1\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x19\x00\x59\x01\x5a\x01\x14\x00\x15\x00\x00\x00\x17\x00\x18\x00\x00\x00\x14\x00\x15\x00\x00\x00\x17\x00\x18\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x19\x00\x14\x00\x15\x00\x00\x00\x17\x00\x18\x00\x19\x00\x14\x00\x15\x00\x00\x00\x17\x00\x18\x00\xb9\x00\x1b\x00\xbe\x00\x23\x04\xba\x00\x1e\x00\x1f\x00\x19\x00\x00\x00\x50\xff\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x14\x00\xbb\x00\x24\x04\x00\x00\xbc\x00\x00\x00\x20\x00\x1b\x00\x21\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x50\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x6a\x03\x60\x01\x00\x00\x6b\x03\x00\x00\x00\x00\x00\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x03\x00\x00\x2c\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x50\xff\x2c\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x1b\x00\x21\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x2c\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x50\xff\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x03\x00\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x1b\x00\x00\x00\x6b\x03\x00\x00\x2c\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x02\xed\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x02\x00\x00\x00\x00\xd2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x2b\x00\x1e\x00\x1f\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\xa7\x00\xa8\x00\x00\x00\x3e\x01\xd1\x02\x2c\x00\x21\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x23\x00\x6c\x03\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x66\x03\x00\x00\x2c\x00\x8e\x01\xac\x00\x00\x00\x00\x00\xd2\x02\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x02\x00\x00\x00\x00\xaf\x00\xb0\x00\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x9d\x00\x00\x00\x00\x00\x9e\x00\x2b\x00\x3f\x01\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\xa1\x00\xa2\x00\xa3\x00\x00\x00\xa4\x00\x00\x00\xa5\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x67\x03\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xd3\x02\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x9d\x00\x00\x00\x29\x02\x9e\x00\x00\x00\xbd\x01\x50\x00\xa0\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x00\xa2\x00\xa3\x00\x00\x00\xa4\x00\x00\x00\xa5\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x19\x03\x00\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x9d\x00\x4f\x00\x00\x00\x9e\x00\x00\x00\x9f\x00\x00\x00\xa0\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\xa1\x00\xa2\x00\xa3\x00\x00\x00\xa4\x00\x00\x00\xa5\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x19\x03\x00\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x24\x01\xa8\x00\xa9\x00\xaa\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x8a\x02\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x7b\x01\x51\x00\x26\x01\x27\x01\x00\x00\xad\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x28\x01\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1b\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x59\x02\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x24\x01\xa8\x00\xa9\x00\xaa\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xad\x01\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x7b\x01\x51\x00\x26\x01\x27\x01\x00\x00\xad\x00\x23\x00\x00\x00\x7c\x00\x00\x00\x27\x00\x28\x00\x29\x00\x52\x00\x00\x00\x53\x00\x28\x01\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x2b\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x34\x01\xa8\x00\xa9\x00\xaa\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x35\x01\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x2c\x01\x51\x00\x26\x01\x36\x01\x00\x00\xad\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x37\x01\x38\x01\x39\x01\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x24\x01\xa8\x00\xa9\x00\xaa\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x25\x01\x00\x00\x51\x00\x26\x01\x27\x01\x00\x00\xad\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x28\x01\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x24\x01\xa8\x00\xa9\x00\xaa\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x26\x01\x27\x01\x00\x00\xad\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x28\x01\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\xdc\x01\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x01\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\xde\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x02\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x7e\x02\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x02\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x02\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1b\x00\x62\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x6c\x00\x20\x00\x00\x00\x21\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x22\x00\x49\x01\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\x84\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x2b\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x1b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\xa5\x03\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x86\x01\x00\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x6d\x03\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x1b\x00\x43\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\xa5\x03\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\xc6\x00\x00\x00\x00\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\xa1\x01\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x1b\x00\x5f\x00\x00\x00\x60\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x86\x01\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x87\x01\x6c\x00\x00\x00\x00\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x2b\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x2c\x00\x6f\x00\x70\x00\x71\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x41\x03\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\xc6\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\xa1\x01\x42\x03\x00\x00\x00\x00\x2c\x00\x43\x03\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x54\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x2c\x00\x00\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x62\x00\x00\x00\x41\x03\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\xc6\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x03\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x03\x00\x00\x00\x00\x2c\x00\x43\x03\x62\x02\x43\x00\x1c\x00\x1d\x00\x63\x02\x1f\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x64\x02\x65\x02\x66\x02\x67\x02\x68\x02\x69\x02\x6a\x02\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\x6b\x02\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x6c\x02\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x00\x00\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x00\x00\x97\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x97\xfe\x00\x00\x00\x00\x97\xfe\x00\x00\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x00\x00\x97\xfe\x97\xfe\x97\xfe\x00\x00\x97\xfe\x1b\x00\x00\x00\x00\x00\x97\xfe\x1e\x00\x97\xfe\x97\xfe\x97\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x97\xfe\x00\x00\x00\x00\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\xbe\x00\x97\xfe\x97\xfe\x97\xfe\x00\x00\x97\xfe\x00\x00\x97\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x27\x03\x00\x00\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x97\xfe\x00\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\xfe\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\xfe\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1b\x00\x5c\x00\x5d\x00\x5e\x00\x1e\x00\x5f\x00\x00\x00\x60\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xbe\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\xfd\x01\x00\x00\x52\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\xdf\x00\x52\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x17\x01\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x39\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\xdf\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x3a\x00\x60\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x92\x00\x37\x00\x38\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x39\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\xdf\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x3a\x00\x60\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\xfb\x01\x92\x00\x37\x00\x38\x00\x50\x00\x00\x00\x00\x00\x51\x00\x00\x00\x39\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\xdf\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x3a\x00\x60\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\xff\x00\x00\x00\x00\x2c\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x1b\x00\x43\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x2e\xff\x2e\xff\x2e\xff\x2e\xff\x2e\xff\x2e\xff\x2e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\xff\x00\x00\x55\x00\x00\x00\x00\x00\x56\x00\x7e\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x2e\xff\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\xa8\x00\x00\x00\xaa\x00\x2b\x00\x00\x00\x00\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x20\x00\x53\x01\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x2c\x00\x22\x00\x1e\x00\x2c\x01\x00\x00\x00\x00\x00\x00\x00\x00\xad\x00\x00\x00\x41\x01\x00\x00\xab\x00\xac\x00\x54\x01\xad\x00\x42\x01\x00\x00\x00\x00\xbe\x00\xc4\x03\x00\x00\x00\x00\x00\x00\x1b\x00\xaf\x00\xb0\x00\xb1\x00\x1e\x00\x1f\x00\x00\x00\x5c\x01\xa8\x00\x00\x00\xaa\x00\xc5\x03\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x5d\x01\x00\x00\x00\x00\xad\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x5e\x01\x00\x00\x5f\x01\x60\x01\x00\x00\x00\x00\x00\x00\x2c\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x2b\x00\x5c\x01\xa8\x00\x00\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x1b\x00\x2c\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x5d\x01\x00\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x01\x20\x00\xe3\x01\x21\x00\x4d\x01\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x2c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x76\x03\x21\x00\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x1b\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x2a\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x0e\x01\x00\x00\xae\x02\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\xcb\x00\x00\x00\x00\x00\x2b\x00\x27\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x2c\x00\x1e\x00\x1f\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x22\x00\x2b\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\xae\x02\x00\x00\x00\x00\x20\x00\x2c\x00\x21\x00\x1b\x00\x43\x00\x00\x00\x2b\x00\x1e\x00\x1f\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x0e\x01\x2c\x00\x00\x00\x1e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1b\x00\xbe\x00\x00\x00\x2b\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x20\x00\x2c\x00\x21\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x2c\x00\x22\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x09\x01\x00\x00\x0a\x01\x1b\x00\x43\x00\x00\x00\x2c\x00\x1e\x00\x1f\x00\x00\x00\x0b\x01\x2b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x28\x03\x00\x00\x00\x00\x0e\x01\x1b\x00\x43\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2b\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\xc6\x00\x00\x00\x2b\x00\x1b\x00\x43\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x1b\x00\xc6\x00\x00\x00\x2b\x00\x1e\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\x00\x00\x00\x00\x1b\x00\xbe\x00\x2c\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x05\x03\xab\x00\xac\x00\x2c\x00\xad\x00\xa9\x03\x1b\x00\xd7\x02\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\xaf\x00\xb0\x00\xb1\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x05\x03\x1b\x00\x00\x00\x2c\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\x2c\x00\x2b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2b\x00\x00\x00\x00\x00\xab\x00\xac\x00\x00\x00\xad\x00\x2b\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xaf\x00\xb0\x00\xb1\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x2b\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x39\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x02\x79\x02\x7a\x02\x7b\x02\x00\x00\x7c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\xac\x00\x00\x00\xad\x00\xae\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x53\x03\x7a\x02\x7b\x02\x00\x00\x7c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x54\x03\x7b\x02\x00\x00\x7c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xd5\x03\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd6\x01\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x01\x00\x00\xfb\x02\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd6\x01\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x01\x00\x00\x42\x02\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x71\x02\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x8e\x02\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd6\x01\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x01\x00\x00\xd9\x01\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd6\x01\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x01\x00\x00\xde\x01\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x70\x02\xd7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x5a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x08\x04\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\xee\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd4\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x8e\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x8f\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x90\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xad\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x2f\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x52\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x59\x03\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xde\x02\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\xfa\x02\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x8f\x02\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x99\x00\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x12\x01\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x13\x01\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x84\x00\x85\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x2c\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x2d\x01\x2e\x01\x00\x00\x00\x00\x2f\x01\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\x30\x01\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x31\x01\x20\x01\xa4\x00\x21\x01\x32\x01\x41\x00\x19\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x1a\x01\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x01\x1c\x01\x00\x00\x7f\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\xa0\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x00\x00\x20\x01\x00\x00\x21\x01\x22\x01\x41\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\xa0\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x00\x00\x20\x01\x00\x00\x21\x01\x22\x01\x41\x00\x19\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x81\x02\x00\x00\x00\x00\x00\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\x19\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x88\x02\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\xa0\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x00\x00\x20\x01\x00\x00\x21\x01\x22\x01\x41\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\xa0\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x00\x00\x20\x01\x00\x00\x21\x01\x22\x01\x41\x00\x19\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x1e\x01\x00\x00\x00\x00\x1f\x01\xa0\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\xa1\x00\xa2\x00\x00\x00\x20\x01\x00\x00\x21\x01\x22\x01\x41\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x4a\x03\x4b\x03\x00\x00\x39\x00\x00\x00\x4c\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\xd3\x03\x00\x00\x00\x00\x00\x00\x4c\x03\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd8\x03\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\xd9\x03\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x84\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x02\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x14\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x15\x01\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x0d\x04\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x30\x03\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x58\x03\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\xda\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x1b\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x1c\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x1d\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x1e\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x29\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x2a\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x75\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x7e\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x83\x02\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\xf4\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xf5\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\xf6\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xf7\x01\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x98\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\xd5\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x75\x00\x76\x00\x77\x00\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x05\x03\x76\x00\x11\x01\x78\x00\x34\x00\x79\x00\x35\x00\x41\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb1\x01\x76\x00\x11\x01\x78\x00\x34\x00\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x10\x01\x76\x00\x11\x01\x78\x00\x34\x00\x79\x00\x35\x00\x41\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x01\x96\x01\x79\x00\x35\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x96\x01\x00\x00\x35\x00\x00\x00\x41\x00\x36\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x91\x00\x92\x00\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x5d\x02\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x39\x00\x00\x00\x00\x00\x5e\x02\xda\x00\xdb\x00\x00\x00\x5f\x02\x13\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x02\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x5e\x02\xda\x00\xdb\x00\x00\x00\x5f\x02\x60\x02\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x50\x03\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\xa1\x01\x37\x00\x38\x00\x3a\x00\x00\x00\x41\x00\x3b\x00\x3c\x00\x39\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\xa2\x01\x37\x00\x38\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x3d\x01\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x41\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x05\x02\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x9a\x00\x37\x00\x38\x00\x3a\x00\x00\x00\x41\x00\x3b\x00\x3c\x00\x39\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x16\x01\x37\x00\x38\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x18\x01\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x41\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x3d\x01\x37\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x3a\x00\x00\x00\x00\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x41\x00\x3b\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x14\x00\x3f\x00\x16\x00\x40\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\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 (6, 588) [
 	(6 , happyReduce_6),
@@ -2088,7 +2088,7 @@ 	case happyOut21 happy_x_3 of { happy_var_3 -> 
 	case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> 
 	happyIn13
-		 (LanguagePragma (happy_var_1 <^^> happy_var_4 <** (happy_var_1:reverse (snd happy_var_2) ++ reverse happy_var_3 ++ [happy_var_4])) (fst happy_var_2)
+		 (LanguagePragma (happy_var_1 <^^> happy_var_4 <** (happy_var_1:snd happy_var_2 ++ reverse happy_var_3 ++ [happy_var_4])) (fst happy_var_2)
 	) `HappyStk` happyRest}}}}
 
 happyReduce_15 = happySpecReduce_3  4# happyReduction_15
@@ -2150,8 +2150,8 @@ 	 =  case happyOut16 happy_x_1 of { happy_var_1 -> 
 	case happyOut18 happy_x_2 of { happy_var_2 -> 
 	happyIn15
-		 (let (is,ds,ss1,b,inf) = happy_var_2
-                 in \os ss l -> Module (l <++> inf <** (ss ++ ss1) <?? b) happy_var_1 os is ds
+		 (let (is,ds,ss1,inf) = happy_var_2
+                 in \os ss l -> Module (l <++> inf <** (ss ++ ss1)) happy_var_1 os is ds
 	)}}
 
 happyReduce_21 = happyReduce 5# 7# happyReduction_21
@@ -2183,7 +2183,7 @@ 	case happyOutTok happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> 
 	happyIn17
-		 (let Loc l (StringTok s) = happy_var_2 in Just $ DeprText (happy_var_1 <^^> happy_var_3 <** [l,happy_var_3]) s
+		 (let Loc l (StringTok (s,_)) = happy_var_2 in Just $ DeprText (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) s
 	)}}}
 
 happyReduce_24 = happySpecReduce_3  8# happyReduction_24
@@ -2194,7 +2194,7 @@ 	case happyOutTok happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> 
 	happyIn17
-		 (let Loc l (StringTok s) = happy_var_2 in Just $ WarnText (happy_var_1 <^^> happy_var_3 <** [l,happy_var_3]) s
+		 (let Loc l (StringTok (s,_)) = happy_var_2 in Just $ WarnText (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) s
 	)}}}
 
 happyReduce_25 = happySpecReduce_0  8# happyReduction_25
@@ -2210,7 +2210,7 @@ 	case happyOut19 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
 	happyIn18
-		 (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], True,  happy_var_1 <^^> happy_var_3)
+		 (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], happy_var_1 <^^> happy_var_3)
 	)}}}
 
 happyReduce_27 = happySpecReduce_3  9# happyReduction_27
@@ -2221,7 +2221,7 @@ 	case happyOut19 happy_x_2 of { happy_var_2 -> 
 	case happyOut219 happy_x_3 of { happy_var_3 -> 
 	happyIn18
-		 (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], False, happy_var_1 <^^> happy_var_3)
+		 (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], happy_var_1 <^^> happy_var_3)
 	)}}}
 
 happyReduce_28 = happyReduce 4# 10# happyReduction_28
@@ -2486,7 +2486,7 @@ 	happyRest) tk
 	 = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> 
 	( do { checkEnabled PackageImports ;
-                                                      let { Loc l (StringTok s) = happy_var_1 } ;
+                                                      let { Loc l (StringTok (s,_)) = happy_var_1 } ;
                                                       return $ (Just s,[l]) })}
 	) (\r -> happyReturn (happyIn31 r))
 
@@ -2535,7 +2535,7 @@ 	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> 
 	happyIn34
 		 (let {(b,ml,s) = happy_var_1 ;
-                                                      l = (ml <?+> (happy_var_2 <^^> happy_var_5)) <** (s ++ happy_var_2:snd happy_var_3 ++ happy_var_4 ++ [happy_var_5])}
+                                                      l = (ml <?+> (happy_var_2 <^^> happy_var_5)) <** (s ++ happy_var_2:reverse (snd happy_var_3) ++ happy_var_4 ++ [happy_var_5])}
                                                  in ImportSpecList l b (reverse (fst happy_var_3))
 	) `HappyStk` happyRest}}}}}
 
@@ -2690,7 +2690,7 @@ happyReduction_79 (happy_x_1 `HappyStk`
 	happyRest) tk
 	 = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> 
-	( let Loc l (IntTok i) = happy_var_1 in checkPrec i >>= \i -> return (Just i, [l]))}
+	( let Loc l (IntTok (i,_)) = happy_var_1 in checkPrec i >>= \i -> return (Just i, [l]))}
 	) (\r -> happyReturn (happyIn41 r))
 
 happyReduce_80 = happySpecReduce_1  33# happyReduction_80
@@ -2769,9 +2769,9 @@ 	case happyOut72 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> 
 	case happyOut82 happy_x_4 of { happy_var_4 -> 
-	( do { (c,ts) <- checkSimpleType happy_var_2;
+	( do { dh <- checkSimpleType happy_var_2;
                        let {l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]};
-                       return (TypeDecl l c ts happy_var_4) })}}}}
+                       return (TypeDecl l dh happy_var_4) })}}}}
 	) (\r -> happyReturn (happyIn46 r))
 
 happyReduce_89 = happyMonadReduce 4# 37# happyReduction_89
@@ -2784,9 +2784,9 @@ 	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Family) -> 
 	case happyOut74 happy_x_3 of { happy_var_3 -> 
 	case happyOut117 happy_x_4 of { happy_var_4 -> 
-	( do { (c,ts) <- checkSimpleType happy_var_3;
+	( do { dh <- checkSimpleType happy_var_3;
                        let {l = nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** (happy_var_1:happy_var_2:snd happy_var_4)};
-                       return (TypeFamDecl l c ts (fst happy_var_4)) })}}}}
+                       return (TypeFamDecl l dh (fst happy_var_4)) })}}}}
 	) (\r -> happyReturn (happyIn46 r))
 
 happyReduce_90 = happyMonadReduce 5# 37# happyReduction_90
@@ -2817,11 +2817,11 @@ 	case happyOut83 happy_x_2 of { happy_var_2 -> 
 	case happyOut99 happy_x_3 of { happy_var_3 -> 
 	case happyOut111 happy_x_4 of { happy_var_4 -> 
-	( do { (cs,c,t) <- checkDataHeader happy_var_2;
-                       let { (qds,ss1,minf1) = happy_var_3; (mders,ss2,minf2) = happy_var_4 ;
-                             l = happy_var_1 <> happy_var_2 <+?> minf1 <+?> minf2 <** (ss1 ++ ss2)};
+	( do { (cs,dh) <- checkDataHeader happy_var_2;
+                       let { (qds,ss,minf) = happy_var_3;
+                             l = happy_var_1 <> happy_var_2 <+?> minf <+?> fmap ann happy_var_4 <** ss};
                        checkDataOrNew happy_var_1 qds;
-                       return (DataDecl l happy_var_1 cs c t (reverse qds) mders) })}}}}
+                       return (DataDecl l happy_var_1 cs dh (reverse qds) happy_var_4) })}}}}
 	) (\r -> happyReturn (happyIn46 r))
 
 happyReduce_92 = happyMonadReduce 6# 37# happyReduction_92
@@ -2838,11 +2838,11 @@ 	case happyOutTok happy_x_4 of { (Loc happy_var_4 KW_Where) -> 
 	case happyOut94 happy_x_5 of { happy_var_5 -> 
 	case happyOut111 happy_x_6 of { happy_var_6 -> 
-	( do { (cs,c,t) <- checkDataHeader happy_var_2;
-                       let { (gs,ss1,inf,b) = happy_var_5; (ds,ss2,minf) = happy_var_6 ;
-                             l = ann happy_var_1 <++> inf <+?> minf <** (snd happy_var_3 ++ (happy_var_4:ss1 ++ ss2)) <?? b};
+	( do { (cs,dh) <- checkDataHeader happy_var_2;
+                       let { (gs,ss,inf) = happy_var_5;
+                             l = ann happy_var_1 <++> inf <+?> fmap ann happy_var_6 <** (snd happy_var_3 ++ happy_var_4:ss)};
                        checkDataOrNew happy_var_1 gs;
-                       return (GDataDecl l happy_var_1 cs c t (fst happy_var_3) (reverse gs) ds) })}}}}}}
+                       return (GDataDecl l happy_var_1 cs dh (fst happy_var_3) (reverse gs) happy_var_6) })}}}}}}
 	) (\r -> happyReturn (happyIn46 r))
 
 happyReduce_93 = happyMonadReduce 4# 37# happyReduction_93
@@ -2855,9 +2855,9 @@ 	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Family) -> 
 	case happyOut83 happy_x_3 of { happy_var_3 -> 
 	case happyOut117 happy_x_4 of { happy_var_4 -> 
-	( do { (cs,c,t) <- checkDataHeader happy_var_3;
+	( do { (cs,dh) <- checkDataHeader happy_var_3;
                        let {l = nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** (happy_var_1:happy_var_2:snd happy_var_4)};
-                       return (DataFamDecl l cs c t (fst happy_var_4)) })}}}}
+                       return (DataFamDecl l cs dh (fst happy_var_4)) })}}}}
 	) (\r -> happyReturn (happyIn46 r))
 
 happyReduce_94 = happyMonadReduce 5# 37# happyReduction_94
@@ -2874,10 +2874,10 @@ 	case happyOut111 happy_x_5 of { happy_var_5 -> 
 	( do { -- (cs,c,t) <- checkDataHeader happy_var_4;
                        checkEnabled TypeFamilies ;
-                       let { (qds,ss1,minf1) = happy_var_4 ; (mders,ss2,minf2) = happy_var_5 ;
-                             l = happy_var_1 <> happy_var_3 <+?> minf1 <+?> minf2 <** (happy_var_2:ss1 ++ ss2) };
+                       let { (qds,ss,minf) = happy_var_4 ;
+                             l = happy_var_1 <> happy_var_3 <+?> minf <+?> fmap ann happy_var_5 <** happy_var_2:ss };
                        checkDataOrNew happy_var_1 qds;
-                       return (DataInsDecl l happy_var_1 happy_var_3 (reverse qds) mders) })}}}}}
+                       return (DataInsDecl l happy_var_1 happy_var_3 (reverse qds) happy_var_5) })}}}}}
 	) (\r -> happyReturn (happyIn46 r))
 
 happyReduce_95 = happyMonadReduce 7# 37# happyReduction_95
@@ -2898,10 +2898,10 @@ 	case happyOut111 happy_x_7 of { happy_var_7 -> 
 	( do { -- (cs,c,t) <- checkDataHeader happy_var_4;
                        checkEnabled TypeFamilies ;
-                       let {(gs,ss1,inf,b) = happy_var_6; (ds,ss2,minf) = happy_var_7 ;
-                            l = ann happy_var_1 <++> inf <+?> minf <** (happy_var_2:snd happy_var_4 ++ (happy_var_5:ss1 ++ ss2)) <?? b};
+                       let {(gs,ss,inf) = happy_var_6;
+                            l = ann happy_var_1 <++> inf <+?> fmap ann happy_var_7 <** (happy_var_2:snd happy_var_4 ++ happy_var_5:ss)};
                        checkDataOrNew happy_var_1 gs;
-                       return (GDataInsDecl l happy_var_1 happy_var_3 (fst happy_var_4) (reverse gs) ds) })}}}}}}}
+                       return (GDataInsDecl l happy_var_1 happy_var_3 (fst happy_var_4) (reverse gs) happy_var_7) })}}}}}}}
 	) (\r -> happyReturn (happyIn46 r))
 
 happyReduce_96 = happyMonadReduce 4# 37# happyReduction_96
@@ -2914,10 +2914,10 @@ 	case happyOut83 happy_x_2 of { happy_var_2 -> 
 	case happyOut91 happy_x_3 of { happy_var_3 -> 
 	case happyOut118 happy_x_4 of { happy_var_4 -> 
-	( do { (cs,c,vs) <- checkClassHeader happy_var_2;
-                       let {(fds,ss1,minf1) = happy_var_3;(mcs,ss2,minf2,b) = happy_var_4} ;
-                       let { l = nIS happy_var_1 <++> ann happy_var_2 <+?> minf1 <+?> minf2 <** (happy_var_1:ss1 ++ ss2) <?? b} ;
-                       return (ClassDecl l cs c vs fds mcs) })}}}}
+	( do { (cs,dh) <- checkClassHeader happy_var_2;
+                       let {(fds,ss1,minf1) = happy_var_3;(mcs,ss2,minf2) = happy_var_4} ;
+                       let { l = nIS happy_var_1 <++> ann happy_var_2 <+?> minf1 <+?> minf2 <** (happy_var_1:ss1 ++ ss2)} ;
+                       return (ClassDecl l cs dh fds mcs) })}}}}
 	) (\r -> happyReturn (happyIn46 r))
 
 happyReduce_97 = happyMonadReduce 3# 37# happyReduction_97
@@ -2928,9 +2928,9 @@ 	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Instance) -> 
 	case happyOut83 happy_x_2 of { happy_var_2 -> 
 	case happyOut123 happy_x_3 of { happy_var_3 -> 
-	( do { (cs,c,ts) <- checkInstHeader happy_var_2;
-                       let {(mis,ss,minf,b) = happy_var_3};
-                       return (InstDecl (nIS happy_var_1 <++> ann happy_var_2 <+?> minf <** (happy_var_1:ss) <?? b) cs c ts mis) })}}}
+	( do { (cs,ih) <- checkInstHeader happy_var_2;
+                       let {(mis,ss,minf) = happy_var_3};
+                       return (InstDecl (nIS happy_var_1 <++> ann happy_var_2 <+?> minf <** (happy_var_1:ss)) cs ih mis) })}}}
 	) (\r -> happyReturn (happyIn46 r))
 
 happyReduce_98 = happyMonadReduce 3# 37# happyReduction_98
@@ -2942,9 +2942,9 @@ 	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> 
 	case happyOut83 happy_x_3 of { happy_var_3 -> 
 	( do { checkEnabled StandaloneDeriving ;
-                       (cs, c, ts) <- checkInstHeader happy_var_3;
+                       (cs, ih) <- checkInstHeader happy_var_3;
                        let {l = nIS happy_var_1 <++> ann happy_var_3 <** [happy_var_1,happy_var_2]};
-                       return (DerivDecl l cs c ts) })}}}
+                       return (DerivDecl l cs ih) })}}}
 	) (\r -> happyReturn (happyIn46 r))
 
 happyReduce_99 = happyReduce 4# 37# happyReduction_99
@@ -3141,7 +3141,7 @@ 	case happyOut49 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
 	happyIn52
-		 (BDecls (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3]) <?? True ) (fst happy_var_2)
+		 (BDecls (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)
 	)}}}
 
 happyReduce_120 = happySpecReduce_3  43# happyReduction_120
@@ -3152,7 +3152,7 @@ 	case happyOut49 happy_x_2 of { happy_var_2 -> 
 	case happyOut219 happy_x_3 of { happy_var_3 -> 
 	happyIn52
-		 (BDecls (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3]) <?? False) (fst happy_var_2)
+		 (BDecls (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)
 	)}}}
 
 happyReduce_121 = happyMonadReduce 3# 44# happyReduction_121
@@ -3243,9 +3243,9 @@ 	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> 
 	case happyOut83 happy_x_3 of { happy_var_3 -> 
 	case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> 
-	( do { (cs,c,ts) <- checkInstHeader happy_var_3;
+	( do { (cs,ih) <- checkInstHeader happy_var_3;
                                                                let {l = happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_2,happy_var_4]};
-                                                               return $ InstSig l cs c ts })}}}}
+                                                               return $ InstSig l cs ih })}}}}
 	) (\r -> happyReturn (happyIn53 r))
 
 happyReduce_127 = happySpecReduce_1  45# happyReduction_127
@@ -3288,7 +3288,7 @@ 	case happyOut185 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
 	happyIn56
-		 (IPBinds (happy_var_1 <^^> happy_var_3 <** snd happy_var_2 <?? True ) (fst happy_var_2)
+		 (IPBinds (happy_var_1 <^^> happy_var_3 <** snd happy_var_2) (fst happy_var_2)
 	)}}}
 
 happyReduce_132 = happySpecReduce_3  47# happyReduction_132
@@ -3299,7 +3299,7 @@ 	case happyOut185 happy_x_2 of { happy_var_2 -> 
 	case happyOut219 happy_x_3 of { happy_var_3 -> 
 	happyIn56
-		 (IPBinds (happy_var_1 <^^> happy_var_3 <** snd happy_var_2 <?? False) (fst happy_var_2)
+		 (IPBinds (happy_var_1 <^^> happy_var_3 <** snd happy_var_2) (fst happy_var_2)
 	)}}}
 
 happyReduce_133 = happySpecReduce_3  48# happyReduction_133
@@ -3372,7 +3372,7 @@ 	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> 
 	case happyOut71 happy_x_4 of { happy_var_4 -> 
 	happyIn60
-		 (let Loc l (StringTok s) = happy_var_1 in (s, happy_var_2, happy_var_4, [l,happy_var_3])
+		 (let Loc l (StringTok (s,_)) = happy_var_1 in (Just s, happy_var_2, happy_var_4, [l,happy_var_3])
 	) `HappyStk` happyRest}}}}
 
 happyReduce_142 = happySpecReduce_3  51# happyReduction_142
@@ -3383,7 +3383,7 @@ 	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> 
 	case happyOut71 happy_x_3 of { happy_var_3 -> 
 	happyIn60
-		 (("", happy_var_1, happy_var_3, [happy_var_2])
+		 ((Nothing, happy_var_1, happy_var_3, [happy_var_2])
 	)}}}
 
 happyReduce_143 = happySpecReduce_3  52# happyReduction_143
@@ -3430,9 +3430,9 @@ 	case happyOut137 happy_x_4 of { happy_var_4 -> 
 	case happyOutTok happy_x_5 of { (Loc happy_var_5 Equals) -> 
 	case happyOut135 happy_x_6 of { happy_var_6 -> 
-	( do { let {Loc l (StringTok s) = happy_var_1};
+	( do { let {Loc l (StringTok (s,_)) = happy_var_1};
                                                                   e <- checkRuleExpr happy_var_4;
-                                                                  return $ Rule (nIS l <++> ann happy_var_6 <** snd happy_var_3 ++ [happy_var_5]) s happy_var_2 (fst happy_var_3) e happy_var_6 })}}}}}}
+                                                                  return $ Rule (nIS l <++> ann happy_var_6 <** l:snd happy_var_3 ++ [happy_var_5]) s happy_var_2 (fst happy_var_3) e happy_var_6 })}}}}}}
 	) (\r -> happyReturn (happyIn62 r))
 
 happyReduce_148 = happySpecReduce_0  54# happyReduction_148
@@ -3448,7 +3448,7 @@ 	case happyOutTok happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> 
 	happyIn63
-		 (let Loc l (IntTok i) = happy_var_2 in Just $ ActiveFrom  (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3])    (fromInteger i)
+		 (let Loc l (IntTok (i,_)) = happy_var_2 in Just $ ActiveFrom  (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3])    (fromInteger i)
 	)}}}
 
 happyReduce_150 = happyReduce 4# 54# happyReduction_150
@@ -3462,7 +3462,7 @@ 	case happyOutTok happy_x_3 of { happy_var_3 -> 
 	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightSquare) -> 
 	happyIn63
-		 (let Loc l (IntTok i) = happy_var_3 in Just $ ActiveUntil (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_2,l,happy_var_4]) (fromInteger i)
+		 (let Loc l (IntTok (i,_)) = happy_var_3 in Just $ ActiveUntil (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_2,l,happy_var_4]) (fromInteger i)
 	) `HappyStk` happyRest}}}}
 
 happyReduce_151 = happySpecReduce_0  55# happyReduction_151
@@ -3558,7 +3558,7 @@ 	 =  case happyOut69 happy_x_1 of { happy_var_1 -> 
 	case happyOutTok happy_x_2 of { happy_var_2 -> 
 	happyIn68
-		 (let Loc l (StringTok s) = happy_var_2 in ((fst happy_var_1,s),snd happy_var_1 ++ [l])
+		 (let Loc l (StringTok (s,_)) = happy_var_2 in ((fst happy_var_1,s),snd happy_var_1 ++ [l])
 	)}}
 
 happyReduce_162 = happySpecReduce_1  60# happyReduction_162
@@ -3864,7 +3864,7 @@ 	case happyOut203 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
 	happyIn80
-		 (amap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
 	)}}}
 
 happyReduce_195 = happySpecReduce_1  72# happyReduction_195
@@ -3895,14 +3895,13 @@ 		 (TyForall (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) (Just (reverse (fst happy_var_2))) Nothing happy_var_4
 	) `HappyStk` happyRest}}}}
 
-happyReduce_198 = happySpecReduce_3  74# happyReduction_198
-happyReduction_198 happy_x_3
-	happy_x_2
+happyReduce_198 = happySpecReduce_2  74# happyReduction_198
+happyReduction_198 happy_x_2
 	happy_x_1
 	 =  case happyOut84 happy_x_1 of { happy_var_1 -> 
-	case happyOut83 happy_x_3 of { happy_var_3 -> 
+	case happyOut83 happy_x_2 of { happy_var_2 -> 
 	happyIn83
-		 (TyForall (happy_var_1 <> happy_var_3) Nothing (Just happy_var_1) happy_var_3
+		 (TyForall (happy_var_1 <> happy_var_2) Nothing (Just happy_var_1) happy_var_2
 	)}}
 
 happyReduce_199 = happySpecReduce_1  74# happyReduction_199
@@ -3912,24 +3911,28 @@ 		 (happy_var_1
 	)}
 
-happyReduce_200 = happyMonadReduce 1# 75# happyReduction_200
-happyReduction_200 (happy_x_1 `HappyStk`
+happyReduce_200 = happyMonadReduce 2# 75# happyReduction_200
+happyReduction_200 (happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
 	happyRest) tk
 	 = happyThen (case happyOut76 happy_x_1 of { happy_var_1 -> 
-	( checkPContext happy_var_1)}
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleArrow) -> 
+	( checkPContext $ (amap (\l -> l <++> nIS happy_var_2 <** (srcInfoPoints l ++ [happy_var_2]))) happy_var_1)}}
 	) (\r -> happyReturn (happyIn84 r))
 
-happyReduce_201 = happyMonadReduce 3# 75# happyReduction_201
-happyReduction_201 (happy_x_3 `HappyStk`
+happyReduce_201 = happyMonadReduce 4# 75# happyReduction_201
+happyReduction_201 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
 	happy_x_2 `HappyStk`
 	happy_x_1 `HappyStk`
 	happyRest) tk
 	 = happyThen (case happyOut76 happy_x_1 of { happy_var_1 -> 
 	case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> 
 	case happyOut76 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleArrow) -> 
 	( do { checkEnabled TypeFamilies;
-                                              let {l = happy_var_1 <> happy_var_3 <** [happy_var_2]};
-                                              checkPContext (TyPred l $ EqualP l happy_var_1 happy_var_3) })}}}
+                                              let {l = happy_var_1 <> happy_var_3 <** [happy_var_2,happy_var_4]};
+                                              checkPContext (TyPred l $ EqualP l happy_var_1 happy_var_3) })}}}}
 	) (\r -> happyReturn (happyIn84 r))
 
 happyReduce_202 = happySpecReduce_3  76# happyReduction_202
@@ -4081,7 +4084,7 @@ 	case happyOut96 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
 	happyIn95
-		 ((fst happy_var_2, happy_var_1 : snd happy_var_2 ++ [happy_var_3], happy_var_1 <^^> happy_var_3,True)
+		 ((fst happy_var_2, happy_var_1 : snd happy_var_2 ++ [happy_var_3], happy_var_1 <^^> happy_var_3)
 	)}}}
 
 happyReduce_219 = happySpecReduce_3  86# happyReduction_219
@@ -4092,7 +4095,7 @@ 	case happyOut96 happy_x_2 of { happy_var_2 -> 
 	case happyOut219 happy_x_3 of { happy_var_3 -> 
 	happyIn95
-		 ((fst happy_var_2, happy_var_1 : snd happy_var_2 ++ [happy_var_3], happy_var_1 <^^> happy_var_3,False)
+		 ((fst happy_var_2, happy_var_1 : snd happy_var_2 ++ [happy_var_3], happy_var_1 <^^> happy_var_3)
 	)}}}
 
 happyReduce_220 = happySpecReduce_3  87# happyReduction_220
@@ -4168,20 +4171,18 @@ 		 (([happy_var_1],[],ann happy_var_1)
 	)}
 
-happyReduce_228 = happyMonadReduce 4# 92# happyReduction_228
-happyReduction_228 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
+happyReduce_228 = happyMonadReduce 3# 92# happyReduction_228
+happyReduction_228 (happy_x_3 `HappyStk`
 	happy_x_2 `HappyStk`
 	happy_x_1 `HappyStk`
 	happyRest) tk
 	 = happyThen (case happyOut102 happy_x_1 of { happy_var_1 -> 
 	case happyOut84 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleArrow) -> 
-	case happyOut103 happy_x_4 of { happy_var_4 -> 
+	case happyOut103 happy_x_3 of { happy_var_3 -> 
 	( do { checkEnabled ExistentialQuantification ;
                                                ctxt <- checkContext (Just happy_var_2) ;
                                                let {(mtvs,ss,ml) = happy_var_1} ;
-                                               return $ QualConDecl (ml <?+> ann happy_var_4 <** (ss ++ [happy_var_3])) mtvs ctxt happy_var_4 })}}}}
+                                               return $ QualConDecl (ml <?+> ann happy_var_3 <** ss) mtvs ctxt happy_var_3 })}}}
 	) (\r -> happyReturn (happyIn101 r))
 
 happyReduce_229 = happySpecReduce_2  92# happyReduction_229
@@ -4277,7 +4278,7 @@ 	case happyOut77 happy_x_3 of { happy_var_3 -> 
 	( do { (c,ts) <- splitTyConApp happy_var_1;
                                                           return (c,map (\t -> UnBangedTy (ann t) t) ts++
-                                                                  [BangedTy (nIS happy_var_2 <++> ann happy_var_3) happy_var_3], happy_var_1 <> happy_var_3) })}}}
+                                                                  [BangedTy (nIS happy_var_2 <++> ann happy_var_3 <** [happy_var_2]) happy_var_3], happy_var_1 <> happy_var_3) })}}}
 	) (\r -> happyReturn (happyIn105 r))
 
 happyReduce_239 = happyMonadReduce 5# 96# happyReduction_239
@@ -4294,7 +4295,7 @@ 	case happyOut77 happy_x_5 of { happy_var_5 -> 
 	( do { (c,ts) <- splitTyConApp happy_var_1;
                                                           return (c,map (\t -> UnBangedTy (ann t) t) ts++
-                                                                  [UnpackedTy (nIS happy_var_2 <++> ann happy_var_5 <** [happy_var_3,happy_var_4]) happy_var_5], happy_var_1 <> happy_var_5) })}}}}}
+                                                                  [UnpackedTy (nIS happy_var_2 <++> ann happy_var_5 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_5], happy_var_1 <> happy_var_5) })}}}}}
 	) (\r -> happyReturn (happyIn105 r))
 
 happyReduce_240 = happySpecReduce_2  96# happyReduction_240
@@ -4427,7 +4428,7 @@ 
 happyReduce_253 = happySpecReduce_0  102# happyReduction_253
 happyReduction_253  =  happyIn111
-		 ((Nothing,[],Nothing)
+		 (Nothing
 	)
 
 happyReduce_254 = happySpecReduce_2  102# happyReduction_254
@@ -4436,7 +4437,7 @@ 	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> 
 	case happyOut113 happy_x_2 of { happy_var_2 -> 
 	happyIn111
-		 (let l = nIS happy_var_1 <++> ann happy_var_2 in (Just [Deriving l happy_var_2 []], [happy_var_1], Just l)
+		 (let l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] in Just $ Deriving l [IHead (ann happy_var_2) happy_var_2 []]
 	)}}
 
 happyReduce_255 = happySpecReduce_3  102# happyReduction_255
@@ -4447,7 +4448,7 @@ 	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
 	happyIn111
-		 ((Just [], [happy_var_1,happy_var_2,happy_var_3], Just $ happy_var_1 <^^> happy_var_3)
+		 (Just $ Deriving (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3]) []
 	)}}}
 
 happyReduce_256 = happyReduce 4# 102# happyReduction_256
@@ -4461,7 +4462,7 @@ 	case happyOut112 happy_x_3 of { happy_var_3 -> 
 	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> 
 	happyIn111
-		 ((Just $ reverse (fst happy_var_3), happy_var_1:happy_var_2:snd happy_var_3 ++ [happy_var_4], Just $ happy_var_1 <^^> happy_var_4)
+		 (Just $ Deriving (happy_var_1 <^^> happy_var_4 <** happy_var_1:happy_var_2: reverse (snd happy_var_3) ++ [happy_var_4]) (reverse (fst happy_var_3))
 	) `HappyStk` happyRest}}}}
 
 happyReduce_257 = happyMonadReduce 1# 103# happyReduction_257
@@ -4552,7 +4553,7 @@ 	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> 
 	case happyOut119 happy_x_3 of { happy_var_3 -> 
 	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> 
-	( checkClassBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4),True))}}}}
+	( checkClassBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}
 	) (\r -> happyReturn (happyIn118 r))
 
 happyReduce_268 = happyMonadReduce 4# 109# happyReduction_268
@@ -4565,12 +4566,12 @@ 	case happyOut218 happy_x_2 of { happy_var_2 -> 
 	case happyOut119 happy_x_3 of { happy_var_3 -> 
 	case happyOut219 happy_x_4 of { happy_var_4 -> 
-	( checkClassBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4),False))}}}}
+	( checkClassBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}
 	) (\r -> happyReturn (happyIn118 r))
 
 happyReduce_269 = happySpecReduce_0  109# happyReduction_269
 happyReduction_269  =  happyIn118
-		 ((Nothing,[],Nothing,False)
+		 ((Nothing,[],Nothing)
 	)
 
 happyReduce_270 = happyMonadReduce 3# 110# happyReduction_270
@@ -4631,8 +4632,8 @@ 	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> 
 	case happyOut74 happy_x_2 of { happy_var_2 -> 
 	case happyOut117 happy_x_3 of { happy_var_3 -> 
-	( do { (c,ts) <- checkSimpleType happy_var_2;
-                    return (ClsTyFam  (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) c ts (fst happy_var_3)) })}}}
+	( do { dh <- checkSimpleType happy_var_2;
+                    return (ClsTyFam  (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) dh (fst happy_var_3)) })}}}
 	) (\r -> happyReturn (happyIn122 r))
 
 happyReduce_277 = happyReduce 4# 113# happyReduction_277
@@ -4657,8 +4658,8 @@ 	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> 
 	case happyOut83 happy_x_2 of { happy_var_2 -> 
 	case happyOut117 happy_x_3 of { happy_var_3 -> 
-	( do { (cs,c,t) <- checkDataHeader happy_var_2;
-                    return (ClsDataFam (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) cs c t (fst happy_var_3)) })}}}
+	( do { (cs,dh) <- checkDataHeader happy_var_2;
+                    return (ClsDataFam (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) cs dh (fst happy_var_3)) })}}}
 	) (\r -> happyReturn (happyIn122 r))
 
 happyReduce_279 = happyMonadReduce 4# 114# happyReduction_279
@@ -4671,7 +4672,7 @@ 	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> 
 	case happyOut124 happy_x_3 of { happy_var_3 -> 
 	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> 
-	( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4),True))}}}}
+	( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}
 	) (\r -> happyReturn (happyIn123 r))
 
 happyReduce_280 = happyMonadReduce 4# 114# happyReduction_280
@@ -4684,12 +4685,12 @@ 	case happyOut218 happy_x_2 of { happy_var_2 -> 
 	case happyOut124 happy_x_3 of { happy_var_3 -> 
 	case happyOut219 happy_x_4 of { happy_var_4 -> 
-	( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4),False))}}}}
+	( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}}
 	) (\r -> happyReturn (happyIn123 r))
 
 happyReduce_281 = happySpecReduce_0  114# happyReduction_281
 happyReduction_281  =  happyIn123
-		 ((Nothing, [], Nothing, False)
+		 ((Nothing, [], Nothing)
 	)
 
 happyReduce_282 = happyMonadReduce 3# 115# happyReduction_282
@@ -4788,9 +4789,9 @@ 	case happyOut99 happy_x_3 of { happy_var_3 -> 
 	case happyOut111 happy_x_4 of { happy_var_4 -> 
 	( do { -- (cs,c,t) <- checkDataHeader happy_var_4;
-                       let {(ds,ss1,minf1) = happy_var_3 ; (mds,ss2,minf2) = happy_var_4};
+                       let {(ds,ss,minf) = happy_var_3};
                        checkDataOrNew happy_var_1 ds;
-                       return (InsData (happy_var_1 <> happy_var_2 <+?> minf1 <+?> minf2 <** (ss1 ++ ss2)) happy_var_1 happy_var_2 (reverse ds) mds) })}}}}
+                       return (InsData (happy_var_1 <> happy_var_2 <+?> minf <+?> fmap ann happy_var_4 <** ss ) happy_var_1 happy_var_2 (reverse ds) happy_var_4) })}}}}
 	) (\r -> happyReturn (happyIn128 r))
 
 happyReduce_292 = happyMonadReduce 6# 119# happyReduction_292
@@ -4808,9 +4809,9 @@ 	case happyOut94 happy_x_5 of { happy_var_5 -> 
 	case happyOut111 happy_x_6 of { happy_var_6 -> 
 	( do { -- (cs,c,t) <- checkDataHeader happy_var_4;
-                       let { (gs,ss1,inf,b) = happy_var_5 ; (mds,ss2,minf) = happy_var_6 } ;
+                       let { (gs,ss,inf) = happy_var_5 } ;
                        checkDataOrNew happy_var_1 gs;
-                       return $ InsGData (ann happy_var_1 <++> inf <+?> minf <** (snd happy_var_3 ++ happy_var_4:ss1 ++ ss2) <?? b) happy_var_1 happy_var_2 (fst happy_var_3) (reverse gs) mds })}}}}}}
+                       return $ InsGData (ann happy_var_1 <++> inf <+?> fmap ann happy_var_6 <** (snd happy_var_3 ++ happy_var_4:ss)) happy_var_1 happy_var_2 (fst happy_var_3) (reverse gs) happy_var_6 })}}}}}}
 	) (\r -> happyReturn (happyIn128 r))
 
 happyReduce_293 = happyMonadReduce 4# 120# happyReduction_293
@@ -4837,8 +4838,9 @@ 	case happyOut132 happy_x_3 of { happy_var_3 -> 
 	case happyOut130 happy_x_4 of { happy_var_4 -> 
 	( do { checkEnabled BangPatterns ;
-                                              p <- checkPattern happy_var_2;
-                                              return $ PatBind ((nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) (fst happy_var_4)) <** happy_var_1:snd happy_var_4)
+                                              let { l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] };
+                                              p <- checkPattern (BangPat l happy_var_2);
+                                              return $ PatBind (p <> happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** snd happy_var_4)
                                                           p Nothing happy_var_3 (fst happy_var_4) })}}}}
 	) (\r -> happyReturn (happyIn129 r))
 
@@ -5122,7 +5124,7 @@ 	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Of) -> 
 	case happyOut171 happy_x_4 of { happy_var_4 -> 
 	happyIn141
-		 (let (als, inf, ss, b) = happy_var_4 in Case (nIS happy_var_1 <++> inf <** (happy_var_1:happy_var_3:ss) <?? b) happy_var_2 als
+		 (let (als, inf, ss) = happy_var_4 in Case (nIS happy_var_1 <++> inf <** (happy_var_1:happy_var_3:ss)) happy_var_2 als
 	) `HappyStk` happyRest}}}}
 
 happyReduce_324 = happySpecReduce_2  132# happyReduction_324
@@ -5140,7 +5142,7 @@ 	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> 
 	case happyOut179 happy_x_2 of { happy_var_2 -> 
 	happyIn141
-		 (let (sts, inf, ss, b) = happy_var_2 in Do   (nIS happy_var_1 <++> inf <** happy_var_1:ss <?? b) sts
+		 (let (sts, inf, ss) = happy_var_2 in Do   (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts
 	)}}
 
 happyReduce_326 = happySpecReduce_2  132# happyReduction_326
@@ -5149,7 +5151,7 @@ 	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> 
 	case happyOut179 happy_x_2 of { happy_var_2 -> 
 	happyIn141
-		 (let (sts, inf, ss, b) = happy_var_2 in MDo  (nIS happy_var_1 <++> inf <** happy_var_1:ss <?? b) sts
+		 (let (sts, inf, ss) = happy_var_2 in MDo  (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts
 	)}}
 
 happyReduce_327 = happySpecReduce_1  132# happyReduction_327
@@ -5170,7 +5172,7 @@ 	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> 
 	case happyOut136 happy_x_4 of { happy_var_4 -> 
 	happyIn142
-		 (let Loc l (StringTok s) = happy_var_2 in CorePragma (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4
+		 (let Loc l (StringTok (s,_)) = happy_var_2 in CorePragma (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4
 	) `HappyStk` happyRest}}}}
 
 happyReduce_329 = happyReduce 4# 133# happyReduction_329
@@ -5184,7 +5186,7 @@ 	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> 
 	case happyOut136 happy_x_4 of { happy_var_4 -> 
 	happyIn142
-		 (let Loc l (StringTok s) = happy_var_2 in SCCPragma  (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4
+		 (let Loc l (StringTok (s,_)) = happy_var_2 in SCCPragma  (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4
 	) `HappyStk` happyRest}}}}
 
 happyReduce_330 = happyReduce 11# 133# happyReduction_330
@@ -5212,11 +5214,11 @@ 	case happyOutTok happy_x_10 of { (Loc happy_var_10 PragmaEnd) -> 
 	case happyOut136 happy_x_11 of { happy_var_11 -> 
 	happyIn142
-		 (let { Loc l0 (StringTok s) = happy_var_2;
-                                                  Loc l1 (IntTok i1)   = happy_var_3;
-                                                  Loc l2 (IntTok i2)   = happy_var_5;
-                                                  Loc l3 (IntTok i3)   = happy_var_7;
-                                                  Loc l4 (IntTok i4)   = happy_var_9}
+		 (let { Loc l0 (StringTok (s,_)) = happy_var_2;
+                                                  Loc l1 (IntTok (i1,_))   = happy_var_3;
+                                                  Loc l2 (IntTok (i2,_))   = happy_var_5;
+                                                  Loc l3 (IntTok (i3,_))   = happy_var_7;
+                                                  Loc l4 (IntTok (i4,_))   = happy_var_9}
                                              in GenPragma (nIS happy_var_1 <++> ann happy_var_11 <** [happy_var_1,l0,l1,happy_var_4,l2,happy_var_6,l3,happy_var_8,l4,happy_var_10])
                                                       s (fromInteger i1, fromInteger i2)
                                                         (fromInteger i3, fromInteger i4) happy_var_11
@@ -5444,7 +5446,7 @@ 	case happyOut163 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> 
 	happyIn148
-		 (amap (<** [happy_var_1,happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3)
+		 (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])
 	)}}}
 
 happyReduce_354 = happySpecReduce_1  139# happyReduction_354
@@ -5746,7 +5748,7 @@ 	( do { n <- checkEqNames happy_var_2 happy_var_8;
                                                                        let { cn = reverse happy_var_6;
                                                                              as = reverse happy_var_3;
-                                                                             l  = happy_var_1 <^^> happy_var_9 <** [happy_var_1,happy_var_5,happy_var_7,happy_var_9] };
+                                                                             l  = happy_var_1 <^^> happy_var_9 <** [happy_var_1,happy_var_5,happy_var_7,srcInfoSpan (ann happy_var_8),happy_var_9] };
                                                                        return $ XTag l n as happy_var_4 cn })}}}}}}}}}
 	) (\r -> happyReturn (happyIn154 r))
 
@@ -5825,7 +5827,7 @@ 	case happyOut158 happy_x_3 of { happy_var_3 -> 
 	happyIn157
 		 (let {Loc l1 s1 = happy_var_1; Loc l2 s2 = happy_var_3}
-                                         in XDomName (nIS l1 <++> nIS l2 <** [happy_var_2]) s1 s2
+                                         in XDomName (nIS l1 <++> nIS l2 <** [l1,happy_var_2,l2]) s1 s2
 	)}}}
 
 happyReduce_391 = happySpecReduce_1  148# happyReduction_391
@@ -6184,7 +6186,7 @@ happyReduction_441 happy_x_1
 	 =  case happyOut164 happy_x_1 of { happy_var_1 -> 
 	happyIn163
-		 (\l -> let (ps,ss) = happy_var_1 in List (l <** ss) ps
+		 (\l -> let (ps,ss) = happy_var_1 in List (l <** reverse ss) (reverse ps)
 	)}
 
 happyReduce_442 = happySpecReduce_2  154# happyReduction_442
@@ -6444,7 +6446,7 @@ 	case happyOut172 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
 	happyIn171
-		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3], True)
+		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
 	)}}}
 
 happyReduce_466 = happySpecReduce_3  162# happyReduction_466
@@ -6455,7 +6457,7 @@ 	case happyOut172 happy_x_2 of { happy_var_2 -> 
 	case happyOut219 happy_x_3 of { happy_var_3 -> 
 	happyIn171
-		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3], False)
+		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
 	)}}}
 
 happyReduce_467 = happySpecReduce_3  163# happyReduction_467
@@ -6569,7 +6571,7 @@ 	case happyOut180 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
 	happyIn179
-		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, snd happy_var_2 ++ [happy_var_1,happy_var_3], True)
+		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
 	)}}}
 
 happyReduce_479 = happySpecReduce_3  170# happyReduction_479
@@ -6580,7 +6582,7 @@ 	case happyOut180 happy_x_2 of { happy_var_2 -> 
 	case happyOut219 happy_x_3 of { happy_var_3 -> 
 	happyIn179
-		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, snd happy_var_2 ++ [happy_var_1,happy_var_3], False)
+		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
 	)}}}
 
 happyReduce_480 = happySpecReduce_2  171# happyReduction_480
@@ -6653,7 +6655,7 @@ 	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> 
 	case happyOut179 happy_x_2 of { happy_var_2 -> 
 	happyIn182
-		 (let (stms,inf,ss,b) = happy_var_2 in RecStmt (nIS happy_var_1 <++> inf <** happy_var_1:ss <?? b) stms
+		 (let (stms,inf,ss) = happy_var_2 in RecStmt (nIS happy_var_1 <++> inf <** happy_var_1:ss) stms
 	)}}
 
 happyReduce_489 = happySpecReduce_3  174# happyReduction_489
@@ -6810,7 +6812,7 @@ 	case happyOut214 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
 	happyIn189
-		 (amap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
 	)}}}
 
 happyReduce_506 = happySpecReduce_1  181# happyReduction_506
@@ -6828,7 +6830,7 @@ 	case happyOut214 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
 	happyIn190
-		 (amap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
 	)}}}
 
 happyReduce_508 = happySpecReduce_1  182# happyReduction_508
@@ -6846,7 +6848,7 @@ 	case happyOut212 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
 	happyIn191
-		 (amap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
 	)}}}
 
 happyReduce_510 = happySpecReduce_1  183# happyReduction_510
@@ -6871,7 +6873,7 @@ 	case happyOut211 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
 	happyIn193
-		 (amap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
 	)}}}
 
 happyReduce_513 = happySpecReduce_1  185# happyReduction_513
@@ -6889,7 +6891,7 @@ 	case happyOut203 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
 	happyIn194
-		 (amap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
 	)}}}
 
 happyReduce_515 = happySpecReduce_1  186# happyReduction_515
@@ -6907,7 +6909,7 @@ 	case happyOut206 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
 	happyIn195
-		 (amap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
 	)}}}
 
 happyReduce_517 = happySpecReduce_1  187# happyReduction_517
@@ -6925,7 +6927,7 @@ 	case happyOut204 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
 	happyIn196
-		 (amap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
 	)}}}
 
 happyReduce_519 = happySpecReduce_1  188# happyReduction_519
@@ -6943,7 +6945,7 @@ 	case happyOut204 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
 	happyIn197
-		 (amap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
 	)}}}
 
 happyReduce_521 = happySpecReduce_1  189# happyReduction_521
@@ -6961,7 +6963,7 @@ 	case happyOut209 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
 	happyIn198
-		 (amap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
 	)}}}
 
 happyReduce_523 = happySpecReduce_1  190# happyReduction_523
@@ -6979,7 +6981,7 @@ 	case happyOut208 happy_x_2 of { happy_var_2 -> 
 	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
 	happyIn199
-		 (amap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
 	)}}}
 
 happyReduce_525 = happySpecReduce_1  191# happyReduction_525
@@ -7288,70 +7290,70 @@ happyReduction_568 happy_x_1
 	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 	happyIn217
-		 (let Loc l (IntTok        i) = happy_var_1 in Int        (nIS l) i
+		 (let Loc l (IntTok        (i,raw)) = happy_var_1 in Int        (nIS l) i raw
 	)}
 
 happyReduce_569 = happySpecReduce_1  208# happyReduction_569
 happyReduction_569 happy_x_1
 	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 	happyIn217
-		 (let Loc l (Character     c) = happy_var_1 in Char       (nIS l) c
+		 (let Loc l (Character     (c,raw)) = happy_var_1 in Char       (nIS l) c raw
 	)}
 
 happyReduce_570 = happySpecReduce_1  208# happyReduction_570
 happyReduction_570 happy_x_1
 	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 	happyIn217
-		 (let Loc l (FloatTok      r) = happy_var_1 in Frac       (nIS l) r
+		 (let Loc l (FloatTok      (r,raw)) = happy_var_1 in Frac       (nIS l) r raw
 	)}
 
 happyReduce_571 = happySpecReduce_1  208# happyReduction_571
 happyReduction_571 happy_x_1
 	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 	happyIn217
-		 (let Loc l (StringTok     s) = happy_var_1 in String     (nIS l) s
+		 (let Loc l (StringTok     (s,raw)) = happy_var_1 in String     (nIS l) s raw
 	)}
 
 happyReduce_572 = happySpecReduce_1  208# happyReduction_572
 happyReduction_572 happy_x_1
 	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 	happyIn217
-		 (let Loc l (IntTokHash    i) = happy_var_1 in PrimInt    (nIS l) i
+		 (let Loc l (IntTokHash    (i,raw)) = happy_var_1 in PrimInt    (nIS l) i raw
 	)}
 
 happyReduce_573 = happySpecReduce_1  208# happyReduction_573
 happyReduction_573 happy_x_1
 	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 	happyIn217
-		 (let Loc l (WordTokHash   w) = happy_var_1 in PrimWord   (nIS l) w
+		 (let Loc l (WordTokHash   (w,raw)) = happy_var_1 in PrimWord   (nIS l) w raw
 	)}
 
 happyReduce_574 = happySpecReduce_1  208# happyReduction_574
 happyReduction_574 happy_x_1
 	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 	happyIn217
-		 (let Loc l (FloatTokHash  f) = happy_var_1 in PrimFloat  (nIS l) f
+		 (let Loc l (FloatTokHash  (f,raw)) = happy_var_1 in PrimFloat  (nIS l) f raw
 	)}
 
 happyReduce_575 = happySpecReduce_1  208# happyReduction_575
 happyReduction_575 happy_x_1
 	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 	happyIn217
-		 (let Loc l (DoubleTokHash d) = happy_var_1 in PrimDouble (nIS l) d
+		 (let Loc l (DoubleTokHash (d,raw)) = happy_var_1 in PrimDouble (nIS l) d raw
 	)}
 
 happyReduce_576 = happySpecReduce_1  208# happyReduction_576
 happyReduction_576 happy_x_1
 	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 	happyIn217
-		 (let Loc l (CharacterHash c) = happy_var_1 in PrimChar   (nIS l) c
+		 (let Loc l (CharacterHash (c,raw)) = happy_var_1 in PrimChar   (nIS l) c raw
 	)}
 
 happyReduce_577 = happySpecReduce_1  208# happyReduction_577
 happyReduction_577 happy_x_1
 	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
 	happyIn217
-		 (let Loc l (StringHash    s) = happy_var_1 in PrimString (nIS l) s
+		 (let Loc l (StringHash    (s,raw)) = happy_var_1 in PrimString (nIS l) s raw
 	)}
 
 happyReduce_578 = happyMonadReduce 0# 209# happyReduction_578
@@ -7706,13 +7708,13 @@ parseTypeWithComments mode str = runParserWithModeComments mode mparseType str
 
 
-simpleParse :: AppFixity a => P a -> String -> ParseResult a
+simpleParse :: AppFixity a => P (a L) -> String -> ParseResult (a L)
 simpleParse p = fmap (applyFixities preludeFixities) . runParser p
 
-modeParse :: AppFixity a => P a -> ParseMode -> String -> ParseResult a
+modeParse :: AppFixity a => P (a L) -> ParseMode -> String -> ParseResult (a L)
 modeParse p mode = fmap (applyFixities (fixities mode)) . runParserWithMode mode p
 
-commentParse :: AppFixity a => P a -> ParseMode -> String -> ParseResult (a, [Comment])
+commentParse :: AppFixity a => P (a L) -> ParseMode -> String -> ParseResult (a L, [Comment])
 commentParse p mode str = runParserWithModeComments mode p str
                              >>= \(ast, cs) -> return (applyFixities (fixities mode) ast, cs)
 
haskell-src-exts.cabal view
@@ -1,5 +1,5 @@ Name:                   haskell-src-exts-Version:                1.1.3.1+Version:                1.1.4 License:                BSD3 License-File:           LICENSE Author:                 Niklas Broberg@@ -62,7 +62,8 @@                         Language.Haskell.Exts.Annotated.Fixity,                         Language.Haskell.Exts.Annotated.Build,                         Language.Haskell.Exts.Annotated.Comments,-                        Language.Haskell.Exts.Annotated.SrcLoc+                        Language.Haskell.Exts.Annotated.SrcLoc,+                        Language.Haskell.Exts.Annotated.ExactPrint    Other-modules:        Language.Haskell.Exts.ParseMonad,                         Language.Haskell.Exts.Lexer,
src/Language/Haskell/Exts/Annotated.hs view
@@ -21,14 +21,18 @@     , module Language.Haskell.Exts.Annotated.Pretty     , module Language.Haskell.Exts.Annotated.Fixity     , module Language.Haskell.Exts.Annotated.SrcLoc+    , module Language.Haskell.Exts.Annotated.ExactPrint+    , module Language.Haskell.Exts.Annotated.Comments     , module Language.Haskell.Exts.Extension-    , module Language.Haskell.Exts.Comments     -- * Parsing of Haskell source files     , parseFile     , parseFileWithMode     , parseFileWithExts+    , parseFileWithComments     , parseFileContents     , parseFileContentsWithMode+    , parseFileContentsWithExts+    , parseFileContentsWithComments     -- * Read extensions declared in LANGUAGE pragmas     , readExtensions     ) where@@ -39,8 +43,9 @@ import Language.Haskell.Exts.Annotated.Pretty import Language.Haskell.Exts.Annotated.SrcLoc import Language.Haskell.Exts.Annotated.Fixity+import Language.Haskell.Exts.Annotated.Comments+import Language.Haskell.Exts.Annotated.ExactPrint import Language.Haskell.Exts.Extension-import Language.Haskell.Exts.Comments  import Data.List import Language.Preprocessor.Unlit@@ -58,6 +63,9 @@ parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo)) parseFileWithMode p fp = readFile fp >>= (return . parseFileContentsWithMode p) +parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment]))+parseFileWithComments p fp = readFile fp >>= (return . parseFileContentsWithComments p)+ -- | Parse a source file from a string using the default parse mode. parseFileContents :: String -> ParseResult (Module SrcSpanInfo) parseFileContents = parseFileContentsWithMode defaultParseMode@@ -76,6 +84,13 @@                                      _               -> exts          in parseModuleWithMode (p { extensions = allExts }) md +parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])+parseFileContentsWithComments p@(ParseMode fn exts ign _) rawStr =+        let md = delit fn $ ppContents rawStr+            allExts = impliesExts $ case (ign, readExtensions md) of+                                     (False,Just es) -> exts ++ es+                                     _               -> exts+         in parseModuleWithComments (p { extensions = allExts }) md  -- | Gather the extensions declared in LANGUAGE pragmas --   at the top of the file. Returns 'Nothing' if the
src/Language/Haskell/Exts/Annotated/Build.hs view
@@ -140,27 +140,27 @@  -- | A literal string expression. strE :: l -> String -> Exp l-strE l = Lit l . String l+strE l s = Lit l $ String l s s  -- | A literal character expression. charE :: l -> Char -> Exp l-charE l = Lit l . Char l+charE l c = Lit l $ Char l c [c]  -- | A literal integer expression. intE :: l -> Integer -> Exp l-intE l = Lit l . Int l+intE l i = Lit l $ Int l i (show i)  -- | A literal string pattern. strP :: l -> String -> Pat l-strP l = PLit l . String l+strP l s = PLit l $ String l s s  -- | A literal character pattern. charP :: l -> Char -> Pat l-charP l = PLit l . Char l+charP l c = PLit l $ Char l c [c]  -- | A literal integer pattern. intP :: l -> Integer -> Pat l-intP l = PLit l . Int l+intP l i = PLit l $ Int l i (show i)  -- | A do block formed by the given statements. --   The last statement in the list should be@@ -254,7 +254,7 @@  -- | A function with a single clause sfun :: l -> Name l -> [Name l] -> Rhs l -> Maybe (Binds l) -> Decl l-sfun l f pvs rhs mbs = FunBind l [Match l f (map (pvar l) pvs) Nothing rhs mbs]+sfun l f pvs rhs mbs = FunBind l [Match l f (map (pvar l) pvs) rhs mbs]  -- | A function with a single clause, a single argument, no guards -- and no where declarations
src/Language/Haskell/Exts/Annotated/Comments.hs view
@@ -11,8 +11,7 @@ #endif
 #endif
 
-data Comment = SingleLine SrcLoc String
-             | MultiLine  SrcLoc String
+data Comment = Comment Bool SrcSpan String
 #ifdef __GLASGOW_HASKELL__
   deriving (Eq,Show,Typeable,Data)
 #else
+ src/Language/Haskell/Exts/Annotated/ExactPrint.hs view
@@ -0,0 +1,1369 @@+module Language.Haskell.Exts.Annotated.ExactPrint
+        ( exactPrint
+        , ExactP
+        ) where
+
+import Language.Haskell.Exts.Annotated.Comments
+import Language.Haskell.Exts.Annotated.SrcLoc
+import Language.Haskell.Exts.Annotated.Syntax
+
+import Control.Monad (when)
+
+-- import Debug.Trace (trace)
+
+------------------------------------------------------
+-- The EP monad and basic combinators
+
+type Pos = (Int,Int)
+
+pos :: (SrcInfo si) => si -> Pos
+pos ss = (startLine ss, startColumn ss)
+
+newtype EP x = EP (Pos -> [Comment] -> (x, Pos, [Comment], ShowS))
+
+instance Monad EP where
+  return x = EP $ \l cs -> (x, l, cs, id)
+
+  EP m >>= k = EP $ \l0 c0 -> let
+        (a, l1, c1, s1) = m l0 c0
+        EP f = k a
+        (b, l2, c2, s2) = f l1 c1
+    in (b, l2, c2, s1 . s2)
+
+runEP :: EP () -> [Comment] -> String
+runEP (EP f) cs = let (_,_,_,s) = f (1,1) cs in s ""
+
+getPos :: EP Pos
+getPos = EP (\l cs -> (l,l,cs,id))
+
+setPos :: Pos -> EP ()
+setPos l = EP (\_ cs -> ((),l,cs,id))
+
+printString :: String -> EP ()
+printString str = EP (\(l,c) cs -> ((), (l,c+length str), cs, showString str))
+
+getComment :: EP (Maybe Comment)
+getComment = EP $ \l cs ->
+    let x = case cs of
+             c:_ -> Just c
+             _   -> Nothing
+     in (x, l, cs, id)
+
+dropComment :: EP ()
+dropComment = EP $ \l cs ->
+    let cs' = case cs of
+               (_:cs) -> cs
+               _      -> cs
+     in ((), l, cs', id)
+
+newLine :: EP ()
+newLine = do
+    (l,_) <- getPos
+    printString "\n"
+    setPos (l+1,1)
+
+padUntil :: Pos -> EP ()
+padUntil (l,c) = do
+    (l1,c1) <- getPos
+    case  {- trace (show ((l,c), (l1,c1))) -} () of
+     _ | l1 >= l && c1 <= c -> printString $ replicate (c - c1) ' '
+       | l1 < l             -> newLine >> padUntil (l,c)
+       | otherwise          -> return ()
+
+
+mPrintComments :: Pos -> EP ()
+mPrintComments p = do
+    mc <- getComment
+    case mc of
+     Nothing -> return ()
+     Just (Comment multi s str) ->
+        when (pos s < p) $ do
+            dropComment
+            padUntil (pos s)
+            printComment multi str
+            setPos (srcSpanEndLine s, srcSpanEndColumn s)
+            mPrintComments p
+
+printComment :: Bool -> String -> EP ()
+printComment b str
+    | b         = printString $ "{-" ++ str ++ "-}"
+    | otherwise = printString $ "--" ++ str
+
+printWhitespace :: Pos -> EP ()
+printWhitespace p = mPrintComments p >> padUntil p
+
+printStringAt :: Pos -> String -> EP ()
+printStringAt p str = printWhitespace p >> printString str
+
+------------------------------------------------------------------------------
+-- Printing of source elements
+
+exactPrint :: (ExactP ast) => ast L -> [Comment] -> String
+exactPrint ast cs = runEP (exactP ast) cs
+
+exactPC :: (Annotated ast, ExactP ast) => ast L -> EP ()
+exactPC ast = let p = pos (ann ast) in mPrintComments p >> padUntil p >> exactP ast
+
+printSeq :: [(Pos, EP ())] -> EP ()
+printSeq [] = return ()
+printSeq ((p,pr):xs) = printWhitespace p >> pr >> printSeq xs
+
+printStrs :: SrcInfo si => [(si, String)] -> EP ()
+printStrs = printSeq . map (\(si, str) -> (pos si, printString str))
+
+printPoints :: L -> [String] -> EP ()
+printPoints l = printStrs . zip (srcInfoPoints l)
+
+printInterleaved, printInterleaved' :: (Annotated ast, ExactP ast, SrcInfo si) => [(si, String)] -> [ast L] -> EP ()
+printInterleaved sistrs asts = printSeq $
+    interleave (map (\(si, str) -> (pos si, printString str)) sistrs)
+               (map (\a -> (pos $ ann a, exactP a)) asts)
+
+printInterleaved' sistrs (a:asts) = exactPC a >> printInterleaved sistrs asts
+
+printStreams :: [(Pos, EP ())] -> [(Pos, EP ())] -> EP ()
+printStreams [] ys = printSeq ys
+printStreams xs [] = printSeq xs
+printStreams (x@(p1,ep1):xs) (y@(p2,ep2):ys)
+    | p1 <= p2 = printWhitespace p1 >> ep1 >> printStreams xs (y:ys)
+    | otherwise = printWhitespace p2 >> ep2 >> printStreams (x:xs) ys
+
+
+interleave :: [a] -> [a] -> [a]
+interleave [] ys = ys
+interleave xs [] = xs
+interleave (x:xs) (y:ys) = x:y: interleave xs ys
+
+maybeEP :: (a -> EP ()) -> Maybe a -> EP ()
+maybeEP = maybe (return ())
+
+bracketList :: (Annotated ast, ExactP ast) => (String, String, String) -> [SrcSpan] -> [ast L] -> EP ()
+bracketList (a,b,c) poss asts = printInterleaved (pList poss (a,b,c)) asts
+
+pList (p:ps) (a,b,c) = (p,a) : pList' ps (b,c)
+pList' [] _ = []
+pList' [p] (_,c) = [(p,c)]
+pList' (p:ps) (b,c) = (p, b) : pList' ps (b,c)
+
+parenList, squareList, curlyList :: (Annotated ast, ExactP ast) => [SrcSpan] -> [ast L] -> EP ()
+parenList = bracketList ("(",",",")")
+squareList = bracketList ("[",",","]")
+curlyList = bracketList ("{",",","}")
+
+layoutList :: (Functor ast, Show (ast ()), Annotated ast, ExactP ast) => [SrcSpan] -> [ast L] -> EP ()
+layoutList poss asts = printInterleaved (lList poss) asts
+
+lList (p:ps) = (if isNullSpan p then (p,"") else (p,"{")) : lList' ps
+lList' [] = []
+lList' [p] = [if isNullSpan p then (p,"") else (p,"}")]
+lList' (p:ps) = (if isNullSpan p then (p,"") else (p,";")) : lList' ps
+
+
+type L = SrcSpanInfo
+
+--------------------------------------------------
+-- Exact printing
+
+class ExactP ast where
+  exactP :: ast L -> EP ()
+
+instance ExactP Literal where
+  exactP lit = case lit of
+    Char       _ _ rw -> printString ('\'':rw ++ "\'")
+    String     _ _ rw -> printString ('\"':rw ++ "\"")
+    Int        _ _ rw -> printString (rw)
+    Frac       _ _ rw -> printString (rw)
+    PrimInt    _ _ rw -> printString (rw ++ "#" )
+    PrimWord   _ _ rw -> printString (rw ++ "##")
+    PrimFloat  _ _ rw -> printString (rw ++ "#" )
+    PrimDouble _ _ rw -> printString (rw ++ "##")
+    PrimChar   _ _ rw -> printString ('\'':rw ++ "\'#" )
+    PrimString _ _ rw -> printString ('\"':rw ++ "\"#" )
+
+instance ExactP ModuleName where
+  exactP (ModuleName l str) = printString str
+
+instance ExactP SpecialCon where
+  exactP sc = case sc of
+    UnitCon l   -> printPoints l ["(",")"]
+    ListCon l   -> printPoints l ["[","]"]
+    FunCon  l   -> printPoints l ["(","->",")"]
+    TupleCon l b n -> printPoints l $
+        case b of
+         Unboxed -> "(#": replicate n "," ++ ["#)"]
+         _       -> "(" : replicate n "," ++ [")"]
+    Cons l      -> printString ":"
+    UnboxedSingleCon l -> printPoints l ["(#","#)"]
+
+isSymbol :: Name l -> Bool
+isSymbol (Symbol _ _) = True
+isSymbol _ = False
+
+getName :: QName l -> Name l
+getName (UnQual _ s) = s
+getName (Qual _ _ s) = s
+getName (Special l (Cons _)) = Symbol l ":"
+getName (Special l (FunCon _)) = Symbol l "->"
+getName (Special l s) = Ident l (specialName s)
+
+specialName :: SpecialCon l -> String
+specialName (UnitCon _) = "()"
+specialName (ListCon _) = "[]"
+specialName (FunCon  _) = "->"
+specialName (TupleCon _ b n) = "(" ++ hash ++ replicate (n-1) ',' ++ hash ++ ")"
+    where hash = case b of
+                   Unboxed -> "#"
+                   _       -> ""
+specialName (Cons _) = ":"
+
+instance ExactP QName where
+  exactP qn
+    | isSymbol (getName qn) = do
+        let [a,b,c] = srcInfoPoints (ann qn)
+        printString "("
+        printWhitespace (pos b)
+        epQName qn
+        printStringAt (pos c) ")"
+    | otherwise = epQName qn
+
+epQName :: QName L -> EP ()
+epQName qn = case qn of
+    Qual    l mn n  -> exactP mn >> printString "." >> epName n
+    UnQual  l    n  -> epName n
+    Special l sc    -> exactP sc
+
+epInfixQName :: QName L -> EP ()
+epInfixQName qn
+    | isSymbol (getName qn) = printWhitespace (pos (ann qn)) >> epQName qn
+    | otherwise = do
+        let [a,b,c] = srcInfoPoints (ann qn)
+        printStringAt (pos a) "`"
+        printWhitespace (pos b)
+        epQName qn
+        printStringAt (pos c) "`"
+
+instance ExactP Name where
+  exactP n = case n of
+    Ident  l str    -> printString str
+    Symbol l str    -> do
+        let [a,b,c] = srcInfoPoints l
+        printString "("
+        printWhitespace (pos b)
+        printString str
+        printStringAt (pos c) ")"
+
+epName :: Name L -> EP ()
+epName (Ident  _ str) = printString str
+epName (Symbol _ str) = printString str
+
+epInfixName :: Name L -> EP ()
+epInfixName n
+    | isSymbol n = printWhitespace (pos (ann n)) >> epName n
+    | otherwise = do
+        let [a,b,c] = srcInfoPoints (ann n)
+        printStringAt (pos a) "`"
+        printWhitespace (pos b)
+        epName n
+        printStringAt (pos c) "`"
+
+instance ExactP IPName where
+  exactP ipn = case ipn of
+    IPDup l str -> printString $ '?':str
+    IPLin l str -> printString $ '%':str
+
+instance ExactP QOp where
+  exactP qop = case qop of
+    QVarOp l qn -> epInfixQName qn
+    QConOp l qn -> epInfixQName qn
+
+instance ExactP Op where
+  exactP op = case op of
+    VarOp l n -> epInfixName n
+    ConOp l n -> epInfixName n
+
+
+
+instance ExactP CName where
+  exactP cn = case cn of
+    VarName l n -> exactP n
+    ConName l n -> exactP n
+
+instance ExactP ExportSpec where
+  exactP espec = case espec of
+     EVar l qn      -> exactP qn
+     EAbs l qn      -> exactP qn
+     EThingAll l qn -> exactP qn >> printPoints l ["(","..",")"]
+     EThingWith l qn cns    ->
+        let k = length (srcInfoPoints l)
+         in exactP qn >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns
+     EModuleContents l mn -> printString "module" >> exactPC mn
+
+instance ExactP ExportSpecList where
+  exactP (ExportSpecList l ess) =
+    let k = length (srcInfoPoints l)
+     in printInterleaved (zip (srcInfoPoints l) $ "(": replicate (k-2) "," ++ [")"]) ess
+
+instance ExactP ImportSpecList where
+  exactP (ImportSpecList l hid ispecs) = do
+    let pts = srcInfoPoints l
+    pts <- if hid then do
+             let (x:pts') = pts
+             printStringAt (pos x) "hiding"
+             return pts'
+            else return pts
+    let k = length pts
+    printInterleaved (zip pts $ "(": replicate (k-2) "," ++ [")"]) ispecs
+
+instance ExactP ImportSpec where
+  exactP ispec = case ispec of
+    IVar l n    -> exactP n
+    IAbs l n    -> exactP n
+    IThingAll l n   -> exactP n >> printPoints l ["(","..",")"]
+    IThingWith l n cns    ->
+        let k = length (srcInfoPoints l)
+         in exactP n >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns
+
+instance ExactP ImportDecl where
+  exactP (ImportDecl l mn qf src mpkg mas mispecs) = do
+    printString "import"
+    let (a:pts) = srcInfoPoints l
+    pts <- if src then do
+             let (x:y:pts') = pts
+             printStringAt (pos x) "{-# SOURCE"
+             printStringAt (pos y) "#-}"
+             return pts'
+            else return pts
+    pts <- if qf then do
+             let (x:pts') = pts
+             printStringAt (pos x) "qualified"
+             return pts'
+            else return pts
+    pts <- case mpkg of
+            Just pkg -> do
+              let (x:pts') = pts
+              printStringAt (pos x) $ show pkg
+              return pts'
+            _ -> return pts
+    exactPC mn
+    pts <- case mas of
+            Just as -> do
+             let (x:pts') = pts
+             printStringAt (pos x) "as"
+             exactPC as
+             return pts'
+            _ -> return pts
+    case mispecs of
+     Nothing -> return ()
+     Just ispecs -> exactPC ispecs
+
+instance ExactP Module where
+  exactP mdl = case mdl of
+    Module l mmh oss ids decls -> do
+        let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)
+        layoutList oPts oss
+        maybeEP exactPC mmh
+        printStreams (map (\(p,s) -> (pos p, printString s)) $ lList pts)
+                     (map (\i -> (pos $ ann i, exactPC i)) ids ++ map (\d -> (pos $ ann d, exactPC d)) (sepFunBinds decls))
+{-
+    XmlPage l [OptionPragma l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]
+
+    XmlHybrid l (Maybe (ModuleHead l)) [OptionPragma l] [ImportDecl l] [Decl l]
+                (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]
+-}
+
+instance ExactP ModuleHead where
+  exactP (ModuleHead l mn mwt mess) = do
+    let [a,b] = srcInfoPoints l
+    printStringAt (pos a) "module"
+    exactPC mn
+    maybeEP exactPC mwt
+    maybeEP exactPC mess
+    printStringAt (pos b) "where"
+
+instance ExactP OptionPragma where
+  exactP op = case op of
+    LanguagePragma   l ns       ->
+        let pts = srcInfoPoints l
+            k = length ns - 1 -- number of commas
+            m = length pts - k - 2 -- number of virtual semis, likely 0
+         in printInterleaved (zip pts ("{-# LANGUAGE":replicate k "," ++ replicate m "" ++ ["#-}"])) ns
+    IncludePragma    l str      ->
+        let k = length (srcInfoPoints l)
+         in printPoints l $ ("{-# INCLUDE " ++ str) : replicate (k-2) "" ++ ["#-}"]
+    CFilesPragma     l str      ->
+        let k = length (srcInfoPoints l)
+         in printPoints l $ ("{-# CFILES " ++ str) : replicate (k-2) "" ++ ["#-}"]
+    OptionsPragma    l mt str   ->
+        let k = length (srcInfoPoints l)
+            opstr = "{-# OPTIONS" ++ case mt of { Just t -> "_" ++ show t ; _ -> "" } ++ " " ++ str
+         in printPoints l $ opstr : replicate (k-2) "" ++ ["#-}"]
+
+instance ExactP WarningText where
+    exactP (DeprText l str) = printPoints l ["{-# DEPRECATED", str, "#-}"]
+    exactP (WarnText l str) = printPoints l ["{-# WARNING",    str, "#-}"]
+
+instance ExactP Assoc where
+  exactP a = case a of
+    AssocNone  l -> printString "infix"
+    AssocLeft  l -> printString "infixl"
+    AssocRight l -> printString "infixr"
+
+instance ExactP DataOrNew where
+  exactP (DataType l) = printString "data"
+  exactP (NewType  l) = printString "newtype"
+
+instance ExactP Decl where
+  exactP decl = case decl of
+    TypeDecl     l dh t      -> do
+        let [a,b] = srcInfoPoints l
+        printStringAt (pos a) "type"
+        exactPC dh
+        printStringAt (pos b) "="
+        exactPC t
+    TypeFamDecl  l dh mk     -> do
+        let (a:b:ps) = srcInfoPoints l
+        printStringAt (pos a) "type"
+        printStringAt (pos b) "family"
+        exactPC dh
+        maybeEP (\k -> printStringAt (pos (head ps)) "::" >> exactPC k) mk
+    DataDecl     l dn mctxt dh constrs mder -> do
+        exactP dn
+        maybeEP exactPC mctxt
+        exactPC dh
+        -- the next line works for empty data types since the srcInfoPoints will be empty then
+        printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs
+        maybeEP exactPC mder
+    GDataDecl    l dn mctxt dh mk gds mder -> do
+        let pts = srcInfoPoints l
+        exactP dn
+        maybeEP exactPC mctxt
+        exactPC dh
+        (x:pts) <- case mk of
+                    Nothing -> return pts
+                    Just kd -> let (p:pts') = pts in do
+                        printStringAt (pos p) "::"
+                        exactPC kd
+                        return pts'
+        printStringAt (pos x) "where"
+        layoutList pts gds
+        maybeEP exactPC mder
+    DataFamDecl  l mctxt dh mk -> do
+        printString "data"
+        maybeEP exactPC mctxt
+        exactPC dh
+        maybeEP (\kd -> printStringAt (pos (head (srcInfoPoints l))) "::" >> exactPC kd) mk
+    TypeInsDecl  l t1 t2 -> do
+        let [a,b,c] = srcInfoPoints l
+        printString "type"
+        printStringAt (pos b) "instance"
+        exactPC t1
+        printStringAt (pos c) "="
+        exactPC t2
+    DataInsDecl  l dn t constrs mder    -> do
+        let (p:pts) = srcInfoPoints l
+        exactP dn
+        printStringAt (pos p) "instance"
+        exactPC t
+        printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs
+        maybeEP exactPC mder
+    GDataInsDecl l dn t mk gds mder     -> do
+        let (p:pts) = srcInfoPoints l
+        exactP dn
+        printStringAt (pos p) "instance"
+        exactPC t
+        (x:pts) <- case mk of
+                    Nothing -> return pts
+                    Just kd -> let (p:pts') = pts in do
+                        printStringAt (pos p) "::"
+                        exactPC kd
+                        return pts'
+        printStringAt (pos x) "where"
+        layoutList pts gds
+        maybeEP exactPC mder
+    ClassDecl    l mctxt dh fds mcds    -> do
+        let pts = srcInfoPoints l
+        printString "class"
+        maybeEP exactPC mctxt
+        exactPC dh
+        pts <- case fds of
+                [] -> return pts
+                _  -> do
+                  let (pts1, pts2) = splitAt (length fds) pts
+                  printInterleaved (zip pts1 ("|":repeat ",")) fds
+                  return pts2
+        maybeEP (\cds -> do
+            let (p:pts') = pts
+            printStringAt (pos p) "where"
+            layoutList pts' cds
+            ) mcds
+    InstDecl     l mctxt ih mids        -> do
+        let (a:pts) = srcInfoPoints l
+        printString "instance"
+        maybeEP exactPC mctxt
+        exactPC ih
+        maybeEP (\ids -> do
+            let (p:pts') = pts
+            printStringAt (pos p) "where"
+            layoutList pts' ids
+            ) mids
+    DerivDecl    l mctxt ih             -> do
+        let [a,b] = srcInfoPoints l
+        printString "deriving"
+        printStringAt (pos b) "instance"
+        maybeEP exactPC mctxt
+        exactPC ih
+    InfixDecl    l assoc mprec ops      -> do
+        let pts = srcInfoPoints l
+        exactP assoc
+        pts <- case mprec of
+                Nothing -> return pts
+                Just prec -> do
+                    let (p:pts') = pts
+                    printStringAt (pos p) (show prec)
+                    return pts'
+        printInterleaved' (zip pts (repeat ",")) ops
+    DefaultDecl  l ts   -> do
+        let (a:pts) = srcInfoPoints l
+        printString "default"
+        printInterleaved (zip (init pts) ("(":repeat ",")) ts
+        printStringAt (pos (last pts)) ")"
+    SpliceDecl   l spl  -> exactP spl
+    TypeSig      l ns t -> do
+        let pts = srcInfoPoints l
+        printInterleaved' (zip pts (replicate (length pts - 1) "," ++ ["::"])) ns
+        exactPC t
+    FunBind      l ms   -> mapM_ exactPC ms
+    PatBind      l p mt rhs mbs -> do
+        let pts = srcInfoPoints l
+        exactP p
+        pts <- case mt of
+                Nothing -> return pts
+                Just t  -> let (x:pts') = pts in do
+                    printStringAt (pos x) "::"
+                    exactPC t
+                    return pts'
+        exactPC rhs
+        maybeEP (\bs -> printStringAt (pos (head pts)) "where" >> exactPC bs) mbs
+    ForImp       l cc msf mstr n t   -> do
+        let (a:b:pts) = srcInfoPoints l
+        printString "foreign"
+        printStringAt (pos b) "import"
+        exactPC cc
+        maybeEP exactPC msf
+        (y:_) <- case mstr of
+                  Nothing -> return pts
+                  Just str -> let (x:pts') = pts in do
+                      printStringAt (pos x) (show str)
+                      return pts'
+        exactPC n
+        printStringAt (pos y) "::"
+        exactPC t
+    ForExp       l cc mstr n t      -> do
+        let (a:b:pts) = srcInfoPoints l
+        printString "foreign"
+        printStringAt (pos b) "export"
+        exactPC cc
+        (y:_) <- case mstr of
+                  Nothing -> return pts
+                  Just str -> let (x:pts') = pts in do
+                      printStringAt (pos x) (show str)
+                      return pts'
+        exactPC n
+        printStringAt (pos y) "::"
+        exactPC t
+    RulePragmaDecl   l rs   -> do
+        let [a,b] = srcInfoPoints l
+        printString "{-# RULES"
+        mapM_ exactPC rs
+        printStringAt (pos b) "#-}"
+    DeprPragmaDecl   l nstrs -> do
+        let pts = srcInfoPoints l
+        printString "{-# DEPRECATED"
+        printWarndeprs (map pos (init pts)) nstrs
+        printStringAt (pos (last pts)) "#-}"
+    WarnPragmaDecl   l nstrs -> do
+        let pts = srcInfoPoints l
+        printString "{-# WARNING"
+        printWarndeprs (map pos (init pts)) nstrs
+        printStringAt (pos (last pts)) "#-}"
+    InlineSig        l inl mact qn    -> do
+        let [a,b] = srcInfoPoints l
+        printString $ if inl then "{-# INLINE" else "{-# NOINLINE"
+        maybeEP exactPC mact
+        exactPC qn
+        printStringAt (pos b) "#-}"
+    SpecSig          l qn ts        -> do
+        let (a:pts) = srcInfoPoints l
+        printString "{-# SPECIALISE"
+        exactPC qn
+        printInterleaved (zip pts ("::" : repeat "," ++ ["#-}"])) ts
+    SpecInlineSig    l b mact qn ts -> do
+        let (a:pts) = srcInfoPoints l
+        printString $ "{-# SPECIALISE " ++ if b then "INLINE" else "NOINLINE"
+        maybeEP exactPC mact
+        exactPC qn
+        printInterleaved (zip pts ("::" : repeat "," ++ ["#-}"])) ts
+    InstSig          l mctxt ih     -> do
+        let [a,b,c] = srcInfoPoints l
+        printString $ "{-# SPECIALISE"
+        printStringAt (pos b) "instance"
+        maybeEP exactPC mctxt
+        exactPC ih
+        printStringAt (pos c) "#-}"
+
+printWarndeprs :: [Pos] -> [([Name L], String)] -> EP ()
+printWarndeprs _ [] = return ()
+printWarndeprs ps ((ns,str):nsts) = printWd ps ns str nsts
+  where printWd :: [Pos] -> [Name L] -> String -> [([Name L], String)] -> EP ()
+        printWd (p:ps) []  str nsts = printStringAt p (show str) >> printWarndeprs ps nsts
+        printWd ps     [n] str nsts = exactPC n >> printWd ps [] str nsts
+        printWd (p:ps) (n:ns) str nsts = exactPC n >> printStringAt p "," >> printWd ps ns str nsts
+
+
+sepFunBinds :: [Decl L] -> [Decl L]
+sepFunBinds [] = []
+sepFunBinds (FunBind _ ms:ds) = map (\m -> FunBind (ann m) [m]) ms ++ sepFunBinds ds
+sepFunBinds (d:ds) = d : sepFunBinds ds
+
+
+instance ExactP DeclHead where
+  exactP dh = case dh of
+    DHead l n tvs       -> exactP n >> mapM_ exactPC tvs
+    DHInfix l tva n tvb -> exactP tva >> epInfixName n >> exactPC tvb
+    DHParen l dh        ->
+        let [_,b] = srcInfoPoints l
+         in printString "(" >> exactPC dh >> printStringAt (pos b) ")"
+
+instance ExactP InstHead where
+  exactP ih = case ih of
+    IHead l qn ts       -> exactP qn >> mapM_ exactPC ts
+    IHInfix l ta qn tb  -> exactP ta >> epInfixQName qn >> exactPC tb
+    IHParen l ih        ->
+        let [_,b] = srcInfoPoints l
+         in printString "(" >> exactPC ih >> printStringAt (pos b) ")"
+
+instance ExactP TyVarBind where
+  exactP (KindedVar   l n k) = do
+        let [a,b,c] = srcInfoPoints l
+        printString "("
+        exactPC n
+        printStringAt (pos b) "::"
+        exactPC k
+        printStringAt (pos c) ")"
+  exactP (UnkindedVar l n) = exactP n
+
+instance ExactP Kind where
+  exactP kd = case kd of
+    KindStar  l     -> printString "*"
+    KindBang  l     -> printString "!"
+    KindFn    l k1 k2 -> do
+        let [a] = srcInfoPoints l
+        exactP k1
+        printStringAt (pos a) "->"
+        exactPC k2
+    KindParen l kd  -> do
+        let [a,b] = srcInfoPoints l
+        printString "("
+        exactPC kd
+        printStringAt (pos b) ")"
+
+instance ExactP Type where
+  exactP t = case t of
+    TyForall l mtvs mctxt t -> do
+        let pts = srcInfoPoints l
+        pts <- case mtvs of
+                Nothing -> return pts
+                Just tvs -> do
+                    let (a:b:pts') = pts
+                    printString "forall"
+                    mapM_ exactPC tvs
+                    printStringAt (pos b) "."
+                    return pts'
+        maybeEP exactPC mctxt
+        exactPC t
+    TyFun   l t1 t2 -> do
+        let [a] = srcInfoPoints l
+        exactP t1
+        printStringAt (pos a) "->"
+        exactPC t2
+    TyTuple l bx ts -> do
+        let pts = srcInfoPoints l
+            (o,e) = case bx of
+                     Boxed   -> ("(" , ")")
+                     Unboxed -> ("(#","#)")
+        printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) ts
+    TyList  l t     -> do
+        let [a,b] = srcInfoPoints l
+        printString "["
+        exactPC t
+        printStringAt (pos b) "]"
+    TyApp   l t1 t2 -> exactP t1 >> exactPC t2
+    TyVar   l n     -> exactP n
+    TyCon   l qn    -> exactP qn
+    TyParen l t     -> do
+        let [a,b] = srcInfoPoints l
+        printString "("
+        exactPC t
+        printStringAt (pos b) ")"
+    TyInfix l t1 qn t2 -> exactP t1 >> epInfixQName qn >> exactPC t2
+    TyKind  l t kd -> do
+        let [a,b,c] = srcInfoPoints l
+        printString "("
+        exactPC t
+        printStringAt (pos b) "::"
+        exactPC kd
+        printStringAt (pos c) ")"
+
+instance ExactP Context where
+  exactP ctxt = do
+    printContext ctxt
+    printStringAt (pos (last (srcInfoPoints (ann ctxt)))) "=>"
+
+printContext ctxt = do
+    let l = ann ctxt
+        pts = init $ srcInfoPoints l
+    case ctxt of
+     CxParen l ctxt -> do
+        let [a,b] = pts
+        printStringAt (pos a) "("
+        printContext ctxt
+        printStringAt (pos b) ")"
+     CxSingle l asst -> exactP asst
+     CxEmpty l -> do
+        let [a,b] = pts
+        printStringAt (pos a) "("
+        printStringAt (pos b) ")"
+     CxTuple l assts -> parenList pts assts
+
+
+instance ExactP Asst where
+  exactP asst = case asst of
+    ClassA l qn ts -> exactP qn >> mapM_ exactPC ts
+    InfixA l ta qn tb -> exactP ta >> epInfixQName qn >> exactPC tb
+    IParam l ipn t    -> do
+        let [a] = srcInfoPoints l
+        exactP ipn
+        printStringAt (pos a) "::"
+        exactPC t
+    EqualP l t1 t2  -> do
+        let [a] = srcInfoPoints l
+        exactP t1
+        printStringAt (pos a) "~"
+        exactPC t2
+
+instance ExactP Deriving where
+  exactP (Deriving l ihs) = do
+    let (x:pts) = srcInfoPoints l
+    printString "deriving"
+    parenList pts ihs
+
+instance ExactP ClassDecl where
+  exactP cdecl = case cdecl of
+    ClsDecl    l d -> exactP d
+    ClsDataFam l mctxt dh mk -> do
+        let (x:pts) = srcInfoPoints l
+        printString "data"
+        maybeEP exactPC mctxt
+        exactPC dh
+        maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk
+    ClsTyFam   l dh mk  -> do
+        let (x:pts) = srcInfoPoints l
+        printString "type"
+        exactPC dh
+        maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk
+    ClsTyDef   l t1 t2  -> do
+        let [a,b] = srcInfoPoints l
+        printString "type"
+        exactPC t1
+        printStringAt (pos b) "="
+        exactPC t2
+
+instance ExactP InstDecl where
+  exactP idecl = case idecl of
+    InsDecl   l d -> exactP d
+    InsType   l t1 t2 -> do
+        let [a,b] = srcInfoPoints l
+        printString "type"
+        exactPC t1
+        printStringAt (pos b) "="
+        exactPC t2
+    InsData   l dn t constrs mder -> do
+        exactP dn
+        exactPC t
+        printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs
+        maybeEP exactPC mder
+    InsGData  l dn t mk gds mder  -> do
+        let pts = srcInfoPoints l
+        exactP dn
+        exactPC t
+        (x:pts) <- case mk of
+                    Nothing -> return pts
+                    Just kd -> let (p:pts') = pts in do
+                        printStringAt (pos p) "::"
+                        exactPC kd
+                        return pts'
+        printStringAt (pos x) "where"
+        mapM_ exactPC gds
+        maybeEP exactPC mder
+    InsInline l inl mact qn   -> do
+        let [a,b] = srcInfoPoints l
+        printString $ if inl then "{-# INLINE" else "{-# NOINLINE"
+        maybeEP exactPC mact
+        exactPC qn
+        printStringAt (pos b) "#-}"
+
+instance ExactP FunDep where
+  exactP (FunDep l nxs nys) = do
+    let [a] = srcInfoPoints l
+    mapM_ exactPC nxs
+    printStringAt (pos a) "->"
+    mapM_ exactPC nys
+
+instance ExactP QualConDecl where
+  exactP (QualConDecl l mtvs mctxt cd) = do
+        let pts = srcInfoPoints l
+        pts <- case mtvs of
+                Nothing -> return pts
+                Just tvs -> do
+                    let (a:b:pts') = pts
+                    printString "forall"
+                    mapM_ exactPC tvs
+                    printStringAt (pos b) "."
+                    return pts'
+        maybeEP exactPC mctxt
+        exactPC cd
+
+instance ExactP ConDecl where
+  exactP cd = case cd of
+    ConDecl l n bts -> exactP n >> mapM_ exactPC bts
+    InfixConDecl l bta n btb -> exactP bta >> epInfixName n >> exactP btb
+    RecDecl l n fds -> exactP n >> curlyList (srcInfoPoints l) fds
+
+instance ExactP GadtDecl where
+  exactP (GadtDecl l n t) = do
+    let [a] = srcInfoPoints l
+    exactP n
+    printStringAt (pos a) "::"
+    exactPC t
+
+instance ExactP BangType where
+  exactP bt = case bt of
+    UnBangedTy l t  -> exactP t
+    BangedTy   l t  -> printString "!" >> exactPC t
+    UnpackedTy l t  -> do
+      let [a,b,c] = srcInfoPoints l
+      printString "{-# UNPACK"
+      printStringAt (pos b) "#-}"
+      printStringAt (pos c) "!"
+      exactPC t
+
+instance ExactP Splice where
+  exactP (IdSplice l str) = printString $ '$':str
+  exactP (ParenSplice l e) = do
+    let [a,b] = srcInfoPoints l
+    printString "$("
+    exactPC e
+    printStringAt (pos b) ")"
+
+instance ExactP Exp where
+  exactP exp = case exp of
+    Var l qn        -> exactP qn
+    IPVar l ipn     -> exactP ipn
+    Con l qn        -> exactP qn
+    Lit l lit       -> exactP lit
+    InfixApp l e1 op e2 -> exactP e1 >> exactPC op >> exactPC e2
+    App l e1 e2     -> exactP e1 >> exactPC e2
+    NegApp l e      -> printString "-" >> exactPC e
+    Lambda l ps e   -> do
+        let [a,b] = srcInfoPoints l
+        printString "\\"
+        mapM_ exactPC ps
+        printStringAt (pos b) "->"
+        exactPC e
+    Let l bs e      -> do
+        let [a,b] = srcInfoPoints l
+        printString "let"
+        exactPC bs
+        printStringAt (pos b) "in"
+        exactPC e
+    If l ec et ee   -> do
+        let [a,b,c] = srcInfoPoints l
+        printString "if"
+        exactPC ec
+        printStringAt (pos b) "then"
+        exactPC et
+        printStringAt (pos c) "else"
+        exactPC ee
+    Case l e alts   -> do
+        let (a:b:pts) = srcInfoPoints l
+        printString "case"
+        exactPC e
+        printStringAt (pos b) "of"
+        layoutList pts alts
+    Do l stmts      -> do
+        let (a:pts) = srcInfoPoints l
+        printString "do"
+        layoutList pts stmts
+    MDo l stmts     -> do
+        let (a:pts) = srcInfoPoints l
+        printString "mdo"
+        layoutList pts stmts
+    Tuple l es      -> parenList (srcInfoPoints l) es
+    TupleSection l mexps    -> do
+        let pts = srcInfoPoints l
+        printSeq $ interleave (zip (map pos $ init pts) (map printString ("(": repeat ",")) ++ [(pos $ last pts, printString ")")])
+                              (map (\me -> (maybe (0,0) (pos . ann) me, maybeEP exactPC me)) mexps)
+    List l es               -> squareList (srcInfoPoints l) es
+    Paren l p               -> parenList (srcInfoPoints l) [p]
+    LeftSection l e qop     -> do
+        let [a,b] = srcInfoPoints l
+        printString "("
+        exactPC e
+        exactPC qop
+        printStringAt (pos b) ")"
+    RightSection l qop e    -> do
+        let [a,b] = srcInfoPoints l
+        printString "("
+        exactPC qop
+        exactPC e
+        printStringAt (pos b) ")"
+    RecConstr l qn fups     -> do
+        let pts = srcInfoPoints l
+        exactP qn
+        curlyList pts fups
+    RecUpdate l e fups      -> do
+        let pts = srcInfoPoints l
+        exactP e
+        curlyList pts fups
+    EnumFrom l e            -> do
+        let [a,b,c] = srcInfoPoints l
+        printString "["
+        exactPC e
+        printStringAt (pos b) ".."
+        printStringAt (pos c) "]"
+    EnumFromTo l e1 e2      -> do
+        let [a,b,c] = srcInfoPoints l
+        printString "["
+        exactPC e1
+        printStringAt (pos b) ".."
+        exactPC e2
+        printStringAt (pos c) "]"
+    EnumFromThen l e1 e2    -> do
+        let [a,b,c,d] = srcInfoPoints l
+        printString "["
+        exactPC e1
+        printStringAt (pos b) ","
+        exactPC e2
+        printStringAt (pos c) ".."
+    EnumFromThenTo l e1 e2 e3   -> do
+        let [a,b,c,d] = srcInfoPoints l
+        printString "["
+        exactPC e1
+        printStringAt (pos b) ","
+        exactPC e2
+        printStringAt (pos c) ".."
+        exactPC e3
+        printStringAt (pos d) "]"
+    ListComp l e qss            -> do
+        let (a:pts) = srcInfoPoints l
+        printString "["
+        exactPC e
+        bracketList ("|",",","]") pts qss
+    ParComp  l e qsss           -> do
+        let (a:pts) = srcInfoPoints l
+            (strs, qss) = unzip $ pairUp qsss
+        printString "["
+        exactPC e
+        printInterleaved (zip pts (strs ++ ["]"])) qss
+      where pairUp [] = []
+            pairUp ((a:as):xs) = ("|", a) : zip (repeat ",") as ++ pairUp xs
+
+    ExpTypeSig l e t    -> do
+        let [a] = srcInfoPoints l
+        exactP e
+        printStringAt (pos a) "::"
+        exactPC t
+    VarQuote l qn   -> do
+      printString "'"
+      exactPC qn
+    TypQuote l qn -> do
+      printString "''"
+      exactPC qn
+    BracketExp l br -> exactP br
+    SpliceExp l sp  -> exactP sp
+    QuasiQuote l name qt    -> printString $ "[$" ++ name ++ "|" ++ qt ++ "]"
+    XTag l xn attrs mat es  -> do
+        let [a,b,c,d,e] = srcInfoPoints l
+        printString "<"
+        exactPC xn
+        mapM_ exactPC attrs
+        maybeEP exactPC mat
+        printStringAt (pos b) ">"
+        mapM_ exactPC es
+        printStringAt (pos c) "</"
+        printWhitespace (pos d)
+        exactP xn
+        printStringAt (pos e) ">"
+    XETag l xn attrs mat    -> do
+        let [a,b] = srcInfoPoints l
+        printString "<"
+        exactPC xn
+        mapM_ exactPC attrs
+        maybeEP exactPC mat
+        printStringAt (pos b) "/>"
+    XPcdata l str   -> printString str
+    XExpTag l e     -> do
+        let [a,b] = srcInfoPoints l
+        printString "<%"
+        exactPC e
+        printString "%>"
+
+    CorePragma l      str e         -> do
+        let [a,b] = srcInfoPoints l
+        printString $ "{-# CORE " ++ show str
+        printStringAt (pos b) "#-}"
+        exactPC e
+    SCCPragma  l      str e         -> do
+        let [a,b] = srcInfoPoints l
+        printString $ "{-# SCC " ++ show str
+        printStringAt (pos b) "#-}"
+        exactPC e
+    GenPragma  l      str (i1,i2) (i3,i4) e -> do
+        printStrs $ zip (srcInfoPoints l) ["{-# GENERATED", show str, show i1, ":", show i2, "-", show i3, ":", show i4, "#-}"]
+        exactPC e
+    Proc            l p e   -> do
+        let [a,b] = srcInfoPoints l
+        printString "proc"
+        exactPC p
+        printStringAt (pos b) "->"
+        exactPC e
+    LeftArrApp      l e1 e2 -> do
+        let [a] = srcInfoPoints l
+        exactP e1
+        printStringAt (pos a) "-<"
+        exactPC e2
+    RightArrApp     l e1 e2 -> do
+        let [a] = srcInfoPoints l
+        exactP e1
+        printStringAt (pos a) ">-"
+        exactPC e2
+    LeftArrHighApp  l e1 e2 -> do
+        let [a] = srcInfoPoints l
+        exactP e1
+        printStringAt (pos a) "-<<"
+        exactPC e2
+    RightArrHighApp l e1 e2 -> do
+        let [a] = srcInfoPoints l
+        exactP e1
+        printStringAt (pos a) ">>-"
+        exactPC e2
+
+instance ExactP FieldUpdate where
+  exactP fup = case fup of
+    FieldUpdate l qn e  -> do
+      let [a] = srcInfoPoints l
+      exactP qn
+      printStringAt (pos a) "="
+      exactPC e
+    FieldPun l n    -> exactP n
+    FieldWildcard l -> printString ".."
+
+instance ExactP Stmt where
+  exactP stmt = case stmt of
+    Generator l p e -> do
+      let [a] = srcInfoPoints l
+      exactP p
+      printStringAt (pos a) "<-"
+      exactPC e
+    Qualifier l e -> exactP e
+    LetStmt l bds   -> do
+      printString "let"
+      exactPC bds
+    RecStmt l ss    -> do
+      let (a:pts) = srcInfoPoints l
+      printString "rec"
+      layoutList pts ss
+
+instance ExactP QualStmt where
+  exactP qstmt = case qstmt of
+    QualStmt     l stmt -> exactP stmt
+    ThenTrans    l e    -> printString "then" >> exactPC e
+    ThenBy       l e1 e2    -> do
+        let [a,b] = srcInfoPoints l
+        printString "then"
+        exactPC e1
+        printStringAt (pos b) "by"
+        exactPC e2
+    GroupBy      l e        -> do
+        printStrs $ zip (srcInfoPoints l) ["then","group","by"]
+        exactPC e
+    GroupUsing   l e        -> do
+        printStrs $ zip (srcInfoPoints l) ["then","group","using"]
+        exactPC e
+    GroupByUsing l e1 e2    -> do
+        let pts = srcInfoPoints l
+        printStrs $ zip (init pts) ["then","group","by"]
+        exactPC e1
+        printStringAt (pos (last pts)) "using"
+        exactPC e2
+
+instance ExactP Bracket where
+  exactP br = case br of
+    ExpBracket l e  -> do
+        let [a,b] = srcInfoPoints l
+        printString "[|"
+        exactPC e
+        printStringAt (pos b) "|]"
+    PatBracket l p  -> do
+        let [a,b] = srcInfoPoints l
+        printString "[p|"
+        exactPC p
+        printStringAt (pos b) "|]"
+    TypeBracket l t  -> do
+        let [a,b] = srcInfoPoints l
+        printString "[t|"
+        exactPC t
+        printStringAt (pos b) "|]"
+    DeclBracket l ds -> do
+        let (a:pts) = srcInfoPoints l
+        printString "[d|"
+        layoutList (init pts) (sepFunBinds ds)
+        printStringAt (pos (last pts)) "|]"
+
+instance ExactP XAttr where
+  exactP (XAttr l xn e) = do
+    let [a] = srcInfoPoints l
+    exactP xn
+    printStringAt (pos a) "="
+    exactPC e
+
+instance ExactP Alt where
+  exactP (Alt l p galts mbs) = do
+    exactP p
+    exactPC galts
+    maybeEP (\bs -> printStringAt (pos (head (srcInfoPoints l))) "where" >> exactPC bs) mbs
+
+instance ExactP GuardedAlts where
+  exactP (UnGuardedAlt l e) = printString "->" >> exactPC e
+  exactP (GuardedAlts  l galts) = mapM_ exactPC galts
+
+instance ExactP GuardedAlt where
+  exactP (GuardedAlt l stmts e) = do
+    bracketList ("|",",","->") (srcInfoPoints l) stmts
+    exactPC e
+
+instance ExactP Match where
+  exactP (Match l n ps rhs mbinds) = do
+    let pts = srcInfoPoints l
+    exactP n
+    mapM_ exactPC ps
+    exactPC rhs
+    maybeEP (\bds -> printStringAt (pos (head pts)) "where" >> exactPC bds) mbinds
+  exactP (InfixMatch l a n b rhs mbinds) = do
+    let pts = srcInfoPoints l
+    exactP a
+    epInfixName n
+    exactPC b
+    exactPC rhs
+    maybeEP (\bds -> printStringAt (pos (head pts)) "where" >> exactPC bds) mbinds
+
+instance ExactP Rhs where
+  exactP (UnGuardedRhs l e) = printString "=" >> exactPC e
+  exactP (GuardedRhss  l grhss) = mapM_ exactPC grhss
+
+instance ExactP GuardedRhs where
+  exactP (GuardedRhs l ss e) = do
+    let (a:pts) = srcInfoPoints l
+    printString "|"
+    printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "=")]) ss
+    exactPC e
+
+instance ExactP Pat where
+  exactP pat = case pat of
+    PVar l n    -> exactP n
+    PLit l lit  -> exactP lit
+    PNeg l p    -> printString "-" >> exactPC p
+    PNPlusK l n k   -> do
+        let [a,b] = srcInfoPoints l
+        exactP n
+        printStringAt (pos a) "+"
+        printStringAt (pos b) (show k)
+    PInfixApp l pa qn pb -> exactP pa >> epInfixQName qn >> exactPC pb
+    PApp l qn ps    -> exactP qn >> mapM_ exactPC ps
+    PTuple l ps -> parenList (srcInfoPoints l) ps
+    PList l ps  -> squareList (srcInfoPoints l) ps
+    PParen l p  -> parenList (srcInfoPoints l) [p]
+    PRec l qn pfs   -> exactP qn >> curlyList (srcInfoPoints l) pfs
+    PAsPat l n p    -> do
+        let [a] = srcInfoPoints l
+        exactP n
+        printStringAt (pos a) "@"
+        exactPC p
+    PWildCard l -> printString "_"
+    PIrrPat l p -> printString "~" >> exactPC p
+    PatTypeSig l p t -> do
+        let [a] = srcInfoPoints l
+        exactP p
+        printStringAt (pos a) "::"
+        exactPC t
+    PViewPat l e p -> do
+        let [a] = srcInfoPoints l
+        exactP e
+        printStringAt (pos a) "->"
+        exactPC p
+    PRPat l rps -> squareList (srcInfoPoints l) rps
+    PXTag l xn attrs mat ps -> do
+        let [a,b,c,d,e] = srcInfoPoints l
+        printString "<"
+        exactPC xn
+        mapM_ exactPC attrs
+        maybeEP exactPC mat
+        printStringAt (pos b) ">"
+        mapM_ exactPC ps
+        printStringAt (pos c) "</"
+        printWhitespace (pos d)
+        exactP xn
+        printStringAt (pos e) ">"
+    PXETag l xn attrs mat -> do
+        let [a,b] = srcInfoPoints l
+        printString "<"
+        exactPC xn
+        mapM_ exactPC attrs
+        maybeEP exactPC mat
+        printStringAt (pos b) "/>"
+    PXPcdata l str -> printString str
+    PXPatTag l p   -> do
+        let [a,b] = srcInfoPoints l
+        printString "<%"
+        exactPC p
+        printString "%>"
+    PXRPats  l rps  -> bracketList ("<[",",","]>") (srcInfoPoints l) rps
+    PExplTypeArg l qn t -> do
+        let [a,b] = srcInfoPoints l
+        exactP qn
+        printStringAt (pos a) "{|"
+        exactPC t
+        printStringAt (pos b) "|}"
+    PQuasiQuote l name qt   -> printString $ "[$" ++ name ++ "|" ++ qt ++ "]"
+    PBangPat l p    -> printString "!" >> exactPC p
+
+instance ExactP PatField where
+  exactP pf = case pf of
+    PFieldPat l qn p        -> do
+        let [a] = srcInfoPoints l
+        exactP qn
+        printStringAt (pos a) "="
+        exactPC p
+    PFieldPun l n   -> exactP n
+    PFieldWildcard l -> printString ".."
+
+instance ExactP RPat where
+  exactP rpat = case rpat of
+    RPOp l rp op    -> exactP rp >> exactPC op
+    RPEither l r1 r2 -> do
+      let [a] = srcInfoPoints l
+      exactP r1
+      printStringAt (pos a) "|"
+      exactPC r2
+    RPSeq l rps -> bracketList ("(|",",","|)") (srcInfoPoints l) rps
+    RPGuard l p stmts   -> do
+      let (a:pts) = srcInfoPoints l
+      printString "(|"
+      exactPC p
+      bracketList ("|",",","|)") pts stmts
+    RPCAs l n rp    -> do
+      let [a] = srcInfoPoints l
+      exactP n
+      printStringAt (pos a) "@:"
+      exactPC rp
+    RPAs l n rp     -> do
+      let [a] = srcInfoPoints l
+      exactP n
+      printStringAt (pos a) "@"
+      exactPC rp
+    RPParen l rp    -> do
+      parenList (srcInfoPoints l) [rp]
+    RPPat l p   -> exactP p
+
+instance ExactP RPatOp where
+  exactP rop = printString $ case rop of
+    RPStar  l  -> "*"
+    RPStarG l  -> "*!"
+    RPPlus  l  -> "+"
+    RPPlusG l  -> "+!"
+    RPOpt   l  -> "?"
+    RPOptG  l  -> "?!"
+
+instance ExactP PXAttr where
+  exactP (PXAttr l xn p) = do
+    let [a] = srcInfoPoints l
+    exactP xn
+    printStringAt (pos a) "="
+    exactPC p
+
+instance ExactP XName where
+  exactP xn = case xn of
+    XName l name -> printString name
+    XDomName l dom name -> do
+        let [a,b,c] = srcInfoPoints l
+        printString dom
+        printStringAt (pos b) ":"
+        printStringAt (pos c) name
+
+instance ExactP Binds where
+  exactP (BDecls  l ds)  = layoutList (srcInfoPoints l) (sepFunBinds ds)
+  exactP (IPBinds l ips) = layoutList (srcInfoPoints l) ips
+
+instance ExactP CallConv where
+  exactP (StdCall _) = printString "stdcall"
+  exactP (CCall   _) = printString "ccall"
+
+instance ExactP Safety where
+  exactP (PlayRisky _) = printString "unsafe"
+  exactP (PlaySafe _ b) = printString $ if b then "threadsafe" else "safe"
+
+instance ExactP Rule where
+  exactP (Rule l str mact mrvs e1 e2) = do
+    let (a:pts) = srcInfoPoints l
+    printString (show str)
+    maybeEP exactP mact
+    [x] <- case mrvs of
+            Nothing -> return pts
+            Just rvs -> do
+                let (a:b:pts') = pts
+                printStringAt (pos a) "forall"
+                mapM_ exactPC rvs
+                printStringAt (pos b) "."
+                return pts'
+    exactPC e1
+    printStringAt (pos x) "="
+    exactPC e2
+
+instance ExactP RuleVar where
+  exactP (TypedRuleVar l n t) = do
+        let [a,b,c] = srcInfoPoints l
+        printString "("
+        exactPC n
+        printStringAt (pos b) "::"
+        exactPC t
+        printStringAt (pos c) ")"
+  exactP (RuleVar l n) = exactP n
+
+instance ExactP Activation where
+  exactP (ActiveFrom   l i) =
+    printPoints l ["[", show i, "]"]
+  exactP (ActiveUntil  l i) =
+    printPoints l ["[", "~", show i, "]"]
+
+instance ExactP FieldDecl where
+  exactP (FieldDecl l ns bt) = do
+    let pts = srcInfoPoints l
+    printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "::")]) ns
+    exactPC bt
+
+instance ExactP IPBind where
+  exactP (IPBind l ipn e) = do
+    let [a] = srcInfoPoints l
+    exactP ipn
+    printStringAt (pos a) "="
+    exactPC e
src/Language/Haskell/Exts/Annotated/Fixity.hs view
@@ -34,9 +34,12 @@     ) where
 
 import Language.Haskell.Exts.Annotated.Syntax
+import Language.Haskell.Exts.Annotated.SrcLoc
 
 import Data.Char (isUpper)
 
+type L = SrcSpanInfo
+
 -- | Operator fixities are represented by their associativity
 --   (left, right or none) and their precedence (0-9).
 data Fixity = Fixity (Assoc ()) Int (Op ())
@@ -47,12 +50,12 @@   -- | Tweak any expressions in the element to account for the
   --   fixities given. Assumes that all operator expressions are
   --   fully left associative chains to begin with.
-  applyFixities :: [Fixity] -- ^ The fixities to account for.
-                    -> ast  -- ^ The element to tweak.
-                    -> ast  -- ^ The same element, but with operator expressions updated.
+  applyFixities :: [Fixity]   -- ^ The fixities to account for.
+                    -> ast L  -- ^ The element to tweak.
+                    -> ast L  -- ^ The same element, but with operator expressions updated.
 
 
-instance AppFixity (Exp l) where
+instance AppFixity Exp where
   applyFixities fixs = infFix fixs . leafFix fixs
     where -- This is the real meat case. We can assume a left-associative list to begin with.
           infFix fixs (InfixApp l2 a op2 z) =
@@ -64,7 +67,7 @@                        in if (p1 == p2 && (a1 /= a2 || a1 == AssocNone ())) -- Ambiguous infix expression!
                               || (p1 > p2 || p1 == p2 && (a1 == AssocLeft () || a2 == AssocNone ())) -- Already right order
                            then InfixApp l2 e op2 z
-                           else InfixApp l1 x op1 (infFix fixs $ InfixApp l1 y op2 z)
+                           else InfixApp l2 x op1 (infFix fixs $ InfixApp (ann y <++> ann z) y op2 z)
                    _  -> InfixApp l2 e op2 z
 
           infFix _ e = e
@@ -153,7 +156,7 @@ -------------------------------------------------------------------
 -- Boilerplate - yuck!! Everything below here is internal stuff
 
-instance AppFixity (Module l) where
+instance AppFixity Module where
     applyFixities fixs (Module l mmh prs imp decls) =
         Module l mmh prs imp $ appFixDecls fixs decls
     applyFixities fixs (XmlPage l os xn xas mexp cs) =
@@ -165,17 +168,17 @@       where fixe x = let extraFixs = getFixities decls
                       in applyFixities (fixs++extraFixs) x
 
-instance AppFixity (Decl l) where
+instance AppFixity Decl where
     applyFixities fixs decl = case decl of
-        ClassDecl l ctxt n vars deps cdecls   -> ClassDecl l ctxt n vars deps $ fmap (map fix) cdecls
-        InstDecl  l ctxt n ts idecls          -> InstDecl l ctxt n ts $ fmap (map fix) idecls
+        ClassDecl l ctxt dh deps cdecls   -> ClassDecl l ctxt dh deps $ fmap (map fix) cdecls
+        InstDecl  l ctxt ih idecls        -> InstDecl  l ctxt ih      $ fmap (map fix) idecls
         SpliceDecl l spl        -> SpliceDecl l $ fix spl
         FunBind l matches       -> FunBind l $ map fix matches
         PatBind l p mt rhs bs -> PatBind l (fix p) mt (fix rhs) (fmap fix bs)
         _                       -> decl
       where fix x = applyFixities fixs x
 
-appFixDecls :: [Fixity] -> [Decl l] -> [Decl l]
+appFixDecls :: [Fixity] -> [Decl L] -> [Decl L]
 appFixDecls fixs decls =
     let extraFixs = getFixities decls
      in map (applyFixities (fixs++extraFixs)) decls
@@ -184,29 +187,31 @@ getFixity (InfixDecl _ a mp ops) = let p = maybe 9 id mp in map (Fixity (nullAnn a) p) (map nullAnn ops)
 getFixity _ = []
 
-instance AppFixity (ClassDecl l) where
+instance AppFixity ClassDecl where
     applyFixities fixs (ClsDecl l decl) = ClsDecl l $ applyFixities fixs decl
     applyFixities _ cdecl = cdecl
 
-instance AppFixity (InstDecl l) where
+instance AppFixity InstDecl where
     applyFixities fixs (InsDecl l decl) = InsDecl l $ applyFixities fixs decl
     applyFixities _ idecl = idecl
 
-instance AppFixity (Match l) where
-    applyFixities fixs (Match l n ps mt rhs bs) = Match l n (map fix ps) mt (fix rhs) (fmap fix bs)
+instance AppFixity Match where
+    applyFixities fixs match = case match of
+        Match l n ps rhs bs -> Match l n (map fix ps) (fix rhs) (fmap fix bs)
+        InfixMatch l a n b rhs bs -> InfixMatch l (fix a) n (fix b) (fix rhs) (fmap fix bs)
       where fix x = applyFixities fixs x
 
-instance AppFixity (Rhs l) where
+instance AppFixity Rhs where
     applyFixities fixs rhs = case rhs of
         UnGuardedRhs l e      -> UnGuardedRhs l $ fix e
         GuardedRhss l grhss   -> GuardedRhss l $ map fix grhss
       where fix x = applyFixities fixs x
 
-instance AppFixity (GuardedRhs l) where
+instance AppFixity GuardedRhs where
     applyFixities fixs (GuardedRhs l stmts e) = GuardedRhs l (map fix stmts) $ fix e
       where fix x = applyFixities fixs x
 
-instance AppFixity (Pat l) where
+instance AppFixity Pat where
     applyFixities fixs p = case p of
         PNeg l p                -> PNeg l $ fix p
         PInfixApp l a op b      -> PInfixApp l (fix a) op (fix b)
@@ -228,11 +233,11 @@         _                       -> p
       where fix x = applyFixities fixs x
 
-instance AppFixity (PatField l) where
+instance AppFixity PatField where
     applyFixities fixs (PFieldPat l n p) = PFieldPat l n $ applyFixities fixs p
     applyFixities _ pf = pf
 
-instance AppFixity (RPat l) where
+instance AppFixity RPat where
     applyFixities fixs rp = case rp of
         RPOp l rp op          -> RPOp l (fix rp) op
         RPEither l a b        -> RPEither l (fix a) (fix b)
@@ -244,10 +249,10 @@         RPPat l p             -> RPPat l $ fix p
       where fix x = applyFixities fixs x
 
-instance AppFixity (PXAttr l) where
+instance AppFixity PXAttr where
     applyFixities fixs (PXAttr l n p) = PXAttr l n $ applyFixities fixs p
 
-instance AppFixity (Stmt l) where
+instance AppFixity Stmt where
     applyFixities fixs stmt = case stmt of
         Generator l p e       -> Generator l (fix p) (fix e)
         Qualifier l e         -> Qualifier l $ fix e
@@ -255,35 +260,35 @@         RecStmt l stmts       -> RecStmt l $ map fix stmts
       where fix x = applyFixities fixs x
 
-instance AppFixity (Binds l) where
+instance AppFixity Binds where
     applyFixities fixs bs = case bs of
         BDecls l decls        -> BDecls l $ appFixDecls fixs decls  -- special behavior
         IPBinds l ips         -> IPBinds l $ map fix ips
       where fix x = applyFixities fixs x
 
 
-instance AppFixity (IPBind l) where
+instance AppFixity IPBind where
     applyFixities fixs (IPBind l n e) = IPBind l n $ applyFixities fixs e
 
-instance AppFixity (FieldUpdate l) where
+instance AppFixity FieldUpdate where
     applyFixities fixs (FieldUpdate l n e) = FieldUpdate l n $ applyFixities fixs e
     applyFixities _ fup = fup
 
-instance AppFixity (Alt l) where
+instance AppFixity Alt where
     applyFixities fixs (Alt l p galts bs) = Alt l (fix p) (fix galts) (fmap fix bs)
       where fix x = applyFixities fixs x
 
-instance AppFixity (GuardedAlts l) where
+instance AppFixity GuardedAlts where
     applyFixities fixs galts = case galts of
         UnGuardedAlt l e      -> UnGuardedAlt l $ fix e
         GuardedAlts  l galts  -> GuardedAlts l $ map fix galts
       where fix x = applyFixities fixs x
 
-instance AppFixity (GuardedAlt l) where
+instance AppFixity GuardedAlt where
     applyFixities fixs (GuardedAlt l stmts e) = GuardedAlt l (map fix stmts) (fix e)
       where fix x = applyFixities fixs x
 
-instance AppFixity (QualStmt l) where
+instance AppFixity QualStmt where
     applyFixities fixs qstmt = case qstmt of
         QualStmt     l s      -> QualStmt l $ fix s
         ThenTrans    l e      -> ThenTrans l $ fix e
@@ -293,7 +298,7 @@         GroupByUsing l e1 e2  -> GroupByUsing l (fix e1) (fix e2)
       where fix x = applyFixities fixs x
 
-instance AppFixity (Bracket l) where
+instance AppFixity Bracket where
     applyFixities fixs br = case br of
         ExpBracket l e    -> ExpBracket l $ fix e
         PatBracket l p    -> PatBracket l $ fix p
@@ -301,11 +306,11 @@         _                 -> br
       where fix x = applyFixities fixs x
 
-instance AppFixity (Splice l) where
+instance AppFixity Splice where
     applyFixities fixs (ParenSplice l e) = ParenSplice l $ applyFixities fixs e
     applyFixities _ s = s
 
-instance AppFixity (XAttr l) where
+instance AppFixity XAttr where
     applyFixities fixs (XAttr l n e) = XAttr l n $ applyFixities fixs e
 
 
src/Language/Haskell/Exts/Annotated/Lexer.hs view
@@ -44,16 +44,16 @@         | ConSym String         | QVarSym (String,String)         | QConSym (String,String)-        | IntTok Integer-        | FloatTok Rational-        | Character Char-        | StringTok String-        | IntTokHash Integer        -- 1#-        | WordTokHash Integer       -- 1##-        | FloatTokHash Rational     -- 1.0#-        | DoubleTokHash Rational    -- 1.0##-        | CharacterHash Char        -- c#-        | StringHash String         -- "Hello world!"#+        | IntTok (Integer, String)+        | FloatTok (Rational, String)+        | Character (Char, String)+        | StringTok (String, String)+        | IntTokHash (Integer, String)        -- 1#+        | WordTokHash (Integer, String)       -- 1##+        | FloatTokHash (Rational, String)     -- 1.0#+        | DoubleTokHash (Rational, String)    -- 1.0##+        | CharacterHash (Char, String)        -- c#+        | StringHash (String, String)         -- "Hello world!"#  -- Symbols @@ -346,7 +346,8 @@             loc <- getSrcLocL             discard 2             (bol, c) <- lexNestedComment bol ""-            pushComment $ MultiLine loc (reverse c)+            loc2 <- getSrcLocL+            pushComment $ Comment True (mkSrcSpan loc loc2) (reverse c)             (bol, _) <- lexWhiteSpace bol             return (bol, True)         '-':'-':s | all (== '-') (takeWhile isHSymbol s) -> do@@ -358,7 +359,8 @@             case s' of                 [] -> fail "Unterminated end-of-line comment"                 _ -> do-                    lexNewline >> pushComment (SingleLine loc $ dashes ++ rest)+                    loc2 <- getSrcLocL+                    lexNewline >> pushComment (Comment False (mkSrcSpan loc loc2) $ dashes ++ rest)                     lexWhiteSpace True                     return (True, True)         '\n':_ -> do@@ -528,12 +530,12 @@          '0':c:d:_ | toLower c == 'o' && isOctDigit d -> do                         discard 2-                        n <- lexOctal-                        return (IntTok n)+                        (n, str) <- lexOctal+                        return (IntTok (n, '0':c:str))                   | toLower c == 'x' && isHexDigit d -> do                         discard 2-                        n <- lexHexadecimal-                        return (IntTok n)+                        (n, str) <- lexHexadecimal+                        return (IntTok (n, '0':c:str))          -- implicit parameters         '?':c:_ | isLower c && ImplicitParams `elem` exts -> do@@ -783,36 +785,37 @@                 frac <- lexWhile isDigit                 let num = parseInteger 10 (ds ++ frac)                     decimals = toInteger (length frac)-                exponent <- do+                (exponent, estr) <- do                     rest2 <- getInput                     case rest2 of                         'e':_ -> lexExponent                         'E':_ -> lexExponent-                        _     -> return 0+                        _     -> return (0,"")                 con <- lexHash FloatTok FloatTokHash (Right DoubleTokHash)-                return $ con ((num%1) * 10^^(exponent - decimals))+                return $ con ((num%1) * 10^^(exponent - decimals), ds ++ '.':frac ++ estr)         e:_ | toLower e == 'e' -> do-                exponent <- lexExponent+                (exponent, estr) <- lexExponent                 con <- lexHash FloatTok FloatTokHash (Right DoubleTokHash)-                return $ con ((parseInteger 10 ds%1) * 10^^exponent)-        '#':'#':_ | MagicHash `elem` exts -> discard 2 >> return (WordTokHash (parseInteger 10 ds))-        '#':_     | MagicHash `elem` exts -> discard 1 >> return (IntTokHash  (parseInteger 10 ds))-        _         ->              return (IntTok      (parseInteger 10 ds))+                return $ con ((parseInteger 10 ds%1) * 10^^exponent, ds ++ estr)+        '#':'#':_ | MagicHash `elem` exts -> discard 2 >> return (WordTokHash (parseInteger 10 ds, ds))+        '#':_     | MagicHash `elem` exts -> discard 1 >> return (IntTokHash  (parseInteger 10 ds, ds))+        _         ->              return (IntTok      (parseInteger 10 ds, ds))      where-    lexExponent :: Lex a Integer+    lexExponent :: Lex a (Integer, String)     lexExponent = do+        (e:r) <- getInput         discard 1   -- 'e' or 'E'-        r <- getInput         case r of          '+':d:_ | isDigit d -> do             discard 1-            lexDecimal+            (n, str) <- lexDecimal+            return (n, e:'+':str)          '-':d:_ | isDigit d -> do             discard 1-            n <- lexDecimal-            return (negate n)-         d:_ | isDigit d -> lexDecimal+            (n, str) <- lexDecimal+            return (negate n, e:'-':str)+         d:_ | isDigit d -> lexDecimal >>= \(n,str) -> return (n, e:str)          _ -> fail "Float with missing exponent"  lexHash :: (b -> Token) -> (b -> Token) -> Either String (b -> Token) -> Lex a (b -> Token)@@ -885,16 +888,16 @@         case s of          '\'':_ | TemplateHaskell `elem` exts -> discard 1 >> return THTyQuote          '\\':_ -> do-                    c <- lexEscape+                    (c,raw) <- lexEscape                     matchQuote                     con <- lexHash Character CharacterHash                             (Left "Double hash not available for character literals")-                    return (con c)+                    return (con (c, '\\':raw))          c:'\'':_ -> do                     discard 2                     con <- lexHash Character CharacterHash                             (Left "Double hash not available for character literals")-                    return (con c)+                    return (con (c, [c]))          _ | TemplateHaskell `elem` exts -> return THVarQuote          _ -> fail "Improper character constant or misplaced \'" @@ -902,50 +905,53 @@   lexString :: Lex a Token-lexString = loop ""+lexString = loop ("","")     where-    loop s = do+    loop (s,raw) = do         r <- getInput         exts <- getExtensionsL         case r of             '\\':'&':_ -> do                     discard 2-                    loop s+                    loop (s, '&':'\\':raw)             '\\':c:_ | isSpace c -> do                         discard 1-                        lexWhiteChars+                        wcs <- lexWhiteChars                         matchChar '\\' "Illegal character in string gap"-                        loop s+                        loop (s, '\\':reverse wcs ++ '\\':raw)                      | otherwise -> do-                        ce <- lexEscape-                        loop (ce:s)+                        (ce, str) <- lexEscape+                        loop (ce:s, reverse str ++ '\\':raw)             '"':'#':_ | MagicHash `elem` exts -> do                         discard 2-                        return (StringHash (reverse s))+                        return (StringHash (reverse s, reverse raw))             '"':_ -> do                 discard 1-                return (StringTok (reverse s))+                return (StringTok (reverse s, reverse raw))             c:_ -> do                 discard 1-                loop (c:s)+                loop (c:s, c:raw)             [] ->   fail "Improperly terminated string" -    lexWhiteChars :: Lex a ()+    lexWhiteChars :: Lex a String     lexWhiteChars = do         s <- getInput         case s of             '\n':_ -> do                     lexNewline-                    lexWhiteChars+                    wcs <- lexWhiteChars+                    return $ '\n':wcs             '\t':_ -> do                     lexTab-                    lexWhiteChars+                    wcs <- lexWhiteChars+                    return $ '\t':wcs             c:_ | isSpace c -> do                     discard 1-                    lexWhiteChars-            _ -> return ()+                    wcs <- lexWhiteChars+                    return $ c:wcs+            _ -> return "" -lexEscape :: Lex a Char+lexEscape :: Lex a (Char, String) lexEscape = do     discard 1     r <- getInput@@ -953,68 +959,71 @@  -- Production charesc from section B.2 (Note: \& is handled by caller) -        'a':_           -> discard 1 >> return '\a'-        'b':_           -> discard 1 >> return '\b'-        'f':_           -> discard 1 >> return '\f'-        'n':_           -> discard 1 >> return '\n'-        'r':_           -> discard 1 >> return '\r'-        't':_           -> discard 1 >> return '\t'-        'v':_           -> discard 1 >> return '\v'-        '\\':_          -> discard 1 >> return '\\'-        '"':_           -> discard 1 >> return '\"'-        '\'':_          -> discard 1 >> return '\''+        'a':_           -> discard 1 >> return ('\a', "a")+        'b':_           -> discard 1 >> return ('\b', "b")+        'f':_           -> discard 1 >> return ('\f', "f")+        'n':_           -> discard 1 >> return ('\n', "n")+        'r':_           -> discard 1 >> return ('\r', "r")+        't':_           -> discard 1 >> return ('\t', "t")+        'v':_           -> discard 1 >> return ('\v', "v")+        '\\':_          -> discard 1 >> return ('\\', "\\")+        '"':_           -> discard 1 >> return ('\"', "\"")+        '\'':_          -> discard 1 >> return ('\'', "\'")  -- Production ascii from section B.2          '^':c:_         -> discard 2 >> cntrl c-        'N':'U':'L':_   -> discard 3 >> return '\NUL'-        'S':'O':'H':_   -> discard 3 >> return '\SOH'-        'S':'T':'X':_   -> discard 3 >> return '\STX'-        'E':'T':'X':_   -> discard 3 >> return '\ETX'-        'E':'O':'T':_   -> discard 3 >> return '\EOT'-        'E':'N':'Q':_   -> discard 3 >> return '\ENQ'-        'A':'C':'K':_   -> discard 3 >> return '\ACK'-        'B':'E':'L':_   -> discard 3 >> return '\BEL'-        'B':'S':_       -> discard 2 >> return '\BS'-        'H':'T':_       -> discard 2 >> return '\HT'-        'L':'F':_       -> discard 2 >> return '\LF'-        'V':'T':_       -> discard 2 >> return '\VT'-        'F':'F':_       -> discard 2 >> return '\FF'-        'C':'R':_       -> discard 2 >> return '\CR'-        'S':'O':_       -> discard 2 >> return '\SO'-        'S':'I':_       -> discard 2 >> return '\SI'-        'D':'L':'E':_   -> discard 3 >> return '\DLE'-        'D':'C':'1':_   -> discard 3 >> return '\DC1'-        'D':'C':'2':_   -> discard 3 >> return '\DC2'-        'D':'C':'3':_   -> discard 3 >> return '\DC3'-        'D':'C':'4':_   -> discard 3 >> return '\DC4'-        'N':'A':'K':_   -> discard 3 >> return '\NAK'-        'S':'Y':'N':_   -> discard 3 >> return '\SYN'-        'E':'T':'B':_   -> discard 3 >> return '\ETB'-        'C':'A':'N':_   -> discard 3 >> return '\CAN'-        'E':'M':_       -> discard 2 >> return '\EM'-        'S':'U':'B':_   -> discard 3 >> return '\SUB'-        'E':'S':'C':_   -> discard 3 >> return '\ESC'-        'F':'S':_       -> discard 2 >> return '\FS'-        'G':'S':_       -> discard 2 >> return '\GS'-        'R':'S':_       -> discard 2 >> return '\RS'-        'U':'S':_       -> discard 2 >> return '\US'-        'S':'P':_       -> discard 2 >> return '\SP'-        'D':'E':'L':_   -> discard 3 >> return '\DEL'+        'N':'U':'L':_   -> discard 3 >> return ('\NUL', "NUL")+        'S':'O':'H':_   -> discard 3 >> return ('\SOH', "SOH")+        'S':'T':'X':_   -> discard 3 >> return ('\STX', "STX")+        'E':'T':'X':_   -> discard 3 >> return ('\ETX', "ETX")+        'E':'O':'T':_   -> discard 3 >> return ('\EOT', "EOT")+        'E':'N':'Q':_   -> discard 3 >> return ('\ENQ', "ENQ")+        'A':'C':'K':_   -> discard 3 >> return ('\ACK', "ACK")+        'B':'E':'L':_   -> discard 3 >> return ('\BEL', "BEL")+        'B':'S':_       -> discard 2 >> return ('\BS',  "BS")+        'H':'T':_       -> discard 2 >> return ('\HT',  "HT")+        'L':'F':_       -> discard 2 >> return ('\LF',  "LF")+        'V':'T':_       -> discard 2 >> return ('\VT',  "VT")+        'F':'F':_       -> discard 2 >> return ('\FF',  "FF")+        'C':'R':_       -> discard 2 >> return ('\CR',  "CR")+        'S':'O':_       -> discard 2 >> return ('\SO',  "SO")+        'S':'I':_       -> discard 2 >> return ('\SI',  "SI")+        'D':'L':'E':_   -> discard 3 >> return ('\DLE', "DLE")+        'D':'C':'1':_   -> discard 3 >> return ('\DC1', "DC1")+        'D':'C':'2':_   -> discard 3 >> return ('\DC2', "DC2")+        'D':'C':'3':_   -> discard 3 >> return ('\DC3', "DC3")+        'D':'C':'4':_   -> discard 3 >> return ('\DC4', "DC4")+        'N':'A':'K':_   -> discard 3 >> return ('\NAK', "NAK")+        'S':'Y':'N':_   -> discard 3 >> return ('\SYN', "SYN")+        'E':'T':'B':_   -> discard 3 >> return ('\ETB', "ETB")+        'C':'A':'N':_   -> discard 3 >> return ('\CAN', "CAN")+        'E':'M':_       -> discard 2 >> return ('\EM',  "EM")+        'S':'U':'B':_   -> discard 3 >> return ('\SUB', "SUB")+        'E':'S':'C':_   -> discard 3 >> return ('\ESC', "ESC")+        'F':'S':_       -> discard 2 >> return ('\FS',  "FS")+        'G':'S':_       -> discard 2 >> return ('\GS',  "GS")+        'R':'S':_       -> discard 2 >> return ('\RS',  "RS")+        'U':'S':_       -> discard 2 >> return ('\US',  "US")+        'S':'P':_       -> discard 2 >> return ('\SP',  "SP")+        'D':'E':'L':_   -> discard 3 >> return ('\DEL', "DEL")  -- Escaped numbers          'o':c:_ | isOctDigit c -> do                     discard 1-                    n <- lexOctal-                    checkChar n+                    (n, raw) <- lexOctal+                    n <- checkChar n+                    return (n, 'o':raw)         'x':c:_ | isHexDigit c -> do                     discard 1-                    n <- lexHexadecimal-                    checkChar n+                    (n, raw) <- lexHexadecimal+                    n <- checkChar n+                    return (n, 'x':raw)         c:_ | isDigit c -> do-                    n <- lexDecimal-                    checkChar n+                    (n, raw) <- lexDecimal+                    n <- checkChar n+                    return (n, raw)          _       -> fail "Illegal escape sequence" @@ -1024,27 +1033,27 @@  -- Production cntrl from section B.2 -    cntrl :: Char -> Lex a Char-    cntrl c | c >= '@' && c <= '_' = return (chr (ord c - ord '@'))+    cntrl :: Char -> Lex a (Char, String)+    cntrl c | c >= '@' && c <= '_' = return (chr (ord c - ord '@'), '^':c:[])     cntrl _                        = fail "Illegal control character"  -- assumes at least one octal digit-lexOctal :: Lex a Integer+lexOctal :: Lex a (Integer, String) lexOctal = do     ds <- lexWhile isOctDigit-    return (parseInteger 8 ds)+    return (parseInteger 8 ds, ds)  -- assumes at least one hexadecimal digit-lexHexadecimal :: Lex a Integer+lexHexadecimal :: Lex a (Integer, String) lexHexadecimal = do     ds <- lexWhile isHexDigit-    return (parseInteger 16 ds)+    return (parseInteger 16 ds, ds)  -- assumes at least one decimal digit-lexDecimal :: Lex a Integer+lexDecimal :: Lex a (Integer, String) lexDecimal = do     ds <- lexWhile isDigit-    return (parseInteger 10 ds)+    return (parseInteger 10 ds, ds)  -- Stolen from Hugs's Prelude parseInteger :: Integer -> String -> Integer
src/Language/Haskell/Exts/Annotated/ParseUtils.hs view
@@ -63,8 +63,8 @@     , p_unboxed_singleton_con   -- PExp     ) where -import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..) )-import qualified Language.Haskell.Exts.Annotated.Syntax as S ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..) )+import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )+import qualified Language.Haskell.Exts.Annotated.Syntax as S ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) ) import Language.Haskell.Exts.Annotated.SrcLoc import Language.Haskell.Exts.Annotated.ParseMonad import Language.Haskell.Exts.Annotated.Pretty@@ -116,15 +116,15 @@ -- parameters for later. checkPContext :: PType L -> P (PContext L) checkPContext (TyTuple l Boxed ts) =-    mapM checkAssertion ts >>= return . PContext l-checkPContext (TyCon _ (Special _ (UnitCon l))) =-    return $ PContext l []-checkPContext (TyParen _ t) = do-    c <- checkAssertion t-    return $ PContext (ann c) [c]+    mapM checkAssertion ts >>= return . CxTuple l+checkPContext (TyCon l (Special _ (UnitCon _))) =+    return $ CxEmpty l+checkPContext (TyParen l t) = do+    c <- checkPContext t+    return $ CxParen l c checkPContext t = do     c <- checkAssertion t-    return $ PContext (ann c) [c]+    return $ CxSingle (ann c) c  ------------------------------------------------------------------------------------------------------------------- WORKING HERE @@ -135,21 +135,22 @@ checkAssertion (TyPred _ p@(IParam _ _ _)) = return p -- We cannot even get here unless TypeFamilies is enabled. checkAssertion (TyPred _ p@(EqualP _ _ _)) = return p-checkAssertion t = checkAssertion' [] t+checkAssertion t = checkAssertion' id [] t     where   -- class assertions must have at least one argument-            checkAssertion' ts@(_:xs) (TyCon l c) = do+            checkAssertion' fl ts@(_:xs) (TyCon l c) = do                 when (not $ null xs) $ checkEnabled MultiParamTypeClasses                 when (isSymbol c)    $ checkEnabled TypeOperators-                return $ ClassA l c ts-            checkAssertion' ts (TyApp _ a t) = do+                return $ ClassA (fl l) c ts+            checkAssertion' fl ts (TyApp l a t) = do                 -- no check on t at this stage-                checkAssertion' (t:ts) a-            checkAssertion' ts (TyInfix _ a op b) =+                checkAssertion' (const (fl l)) (t:ts) a+            checkAssertion' fl ts (TyInfix l a op b) = do                 -- infix operators require TypeOperators-                checkEnabled TypeOperators >> checkAssertion' (a:b:ts) (TyCon (ann op) op)-            checkAssertion' ts (TyParen _ t) =-                checkAssertion' ts t-            checkAssertion' _ _ = fail "Illegal class assertion"+                checkEnabled TypeOperators+                return $ InfixA (fl l) a op b+            checkAssertion' fl ts (TyParen l t) =+                checkAssertion' (const (fl l)) ts t+            checkAssertion' _ _ _ = fail "Illegal class assertion"  isSymbol :: QName L -> Bool isSymbol (UnQual _ (Symbol _ _)) = True@@ -160,16 +161,24 @@ -- Checks simple contexts for class and instance -- headers. If FlexibleContexts is enabled then -- anything goes, otherwise only tyvars are allowed.-checkSContext :: Maybe (PContext L) -> P (Maybe (Context L))-checkSContext (Just (PContext l cs)) = liftM Just $ mapM (checkAsst True) cs >>= return . Context l+checkSContext :: Maybe (PContext L) -> P (Maybe (S.Context L))+checkSContext (Just ctxt) = case ctxt of+    CxEmpty l -> return $ Just $ S.CxEmpty l+    CxSingle l a -> checkAsst True a >>= return . Just . S.CxSingle l+    CxTuple l as -> mapM (checkAsst True) as >>= return . Just . S.CxTuple l+    CxParen l cx -> checkSContext (Just cx) >>= return . fmap (S.CxParen l) checkSContext _ = return Nothing  -- Checks ordinary contexts for sigtypes and data type -- declarations. If FlexibleContexts is enabled then -- anything goes, otherwise only tyvars OR tyvars -- applied to types are allowed.-checkContext :: Maybe (PContext L) -> P (Maybe (Context L))-checkContext (Just (PContext l cs)) = liftM Just $ mapM (checkAsst False) cs >>= return . Context l+checkContext :: Maybe (PContext L) -> P (Maybe (S.Context L))+checkContext (Just ctxt) = case ctxt of+    CxEmpty l -> return $ Just $ S.CxEmpty l+    CxSingle l a -> checkAsst False a >>= return . Just . S.CxSingle l+    CxTuple l as -> mapM (checkAsst False) as >>= return . Just . S.CxTuple l+    CxParen l cx -> checkSContext (Just cx) >>= return . fmap (S.CxParen l) checkContext _ = return Nothing  checkAsst :: Bool -> PAsst L -> P (S.Asst L)@@ -206,34 +215,37 @@ -- Checking Headers  -checkDataHeader :: PType L -> P (Maybe (Context L), Name L, [TyVarBind L])+checkDataHeader :: PType L -> P (Maybe (S.Context L), DeclHead L) checkDataHeader (TyForall _ Nothing cs t) = do-    (c,ts) <- checkSimple "data/newtype" t []+    dh <- checkSimple "data/newtype" t []     cs <- checkContext cs-    return (cs,c,ts)+    return (cs,dh) checkDataHeader t = do-    (c,ts) <- checkSimple "data/newtype" t []-    return (Nothing,c,ts)+    dh <- checkSimple "data/newtype" t []+    return (Nothing,dh) -checkClassHeader :: PType L -> P (Maybe (Context L), Name L, [TyVarBind L])+checkClassHeader :: PType L -> P (Maybe (S.Context L), DeclHead L) checkClassHeader (TyForall _ Nothing cs t) = do-    (c,ts) <- checkSimple "class" t []+    dh <- checkSimple "class" t []     cs <- checkSContext cs-    return (cs,c,ts)+    return (cs,dh) checkClassHeader t = do-    (c,ts) <- checkSimple "class" t []-    return (Nothing,c,ts)+    dh <- checkSimple "class" t []+    return (Nothing,dh) -checkSimple :: String -> PType L -> [TyVarBind L] -> P (Name L, [TyVarBind L])+checkSimple :: String -> PType L -> [TyVarBind L] -> P (DeclHead L) checkSimple kw (TyApp _ l t) xs | isTyVarBind t = checkSimple kw l (toTyVarBind t : xs)-checkSimple _  (TyInfix _ t1 (UnQual _ t) t2) xs+checkSimple _  (TyInfix l t1 (UnQual _ t) t2) []     | isTyVarBind t1 && isTyVarBind t2 =-       checkEnabled TypeOperators >> return (t, toTyVarBind t1 : toTyVarBind t2 : xs)-checkSimple _kw (TyCon _ (UnQual _ t))   xs = do+       checkEnabled TypeOperators >> return (DHInfix l (toTyVarBind t1) t (toTyVarBind t2))+checkSimple _kw (TyCon l (UnQual _ t))   xs = do     case t of       Symbol _ _ -> checkEnabled TypeOperators       _ -> return ()-    return (t,xs)+    return (DHead l t xs)+checkSimple kw (TyParen l t) xs = do+    dh <- checkSimple kw t xs+    return (DHParen l dh) checkSimple kw _ _ = fail ("Illegal " ++ kw ++ " declaration")  isTyVarBind :: PType L -> Bool@@ -245,30 +257,30 @@ toTyVarBind (TyVar l n) = UnkindedVar l n toTyVarBind (TyKind l (TyVar _ n) k) = KindedVar l n k -checkInstHeader :: PType L -> P (Maybe (Context L), QName L, [S.Type L])+checkInstHeader :: PType L -> P (Maybe (S.Context L), InstHead L) checkInstHeader (TyForall _ Nothing cs t) = do-    (Deriving l c ts) <- checkInsts t []+    ih <- checkInsts t []     cs <- checkSContext cs-    return (cs, c, ts)+    return (cs, ih) checkInstHeader t = do-    (Deriving _ c ts) <- checkInsts t []-    return (Nothing, c, ts)+    ih <- checkInsts t []+    return (Nothing, ih)  -checkInsts :: PType L -> [PType L] -> P (Deriving L)+checkInsts :: PType L -> [PType L] -> P (InstHead L) checkInsts (TyApp _ l t) ts = checkInsts l (t:ts) checkInsts (TyCon l c)   ts = do     when (isSymbol c) $ checkEnabled TypeOperators     ts <- checkTypes ts-    return $ Deriving l c ts+    return $ IHead l c ts checkInsts (TyInfix l a op b) [] = do     checkEnabled TypeOperators-    ts <- checkTypes [a,b]-    return $ Deriving l op ts-checkInsts (TyParen _ t) [] = checkInsts t []+    [ta,tb] <- checkTypes [a,b]+    return $ IHInfix l ta op tb+checkInsts (TyParen l t) [] = checkInsts t [] >>= return . IHParen l checkInsts _ _ = fail "Illegal instance declaration" -checkDeriving :: [PType L] -> P [Deriving L]+checkDeriving :: [PType L] -> P [InstHead L] checkDeriving = mapM (flip checkInsts [])  -----------------------------------------------------------------------------@@ -301,9 +313,12 @@                     l <- checkPat l []                     r <- checkPat r []                     return (PInfixApp loc l c r)-            QVarOp _ (UnQual _ (Symbol _ "+")) -> do+            QVarOp ppos (UnQual _ (Symbol _ "+")) -> do                     case (l,r) of-                        (Var _ (UnQual _ n@(Ident _ _)), Lit _ (Int _ k)) -> return (PNPlusK loc n k)+                        (Var _ (UnQual _ n@(Ident _ _)), Lit _ (Int kpos k _)) -> do+                            let pp = srcInfoSpan ppos+                                kp = srcInfoSpan kpos+                            return (PNPlusK (loc <** [pp,kp]) n k)                         _ -> patFail ""             _ -> patFail ""     TupleSection l mes    ->@@ -652,29 +667,31 @@ checkValDef l lhs optsig rhs whereBinds = do     mlhs <- isFunLhs lhs []     case mlhs of-     Just (f,es) -> do+     Just (f,es,b) -> do             ps <- mapM checkPattern es             case optsig of -- only pattern bindings can have signatures-                Nothing -> return (FunBind l [Match l f ps optsig rhs whereBinds])+                Nothing -> return (FunBind l $+                            if b then [Match l f ps rhs whereBinds]+                                 else let [a,b] = ps in [InfixMatch l a f b rhs whereBinds])                 Just _  -> fail "Cannot give an explicit type signature to a function binding"      Nothing     -> do             lhs <- checkPattern lhs             return (PatBind l lhs optsig rhs whereBinds) --- A variable binding is parsed as an PatBind.+-- A variable binding is parsed as a PatBind. -isFunLhs :: PExp L -> [PExp L] -> P (Maybe (Name L, [PExp L]))+isFunLhs :: PExp L -> [PExp L] -> P (Maybe (Name L, [PExp L], Bool)) isFunLhs (InfixApp _ l (QVarOp loc (UnQual _ op)) r) es     | op =~= (Symbol () "!") = do         exts <- getExtensions         if BangPatterns `elem` exts          then let (b,bs) = splitBang r []                in isFunLhs l (BangPat loc b : bs ++ es)-         else return $ Just (op, l:r:es) -- It's actually a definition of the operator !-    | otherwise = return $ Just (op, l:r:es)-isFunLhs (App _ (Var _ (UnQual _ f)) e) es = return $ Just (f, e:es)+         else return $ Just (op, l:r:es, False) -- It's actually a definition of the operator !+    | otherwise = return $ Just (op, l:r:es, False)+isFunLhs (App _ (Var _ (UnQual _ f)) e) es = return $ Just (f, e:es, True) isFunLhs (App _ f e) es = isFunLhs f (e:es)-isFunLhs (Var _ (UnQual _ f)) es@(_:_) = return $ Just (f, es)+isFunLhs (Var _ (UnQual _ f)) es@(_:_) = return $ Just (f, es, True) isFunLhs (Paren _ f) es@(_:_) = isFunLhs f es isFunLhs _ _ = return Nothing @@ -752,34 +769,34 @@ checkRevDecls = mergeFunBinds []     where     mergeFunBinds revDs [] = return revDs-    mergeFunBinds revDs (FunBind l ms1@(Match _ name ps _ _ _:_):ds1) =-        mergeMatches ms1 ds1+    mergeFunBinds revDs (FunBind l ms1@(Match _ name ps _ _:_):ds1) =+        mergeMatches ms1 ds1 l         where         arity = length ps-        mergeMatches ms' (FunBind _ ms@(Match loc name' ps' _ _ _:_):ds)+        mergeMatches ms' (FunBind _ ms@(Match loc name' ps' _ _:_):ds) l             | name' =~= name =             if length ps' /= arity             then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")-                 -- `atSrcLoc` loc-            else mergeMatches (ms++ms') ds-        mergeMatches ms' ds = mergeFunBinds (FunBind l ms':revDs) ds+                    -- `atSrcLoc` loc+            else mergeMatches (ms++ms') ds (loc <++> l)+        mergeMatches ms' ds l = mergeFunBinds (FunBind l ms':revDs) ds     mergeFunBinds revDs (d:ds) = mergeFunBinds (d:revDs) ds  checkRevClsDecls :: [ClassDecl L] -> P [ClassDecl L] checkRevClsDecls = mergeClsFunBinds []     where     mergeClsFunBinds revDs [] = return revDs-    mergeClsFunBinds revDs (ClsDecl l (FunBind _ ms1@(Match _ name ps _ _ _:_)):ds1) =-        mergeMatches ms1 ds1+    mergeClsFunBinds revDs (ClsDecl l (FunBind _ ms1@(Match _ name ps _ _:_)):ds1) =+        mergeMatches ms1 ds1 l         where         arity = length ps-        mergeMatches ms' (ClsDecl _ (FunBind _ ms@(Match loc name' ps' _ _ _:_)):ds)+        mergeMatches ms' (ClsDecl _ (FunBind _ ms@(Match loc name' ps' _ _:_)):ds) l             | name' =~= name =             if length ps' /= arity             then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")-                 -- `atSrcLoc` loc-            else mergeMatches (ms++ms') ds-        mergeMatches ms' ds = mergeClsFunBinds (ClsDecl l (FunBind l ms'):revDs) ds+                    -- `atSrcLoc` loc+            else mergeMatches (ms++ms') ds (loc <++> l)+        mergeMatches ms' ds l = mergeClsFunBinds (ClsDecl l (FunBind l ms'):revDs) ds     mergeClsFunBinds revDs (d:ds) = mergeClsFunBinds (d:revDs) ds  checkRevInstDecls :: [InstDecl L] -> P [InstDecl L]@@ -787,17 +804,17 @@     where     mergeInstFunBinds :: [InstDecl L] -> [InstDecl L] -> P [InstDecl L]     mergeInstFunBinds revDs [] = return revDs-    mergeInstFunBinds revDs (InsDecl l (FunBind _ ms1@(Match _ name ps _ _ _:_)):ds1) =-        mergeMatches ms1 ds1+    mergeInstFunBinds revDs (InsDecl l (FunBind _ ms1@(Match _ name ps _ _:_)):ds1) =+        mergeMatches ms1 ds1 l         where         arity = length ps-        mergeMatches ms' (InsDecl _ (FunBind _ ms@(Match loc name' ps' _ _ _:_)):ds)+        mergeMatches ms' (InsDecl _ (FunBind _ ms@(Match loc name' ps' _ _:_)):ds) l             | name' =~= name =             if length ps' /= arity             then fail ("arity mismatch for '" ++ prettyPrint name ++ "'")-                 -- `atSrcLoc` loc-            else mergeMatches (ms++ms') ds-        mergeMatches ms' ds = mergeInstFunBinds (InsDecl l (FunBind l ms'):revDs) ds+                    -- `atSrcLoc` loc+            else mergeMatches (ms++ms') ds (loc <++> l)+        mergeMatches ms' ds l = mergeInstFunBinds (InsDecl l (FunBind l ms'):revDs) ds     mergeInstFunBinds revDs (d:ds) = mergeInstFunBinds (d:revDs) ds  ----------------------------------------------------------------@@ -809,7 +826,7 @@ checkDataOrNew (DataType _) _  = return () checkDataOrNew _        _  = fail "newtype declaration must have exactly one constructor." -checkSimpleType :: PType L -> P (Name L, [TyVarBind L])+checkSimpleType :: PType L -> P (DeclHead L) checkSimpleType t = checkSimple "test" t []  ---------------------------------------@@ -1051,21 +1068,36 @@         EnumFromThenTo l ef eth eto -> l         ParComp  l e qsss       -> l         ExpTypeSig l e t        -> l+        AsPat l n e             -> l+        WildCard l              -> l+        IrrPat l e              -> l+        PostOp l e op           -> l+        PreOp l op e            -> l+        ViewPat l e1 e2         -> l+        SeqRP l es              -> l+        GuardRP l e ss          -> l+        EitherRP l e1 e2        -> l+        CAsRP l n e             -> l+         VarQuote l qn           -> l         TypQuote l qn           -> l         BracketExp l br         -> l         SpliceExp l sp          -> l         QuasiQuote l sn se      -> l -        XTag  l xn xas me es     -> l-        XETag l xn xas me        -> l-        XPcdata l s              -> l-        XExpTag l e              -> l+        XTag  l xn xas me es    -> l+        XETag l xn xas me       -> l+        XPcdata l s             -> l+        XExpTag l e             -> l+        XRPats l es             -> l          CorePragma l s e   -> l         SCCPragma  l s e   -> l         GenPragma  l s n12 n34 e -> l +        ExplTypeArg l qn t      -> l+        BangPat l e             -> l+         Proc            l p e   -> l         LeftArrApp      l e1 e2 -> l         RightArrApp     l e1 e2 -> l@@ -1097,6 +1129,20 @@         EnumFromThenTo l ef eth eto -> EnumFromThenTo (f l) ef eth eto         ParComp  l e qsss       -> ParComp  (f l) e qsss         ExpTypeSig l e t        -> ExpTypeSig (f l) e t++        AsPat l n e             -> AsPat (f l) n e+        WildCard l              -> WildCard (f l)+        IrrPat l e              -> IrrPat (f l) e+        PostOp l e op           -> PostOp (f l) e op+        PreOp l op e            -> PreOp (f l) op e+        ViewPat l e1 e2         -> ViewPat (f l) e1 e2+        SeqRP l es              -> SeqRP (f l) es+        GuardRP l e ss          -> GuardRP (f l) e ss+        EitherRP l e1 e2        -> EitherRP (f l) e1 e2+        CAsRP l n e             -> CAsRP (f l) n e+        ExplTypeArg l n t       -> ExplTypeArg (f l) n t+        BangPat l e             -> BangPat (f l) e+         VarQuote l qn           -> VarQuote (f l) qn         TypQuote l qn           -> TypQuote (f l) qn         BracketExp l br         -> BracketExp (f l) br@@ -1140,15 +1186,28 @@ p_unboxed_singleton_con :: l -> PExp l p_unboxed_singleton_con l = Con l (unboxed_singleton_con_name l) -data PContext l = PContext l [PAsst l]+data PContext l+    = CxSingle l (PAsst l)+    | CxTuple  l [PAsst l]+    | CxParen  l (PContext l)+    | CxEmpty  l  deriving (Eq, Show)  instance Functor PContext where-  fmap f (PContext l assts) = PContext (f l) (map (fmap f) assts)+  fmap f (CxSingle l asst) = CxSingle (f l) (fmap f asst)+  fmap f (CxTuple l assts) = CxTuple (f l) (map (fmap f) assts)+  fmap f (CxParen l ctxt)  = CxParen (f l) (fmap f ctxt)+  fmap f (CxEmpty l)       = CxEmpty (f l)  instance Annotated PContext where-  ann (PContext l _) = l-  amap f (PContext l assts) = PContext (f l) assts+  ann (CxSingle l asst ) = l+  ann (CxTuple  l assts) = l+  ann (CxParen  l ctxt ) = l+  ann (CxEmpty  l)       = l+  amap f (CxSingle l asst ) = CxSingle (f l) asst+  amap f (CxTuple  l assts) = CxTuple  (f l) assts+  amap f (CxParen  l ctxt ) = CxParen  (f l) ctxt+  amap f (CxEmpty l) = CxEmpty (f l)  data PType l      = TyForall l
src/Language/Haskell/Exts/Annotated/Parser.ly view
@@ -303,7 +303,7 @@ TODO: the various pragma starts with content don't record where that content is located.  > toppragma :: { OptionPragma L }->           : '{-# LANGUAGE' conids optsemis '#-}'   { LanguagePragma ($1 <^^> $4 <** ($1:reverse (snd $2) ++ reverse $3 ++ [$4])) (fst $2) }+>           : '{-# LANGUAGE' conids optsemis '#-}'   { LanguagePragma ($1 <^^> $4 <** ($1:snd $2 ++ reverse $3 ++ [$4])) (fst $2) } >           | '{-# INCLUDE' optsemis '#-}'           { let Loc l (INCLUDE s) = $1 in IncludePragma (l <^^> $3 <** (l:reverse $2 ++ [$3])) s } >           | '{-# OPTIONS' optsemis '#-}'           { let Loc l (OPTIONS (mc, s)) = $1 >                                                       in OptionsPragma (l <^^> $3 <** (l:reverse $2 ++ [$3])) (readTool mc) s }@@ -319,21 +319,21 @@  > module :: { [OptionPragma L] -> [S] -> L -> Module L } >       : optmodulehead body->               { let (is,ds,ss1,b,inf) = $2->                  in \os ss l -> Module (l <++> inf <** (ss ++ ss1) <?? b) $1 os is ds }+>               { let (is,ds,ss1,inf) = $2+>                  in \os ss l -> Module (l <++> inf <** (ss ++ ss1)) $1 os is ds }  > optmodulehead :: { Maybe (ModuleHead L) } >       : 'module' modid maybemodwarning maybeexports 'where'   { Just $ ModuleHead ($1 <^^> $5 <** [$1,$5]) $2 $3 $4 } >       | {- empty -}                                           { Nothing }  > maybemodwarning ::  { Maybe (WarningText L) }->       : '{-# DEPRECATED' STRING '#-}'         { let Loc l (StringTok s) = $2 in Just $ DeprText ($1 <^^> $3 <** [l,$3]) s }->       | '{-# WARNING'    STRING '#-}'         { let Loc l (StringTok s) = $2 in Just $ WarnText ($1 <^^> $3 <** [l,$3]) s }+>       : '{-# DEPRECATED' STRING '#-}'         { let Loc l (StringTok (s,_)) = $2 in Just $ DeprText ($1 <^^> $3 <** [$1,l,$3]) s }+>       | '{-# WARNING'    STRING '#-}'         { let Loc l (StringTok (s,_)) = $2 in Just $ WarnText ($1 <^^> $3 <** [$1,l,$3]) s } >       | {- empty -}                           { Nothing } -> body :: { ([ImportDecl L],[Decl L],[S],Bool,L) }->       : '{'  bodyaux '}'                      { let (is,ds,ss) = $2 in (is,ds,$1:ss ++ [$3], True,  $1 <^^> $3) }->       | open bodyaux close                    { let (is,ds,ss) = $2 in (is,ds,$1:ss ++ [$3], False, $1 <^^> $3) }+> body :: { ([ImportDecl L],[Decl L],[S],L) }+>       : '{'  bodyaux '}'                      { let (is,ds,ss) = $2 in (is,ds,$1:ss ++ [$3], $1 <^^> $3) }+>       | open bodyaux close                    { let (is,ds,ss) = $2 in (is,ds,$1:ss ++ [$3], $1 <^^> $3) }  > bodyaux :: { ([ImportDecl L],[Decl L],[S]) } >       : optsemis impdecls semis topdecls      { (reverse (fst $2), fst $4, reverse $1 ++ snd $2 ++ reverse $3 ++ snd $4) }@@ -399,7 +399,7 @@ Requires the PackageImports extension enabled. > maybepkg :: { (Maybe String,[S]) } >       : STRING                                {% do { checkEnabled PackageImports ;->                                                       let { Loc l (StringTok s) = $1 } ;+>                                                       let { Loc l (StringTok (s,_)) = $1 } ; >                                                       return $ (Just s,[l]) } } >       | {- empty -}                           { (Nothing,[]) } @@ -414,7 +414,7 @@  > impspec :: { ImportSpecList L } >       : opthiding '(' importlist optcomma ')' { let {(b,ml,s) = $1 ;->                                                       l = (ml <?+> ($2 <^^> $5)) <** (s ++ $2:snd $3 ++ $4 ++ [$5])}+>                                                       l = (ml <?+> ($2 <^^> $5)) <** (s ++ $2:reverse (snd $3) ++ $4 ++ [$5])} >                                                  in ImportSpecList l b (reverse (fst $3)) } >       | opthiding '(' optcomma ')'            { let {(b,ml,s) = $1 ; l = (ml <?+> ($2 <^^> $4)) <** (s ++ $2:$3 ++ [$4])} >                                                  in ImportSpecList l b [] }@@ -451,7 +451,7 @@  > prec :: { (Maybe Int, [S]) } >       : {- empty -}                           { (Nothing, []) }->       | INT                                   {% let Loc l (IntTok i) = $1 in checkPrec i >>= \i -> return (Just i, [l]) }+>       | INT                                   {% let Loc l (IntTok (i,_)) = $1 in checkPrec i >>= \i -> return (Just i, [l]) }  > infix :: { Assoc L } >       : 'infix'                               { AssocNone  $ nIS $1 }@@ -477,16 +477,16 @@  > topdecl :: { Decl L } >       : 'type' dtype '=' truectype->                {% do { (c,ts) <- checkSimpleType $2;+>                {% do { dh <- checkSimpleType $2; >                        let {l = nIS $1 <++> ann $4 <** [$1,$3]};->                        return (TypeDecl l c ts $4) } }+>                        return (TypeDecl l dh $4) } }  Requires the TypeFamilies extension enabled, but the lexer will handle that through the 'family' keyword. >       | 'type' 'family' type optkind->                {% do { (c,ts) <- checkSimpleType $3;+>                {% do { dh <- checkSimpleType $3; >                        let {l = nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4) <** ($1:$2:snd $4)};->                        return (TypeFamDecl l c ts (fst $4)) } }+>                        return (TypeFamDecl l dh (fst $4)) } }  Here there is no special keyword so we must do the check. >       | 'type' 'instance' truedtype '=' truectype@@ -495,59 +495,59 @@ >                        let {l = nIS $1 <++> ann $5 <** [$1,$2,$4]}; >                        return (TypeInsDecl l $3 $5) } } >       | data_or_newtype ctype constrs0 deriving->                {% do { (cs,c,t) <- checkDataHeader $2;->                        let { (qds,ss1,minf1) = $3; (mders,ss2,minf2) = $4 ;->                              l = $1 <> $2 <+?> minf1 <+?> minf2 <** (ss1 ++ ss2)};+>                {% do { (cs,dh) <- checkDataHeader $2;+>                        let { (qds,ss,minf) = $3;+>                              l = $1 <> $2 <+?> minf <+?> fmap ann $4 <** ss}; >                        checkDataOrNew $1 qds;->                        return (DataDecl l $1 cs c t (reverse qds) mders) } }+>                        return (DataDecl l $1 cs dh (reverse qds) $4) } }  Requires the GADTs extension enabled, handled in gadtlist. >       | data_or_newtype ctype optkind 'where' gadtlist deriving->                {% do { (cs,c,t) <- checkDataHeader $2;->                        let { (gs,ss1,inf,b) = $5; (ds,ss2,minf) = $6 ;->                              l = ann $1 <++> inf <+?> minf <** (snd $3 ++ ($4:ss1 ++ ss2)) <?? b};+>                {% do { (cs,dh) <- checkDataHeader $2;+>                        let { (gs,ss,inf) = $5;+>                              l = ann $1 <++> inf <+?> fmap ann $6 <** (snd $3 ++ $4:ss)}; >                        checkDataOrNew $1 gs;->                        return (GDataDecl l $1 cs c t (fst $3) (reverse gs) ds) } }+>                        return (GDataDecl l $1 cs dh (fst $3) (reverse gs) $6) } }  Same as above, lexer will handle it through the 'family' keyword. >       | 'data' 'family' ctype optkind->                {% do { (cs,c,t) <- checkDataHeader $3;+>                {% do { (cs,dh) <- checkDataHeader $3; >                        let {l = nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4) <** ($1:$2:snd $4)};->                        return (DataFamDecl l cs c t (fst $4)) } }+>                        return (DataFamDecl l cs dh (fst $4)) } }  Here we must check for TypeFamilies. >       | data_or_newtype 'instance' truectype constrs0 deriving >                {% do { -- (cs,c,t) <- checkDataHeader $4; >                        checkEnabled TypeFamilies ;->                        let { (qds,ss1,minf1) = $4 ; (mders,ss2,minf2) = $5 ;->                              l = $1 <> $3 <+?> minf1 <+?> minf2 <** ($2:ss1 ++ ss2) };+>                        let { (qds,ss,minf) = $4 ;+>                              l = $1 <> $3 <+?> minf <+?> fmap ann $5 <** $2:ss }; >                        checkDataOrNew $1 qds;->                        return (DataInsDecl l $1 $3 (reverse qds) mders) } }+>                        return (DataInsDecl l $1 $3 (reverse qds) $5) } }  This style requires both TypeFamilies and GADTs, the latter is handled in gadtlist. >       | data_or_newtype 'instance' truectype optkind 'where' gadtlist deriving >                {% do { -- (cs,c,t) <- checkDataHeader $4; >                        checkEnabled TypeFamilies ;->                        let {(gs,ss1,inf,b) = $6; (ds,ss2,minf) = $7 ;->                             l = ann $1 <++> inf <+?> minf <** ($2:snd $4 ++ ($5:ss1 ++ ss2)) <?? b};+>                        let {(gs,ss,inf) = $6;+>                             l = ann $1 <++> inf <+?> fmap ann $7 <** ($2:snd $4 ++ $5:ss)}; >                        checkDataOrNew $1 gs;->                        return (GDataInsDecl l $1 $3 (fst $4) (reverse gs) ds) } }+>                        return (GDataInsDecl l $1 $3 (fst $4) (reverse gs) $7) } } >       | 'class' ctype fds optcbody->                {% do { (cs,c,vs) <- checkClassHeader $2;->                        let {(fds,ss1,minf1) = $3;(mcs,ss2,minf2,b) = $4} ;->                        let { l = nIS $1 <++> ann $2 <+?> minf1 <+?> minf2 <** ($1:ss1 ++ ss2) <?? b} ;->                        return (ClassDecl l cs c vs fds mcs) } }+>                {% do { (cs,dh) <- checkClassHeader $2;+>                        let {(fds,ss1,minf1) = $3;(mcs,ss2,minf2) = $4} ;+>                        let { l = nIS $1 <++> ann $2 <+?> minf1 <+?> minf2 <** ($1:ss1 ++ ss2)} ;+>                        return (ClassDecl l cs dh fds mcs) } } >       | 'instance' ctype optvaldefs->                {% do { (cs,c,ts) <- checkInstHeader $2;->                        let {(mis,ss,minf,b) = $3};->                        return (InstDecl (nIS $1 <++> ann $2 <+?> minf <** ($1:ss) <?? b) cs c ts mis) } }+>                {% do { (cs,ih) <- checkInstHeader $2;+>                        let {(mis,ss,minf) = $3};+>                        return (InstDecl (nIS $1 <++> ann $2 <+?> minf <** ($1:ss)) cs ih mis) } }  Requires the StandaloneDeriving extension enabled. >       | 'deriving' 'instance' ctype >                {% do { checkEnabled StandaloneDeriving ;->                        (cs, c, ts) <- checkInstHeader $3;+>                        (cs, ih) <- checkInstHeader $3; >                        let {l = nIS $1 <++> ann $3 <** [$1,$2]};->                        return (DerivDecl l cs c ts) } }+>                        return (DerivDecl l cs ih) } } >       | 'default' '(' typelist ')' >                { DefaultDecl ($1 <^^> $4 <** ($1:$2 : snd $3 ++ [$4])) (fst $3) } @@ -591,8 +591,8 @@ >       | valdef                        { $1 }  > decllist :: { Binds L }->       : '{'  decls '}'                { BDecls ($1 <^^> $3 <** ($1:snd $2++[$3]) <?? True ) (fst $2) }->       | open decls close              { BDecls ($1 <^^> $3 <** ($1:snd $2++[$3]) <?? False) (fst $2) }+>       : '{'  decls '}'                { BDecls ($1 <^^> $3 <** ($1:snd $2++[$3])) (fst $2) }+>       | open decls close              { BDecls ($1 <^^> $3 <** ($1:snd $2++[$3])) (fst $2) }  > signdecl :: { Decl L } >       : exp0b '::' truectype                           {% do { v <- checkSigVar $1;@@ -605,9 +605,9 @@ >       | '{-# SPECIALISE_INLINE' activation qvar '::' sigtypes '#-}' >                                                        { let Loc l (SPECIALISE_INLINE s) = $1 >                                                           in SpecInlineSig (l <^^> $6 <** (l:$4:snd $5++[$6])) s $2 $3 (fst $5) }->       | '{-# SPECIALISE' 'instance' ctype '#-}'        {% do { (cs,c,ts) <- checkInstHeader $3;+>       | '{-# SPECIALISE' 'instance' ctype '#-}'        {% do { (cs,ih) <- checkInstHeader $3; >                                                                let {l = $1 <^^> $4 <** [$1,$2,$4]};->                                                                return $ InstSig l cs c ts } }+>                                                                return $ InstSig l cs ih } }  > sigtypes :: { ([Type L],[S]) } >       : sigtype                           { ([$1],[]) }@@ -622,8 +622,8 @@  > binds :: { Binds L } >       : decllist                      { $1 }->       | '{' ipbinds '}'               { IPBinds ($1 <^^> $3 <** snd $2 <?? True ) (fst $2) }->       | open ipbinds close            { IPBinds ($1 <^^> $3 <** snd $2 <?? False) (fst $2) }+>       | '{' ipbinds '}'               { IPBinds ($1 <^^> $3 <** snd $2) (fst $2) }+>       | open ipbinds close            { IPBinds ($1 <^^> $3 <** snd $2) (fst $2) }  ATTENTION: Dirty Hackery Ahead! If the second alternative of vars is var instead of qvar, we get another shift/reduce-conflict. Consider the@@ -657,9 +657,9 @@ >        | 'threadsafe'                 { Just $ PlaySafe  (nIS $1) True } >        | {- empty -}                  { Nothing } -> fspec :: { (String, Name L, Type L, [S]) }->       : STRING var_no_safety '::' truedtype               { let Loc l (StringTok s) = $1 in (s, $2, $4, [l,$3]) }->       |        var_no_safety '::' truedtype               { ("", $1, $3, [$2]) }+> fspec :: { (Maybe String, Name L, Type L, [S]) }+>       : STRING var_no_safety '::' truedtype               { let Loc l (StringTok (s,_)) = $1 in (Just s, $2, $4, [l,$3]) }+>       |        var_no_safety '::' truedtype               { (Nothing, $1, $3, [$2]) }  ----------------------------------------------------------------------------- Pragmas@@ -671,14 +671,14 @@ >       | {- empty -}           { [] }  > rule :: { Rule L }->      : STRING activation ruleforall exp0 '=' trueexp      {% do { let {Loc l (StringTok s) = $1};+>      : STRING activation ruleforall exp0 '=' trueexp      {% do { let {Loc l (StringTok (s,_)) = $1}; >                                                                   e <- checkRuleExpr $4;->                                                                   return $ Rule (nIS l <++> ann $6 <** snd $3 ++ [$5]) s $2 (fst $3) e $6 } }+>                                                                   return $ Rule (nIS l <++> ann $6 <** l:snd $3 ++ [$5]) s $2 (fst $3) e $6 } }  > activation :: { Maybe (Activation L) } >        : {- empty -}          { Nothing }->        | '[' INT ']'          { let Loc l (IntTok i) = $2 in Just $ ActiveFrom  ($1 <^^> $3 <** [$1,l,$3])    (fromInteger i) }->        | '[' '~' INT ']'      { let Loc l (IntTok i) = $3 in Just $ ActiveUntil ($1 <^^> $4 <** [$1,$2,l,$4]) (fromInteger i) }+>        | '[' INT ']'          { let Loc l (IntTok (i,_)) = $2 in Just $ ActiveFrom  ($1 <^^> $3 <** [$1,l,$3])    (fromInteger i) }+>        | '[' '~' INT ']'      { let Loc l (IntTok (i,_)) = $3 in Just $ ActiveUntil ($1 <^^> $4 <** [$1,$2,l,$4]) (fromInteger i) }  > ruleforall :: { (Maybe [RuleVar L],[S]) } >       : {- empty -}                           { (Nothing,[]) }@@ -699,7 +699,7 @@ >   | {- empty -}                       { ([],[]) }  > warndepr :: { (([Name L], String),[S]) }->       : namevars STRING               { let Loc l (StringTok s) = $2 in ((fst $1,s),snd $1 ++ [l]) }+>       : namevars STRING               { let Loc l (StringTok (s,_)) = $2 in ((fst $1,s),snd $1 ++ [l]) }  > namevars :: { ([Name L],[S]) } >           : namevar                   { ([$1],[]) }@@ -768,7 +768,7 @@  > otycon :: { QName L } >       : qconid                        { $1 }->       | '(' gconsym ')'               { amap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }+>       | '(' gconsym ')'               { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }  These are for infix types @@ -794,15 +794,15 @@  > ctype :: { PType L } >       : 'forall' ktyvars '.' ctype    { TyForall (nIS $1 <++> ann $4 <** [$1,$3]) (Just (reverse (fst $2))) Nothing $4 }->       | context '=>' ctype            { TyForall ($1 <> $3) Nothing (Just $1) $3 }+>       | context ctype                 { TyForall ($1 <> $2) Nothing (Just $1) $2 } >       | type                          { $1 }  Equality constraints require the TypeFamilies extension.  > context :: { PContext L }->       : btype                         {% checkPContext $1 }->       | btype '~' btype               {% do { checkEnabled TypeFamilies;->                                               let {l = $1 <> $3 <** [$2]};+>       : btype '=>'                    {% checkPContext $ (amap (\l -> l <++> nIS $2 <** (srcInfoPoints l ++ [$2]))) $1 }+>       | btype '~' btype '=>'          {% do { checkEnabled TypeFamilies;+>                                               let {l = $1 <> $3 <** [$2,$4]}; >                                               checkPContext (TyPred l $ EqualP l $1 $3) } }  > types :: { ([PType L],[S]) }@@ -851,12 +851,12 @@  GADTs - require the GADTs extension enabled, but we handle that at the calling site. -> gadtlist :: { ([GadtDecl L],[S],L,Bool) }+> gadtlist :: { ([GadtDecl L],[S],L) } >       : gadtlist1                 {% checkEnabled GADTs >> return $1 } -> gadtlist1 :: { ([GadtDecl L],[S],L,Bool) }->       : '{' gadtconstrs1 '}'                  { (fst $2, $1 : snd $2 ++ [$3], $1 <^^> $3,True)  }->       | open gadtconstrs1 close               { (fst $2, $1 : snd $2 ++ [$3], $1 <^^> $3,False) }+> gadtlist1 :: { ([GadtDecl L],[S],L) }+>       : '{' gadtconstrs1 '}'                  { (fst $2, $1 : snd $2 ++ [$3], $1 <^^> $3)  }+>       | open gadtconstrs1 close               { (fst $2, $1 : snd $2 ++ [$3], $1 <^^> $3) }  > gadtconstrs1 :: { ([GadtDecl L],[S]) } >       : optsemis gadtconstrs optsemis         { (fst $2, reverse $1 ++ snd $2 ++ reverse $3)  }@@ -879,10 +879,10 @@ >       | constr                        { ([$1],[],ann $1) }  > constr :: { QualConDecl L }->       : forall context '=>' constr1    {% do { checkEnabled ExistentialQuantification ;+>       : forall context constr1        {% do { checkEnabled ExistentialQuantification ; >                                                ctxt <- checkContext (Just $2) ; >                                                let {(mtvs,ss,ml) = $1} ;->                                                return $ QualConDecl (ml <?+> ann $4 <** (ss ++ [$3])) mtvs ctxt $4 } }+>                                                return $ QualConDecl (ml <?+> ann $3 <** ss) mtvs ctxt $3 } } >       | forall constr1                 { let (mtvs, ss, ml) = $1 in QualConDecl (ml <?+> ann $2 <** ss) mtvs Nothing $2 }  > forall :: { (Maybe [TyVarBind L], [S], Maybe L) }@@ -907,10 +907,10 @@ > scontype1 :: { (Name L, [BangType L],L) } >       : btype '!' trueatype                       {% do { (c,ts) <- splitTyConApp $1; >                                                           return (c,map (\t -> UnBangedTy (ann t) t) ts++->                                                                   [BangedTy (nIS $2 <++> ann $3) $3], $1 <> $3) } }+>                                                                   [BangedTy (nIS $2 <++> ann $3 <** [$2]) $3], $1 <> $3) } } >       | btype '{-# UNPACK' '#-}' '!' trueatype    {% do { (c,ts) <- splitTyConApp $1; >                                                           return (c,map (\t -> UnBangedTy (ann t) t) ts++->                                                                   [UnpackedTy (nIS $2 <++> ann $5 <** [$3,$4]) $5], $1 <> $5) } }+>                                                                   [UnpackedTy (nIS $2 <++> ann $5 <** [$2,$3,$4]) $5], $1 <> $5) } } >       | scontype1 satype              { let (n,ts,l) = $1 in (n, ts ++ [$2],l <++> ann $2) }  > satype :: { BangType L }@@ -935,13 +935,13 @@ >       | '!' trueatype                     { BangedTy   (nIS $1 <++> ann $2 <** [$1]) $2 } >       | '{-# UNPACK' '#-}' '!' trueatype  { UnpackedTy (nIS $1 <++> ann $4 <** [$1,$2,$3]) $4 } -> deriving :: { (Maybe [Deriving L],[S],Maybe L) }->       : {- empty -}                   { (Nothing,[],Nothing) }->       | 'deriving' qtycls1            { let l = nIS $1 <++> ann $2 in (Just [Deriving l $2 []], [$1], Just l) }->       | 'deriving' '('          ')'   { (Just [], [$1,$2,$3], Just $ $1 <^^> $3) }->       | 'deriving' '(' dclasses ')'   { (Just $ reverse (fst $3), $1:$2:snd $3 ++ [$4], Just $ $1 <^^> $4) }+> deriving :: { Maybe (Deriving L) }+>       : {- empty -}                   { Nothing }+>       | 'deriving' qtycls1            { let l = nIS $1 <++> ann $2 <** [$1] in Just $ Deriving l [IHead (ann $2) $2 []] }+>       | 'deriving' '('          ')'   { Just $ Deriving ($1 <^^> $3 <** [$1,$2,$3]) [] }+>       | 'deriving' '(' dclasses ')'   { Just $ Deriving ($1 <^^> $4 <** $1:$2: reverse (snd $3) ++ [$4]) (reverse (fst $3)) } -> dclasses :: { ([Deriving L],[S]) }+> dclasses :: { ([InstHead L],[S]) } >       : types1                        {% checkDeriving (fst $1) >>= \ds -> return (ds, snd $1) }  > qtycls1 :: { QName L }@@ -972,10 +972,10 @@ TODO: Lots of stuff to pass around here.  No implicit parameters in the where clause of a class declaration.-> optcbody :: { (Maybe [ClassDecl L],[S],Maybe L,Bool) }->       : 'where' '{'  cldecls '}'      {% checkClassBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4),True) }->       | 'where' open cldecls close    {% checkClassBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4),False) }->       | {- empty -}                   { (Nothing,[],Nothing,False) }+> optcbody :: { (Maybe [ClassDecl L],[S],Maybe L) }+>       : 'where' '{'  cldecls '}'      {% checkClassBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4)) }+>       | 'where' open cldecls close    {% checkClassBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4)) }+>       | {- empty -}                   { (Nothing,[],Nothing) }  > cldecls :: { ([ClassDecl L],[S]) } >       : optsemis cldecls1 optsemis    {% checkRevClsDecls (fst $2) >>= \cs -> return (cs, reverse $1 ++ snd $2 ++ reverse $3) }@@ -993,21 +993,21 @@  > atdecl :: { ClassDecl L } >       : 'type' type optkind->             {% do { (c,ts) <- checkSimpleType $2;->                     return (ClsTyFam  (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) c ts (fst $3)) } }+>             {% do { dh <- checkSimpleType $2;+>                     return (ClsTyFam  (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) dh (fst $3)) } } >       | 'type' truedtype '=' truectype >                     { ClsTyDef (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 } >       | 'data' ctype optkind->             {% do { (cs,c,t) <- checkDataHeader $2;->                     return (ClsDataFam (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) cs c t (fst $3)) } }+>             {% do { (cs,dh) <- checkDataHeader $2;+>                     return (ClsDataFam (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) cs dh (fst $3)) } }  ----------------------------------------------------------------------------- Instance declarations -> optvaldefs :: { (Maybe [InstDecl L],[S],Maybe L,Bool) }->       : 'where' '{'  valdefs '}'      {% checkInstBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4),True)  }->       | 'where' open valdefs close    {% checkInstBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4),False) }->       | {- empty -}                   { (Nothing, [], Nothing, False) }+> optvaldefs :: { (Maybe [InstDecl L],[S],Maybe L) }+>       : 'where' '{'  valdefs '}'      {% checkInstBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4))  }+>       | 'where' open valdefs close    {% checkInstBody (fst $3) >>= \vs -> return (Just vs, $1:$2: snd $3 ++ [$4], Just ($1 <^^> $4)) }+>       | {- empty -}                   { (Nothing, [], Nothing) }  > valdefs :: { ([InstDecl L],[S]) } >       : optsemis valdefs1 optsemis    {% checkRevInstDecls (fst $2) >>= \is -> return (is, reverse $1 ++ snd $2 ++ reverse $3) }@@ -1033,14 +1033,14 @@ >                        return (InsType (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4) } } >       | data_or_newtype truectype constrs0 deriving >                {% do { -- (cs,c,t) <- checkDataHeader $4;->                        let {(ds,ss1,minf1) = $3 ; (mds,ss2,minf2) = $4};+>                        let {(ds,ss,minf) = $3}; >                        checkDataOrNew $1 ds;->                        return (InsData ($1 <> $2 <+?> minf1 <+?> minf2 <** (ss1 ++ ss2)) $1 $2 (reverse ds) mds) } }+>                        return (InsData ($1 <> $2 <+?> minf <+?> fmap ann $4 <** ss ) $1 $2 (reverse ds) $4) } } >       | data_or_newtype truectype optkind 'where' gadtlist deriving >                {% do { -- (cs,c,t) <- checkDataHeader $4;->                        let { (gs,ss1,inf,b) = $5 ; (mds,ss2,minf) = $6 } ;+>                        let { (gs,ss,inf) = $5 } ; >                        checkDataOrNew $1 gs;->                        return $ InsGData (ann $1 <++> inf <+?> minf <** (snd $3 ++ $4:ss1 ++ ss2) <?? b) $1 $2 (fst $3) (reverse gs) mds } }+>                        return $ InsGData (ann $1 <++> inf <+?> fmap ann $6 <** (snd $3 ++ $4:ss)) $1 $2 (fst $3) (reverse gs) $6 } }  ----------------------------------------------------------------------------- Value definitions@@ -1048,8 +1048,9 @@ > valdef :: { Decl L } >       : exp0b optsig rhs optwhere     {% checkValDef (($1 <> $3 <+?> (fmap ann) (fst $4)) <** (snd $2 ++ snd $4)) $1 (fst $2) $3 (fst $4) } >       | '!' aexp rhs optwhere         {% do { checkEnabled BangPatterns ;->                                               p <- checkPattern $2;->                                               return $ PatBind ((nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4)) <** $1:snd $4)+>                                               let { l = nIS $1 <++> ann $2 <** [$1] };+>                                               p <- checkPattern (BangPat l $2);+>                                               return $ PatBind (p <> $3 <+?> (fmap ann) (fst $4) <** snd $4) >                                                           p Nothing $3 (fst $4) } }  May bind implicit parameters@@ -1127,21 +1128,21 @@ mdo blocks require the RecursiveDo extension enabled, but the lexer handles that.  > exp10b :: { PExp L }->       : 'case' exp 'of' altslist      { let (als, inf, ss, b) = $4 in Case (nIS $1 <++> inf <** ($1:$3:ss) <?? b) $2 als }+>       : 'case' exp 'of' altslist      { let (als, inf, ss) = $4 in Case (nIS $1 <++> inf <** ($1:$3:ss)) $2 als } >       | '-' fexp                      { NegApp (nIS $1 <++> ann $2 <** [$1]) $2 }->       | 'do'  stmtlist                { let (sts, inf, ss, b) = $2 in Do   (nIS $1 <++> inf <** $1:ss <?? b) sts }->       | 'mdo' stmtlist                { let (sts, inf, ss, b) = $2 in MDo  (nIS $1 <++> inf <** $1:ss <?? b) sts }+>       | 'do'  stmtlist                { let (sts, inf, ss) = $2 in Do   (nIS $1 <++> inf <** $1:ss) sts }+>       | 'mdo' stmtlist                { let (sts, inf, ss) = $2 in MDo  (nIS $1 <++> inf <** $1:ss) sts } >       | fexp                          { $1 }  > exppragma :: { PExp L }->       : '{-# CORE' STRING '#-}' exp   { let Loc l (StringTok s) = $2 in CorePragma (nIS $1 <++> ann $4 <** [l,$3]) s $4 }->       | '{-# SCC'  STRING '#-}' exp   { let Loc l (StringTok s) = $2 in SCCPragma  (nIS $1 <++> ann $4 <** [l,$3]) s $4 }+>       : '{-# CORE' STRING '#-}' exp   { let Loc l (StringTok (s,_)) = $2 in CorePragma (nIS $1 <++> ann $4 <** [l,$3]) s $4 }+>       | '{-# SCC'  STRING '#-}' exp   { let Loc l (StringTok (s,_)) = $2 in SCCPragma  (nIS $1 <++> ann $4 <** [l,$3]) s $4 } >       | '{-# GENERATED' STRING INT ':' INT '-' INT ':' INT '#-}' exp->                                           { let { Loc l0 (StringTok s) = $2;->                                                   Loc l1 (IntTok i1)   = $3;->                                                   Loc l2 (IntTok i2)   = $5;->                                                   Loc l3 (IntTok i3)   = $7;->                                                   Loc l4 (IntTok i4)   = $9}+>                                           { let { Loc l0 (StringTok (s,_)) = $2;+>                                                   Loc l1 (IntTok (i1,_))   = $3;+>                                                   Loc l2 (IntTok (i2,_))   = $5;+>                                                   Loc l3 (IntTok (i3,_))   = $7;+>                                                   Loc l4 (IntTok (i4,_))   = $9} >                                              in GenPragma (nIS $1 <++> ann $11 <** [$1,l0,l1,$4,l2,$6,l3,$8,l4,$10]) >                                                       s (fromInteger i1, fromInteger i2) >                                                         (fromInteger i3, fromInteger i4) $11 }@@ -1205,7 +1206,7 @@ >                                                       (replicate (length $2 - 1) Nothing ++ [Just $3]) } >       | '(' commas texp tsectend      { TupleSection ($1 <^^> head (snd $4) <** $1:reverse (snd $4 ++ $2)) >                                                       (replicate (length $2 - 1) Nothing ++ Just $3 : fst $4) }->       | '[' list ']'                  { amap (<** [$1,$3]) $ $2 ($1 <^^> $3) }+>       | '[' list ']'                  { amap (\l -> l <** [$3]) $ $2 ($1 <^^> $3 <** [$1]) } >       | '_'                           { WildCard (nIS $1) } >       | '(' erpats ')'                {% checkEnabled RegularPatterns >> return (Paren ($1 <^^> $3 <** [$1,$3]) $2) } >       | '(|' sexps '|)'               { SeqRP ($1 <^^> $3 <** ($1:reverse (snd $2) ++ [$3])) $ reverse (fst $2) }@@ -1261,7 +1262,7 @@ >       : '<' name attrs mattr '>' children '</' name '>'        {% do { n <- checkEqNames $2 $8; >                                                                        let { cn = reverse $6; >                                                                              as = reverse $3;->                                                                              l  = $1 <^^> $9 <** [$1,$5,$7,$9] };+>                                                                              l  = $1 <^^> $9 <** [$1,$5,$7,srcInfoSpan (ann $8),$9] }; >                                                                        return $ XTag l n as $4 cn } } >       | '<' name attrs mattr '/>'                              { XETag   ($1 <^^> $5 <** [$1,$5]) $2 (reverse $3) $4 } >       | '<%' exp '%>'                                          { XExpTag ($1 <^^> $3 <** [$1,$3]) $2 }@@ -1277,7 +1278,7 @@  > name :: { XName L } >       : xmlname ':' xmlname           { let {Loc l1 s1 = $1; Loc l2 s2 = $3}->                                          in XDomName (nIS l1 <++> nIS l2 <** [$2]) s1 s2 }+>                                          in XDomName (nIS l1 <++> nIS l2 <** [l1,$2,l2]) s1 s2 } >       | xmlname                       { let Loc l str = $1 in XName (nIS l) str }  > xmlname :: { Loc String }@@ -1348,7 +1349,7 @@  > list :: { L -> PExp L } >       : texp                          { \l -> List l [$1] }->       | lexps                         { \l -> let (ps,ss) = $1 in List (l <** ss) ps }+>       | lexps                         { \l -> let (ps,ss) = $1 in List (l <** reverse ss) (reverse ps) } >       | texp '..'                     { \l -> EnumFrom       (l <** [$2]) $1 } >       | texp ',' exp '..'             { \l -> EnumFromThen   (l <** [$2,$4]) $1 $3 } >       | texp '..' exp                 { \l -> EnumFromTo     (l <** [$2]) $1 $3 }@@ -1396,9 +1397,9 @@ ----------------------------------------------------------------------------- Case alternatives -> altslist :: { ([Alt L],L,[S],Bool) }->       : '{'  alts '}'                 { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3], True)  }->       | open alts close               { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3], False) }+> altslist :: { ([Alt L],L,[S]) }+>       : '{'  alts '}'                 { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3])  }+>       | open alts close               { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) }  > alts :: { ([Alt L],[S]) } >       : optsemis alts1 optsemis       { (reverse $ fst $2, $1 ++ snd $2 ++ $3) }@@ -1436,9 +1437,9 @@  TODO: The points can't be added here, must be propagated! -> stmtlist :: { ([Stmt L],L,[S],Bool) }->       : '{'  stmts '}'                { (fst $2, $1 <^^> $3, snd $2 ++ [$1,$3], True)  }->       | open stmts close              { (fst $2, $1 <^^> $3, snd $2 ++ [$1,$3], False) }+> stmtlist :: { ([Stmt L],L,[S]) }+>       : '{'  stmts '}'                { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3])  }+>       | open stmts close              { (fst $2, $1 <^^> $3, $1:snd $2 ++ [$3]) }  > stmts :: { ([Stmt L],[S]) } >       : stmt stmts1                       { ($1 : fst $2, snd $2) }@@ -1454,7 +1455,7 @@ >       : 'let' binds                       { LetStmt (nIS $1 <++> ann $2 <** [$1]) $2 } >       | pat '<-' trueexp                  { Generator ($1 <> $3 <** [$2]) $1 $3 } >       | trueexp                           { Qualifier (ann $1) $1 }->       | 'rec' stmtlist                    { let (stms,inf,ss,b) = $2 in RecStmt (nIS $1 <++> inf <** $1:ss <?? b) stms }+>       | 'rec' stmtlist                    { let (stms,inf,ss) = $2 in RecStmt (nIS $1 <++> inf <** $1:ss) stms }  ----------------------------------------------------------------------------- Record Field Update/Construction@@ -1496,15 +1497,15 @@  > var   :: { Name L } >       : varid                 { $1 }->       | '(' varsym ')'        { amap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }+>       | '(' varsym ')'        { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }  > var_no_safety :: { Name L } >       : varid_no_safety       { $1 }->       | '(' varsym ')'        { amap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }+>       | '(' varsym ')'        { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }  > qvar  :: { QName L } >       : qvarid                { $1 }->       | '(' qvarsym ')'       { amap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }+>       | '(' qvarsym ')'       { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }  Implicit parameter > ivar  :: { IPName L }@@ -1512,31 +1513,31 @@  > con   :: { Name L } >       : conid                 { $1 }->       | '(' consym ')'        { amap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }+>       | '(' consym ')'        { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }  > qcon  :: { QName L } >       : qconid                { $1 }->       | '(' gconsym ')'       { amap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }+>       | '(' gconsym ')'       { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }  > varop :: { Name L } >       : varsym                { $1 }->       | '`' varid '`'         { amap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }+>       | '`' varid '`'         { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }  > qvarop :: { QName L } >       : qvarsym               { $1 }->       | '`' qvarid '`'        { amap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }+>       | '`' qvarid '`'        { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }  > qvaropm :: { QName L } >       : qvarsymm              { $1 }->       | '`' qvarid '`'        { amap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }+>       | '`' qvarid '`'        { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }  > conop :: { Name L } >       : consym                { $1 }->       | '`' conid '`'         { amap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }+>       | '`' conid '`'         { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }  > qconop :: { QName L } >       : gconsym               { $1 }->       | '`' qconid '`'        { amap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }+>       | '`' qconid '`'        { fmap (const ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3])) $2 }  > op    :: { Op L } >       : varop                 { VarOp (ann $1) $1 }@@ -1622,16 +1623,16 @@ >       : QVARSYM               { let {Loc l (QVarSym q) = $1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q)) }  > literal :: { Literal L }->       : INT                   { let Loc l (IntTok        i) = $1 in Int        (nIS l) i }->       | CHAR                  { let Loc l (Character     c) = $1 in Char       (nIS l) c }->       | RATIONAL              { let Loc l (FloatTok      r) = $1 in Frac       (nIS l) r }->       | STRING                { let Loc l (StringTok     s) = $1 in String     (nIS l) s }->       | PRIMINT               { let Loc l (IntTokHash    i) = $1 in PrimInt    (nIS l) i }->       | PRIMWORD              { let Loc l (WordTokHash   w) = $1 in PrimWord   (nIS l) w }->       | PRIMFLOAT             { let Loc l (FloatTokHash  f) = $1 in PrimFloat  (nIS l) f }->       | PRIMDOUBLE            { let Loc l (DoubleTokHash d) = $1 in PrimDouble (nIS l) d }->       | PRIMCHAR              { let Loc l (CharacterHash c) = $1 in PrimChar   (nIS l) c }->       | PRIMSTRING            { let Loc l (StringHash    s) = $1 in PrimString (nIS l) s }+>       : INT                   { let Loc l (IntTok        (i,raw)) = $1 in Int        (nIS l) i raw }+>       | CHAR                  { let Loc l (Character     (c,raw)) = $1 in Char       (nIS l) c raw }+>       | RATIONAL              { let Loc l (FloatTok      (r,raw)) = $1 in Frac       (nIS l) r raw }+>       | STRING                { let Loc l (StringTok     (s,raw)) = $1 in String     (nIS l) s raw }+>       | PRIMINT               { let Loc l (IntTokHash    (i,raw)) = $1 in PrimInt    (nIS l) i raw }+>       | PRIMWORD              { let Loc l (WordTokHash   (w,raw)) = $1 in PrimWord   (nIS l) w raw }+>       | PRIMFLOAT             { let Loc l (FloatTokHash  (f,raw)) = $1 in PrimFloat  (nIS l) f raw }+>       | PRIMDOUBLE            { let Loc l (DoubleTokHash (d,raw)) = $1 in PrimDouble (nIS l) d raw }+>       | PRIMCHAR              { let Loc l (CharacterHash (c,raw)) = $1 in PrimChar   (nIS l) c raw }+>       | PRIMSTRING            { let Loc l (StringHash    (s,raw)) = $1 in PrimString (nIS l) s raw }  ----------------------------------------------------------------------------- Layout@@ -1777,13 +1778,13 @@ > parseTypeWithComments mode str = runParserWithModeComments mode mparseType str  -> simpleParse :: AppFixity a => P a -> String -> ParseResult a+> simpleParse :: AppFixity a => P (a L) -> String -> ParseResult (a L) > simpleParse p = fmap (applyFixities preludeFixities) . runParser p -> modeParse :: AppFixity a => P a -> ParseMode -> String -> ParseResult a+> modeParse :: AppFixity a => P (a L) -> ParseMode -> String -> ParseResult (a L) > modeParse p mode = fmap (applyFixities (fixities mode)) . runParserWithMode mode p -> commentParse :: AppFixity a => P a -> ParseMode -> String -> ParseResult (a, [Comment])+> commentParse :: AppFixity a => P (a L) -> ParseMode -> String -> ParseResult (a L, [Comment]) > commentParse p mode str = runParserWithModeComments mode p str >                              >>= \(ast, cs) -> return (applyFixities (fixities mode) ast, cs) 
src/Language/Haskell/Exts/Annotated/Pretty.hs view
@@ -345,42 +345,37 @@  -------------------------  Declarations ------------------------------ instance SrcInfo pos => Pretty (Decl pos) where-        pretty (TypeDecl loc name nameList htype) =+        pretty (TypeDecl loc dhead htype) =                 blankline $                 markLine loc $-                mySep ( [text "type", pretty name]-                        ++ map pretty nameList-                        ++ [equals, pretty htype])+                mySep [text "type", pretty dhead, equals, pretty htype] -        pretty (DataDecl loc don context name nameList constrList derives) =+        pretty (DataDecl loc don context dhead constrList derives) =                 blankline $                 markLine loc $-                mySep ( [pretty don, ppContext context, pretty name]-                        ++ map pretty nameList)+                mySep [pretty don, ppContext context, pretty dhead]                         <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))                                                    (map pretty constrList))                         $$$ ppDeriving derives) -        pretty (GDataDecl loc don context name nameList optkind gadtList derives) =+        pretty (GDataDecl loc don context dhead optkind gadtList derives) =                 blankline $                 markLine loc $-                mySep ( [pretty don, ppContext context, pretty name]-                        ++ map pretty nameList ++ ppOptKind optkind ++ [text "where"])+                mySep ( [pretty don, ppContext context, pretty dhead]+                        ++ ppOptKind optkind ++ [text "where"])                         $$$ ppBody classIndent (map pretty gadtList)                         $$$ ppDeriving derives -        pretty (TypeFamDecl loc name nameList optkind) =+        pretty (TypeFamDecl loc dhead optkind) =                 blankline $                 markLine loc $-                mySep ([text "type", text "family", pretty name]-                        ++ map pretty nameList+                mySep ([text "type", text "family", pretty dhead]                         ++ ppOptKind optkind) -        pretty (DataFamDecl loc context name nameList optkind) =+        pretty (DataFamDecl loc context dhead optkind) =                 blankline $                 markLine loc $-                mySep ( [text "data", text "family", ppContext context, pretty name]-                        ++ map pretty nameList ++ ppOptKind optkind)+                mySep ( [text "data", text "family", ppContext context, pretty dhead] ++ ppOptKind optkind)          pretty (TypeInsDecl loc ntype htype) =                 blankline $@@ -405,37 +400,32 @@          --m{spacing=False}         -- special case for empty class declaration-        pretty (ClassDecl pos context name nameList fundeps Nothing) =+        pretty (ClassDecl pos context dhead fundeps Nothing) =                 blankline $                 markLine pos $-                mySep ( [text "class", ppContext context, pretty name]-                        ++ map pretty nameList ++ [ppFunDeps fundeps])-        pretty (ClassDecl pos context name nameList fundeps (Just declList)) =+                mySep [text "class", ppContext context, pretty dhead, ppFunDeps fundeps]+        pretty (ClassDecl pos context dhead fundeps (Just declList)) =                 blankline $                 markLine pos $-                mySep ( [text "class", ppContext context, pretty name]-                        ++ map pretty nameList ++ [ppFunDeps fundeps, text "where"])+                mySep [text "class", ppContext context, pretty dhead, ppFunDeps fundeps, text "where"]                 $$$ ppBody classIndent (map pretty declList)          -- m{spacing=False}         -- special case for empty instance declaration-        pretty (InstDecl pos context name args Nothing) =+        pretty (InstDecl pos context ihead Nothing) =                 blankline $                 markLine pos $-                mySep ( [text "instance", ppContext context, pretty name]-                        ++ map ppAType args)-        pretty (InstDecl pos context name args (Just declList)) =+                mySep [text "instance", ppContext context, pretty ihead]+        pretty (InstDecl pos context ihead (Just declList)) =                 blankline $                 markLine pos $-                mySep ( [text "instance", ppContext context, pretty name]-                        ++ map ppAType args ++ [text "where"])+                mySep ( [text "instance", ppContext context, pretty ihead, text "where"])                 $$$ ppBody classIndent (map pretty declList) -        pretty (DerivDecl pos context name args) =+        pretty (DerivDecl pos context ihead) =                 blankline $                 markLine pos $-                mySep ( [text "deriving", text "instance", ppContext context, pretty name]-                        ++ map ppAType args)+                mySep [text "deriving", text "instance", ppContext context, pretty ihead]         pretty (DefaultDecl pos htypes) =                 blankline $                 markLine pos $@@ -467,17 +457,17 @@                 mySep ([pretty assoc, maybePP int prec]                        ++ (punctuate comma . map pretty $ opList)) -        pretty (ForImp pos cconv msaf str name typ) =+        pretty (ForImp pos cconv msaf mstr name typ) =                 blankline $                 markLine pos $                 mySep [text "foreign import", pretty cconv, maybePP pretty msaf,-                       text (show str), pretty name, text "::", pretty typ]+                       maybePP (text . show) mstr, pretty name, text "::", pretty typ] -        pretty (ForExp pos cconv str name typ) =+        pretty (ForExp pos cconv mstr name typ) =                 blankline $                 markLine pos $                 mySep [text "foreign export", pretty cconv,-                       text (show str), pretty name, text "::", pretty typ]+                       maybePP (text . show) mstr, pretty name, text "::", pretty typ]          pretty (RulePragmaDecl pos rules) =                 blankline $@@ -512,18 +502,22 @@                         maybePP pretty mactiv, pretty name, text "::"]                         ++ (punctuate comma $ map pretty types) ++ [text "#-}"] -        pretty (InstSig pos context name args) =+        pretty (InstSig pos context ihead) =                 blankline $                 markLine pos $-                mySep $ [text "{-# SPECIALISE", text "instance", ppContext context, pretty name]-                            ++ map ppAType args ++ [text "#-}"]+                mySep $ [text "{-# SPECIALISE", text "instance", ppContext context, pretty ihead, text "#-}"] -{-        pretty (UnknownDeclPragma pos n s) =-                blankline $-                markLine pos $-                mySep $ [text "{-#", text n, text s, text "#-}"] -} +instance Pretty (DeclHead l) where+    pretty (DHead l n tvs)       = mySep (pretty n : map pretty tvs)+    pretty (DHInfix l tva n tvb) = mySep [pretty tva, pretty n, pretty tvb]+    pretty (DHParen l dh)        = parens (pretty dh) +instance Pretty (InstHead l) where+    pretty (IHead l qn ts)       = mySep (pretty qn : map pretty ts)+    pretty (IHInfix l ta qn tb)  = mySep [pretty ta, pretty qn, pretty tb]+    pretty (IHParen l ih)        = parens (pretty ih)+ instance Pretty (DataOrNew l) where         pretty (DataType _) = text "data"         pretty (NewType  _) = text "newtype"@@ -534,17 +528,21 @@         pretty (AssocRight _) = text "infixr"  instance SrcInfo pos => Pretty (Match pos) where-        pretty (Match pos f ps optsig rhs whereBinds) =+        pretty (Match pos f ps rhs whereBinds) =                 markLine pos $-                myFsep (lhs ++ [maybePP ppSig optsig, pretty rhs])+                myFsep (pretty f : map (prettyPrec 2) ps ++ [pretty rhs])                 $$$ ppWhere whereBinds-            where+{-            where                 lhs = case ps of                         l:r:ps' | isSymbolName f ->                                 let hd = [pretty l, ppName f, pretty r] in                                 if null ps' then hd                                 else parens (myFsep hd) : map (prettyPrec 2) ps'-                        _ -> pretty f : map (prettyPrec 2) ps+                        _ -> pretty f : map (prettyPrec 2) ps -}+        pretty (InfixMatch pos a f b rhs whereBinds) =+                markLine pos $+                myFsep [pretty a, pretty f, pretty b, pretty rhs]+                $$$ ppWhere whereBinds  ppWhere :: SrcInfo loc => Maybe (Binds loc) -> Doc ppWhere Nothing              = empty@@ -558,15 +556,13 @@ instance SrcInfo loc => Pretty (ClassDecl loc) where     pretty (ClsDecl _ decl) = pretty decl -    pretty (ClsDataFam loc context name nameList optkind) =+    pretty (ClsDataFam loc context dhead optkind) =                 markLine loc $-                mySep ( [text "data", ppContext context, pretty name]-                        ++ map pretty nameList ++ ppOptKind optkind)+                mySep ( [text "data", ppContext context, pretty dhead] ++ ppOptKind optkind) -    pretty (ClsTyFam loc name nameList optkind) =+    pretty (ClsTyFam loc dhead optkind) =                 markLine loc $-                mySep ( [text "type", pretty name]-                        ++ map pretty nameList ++ ppOptKind optkind)+                mySep ( [text "type", pretty dhead] ++ ppOptKind optkind)      pretty (ClsTyDef loc ntype htype) =                 markLine loc $@@ -686,14 +682,14 @@         prettyPrec p (UnBangedTy _ ty) = prettyPrec p ty         prettyPrec p (UnpackedTy _ ty) = text "{-# UNPACK #-}" <+> char '!' <> prettyPrec p ty -ppDeriving :: Maybe [Deriving l] -> Doc-ppDeriving Nothing    = empty-ppDeriving (Just [])  = text "deriving" <+> parenList []-ppDeriving (Just [Deriving _ d []]) = text "deriving" <+> ppQName d-ppDeriving (Just ds)  = text "deriving" <+> parenList (map ppDer ds)-    where ppDer :: Deriving l -> Doc-          ppDer (Deriving _ n ts) = mySep (pretty n : map pretty ts)+ppDeriving :: Maybe (Deriving l) -> Doc+ppDeriving = maybePP pretty +instance Pretty (Deriving l) where+        pretty (Deriving _ []) = text "deriving" <+> parenList []+        pretty (Deriving _ [IHead _ d []]) = text "deriving" <+> ppQName d+        pretty (Deriving _ ihs) = text "deriving" <+> parenList (map pretty ihs)+ ------------------------- Types ------------------------- ppBType :: Type l -> Doc ppBType = prettyPrec prec_btype@@ -772,17 +768,17 @@                 myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [equals, pretty ppBody]  instance Pretty (Literal l) where-        pretty (Int _ i)        = integer i-        pretty (Char _ c)       = text (show c)-        pretty (String _ s)     = text (show s)-        pretty (Frac _ r)       = double (fromRational r)+        pretty (Int _ i _)        = integer i+        pretty (Char _ c _)       = text (show c)+        pretty (String _ s _)     = text (show s)+        pretty (Frac _ r _)       = double (fromRational r)         -- GHC unboxed literals:-        pretty (PrimChar _ c)   = text (show c)           <> char '#'-        pretty (PrimString _ s) = text (show s)           <> char '#'-        pretty (PrimInt _ i)    = integer i               <> char '#'-        pretty (PrimWord _ w)   = integer w               <> text "##"-        pretty (PrimFloat _ r)  = float  (fromRational r) <> char '#'-        pretty (PrimDouble _ r) = double (fromRational r) <> text "##"+        pretty (PrimChar _ c _)   = text (show c)           <> char '#'+        pretty (PrimString _ s _) = text (show s)           <> char '#'+        pretty (PrimInt _ i _)    = integer i               <> char '#'+        pretty (PrimWord _ w _)   = integer w               <> text "##"+        pretty (PrimFloat _ r _)  = float  (fromRational r) <> char '#'+        pretty (PrimDouble _ r _) = double (fromRational r) <> text "##"  instance SrcInfo loc => Pretty (Exp loc) where         pretty (Lit _ l) = pretty l@@ -1117,8 +1113,13 @@ specialName (Cons _) = ":"  ppContext :: Maybe (Context l) -> Doc-ppContext Nothing = empty-ppContext (Just (Context _ context)) = mySep [parenList (map pretty context), text "=>"]+ppContext = maybePP pretty++instance Pretty (Context l) where+        pretty (CxEmpty _) = mySep [text "()", text "=>"]+        pretty (CxSingle _ asst) = mySep [pretty asst, text "=>"]+        pretty (CxTuple _ assts) = myFsep $ [parenList (map pretty assts), text "=>"]+        pretty (CxParen _ asst)  = parens (pretty asst)  -- hacked for multi-parameter type classes instance Pretty (Asst l) where
src/Language/Haskell/Exts/Annotated/SrcLoc.hs view
@@ -46,6 +46,9 @@ mergeSrcSpan :: SrcSpan -> SrcSpan -> SrcSpan
 mergeSrcSpan (SrcSpan fn sl sc _ _) (SrcSpan _ _ _ el ec) = SrcSpan fn sl sc el ec
 
+isNullSpan ss = srcSpanStartLine ss == srcSpanEndLine ss &&
+                    srcSpanStartColumn ss >= srcSpanEndColumn ss
+
 -- | An entity located in the source.
 data Loc a = Loc
     { loc :: SrcSpan
@@ -57,7 +60,7 @@ -- | A portion of the source, extended with information on the position of entities within the span.
 data SrcSpanInfo = SrcSpanInfo
     { srcInfoSpan    :: SrcSpan
-    , explLayout     :: Bool
+--    , explLayout     :: Bool
     , srcInfoPoints  :: [SrcSpan]    -- Marks the location of specific entities inside the span
     }
 #ifdef __GLASGOW_HASKELL__
@@ -67,24 +70,23 @@ #endif
 
 nIS, noInfoSpan :: SrcSpan -> SrcSpanInfo
-noInfoSpan ss = SrcSpanInfo ss False []
+noInfoSpan ss = SrcSpanInfo ss []
 
 nIS = noInfoSpan
 
 pIS, pointInfoSpan :: SrcSpan -> SrcSpanInfo
-pointInfoSpan ss = SrcSpanInfo ss False [ss]
+pointInfoSpan ss = SrcSpanInfo ss [ss]
 
 pIS = pointInfoSpan
 
 iS, infoSpan :: SrcSpan -> [SrcSpan] -> SrcSpanInfo
-infoSpan x y = SrcSpanInfo x False y
+infoSpan x y = SrcSpanInfo x y
 
 iS = infoSpan
 
 (<++>), combSpanInfo :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo
 combSpanInfo s1 s2 = SrcSpanInfo
     (mergeSrcSpan (srcInfoSpan s1) (srcInfoSpan s2))
-    (explLayout s1)
     []
 
 (<++>) = combSpanInfo
@@ -98,18 +100,18 @@ (<**) :: SrcSpanInfo -> [SrcSpan] -> SrcSpanInfo
 ss@(SrcSpanInfo {srcInfoPoints = ps}) <** xs = ss {srcInfoPoints = ps ++ xs}
 
-(<??) :: SrcSpanInfo -> Bool -> SrcSpanInfo
-ss <?? b = ss { explLayout = b }
+--(<??) :: SrcSpanInfo -> Bool -> SrcSpanInfo
+--ss <?? b = ss { explLayout = b }
 
 (<^^>) :: SrcSpan -> SrcSpan -> SrcSpanInfo
 a <^^> b = nIS (mergeSrcSpan a b)
 
 infixl 6 <^^>
 infixl 5 <++>
-infixl 4 <**, <??, <+?>, <?+>
+infixl 4 <**, <+?>, <?+>
 
 class SrcInfo si where
-  toSrcInfo   :: SrcLoc -> Bool -> [SrcSpan] -> SrcLoc -> si
+  toSrcInfo   :: SrcLoc -> [SrcSpan] -> SrcLoc -> si
   fromSrcInfo :: SrcSpanInfo -> si
   getPointLoc :: si -> SrcLoc
   fileName    :: si -> String
@@ -119,21 +121,21 @@   getPointLoc si = SrcLoc (fileName si) (startLine si) (startColumn si)
 
 instance SrcInfo SrcLoc where
-  toSrcInfo s _ _ _ = s
+  toSrcInfo s _ _ = s
   fromSrcInfo si = SrcLoc (fileName si) (startLine si) (startColumn si)
   fileName = srcFilename
   startLine = srcLine
   startColumn = srcColumn
 
 instance SrcInfo SrcSpan where
-  toSrcInfo st _ _ end = mkSrcSpan st end
+  toSrcInfo st _ end = mkSrcSpan st end
   fromSrcInfo = srcInfoSpan
   fileName = srcSpanFilename
   startLine = srcSpanStartLine
   startColumn = srcSpanStartColumn
 
 instance SrcInfo SrcSpanInfo where
-  toSrcInfo st lay pts end = SrcSpanInfo (mkSrcSpan st end) lay pts
+  toSrcInfo st pts end = SrcSpanInfo (mkSrcSpan st end) pts
   fromSrcInfo = id
   fileName = fileName . srcInfoSpan
   startLine = startLine . srcInfoSpan
src/Language/Haskell/Exts/Annotated/Syntax.hs view
@@ -42,7 +42,7 @@     Module(..), ModuleHead(..), WarningText(..), ExportSpecList(..), ExportSpec(..),     ImportDecl(..), ImportSpecList(..), ImportSpec(..), Assoc(..),     -- * Declarations-    Decl(..), Binds(..), IPBind(..),+    Decl(..), DeclHead(..), InstHead(..), Binds(..), IPBind(..),     -- ** Type classes and instances     ClassDecl(..), InstDecl(..), Deriving(..),     -- ** Data type declarations@@ -321,37 +321,29 @@   deriving (Eq,Show) #endif --- | A single derived instance, which may have arguments since it may be a MPTC.-data Deriving l = Deriving l (QName l) [Type l]-#ifdef __GLASGOW_HASKELL__-  deriving (Eq,Show,Typeable,Data)-#else-  deriving (Eq,Show)-#endif- -- | A top-level declaration. data Decl l-     = TypeDecl     l (Name l) [TyVarBind l] (Type l)+     = TypeDecl     l (DeclHead l) (Type l)      -- ^ A type declaration-     | TypeFamDecl  l (Name l) [TyVarBind l] (Maybe (Kind l))+     | TypeFamDecl  l (DeclHead l) (Maybe (Kind l))      -- ^ A type family declaration-     | DataDecl     l (DataOrNew l) (Maybe (Context l)) (Name l) [TyVarBind l]                  [QualConDecl l] (Maybe [Deriving l])+     | DataDecl     l (DataOrNew l) (Maybe (Context l)) (DeclHead l)                  [QualConDecl l] (Maybe (Deriving l))      -- ^ A data OR newtype declaration-     | GDataDecl    l (DataOrNew l) (Maybe (Context l)) (Name l) [TyVarBind l] (Maybe (Kind l)) [GadtDecl l]    (Maybe [Deriving l])+     | GDataDecl    l (DataOrNew l) (Maybe (Context l)) (DeclHead l) (Maybe (Kind l)) [GadtDecl l]    (Maybe (Deriving l))      -- ^ A data OR newtype declaration, GADT style-     | DataFamDecl  l {-data-}      (Maybe (Context l)) (Name l) [TyVarBind l] (Maybe (Kind l))+     | DataFamDecl  l {-data-}      (Maybe (Context l)) (DeclHead l) (Maybe (Kind l))      -- ^ A data family declaration      | TypeInsDecl  l (Type l) (Type l)      -- ^ A type family instance declaration-     | DataInsDecl  l (DataOrNew l) (Type l)                  [QualConDecl l] (Maybe [Deriving l])+     | DataInsDecl  l (DataOrNew l) (Type l)                  [QualConDecl l] (Maybe (Deriving l))      -- ^ A data family instance declaration-     | GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l]    (Maybe [Deriving l])+     | GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l]    (Maybe (Deriving l))      -- ^ A data family instance declaration, GADT style-     | ClassDecl    l (Maybe (Context l)) (Name l) [TyVarBind l] [FunDep l] (Maybe [ClassDecl l])+     | ClassDecl    l (Maybe (Context l)) (DeclHead l) [FunDep l] (Maybe [ClassDecl l])      -- ^ A declaration of a type class-     | InstDecl     l (Maybe (Context l)) (QName l) [Type l] (Maybe [InstDecl l])+     | InstDecl     l (Maybe (Context l)) (InstHead l) (Maybe [InstDecl l])      -- ^ An declaration of a type class instance-     | DerivDecl    l (Maybe (Context l)) (QName l) [Type l]+     | DerivDecl    l (Maybe (Context l)) (InstHead l)      -- ^ A standalone deriving declaration      | InfixDecl    l (Assoc l) (Maybe Int) [Op l]      -- ^ A declaration of operator fixity@@ -365,9 +357,9 @@      -- ^ A set of function binding clauses      | PatBind      l (Pat l) (Maybe (Type l)) (Rhs l) {-where-} (Maybe (Binds l))      -- ^ A pattern binding-     | ForImp       l (CallConv l) (Maybe (Safety l)) String (Name l) (Type l)+     | ForImp       l (CallConv l) (Maybe (Safety l)) (Maybe String) (Name l) (Type l)      -- ^ A foreign import declaration-     | ForExp       l (CallConv l)            String (Name l) (Type l)+     | ForExp       l (CallConv l)                    (Maybe String) (Name l) (Type l)      -- ^ A foreign export declaration       | RulePragmaDecl   l [Rule l]@@ -378,11 +370,11 @@      -- ^ A WARNING pragma      | InlineSig        l Bool (Maybe (Activation l)) (QName l)      -- ^ An INLINE pragma-     | SpecSig          l                     (QName l) [Type l]+     | SpecSig          l                             (QName l) [Type l]      -- ^ A SPECIALISE pragma      | SpecInlineSig    l Bool (Maybe (Activation l)) (QName l) [Type l]      -- ^ A SPECIALISE INLINE pragma-     | InstSig          l (Maybe (Context l)) (QName l) [Type l]+     | InstSig          l      (Maybe (Context l))    (InstHead l)      -- ^ A SPECIALISE instance pragma #ifdef __GLASGOW_HASKELL__   deriving (Eq,Show,Typeable,Data)@@ -398,6 +390,36 @@   deriving (Eq,Show) #endif +-- | The head of a type or class declaration.+data DeclHead l+    = DHead l (Name l) [TyVarBind l]+    | DHInfix l (TyVarBind l) (Name l) (TyVarBind l)+    | DHParen l (DeclHead l)+#ifdef __GLASGOW_HASKELL__+  deriving (Eq,Show,Typeable,Data)+#else+  deriving (Eq,Show)+#endif++-- | The head of an instance declaration.+data InstHead l+    = IHead l (QName l) [Type l]+    | IHInfix l (Type l) (QName l) (Type l)+    | IHParen l (InstHead l)+#ifdef __GLASGOW_HASKELL__+  deriving (Eq,Show,Typeable,Data)+#else+  deriving (Eq,Show)+#endif++-- | A deriving clause following a data type declaration.+data Deriving l = Deriving l [InstHead l]+#ifdef __GLASGOW_HASKELL__+  deriving (Eq,Show,Typeable,Data)+#else+  deriving (Eq,Show)+#endif+ -- | A binding group inside a @let@ or @where@ clause. data Binds l     = BDecls  l [Decl l]     -- ^ An ordinary binding group@@ -418,7 +440,8 @@  -- | Clauses of a function binding. data Match l-     = Match l (Name l) [Pat l] (Maybe (Type l)) (Rhs l) {-where-} (Maybe (Binds l))+     = Match l      (Name l) [Pat l]         (Rhs l) {-where-} (Maybe (Binds l))+     | InfixMatch l (Pat l) (Name l) (Pat l) (Rhs l) {-where-} (Maybe (Binds l)) #ifdef __GLASGOW_HASKELL__   deriving (Eq,Show,Typeable,Data) #else@@ -473,11 +496,11 @@ data ClassDecl l     = ClsDecl    l (Decl l)             -- ^ ordinary declaration-    | ClsDataFam l (Maybe (Context l)) (Name l) [TyVarBind l] (Maybe (Kind l))+    | ClsDataFam l (Maybe (Context l)) (DeclHead l) (Maybe (Kind l))             -- ^ declaration of an associated data type-    | ClsTyFam   l             (Name l) [TyVarBind l] (Maybe (Kind l))+    | ClsTyFam   l                     (DeclHead l) (Maybe (Kind l))             -- ^ declaration of an associated type synonym-    | ClsTyDef   l (Type l)    (Type l)+    | ClsTyDef   l (Type l) (Type l)             -- ^ default choice for an associated type synonym #ifdef __GLASGOW_HASKELL__   deriving (Eq,Show,Typeable,Data)@@ -491,9 +514,9 @@             -- ^ ordinary declaration     | InsType   l (Type l) (Type l)             -- ^ an associated type definition-    | InsData   l (DataOrNew l) (Type l) [QualConDecl l] (Maybe [Deriving l])+    | InsData   l (DataOrNew l) (Type l) [QualConDecl l] (Maybe (Deriving l))             -- ^ an associated data type implementation-    | InsGData  l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] (Maybe [Deriving l])+    | InsGData  l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] (Maybe (Deriving l))             -- ^ an associated data type implemented using GADT style     | InsInline l Bool (Maybe (Activation l)) (QName l)             -- ^ an INLINE pragma@@ -601,7 +624,11 @@ #endif  -- | A context is a set of assertions-data Context l = Context l [Asst l]+data Context l+    = CxSingle l (Asst l)+    | CxTuple  l [Asst l]+    | CxParen  l (Context l)+    | CxEmpty  l #ifdef __GLASGOW_HASKELL__   deriving (Eq,Show,Typeable,Data) #else@@ -628,16 +655,16 @@ -- precise string representation used.  For example, @10@, @0o12@ and @0xa@ -- have the same representation. data Literal l-    = Char    l Char          -- ^ character literal-    | String  l String        -- ^ string literal-    | Int     l Integer       -- ^ integer literal-    | Frac    l Rational      -- ^ floating point literal-    | PrimInt    l Integer    -- ^ unboxed integer literal-    | PrimWord   l Integer    -- ^ unboxed word literal-    | PrimFloat  l Rational   -- ^ unboxed float literal-    | PrimDouble l Rational   -- ^ unboxed double literal-    | PrimChar   l Char       -- ^ unboxed character literal-    | PrimString l String     -- ^ unboxed string literal+    = Char       l Char     String     -- ^ character literal+    | String     l String   String     -- ^ string literal+    | Int        l Integer  String     -- ^ integer literal+    | Frac       l Rational String     -- ^ floating point literal+    | PrimInt    l Integer  String     -- ^ unboxed integer literal+    | PrimWord   l Integer  String     -- ^ unboxed word literal+    | PrimFloat  l Rational String     -- ^ unboxed float literal+    | PrimDouble l Rational String     -- ^ unboxed double literal+    | PrimChar   l Char     String     -- ^ unboxed character literal+    | PrimString l String   String     -- ^ unboxed string literal #ifdef __GLASGOW_HASKELL__   deriving (Eq,Show,Typeable,Data) #else@@ -1157,24 +1184,21 @@     fmap f (AssocLeft  l) = AssocLeft  (f l)     fmap f (AssocRight l) = AssocRight (f l) -instance Functor Deriving where-    fmap f (Deriving l qn ts) = Deriving (f l) (fmap f qn) (map (fmap f) ts)- instance Functor Decl where     fmap f decl = case decl of-        TypeDecl     l n tvs t      -> TypeDecl    (f l) (fmap f n) (map (fmap f) tvs) (fmap f t)-        TypeFamDecl  l n tvs mk     -> TypeFamDecl (f l) (fmap f n) (map (fmap f) tvs) (fmap (fmap f) mk)-        DataDecl     l dn mcx n tvs cds ders ->-            DataDecl (f l) (fmap f dn) (fmap (fmap f) mcx) (fmap f n) (map (fmap f) tvs) (map (fmap f) cds) (fmap (map (fmap f)) ders)-        GDataDecl    l dn mcx n tvs mk gds ders ->-            GDataDecl (f l) (fmap f dn) (fmap (fmap f) mcx) (fmap f n) (map (fmap f) tvs) (fmap (fmap f) mk) (map (fmap f) gds) (fmap (map (fmap f)) ders)-        DataFamDecl  l mcx n tvs mk       -> DataFamDecl (f l) (fmap (fmap f) mcx) (fmap f n) (map (fmap f) tvs) (fmap (fmap f) mk)+        TypeDecl     l dh t      -> TypeDecl    (f l) (fmap f dh) (fmap f t)+        TypeFamDecl  l dh mk     -> TypeFamDecl (f l) (fmap f dh) (fmap (fmap f) mk)+        DataDecl     l dn mcx dh cds ders ->+            DataDecl (f l) (fmap f dn) (fmap (fmap f) mcx) (fmap f dh) (map (fmap f) cds) (fmap (fmap f) ders)+        GDataDecl    l dn mcx dh mk gds ders ->+            GDataDecl (f l) (fmap f dn) (fmap (fmap f) mcx) (fmap f dh) (fmap (fmap f) mk) (map (fmap f) gds) (fmap (fmap f) ders)+        DataFamDecl  l mcx dh mk          -> DataFamDecl (f l) (fmap (fmap f) mcx) (fmap f dh) (fmap (fmap f) mk)         TypeInsDecl  l t1 t2              -> TypeInsDecl (f l) (fmap f t1) (fmap f t2)-        DataInsDecl  l dn t cds ders      -> DataInsDecl (f l) (fmap f dn) (fmap f t) (map (fmap f) cds) (fmap (map (fmap f)) ders)-        GDataInsDecl l dn t mk gds ders   -> GDataInsDecl (f l) (fmap f dn) (fmap f t) (fmap (fmap f) mk) (map (fmap f) gds) (fmap (map (fmap f)) ders)-        ClassDecl    l mcx n tvs fds mcds -> ClassDecl (f l) (fmap (fmap f) mcx) (fmap f n) (map (fmap f) tvs) (map (fmap f) fds) (fmap (map (fmap f)) mcds)-        InstDecl     l mcx qn ts mids     -> InstDecl (f l) (fmap (fmap f) mcx) (fmap f qn) (map (fmap f) ts) (fmap (map (fmap f)) mids)-        DerivDecl    l mcx qn ts          -> DerivDecl (f l) (fmap (fmap f) mcx) (fmap f qn) (map (fmap f) ts)+        DataInsDecl  l dn t cds ders      -> DataInsDecl (f l) (fmap f dn) (fmap f t) (map (fmap f) cds) (fmap (fmap f) ders)+        GDataInsDecl l dn t mk gds ders   -> GDataInsDecl (f l) (fmap f dn) (fmap f t) (fmap (fmap f) mk) (map (fmap f) gds) (fmap (fmap f) ders)+        ClassDecl    l mcx dh fds mcds    -> ClassDecl (f l) (fmap (fmap f) mcx) (fmap f dh) (map (fmap f) fds) (fmap (map (fmap f)) mcds)+        InstDecl     l mcx ih mids        -> InstDecl  (f l) (fmap (fmap f) mcx) (fmap f ih) (fmap (map (fmap f)) mids)+        DerivDecl    l mcx ih             -> DerivDecl (f l) (fmap (fmap f) mcx) (fmap f ih)         InfixDecl    l a k ops            -> InfixDecl (f l) (fmap f a) k (map (fmap f) ops)         DefaultDecl  l ts                 -> DefaultDecl (f l) (map (fmap f) ts)         SpliceDecl   l sp                 -> SpliceDecl (f l) (fmap f sp)@@ -1188,14 +1212,27 @@         WarnPragmaDecl   l nss            -> WarnPragmaDecl (f l) (map (wp f) nss)         InlineSig        l b mact qn      -> InlineSig (f l) b (fmap (fmap f) mact) (fmap f qn)         SpecInlineSig    l b mact qn ts   -> SpecInlineSig (f l) b (fmap (fmap f) mact) (fmap f qn) (map (fmap f) ts)-        SpecSig          l qn ts          -> SpecSig (f l) (fmap f qn) (map (fmap f) ts)-        InstSig          l mcx qn ts      -> InstSig (f l) (fmap (fmap f) mcx) (fmap f qn) (map (fmap f) ts)+        SpecSig          l        qn ts   -> SpecSig (f l) (fmap f qn) (map (fmap f) ts)+        InstSig          l mcx ih         -> InstSig (f l) (fmap (fmap f) mcx) (fmap f ih)       where wp f (ns, s) = (map (fmap f) ns, s)  instance Functor DataOrNew where     fmap f (DataType l) = DataType (f l)     fmap f (NewType  l) = NewType  (f l) +instance Functor DeclHead where+    fmap f (DHead l n tvs)       = DHead (f l) (fmap f n) (map (fmap f) tvs)+    fmap f (DHInfix l tva n tvb) = DHInfix (f l) (fmap f tva) (fmap f n) (fmap f tvb)+    fmap f (DHParen l dh)        = DHParen (f l) (fmap f dh)++instance Functor InstHead where+    fmap f (IHead l qn ts)       = IHead (f l) (fmap f qn) (map (fmap f) ts)+    fmap f (IHInfix l ta qn tb)  = IHInfix (f l) (fmap f ta) (fmap f qn) (fmap f tb)+    fmap f (IHParen l ih)        = IHParen (f l) (fmap f ih)++instance Functor Deriving where+    fmap f (Deriving l ihs) = Deriving (f l) (map (fmap f) ihs)+ instance Functor Binds where     fmap f (BDecls  l decls) = BDecls (f l) (map (fmap f) decls)     fmap f (IPBinds l ibs)   = IPBinds (f l) (map (fmap f) ibs)@@ -1204,8 +1241,10 @@     fmap f (IPBind l ipn e) = IPBind (f l) (fmap f ipn) (fmap f e)  instance Functor Match where-    fmap f (Match l n ps mt rhs bs) =-        Match (f l) (fmap f n) (map (fmap f) ps) (fmap (fmap f) mt) (fmap f rhs) (fmap (fmap f) bs)+    fmap f (Match l n ps rhs bs) =+        Match (f l) (fmap f n) (map (fmap f) ps) (fmap f rhs) (fmap (fmap f) bs)+    fmap f (InfixMatch l a n b rhs bs) =+        InfixMatch (f l) (fmap f a) (fmap f n) (fmap f b) (fmap f rhs) (fmap (fmap f) bs)  instance Functor QualConDecl where     fmap f (QualConDecl l mtvs mcx cd) = QualConDecl (f l) (fmap (map (fmap f)) mtvs) (fmap (fmap f) mcx) (fmap f cd)@@ -1223,8 +1262,8 @@  instance Functor ClassDecl where     fmap f (ClsDecl    l d) = ClsDecl (f l) (fmap f d)-    fmap f (ClsDataFam l mcx n tvs mk) = ClsDataFam (f l) (fmap (fmap f) mcx) (fmap f n) (map (fmap f) tvs) (fmap (fmap f) mk)-    fmap f (ClsTyFam   l     n tvs mk) = ClsTyFam   (f l)                     (fmap f n) (map (fmap f) tvs) (fmap (fmap f) mk)+    fmap f (ClsDataFam l mcx dh mk) = ClsDataFam (f l) (fmap (fmap f) mcx) (fmap f dh) (fmap (fmap f) mk)+    fmap f (ClsTyFam   l     dh mk) = ClsTyFam   (f l)                     (fmap f dh) (fmap (fmap f) mk)     fmap f (ClsTyDef   l t1 t2) = ClsTyDef (f l) (fmap f t1) (fmap f t2)  instance Functor InstDecl where@@ -1232,9 +1271,9 @@         InsDecl   l d           -> InsDecl (f l) (fmap f d)         InsType   l t1 t2       -> InsType (f l) (fmap f t1) (fmap f t2)         InsData   l dn t    cds ders-            -> InsData  (f l) (fmap f dn) (fmap f t)                    (map (fmap f) cds) (fmap (map (fmap f)) ders)+            -> InsData  (f l) (fmap f dn) (fmap f t)                    (map (fmap f) cds) (fmap (fmap f) ders)         InsGData  l dn t mk gds ders-            -> InsGData (f l) (fmap f dn) (fmap f t) (fmap (fmap f) mk) (map (fmap f) gds) (fmap (map (fmap f)) ders)+            -> InsGData (f l) (fmap f dn) (fmap f t) (fmap (fmap f) mk) (map (fmap f) gds) (fmap (fmap f) ders)         InsInline l b mact qn   -> InsInline (f l) b (fmap (fmap f) mact) (fmap f qn)  instance Functor BangType where@@ -1275,7 +1314,10 @@     fmap f (FunDep l ns1 ns2) = FunDep (f l) (map (fmap f) ns1) (map (fmap f) ns2)  instance Functor Context where-    fmap f (Context l assts) = Context (f l) (map (fmap f) assts)+    fmap f (CxSingle l asst) = CxSingle (f l) (fmap f asst)+    fmap f (CxTuple l assts) = CxTuple (f l) (map (fmap f) assts)+    fmap f (CxParen l ctxt)  = CxParen (f l) (fmap f ctxt)+    fmap f (CxEmpty l)       = CxEmpty (f l)  instance Functor Asst where     fmap f asst = case asst of@@ -1286,16 +1328,16 @@  instance Functor Literal where     fmap f lit = case lit of-        Char    l c     -> Char   (f l) c-        String  l s     -> String (f l) s-        Int     l i     -> Int    (f l) i-        Frac    l r     -> Frac   (f l) r-        PrimInt    l i  -> PrimInt    (f l) i-        PrimWord   l i  -> PrimWord   (f l) i-        PrimFloat  l r  -> PrimFloat  (f l) r-        PrimDouble l r  -> PrimDouble (f l) r-        PrimChar   l c  -> PrimChar   (f l) c-        PrimString l s  -> PrimString (f l) s+        Char    l c rw    -> Char   (f l) c rw+        String  l s rw    -> String (f l) s rw+        Int     l i rw    -> Int    (f l) i rw+        Frac    l r rw    -> Frac   (f l) r rw+        PrimInt    l i rw -> PrimInt    (f l) i rw+        PrimWord   l i rw -> PrimWord   (f l) i rw+        PrimFloat  l r rw -> PrimFloat  (f l) r rw+        PrimDouble l r rw -> PrimDouble (f l) r rw+        PrimChar   l c rw -> PrimChar   (f l) c rw+        PrimString l s rw -> PrimString (f l) s rw  instance Functor Exp where     fmap f e = case e of@@ -1599,22 +1641,22 @@     amap = fmap  instance Annotated Deriving where-    ann (Deriving l qn ts) = l-    amap f (Deriving l qn ts) = Deriving (f l) qn ts+    ann (Deriving l ihs)    = l+    amap f (Deriving l ihs) = Deriving (f l) ihs  instance Annotated Decl where     ann decl = case decl of-        TypeDecl     l n tvs t      -> l-        TypeFamDecl  l n tvs mk     -> l-        DataDecl     l dn cx n tvs cds ders -> l-        GDataDecl    l dn cx n tvs mk gds ders -> l-        DataFamDecl  l cx n tvs mk  -> l+        TypeDecl     l dh t         -> l+        TypeFamDecl  l dh mk        -> l+        DataDecl     l dn cx dh cds ders -> l+        GDataDecl    l dn cx dh mk gds ders -> l+        DataFamDecl  l    cx dh mk  -> l         TypeInsDecl  l t1 t2        -> l         DataInsDecl  l dn t cds ders    -> l         GDataInsDecl l dn t mk gds ders -> l-        ClassDecl    l cx n tvs fds cds -> l-        InstDecl     l cx qn ts ids     -> l-        DerivDecl    l cx qn ts         -> l+        ClassDecl    l cx dh fds cds    -> l+        InstDecl     l cx ih ids        -> l+        DerivDecl    l cx ih            -> l         InfixDecl    l a k ops          -> l         DefaultDecl  l ts               -> l         SpliceDecl   l sp               -> l@@ -1627,23 +1669,23 @@         DeprPragmaDecl   l nss          -> l         WarnPragmaDecl   l nss          -> l         InlineSig        l b act qn     -> l-        SpecSig          l                     qn ts    -> l+        SpecSig          l qn ts        -> l         SpecInlineSig    l b act qn ts  -> l-        InstSig          l cx qn ts     -> l+        InstSig          l cx ih        -> l     amap f decl = case decl of-        TypeDecl     l n tvs t      -> TypeDecl    (f l) n tvs t-        TypeFamDecl  l n tvs mk     -> TypeFamDecl (f l) n tvs mk-        DataDecl     l dn mcx n tvs cds ders ->-            DataDecl (f l) dn mcx n tvs cds ders-        GDataDecl    l dn mcx n tvs mk gds ders ->-            GDataDecl (f l) dn mcx n tvs mk gds ders-        DataFamDecl  l mcx n tvs mk      -> DataFamDecl (f l) mcx n tvs mk+        TypeDecl     l dh t      -> TypeDecl    (f l) dh t+        TypeFamDecl  l dh mk     -> TypeFamDecl (f l) dh mk+        DataDecl     l dn mcx dh cds ders ->+            DataDecl (f l) dn mcx dh cds ders+        GDataDecl    l dn mcx dh mk gds ders ->+            GDataDecl (f l) dn mcx dh mk gds ders+        DataFamDecl  l mcx dh mk         -> DataFamDecl (f l) mcx dh mk         TypeInsDecl  l t1 t2             -> TypeInsDecl (f l) t1 t2         DataInsDecl  l dn t cds ders     -> DataInsDecl (f l) dn t cds ders         GDataInsDecl l dn t mk gds ders  -> GDataInsDecl (f l) dn t mk gds ders-        ClassDecl    l mcx n tvs fds cds -> ClassDecl (f l) mcx n tvs fds cds-        InstDecl     l mcx qn ts ids     -> InstDecl (f l) mcx qn ts ids-        DerivDecl    l mcx qn ts         -> DerivDecl (f l) mcx qn ts+        ClassDecl    l mcx dh fds cds    -> ClassDecl (f l) mcx dh fds cds+        InstDecl     l mcx ih ids        -> InstDecl (f l) mcx ih ids+        DerivDecl    l mcx ih            -> DerivDecl (f l) mcx ih         InfixDecl    l a k ops           -> InfixDecl (f l) a k ops         DefaultDecl  l ts                -> DefaultDecl (f l) ts         SpliceDecl   l sp                -> SpliceDecl (f l) sp@@ -1658,13 +1700,29 @@         InlineSig        l b act qn      -> InlineSig (f l) b act qn         SpecSig          l qn ts         -> SpecSig (f l) qn ts         SpecInlineSig    l b act qn ts   -> SpecInlineSig (f l) b act qn ts-        InstSig          l mcx qn ts     -> InstSig (f l) mcx qn ts+        InstSig          l mcx ih        -> InstSig (f l) mcx ih  instance Annotated DataOrNew where     ann (DataType l) = l     ann (NewType  l) = l     amap = fmap +instance Annotated DeclHead where+    ann (DHead l n tvs)       = l+    ann (DHInfix l tva n tvb) = l+    ann (DHParen l dh)        = l+    amap f (DHead l n tvs)       = DHead (f l) n tvs+    amap f (DHInfix l tva n tvb) = DHInfix (f l) tva n tvb+    amap f (DHParen l dh)        = DHParen (f l) dh++instance Annotated InstHead where+    ann (IHead l qn ts) = l+    ann (IHInfix l ta qn tb) = l+    ann (IHParen l ih) = l+    amap f (IHead l qn ts)       = IHead (f l) qn ts+    amap f (IHInfix l ta qn tb)  = IHInfix (f l) ta qn tb+    amap f (IHParen l ih)        = IHParen (f l) ih+ instance Annotated Binds where     ann (BDecls  l decls) = l     ann (IPBinds l ibs)   = l@@ -1676,8 +1734,10 @@     amap f (IPBind l ipn e) = IPBind (f l) ipn e  instance Annotated Match where-    ann (Match l n ps mt rhs bs) = l-    amap f (Match l n ps mt rhs bs) = Match (f l) n ps mt rhs bs+    ann (Match l n ps rhs bs) = l+    ann (InfixMatch l a n b rhs bs) = l+    amap f (Match l n ps rhs bs) = Match (f l) n ps rhs bs+    amap f (InfixMatch l a n b rhs bs) = InfixMatch (f l) a n b rhs bs  instance Annotated QualConDecl where     ann (QualConDecl l tvs cx cd) = l@@ -1701,12 +1761,12 @@  instance Annotated ClassDecl where     ann (ClsDecl    l d) = l-    ann (ClsDataFam l cx n tvs mk) = l-    ann (ClsTyFam   l    n tvs mk) = l+    ann (ClsDataFam l cx dh mk) = l+    ann (ClsTyFam   l    dh mk) = l     ann (ClsTyDef   l t1 t2) = l     amap f (ClsDecl    l d) = ClsDecl (f l) d-    amap f (ClsDataFam l mcx n tvs mk) = ClsDataFam (f l) mcx n tvs mk-    amap f (ClsTyFam   l     n tvs mk) = ClsTyFam   (f l)     n tvs mk+    amap f (ClsDataFam l mcx dh mk) = ClsDataFam (f l) mcx dh mk+    amap f (ClsTyFam   l     dh mk) = ClsTyFam   (f l)     dh mk     amap f (ClsTyDef   l t1 t2) = ClsTyDef (f l) t1 t2  instance Annotated InstDecl where@@ -1784,8 +1844,14 @@     amap f (FunDep l ns1 ns2) = FunDep (f l) ns1 ns2  instance Annotated Context where-    ann (Context l assts) = l-    amap f (Context l assts) = Context (f l) assts+    ann (CxSingle l asst ) = l+    ann (CxTuple  l assts) = l+    ann (CxParen  l ctxt )  = l+    ann (CxEmpty  l)       = l+    amap f (CxSingle l asst ) = CxSingle (f l) asst+    amap f (CxTuple  l assts) = CxTuple  (f l) assts+    amap f (CxParen  l ctxt ) = CxParen  (f l) ctxt+    amap f (CxEmpty l) = CxEmpty (f l)  instance Annotated Asst where     ann asst = case asst of@@ -1801,16 +1867,16 @@  instance Annotated Literal where     ann lit = case lit of-        Char    l c     -> l-        String  l s     -> l-        Int     l i     -> l-        Frac    l r     -> l-        PrimInt    l i  -> l-        PrimWord   l i  -> l-        PrimFloat  l r  -> l-        PrimDouble l r  -> l-        PrimChar   l c  -> l-        PrimString l s  -> l+        Char    l c    rw  -> l+        String  l s    rw  -> l+        Int     l i    rw  -> l+        Frac    l r    rw  -> l+        PrimInt    l i rw  -> l+        PrimWord   l i rw  -> l+        PrimFloat  l r rw  -> l+        PrimDouble l r rw  -> l+        PrimChar   l c rw  -> l+        PrimString l s rw  -> l     amap = fmap  instance Annotated Exp where
src/Language/Haskell/Exts/ParseUtils.hs view
@@ -222,6 +222,7 @@       Symbol _ -> checkEnabled TypeOperators       _ -> return ()     return (t,xs)+checkSimple kw (TyParen t) xs = checkSimple kw t xs checkSimple kw _ _ = fail ("Illegal " ++ kw ++ " declaration")  isTyVarBind :: PType -> Bool