{-# LANGUAGE  MultiParamTypeClasses,  FunctionalDependencies #-}

-- | 
-- Module      : Text.CHXHtml.XHtml1_transitional
-- Copyright   : (c) Paul Talaga 2010,
--
-- License     : BSD-style
--
-- Maintainer  : paul@fuzzpault.com
-- Stability   : experimental
-- Portability : portable
--
--  Description : CHXHtml (Compliant Haskell XHtml) produces W3C valid XHTML1 strict content by building a datastructure based on the DTD.  
--  Nesting and allowed tags are limited at compile time by recursive types.  Required children and child ordering can be reported at runtime by the
--  @chidErrors function.
--
--  To simplify usage, type classes are used to substitute the correct constructor for the given context, or throw a type error if the tag is not allowed in that context.
--  As a result, a single function exists per tag as well as attribute names.
--
--  Each tag has two variants, one with and one without taking parameters, specified as @_{tag} [{children tags}]@ or @{tag}_ [{attributes}] [{children tags}]@.
--  Underscores prevents namespace conflicts with @Prelude@ as well as cleaning up the syntax otherwise present using import qualified.
--
--  Textual data is entered with the function @pcdata "String"@ wherever pcdata is allowed.  pcdata is HTML excaped for safety.
--  For speed the variant @pcdata_bs "Data.ByteString"@ can be used which bypasses excaping.
--  A handful of character entities (",&,<,>,©,®, ,) can also be used wherever pcdata is allowed by using 
--  the functions: @ce_quot@,@ce_amp@,@ce_lt@,@ce_gt@,@ce_copy@,@ce_reg@,@ce_nbsp@,
--
--  Attributes are specified by the functions  @{attribute name}_att@, followed by its value of the correct type.  See below for specifics.
--  For W3C compliance only the last attribute will be used if duplicate names exist.
--
--  Rendering to a "String" is done with the 'render' function, or to a "Data.ByteString" via the 'render_bs' function.  Note that "Data.ByteString" is significatly faster than Strings.
--
--  Under the hood we use a myriad of datatypes for tags and attributes whos details have been omitted below for brevity.  To assist in selecting allowed tags and attributes
--  'htmlHelp' is provided which produces allowed children and attributes given a tag's nesting position.  See 'htmlHelp' below for usage.
--
--
module Text.CHXHtml.XHtml1_transitional(  
    -- * Validation
 childErrors,
    -- * Tag & Attribute Help
 htmlHelp,
    -- * Rendering
 render, render_bs,    -- * Tags
pcdata, pcdata_bs,s2b, _html, html_,_a ,a_ ,_abbr ,abbr_ ,_acronym ,acronym_ ,_address ,address_ ,_applet ,applet_ ,_area ,area_ ,_b ,b_ ,_base ,base_ ,_basefont ,basefont_ ,_bdo ,bdo_ ,_big ,big_ ,_blockquote ,blockquote_ ,_body ,body_ ,_br ,br_ ,_button ,button_ ,_caption ,caption_ ,_center ,center_ ,_cite ,cite_ ,_code ,code_ ,_col ,col_ ,_colgroup ,colgroup_ ,_dd ,dd_ ,_del ,del_ ,_dfn ,dfn_ ,_dir ,dir_ ,_div ,div_ ,_dl ,dl_ ,_dt ,dt_ ,_em ,em_ ,_fieldset ,fieldset_ ,_font ,font_ ,_form ,form_ ,_h1 ,h1_ ,_h2 ,h2_ ,_h3 ,h3_ ,_h4 ,h4_ ,_h5 ,h5_ ,_h6 ,h6_ ,_head ,head_ ,_hr ,hr_ ,_i ,i_ ,_iframe ,iframe_ ,_img ,img_ ,_input ,input_ ,_ins ,ins_ ,_isindex ,isindex_ ,_kbd ,kbd_ ,_label ,label_ ,_legend ,legend_ ,_li ,li_ ,_link ,link_ ,_map ,map_ ,_menu ,menu_ ,_meta ,meta_ ,_noframes ,noframes_ ,_noscript ,noscript_ ,_object ,object_ ,_ol ,ol_ ,_optgroup ,optgroup_ ,_option ,option_ ,_p ,p_ ,_param ,param_ ,_pre ,pre_ ,_q ,q_ ,_s ,s_ ,_samp ,samp_ ,_script ,script_ ,_select ,select_ ,_small ,small_ ,_span ,span_ ,_strike ,strike_ ,_strong ,strong_ ,_style ,style_ ,_sub ,sub_ ,_sup ,sup_ ,_table ,table_ ,_tbody ,tbody_ ,_td ,td_ ,_textarea ,textarea_ ,_tfoot ,tfoot_ ,_th ,th_ ,_thead ,thead_ ,_title ,title_ ,_tr ,tr_ ,_tt ,tt_ ,_u ,u_ ,_ul ,ul_ ,_var ,var_ ,
    -- * Attributes
http_equiv_att, http_equiv_att_bs,clear_att, content_att, content_att_bs,nohref_att, onkeydown_att, onkeydown_att_bs,target_att, target_att_bs,onkeyup_att, onkeyup_att_bs,onreset_att, onreset_att_bs,onmouseup_att, onmouseup_att_bs,scope_att, code_att, code_att_bs,onmouseover_att, onmouseover_att_bs,align_att, lang_att, lang_att_bs,valign_att, name_att, name_att_bs,charset_att, charset_att_bs,scheme_att, scheme_att_bs,prompt_att, prompt_att_bs,accept_charset_att, accept_charset_att_bs,frameborder_att, onmousedown_att, onmousedown_att_bs,rev_att, rev_att_bs,span_att, span_att_bs,title_att, title_att_bs,onclick_att, onclick_att_bs,start_att, start_att_bs,width_att, width_att_bs,vlink_att, vlink_att_bs,enctype_att, enctype_att_bs,ismap_att, usemap_att, usemap_att_bs,nowrap_att, coords_att, coords_att_bs,frame_att, onblur_att, onblur_att_bs,datetime_att, datetime_att_bs,size_att, size_att_bs,dir_att, face_att, face_att_bs,color_att, color_att_bs,summary_att, summary_att_bs,bgcolor_att, bgcolor_att_bs,text_att, text_att_bs,method_att, vspace_att, vspace_att_bs,standby_att, standby_att_bs,tabindex_att, tabindex_att_bs,language_att, language_att_bs,background_att, background_att_bs,style_att, style_att_bs,onmousemove_att, onmousemove_att_bs,height_att, height_att_bs,codetype_att, codetype_att_bs,char_att, char_att_bs,multiple_att, codebase_att, codebase_att_bs,xmlns_att, xmlns_att_bs,profile_att, profile_att_bs,rel_att, rel_att_bs,onsubmit_att, onsubmit_att_bs,ondblclick_att, ondblclick_att_bs,axis_att, axis_att_bs,cols_att, cols_att_bs,marginwidth_att, marginwidth_att_bs,abbr_att, abbr_att_bs,onchange_att, onchange_att_bs,readonly_att, href_att, href_att_bs,media_att, media_att_bs,id_att, id_att_bs,compact_att, for_att, for_att_bs,src_att, src_att_bs,value_att, value_att_bs,data_att, data_att_bs,hreflang_att, hreflang_att_bs,checked_att, declare_att, onkeypress_att, onkeypress_att_bs,label_att, label_att_bs,class_att, class_att_bs,type_att, type_att_bs,shape_att, accesskey_att, accesskey_att_bs,headers_att, headers_att_bs,disabled_att, object_att, object_att_bs,scrolling_att, rules_att, rows_att, rows_att_bs,alink_att, alink_att_bs,onfocus_att, onfocus_att_bs,colspan_att, colspan_att_bs,rowspan_att, rowspan_att_bs,defer_att, cellspacing_att, cellspacing_att_bs,charoff_att, charoff_att_bs,cite_att, cite_att_bs,marginheight_att, marginheight_att_bs,maxlength_att, maxlength_att_bs,link_att, link_att_bs,onselect_att, onselect_att_bs,accept_att, accept_att_bs,alt_att, alt_att_bs,archive_att, archive_att_bs,classid_att, classid_att_bs,longdesc_att, longdesc_att_bs,onmouseout_att, onmouseout_att_bs,space_att, border_att, border_att_bs,noshade_att, onunload_att, onunload_att_bs,hspace_att, hspace_att_bs,action_att, action_att_bs,onload_att, onload_att_bs,cellpadding_att, cellpadding_att_bs,valuetype_att, selected_att, 
    -- ** Enumerated Attribute Values
ValuetypeEnum(..),RulesEnum(..),ScrollingEnum(..),ShapeEnum(..),MethodEnum(..),DirEnum(..),FrameEnum(..),FrameborderEnum(..),ValignEnum(..),AlignEnum(..),ScopeEnum(..),ClearEnum(..),
    -- ** Character Entities (just a few until I can find a more elegant implementation)
ce_quot,ce_amp,ce_lt,ce_gt,ce_copy,ce_reg,ce_nbsp,
  ) where 

import qualified Data.ByteString.Lazy as B
import qualified Data.ByteString.Lazy.UTF8 as U
import Data.List (nubBy,sort,intersperse)
import Data.Char
import Text.Regex.Posix
-- | 'htmlHelp' provides a way of finding allowed children tags and attributes.  For example a @h1@ inside a @body@ tag inside an @html@ tag is queried with
--
-- > htmlHelp ["html","body","h1"]
--
-- > = [["a","abbr",..,"tt","var"],["alt_att","class_att","dir_att",..,"usemap_att","width_att"]]
--
-- which returns a list of 2 elements, each their own list.  The first is the allowed children tags, in this case 34.  The second is a list of allowed attributes for
-- the @h1@ tag.  Remember to add a @_@ as a prefix or suffix of all tags, as well as @_bs@ if providing a 'Data.ByteString' to an attribute.
--
htmlHelp :: [String] -> [[String]]
htmlHelp (x:xs) 
    | (map toLower x) == "html" = htmlHelp2 0 (toNdx "html") xs
    | otherwise = [["First tag needs to be \"html\"!"],[]]
    
htmlHelp2 :: Int -> Int -> [String] -> [[String]]
htmlHelp2 i lst [] = [ (sort (map (\(t,n)->fst (tagList !! t)) (groups !! i))), sort(map (\a->a++"_att") (attList !! (snd (tagList !! lst))))]
htmlHelp2 i lst (x:xs)
    | n == -1 = [[x ++ " not a child" ],["No attributes"]]
    | n == 99999 && xs == [] = [[x ++ " can not contain any inner nodes"], sort(map (\a->a++"_att") (attList !! (snd (tagList !! (toNdx x)))))]
    | n == 99999 = [[x ++ " can not contain any inner nodes"], []]
    | otherwise = htmlHelp2 n (toNdx x) xs
    where n = getNext (groups !! i) (toNdx x)

getNext ((a,b):xs) t
    | a == t = b
    | otherwise = getNext xs t 
getNext [] t = -1

toNdx :: String -> Int
toNdx s = toNdx2 s tagList 0
toNdx2 s (x:xs) n
    | (map toLower s) == (map toLower (fst x)) = n
    | otherwise = toNdx2 s xs (n+1)
toNdx2 s [] _ = (-1)
tagList = [("html",0),("head",1),("title",2),("base",3),("meta",4),("link",6),("style",7),("script",9),("noscript",10),("iframe",11),("noframes",10),("body",12),("div",13),("p",13),("h1",13),("h2",13),("h3",13),("h4",13),("h5",13),("h6",13),("ul",14),("ol",15),("menu",16),("dir",16),("li",17),("dl",16),("dt",10),("dd",10),("address",10),("hr",18),("pre",19),("blockquote",20),("center",10),("ins",21),("del",21),("a",22),("span",10),("bdo",10),("br",25),("em",10),("strong",10),("dfn",10),("code",10),("samp",10),("kbd",10),("var",10),("cite",10),("abbr",10),("acronym",10),("q",20),("sub",10),("sup",10),("tt",10),("i",10),("b",10),("big",10),("small",10),("u",10),("s",10),("strike",10),("basefont",26),("font",28),("object",29),("param",30),("applet",32),("img",35),("map",38),("area",40),("form",41),("label",43),("input",44),("select",45),("optgroup",46),("option",48),("textarea",49),("fieldset",10),("legend",52),("button",53),("isindex",54),("table",55),("caption",13),("thead",56),("tfoot",56),("tbody",56),("colgroup",57),("col",57),("tr",58),("th",59),("td",59),("pcdata",-1),("cdata",-1),("none",-1),("",1)]
attList = [["lang","dir","id","xmlns"],["lang","dir","id","profile"],["lang","dir","id"],["id","href","target"],["lang","dir","id","http_equiv","name","content","scheme"],["content"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","charset","href","hreflang","type","rel","rev","media","target"],["lang","dir","id","type","media","title","space"],["type"],["id","charset","type","language","src","defer","space"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup"],["id","class","style","title","longdesc","name","src","frameborder","marginwidth","marginheight","scrolling","align","height","width"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","onload","onunload","background","bgcolor","text","link","vlink","alink"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","align"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","type","compact"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","type","compact","start"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","compact"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","type","value"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","align","noshade","size","width"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","width","space"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","cite"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","cite","datetime"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","accesskey","tabindex","onfocus","onblur","charset","type","name","href","hreflang","rel","rev","shape","coords","target"],["id","class","style","title","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","lang","dir"],["dir"],["id","class","style","title","clear"],["id","size","color","face"],["size"],["id","class","style","title","lang","dir","size","color","face"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","declare","classid","codebase","data","type","codetype","archive","standby","height","width","usemap","name","tabindex","align","border","hspace","vspace"],["id","name","value","valuetype","type"],["name"],["id","class","style","title","codebase","archive","code","object","alt","name","width","height","align","hspace","vspace"],["width"],["height"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","src","alt","name","longdesc","height","width","usemap","ismap","align","border","hspace","vspace"],["src"],["alt"],["lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","id","class","style","title","name"],["id"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","accesskey","tabindex","onfocus","onblur","shape","coords","href","nohref","alt","target"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","action","method","name","enctype","onsubmit","onreset","accept","accept_charset","target"],["action"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","for","accesskey","onfocus","onblur"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","accesskey","tabindex","onfocus","onblur","type","name","value","checked","disabled","readonly","size","maxlength","src","alt","usemap","onselect","onchange","accept","align"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","name","size","multiple","disabled","tabindex","onfocus","onblur","onchange"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","disabled","label"],["label"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","selected","disabled","label","value"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","accesskey","tabindex","onfocus","onblur","name","rows","cols","disabled","readonly","onselect","onchange"],["rows"],["cols"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","accesskey","align"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","accesskey","tabindex","onfocus","onblur","name","value","type","disabled"],["id","class","style","title","lang","dir","prompt"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","summary","width","border","frame","rules","cellspacing","cellpadding","align","bgcolor"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","align","char","charoff","valign"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","span","width","align","char","charoff","valign"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","align","char","charoff","valign","bgcolor"],["id","class","style","title","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup","abbr","axis","headers","scope","rowspan","colspan","align","char","charoff","valign","nowrap","bgcolor","width","height"]]
groups  = [[(1,1),(11,4)],[(2,2),(3,99999),(4,99999),(5,99999),(6,2),(7,2),(62,3),(78,99999)],[(89,99999)],[(7,2),(8,4),(9,4),(10,4),(12,4),(13,5),(14,5),(15,5),(16,5),(17,5),(18,5),(19,5),(20,6),(21,6),(22,6),(23,6),(25,7),(28,8),(29,99999),(30,9),(31,4),(32,4),(33,4),(34,4),(35,10),(36,5),(37,5),(38,99999),(39,5),(40,5),(41,5),(42,5),(43,5),(44,5),(45,5),(46,5),(47,5),(48,5),(49,5),(50,5),(51,5),(52,5),(53,5),(54,5),(55,5),(56,5),(57,5),(58,5),(59,5),(60,99999),(61,5),(62,3),(63,99999),(64,3),(65,99999),(66,66),(68,67),(69,113),(70,99999),(71,130),(74,2),(75,132),(77,133),(78,99999),(79,134),(89,99999)],[(7,2),(8,4),(9,4),(10,4),(12,4),(13,5),(14,5),(15,5),(16,5),(17,5),(18,5),(19,5),(20,6),(21,6),(22,6),(23,6),(25,7),(28,8),(29,99999),(30,9),(31,4),(32,4),(33,4),(34,4),(35,10),(36,5),(37,5),(38,99999),(39,5),(40,5),(41,5),(42,5),(43,5),(44,5),(45,5),(46,5),(47,5),(48,5),(49,5),(50,5),(51,5),(52,5),(53,5),(54,5),(55,5),(56,5),(57,5),(58,5),(59,5),(60,99999),(61,5),(62,3),(64,3),(65,99999),(66,66),(68,67),(69,113),(70,99999),(71,130),(74,2),(75,132),(77,133),(78,99999),(79,134),(89,99999)],[(7,2),(9,4),(33,4),(34,4),(35,10),(36,5),(37,5),(38,99999),(39,5),(40,5),(41,5),(42,5),(43,5),(44,5),(45,5),(46,5),(47,5),(48,5),(49,5),(50,5),(51,5),(52,5),(53,5),(54,5),(55,5),(56,5),(57,5),(58,5),(59,5),(60,99999),(61,5),(62,3),(64,3),(65,99999),(66,66),(69,113),(70,99999),(71,130),(74,2),(77,133),(89,99999)],[(24,4)],[(26,5),(27,4)],[(7,2),(9,4),(13,5),(33,4),(34,4),(35,10),(36,5),(37,5),(38,99999),(39,5),(40,5),(41,5),(42,5),(43,5),(44,5),(45,5),(46,5),(47,5),(48,5),(49,5),(50,5),(51,5),(52,5),(53,5),(54,5),(55,5),(56,5),(57,5),(58,5),(59,5),(60,99999),(61,5),(62,3),(64,3),(65,99999),(66,66),(69,113),(70,99999),(71,130),(74,2),(77,133),(89,99999)],[(7,2),(33,4),(34,4),(35,10),(36,5),(37,5),(38,99999),(39,5),(40,5),(41,5),(42,5),(43,5),(44,5),(45,5),(46,5),(47,5),(48,5),(49,5),(52,5),(53,5),(54,5),(57,5),(58,5),(59,5),(69,113),(70,99999),(71,130),(74,2),(77,133),(89,99999)],[(7,11),(9,12),(33,12),(34,12),(36,10),(37,10),(38,99999),(39,10),(40,10),(41,10),(42,10),(43,10),(44,10),(45,10),(46,10),(47,10),(48,10),(49,10),(50,10),(51,10),(52,10),(53,10),(54,10),(55,10),(56,10),(57,10),(58,10),(59,10),(60,99999),(61,10),(62,33),(64,33),(65,99999),(66,34),(69,35),(70,99999),(71,63),(74,11),(77,65),(89,99999)],[(89,99999)],[(7,11),(8,12),(9,12),(10,12),(12,12),(13,10),(14,10),(15,10),(16,10),(17,10),(18,10),(19,10),(20,13),(21,13),(22,13),(23,13),(25,14),(28,15),(29,99999),(30,16),(31,12),(32,12),(33,12),(34,12),(36,10),(37,10),(38,99999),(39,10),(40,10),(41,10),(42,10),(43,10),(44,10),(45,10),(46,10),(47,10),(48,10),(49,10),(50,10),(51,10),(52,10),(53,10),(54,10),(55,10),(56,10),(57,10),(58,10),(59,10),(60,99999),(61,10),(62,33),(64,33),(65,99999),(66,34),(68,17),(69,35),(70,99999),(71,63),(74,11),(75,28),(77,65),(78,99999),(79,29),(89,99999)],[(24,12)],[(26,10),(27,12)],[(7,11),(9,12),(13,10),(33,12),(34,12),(36,10),(37,10),(38,99999),(39,10),(40,10),(41,10),(42,10),(43,10),(44,10),(45,10),(46,10),(47,10),(48,10),(49,10),(50,10),(51,10),(52,10),(53,10),(54,10),(55,10),(56,10),(57,10),(58,10),(59,10),(60,99999),(61,10),(62,33),(64,33),(65,99999),(66,34),(69,35),(70,99999),(71,63),(74,11),(77,65),(89,99999)],[(7,11),(33,12),(34,12),(36,10),(37,10),(38,99999),(39,10),(40,10),(41,10),(42,10),(43,10),(44,10),(45,10),(46,10),(47,10),(48,10),(49,10),(52,10),(53,10),(54,10),(57,10),(58,10),(59,10),(69,35),(70,99999),(71,63),(74,11),(77,65),(89,99999)],[(7,74),(8,17),(9,17),(10,17),(12,17),(13,18),(14,18),(15,18),(16,18),(17,18),(18,18),(19,18),(20,19),(21,19),(22,19),(23,19),(25,20),(28,21),(29,99999),(30,22),(31,17),(32,17),(33,17),(34,17),(36,18),(37,18),(38,99999),(39,18),(40,18),(41,18),(42,18),(43,18),(44,18),(45,18),(46,18),(47,18),(48,18),(49,18),(50,18),(51,18),(52,18),(53,18),(54,18),(55,18),(56,18),(57,18),(58,18),(59,18),(60,99999),(61,18),(62,75),(64,75),(65,99999),(66,76),(69,43),(70,99999),(71,83),(74,74),(75,23),(77,85),(78,99999),(79,24),(89,99999)],[(7,74),(9,17),(33,17),(34,17),(36,18),(37,18),(38,99999),(39,18),(40,18),(41,18),(42,18),(43,18),(44,18),(45,18),(46,18),(47,18),(48,18),(49,18),(50,18),(51,18),(52,18),(53,18),(54,18),(55,18),(56,18),(57,18),(58,18),(59,18),(60,99999),(61,18),(62,75),(64,75),(65,99999),(66,76),(69,43),(70,99999),(71,83),(74,74),(77,85),(89,99999)],[(24,17)],[(26,18),(27,17)],[(7,74),(9,17),(13,18),(33,17),(34,17),(36,18),(37,18),(38,99999),(39,18),(40,18),(41,18),(42,18),(43,18),(44,18),(45,18),(46,18),(47,18),(48,18),(49,18),(50,18),(51,18),(52,18),(53,18),(54,18),(55,18),(56,18),(57,18),(58,18),(59,18),(60,99999),(61,18),(62,75),(64,75),(65,99999),(66,76),(69,43),(70,99999),(71,83),(74,74),(77,85),(89,99999)],[(7,74),(33,17),(34,17),(36,18),(37,18),(38,99999),(39,18),(40,18),(41,18),(42,18),(43,18),(44,18),(45,18),(46,18),(47,18),(48,18),(49,18),(52,18),(53,18),(54,18),(57,18),(58,18),(59,18),(69,43),(70,99999),(71,83),(74,74),(77,85),(89,99999)],[(7,74),(8,17),(9,17),(10,17),(12,17),(13,18),(14,18),(15,18),(16,18),(17,18),(18,18),(19,18),(20,19),(21,19),(22,19),(23,19),(25,20),(28,21),(29,99999),(30,22),(31,17),(32,17),(33,17),(34,17),(36,18),(37,18),(38,99999),(39,18),(40,18),(41,18),(42,18),(43,18),(44,18),(45,18),(46,18),(47,18),(48,18),(49,18),(50,18),(51,18),(52,18),(53,18),(54,18),(55,18),(56,18),(57,18),(58,18),(59,18),(60,99999),(61,18),(62,75),(64,75),(65,99999),(66,76),(69,43),(70,99999),(71,83),(74,74),(75,23),(76,18),(77,85),(78,99999),(79,24),(89,99999)],[(80,18),(81,25),(82,25),(83,25),(84,26),(85,99999),(86,27)],[(86,27)],[(85,99999)],[(87,17),(88,17)],[(7,11),(8,12),(9,12),(10,12),(12,12),(13,10),(14,10),(15,10),(16,10),(17,10),(18,10),(19,10),(20,13),(21,13),(22,13),(23,13),(25,14),(28,15),(29,99999),(30,16),(31,12),(32,12),(33,12),(34,12),(36,10),(37,10),(38,99999),(39,10),(40,10),(41,10),(42,10),(43,10),(44,10),(45,10),(46,10),(47,10),(48,10),(49,10),(50,10),(51,10),(52,10),(53,10),(54,10),(55,10),(56,10),(57,10),(58,10),(59,10),(60,99999),(61,10),(62,33),(64,33),(65,99999),(66,34),(68,17),(69,35),(70,99999),(71,63),(74,11),(75,28),(76,10),(77,65),(78,99999),(79,29),(89,99999)],[(80,10),(81,30),(82,30),(83,30),(84,31),(85,99999),(86,32)],[(86,32)],[(85,99999)],[(87,12),(88,12)],[(7,11),(8,12),(9,12),(10,12),(12,12),(13,10),(14,10),(15,10),(16,10),(17,10),(18,10),(19,10),(20,13),(21,13),(22,13),(23,13),(25,14),(28,15),(29,99999),(30,16),(31,12),(32,12),(33,12),(34,12),(36,10),(37,10),(38,99999),(39,10),(40,10),(41,10),(42,10),(43,10),(44,10),(45,10),(46,10),(47,10),(48,10),(49,10),(50,10),(51,10),(52,10),(53,10),(54,10),(55,10),(56,10),(57,10),(58,10),(59,10),(60,99999),(61,10),(62,33),(63,99999),(64,33),(65,99999),(66,34),(68,17),(69,35),(70,99999),(71,63),(74,11),(75,28),(77,65),(78,99999),(79,29),(89,99999)],[(7,11),(8,12),(10,12),(12,12),(13,10),(14,10),(15,10),(16,10),(17,10),(18,10),(19,10),(20,13),(21,13),(22,13),(23,13),(25,14),(28,15),(29,99999),(30,16),(31,12),(32,12),(33,12),(34,12),(67,99999),(68,17),(75,28),(78,99999),(79,29)],[(7,36),(9,37),(33,37),(34,37),(36,35),(37,35),(38,99999),(39,35),(40,35),(41,35),(42,35),(43,35),(44,35),(45,35),(46,35),(47,35),(48,35),(49,35),(50,35),(51,35),(52,35),(53,35),(54,35),(55,35),(56,35),(57,35),(58,35),(59,35),(60,99999),(61,35),(62,58),(64,58),(65,99999),(66,59),(70,99999),(71,60),(74,36),(77,62),(89,99999)],[(89,99999)],[(7,36),(8,37),(9,37),(10,37),(12,37),(13,35),(14,35),(15,35),(16,35),(17,35),(18,35),(19,35),(20,38),(21,38),(22,38),(23,38),(25,39),(28,40),(29,99999),(30,41),(31,37),(32,37),(33,37),(34,37),(36,35),(37,35),(38,99999),(39,35),(40,35),(41,35),(42,35),(43,35),(44,35),(45,35),(46,35),(47,35),(48,35),(49,35),(50,35),(51,35),(52,35),(53,35),(54,35),(55,35),(56,35),(57,35),(58,35),(59,35),(60,99999),(61,35),(62,58),(64,58),(65,99999),(66,59),(68,42),(70,99999),(71,60),(74,36),(75,53),(77,62),(78,99999),(79,54),(89,99999)],[(24,37)],[(26,35),(27,37)],[(7,36),(9,37),(13,35),(33,37),(34,37),(36,35),(37,35),(38,99999),(39,35),(40,35),(41,35),(42,35),(43,35),(44,35),(45,35),(46,35),(47,35),(48,35),(49,35),(50,35),(51,35),(52,35),(53,35),(54,35),(55,35),(56,35),(57,35),(58,35),(59,35),(60,99999),(61,35),(62,58),(64,58),(65,99999),(66,59),(70,99999),(71,60),(74,36),(77,62),(89,99999)],[(7,36),(33,37),(34,37),(36,35),(37,35),(38,99999),(39,35),(40,35),(41,35),(42,35),(43,35),(44,35),(45,35),(46,35),(47,35),(48,35),(49,35),(52,35),(53,35),(54,35),(57,35),(58,35),(59,35),(70,99999),(71,60),(74,36),(77,62),(89,99999)],[(7,77),(8,42),(9,42),(10,42),(12,42),(13,43),(14,43),(15,43),(16,43),(17,43),(18,43),(19,43),(20,44),(21,44),(22,44),(23,44),(25,45),(28,46),(29,99999),(30,47),(31,42),(32,42),(33,42),(34,42),(36,43),(37,43),(38,99999),(39,43),(40,43),(41,43),(42,43),(43,43),(44,43),(45,43),(46,43),(47,43),(48,43),(49,43),(50,43),(51,43),(52,43),(53,43),(54,43),(55,43),(56,43),(57,43),(58,43),(59,43),(60,99999),(61,43),(62,78),(64,78),(65,99999),(66,79),(70,99999),(71,80),(74,77),(75,48),(77,82),(78,99999),(79,49),(89,99999)],[(7,77),(9,42),(33,42),(34,42),(36,43),(37,43),(38,99999),(39,43),(40,43),(41,43),(42,43),(43,43),(44,43),(45,43),(46,43),(47,43),(48,43),(49,43),(50,43),(51,43),(52,43),(53,43),(54,43),(55,43),(56,43),(57,43),(58,43),(59,43),(60,99999),(61,43),(62,78),(64,78),(65,99999),(66,79),(70,99999),(71,80),(74,77),(77,82),(89,99999)],[(24,42)],[(26,43),(27,42)],[(7,77),(9,42),(13,43),(33,42),(34,42),(36,43),(37,43),(38,99999),(39,43),(40,43),(41,43),(42,43),(43,43),(44,43),(45,43),(46,43),(47,43),(48,43),(49,43),(50,43),(51,43),(52,43),(53,43),(54,43),(55,43),(56,43),(57,43),(58,43),(59,43),(60,99999),(61,43),(62,78),(64,78),(65,99999),(66,79),(70,99999),(71,80),(74,77),(77,82),(89,99999)],[(7,77),(33,42),(34,42),(36,43),(37,43),(38,99999),(39,43),(40,43),(41,43),(42,43),(43,43),(44,43),(45,43),(46,43),(47,43),(48,43),(49,43),(52,43),(53,43),(54,43),(57,43),(58,43),(59,43),(70,99999),(71,80),(74,77),(77,82),(89,99999)],[(7,77),(8,42),(9,42),(10,42),(12,42),(13,43),(14,43),(15,43),(16,43),(17,43),(18,43),(19,43),(20,44),(21,44),(22,44),(23,44),(25,45),(28,46),(29,99999),(30,47),(31,42),(32,42),(33,42),(34,42),(36,43),(37,43),(38,99999),(39,43),(40,43),(41,43),(42,43),(43,43),(44,43),(45,43),(46,43),(47,43),(48,43),(49,43),(50,43),(51,43),(52,43),(53,43),(54,43),(55,43),(56,43),(57,43),(58,43),(59,43),(60,99999),(61,43),(62,78),(64,78),(65,99999),(66,79),(70,99999),(71,80),(74,77),(75,48),(76,43),(77,82),(78,99999),(79,49),(89,99999)],[(80,43),(81,50),(82,50),(83,50),(84,51),(85,99999),(86,52)],[(86,52)],[(85,99999)],[(87,42),(88,42)],[(7,36),(8,37),(9,37),(10,37),(12,37),(13,35),(14,35),(15,35),(16,35),(17,35),(18,35),(19,35),(20,38),(21,38),(22,38),(23,38),(25,39),(28,40),(29,99999),(30,41),(31,37),(32,37),(33,37),(34,37),(36,35),(37,35),(38,99999),(39,35),(40,35),(41,35),(42,35),(43,35),(44,35),(45,35),(46,35),(47,35),(48,35),(49,35),(50,35),(51,35),(52,35),(53,35),(54,35),(55,35),(56,35),(57,35),(58,35),(59,35),(60,99999),(61,35),(62,58),(64,58),(65,99999),(66,59),(68,42),(70,99999),(71,60),(74,36),(75,53),(76,35),(77,62),(78,99999),(79,54),(89,99999)],[(80,35),(81,55),(82,55),(83,55),(84,56),(85,99999),(86,57)],[(86,57)],[(85,99999)],[(87,37),(88,37)],[(7,36),(8,37),(9,37),(10,37),(12,37),(13,35),(14,35),(15,35),(16,35),(17,35),(18,35),(19,35),(20,38),(21,38),(22,38),(23,38),(25,39),(28,40),(29,99999),(30,41),(31,37),(32,37),(33,37),(34,37),(36,35),(37,35),(38,99999),(39,35),(40,35),(41,35),(42,35),(43,35),(44,35),(45,35),(46,35),(47,35),(48,35),(49,35),(50,35),(51,35),(52,35),(53,35),(54,35),(55,35),(56,35),(57,35),(58,35),(59,35),(60,99999),(61,35),(62,58),(63,99999),(64,58),(65,99999),(66,59),(68,42),(70,99999),(71,60),(74,36),(75,53),(77,62),(78,99999),(79,54),(89,99999)],[(7,36),(8,37),(10,37),(12,37),(13,35),(14,35),(15,35),(16,35),(17,35),(18,35),(19,35),(20,38),(21,38),(22,38),(23,38),(25,39),(28,40),(29,99999),(30,41),(31,37),(32,37),(33,37),(34,37),(67,99999),(68,42),(75,53),(78,99999),(79,54)],[(72,61),(73,36)],[(73,36)],[(7,36),(8,37),(10,37),(12,37),(13,35),(14,35),(15,35),(16,35),(17,35),(18,35),(19,35),(20,38),(21,38),(22,38),(23,38),(25,39),(28,40),(29,99999),(30,41),(31,37),(32,37),(33,37),(34,37),(36,35),(37,35),(38,99999),(39,35),(40,35),(41,35),(42,35),(43,35),(44,35),(45,35),(46,35),(47,35),(48,35),(49,35),(50,35),(51,35),(52,35),(53,35),(54,35),(55,35),(56,35),(57,35),(58,35),(59,35),(60,99999),(61,35),(62,58),(64,58),(65,99999),(66,59),(79,54),(89,99999)],[(72,64),(73,11)],[(73,11)],[(7,11),(8,12),(10,12),(12,12),(13,10),(14,10),(15,10),(16,10),(17,10),(18,10),(19,10),(20,13),(21,13),(22,13),(23,13),(25,14),(28,15),(29,99999),(30,16),(31,12),(32,12),(33,12),(34,12),(36,10),(37,10),(38,99999),(39,10),(40,10),(41,10),(42,10),(43,10),(44,10),(45,10),(46,10),(47,10),(48,10),(49,10),(50,10),(51,10),(52,10),(53,10),(54,10),(55,10),(56,10),(57,10),(58,10),(59,10),(60,99999),(61,10),(62,33),(64,33),(65,99999),(66,34),(79,29),(89,99999)],[(7,2),(8,4),(10,4),(12,4),(13,5),(14,5),(15,5),(16,5),(17,5),(18,5),(19,5),(20,6),(21,6),(22,6),(23,6),(25,7),(28,8),(29,99999),(30,9),(31,4),(32,4),(33,4),(34,4),(67,99999),(68,67),(75,132),(78,99999),(79,134)],[(7,68),(8,67),(9,67),(10,67),(12,67),(13,69),(14,69),(15,69),(16,69),(17,69),(18,69),(19,69),(20,70),(21,70),(22,70),(23,70),(25,71),(28,72),(29,99999),(30,73),(31,67),(32,67),(33,67),(34,67),(35,18),(36,69),(37,69),(38,99999),(39,69),(40,69),(41,69),(42,69),(43,69),(44,69),(45,69),(46,69),(47,69),(48,69),(49,69),(50,69),(51,69),(52,69),(53,69),(54,69),(55,69),(56,69),(57,69),(58,69),(59,69),(60,99999),(61,69),(62,86),(64,86),(65,99999),(66,87),(69,88),(70,99999),(71,105),(74,68),(75,107),(77,108),(78,99999),(79,109),(89,99999)],[(89,99999)],[(7,68),(9,67),(33,67),(34,67),(35,18),(36,69),(37,69),(38,99999),(39,69),(40,69),(41,69),(42,69),(43,69),(44,69),(45,69),(46,69),(47,69),(48,69),(49,69),(50,69),(51,69),(52,69),(53,69),(54,69),(55,69),(56,69),(57,69),(58,69),(59,69),(60,99999),(61,69),(62,86),(64,86),(65,99999),(66,87),(69,88),(70,99999),(71,105),(74,68),(77,108),(89,99999)],[(24,67)],[(26,69),(27,67)],[(7,68),(9,67),(13,69),(33,67),(34,67),(35,18),(36,69),(37,69),(38,99999),(39,69),(40,69),(41,69),(42,69),(43,69),(44,69),(45,69),(46,69),(47,69),(48,69),(49,69),(50,69),(51,69),(52,69),(53,69),(54,69),(55,69),(56,69),(57,69),(58,69),(59,69),(60,99999),(61,69),(62,86),(64,86),(65,99999),(66,87),(69,88),(70,99999),(71,105),(74,68),(77,108),(89,99999)],[(7,68),(33,67),(34,67),(35,18),(36,69),(37,69),(38,99999),(39,69),(40,69),(41,69),(42,69),(43,69),(44,69),(45,69),(46,69),(47,69),(48,69),(49,69),(52,69),(53,69),(54,69),(57,69),(58,69),(59,69),(69,88),(70,99999),(71,105),(74,68),(77,108),(89,99999)],[(89,99999)],[(7,74),(8,17),(9,17),(10,17),(12,17),(13,18),(14,18),(15,18),(16,18),(17,18),(18,18),(19,18),(20,19),(21,19),(22,19),(23,19),(25,20),(28,21),(29,99999),(30,22),(31,17),(32,17),(33,17),(34,17),(36,18),(37,18),(38,99999),(39,18),(40,18),(41,18),(42,18),(43,18),(44,18),(45,18),(46,18),(47,18),(48,18),(49,18),(50,18),(51,18),(52,18),(53,18),(54,18),(55,18),(56,18),(57,18),(58,18),(59,18),(60,99999),(61,18),(62,75),(63,99999),(64,75),(65,99999),(66,76),(69,43),(70,99999),(71,83),(74,74),(75,23),(77,85),(78,99999),(79,24),(89,99999)],[(7,74),(8,17),(10,17),(12,17),(13,18),(14,18),(15,18),(16,18),(17,18),(18,18),(19,18),(20,19),(21,19),(22,19),(23,19),(25,20),(28,21),(29,99999),(30,22),(31,17),(32,17),(33,17),(34,17),(67,99999),(75,23),(78,99999),(79,24)],[(89,99999)],[(7,77),(8,42),(9,42),(10,42),(12,42),(13,43),(14,43),(15,43),(16,43),(17,43),(18,43),(19,43),(20,44),(21,44),(22,44),(23,44),(25,45),(28,46),(29,99999),(30,47),(31,42),(32,42),(33,42),(34,42),(36,43),(37,43),(38,99999),(39,43),(40,43),(41,43),(42,43),(43,43),(44,43),(45,43),(46,43),(47,43),(48,43),(49,43),(50,43),(51,43),(52,43),(53,43),(54,43),(55,43),(56,43),(57,43),(58,43),(59,43),(60,99999),(61,43),(62,78),(63,99999),(64,78),(65,99999),(66,79),(70,99999),(71,80),(74,77),(75,48),(77,82),(78,99999),(79,49),(89,99999)],[(7,77),(8,42),(10,42),(12,42),(13,43),(14,43),(15,43),(16,43),(17,43),(18,43),(19,43),(20,44),(21,44),(22,44),(23,44),(25,45),(28,46),(29,99999),(30,47),(31,42),(32,42),(33,42),(34,42),(67,99999),(75,48),(78,99999),(79,49)],[(72,81),(73,77)],[(73,77)],[(7,77),(8,42),(10,42),(12,42),(13,43),(14,43),(15,43),(16,43),(17,43),(18,43),(19,43),(20,44),(21,44),(22,44),(23,44),(25,45),(28,46),(29,99999),(30,47),(31,42),(32,42),(33,42),(34,42),(36,43),(37,43),(38,99999),(39,43),(40,43),(41,43),(42,43),(43,43),(44,43),(45,43),(46,43),(47,43),(48,43),(49,43),(50,43),(51,43),(52,43),(53,43),(54,43),(55,43),(56,43),(57,43),(58,43),(59,43),(60,99999),(61,43),(62,78),(64,78),(65,99999),(66,79),(79,49),(89,99999)],[(72,84),(73,74)],[(73,74)],[(7,74),(8,17),(10,17),(12,17),(13,18),(14,18),(15,18),(16,18),(17,18),(18,18),(19,18),(20,19),(21,19),(22,19),(23,19),(25,20),(28,21),(29,99999),(30,22),(31,17),(32,17),(33,17),(34,17),(36,18),(37,18),(38,99999),(39,18),(40,18),(41,18),(42,18),(43,18),(44,18),(45,18),(46,18),(47,18),(48,18),(49,18),(50,18),(51,18),(52,18),(53,18),(54,18),(55,18),(56,18),(57,18),(58,18),(59,18),(60,99999),(61,18),(62,75),(64,75),(65,99999),(66,76),(79,24),(89,99999)],[(7,68),(8,67),(9,67),(10,67),(12,67),(13,69),(14,69),(15,69),(16,69),(17,69),(18,69),(19,69),(20,70),(21,70),(22,70),(23,70),(25,71),(28,72),(29,99999),(30,73),(31,67),(32,67),(33,67),(34,67),(35,18),(36,69),(37,69),(38,99999),(39,69),(40,69),(41,69),(42,69),(43,69),(44,69),(45,69),(46,69),(47,69),(48,69),(49,69),(50,69),(51,69),(52,69),(53,69),(54,69),(55,69),(56,69),(57,69),(58,69),(59,69),(60,99999),(61,69),(62,86),(63,99999),(64,86),(65,99999),(66,87),(69,88),(70,99999),(71,105),(74,68),(75,107),(77,108),(78,99999),(79,109),(89,99999)],[(7,68),(8,67),(10,67),(12,67),(13,69),(14,69),(15,69),(16,69),(17,69),(18,69),(19,69),(20,70),(21,70),(22,70),(23,70),(25,71),(28,72),(29,99999),(30,73),(31,67),(32,67),(33,67),(34,67),(67,99999),(75,107),(78,99999),(79,109)],[(7,89),(9,90),(33,90),(34,90),(35,43),(36,88),(37,88),(38,99999),(39,88),(40,88),(41,88),(42,88),(43,88),(44,88),(45,88),(46,88),(47,88),(48,88),(49,88),(50,88),(51,88),(52,88),(53,88),(54,88),(55,88),(56,88),(57,88),(58,88),(59,88),(60,99999),(61,88),(62,100),(64,100),(65,99999),(66,101),(70,99999),(71,102),(74,89),(77,104),(89,99999)],[(89,99999)],[(7,89),(8,90),(9,90),(10,90),(12,90),(13,88),(14,88),(15,88),(16,88),(17,88),(18,88),(19,88),(20,91),(21,91),(22,91),(23,91),(25,92),(28,93),(29,99999),(30,94),(31,90),(32,90),(33,90),(34,90),(35,43),(36,88),(37,88),(38,99999),(39,88),(40,88),(41,88),(42,88),(43,88),(44,88),(45,88),(46,88),(47,88),(48,88),(49,88),(50,88),(51,88),(52,88),(53,88),(54,88),(55,88),(56,88),(57,88),(58,88),(59,88),(60,99999),(61,88),(62,100),(64,100),(65,99999),(66,101),(70,99999),(71,102),(74,89),(75,95),(77,104),(78,99999),(79,96),(89,99999)],[(24,90)],[(26,88),(27,90)],[(7,89),(9,90),(13,88),(33,90),(34,90),(35,43),(36,88),(37,88),(38,99999),(39,88),(40,88),(41,88),(42,88),(43,88),(44,88),(45,88),(46,88),(47,88),(48,88),(49,88),(50,88),(51,88),(52,88),(53,88),(54,88),(55,88),(56,88),(57,88),(58,88),(59,88),(60,99999),(61,88),(62,100),(64,100),(65,99999),(66,101),(70,99999),(71,102),(74,89),(77,104),(89,99999)],[(7,89),(33,90),(34,90),(35,43),(36,88),(37,88),(38,99999),(39,88),(40,88),(41,88),(42,88),(43,88),(44,88),(45,88),(46,88),(47,88),(48,88),(49,88),(52,88),(53,88),(54,88),(57,88),(58,88),(59,88),(70,99999),(71,102),(74,89),(77,104),(89,99999)],[(7,89),(8,90),(9,90),(10,90),(12,90),(13,88),(14,88),(15,88),(16,88),(17,88),(18,88),(19,88),(20,91),(21,91),(22,91),(23,91),(25,92),(28,93),(29,99999),(30,94),(31,90),(32,90),(33,90),(34,90),(35,43),(36,88),(37,88),(38,99999),(39,88),(40,88),(41,88),(42,88),(43,88),(44,88),(45,88),(46,88),(47,88),(48,88),(49,88),(50,88),(51,88),(52,88),(53,88),(54,88),(55,88),(56,88),(57,88),(58,88),(59,88),(60,99999),(61,88),(62,100),(64,100),(65,99999),(66,101),(70,99999),(71,102),(74,89),(75,95),(76,88),(77,104),(78,99999),(79,96),(89,99999)],[(80,88),(81,97),(82,97),(83,97),(84,98),(85,99999),(86,99)],[(86,99)],[(85,99999)],[(87,90),(88,90)],[(7,89),(8,90),(9,90),(10,90),(12,90),(13,88),(14,88),(15,88),(16,88),(17,88),(18,88),(19,88),(20,91),(21,91),(22,91),(23,91),(25,92),(28,93),(29,99999),(30,94),(31,90),(32,90),(33,90),(34,90),(35,43),(36,88),(37,88),(38,99999),(39,88),(40,88),(41,88),(42,88),(43,88),(44,88),(45,88),(46,88),(47,88),(48,88),(49,88),(50,88),(51,88),(52,88),(53,88),(54,88),(55,88),(56,88),(57,88),(58,88),(59,88),(60,99999),(61,88),(62,100),(63,99999),(64,100),(65,99999),(66,101),(70,99999),(71,102),(74,89),(75,95),(77,104),(78,99999),(79,96),(89,99999)],[(7,89),(8,90),(10,90),(12,90),(13,88),(14,88),(15,88),(16,88),(17,88),(18,88),(19,88),(20,91),(21,91),(22,91),(23,91),(25,92),(28,93),(29,99999),(30,94),(31,90),(32,90),(33,90),(34,90),(67,99999),(75,95),(78,99999),(79,96)],[(72,103),(73,89)],[(73,89)],[(7,89),(8,90),(10,90),(12,90),(13,88),(14,88),(15,88),(16,88),(17,88),(18,88),(19,88),(20,91),(21,91),(22,91),(23,91),(25,92),(28,93),(29,99999),(30,94),(31,90),(32,90),(33,90),(34,90),(36,88),(37,88),(38,99999),(39,88),(40,88),(41,88),(42,88),(43,88),(44,88),(45,88),(46,88),(47,88),(48,88),(49,88),(50,88),(51,88),(52,88),(53,88),(54,88),(55,88),(56,88),(57,88),(58,88),(59,88),(60,99999),(61,88),(62,100),(64,100),(65,99999),(66,101),(79,96),(89,99999)],[(72,106),(73,68)],[(73,68)],[(7,68),(8,67),(9,67),(10,67),(12,67),(13,69),(14,69),(15,69),(16,69),(17,69),(18,69),(19,69),(20,70),(21,70),(22,70),(23,70),(25,71),(28,72),(29,99999),(30,73),(31,67),(32,67),(33,67),(34,67),(35,18),(36,69),(37,69),(38,99999),(39,69),(40,69),(41,69),(42,69),(43,69),(44,69),(45,69),(46,69),(47,69),(48,69),(49,69),(50,69),(51,69),(52,69),(53,69),(54,69),(55,69),(56,69),(57,69),(58,69),(59,69),(60,99999),(61,69),(62,86),(64,86),(65,99999),(66,87),(69,88),(70,99999),(71,105),(74,68),(75,107),(76,69),(77,108),(78,99999),(79,109),(89,99999)],[(7,68),(8,67),(10,67),(12,67),(13,69),(14,69),(15,69),(16,69),(17,69),(18,69),(19,69),(20,70),(21,70),(22,70),(23,70),(25,71),(28,72),(29,99999),(30,73),(31,67),(32,67),(33,67),(34,67),(36,69),(37,69),(38,99999),(39,69),(40,69),(41,69),(42,69),(43,69),(44,69),(45,69),(46,69),(47,69),(48,69),(49,69),(50,69),(51,69),(52,69),(53,69),(54,69),(55,69),(56,69),(57,69),(58,69),(59,69),(60,99999),(61,69),(62,86),(64,86),(65,99999),(66,87),(79,109),(89,99999)],[(80,69),(81,110),(82,110),(83,110),(84,111),(85,99999),(86,112)],[(86,112)],[(85,99999)],[(87,67),(88,67)],[(7,114),(9,115),(33,115),(34,115),(35,35),(36,113),(37,113),(38,99999),(39,113),(40,113),(41,113),(42,113),(43,113),(44,113),(45,113),(46,113),(47,113),(48,113),(49,113),(50,113),(51,113),(52,113),(53,113),(54,113),(55,113),(56,113),(57,113),(58,113),(59,113),(60,99999),(61,113),(62,125),(64,125),(65,99999),(66,126),(70,99999),(71,127),(74,114),(77,129),(89,99999)],[(89,99999)],[(7,114),(8,115),(9,115),(10,115),(12,115),(13,113),(14,113),(15,113),(16,113),(17,113),(18,113),(19,113),(20,116),(21,116),(22,116),(23,116),(25,117),(28,118),(29,99999),(30,119),(31,115),(32,115),(33,115),(34,115),(35,35),(36,113),(37,113),(38,99999),(39,113),(40,113),(41,113),(42,113),(43,113),(44,113),(45,113),(46,113),(47,113),(48,113),(49,113),(50,113),(51,113),(52,113),(53,113),(54,113),(55,113),(56,113),(57,113),(58,113),(59,113),(60,99999),(61,113),(62,125),(64,125),(65,99999),(66,126),(68,90),(70,99999),(71,127),(74,114),(75,120),(77,129),(78,99999),(79,121),(89,99999)],[(24,115)],[(26,113),(27,115)],[(7,114),(9,115),(13,113),(33,115),(34,115),(35,35),(36,113),(37,113),(38,99999),(39,113),(40,113),(41,113),(42,113),(43,113),(44,113),(45,113),(46,113),(47,113),(48,113),(49,113),(50,113),(51,113),(52,113),(53,113),(54,113),(55,113),(56,113),(57,113),(58,113),(59,113),(60,99999),(61,113),(62,125),(64,125),(65,99999),(66,126),(70,99999),(71,127),(74,114),(77,129),(89,99999)],[(7,114),(33,115),(34,115),(35,35),(36,113),(37,113),(38,99999),(39,113),(40,113),(41,113),(42,113),(43,113),(44,113),(45,113),(46,113),(47,113),(48,113),(49,113),(52,113),(53,113),(54,113),(57,113),(58,113),(59,113),(70,99999),(71,127),(74,114),(77,129),(89,99999)],[(7,114),(8,115),(9,115),(10,115),(12,115),(13,113),(14,113),(15,113),(16,113),(17,113),(18,113),(19,113),(20,116),(21,116),(22,116),(23,116),(25,117),(28,118),(29,99999),(30,119),(31,115),(32,115),(33,115),(34,115),(35,35),(36,113),(37,113),(38,99999),(39,113),(40,113),(41,113),(42,113),(43,113),(44,113),(45,113),(46,113),(47,113),(48,113),(49,113),(50,113),(51,113),(52,113),(53,113),(54,113),(55,113),(56,113),(57,113),(58,113),(59,113),(60,99999),(61,113),(62,125),(64,125),(65,99999),(66,126),(68,90),(70,99999),(71,127),(74,114),(75,120),(76,113),(77,129),(78,99999),(79,121),(89,99999)],[(80,113),(81,122),(82,122),(83,122),(84,123),(85,99999),(86,124)],[(86,124)],[(85,99999)],[(87,115),(88,115)],[(7,114),(8,115),(9,115),(10,115),(12,115),(13,113),(14,113),(15,113),(16,113),(17,113),(18,113),(19,113),(20,116),(21,116),(22,116),(23,116),(25,117),(28,118),(29,99999),(30,119),(31,115),(32,115),(33,115),(34,115),(35,35),(36,113),(37,113),(38,99999),(39,113),(40,113),(41,113),(42,113),(43,113),(44,113),(45,113),(46,113),(47,113),(48,113),(49,113),(50,113),(51,113),(52,113),(53,113),(54,113),(55,113),(56,113),(57,113),(58,113),(59,113),(60,99999),(61,113),(62,125),(63,99999),(64,125),(65,99999),(66,126),(68,90),(70,99999),(71,127),(74,114),(75,120),(77,129),(78,99999),(79,121),(89,99999)],[(7,114),(8,115),(10,115),(12,115),(13,113),(14,113),(15,113),(16,113),(17,113),(18,113),(19,113),(20,116),(21,116),(22,116),(23,116),(25,117),(28,118),(29,99999),(30,119),(31,115),(32,115),(33,115),(34,115),(67,99999),(68,90),(75,120),(78,99999),(79,121)],[(72,128),(73,114)],[(73,114)],[(7,114),(8,115),(10,115),(12,115),(13,113),(14,113),(15,113),(16,113),(17,113),(18,113),(19,113),(20,116),(21,116),(22,116),(23,116),(25,117),(28,118),(29,99999),(30,119),(31,115),(32,115),(33,115),(34,115),(36,113),(37,113),(38,99999),(39,113),(40,113),(41,113),(42,113),(43,113),(44,113),(45,113),(46,113),(47,113),(48,113),(49,113),(50,113),(51,113),(52,113),(53,113),(54,113),(55,113),(56,113),(57,113),(58,113),(59,113),(60,99999),(61,113),(62,125),(64,125),(65,99999),(66,126),(79,121),(89,99999)],[(72,131),(73,2)],[(73,2)],[(7,2),(8,4),(9,4),(10,4),(12,4),(13,5),(14,5),(15,5),(16,5),(17,5),(18,5),(19,5),(20,6),(21,6),(22,6),(23,6),(25,7),(28,8),(29,99999),(30,9),(31,4),(32,4),(33,4),(34,4),(35,10),(36,5),(37,5),(38,99999),(39,5),(40,5),(41,5),(42,5),(43,5),(44,5),(45,5),(46,5),(47,5),(48,5),(49,5),(50,5),(51,5),(52,5),(53,5),(54,5),(55,5),(56,5),(57,5),(58,5),(59,5),(60,99999),(61,5),(62,3),(64,3),(65,99999),(66,66),(68,67),(69,113),(70,99999),(71,130),(74,2),(75,132),(76,5),(77,133),(78,99999),(79,134),(89,99999)],[(7,2),(8,4),(10,4),(12,4),(13,5),(14,5),(15,5),(16,5),(17,5),(18,5),(19,5),(20,6),(21,6),(22,6),(23,6),(25,7),(28,8),(29,99999),(30,9),(31,4),(32,4),(33,4),(34,4),(36,5),(37,5),(38,99999),(39,5),(40,5),(41,5),(42,5),(43,5),(44,5),(45,5),(46,5),(47,5),(48,5),(49,5),(50,5),(51,5),(52,5),(53,5),(54,5),(55,5),(56,5),(57,5),(58,5),(59,5),(60,99999),(61,5),(62,3),(64,3),(65,99999),(66,66),(79,134),(89,99999)],[(80,5),(81,135),(82,135),(83,135),(84,136),(85,99999),(86,137)],[(86,137)],[(85,99999)],[(87,4),(88,4)],[]]



-- Bytestring conversion functions
s2b_escape = U.fromString . stringToHtmlString
stringToHtmlString = concatMap fixChar
    where
      fixChar '<' = "&lt;"
      fixChar '>' = "&gt;"
      fixChar '&' = "&amp;"
      fixChar '"' = "&quot;"
      fixChar c   = [c]
html_escape c   = c
s2b = U.fromString
lt_byte = s2b "<"
gt_byte = s2b ">"
gts_byte = s2b " />"

-- | HTML document root type
data Ent = Html [Att0] [Ent0]
    deriving (Show)

data Att59 = Id_Att_59 B.ByteString  | Class_Att_59 B.ByteString  | Style_Att_59 B.ByteString  | Title_Att_59 B.ByteString  | Lang_Att_59 B.ByteString  | Dir_Att_59 B.ByteString  | Onclick_Att_59 B.ByteString  | Ondblclick_Att_59 B.ByteString  | Onmousedown_Att_59 B.ByteString  | Onmouseup_Att_59 B.ByteString  | Onmouseover_Att_59 B.ByteString  | Onmousemove_Att_59 B.ByteString  | Onmouseout_Att_59 B.ByteString  | Onkeypress_Att_59 B.ByteString  | Onkeydown_Att_59 B.ByteString  | Onkeyup_Att_59 B.ByteString  | Abbr_Att_59 B.ByteString  | Axis_Att_59 B.ByteString  | Headers_Att_59 B.ByteString  | Scope_Att_59 B.ByteString  | Rowspan_Att_59 B.ByteString  | Colspan_Att_59 B.ByteString  | Align_Att_59 B.ByteString  | Char_Att_59 B.ByteString  | Charoff_Att_59 B.ByteString  | Valign_Att_59 B.ByteString  | Nowrap_Att_59 B.ByteString  | Bgcolor_Att_59 B.ByteString  | Width_Att_59 B.ByteString  | Height_Att_59 B.ByteString 
   deriving (Show)
data Att58 = Id_Att_58 B.ByteString  | Class_Att_58 B.ByteString  | Style_Att_58 B.ByteString  | Title_Att_58 B.ByteString  | Lang_Att_58 B.ByteString  | Dir_Att_58 B.ByteString  | Onclick_Att_58 B.ByteString  | Ondblclick_Att_58 B.ByteString  | Onmousedown_Att_58 B.ByteString  | Onmouseup_Att_58 B.ByteString  | Onmouseover_Att_58 B.ByteString  | Onmousemove_Att_58 B.ByteString  | Onmouseout_Att_58 B.ByteString  | Onkeypress_Att_58 B.ByteString  | Onkeydown_Att_58 B.ByteString  | Onkeyup_Att_58 B.ByteString  | Align_Att_58 B.ByteString  | Char_Att_58 B.ByteString  | Charoff_Att_58 B.ByteString  | Valign_Att_58 B.ByteString  | Bgcolor_Att_58 B.ByteString 
   deriving (Show)
data Att57 = Id_Att_57 B.ByteString  | Class_Att_57 B.ByteString  | Style_Att_57 B.ByteString  | Title_Att_57 B.ByteString  | Lang_Att_57 B.ByteString  | Dir_Att_57 B.ByteString  | Onclick_Att_57 B.ByteString  | Ondblclick_Att_57 B.ByteString  | Onmousedown_Att_57 B.ByteString  | Onmouseup_Att_57 B.ByteString  | Onmouseover_Att_57 B.ByteString  | Onmousemove_Att_57 B.ByteString  | Onmouseout_Att_57 B.ByteString  | Onkeypress_Att_57 B.ByteString  | Onkeydown_Att_57 B.ByteString  | Onkeyup_Att_57 B.ByteString  | Span_Att_57 B.ByteString  | Width_Att_57 B.ByteString  | Align_Att_57 B.ByteString  | Char_Att_57 B.ByteString  | Charoff_Att_57 B.ByteString  | Valign_Att_57 B.ByteString 
   deriving (Show)
data Att56 = Id_Att_56 B.ByteString  | Class_Att_56 B.ByteString  | Style_Att_56 B.ByteString  | Title_Att_56 B.ByteString  | Lang_Att_56 B.ByteString  | Dir_Att_56 B.ByteString  | Onclick_Att_56 B.ByteString  | Ondblclick_Att_56 B.ByteString  | Onmousedown_Att_56 B.ByteString  | Onmouseup_Att_56 B.ByteString  | Onmouseover_Att_56 B.ByteString  | Onmousemove_Att_56 B.ByteString  | Onmouseout_Att_56 B.ByteString  | Onkeypress_Att_56 B.ByteString  | Onkeydown_Att_56 B.ByteString  | Onkeyup_Att_56 B.ByteString  | Align_Att_56 B.ByteString  | Char_Att_56 B.ByteString  | Charoff_Att_56 B.ByteString  | Valign_Att_56 B.ByteString 
   deriving (Show)
data Att55 = Id_Att_55 B.ByteString  | Class_Att_55 B.ByteString  | Style_Att_55 B.ByteString  | Title_Att_55 B.ByteString  | Lang_Att_55 B.ByteString  | Dir_Att_55 B.ByteString  | Onclick_Att_55 B.ByteString  | Ondblclick_Att_55 B.ByteString  | Onmousedown_Att_55 B.ByteString  | Onmouseup_Att_55 B.ByteString  | Onmouseover_Att_55 B.ByteString  | Onmousemove_Att_55 B.ByteString  | Onmouseout_Att_55 B.ByteString  | Onkeypress_Att_55 B.ByteString  | Onkeydown_Att_55 B.ByteString  | Onkeyup_Att_55 B.ByteString  | Summary_Att_55 B.ByteString  | Width_Att_55 B.ByteString  | Border_Att_55 B.ByteString  | Frame_Att_55 B.ByteString  | Rules_Att_55 B.ByteString  | Cellspacing_Att_55 B.ByteString  | Cellpadding_Att_55 B.ByteString  | Align_Att_55 B.ByteString  | Bgcolor_Att_55 B.ByteString 
   deriving (Show)
data Att54 = Id_Att_54 B.ByteString  | Class_Att_54 B.ByteString  | Style_Att_54 B.ByteString  | Title_Att_54 B.ByteString  | Lang_Att_54 B.ByteString  | Dir_Att_54 B.ByteString  | Prompt_Att_54 B.ByteString 
   deriving (Show)
data Att53 = Id_Att_53 B.ByteString  | Class_Att_53 B.ByteString  | Style_Att_53 B.ByteString  | Title_Att_53 B.ByteString  | Lang_Att_53 B.ByteString  | Dir_Att_53 B.ByteString  | Onclick_Att_53 B.ByteString  | Ondblclick_Att_53 B.ByteString  | Onmousedown_Att_53 B.ByteString  | Onmouseup_Att_53 B.ByteString  | Onmouseover_Att_53 B.ByteString  | Onmousemove_Att_53 B.ByteString  | Onmouseout_Att_53 B.ByteString  | Onkeypress_Att_53 B.ByteString  | Onkeydown_Att_53 B.ByteString  | Onkeyup_Att_53 B.ByteString  | Accesskey_Att_53 B.ByteString  | Tabindex_Att_53 B.ByteString  | Onfocus_Att_53 B.ByteString  | Onblur_Att_53 B.ByteString  | Name_Att_53 B.ByteString  | Value_Att_53 B.ByteString  | Type_Att_53 B.ByteString  | Disabled_Att_53 B.ByteString 
   deriving (Show)
data Att52 = Id_Att_52 B.ByteString  | Class_Att_52 B.ByteString  | Style_Att_52 B.ByteString  | Title_Att_52 B.ByteString  | Lang_Att_52 B.ByteString  | Dir_Att_52 B.ByteString  | Onclick_Att_52 B.ByteString  | Ondblclick_Att_52 B.ByteString  | Onmousedown_Att_52 B.ByteString  | Onmouseup_Att_52 B.ByteString  | Onmouseover_Att_52 B.ByteString  | Onmousemove_Att_52 B.ByteString  | Onmouseout_Att_52 B.ByteString  | Onkeypress_Att_52 B.ByteString  | Onkeydown_Att_52 B.ByteString  | Onkeyup_Att_52 B.ByteString  | Accesskey_Att_52 B.ByteString  | Align_Att_52 B.ByteString 
   deriving (Show)
data Att51 = Cols_Att_51 B.ByteString 
   deriving (Show)
data Att50 = Rows_Att_50 B.ByteString 
   deriving (Show)
data Att49 = Id_Att_49 B.ByteString  | Class_Att_49 B.ByteString  | Style_Att_49 B.ByteString  | Title_Att_49 B.ByteString  | Lang_Att_49 B.ByteString  | Dir_Att_49 B.ByteString  | Onclick_Att_49 B.ByteString  | Ondblclick_Att_49 B.ByteString  | Onmousedown_Att_49 B.ByteString  | Onmouseup_Att_49 B.ByteString  | Onmouseover_Att_49 B.ByteString  | Onmousemove_Att_49 B.ByteString  | Onmouseout_Att_49 B.ByteString  | Onkeypress_Att_49 B.ByteString  | Onkeydown_Att_49 B.ByteString  | Onkeyup_Att_49 B.ByteString  | Accesskey_Att_49 B.ByteString  | Tabindex_Att_49 B.ByteString  | Onfocus_Att_49 B.ByteString  | Onblur_Att_49 B.ByteString  | Name_Att_49 B.ByteString  | Rows_Att_49 B.ByteString  | Cols_Att_49 B.ByteString  | Disabled_Att_49 B.ByteString  | Readonly_Att_49 B.ByteString  | Onselect_Att_49 B.ByteString  | Onchange_Att_49 B.ByteString 
   deriving (Show)
data Att48 = Id_Att_48 B.ByteString  | Class_Att_48 B.ByteString  | Style_Att_48 B.ByteString  | Title_Att_48 B.ByteString  | Lang_Att_48 B.ByteString  | Dir_Att_48 B.ByteString  | Onclick_Att_48 B.ByteString  | Ondblclick_Att_48 B.ByteString  | Onmousedown_Att_48 B.ByteString  | Onmouseup_Att_48 B.ByteString  | Onmouseover_Att_48 B.ByteString  | Onmousemove_Att_48 B.ByteString  | Onmouseout_Att_48 B.ByteString  | Onkeypress_Att_48 B.ByteString  | Onkeydown_Att_48 B.ByteString  | Onkeyup_Att_48 B.ByteString  | Selected_Att_48 B.ByteString  | Disabled_Att_48 B.ByteString  | Label_Att_48 B.ByteString  | Value_Att_48 B.ByteString 
   deriving (Show)
data Att47 = Label_Att_47 B.ByteString 
   deriving (Show)
data Att46 = Id_Att_46 B.ByteString  | Class_Att_46 B.ByteString  | Style_Att_46 B.ByteString  | Title_Att_46 B.ByteString  | Lang_Att_46 B.ByteString  | Dir_Att_46 B.ByteString  | Onclick_Att_46 B.ByteString  | Ondblclick_Att_46 B.ByteString  | Onmousedown_Att_46 B.ByteString  | Onmouseup_Att_46 B.ByteString  | Onmouseover_Att_46 B.ByteString  | Onmousemove_Att_46 B.ByteString  | Onmouseout_Att_46 B.ByteString  | Onkeypress_Att_46 B.ByteString  | Onkeydown_Att_46 B.ByteString  | Onkeyup_Att_46 B.ByteString  | Disabled_Att_46 B.ByteString  | Label_Att_46 B.ByteString 
   deriving (Show)
data Att45 = Id_Att_45 B.ByteString  | Class_Att_45 B.ByteString  | Style_Att_45 B.ByteString  | Title_Att_45 B.ByteString  | Lang_Att_45 B.ByteString  | Dir_Att_45 B.ByteString  | Onclick_Att_45 B.ByteString  | Ondblclick_Att_45 B.ByteString  | Onmousedown_Att_45 B.ByteString  | Onmouseup_Att_45 B.ByteString  | Onmouseover_Att_45 B.ByteString  | Onmousemove_Att_45 B.ByteString  | Onmouseout_Att_45 B.ByteString  | Onkeypress_Att_45 B.ByteString  | Onkeydown_Att_45 B.ByteString  | Onkeyup_Att_45 B.ByteString  | Name_Att_45 B.ByteString  | Size_Att_45 B.ByteString  | Multiple_Att_45 B.ByteString  | Disabled_Att_45 B.ByteString  | Tabindex_Att_45 B.ByteString  | Onfocus_Att_45 B.ByteString  | Onblur_Att_45 B.ByteString  | Onchange_Att_45 B.ByteString 
   deriving (Show)
data Att44 = Id_Att_44 B.ByteString  | Class_Att_44 B.ByteString  | Style_Att_44 B.ByteString  | Title_Att_44 B.ByteString  | Lang_Att_44 B.ByteString  | Dir_Att_44 B.ByteString  | Onclick_Att_44 B.ByteString  | Ondblclick_Att_44 B.ByteString  | Onmousedown_Att_44 B.ByteString  | Onmouseup_Att_44 B.ByteString  | Onmouseover_Att_44 B.ByteString  | Onmousemove_Att_44 B.ByteString  | Onmouseout_Att_44 B.ByteString  | Onkeypress_Att_44 B.ByteString  | Onkeydown_Att_44 B.ByteString  | Onkeyup_Att_44 B.ByteString  | Accesskey_Att_44 B.ByteString  | Tabindex_Att_44 B.ByteString  | Onfocus_Att_44 B.ByteString  | Onblur_Att_44 B.ByteString  | Type_Att_44 B.ByteString  | Name_Att_44 B.ByteString  | Value_Att_44 B.ByteString  | Checked_Att_44 B.ByteString  | Disabled_Att_44 B.ByteString  | Readonly_Att_44 B.ByteString  | Size_Att_44 B.ByteString  | Maxlength_Att_44 B.ByteString  | Src_Att_44 B.ByteString  | Alt_Att_44 B.ByteString  | Usemap_Att_44 B.ByteString  | Onselect_Att_44 B.ByteString  | Onchange_Att_44 B.ByteString  | Accept_Att_44 B.ByteString  | Align_Att_44 B.ByteString 
   deriving (Show)
data Att43 = Id_Att_43 B.ByteString  | Class_Att_43 B.ByteString  | Style_Att_43 B.ByteString  | Title_Att_43 B.ByteString  | Lang_Att_43 B.ByteString  | Dir_Att_43 B.ByteString  | Onclick_Att_43 B.ByteString  | Ondblclick_Att_43 B.ByteString  | Onmousedown_Att_43 B.ByteString  | Onmouseup_Att_43 B.ByteString  | Onmouseover_Att_43 B.ByteString  | Onmousemove_Att_43 B.ByteString  | Onmouseout_Att_43 B.ByteString  | Onkeypress_Att_43 B.ByteString  | Onkeydown_Att_43 B.ByteString  | Onkeyup_Att_43 B.ByteString  | For_Att_43 B.ByteString  | Accesskey_Att_43 B.ByteString  | Onfocus_Att_43 B.ByteString  | Onblur_Att_43 B.ByteString 
   deriving (Show)
data Att42 = Action_Att_42 B.ByteString 
   deriving (Show)
data Att41 = Id_Att_41 B.ByteString  | Class_Att_41 B.ByteString  | Style_Att_41 B.ByteString  | Title_Att_41 B.ByteString  | Lang_Att_41 B.ByteString  | Dir_Att_41 B.ByteString  | Onclick_Att_41 B.ByteString  | Ondblclick_Att_41 B.ByteString  | Onmousedown_Att_41 B.ByteString  | Onmouseup_Att_41 B.ByteString  | Onmouseover_Att_41 B.ByteString  | Onmousemove_Att_41 B.ByteString  | Onmouseout_Att_41 B.ByteString  | Onkeypress_Att_41 B.ByteString  | Onkeydown_Att_41 B.ByteString  | Onkeyup_Att_41 B.ByteString  | Action_Att_41 B.ByteString  | Method_Att_41 B.ByteString  | Name_Att_41 B.ByteString  | Enctype_Att_41 B.ByteString  | Onsubmit_Att_41 B.ByteString  | Onreset_Att_41 B.ByteString  | Accept_Att_41 B.ByteString  | Accept_charset_Att_41 B.ByteString  | Target_Att_41 B.ByteString 
   deriving (Show)
data Att40 = Id_Att_40 B.ByteString  | Class_Att_40 B.ByteString  | Style_Att_40 B.ByteString  | Title_Att_40 B.ByteString  | Lang_Att_40 B.ByteString  | Dir_Att_40 B.ByteString  | Onclick_Att_40 B.ByteString  | Ondblclick_Att_40 B.ByteString  | Onmousedown_Att_40 B.ByteString  | Onmouseup_Att_40 B.ByteString  | Onmouseover_Att_40 B.ByteString  | Onmousemove_Att_40 B.ByteString  | Onmouseout_Att_40 B.ByteString  | Onkeypress_Att_40 B.ByteString  | Onkeydown_Att_40 B.ByteString  | Onkeyup_Att_40 B.ByteString  | Accesskey_Att_40 B.ByteString  | Tabindex_Att_40 B.ByteString  | Onfocus_Att_40 B.ByteString  | Onblur_Att_40 B.ByteString  | Shape_Att_40 B.ByteString  | Coords_Att_40 B.ByteString  | Href_Att_40 B.ByteString  | Nohref_Att_40 B.ByteString  | Alt_Att_40 B.ByteString  | Target_Att_40 B.ByteString 
   deriving (Show)
data Att39 = Id_Att_39 B.ByteString 
   deriving (Show)
data Att38 = Lang_Att_38 B.ByteString  | Dir_Att_38 B.ByteString  | Onclick_Att_38 B.ByteString  | Ondblclick_Att_38 B.ByteString  | Onmousedown_Att_38 B.ByteString  | Onmouseup_Att_38 B.ByteString  | Onmouseover_Att_38 B.ByteString  | Onmousemove_Att_38 B.ByteString  | Onmouseout_Att_38 B.ByteString  | Onkeypress_Att_38 B.ByteString  | Onkeydown_Att_38 B.ByteString  | Onkeyup_Att_38 B.ByteString  | Id_Att_38 B.ByteString  | Class_Att_38 B.ByteString  | Style_Att_38 B.ByteString  | Title_Att_38 B.ByteString  | Name_Att_38 B.ByteString 
   deriving (Show)
data Att37 = Alt_Att_37 B.ByteString 
   deriving (Show)
data Att36 = Src_Att_36 B.ByteString 
   deriving (Show)
data Att35 = Id_Att_35 B.ByteString  | Class_Att_35 B.ByteString  | Style_Att_35 B.ByteString  | Title_Att_35 B.ByteString  | Lang_Att_35 B.ByteString  | Dir_Att_35 B.ByteString  | Onclick_Att_35 B.ByteString  | Ondblclick_Att_35 B.ByteString  | Onmousedown_Att_35 B.ByteString  | Onmouseup_Att_35 B.ByteString  | Onmouseover_Att_35 B.ByteString  | Onmousemove_Att_35 B.ByteString  | Onmouseout_Att_35 B.ByteString  | Onkeypress_Att_35 B.ByteString  | Onkeydown_Att_35 B.ByteString  | Onkeyup_Att_35 B.ByteString  | Src_Att_35 B.ByteString  | Alt_Att_35 B.ByteString  | Name_Att_35 B.ByteString  | Longdesc_Att_35 B.ByteString  | Height_Att_35 B.ByteString  | Width_Att_35 B.ByteString  | Usemap_Att_35 B.ByteString  | Ismap_Att_35 B.ByteString  | Align_Att_35 B.ByteString  | Border_Att_35 B.ByteString  | Hspace_Att_35 B.ByteString  | Vspace_Att_35 B.ByteString 
   deriving (Show)
data Att34 = Height_Att_34 B.ByteString 
   deriving (Show)
data Att33 = Width_Att_33 B.ByteString 
   deriving (Show)
data Att32 = Id_Att_32 B.ByteString  | Class_Att_32 B.ByteString  | Style_Att_32 B.ByteString  | Title_Att_32 B.ByteString  | Codebase_Att_32 B.ByteString  | Archive_Att_32 B.ByteString  | Code_Att_32 B.ByteString  | Object_Att_32 B.ByteString  | Alt_Att_32 B.ByteString  | Name_Att_32 B.ByteString  | Width_Att_32 B.ByteString  | Height_Att_32 B.ByteString  | Align_Att_32 B.ByteString  | Hspace_Att_32 B.ByteString  | Vspace_Att_32 B.ByteString 
   deriving (Show)
data Att31 = Name_Att_31 B.ByteString 
   deriving (Show)
data Att30 = Id_Att_30 B.ByteString  | Name_Att_30 B.ByteString  | Value_Att_30 B.ByteString  | Valuetype_Att_30 B.ByteString  | Type_Att_30 B.ByteString 
   deriving (Show)
data Att29 = Id_Att_29 B.ByteString  | Class_Att_29 B.ByteString  | Style_Att_29 B.ByteString  | Title_Att_29 B.ByteString  | Lang_Att_29 B.ByteString  | Dir_Att_29 B.ByteString  | Onclick_Att_29 B.ByteString  | Ondblclick_Att_29 B.ByteString  | Onmousedown_Att_29 B.ByteString  | Onmouseup_Att_29 B.ByteString  | Onmouseover_Att_29 B.ByteString  | Onmousemove_Att_29 B.ByteString  | Onmouseout_Att_29 B.ByteString  | Onkeypress_Att_29 B.ByteString  | Onkeydown_Att_29 B.ByteString  | Onkeyup_Att_29 B.ByteString  | Declare_Att_29 B.ByteString  | Classid_Att_29 B.ByteString  | Codebase_Att_29 B.ByteString  | Data_Att_29 B.ByteString  | Type_Att_29 B.ByteString  | Codetype_Att_29 B.ByteString  | Archive_Att_29 B.ByteString  | Standby_Att_29 B.ByteString  | Height_Att_29 B.ByteString  | Width_Att_29 B.ByteString  | Usemap_Att_29 B.ByteString  | Name_Att_29 B.ByteString  | Tabindex_Att_29 B.ByteString  | Align_Att_29 B.ByteString  | Border_Att_29 B.ByteString  | Hspace_Att_29 B.ByteString  | Vspace_Att_29 B.ByteString 
   deriving (Show)
data Att28 = Id_Att_28 B.ByteString  | Class_Att_28 B.ByteString  | Style_Att_28 B.ByteString  | Title_Att_28 B.ByteString  | Lang_Att_28 B.ByteString  | Dir_Att_28 B.ByteString  | Size_Att_28 B.ByteString  | Color_Att_28 B.ByteString  | Face_Att_28 B.ByteString 
   deriving (Show)
data Att27 = Size_Att_27 B.ByteString 
   deriving (Show)
data Att26 = Id_Att_26 B.ByteString  | Size_Att_26 B.ByteString  | Color_Att_26 B.ByteString  | Face_Att_26 B.ByteString 
   deriving (Show)
data Att25 = Id_Att_25 B.ByteString  | Class_Att_25 B.ByteString  | Style_Att_25 B.ByteString  | Title_Att_25 B.ByteString  | Clear_Att_25 B.ByteString 
   deriving (Show)
data Att24 = Dir_Att_24 B.ByteString 
   deriving (Show)
data Att23 = Id_Att_23 B.ByteString  | Class_Att_23 B.ByteString  | Style_Att_23 B.ByteString  | Title_Att_23 B.ByteString  | Onclick_Att_23 B.ByteString  | Ondblclick_Att_23 B.ByteString  | Onmousedown_Att_23 B.ByteString  | Onmouseup_Att_23 B.ByteString  | Onmouseover_Att_23 B.ByteString  | Onmousemove_Att_23 B.ByteString  | Onmouseout_Att_23 B.ByteString  | Onkeypress_Att_23 B.ByteString  | Onkeydown_Att_23 B.ByteString  | Onkeyup_Att_23 B.ByteString  | Lang_Att_23 B.ByteString  | Dir_Att_23 B.ByteString 
   deriving (Show)
data Att22 = Id_Att_22 B.ByteString  | Class_Att_22 B.ByteString  | Style_Att_22 B.ByteString  | Title_Att_22 B.ByteString  | Lang_Att_22 B.ByteString  | Dir_Att_22 B.ByteString  | Onclick_Att_22 B.ByteString  | Ondblclick_Att_22 B.ByteString  | Onmousedown_Att_22 B.ByteString  | Onmouseup_Att_22 B.ByteString  | Onmouseover_Att_22 B.ByteString  | Onmousemove_Att_22 B.ByteString  | Onmouseout_Att_22 B.ByteString  | Onkeypress_Att_22 B.ByteString  | Onkeydown_Att_22 B.ByteString  | Onkeyup_Att_22 B.ByteString  | Accesskey_Att_22 B.ByteString  | Tabindex_Att_22 B.ByteString  | Onfocus_Att_22 B.ByteString  | Onblur_Att_22 B.ByteString  | Charset_Att_22 B.ByteString  | Type_Att_22 B.ByteString  | Name_Att_22 B.ByteString  | Href_Att_22 B.ByteString  | Hreflang_Att_22 B.ByteString  | Rel_Att_22 B.ByteString  | Rev_Att_22 B.ByteString  | Shape_Att_22 B.ByteString  | Coords_Att_22 B.ByteString  | Target_Att_22 B.ByteString 
   deriving (Show)
data Att21 = Id_Att_21 B.ByteString  | Class_Att_21 B.ByteString  | Style_Att_21 B.ByteString  | Title_Att_21 B.ByteString  | Lang_Att_21 B.ByteString  | Dir_Att_21 B.ByteString  | Onclick_Att_21 B.ByteString  | Ondblclick_Att_21 B.ByteString  | Onmousedown_Att_21 B.ByteString  | Onmouseup_Att_21 B.ByteString  | Onmouseover_Att_21 B.ByteString  | Onmousemove_Att_21 B.ByteString  | Onmouseout_Att_21 B.ByteString  | Onkeypress_Att_21 B.ByteString  | Onkeydown_Att_21 B.ByteString  | Onkeyup_Att_21 B.ByteString  | Cite_Att_21 B.ByteString  | Datetime_Att_21 B.ByteString 
   deriving (Show)
data Att20 = Id_Att_20 B.ByteString  | Class_Att_20 B.ByteString  | Style_Att_20 B.ByteString  | Title_Att_20 B.ByteString  | Lang_Att_20 B.ByteString  | Dir_Att_20 B.ByteString  | Onclick_Att_20 B.ByteString  | Ondblclick_Att_20 B.ByteString  | Onmousedown_Att_20 B.ByteString  | Onmouseup_Att_20 B.ByteString  | Onmouseover_Att_20 B.ByteString  | Onmousemove_Att_20 B.ByteString  | Onmouseout_Att_20 B.ByteString  | Onkeypress_Att_20 B.ByteString  | Onkeydown_Att_20 B.ByteString  | Onkeyup_Att_20 B.ByteString  | Cite_Att_20 B.ByteString 
   deriving (Show)
data Att19 = Id_Att_19 B.ByteString  | Class_Att_19 B.ByteString  | Style_Att_19 B.ByteString  | Title_Att_19 B.ByteString  | Lang_Att_19 B.ByteString  | Dir_Att_19 B.ByteString  | Onclick_Att_19 B.ByteString  | Ondblclick_Att_19 B.ByteString  | Onmousedown_Att_19 B.ByteString  | Onmouseup_Att_19 B.ByteString  | Onmouseover_Att_19 B.ByteString  | Onmousemove_Att_19 B.ByteString  | Onmouseout_Att_19 B.ByteString  | Onkeypress_Att_19 B.ByteString  | Onkeydown_Att_19 B.ByteString  | Onkeyup_Att_19 B.ByteString  | Width_Att_19 B.ByteString  | Space_Att_19 B.ByteString 
   deriving (Show)
data Att18 = Id_Att_18 B.ByteString  | Class_Att_18 B.ByteString  | Style_Att_18 B.ByteString  | Title_Att_18 B.ByteString  | Lang_Att_18 B.ByteString  | Dir_Att_18 B.ByteString  | Onclick_Att_18 B.ByteString  | Ondblclick_Att_18 B.ByteString  | Onmousedown_Att_18 B.ByteString  | Onmouseup_Att_18 B.ByteString  | Onmouseover_Att_18 B.ByteString  | Onmousemove_Att_18 B.ByteString  | Onmouseout_Att_18 B.ByteString  | Onkeypress_Att_18 B.ByteString  | Onkeydown_Att_18 B.ByteString  | Onkeyup_Att_18 B.ByteString  | Align_Att_18 B.ByteString  | Noshade_Att_18 B.ByteString  | Size_Att_18 B.ByteString  | Width_Att_18 B.ByteString 
   deriving (Show)
data Att17 = Id_Att_17 B.ByteString  | Class_Att_17 B.ByteString  | Style_Att_17 B.ByteString  | Title_Att_17 B.ByteString  | Lang_Att_17 B.ByteString  | Dir_Att_17 B.ByteString  | Onclick_Att_17 B.ByteString  | Ondblclick_Att_17 B.ByteString  | Onmousedown_Att_17 B.ByteString  | Onmouseup_Att_17 B.ByteString  | Onmouseover_Att_17 B.ByteString  | Onmousemove_Att_17 B.ByteString  | Onmouseout_Att_17 B.ByteString  | Onkeypress_Att_17 B.ByteString  | Onkeydown_Att_17 B.ByteString  | Onkeyup_Att_17 B.ByteString  | Type_Att_17 B.ByteString  | Value_Att_17 B.ByteString 
   deriving (Show)
data Att16 = Id_Att_16 B.ByteString  | Class_Att_16 B.ByteString  | Style_Att_16 B.ByteString  | Title_Att_16 B.ByteString  | Lang_Att_16 B.ByteString  | Dir_Att_16 B.ByteString  | Onclick_Att_16 B.ByteString  | Ondblclick_Att_16 B.ByteString  | Onmousedown_Att_16 B.ByteString  | Onmouseup_Att_16 B.ByteString  | Onmouseover_Att_16 B.ByteString  | Onmousemove_Att_16 B.ByteString  | Onmouseout_Att_16 B.ByteString  | Onkeypress_Att_16 B.ByteString  | Onkeydown_Att_16 B.ByteString  | Onkeyup_Att_16 B.ByteString  | Compact_Att_16 B.ByteString 
   deriving (Show)
data Att15 = Id_Att_15 B.ByteString  | Class_Att_15 B.ByteString  | Style_Att_15 B.ByteString  | Title_Att_15 B.ByteString  | Lang_Att_15 B.ByteString  | Dir_Att_15 B.ByteString  | Onclick_Att_15 B.ByteString  | Ondblclick_Att_15 B.ByteString  | Onmousedown_Att_15 B.ByteString  | Onmouseup_Att_15 B.ByteString  | Onmouseover_Att_15 B.ByteString  | Onmousemove_Att_15 B.ByteString  | Onmouseout_Att_15 B.ByteString  | Onkeypress_Att_15 B.ByteString  | Onkeydown_Att_15 B.ByteString  | Onkeyup_Att_15 B.ByteString  | Type_Att_15 B.ByteString  | Compact_Att_15 B.ByteString  | Start_Att_15 B.ByteString 
   deriving (Show)
data Att14 = Id_Att_14 B.ByteString  | Class_Att_14 B.ByteString  | Style_Att_14 B.ByteString  | Title_Att_14 B.ByteString  | Lang_Att_14 B.ByteString  | Dir_Att_14 B.ByteString  | Onclick_Att_14 B.ByteString  | Ondblclick_Att_14 B.ByteString  | Onmousedown_Att_14 B.ByteString  | Onmouseup_Att_14 B.ByteString  | Onmouseover_Att_14 B.ByteString  | Onmousemove_Att_14 B.ByteString  | Onmouseout_Att_14 B.ByteString  | Onkeypress_Att_14 B.ByteString  | Onkeydown_Att_14 B.ByteString  | Onkeyup_Att_14 B.ByteString  | Type_Att_14 B.ByteString  | Compact_Att_14 B.ByteString 
   deriving (Show)
data Att13 = Id_Att_13 B.ByteString  | Class_Att_13 B.ByteString  | Style_Att_13 B.ByteString  | Title_Att_13 B.ByteString  | Lang_Att_13 B.ByteString  | Dir_Att_13 B.ByteString  | Onclick_Att_13 B.ByteString  | Ondblclick_Att_13 B.ByteString  | Onmousedown_Att_13 B.ByteString  | Onmouseup_Att_13 B.ByteString  | Onmouseover_Att_13 B.ByteString  | Onmousemove_Att_13 B.ByteString  | Onmouseout_Att_13 B.ByteString  | Onkeypress_Att_13 B.ByteString  | Onkeydown_Att_13 B.ByteString  | Onkeyup_Att_13 B.ByteString  | Align_Att_13 B.ByteString 
   deriving (Show)
data Att12 = Id_Att_12 B.ByteString  | Class_Att_12 B.ByteString  | Style_Att_12 B.ByteString  | Title_Att_12 B.ByteString  | Lang_Att_12 B.ByteString  | Dir_Att_12 B.ByteString  | Onclick_Att_12 B.ByteString  | Ondblclick_Att_12 B.ByteString  | Onmousedown_Att_12 B.ByteString  | Onmouseup_Att_12 B.ByteString  | Onmouseover_Att_12 B.ByteString  | Onmousemove_Att_12 B.ByteString  | Onmouseout_Att_12 B.ByteString  | Onkeypress_Att_12 B.ByteString  | Onkeydown_Att_12 B.ByteString  | Onkeyup_Att_12 B.ByteString  | Onload_Att_12 B.ByteString  | Onunload_Att_12 B.ByteString  | Background_Att_12 B.ByteString  | Bgcolor_Att_12 B.ByteString  | Text_Att_12 B.ByteString  | Link_Att_12 B.ByteString  | Vlink_Att_12 B.ByteString  | Alink_Att_12 B.ByteString 
   deriving (Show)
data Att11 = Id_Att_11 B.ByteString  | Class_Att_11 B.ByteString  | Style_Att_11 B.ByteString  | Title_Att_11 B.ByteString  | Longdesc_Att_11 B.ByteString  | Name_Att_11 B.ByteString  | Src_Att_11 B.ByteString  | Frameborder_Att_11 B.ByteString  | Marginwidth_Att_11 B.ByteString  | Marginheight_Att_11 B.ByteString  | Scrolling_Att_11 B.ByteString  | Align_Att_11 B.ByteString  | Height_Att_11 B.ByteString  | Width_Att_11 B.ByteString 
   deriving (Show)
data Att10 = Id_Att_10 B.ByteString  | Class_Att_10 B.ByteString  | Style_Att_10 B.ByteString  | Title_Att_10 B.ByteString  | Lang_Att_10 B.ByteString  | Dir_Att_10 B.ByteString  | Onclick_Att_10 B.ByteString  | Ondblclick_Att_10 B.ByteString  | Onmousedown_Att_10 B.ByteString  | Onmouseup_Att_10 B.ByteString  | Onmouseover_Att_10 B.ByteString  | Onmousemove_Att_10 B.ByteString  | Onmouseout_Att_10 B.ByteString  | Onkeypress_Att_10 B.ByteString  | Onkeydown_Att_10 B.ByteString  | Onkeyup_Att_10 B.ByteString 
   deriving (Show)
data Att9 = Id_Att_9 B.ByteString  | Charset_Att_9 B.ByteString  | Type_Att_9 B.ByteString  | Language_Att_9 B.ByteString  | Src_Att_9 B.ByteString  | Defer_Att_9 B.ByteString  | Space_Att_9 B.ByteString 
   deriving (Show)
data Att8 = Type_Att_8 B.ByteString 
   deriving (Show)
data Att7 = Lang_Att_7 B.ByteString  | Dir_Att_7 B.ByteString  | Id_Att_7 B.ByteString  | Type_Att_7 B.ByteString  | Media_Att_7 B.ByteString  | Title_Att_7 B.ByteString  | Space_Att_7 B.ByteString 
   deriving (Show)
data Att6 = Id_Att_6 B.ByteString  | Class_Att_6 B.ByteString  | Style_Att_6 B.ByteString  | Title_Att_6 B.ByteString  | Lang_Att_6 B.ByteString  | Dir_Att_6 B.ByteString  | Onclick_Att_6 B.ByteString  | Ondblclick_Att_6 B.ByteString  | Onmousedown_Att_6 B.ByteString  | Onmouseup_Att_6 B.ByteString  | Onmouseover_Att_6 B.ByteString  | Onmousemove_Att_6 B.ByteString  | Onmouseout_Att_6 B.ByteString  | Onkeypress_Att_6 B.ByteString  | Onkeydown_Att_6 B.ByteString  | Onkeyup_Att_6 B.ByteString  | Charset_Att_6 B.ByteString  | Href_Att_6 B.ByteString  | Hreflang_Att_6 B.ByteString  | Type_Att_6 B.ByteString  | Rel_Att_6 B.ByteString  | Rev_Att_6 B.ByteString  | Media_Att_6 B.ByteString  | Target_Att_6 B.ByteString 
   deriving (Show)
data Att5 = Content_Att_5 B.ByteString 
   deriving (Show)
data Att4 = Lang_Att_4 B.ByteString  | Dir_Att_4 B.ByteString  | Id_Att_4 B.ByteString  | Http_equiv_Att_4 B.ByteString  | Name_Att_4 B.ByteString  | Content_Att_4 B.ByteString  | Scheme_Att_4 B.ByteString 
   deriving (Show)
data Att3 = Id_Att_3 B.ByteString  | Href_Att_3 B.ByteString  | Target_Att_3 B.ByteString 
   deriving (Show)
data Att2 = Lang_Att_2 B.ByteString  | Dir_Att_2 B.ByteString  | Id_Att_2 B.ByteString 
   deriving (Show)
data Att1 = Lang_Att_1 B.ByteString  | Dir_Att_1 B.ByteString  | Id_Att_1 B.ByteString  | Profile_Att_1 B.ByteString 
   deriving (Show)
data Att0 = Lang_Att_0 B.ByteString  | Dir_Att_0 B.ByteString  | Id_Att_0 B.ByteString  | Xmlns_Att_0 B.ByteString 
   deriving (Show)

data ValuetypeEnum = Data | Ref | Object
instance Show ValuetypeEnum where
    show Text.CHXHtml.XHtml1_transitional.Data="data"
    show Text.CHXHtml.XHtml1_transitional.Ref="ref"
    show Text.CHXHtml.XHtml1_transitional.Object="object"
data RulesEnum = Rules_none | Groups | Rows | Cols | Rules_all
instance Show RulesEnum where
    show Text.CHXHtml.XHtml1_transitional.Rules_none="none"
    show Text.CHXHtml.XHtml1_transitional.Groups="groups"
    show Text.CHXHtml.XHtml1_transitional.Rows="rows"
    show Text.CHXHtml.XHtml1_transitional.Cols="cols"
    show Text.CHXHtml.XHtml1_transitional.Rules_all="all"
data ScrollingEnum = Yes | No | Auto
instance Show ScrollingEnum where
    show Text.CHXHtml.XHtml1_transitional.Yes="yes"
    show Text.CHXHtml.XHtml1_transitional.No="no"
    show Text.CHXHtml.XHtml1_transitional.Auto="auto"
data ShapeEnum = Rect | Circle | Poly | Default
instance Show ShapeEnum where
    show Text.CHXHtml.XHtml1_transitional.Rect="rect"
    show Text.CHXHtml.XHtml1_transitional.Circle="circle"
    show Text.CHXHtml.XHtml1_transitional.Poly="poly"
    show Text.CHXHtml.XHtml1_transitional.Default="default"
data MethodEnum = Get | Post
instance Show MethodEnum where
    show Text.CHXHtml.XHtml1_transitional.Get="get"
    show Text.CHXHtml.XHtml1_transitional.Post="post"
data DirEnum = Ltr | Rtl
instance Show DirEnum where
    show Text.CHXHtml.XHtml1_transitional.Ltr="ltr"
    show Text.CHXHtml.XHtml1_transitional.Rtl="rtl"
data FrameEnum = Void | Above | Below | Hsides | Lhs | Rhs | Vsides | Box | Border
instance Show FrameEnum where
    show Text.CHXHtml.XHtml1_transitional.Void="void"
    show Text.CHXHtml.XHtml1_transitional.Above="above"
    show Text.CHXHtml.XHtml1_transitional.Below="below"
    show Text.CHXHtml.XHtml1_transitional.Hsides="hsides"
    show Text.CHXHtml.XHtml1_transitional.Lhs="lhs"
    show Text.CHXHtml.XHtml1_transitional.Rhs="rhs"
    show Text.CHXHtml.XHtml1_transitional.Vsides="vsides"
    show Text.CHXHtml.XHtml1_transitional.Box="box"
    show Text.CHXHtml.XHtml1_transitional.Border="border"
data FrameborderEnum = D1 | D0
instance Show FrameborderEnum where
    show Text.CHXHtml.XHtml1_transitional.D1="1"
    show Text.CHXHtml.XHtml1_transitional.D0="0"
data ValignEnum = Top | Middle | Bottom | Baseline
instance Show ValignEnum where
    show Text.CHXHtml.XHtml1_transitional.Top="top"
    show Text.CHXHtml.XHtml1_transitional.Middle="middle"
    show Text.CHXHtml.XHtml1_transitional.Bottom="bottom"
    show Text.CHXHtml.XHtml1_transitional.Baseline="baseline"
data AlignEnum = Align_left | Center | Align_right | Justify
instance Show AlignEnum where
    show Text.CHXHtml.XHtml1_transitional.Align_left="left"
    show Text.CHXHtml.XHtml1_transitional.Center="center"
    show Text.CHXHtml.XHtml1_transitional.Align_right="right"
    show Text.CHXHtml.XHtml1_transitional.Justify="justify"
data ScopeEnum = Row | Col | Rowgroup | Colgroup
instance Show ScopeEnum where
    show Text.CHXHtml.XHtml1_transitional.Row="row"
    show Text.CHXHtml.XHtml1_transitional.Col="col"
    show Text.CHXHtml.XHtml1_transitional.Rowgroup="rowgroup"
    show Text.CHXHtml.XHtml1_transitional.Colgroup="colgroup"
data ClearEnum = Clear_left | Clear_all | Clear_right | Clear_none
instance Show ClearEnum where
    show Text.CHXHtml.XHtml1_transitional.Clear_left="left"
    show Text.CHXHtml.XHtml1_transitional.Clear_all="all"
    show Text.CHXHtml.XHtml1_transitional.Clear_right="right"
    show Text.CHXHtml.XHtml1_transitional.Clear_none="none"

class A_Http_equiv a where
    http_equiv_att :: String -> a
    http_equiv_att_bs :: B.ByteString -> a
instance A_Http_equiv Att4 where
    http_equiv_att s =  Http_equiv_Att_4 (s2b_escape s)
    http_equiv_att_bs =  Http_equiv_Att_4 

class A_Clear a where
    clear_att :: ClearEnum -> a
instance A_Clear Att25 where
    clear_att s =  Clear_Att_25 (s2b (show s))

class A_Content a where
    content_att :: String -> a
    content_att_bs :: B.ByteString -> a
instance A_Content Att5 where
    content_att s =  Content_Att_5 (s2b_escape s)
    content_att_bs =  Content_Att_5 
instance A_Content Att4 where
    content_att s =  Content_Att_4 (s2b_escape s)
    content_att_bs =  Content_Att_4 

class A_Nohref a where
    nohref_att :: String -> a
instance A_Nohref Att40 where
    nohref_att s =  Nohref_Att_40 (s2b (show s))

class A_Onkeydown a where
    onkeydown_att :: String -> a
    onkeydown_att_bs :: B.ByteString -> a
instance A_Onkeydown Att59 where
    onkeydown_att s =  Onkeydown_Att_59 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_59 
instance A_Onkeydown Att58 where
    onkeydown_att s =  Onkeydown_Att_58 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_58 
instance A_Onkeydown Att57 where
    onkeydown_att s =  Onkeydown_Att_57 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_57 
instance A_Onkeydown Att56 where
    onkeydown_att s =  Onkeydown_Att_56 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_56 
instance A_Onkeydown Att55 where
    onkeydown_att s =  Onkeydown_Att_55 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_55 
instance A_Onkeydown Att53 where
    onkeydown_att s =  Onkeydown_Att_53 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_53 
instance A_Onkeydown Att52 where
    onkeydown_att s =  Onkeydown_Att_52 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_52 
instance A_Onkeydown Att49 where
    onkeydown_att s =  Onkeydown_Att_49 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_49 
instance A_Onkeydown Att48 where
    onkeydown_att s =  Onkeydown_Att_48 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_48 
instance A_Onkeydown Att46 where
    onkeydown_att s =  Onkeydown_Att_46 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_46 
instance A_Onkeydown Att45 where
    onkeydown_att s =  Onkeydown_Att_45 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_45 
instance A_Onkeydown Att44 where
    onkeydown_att s =  Onkeydown_Att_44 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_44 
instance A_Onkeydown Att43 where
    onkeydown_att s =  Onkeydown_Att_43 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_43 
instance A_Onkeydown Att41 where
    onkeydown_att s =  Onkeydown_Att_41 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_41 
instance A_Onkeydown Att40 where
    onkeydown_att s =  Onkeydown_Att_40 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_40 
instance A_Onkeydown Att38 where
    onkeydown_att s =  Onkeydown_Att_38 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_38 
instance A_Onkeydown Att35 where
    onkeydown_att s =  Onkeydown_Att_35 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_35 
instance A_Onkeydown Att29 where
    onkeydown_att s =  Onkeydown_Att_29 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_29 
instance A_Onkeydown Att23 where
    onkeydown_att s =  Onkeydown_Att_23 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_23 
instance A_Onkeydown Att22 where
    onkeydown_att s =  Onkeydown_Att_22 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_22 
instance A_Onkeydown Att21 where
    onkeydown_att s =  Onkeydown_Att_21 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_21 
instance A_Onkeydown Att20 where
    onkeydown_att s =  Onkeydown_Att_20 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_20 
instance A_Onkeydown Att19 where
    onkeydown_att s =  Onkeydown_Att_19 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_19 
instance A_Onkeydown Att18 where
    onkeydown_att s =  Onkeydown_Att_18 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_18 
instance A_Onkeydown Att17 where
    onkeydown_att s =  Onkeydown_Att_17 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_17 
instance A_Onkeydown Att16 where
    onkeydown_att s =  Onkeydown_Att_16 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_16 
instance A_Onkeydown Att15 where
    onkeydown_att s =  Onkeydown_Att_15 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_15 
instance A_Onkeydown Att14 where
    onkeydown_att s =  Onkeydown_Att_14 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_14 
instance A_Onkeydown Att13 where
    onkeydown_att s =  Onkeydown_Att_13 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_13 
instance A_Onkeydown Att12 where
    onkeydown_att s =  Onkeydown_Att_12 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_12 
instance A_Onkeydown Att10 where
    onkeydown_att s =  Onkeydown_Att_10 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_10 
instance A_Onkeydown Att6 where
    onkeydown_att s =  Onkeydown_Att_6 (s2b_escape s)
    onkeydown_att_bs =  Onkeydown_Att_6 

class A_Target a where
    target_att :: String -> a
    target_att_bs :: B.ByteString -> a
instance A_Target Att41 where
    target_att s =  Target_Att_41 (s2b_escape s)
    target_att_bs =  Target_Att_41 
instance A_Target Att40 where
    target_att s =  Target_Att_40 (s2b_escape s)
    target_att_bs =  Target_Att_40 
instance A_Target Att22 where
    target_att s =  Target_Att_22 (s2b_escape s)
    target_att_bs =  Target_Att_22 
instance A_Target Att6 where
    target_att s =  Target_Att_6 (s2b_escape s)
    target_att_bs =  Target_Att_6 
instance A_Target Att3 where
    target_att s =  Target_Att_3 (s2b_escape s)
    target_att_bs =  Target_Att_3 

class A_Onkeyup a where
    onkeyup_att :: String -> a
    onkeyup_att_bs :: B.ByteString -> a
instance A_Onkeyup Att59 where
    onkeyup_att s =  Onkeyup_Att_59 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_59 
instance A_Onkeyup Att58 where
    onkeyup_att s =  Onkeyup_Att_58 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_58 
instance A_Onkeyup Att57 where
    onkeyup_att s =  Onkeyup_Att_57 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_57 
instance A_Onkeyup Att56 where
    onkeyup_att s =  Onkeyup_Att_56 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_56 
instance A_Onkeyup Att55 where
    onkeyup_att s =  Onkeyup_Att_55 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_55 
instance A_Onkeyup Att53 where
    onkeyup_att s =  Onkeyup_Att_53 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_53 
instance A_Onkeyup Att52 where
    onkeyup_att s =  Onkeyup_Att_52 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_52 
instance A_Onkeyup Att49 where
    onkeyup_att s =  Onkeyup_Att_49 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_49 
instance A_Onkeyup Att48 where
    onkeyup_att s =  Onkeyup_Att_48 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_48 
instance A_Onkeyup Att46 where
    onkeyup_att s =  Onkeyup_Att_46 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_46 
instance A_Onkeyup Att45 where
    onkeyup_att s =  Onkeyup_Att_45 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_45 
instance A_Onkeyup Att44 where
    onkeyup_att s =  Onkeyup_Att_44 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_44 
instance A_Onkeyup Att43 where
    onkeyup_att s =  Onkeyup_Att_43 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_43 
instance A_Onkeyup Att41 where
    onkeyup_att s =  Onkeyup_Att_41 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_41 
instance A_Onkeyup Att40 where
    onkeyup_att s =  Onkeyup_Att_40 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_40 
instance A_Onkeyup Att38 where
    onkeyup_att s =  Onkeyup_Att_38 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_38 
instance A_Onkeyup Att35 where
    onkeyup_att s =  Onkeyup_Att_35 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_35 
instance A_Onkeyup Att29 where
    onkeyup_att s =  Onkeyup_Att_29 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_29 
instance A_Onkeyup Att23 where
    onkeyup_att s =  Onkeyup_Att_23 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_23 
instance A_Onkeyup Att22 where
    onkeyup_att s =  Onkeyup_Att_22 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_22 
instance A_Onkeyup Att21 where
    onkeyup_att s =  Onkeyup_Att_21 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_21 
instance A_Onkeyup Att20 where
    onkeyup_att s =  Onkeyup_Att_20 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_20 
instance A_Onkeyup Att19 where
    onkeyup_att s =  Onkeyup_Att_19 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_19 
instance A_Onkeyup Att18 where
    onkeyup_att s =  Onkeyup_Att_18 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_18 
instance A_Onkeyup Att17 where
    onkeyup_att s =  Onkeyup_Att_17 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_17 
instance A_Onkeyup Att16 where
    onkeyup_att s =  Onkeyup_Att_16 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_16 
instance A_Onkeyup Att15 where
    onkeyup_att s =  Onkeyup_Att_15 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_15 
instance A_Onkeyup Att14 where
    onkeyup_att s =  Onkeyup_Att_14 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_14 
instance A_Onkeyup Att13 where
    onkeyup_att s =  Onkeyup_Att_13 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_13 
instance A_Onkeyup Att12 where
    onkeyup_att s =  Onkeyup_Att_12 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_12 
instance A_Onkeyup Att10 where
    onkeyup_att s =  Onkeyup_Att_10 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_10 
instance A_Onkeyup Att6 where
    onkeyup_att s =  Onkeyup_Att_6 (s2b_escape s)
    onkeyup_att_bs =  Onkeyup_Att_6 

class A_Onreset a where
    onreset_att :: String -> a
    onreset_att_bs :: B.ByteString -> a
instance A_Onreset Att41 where
    onreset_att s =  Onreset_Att_41 (s2b_escape s)
    onreset_att_bs =  Onreset_Att_41 

class A_Onmouseup a where
    onmouseup_att :: String -> a
    onmouseup_att_bs :: B.ByteString -> a
instance A_Onmouseup Att59 where
    onmouseup_att s =  Onmouseup_Att_59 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_59 
instance A_Onmouseup Att58 where
    onmouseup_att s =  Onmouseup_Att_58 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_58 
instance A_Onmouseup Att57 where
    onmouseup_att s =  Onmouseup_Att_57 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_57 
instance A_Onmouseup Att56 where
    onmouseup_att s =  Onmouseup_Att_56 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_56 
instance A_Onmouseup Att55 where
    onmouseup_att s =  Onmouseup_Att_55 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_55 
instance A_Onmouseup Att53 where
    onmouseup_att s =  Onmouseup_Att_53 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_53 
instance A_Onmouseup Att52 where
    onmouseup_att s =  Onmouseup_Att_52 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_52 
instance A_Onmouseup Att49 where
    onmouseup_att s =  Onmouseup_Att_49 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_49 
instance A_Onmouseup Att48 where
    onmouseup_att s =  Onmouseup_Att_48 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_48 
instance A_Onmouseup Att46 where
    onmouseup_att s =  Onmouseup_Att_46 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_46 
instance A_Onmouseup Att45 where
    onmouseup_att s =  Onmouseup_Att_45 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_45 
instance A_Onmouseup Att44 where
    onmouseup_att s =  Onmouseup_Att_44 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_44 
instance A_Onmouseup Att43 where
    onmouseup_att s =  Onmouseup_Att_43 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_43 
instance A_Onmouseup Att41 where
    onmouseup_att s =  Onmouseup_Att_41 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_41 
instance A_Onmouseup Att40 where
    onmouseup_att s =  Onmouseup_Att_40 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_40 
instance A_Onmouseup Att38 where
    onmouseup_att s =  Onmouseup_Att_38 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_38 
instance A_Onmouseup Att35 where
    onmouseup_att s =  Onmouseup_Att_35 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_35 
instance A_Onmouseup Att29 where
    onmouseup_att s =  Onmouseup_Att_29 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_29 
instance A_Onmouseup Att23 where
    onmouseup_att s =  Onmouseup_Att_23 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_23 
instance A_Onmouseup Att22 where
    onmouseup_att s =  Onmouseup_Att_22 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_22 
instance A_Onmouseup Att21 where
    onmouseup_att s =  Onmouseup_Att_21 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_21 
instance A_Onmouseup Att20 where
    onmouseup_att s =  Onmouseup_Att_20 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_20 
instance A_Onmouseup Att19 where
    onmouseup_att s =  Onmouseup_Att_19 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_19 
instance A_Onmouseup Att18 where
    onmouseup_att s =  Onmouseup_Att_18 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_18 
instance A_Onmouseup Att17 where
    onmouseup_att s =  Onmouseup_Att_17 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_17 
instance A_Onmouseup Att16 where
    onmouseup_att s =  Onmouseup_Att_16 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_16 
instance A_Onmouseup Att15 where
    onmouseup_att s =  Onmouseup_Att_15 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_15 
instance A_Onmouseup Att14 where
    onmouseup_att s =  Onmouseup_Att_14 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_14 
instance A_Onmouseup Att13 where
    onmouseup_att s =  Onmouseup_Att_13 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_13 
instance A_Onmouseup Att12 where
    onmouseup_att s =  Onmouseup_Att_12 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_12 
instance A_Onmouseup Att10 where
    onmouseup_att s =  Onmouseup_Att_10 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_10 
instance A_Onmouseup Att6 where
    onmouseup_att s =  Onmouseup_Att_6 (s2b_escape s)
    onmouseup_att_bs =  Onmouseup_Att_6 

class A_Scope a where
    scope_att :: ScopeEnum -> a
instance A_Scope Att59 where
    scope_att s =  Scope_Att_59 (s2b (show s))

class A_Code a where
    code_att :: String -> a
    code_att_bs :: B.ByteString -> a
instance A_Code Att32 where
    code_att s =  Code_Att_32 (s2b_escape s)
    code_att_bs =  Code_Att_32 

class A_Onmouseover a where
    onmouseover_att :: String -> a
    onmouseover_att_bs :: B.ByteString -> a
instance A_Onmouseover Att59 where
    onmouseover_att s =  Onmouseover_Att_59 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_59 
instance A_Onmouseover Att58 where
    onmouseover_att s =  Onmouseover_Att_58 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_58 
instance A_Onmouseover Att57 where
    onmouseover_att s =  Onmouseover_Att_57 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_57 
instance A_Onmouseover Att56 where
    onmouseover_att s =  Onmouseover_Att_56 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_56 
instance A_Onmouseover Att55 where
    onmouseover_att s =  Onmouseover_Att_55 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_55 
instance A_Onmouseover Att53 where
    onmouseover_att s =  Onmouseover_Att_53 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_53 
instance A_Onmouseover Att52 where
    onmouseover_att s =  Onmouseover_Att_52 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_52 
instance A_Onmouseover Att49 where
    onmouseover_att s =  Onmouseover_Att_49 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_49 
instance A_Onmouseover Att48 where
    onmouseover_att s =  Onmouseover_Att_48 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_48 
instance A_Onmouseover Att46 where
    onmouseover_att s =  Onmouseover_Att_46 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_46 
instance A_Onmouseover Att45 where
    onmouseover_att s =  Onmouseover_Att_45 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_45 
instance A_Onmouseover Att44 where
    onmouseover_att s =  Onmouseover_Att_44 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_44 
instance A_Onmouseover Att43 where
    onmouseover_att s =  Onmouseover_Att_43 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_43 
instance A_Onmouseover Att41 where
    onmouseover_att s =  Onmouseover_Att_41 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_41 
instance A_Onmouseover Att40 where
    onmouseover_att s =  Onmouseover_Att_40 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_40 
instance A_Onmouseover Att38 where
    onmouseover_att s =  Onmouseover_Att_38 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_38 
instance A_Onmouseover Att35 where
    onmouseover_att s =  Onmouseover_Att_35 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_35 
instance A_Onmouseover Att29 where
    onmouseover_att s =  Onmouseover_Att_29 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_29 
instance A_Onmouseover Att23 where
    onmouseover_att s =  Onmouseover_Att_23 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_23 
instance A_Onmouseover Att22 where
    onmouseover_att s =  Onmouseover_Att_22 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_22 
instance A_Onmouseover Att21 where
    onmouseover_att s =  Onmouseover_Att_21 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_21 
instance A_Onmouseover Att20 where
    onmouseover_att s =  Onmouseover_Att_20 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_20 
instance A_Onmouseover Att19 where
    onmouseover_att s =  Onmouseover_Att_19 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_19 
instance A_Onmouseover Att18 where
    onmouseover_att s =  Onmouseover_Att_18 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_18 
instance A_Onmouseover Att17 where
    onmouseover_att s =  Onmouseover_Att_17 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_17 
instance A_Onmouseover Att16 where
    onmouseover_att s =  Onmouseover_Att_16 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_16 
instance A_Onmouseover Att15 where
    onmouseover_att s =  Onmouseover_Att_15 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_15 
instance A_Onmouseover Att14 where
    onmouseover_att s =  Onmouseover_Att_14 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_14 
instance A_Onmouseover Att13 where
    onmouseover_att s =  Onmouseover_Att_13 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_13 
instance A_Onmouseover Att12 where
    onmouseover_att s =  Onmouseover_Att_12 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_12 
instance A_Onmouseover Att10 where
    onmouseover_att s =  Onmouseover_Att_10 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_10 
instance A_Onmouseover Att6 where
    onmouseover_att s =  Onmouseover_Att_6 (s2b_escape s)
    onmouseover_att_bs =  Onmouseover_Att_6 

class A_Align a where
    align_att :: AlignEnum -> a
instance A_Align Att59 where
    align_att s =  Align_Att_59 (s2b (show s))
instance A_Align Att58 where
    align_att s =  Align_Att_58 (s2b (show s))
instance A_Align Att57 where
    align_att s =  Align_Att_57 (s2b (show s))
instance A_Align Att56 where
    align_att s =  Align_Att_56 (s2b (show s))
instance A_Align Att55 where
    align_att s =