HOOGAԃ&!+-/1VV2WW3XX4YY5ZZ6[[<>a-((*+01338:EEHIKKOS\\``efhikkopssuuw{b'--33?@EEPP``kkyzc $$(=JKRRaaffxxd! !$**..23<<>GLLPP\\^^jjnnttyy||e4  #$&&)023;;>CEEGLOQTT\^`adfipttyz||~f >>ABKRdeiinog *+55==?@SU]]eeppww{|h-.::==@@HHRRVmvvi) ((*+//11==ABDFHHLLRRUU]bmx}jk -.11_byyl.  ""$$&&)+0148::@@BCEFLL_beeglvvxxzm119:@@GINQglopuv~n# '(*,88:;AAJJMMTT^beejjnnqtvv{|o# !$'(--2=MNPP_bjjvvyyp((*+115589==HJffmmqquuqmmr) #%,,0056<=DDGGIINQST\\``behhllnossyys# ++3378<<BBEFHHLLQR`affrrtvxxt+ &(,,//9;==@@BBFGIJLMQQ]]_bgnqqssvxu &'55?@RRUU``bbmmqqv mmwx--tty !!==IJSSyyzHHwt*s+w(e()`(->/(All(Any' BlockReason'Bool'CChar'CClockT'CDev"'CDouble&CFloatp&CIno(&CInt%CIntMax%CIntPtrP%CLDouble$CLLong$CLongg$CMode$COff#CPid#CPtrdiffG#CSChar"CShort" CSigAtomico"CSize'"CSsize!CTime!CUChare!CUInt!CUIntMax CUIntPtr CULLongE CULongCUShortCWcharmChanbChar?Complex4 ConsoleEventConstr  ConstrRepDataRepDataTypeDoubleDynamicE12E6EitherErrno ExceptionxFd0Fixity'FloatGeneralCategoryHashDataHtml HtmlTableHtmlTreeIOIdInsertsIntmInt16TInt32;Int64"Int8 IntPtrIntegerLexemeMaybeQNestedAtomically8 NoMethodErrorNonTerminationOrderingPPatternMatchFailQSemQSemNReadPReadPrec RecConErrorm RecSelErrorT RecUpdError;STM" StableNameTVar ThreadId ThreadStatusTimeoutUniqueVersionWordWord16xWord32_Word64FWord8-WordPtrZipList[::][] TraversableFoldable Applicative AlternativeMonadFix MonadPlusFunctorMonadFunctor Applicative ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq PrintfArgDataStorable PrintfArgDataStorable PrintfArgDataStorable PrintfArgDataStorable PrintfArgDataStorableEqOrdShowReadTypeableOrdEqTypeableShow ExceptionEqShowOrdEqShowEqOrdTypeable Typeable1 Typeable1 Typeable1FunctorMonadTypeableShow ExceptionTypeableShow ExceptionTypeableShow ExceptionFunctorMonad MonadPlusFunctorMonad MonadPlusTypeableTypeableTypeableShow ExceptionMonad MonadPlusMonoidDataIxTypeableShow ExceptionTypeableShow ExceptionTypeableShow Exception TraversableFoldable Applicative AlternativeMonadFix MonadPlusFunctorMonadShowEq PrintfArgDataBitsIx ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq PrintfArgDataStorable PrintfArgDataStorable PrintfArgDataStorable PrintfArgDataStorable PrintfArgDataStorableBitsIxEqFunctor Applicative ApplicativeMonadFixHTML HTMLTABLEHTMLShow HTMLTABLEShowEqIxBoundedShowReadEnumOrdEq PrintfArgDataStorableShowEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEqTypeable ExceptionShowEqEq Typeable2 HasResolution HasResolution ExceptionTypeableShow PrintfArgDataStorableShowShowEqShowEqShowEqReadShowEnumOrdEqTypeable Typeable1 PrintfArgIsCharDataStorableIx Typeable1 ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeable RealFloatRealFracFloating FractionalRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEq ReadShowTypeable RealFloatRealFracFloating FractionalRealStorableEnumNumOrdEq ReadShowTypeable RealFloatRealFracFloating FractionalRealStorableEnumNumOrdEq ReadShowTypeableRealStorableEnumNumOrdEq ReadShowTypeableRealStorableEnumNumOrdEq ReadShowTypeableBitsIntegralBoundedRealStorableEnumNumOrdEqDataStorableIxShowOrdEqMonoidBoundedShowReadOrdEqMonoidBoundedShowReadOrdEqArrow ArrowChoice ArrowApply ArrowLoopCategoryMonoidDataEqOrdIx{( ByteCount+CString+ CStringLen+CWString+ CWStringLenx+ ClockTicko+ConIndexi+DeviceIDb+ EpochTimeZ+FileIDS+FileModeK+ FileOffsetD+FilePath7+FinalizerEnvPtr+ FinalizerPtr*IOError*IPr*Limit*Micro*Pico*Prec*ProcessGroupID* ProcessID*Rationalu*ReadSH* SampleVar&*ShowS *String)URL)[]Char[]Char[]Char[]CharaMVar(,)IntMVaraa[]Char[](,)a[]CharRatioIntegerCPidCPidIntFixedE12FixedE6CLong(,)IntInt IOExceptionaFunPtrPtraIO()envaFunPtrPtrenvPtraIO()[]CharCOffCModeCInoCTimeCDevIntCClock(,)PtrCWcharIntPtrCWchar(,)PtrCCharIntPtrCCharCSize(s[ra mbhc6_d[eXfTgThQiLjLkqLlImFnDoaAp>q=r9s4t0u.v.w,zZ,ia,ph,lo,iv,s},t,ZipList#.e.o-r,a,i,t,e,m,o,d,e,IOModep,a-m-p-e -d-aQ-m-o&-n--a4-d;- WrappedMonadrX-r_-of-wm- WrappedArrowo-n-a-d- WrappedMonadr-r-o-w- WrappedArrowr-d-Word#.1u.3^.6G.88.p.t .r'.WordPtrWord84N.Word642e.Word326|.Word16Word#a.k.WeakWorde.r.s.i.o.n.Versionn/p/rs/s/e/r /i'/n./t5/e8p7ts5u5y4m4b5o5l5Lexememf5r'5r.5o55g<5aC5tJ5eQ5GeneralCategorySumSTa6ms6o>6r5e6i5n5g5Stringc5r5e5p5DataRepo5n5s5t5r6 ConstrRepf/6p 6STRepSTRefrE6aL6bS6lZ6ea6StorableSTMb-7c6r6t6e6#6State#r6a6y6STArrayk6o6v6e6r6f7l 7o7w7AsyncExceptionl47e;7nh7pG7tN7rU7 StablePtrao7mv7e}7 StableNamea7c7e)8i7n7g7c7o7m7b7i7n7i7n7g7m7a8r 8k8GeneralCategoryGeneralCategorymE8eL8eS8xZ8ca8eh8po8tv8i}8o8n8 SomeExceptiono8u8t8d8o8w8n8 ConsoleEventw8Shows8ShowSe9k9fM9m&9o-9d49e;9SeekModerT9o[9mb9ei9np9dw9SeekModem9p9l9e9v9a9r9 SampleVaray=e9i9g9h9t9Eithera<c%;l:qj:t:u:r$:n+:i2:n9:o@:rG:dN:eU:r\:ArgOrdera:uv:i}:r:e:o:r:d:e:r:ArgOrderr:g:ArgDescra:t:i:v:e:s;e ;e;k;SeekModec;s|;u6;p=;dD;eK;rR;rY;o`;rg; RecUpdErrore;l;e;r;r;o;r; RecSelErroro;n;e;r;r;o;r; RecConErrord<l<Realf[<w,<o3<r:<lA<dH< RealWorldl<rg<an<cu<RealFraco<a<t< RealFloatReadmX=p$=s=w<r<i<t<e<m<o<d=e =IOModeReadSReadPr8=e?=cF=ReadPreco_=df=em=IOModet=Lexemei=o=Ration=a=l=Rationals=e=m=QSemn=QSemNab@e1@i@o?rV>tB>u(>n/>c6>LexemerI>Ptre?i?og>c>ds>uz>c>t>Producte>s>s>g>i>d> ProcessIDr>o>u>p>i>d>ProcessGroupIDna?v"?a)?t0?e7?u>?sE?eL?GeneralCategoryth?fo?a?t{?y?p?e? PrintfTyper?g? PrintfArgc?f?i?x?FixityPreco@l@Poolc@o#@Picor8@m?@uF@tM@eT@ArgOrderr@tn@tu@e|@r@n@m@a@t@c@h@f@a@i@l@PatternMatchFaila@g@r@a@pAh AsAeAp"Aa)Ar0Aa7At>AoEArLAGeneralCategoryp*CrBtAvwAe~ArAfAlAoAwAArithExceptionhAeArAlBnsBpBsAyAmAbAoAlBGeneralCategoryuBn&Bc-Bt4Bu;BaBBtIBiPBoWBn^BGeneralCategoryuzBmBbBeBrBGeneralCategoryeBtBtBeBrBGeneralCategorydBOrdeBrCi CnCgCOrderingeCt6CaCdcCiGCoNCnUCOptDescrejCsqCcxCrCOptDescrrCgCArgDescrnCpCuCnCcCtCuCaCtCiCoCnDGeneralCategoryenFo;Du'Dm.DNumaRFb FmEnDrDt[DaDhgDinDnuDg|DMaybesDsDiDgDnDeDdDGeneralCategoryeDpDDataRepsREtDeDrEm EiEnEaEt%Ei,Eo3En:ENonTerminationpYEa`EcgEinEnuEg|EmEaErEkEGeneralCategoryeEtEhEoEdEeErErEoErE NoMethodErroruFfFfFe&Fr-Fi4Fn;FgBF BufferModerYFg`FArgDescrsuFt|FeFdFaFtFoFmFiFcFaFlFlFyFNestedAtomicallyaYIi5IoGu5GvGa GrGMVar#&GMVar#tKGeneralCategoryuZKfaKfhKeoKrvKi}KnKgK BufferModeiKtKLimitfBLtKxKeKmKeKLexemetKeKrLn LuLmLbLe&Lr-LGeneralCategorytILEithers\LtcLLastlxLeLiLsLlLiLKleisliuLsLtLMaybedPgPn{NowMpcMsLxLIxc>Ms MtMrMiMn%Mg,MIsStringhEMaLMrSMIsCharrjMIPrIOeMmMrMeMfMIORefoMdMeMIOModer&NxMcMeMpMtMiNo NnN IOExceptionr-No4Nr;NIOErrortQNyXNp_NefN IOErrorTypedMPf3PiOtNInt #O1O3O6O8OcOOeOpNrNeNpNDataReptNrNIntPtrg Oe7OrOaOl%OIntegralr>OIntegeroVOn]OsdOtkOrrO ConstrRepInt84OInt642OInt326OInt16Int#tOiOaOlOqPu PoPtPePGeneralCategoryi:PxAPFixityeTPx[PobPuiPtpPowPf~PbPoPuPnPdPsPArrayExceptionnPoPrPePHandlerePnPtPLexemea SeRo}Rp)Rt!Qm(Ql/QHtmlHTMLaRlQnQtZQaQrfQemQetQHtmlTreebQlQeQ HtmlTable HTMLTABLEoQdQeQHtmlTreeeQaQfQHtmlTreet RtRrRHtmlAttrr0Ri7Rn>RtERfLRtSRyZRpaRehR HPrintfTypetRlRiRnRkRHotLinkaRpRoRvReRrRfRlRoRwRAsyncExceptionnSsShySr#Se*Ss1So8Sl?SuFStMSiTSo[SnbS HasResolutiontSaSbSlSeS HashTabledSlSeSHandlepSrSHandleroSsSnT HandlePosneTn&Te-Tr4Ta;TlBTcITaPTtWTe^TgeTolTrsTyzTGeneralCategorydXiVlVoVUr UuTnTcTpTtTrTFunPtrtToTrTFunctoraUcUtUi&Uo-Un4Ua;UlBU FractionallUrbUeUmnUauUt|UGeneralCategoryiUgUnUpUtUrU ForeignPtrdUaUbUlUeUFoldableo VaVtVceViEVr*Ve1Vp8VDataRepnLVgSVFloatingolVnsVszVtVrV ConstrReplWn WrVxVeViVtVyVFixitydVFixedsVtVFirstaWlWiUWq$Wu+Wo2Wt9We@WGeneralCategoryz\WecWrjWeWpvWt}WrW FinalizerPtrnWvWpWtWrWFinalizerEnvPtreWixXmQXoXpWaWtXhXFilePathf!Xf(Xs/Xe6Xt=X FileOffsetoXXd_XefXFileModedXFileIDFd 1[6[it[nZoZpZq{ZrZxXcYiXtXcYecYf+YsXuXcYcYeYsYsYExitCodea2Yi9Yl@YuGYrNYeUYExitCodexjYcqYexYpYtYiYoYnY ExceptionoYdYeYExitCodeeYpYtYiYoYnY Exception Exceptionr#ZneZo/Zr6Zc=ZaDZlKZlRZ ErrorCallolZErrnoEqoZcZhZtZiZmZeZ EpochTimefZLexemec[d[uZmZEnumo [Endol [o'[s.[i5[n<[gC[mJ[aQ[rX[k_[GeneralCategoryt{[h[e[r[EitherE62[E12a\^e]i\o|\u`\y[n[a:\e[x[c\e\p\t\i\o$\n+\ ExceptionmA\iH\cO\Dynamicag\ln\Dualu\w\n\Downb\l\e\Doublev\i\d\e\b\y\z\e\r]o]ArithExceptiona'^c]f]nl]v7]i>]cE]eL]iS]dZ]DeviceIDos]rz]m]a]l]ArithExceptiona]u]l]t]Handleri]m]a]l]n]u]m]b^e ^r^GeneralCategoryd.^l5^o<^cC^kJ^Deadlocks^th^ao^Datar^t^y^p^e^DataTypee^p^DataReph^p^u^n^c^t^u^a_t _i_o_n!_GeneralCategoryahcFhdgfghYgifjflmemIeoOcpbsatau`w_c_s_t_r_i_n_g_CWStringl_e_n_ CWStringLenh_a_r`CWcharcrai al`rY`s,`h3`o:`rA`tH`CUShortr``eg`nn`cu`y|`s`y`m`b`o`l`GeneralCategoryl`o`n`g`CULongo`n`g`CULLongnataCUIntmRap2at9ar@aCUIntPtraYax`aCUIntMaxhyaaaraCUChariamaeaCTimecbhbiObs*btaraianagaCStringlbebnb CStringLeni1bz8be?bCSsizegqbz[bebbCSizeaxbtbobmbibcb CSigAtomicobrbtbCShorthbabrbCSChari:ctcr cdcicf!cf(cCPtrdiffdAcCPidf4emen`cidnTdsctvcr}coclcGeneralCategorycc ConsoleEvento dtcConstrcConstrrcecpc ConstrRepldede"dv)de0dn7dt>d ConsoleEvente[dcbdtidopdrwdp~dudndcdtdudadtdidodndGeneralCategoryndddedxdConIndexpeleeex#eComplexf;eCOffoPedWee^eCModedyflTfo~ecfnfseee ConsoleEventpeueneceteueaeteieoeneGeneralCategorygfCLongk%ft,fi3fc:fkAf ClockTicko[fnbfgifCLLongofufbflfefCLDoublemfpfbfufffCJmpBufnfoKgtfCIntm,gp gtgrgCIntPtra3gx:gCIntMaxCInoa`gnzgrlgCharChaniglgpgogsgCFposogagtgCFloatlgegCFilee1hohu hbhlhe hCDoublev8hCDevhwhlRhoYhc`hkghCClocka~hrhCCharthchehghohrhyhCategoryhhHandlerimljoiriuMiy itieicio%iu,in3it:i ByteCountfTif[iebiriimpiowid~iei BufferModeeiaiki ConsoleEventoiuinidieidiBoundedljBoolojcjk#jbleljr4je;jaBjsIjoPjnWj BlockReasondsjiRlojnjb ldketkfkmjojsjtjmj BlockReasontjhjejrj BlockReasonvjakr k BlockReasono$kr+ke2ki9kg@knGkcNkaUkl\klck BlockReasonx{kckekpktkikoknk BlockReasonekakdkmkvkakrkBlockedOnDeadMVarllalclk%lh,lo3ll:leAl BlockReasonnYld`leglfnliuln|liltlelllylBlockedIndefinitelyulflflelrlilnlgl BufferModet msmBitsbrd8rltqn`qppr#nsEmsmyQmnXmc_mefmxmmctme{mpmtmimomnmAsyncExceptionemrmtmimomnmfmamimlmend nAssertionFailedgipipr4naoo@nwGnArrowaTocolnmnpnztne{nrnon ArrowZerolnunsn ArrowPlusonnnandn ArrowMonadonoop o ArrowLooph#oo*oi1oc8oe?o ArrowChoicep[opbolioypo ArrowApplyyoArray#oeoxocoeopotoiooonoArrayExceptionArray#t phpepx pc'pe.pp5pt?@ABCdenopstuvwxz{|}~    !"#$%)*+,-5}./0123459:;HIJMNOPQRScde,-.URLD HTMLTABLEht EFGTUVHTMLaHTMLhtmlString%&'String&'()*+,-./567;<=>EWXYw{|}~;<=KZ[\`ab &.String'(678<=>?@AZ[\]^_`abfgmno StringStringURLURL#$%xyz/01HIJStringTUVStringStringnopStringjklStringStringLStringEFGStringHTMLaHTMLbqrs)*+]^_fghlmqr&89:?Z[\]^_ !(WXYijk4IMDPcy ipStringKStringҥ|`J2̤nX>УrV: Ԣ|hL0ΡlX.ȠtP<ڟğlD"ܞlJ0ܝrP<Μz`L6ԛlL,YA%eIژ|^D"ƗdF* ޖxP*ЕpT@ jJ,ғtV2hP2P2ڐ|Z:ԏfJ,֎X(ЍmS;݌u]?׋uS3ӊoOÉqS-ӈwaI3ԇyellowLJyellowpxhtmlއXHtmlxhtmlwidthwidthmnowidgetwidgetjklwhite=whiteivspaceTvspacehvlinkkvlinkgversionversionfvariablevariablecdevaluevalue`abvalignވvalign]^_usemapusemapZ[\urlURLWXY unordlist; unordListTUV underlinea underlineSulist{ulistPQRttttMNOtreehtmltreeHtmlL treecolors҉ treeColorsK transitional TransitionaltrtrHIJtohtmlfromlist2toHtmlFromListEFGtohtmlZtoHtmlBCDtitleytitle?@Athetypethetype<=>thetitlethetitle9:;thestylethestyle678thespanthespan345themenu%themenu2themap>themap/01thelink_thelink,-.thehtmlthehtml)*+theforthefor&'(thediv‹thediv#$%thecodethecode !"theclasstheclassthebase)thebasetheadItheadthdthtfoottfoot textfield textfieldtextareaƌtextarea   texttext tealteal td tdtbody'tbodytargetFtargettag[tagtablewTabletablesupsupsubmitsubmitsub؍substylestylestrongstrongstringtohtmlstring?stringToHtmlString stringtohtmli stringToHtmlstrikestrikestrictStrictstrattrstrAttrstartstartsrcsrc spacehtml spaceHtmlsmall6smallsizeSsize simpletablev simpleTablesilversilvershowhtmlfragmentshowHtmlFragmentshowhtmlshowHtmlshapeshapeselected#selectedselectEselect scrollingh scrollingscriptscriptsamplesamplerulesƐrulesrowspanrowspanrowsrowsrev revreset<resetrenderhtmlwithlanguagekrenderHtmlWithLanguagerenderhtmlfragmentrenderHtmlFragment renderhtmlϑ renderHtmlrelrelred redradioradioquote<quotepurple[purple primhtmlchary primHtmlCharprimhtmlprimHtmlprettyhtmlfragmentϒprettyHtmlFragment prettyhtml prettyHtmlpre prepassword?passwordparam`param paragraph paragraphppordlistordListoptionݓoption}~optgroupoptgroupz{|olive oliveyolist6olistvwxobjectUobjectstunowrapunowraprnoshadenoshadeqnoscriptnoscriptnopnoresize͔noresizelmnohtmlnoHtmlijknohref nohreffghnoframes-noframesdenavyInavycname]name`abmultiple}multiple]^_methodmethodZ[\metametaWXYmenuٕmenuTUV maxlength maxlengthQRSmaroonmaroonP marginwidth: marginwidthNO marginheighta marginheightLMlinklinkK linetohtml lineToHtmlHIJ linestohtmlĖ linesToHtmlEFGlimelimeDliliABClegendlegend>?@lang3lang;<=labelPlabel89:keyboardqkeyboard567italicsitalics234itagitag/01isnohtmlӗisNoHtml,-.ismapismap)*+isindexisindex(intattr.intAttr%&'insLins"#$inputhinput !imageimageiframeiframe identifier identifier httpequiv httpequivhtmltree HtmlTree htmltable* HTMLTABLE HtmlTablehtmlnodeVHtmlNodehtmlleafrHtmlLeafhtmlattrHtmlAttr   htmlAttr htmlęHTMLHtml hspacehspacehreflanghreflanghref.hrefhrHhr hotlinkurlh hotLinkURLhotlinkcontentshotLinkContentshotlinkattributesɚhotLinkAttributeshotlinkHotLinkhotlinkhidden7hiddenheightWheightheaderwheaderh6h6h5h5h4Ûh4h3ۛh3h2h2h1 h1gui$guigreen@greengrayUgrayfuchsialfuchsiaframesetFramesetframeset frameborder frameborderframe؜frameformformfont fontfieldset%fieldsetfaceEfaceenctype\enctype emptyattr emptyAttr emphasize emphasizedtermȝdtermdlistdlistdisableddisableddir&dirdel8deldeflistVdefListdefinewdefine debughtml debugHtmldebugDebugddefɞddef copyright copyrightcoords coordscontent.content concathtmlS concatHtmlcompactxcompactcolspancolspancolscolscolorΟcolorcolgroupcolgroupcolcolcodebase%codebase|}~codeEcode{clickmap]clickmapxyzclear~clearwcitecitetuvcheckedcheckedqrscheckboxՠcheckboxnopcentercenterm cellspacing cellspacingjkl cellpadding> cellpaddingghicellacellfcaptionxcaptioncdebuttonbutton`abbulletbullet]^_brաbrZ[\ bordercolor bordercolorWXYborderborderTUVbold9boldQRSbodyUbodyNOPblueqblueM blockquote blockquoteJKLblackblackIbig¢bigFGHbgcolorbgcolorEbesidesbesidesDbesidebesideCbdo(bdo@ABbasefontGbasefont?base_base<=> background background;areaarea89:archivearchive567aqua٣aqua4appletapplet3anchoranchor012altcode(altcode-./altFalt*+,alinkbalink)alignxalign&'(afileafile#$%addressaddress !"addattrs٤ADDATTRSactionactionacronymacronymaboves=abovesaboveTaboveabbriabbr<<<<<-><-> ++++++ !إ! p8ޫ6ЪzlQ hȟxĞA?ߜz$Κx"̙v\J,ʕv"Δz>ܓzpPfʏ-ߍCMeŊu%Չ{!Lj]U!u9=;ă`4Ёl,p*~~D~}}:}||&|{^{zz^zzy`yyxNxww:wvv>6>=r=<<H<<;;:p:9O9887s776m665q554g4 43c332w2+2110%/.-E-,,,+U++*U*)))(g(/(''7'&&G&%%G%$$W$##w#3#""7"!!O!  Y  mu#55t6n`&VP+(7 F E D C{3qWI}ab^L8~ nrdVr*noxJB8>8,4d^ bl,BL(6@\ l^P`v$VP@B.x"v v"x"vJB~`<ٿ^hн4fλ|*غ~ +,̷l L2ڴ*ȳjҲ: Nyellowyellow :: StringStringwidthwidth :: String -> HtmlAttrJ5StringHtmlAttrwidthwidth :: String -> HtmlAttrStringHtmlAttrwidthwidth :: String -> HtmlAttrStringHtmlAttrwidget widget :: String -> String ->  [HtmlAttr] -> HtmluStringString[]HtmlAttrHtmlwidget widget :: String -> String ->  [HtmlAttr] -> Html6 StringString[]HtmlAttrHtmlwidget widget :: String -> String ->  [HtmlAttr] -> HtmlβStringString[]HtmlAttrHtmlwhitewhite :: String Stringvspacevspace :: Int -> HtmlAttrfTIntHtmlAttrvlinkvlink :: String -> HtmlAttrijStringHtmlAttrversionversion :: String -> HtmlAttr&StringHtmlAttrvariablevariable :: Html -> Html~oHtmlHtmlvariablevariable :: Html -> HtmlִǴHtmlHtmlvariablevariable :: Html -> Html.HtmlHtmlvaluevalue :: String -> HtmlAttrwStringHtmlAttrvaluevalue :: String -> HtmlAttrյStringHtmlAttrvaluevalue :: String -> HtmlAttrH3StringHtmlAttrvalignvalign :: String -> HtmlAttrStringHtmlAttrvalignvalign :: String -> HtmlAttrStringHtmlAttrvalignvalign :: String -> HtmlAttrhSStringHtmlAttrusemapusemap :: String -> HtmlAttrȷStringHtmlAttrusemapusemap :: String -> HtmlAttr(StringHtmlAttrusemapusemap :: String -> HtmlAttrsStringHtmlAttrURLtype URL = StringURLtype URL = StringURLtype URL = String' unordList unordList ::  HTML a => [a] -> Html{HTMLa[]aHtml unordList unordList ::  HTML a => [a] -> Html HTMLa[]aHtml unordList unordList ::  HTML a => [a] -> Htmlz]HTMLa[]aHtml underline underline :: Html -> HtmlԺźHtmlHtmlulistulist :: Html -> Html&HtmlHtmlulistulist :: Html -> HtmlxiHtmlHtmlulistulist :: Html -> HtmlʻHtmlHtmltttt :: Html -> HtmlHtmlHtmltttt :: Html -> HtmlbSHtmlHtmltttt :: Html -> HtmlHtmlHtmltreeHtmltreeHtml :: [String] -> HtmlTree -> Html0[]StringHtmlTreeHtml treeColors treeColors :: [String]q[]Stringtrtr :: Html -> Html̽HtmlHtmltrtr :: Html -> Html HtmlHtmltrtr :: Html -> HtmldUHtmlHtmltoHtmlFromListtoHtmlFromList ::  HTML a => [a] -> Html߾¾HTMLa[]aHtmltoHtmlFromListtoHtmlFromList ::  HTML a => [a] -> HtmlZ=HTMLa[]aHtmltoHtmlFromListtoHtmlFromList ::  HTML a => [a] -> HtmlտHTMLa[]aHtmltoHtmltoHtml ::  HTML a => a -> Html8!HTMLaaHtmltoHtmltoHtml ::  HTML a => a -> HtmlHTMLaaHtmltoHtmltoHtml ::  HTML a => a -> HtmlHTMLaaHtmltitletitle :: String -> HtmlAttr\GStringHtmlAttrtitletitle :: String -> HtmlAttrStringHtmlAttrtitletitle :: String -> HtmlAttrStringHtmlAttrthetypethetype :: String -> HtmlAttrzeStringHtmlAttrthetypethetype :: String -> HtmlAttrStringHtmlAttrthetypethetype :: String -> HtmlAttr>)StringHtmlAttrthetitlethetitle :: Html -> HtmlHtmlHtmlthetitlethetitle :: Html -> HtmlHtmlHtmlthetitlethetitle :: Html -> HtmlF7HtmlHtmlthestylethestyle :: String -> HtmlAttrStringHtmlAttrthestylethestyle :: String -> HtmlAttrStringHtmlAttrthestylethestyle :: String -> HtmlAttrr]StringHtmlAttrthespanthespan :: Html -> HtmlHtmlHtmlthespanthespan :: Html -> HtmlHtmlHtmlthespanthespan :: Html -> HtmlteHtmlHtmlthemenuthemenu :: Html -> HtmlHtmlHtmlthemapthemap :: Html -> HtmlHtmlHtmlthemapthemap :: Html -> HtmlrcHtmlHtmlthemapthemap :: Html -> HtmlHtmlHtmlthelinkthelink :: Html -> Html HtmlHtmlthelinkthelink :: Html -> HtmlrcHtmlHtmlthelinkthelink :: Html -> HtmlHtmlHtmlthehtmlthehtml :: Html -> HtmlHtmlHtmlthehtmlthehtml :: Html -> HtmlteHtmlHtmlthehtmlthehtml :: Html -> HtmlHtmlHtmltheforthefor :: String -> HtmlAttr*StringHtmlAttrtheforthefor :: String -> HtmlAttruStringHtmlAttrtheforthefor :: String -> HtmlAttrStringHtmlAttrthedivthediv :: Html -> Html>/HtmlHtmlthedivthediv :: Html -> HtmlHtmlHtmlthedivthediv :: Html -> HtmlHtmlHtmlthecodethecode :: Html -> Html<-HtmlHtmlthecodethecode :: Html -> HtmlHtmlHtmlthecodethecode :: Html -> HtmlHtmlHtmltheclasstheclass :: String -> HtmlAttrL7StringHtmlAttrtheclasstheclass :: String -> HtmlAttrStringHtmlAttrtheclasstheclass :: String -> HtmlAttrStringHtmlAttrthebasethebase :: HtmlRKHtmlthebasethebase :: HtmlHtmlthebasethebase :: HtmlHtmltheadthead :: Html -> Html HtmlHtmltheadthead :: Html -> HtmlrcHtmlHtmltheadthead :: Html -> HtmlHtmlHtmlthth :: Html -> HtmlHtmlHtmlthth :: Html -> Html\MHtmlHtmlthth :: Html -> HtmlHtmlHtmltfoottfoot :: Html -> HtmlHtmlHtmltfoottfoot :: Html -> HtmlL=HtmlHtmltfoottfoot :: Html -> HtmlHtmlHtml textfield textfield :: String -> HtmlStringHtml textfield textfield :: String -> HtmlZIStringHtml textfield textfield :: String -> HtmlStringHtmltextareatextarea :: Html -> HtmlHtmlHtmltextareatextarea :: Html -> HtmlhYHtmlHtmltextareatextarea :: Html -> HtmlHtmlHtmltexttext :: String -> HtmlAttrStringHtmlAttrtealteal :: StringXOStringtdtd :: Html -> HtmlHtmlHtmltdtd :: Html -> HtmlHtmlHtmltdtd :: Html -> Html<-HtmlHtmltbodytbody :: Html -> HtmlHtmlHtmltbodytbody :: Html -> HtmlHtmlHtmltbodytbody :: Html -> Html2#HtmlHtmltargettarget :: String -> HtmlAttr}StringHtmlAttrtagtag :: String -> Html -> HtmlStringHtmlHtml*Constructs an element with a custom name. tagtag :: String -> Html -> HtmluStringHtmlHtml*Constructs an element with a custom name. tagtag :: String -> Html -> HtmlStringHtmlHtml*Constructs an element with a custom name. tabletable :: Html -> HtmlHtmlHtmltabletable :: Html -> HtmlHtmlHtmltabletable :: Html -> Html>/HtmlHtmlsupsup :: Html -> Html}HtmlHtmlsupsup :: Html -> HtmlHtmlHtmlsupsup :: Html -> Html(HtmlHtmlsubmitsubmit :: String -> String -> HtmlStringStringHtmlsubmitsubmit :: String -> String -> Html StringStringHtmlsubmitsubmit :: String -> String -> Html~eStringStringHtmlsubsub :: Html -> HtmlHtmlHtmlsubsub :: Html -> Html HtmlHtmlsubsub :: Html -> HtmlhYHtmlHtmlstylestyle :: Html -> HtmlHtmlHtmlstylestyle :: Html -> Html HtmlHtmlstylestyle :: Html -> Html^OHtmlHtmlstrongstrong :: Html -> HtmlHtmlHtmlstrongstrong :: Html -> HtmlHtmlHtmlstrongstrong :: Html -> HtmlZKHtmlHtmlstringToHtmlStringstringToHtmlString :: String -> StringStringString.Processing Strings into Html friendly things.  stringToHtml stringToHtml :: String -> Html`OStringHtmlhConvert a String to Html, converting characters that need to be escaped to HTML entities.  stringToHtml stringToHtml :: String -> Html,StringHtmlhConvert a String to Html, converting characters that need to be escaped to HTML entities.  stringToHtml stringToHtml :: String -> HtmlStringHtmlhConvert a String to Html, converting characters that need to be escaped to HTML entities. strikestrike :: Html -> HtmlHtmlHtmlstrAttrstrAttr :: String -> String -> HtmlAttr0StringStringHtmlAttrstrAttrstrAttr :: String -> String -> HtmlAttrStringStringHtmlAttrstrAttrstrAttr :: String -> String -> HtmlAttr( StringStringHtmlAttrstartstart :: Int -> HtmlAttrnIntHtmlAttrsrcsrc :: String -> HtmlAttrStringHtmlAttrsrcsrc :: String -> HtmlAttr4StringHtmlAttrsrcsrc :: String -> HtmlAttryStringHtmlAttr spaceHtml spaceHtml :: HtmlHtmlNon-breaking space.  spaceHtml spaceHtml :: Html&HtmlNon-breaking space.  spaceHtml spaceHtml :: Html|uHtmlNon-breaking space. smallsmall :: Html -> HtmlHtmlHtmlsmallsmall :: Html -> Html4%HtmlHtmlsmallsmall :: Html -> HtmlwHtmlHtmlsizesize :: String -> HtmlAttrStringHtmlAttrsizesize :: String -> HtmlAttr>)StringHtmlAttrsizesize :: String -> HtmlAttrStringHtmlAttr simpleTable  simpleTable ::  [HtmlAttr] ->  [HtmlAttr] -> [[Html]] -> HtmlT[]HtmlAttr[]HtmlAttr[][]HtmlHtmlIf you can't be bothered with the above, then you can build simple tables with simpleTable. Just provide the attributes for the whole table, attributes for the cells (same for every cell), and a list of lists of cell contents, and this function will build the table for you. It does presume that all the lists are non-empty, and there is at least one list. Different length lists means that the last cell gets padded. If you want more power, then use the system above, or build tables explicitly. silversilver :: String}StringshowHtmlFragmentshowHtmlFragment ::  HTML html => html -> String HTMLhtmlhtmlStringpRender a piece of HTML without adding a DOCTYPE declaration or root element. Does not add any extra whitespace. showHtmlFragmentshowHtmlFragment ::  HTML html => html -> StringHTMLhtmlhtmlStringpRender a piece of HTML without adding a DOCTYPE declaration or root element. Does not add any extra whitespace. showHtmlFragmentshowHtmlFragment ::  HTML html => html -> StringHTMLhtmlhtmlStringpRender a piece of HTML without adding a DOCTYPE declaration or root element. Does not add any extra whitespace. showHtmlshowHtml ::  HTML html => html -> StringHTMLhtmlhtmlStringOutput the HTML without adding newlines or spaces within the markup. This should be the most time and space efficient way to render HTML, though the ouput is quite unreadable. showHtmlshowHtml ::  HTML html => html -> String HTMLhtmlhtmlStringThe DOCTYPE for XHTML 1.0 Strict. Output the HTML without adding newlines or spaces within the markup. This should be the most time and space efficient way to render HTML, though the ouput is quite unreadable. showHtmlshowHtml ::  HTML html => html -> String\=HTMLhtmlhtmlStringOutput the HTML without adding newlines or spaces within the markup. This should be the most time and space efficient way to render HTML, though the ouput is quite unreadable. shapeshape :: String -> HtmlAttrjUStringHtmlAttrshapeshape :: String -> HtmlAttrStringHtmlAttrshapeshape :: String -> HtmlAttr&StringHtmlAttrselectedselected :: HtmlAttrncHtmlAttrselectedselected :: HtmlAttrHtmlAttrselectedselected :: HtmlAttrHtmlAttrselectselect :: Html -> HtmlRCHtmlHtmlselectselect :: Html -> HtmlHtmlHtmlselectselect :: Html -> HtmlHtmlHtml scrolling scrolling :: String -> HtmlAttr`KStringHtmlAttr scrolling scrolling :: String -> HtmlAttrStringHtmlAttrscriptscript :: Html -> Html HtmlHtmlscriptscript :: Html -> Htmln_HtmlHtmlscriptscript :: Html -> HtmlHtmlHtmlsamplesample :: Html -> HtmlHtmlHtmlsamplesample :: Html -> Htmlj[HtmlHtmlsamplesample :: Html -> HtmlHtmlHtmlrulesrules :: String -> HtmlAttrStringHtmlAttrrulesrules :: String -> HtmlAttrzeStringHtmlAttrrulesrules :: String -> HtmlAttrStringHtmlAttrrowspanrowspan :: Int -> HtmlAttr4"IntHtmlAttrrowspanrowspan :: Int -> HtmlAttr~IntHtmlAttrrowspanrowspan :: Int -> HtmlAttrIntHtmlAttrrowsrows :: String -> HtmlAttrH3StringHtmlAttrrowsrows :: String -> HtmlAttrStringHtmlAttrrowsrows :: String -> HtmlAttrStringHtmlAttrrevrev :: String -> HtmlAttrZEStringHtmlAttrrevrev :: String -> HtmlAttrStringHtmlAttrrevrev :: String -> HtmlAttrStringHtmlAttrresetreset :: String -> String -> Html~eStringStringHtmlresetreset :: String -> String -> HtmlStringStringHtmlresetreset :: String -> String -> Html^EStringStringHtmlrenderHtmlWithLanguagerenderHtmlWithLanguage ::  HTML html => String -> html -> String HTMLhtmlStringhtmlStringROutputs indented XHTML. Because space matters in HTML, the output is quite messy. renderHtmlFragmentrenderHtmlFragment ::  HTML html => html -> StringHTMLhtmlhtmlStringRender a piece of indented HTML without adding a DOCTYPE declaration or root element. Only adds whitespace where it does not change the meaning of the document. renderHtmlFragmentrenderHtmlFragment ::  HTML html => html -> StringHTMLhtmlhtmlStringRender a piece of indented HTML without adding a DOCTYPE declaration or root element. Only adds whitespace where it does not change the meaning of the document. renderHtmlFragmentrenderHtmlFragment ::  HTML html => html -> String@!HTMLhtmlhtmlStringRender a piece of indented HTML without adding a DOCTYPE declaration or root element. Only adds whitespace where it does not change the meaning of the document.  renderHtml renderHtml ::  HTML html => html -> String\=HTMLhtmlhtmlStringQOutputs indented HTML. Because space matters in HTML, the output is quite messy.  renderHtml renderHtml ::  HTML html => html -> String( HTMLhtmlhtmlStringQOutputs indented HTML. Because space matters in HTML, the output is quite messy.  renderHtml renderHtml ::  HTML html => html -> StringHTMLhtmlhtmlStringQOutputs indented HTML. Because space matters in HTML, the output is quite messy. relrel :: String -> HtmlAttrStringHtmlAttrrelrel :: String -> HtmlAttrStringHtmlAttrrelrel :: String -> HtmlAttrS>StringHtmlAttrredred :: StringStringradioradio :: String -> String -> HtmlStringStringHtmlradioradio :: String -> String -> HtmlmTStringStringHtmlradioradio :: String -> String -> HtmlStringStringHtmlquotequote :: Html -> Html/ HtmlHtmlquotequote :: Html -> HtmlrHtmlHtmlquotequote :: Html -> HtmlHtmlHtmlpurplepurple :: String String primHtmlChar primHtmlChar :: String -> HtmlwfStringHtml primHtmlChar primHtmlChar :: String -> HtmlStringHtml primHtmlChar primHtmlChar :: String -> Html?.StringHtmlprimHtmlprimHtml :: String -> HtmlStringHtmlThis is not processed for special chars. use stringToHtml or lineToHtml instead, for user strings, because they understand special chars, like <. primHtmlprimHtml :: String -> Html  StringHtmlThis is not processed for special chars. use stringToHtml or lineToHtml instead, for user strings, because they understand special chars, like <. primHtmlprimHtml :: String -> Html  StringHtmlThis is not processed for special chars. use stringToHtml or lineToHtml instead, for user strings, because they understand special chars, like <. prettyHtmlFragmentprettyHtmlFragment ::  HTML html => html -> String  HTMLhtmlhtmlStringfRender a piece of indented HTML without adding a DOCTYPE declaration or a root element. The indentation is done inside elements. This can change the meaning of the HTML document, and is mostly useful for debugging the HTML output. The implementation is inefficient, and you are normally better off using showHtmlFragment or renderHtmlFragment. prettyHtmlFragmentprettyHtmlFragment ::  HTML html => html -> String  HTMLhtmlhtmlStringfRender a piece of indented HTML without adding a DOCTYPE declaration or a root element. The indentation is done inside elements. This can change the meaning of the HTML document, and is mostly useful for debugging the HTML output. The implementation is inefficient, and you are normally better off using showHtmlFragment or renderHtmlFragment. prettyHtmlFragmentprettyHtmlFragment ::  HTML html => html -> StringHTMLhtmlhtmlStringfRender a piece of indented HTML without adding a DOCTYPE declaration or a root element. The indentation is done inside elements. This can change the meaning of the HTML document, and is mostly useful for debugging the HTML output. The implementation is inefficient, and you are normally better off using showHtmlFragment or renderHtmlFragment.  prettyHtml prettyHtml ::  HTML html => html -> StringqHTMLhtmlhtmlStringOutputs indented HTML, with indentation inside elements. This can change the meaning of the HTML document, and is mostly useful for debugging the HTML output. The implementation is inefficient, and you are normally better off using showHtml or renderHtml.  prettyHtml prettyHtml ::  HTML html => html -> StringHTMLhtmlhtmlStringOutputs indented HTML, with indentation inside elements. This can change the meaning of the HTML document, and is mostly useful for debugging the HTML output. The implementation is inefficient, and you are normally better off using showHtml or renderHtml.  prettyHtml prettyHtml ::  HTML html => html -> StringHTMLhtmlhtmlStringOutputs indented HTML, with indentation inside elements. This can change the meaning of the HTML document, and is mostly useful for debugging the HTML output. The implementation is inefficient, and you are normally better off using showHtml or renderHtml. prepre :: Html -> HtmlHtmlHtmlprepre :: Html -> HtmlL=HtmlHtmlprepre :: Html -> HtmlHtmlHtmlpasswordpassword :: String -> HtmlStringHtmlpasswordpassword :: String -> HtmlRAStringHtmlpasswordpassword :: String -> HtmlStringHtmlparamparam :: HtmlHtmlparamparam :: Html"Htmlparamparam :: Html\UHtml paragraph paragraph :: Html -> HtmlHtmlHtml paragraph paragraph :: Html -> HtmlHtmlHtml paragraph paragraph :: Html -> Htmlj[HtmlHtmlpp :: Html -> HtmlHtmlHtmlSame as paragraph. pp :: Html -> Html HtmlHtmlSame as paragraph. pp :: Html -> Html|mHtmlHtmlSame as paragraph. ordListordList ::  HTML a => [a] -> HtmlHTMLa[]aHtmlordListordList ::  HTML a => [a] -> HtmlpSHTMLa[]aHtmlordListordList ::  HTML a => [a] -> HtmlHTMLa[]aHtmloptionoption :: Html -> Html1"HtmlHtmloptionoption :: Html -> HtmlvHtmlHtmloptionoption :: Html -> HtmlHtmlHtmloptgroupoptgroup :: Html -> Html1"HtmlHtmloptgroupoptgroup :: Html -> HtmlzHtmlHtmloptgroupoptgroup :: Html -> HtmlHtmlHtmloliveolive :: StringStringolistolist :: Html -> HtmlqbHtmlHtmlolistolist :: Html -> HtmlHtmlHtmlolistolist :: Html -> HtmlHtmlHtmlobjectobject :: Html -> HtmliZHtmlHtmlobjectobject :: Html -> HtmlHtmlHtmlobjectobject :: Html -> Html  HtmlHtmlnowrapnowrap :: HtmlAttrU J HtmlAttrnoshadenoshade :: HtmlAttr  HtmlAttrnoscriptnoscript :: Html -> Html  HtmlHtmlnoscriptnoscript :: Html -> HtmlK! Html!!HtmlHtmlnoresizenoresize :: HtmlAttr!!HtmlAttrnoresizenoresize :: HtmlAttr3"("HtmlAttrnoHtmlnoHtml :: Htmlo"h"HtmlAn empty piece of HTML. noHtmlnoHtml :: Html""HtmlAn empty piece of HTML. noHtmlnoHtml :: Html##HtmlAn empty piece of HTML. nohrefnohref :: HtmlAttrs#h#HtmlAttrnohrefnohref :: HtmlAttr##HtmlAttrnohrefnohref :: HtmlAttr##HtmlAttrnoframesnoframes :: Html -> HtmlS$D$HtmlHtmlnoframesnoframes :: Html -> Html$$HtmlHtmlnavynavy :: String$$Stringnamename :: String -> HtmlAttrC%.%StringHtmlAttrnamename :: String -> HtmlAttr%%StringHtmlAttrnamename :: String -> HtmlAttr%%StringHtmlAttrmultiplemultiple :: HtmlAttrC&8&HtmlAttrmultiplemultiple :: HtmlAttr&&HtmlAttrmultiplemultiple :: HtmlAttr&&HtmlAttrmethodmethod :: String -> HtmlAttr3''StringHtmlAttrmethodmethod :: String -> HtmlAttr'~'StringHtmlAttrmethodmethod :: String -> HtmlAttr''StringHtmlAttrmetameta :: Html+($(Htmlmetameta :: Htmlc(\(Htmlmetameta :: Html((Htmlmenumenu :: String -> [Html] -> Html )(String[]HtmlHtmlmenumenu :: String -> [Html] -> Html)b)String[]HtmlHtmlmenumenu :: String -> [Html] -> Html))String[]HtmlHtml maxlength maxlength :: Int -> HtmlAttrQ*?*IntHtmlAttr maxlength maxlength :: Int -> HtmlAttr**IntHtmlAttr maxlength maxlength :: Int -> HtmlAttr+*IntHtmlAttrmaroonmaroon :: StringQ+H+String marginwidth marginwidth :: Int -> HtmlAttr++IntHtmlAttr marginwidth marginwidth :: Int -> HtmlAttr,,IntHtmlAttr marginheight marginheight :: Int -> HtmlAttr,m,IntHtmlAttr marginheight marginheight :: Int -> HtmlAttr,,IntHtmlAttrlinklink :: String -> HtmlAttrA-,-StringHtmlAttr lineToHtml lineToHtml :: String -> Html--StringHtml@This converts a string, but keeps spaces as non-line-breakable.  lineToHtml lineToHtml :: String -> HtmlA.0.StringHtml@This converts a string, but keeps spaces as non-line-breakable.  lineToHtml lineToHtml :: String -> Html..StringHtml@This converts a string, but keeps spaces as non-line-breakable.  linesToHtml linesToHtml :: [String] -> Html/t/[]StringHtmlThis converts a string, but keeps spaces as non-line-breakable, and adds line breaks between each of the strings in the input list.  linesToHtml linesToHtml :: [String] -> Htmly0b0[]StringHtmlThis converts a string, but keeps spaces as non-line-breakable, and adds line breaks between each of the strings in the input list.  linesToHtml linesToHtml :: [String] -> Htmlg1P1[]StringHtmlThis converts a string, but keeps spaces as non-line-breakable, and adds line breaks between each of the strings in the input list. limelime :: String'22Stringlili :: Html -> Htmls2d2HtmlHtmllili :: Html -> Html22HtmlHtmllili :: Html -> Html 32HtmlHtmllegendlegend :: Html -> Html_3P3HtmlHtmllegendlegend :: Html -> Html33HtmlHtmllegendlegend :: Html -> Html43HtmlHtmllanglang :: String -> HtmlAttrc4N4StringHtmlAttrlanglang :: String -> HtmlAttr44StringHtmlAttrlanglang :: String -> HtmlAttr55StringHtmlAttrlabellabel :: Html -> Htmlm5^5HtmlHtmllabellabel :: Html -> Html55HtmlHtmllabellabel :: Html -> Html66HtmlHtmlkeyboardkeyboard :: Html -> Htmli6Z6HtmlHtmlkeyboardkeyboard :: Html -> Html66HtmlHtmlkeyboardkeyboard :: Html -> Html7 7HtmlHtmlitalicsitalics :: Html -> Htmlo7`7HtmlHtmlitalicsitalics :: Html -> Html77HtmlHtmlitalicsitalics :: Html -> Html8 8HtmlHtmlitagitag :: String -> Htmlo8^8StringHtmlDConstructs an element with a custom name, and without any children. itagitag :: String -> Html98StringHtmlDConstructs an element with a custom name, and without any children. itagitag :: String -> Html99StringHtmlDConstructs an element with a custom name, and without any children. isNoHtmlisNoHtml :: Html -> Bool;:,:HtmlBool1Checks whether the given piece of HTML is empty. isNoHtmlisNoHtml :: Html -> Bool::HtmlBool1Checks whether the given piece of HTML is empty. isNoHtmlisNoHtml :: Html -> BoolM;>;HtmlBool1Checks whether the given piece of HTML is empty. ismapismap :: HtmlAttr;;HtmlAttrismapismap :: HtmlAttr<;HtmlAttrismapismap :: HtmlAttrD<9<HtmlAttrisindexisindex :: Html<{<HtmlintAttrintAttr :: String -> Int -> HtmlAttr<<StringIntHtmlAttrintAttrintAttr :: String -> Int -> HtmlAttrn=T=StringIntHtmlAttrintAttrintAttr :: String -> Int -> HtmlAttr==StringIntHtmlAttrinsins :: Html -> Html2>#>HtmlHtmlinsins :: Html -> Html>q>HtmlHtmlinsins :: Html -> Html>>HtmlHtmlinputinput :: Html??Htmlinputinput :: HtmlB?;?Htmlinputinput :: Html|?u?Htmlimageimage :: Html??Htmlimageimage :: Html??Htmlimageimage :: Html*@#@Htmliframeiframe :: Html -> Html~@o@HtmlHtml identifier identifier :: String -> HtmlAttr@@StringHtmlAttr identifier identifier :: String -> HtmlAttrNA9AStringHtmlAttr identifier identifier :: String -> HtmlAttrAAStringHtmlAttr httpequiv httpequiv :: String -> HtmlAttrBBStringHtmlAttr httpequiv httpequiv :: String -> HtmlAttrBmBStringHtmlAttr httpequiv httpequiv :: String -> HtmlAttrBBStringHtmlAttrHtmlTreedata HtmlTreeCThe basic idea is you render your structure in the form of this tree, and then use treeHtml to turn it into a Html object with the structure explicit.  HtmlTabledata  HtmlTableCWe internally represent the Cell inside a Table with an object of the type
Int -> Int -> Html
When we render it later, we find out how many columns or rows this cell will span over, and can include the correct colspan/rowspan command.  HTMLTABLEclass  HTMLTABLE ht#EHtmlNode HtmlNode :: Html ->  [HtmlTree] -> Html -> HtmlTreeEEHtml[]HtmlTreeHtmlHtmlTreeHtmlLeafHtmlLeaf :: Html -> HtmlTreeF FHtmlHtmlTreehtmlAttrhtmlAttr :: String -> Html -> HtmlAttrF~FStringHtmlHtmlAttrhtmlAttrhtmlAttr :: String -> Html -> HtmlAttrGFStringHtmlHtmlAttrhtmlAttrhtmlAttr :: String -> Html -> HtmlAttrGrGStringHtmlHtmlAttrHtmlAttrdata HtmlAttrG Attributes with name and value. HtmlAttrdata HtmlAttrH Attributes with name and value. HtmlAttrdata HtmlAttriH Attributes with name and value. Htmldata HtmlHHtmldata HtmlHHtmldata Html IHTMLclass HTML aHtml elements, or a String, for example. HTMLclass HTML aJHTML is the class of things that can be validly put inside an HTML tag. So this can be one or more Html elements, or a String, for example. HTMLclass HTML aJHTML is the class of things that can be validly put inside an HTML tag. So this can be one or more Html elements, or a String, for example. hspacehspace :: Int -> HtmlAttrKKIntHtmlAttrhreflanghreflang :: String -> HtmlAttr&LLStringHtmlAttrhreflanghreflang :: String -> HtmlAttrLuLStringHtmlAttrhreflanghreflang :: String -> HtmlAttrLLStringHtmlAttrhrefhref :: String -> HtmlAttrJM5MStringHtmlAttrhrefhref :: String -> HtmlAttrMMStringHtmlAttrhrefhref :: String -> HtmlAttrNMStringHtmlAttrhrhr :: Html6N/NHtmlhrhr :: HtmljNcNHtmlhrhr :: HtmlNNHtml hotLinkURL hotLinkURL :: HotLink -> URLNNHotLinkURL hotLinkURL hotLinkURL :: HotLink -> URL^OMOHotLinkURL hotLinkURL hotLinkURL :: HotLink -> URLOOHotLinkURLhotLinkContentshotLinkContents :: HotLink -> Html*PPHotLinkHtmlhotLinkContentshotLinkContents :: HotLink -> HtmlPPHotLinkHtmlhotLinkContentshotLinkContents :: HotLink -> HtmlQPHotLinkHtmlhotLinkAttributeshotLinkAttributes :: HotLink ->  [HtmlAttr]QfQHotLink[]HtmlAttrhotLinkAttributeshotLinkAttributes :: HotLink ->  [HtmlAttr]RQHotLink[]HtmlAttrhotLinkAttributeshotLinkAttributes :: HotLink ->  [HtmlAttr]RfRHotLink[]HtmlAttrhotlinkhotlink :: URL -> Html -> HotLinkRRURLHtmlHotLinkhotlinkhotlink :: URL -> Html -> HotLinkbSKSURLHtmlHotLinkhotlinkhotlink :: URL -> Html -> HotLinkSSURLHtmlHotLinkHotLink HotLink :: URL -> Html ->  [HtmlAttr] -> HotLinkhTATURLHtml[]HtmlAttrHotLinkHotLinkdata HotLinkTHotLink HotLink :: URL -> Html ->  [HtmlAttr] -> HotLink0U UURLHtml[]HtmlAttrHotLinkHotLinkdata HotLinkbUHotLink HotLink :: URL -> Html ->  [HtmlAttr] -> HotLinkUUURLHtml[]HtmlAttrHotLinkHotLinkdata HotLink*Vhiddenhidden :: String -> String -> HtmlVVStringStringHtmlhiddenhidden :: String -> String -> HtmlWVStringStringHtmlhiddenhidden :: String -> String -> HtmlWgWStringStringHtmlheightheight :: String -> HtmlAttrWWStringHtmlAttrheightheight :: String -> HtmlAttr@X+XStringHtmlAttrheightheight :: String -> HtmlAttrXXStringHtmlAttrheaderheader :: Html -> HtmlXXHtmlHtmlheaderheader :: Html -> HtmlHY9YHtmlHtmlheaderheader :: Html -> HtmlYYHtmlHtmlh6h6 :: Html -> HtmlYYHtmlHtmlh6h6 :: Html -> Html4Z%ZHtmlHtmlh6h6 :: Html -> HtmlZqZHtmlHtmlh5h5 :: Html -> HtmlZZHtmlHtmlh5h5 :: Html -> Html[ [HtmlHtmlh5h5 :: Html -> Htmld[U[HtmlHtmlh4h4 :: Html -> Html[[HtmlHtmlh4h4 :: Html -> Html[[HtmlHtmlh4h4 :: Html -> HtmlH\9\HtmlHtmlh3h3 :: Html -> Html\\HtmlHtmlh3h3 :: Html -> Html\\HtmlHtmlh3h3 :: Html -> Html,]]HtmlHtmlh2h2 :: Html -> Htmlx]i]HtmlHtmlh2h2 :: Html -> Html]]HtmlHtmlh2h2 :: Html -> Html^^HtmlHtmlh1h1 :: Html -> Html\^M^HtmlHtmlh1h1 :: Html -> Html^^HtmlHtmlh1h1 :: Html -> Html^^HtmlHtmlguigui :: String -> Html -> Html\_E_StringHtmlHtmlguigui :: String -> Html -> Html__StringHtmlHtmlguigui :: String -> Html -> Html,``StringHtmlHtmlgreengreen :: Stringj`a`Stringgraygray :: String``Stringfuchsiafuchsia :: String``Stringframesetframeset :: Html -> Html@a1aHtmlHtmlframesetframeset :: Html -> HtmlaaHtmlHtml frameborder frameborder :: Int -> HtmlAttraaIntHtmlAttr frameborder frameborder :: Int -> HtmlAttr`bNbIntHtmlAttrframeframe :: Html -> HtmlbbHtmlHtmlframeframe :: Html -> HtmlcbHtmlHtmlformform :: Html -> HtmlTcEcHtmlHtmlformform :: Html -> HtmlccHtmlHtmlformform :: Html -> HtmlccHtmlHtmlfontfont :: Html -> HtmlDd5dHtmlHtmlfieldsetfieldset :: Html -> HtmlddHtmlHtmlfieldsetfieldset :: Html -> HtmlddHtmlHtmlfieldsetfieldset :: Html -> HtmlLe=eHtmlHtmlfaceface :: String -> HtmlAttreeStringHtmlAttrenctypeenctype :: String -> HtmlAttr feStringHtmlAttrenctypeenctype :: String -> HtmlAttrlfWfStringHtmlAttrenctypeenctype :: String -> HtmlAttrffStringHtmlAttr emptyAttr emptyAttr :: String -> HtmlAttr4ggStringHtmlAttr emptyAttr emptyAttr :: String -> HtmlAttrggStringHtmlAttr emptyAttr emptyAttr :: String -> HtmlAttrhgStringHtmlAttr emphasize emphasize :: Html -> HtmlZhKhHtmlHtml emphasize emphasize :: Html -> HtmlhhHtmlHtml emphasize emphasize :: Html -> HtmlihHtmlHtmldtermdterm :: Html -> Html`iQiHtmlHtmldtermdterm :: Html -> HtmliiHtmlHtmldtermdterm :: Html -> HtmljiHtmlHtmldlistdlist :: Html -> HtmlVjGjHtmlHtmldlistdlist :: Html -> HtmljjHtmlHtmldlistdlist :: Html -> HtmljjHtmlHtmldisableddisabled :: HtmlAttrBk7kHtmlAttrdisableddisabled :: HtmlAttrkkHtmlAttrdisableddisabled :: HtmlAttrkkHtmlAttrdirdir :: Html -> Html llHtmlHtmldeldel :: Html -> Htmlnl_lHtmlHtmldeldel :: Html -> HtmlllHtmlHtmldeldel :: Html -> Html mlHtmlHtmldefListdefList :: (HTML a, HTML b) => [(a, b)] -> HtmlmimHTMLaHTMLb[](,)abHtmldefListdefList :: (HTML a, HTML b) => [(a, b)] -> Html,nmHTMLaHTMLb[](,)abHtmldefListdefList :: (HTML a, HTML b) => [(a, b)] -> HtmlnnHTMLaHTMLb[](,)abHtmldefinedefine :: Html -> HtmlooHtmlHtmldefinedefine :: Html -> HtmleoVoHtmlHtmldefinedefine :: Html -> HtmlooHtmlHtml debugHtml debugHtml ::  HTML a => a -> Html"p pHTMLaaHtmlThis uses the above tree rendering function, and displays the Html as a tree structure, allowing debugging of what is actually getting produced. ddefddef :: Html -> HtmlqpHtmlHtmlddefddef :: Html -> HtmlSqDqHtmlHtmlddefddef :: Html -> HtmlqqHtmlHtml copyright copyright :: HtmlqqHtmlCopyright sign.  copyright copyright :: Html7r0rHtmlCopyright sign.  copyright copyright :: HtmlrrHtmlCopyright sign. coordscoords :: String -> HtmlAttrrrStringHtmlAttrcoordscoords :: String -> HtmlAttrYsDsStringHtmlAttrcoordscoords :: String -> HtmlAttrssStringHtmlAttrcontentcontent :: String -> HtmlAttrttStringHtmlAttrcontentcontent :: String -> HtmlAttr}thtStringHtmlAttrcontentcontent :: String -> HtmlAttrttStringHtmlAttr concatHtml concatHtml ::  HTML a => [a] -> HtmlRu5uHTMLa[]aHtml concatHtml concatHtml ::  HTML a => [a] -> HtmluuHTMLa[]aHtml concatHtml concatHtml ::  HTML a => [a] -> Html8vvHTMLa[]aHtmlcompactcompact :: HtmlAttr~vsvHtmlAttrcolspancolspan :: Int -> HtmlAttrvvIntHtmlAttrcolspancolspan :: Int -> HtmlAttr6w$wIntHtmlAttrcolspancolspan :: Int -> HtmlAttrwwIntHtmlAttrcolscols :: String -> HtmlAttrwwStringHtmlAttrcolscols :: String -> HtmlAttrJx5xStringHtmlAttrcolscols :: String -> HtmlAttrxxStringHtmlAttrcolorcolor :: String -> HtmlAttryxStringHtmlAttrcolgroupcolgroup :: Html -> Html\yMyHtmlHtmlcolgroupcolgroup :: Html -> HtmlyyHtmlHtmlcolgroupcolgroup :: Html -> Html zyHtmlHtmlcolcol :: Html -> HtmlZzKzHtmlHtmlcolcol :: Html -> HtmlzzHtmlHtmlcolcol :: Html -> HtmlzzHtmlHtmlcodebasecodebase :: String -> HtmlAttrZ{E{StringHtmlAttrcodebasecodebase :: String -> HtmlAttr{{StringHtmlAttrcodebasecodebase :: String -> HtmlAttr"| |StringHtmlAttrcodecode :: String -> HtmlAttr~|i|StringHtmlAttrclickmapclickmap :: String -> Html||StringHtmlclickmapclickmap :: String -> Html6}%}StringHtmlclickmapclickmap :: String -> Html}}StringHtmlclearclear :: String -> HtmlAttr}}StringHtmlAttrcitecite :: Html -> Html@~1~HtmlHtmlcitecite :: Html -> Html~~HtmlHtmlcitecite :: Html -> Html~~HtmlHtmlcheckedchecked :: HtmlAttr&HtmlAttrcheckedchecked :: HtmlAttrlaHtmlAttrcheckedchecked :: HtmlAttrHtmlAttrcheckboxcheckbox :: String -> String -> Html(StringStringHtmlcheckboxcheckbox :: String -> String -> HtmlStringStringHtmlcheckboxcheckbox :: String -> String -> HtmlStringStringHtmlcentercenter :: Html -> HtmlhYHtmlHtml cellspacing cellspacing :: Int -> HtmlAttŕIntHtmlAttr cellspacing cellspacing :: Int -> HtmlAttr0IntHtmlAttr cellspacing cellspacing :: Int -> HtmlAttrIntHtmlAttr cellpadding cellpadding :: Int -> HtmlAttrIntHtmlAttr cellpadding cellpadding :: Int -> HtmlAttr\JIntHtmlAttr cellpadding cellpadding :: Int -> HtmlAttrIntHtmlAttrcellcell :: HTMLTABLE ht => ht ->  HtmlTable7 HTMLTABLEhtht HtmlTablecaptioncaption :: Html -> Html~HtmlHtmlcaptioncaption :: Html -> HtmlԄHtmlHtmlcaptioncaption :: Html -> Html9*HtmlHtmlbuttonbutton :: Html -> Html~HtmlHtmlbuttonbutton :: Html -> Html҅HtmlHtmlbuttonbutton :: Html -> Html5&HtmlHtmlbulletbullet :: HtmlqjHtmlbulletbullet :: HtmlHtmlbulletbullet :: HtmlHtmlbrbr :: HtmlHtmlbrbr :: HtmlQJHtmlbrbr :: Html~Html bordercolor bordercolor :: String -> HtmlAttrڇStringHtmlAttr bordercolor bordercolor :: String -> HtmlAttrYDStringHtmlAttr bordercolor bordercolor :: String -> HtmlAttrÈStringHtmlAttrborderborder :: Int -> HtmlAttr IntHtmlAttrborderborder :: Int -> HtmlAttrweIntHtmlAttrborderborder :: Int -> HtmlAttrщIntHtmlAttrboldbold :: Html -> Html!HtmlHtmlboldbold :: Html -> HtmlqbHtmlHtmlboldbold :: Html -> HtmlHtmlHtmlbodybody :: Html -> HtmlHtmlHtmlbodybody :: Html -> HtmlaRHtmlHtmlbodybody :: Html -> HtmlHtmlHtmlblueblue :: StringString blockquote blockquote :: Html -> HtmlI:HtmlHtml blockquote blockquote :: Html -> HtmlHtmlHtml blockquote blockquote :: Html -> HtmlHtmlHtmlblackblack :: String?6Stringbigbig :: Html -> Html~HtmlHtmlbigbig :: Html -> Htmlۍ̍HtmlHtmlbigbig :: Html -> Html)HtmlHtmlbgcolorbgcolor :: String -> HtmlAttrvStringHtmlAttrbesidesbesides :: HTMLTABLE ht => [ht] ->  HtmlTable HTMLTABLEht[]ht HtmlTablebesidebeside :: "(HTMLTABLE ht1, HTMLTABLE ht2) => ht1 -> ht2 ->  HtmlTableƏ HTMLTABLEht1 HTMLTABLEht2ht1ht2 HtmlTablebdobdo :: Html -> HtmlHtmlHtmlbdobdo :: Html -> HtmlbSHtmlHtmlbdobdo :: Html -> HtmlHtmlHtmlbasefontbasefont :: HtmlHtmlbasebase :: String -> HtmlAttrL7StringHtmlAttrbasebase :: String -> HtmlAttrStringHtmlAttrbasebase :: String -> HtmlAttrStringHtmlAttr background background :: String -> HtmlAttrlWStringHtmlAttrareaarea :: HtmlHtmlareaarea :: HtmlܒՒHtmlareaarea :: Html Htmlarchivearchive :: String -> HtmlAttrvaStringHtmlAttrarchivearchive :: String -> HtmlAttrؓÓStringHtmlAttrarchivearchive :: String -> HtmlAttr:%StringHtmlAttraquaaqua :: StringvmStringappletapplet :: Html -> HtmlʔHtmlHtmlanchoranchor :: Html -> HtmlHtmlHtmlanchoranchor :: Html -> HtmlrcHtmlHtmlanchoranchor :: Html -> HtmlƕHtmlHtmlaltcodealtcode :: String -> HtmlAttr(StringHtmlAttraltcodealtcode :: String -> HtmlAttruStringHtmlAttraltcodealtcode :: String -> HtmlAttrזStringHtmlAttraltalt :: String -> HtmlAttrF1StringHtmlAttraltalt :: String -> HtmlAttrStringHtmlAttraltalt :: String -> HtmlAttrStringHtmlAttralinkalink :: String -> HtmlAttrXCStringHtmlAttralignalign :: String -> HtmlAttrStringHtmlAttralignalign :: String -> HtmlAttrStringHtmlAttralignalign :: String -> HtmlAttrr]StringHtmlAttrafileafile :: String -> HtmlșStringHtmlafileafile :: String -> Html StringHtmlafileafile :: String -> HtmltcStringHtmladdressaddress :: Html -> HtmlʚHtmlHtmladdressaddress :: Html -> Html HtmlHtmladdressaddress :: Html -> HtmlvgHtmlHtmlADDATTRSclass ADDATTRS aADDATTRSclass ADDATTRS aADDATTRSclass ADDATTRS aactionaction :: String -> HtmlAttr{fStringHtmlAttractionaction :: String -> HtmlAttrۜƜStringHtmlAttractionaction :: String -> HtmlAttr;&StringHtmlAttracronymacronym :: Html -> HtmlHtmlHtmlacronymacronym :: Html -> Html؝HtmlHtmlacronymacronym :: Html -> Html=.HtmlHtmlabovesaboves :: HTMLTABLE ht => [ht] ->  HtmlTable HTMLTABLEht[]ht HtmlTableaboveabove :: "(HTMLTABLE ht1, HTMLTABLE ht2) => ht1 -> ht2 ->  HtmlTablet8 HTMLTABLEht1 HTMLTABLEht2ht1ht2 HtmlTableabbrabbr :: Html -> HtmlğHtmlHtmlabbrabbr :: Html -> HtmlHtmlHtmlabbrabbr :: Html -> HtmldUHtmlHtml<< (<<) ::  HTML a =>  (Html -> b) -> a -> b HTMLaHtmlbab&Put something inside an HTML element. << (<<) ::  HTML a =>  (Html -> b) -> a -> beHTMLaHtmlbab&Put something inside an HTML element. << (<<) ::  HTML a =>  (Html -> b) -> a -> b'HTMLaHtmlbab&Put something inside an HTML element.  () :: "(HTMLTABLE ht1, HTMLTABLE ht2) => ht1 -> ht2 ->  HtmlTableǢ HTMLTABLEht1 HTMLTABLEht2ht1ht2 HtmlTable<-> (<->) :: "(HTMLTABLE ht1, HTMLTABLE ht2) => ht1 -> ht2 ->  HtmlTable} HTMLTABLEht1 HTMLTABLEht2ht1ht2 HtmlTable+++ (+++) :: (HTML a, HTML b) => a -> b -> HtmlAHTMLaHTMLbabHtml]Create a piece of HTML which is the concatenation of two things which can be made into HTML. +++ (+++) :: (HTML a, HTML b) => a -> b -> Html&HTMLaHTMLbabHtml]Create a piece of HTML which is the concatenation of two things which can be made into HTML. +++ (+++) :: (HTML a, HTML b) => a -> b -> Html HTMLaHTMLbabHtml]Create a piece of HTML which is the concatenation of two things which can be made into HTML. ! (!) :: ADDATTRS a => a ->  [HtmlAttr] -> aǦADDATTRSaa[]HtmlAttra! (!) :: ADDATTRS a => a ->  [HtmlAttr] -> avNADDATTRSaa[]HtmlAttra! (!) :: ADDATTRS a => a ->  [HtmlAttr] -> aէADDATTRSaa[]HtmlAttraxhtmlpackage xhtml&An XHTML combinator library This package provides combinators for producing XHTML 1.0, including the Strict, Transitional and Frameset variants. XHtmlmodule Text.XHtmlAn XHTML combinator library. Based on the original Text.Html library by Andy Gill. See http://www.cse.ogi.edu/~andy/html/intro.htm for an introduction to that library. This module re-exports Text.XHtml.Transitional, which produces XHTML 1.0 Transitional. Use Text.XHtml.Strict if you want XHTML 1.0 Strict, and Text.XHtml.Frameset if you want to produce XHTML 1.0 Frameset. See http://www.w3.org/TR/xhtml1/ for more information about XHTML 1.0.  Transitionalmodule Text.XHtml. Transitional!Produces XHTML 1.0 Transitional. Tablemodule Text.XHtml.TableiTable combinators for XHTML. Strictmodule Text.XHtml.StrictProduces XHTML 1.0 Strict. Framesetmodule Text.XHtml.FramesetProduces XHTML 1.0 Frameset. Debugmodule Text.XHtml.DebugkEThis module contains functions for displaying HTML as a pretty tree. /ܬЬTextXHtmlTextXHtmlFramesetTextXHtmlStrictTextXHtml TransitionalTextXHtmlDebugTextXHtmlTableIxhtml 3000.2.0.1Fhttp://hackage.haskell.org/packages/archive/xhtml/3000.2.0.1/doc/html/@http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xhtml