q      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                            !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                               ! ! ! ! ! ! " " " " " " # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ % % % % % % % % % % % % % % % % % % % % & & & & & & ' ' ' ' ' ' ( ( ) ) ) * * * * * * * * * * * * * ********+, , , , , ,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/-0-1-2-3-4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|0}0~0011111111111111111111111111111111111111111222222222223333334444444444444444444444445555566666666666666666666666677777777777777777777777777 7 7 7 7 777787777777777999: :!:":#:$:%:&:':(:):*:+:,;-;.;/;0;1;2;3;4;5;6;7;8;9<:<;<<<=<>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8888888888888888888888888888888888888888888888888>>>>>>>>>>>>>>??????@@@@@@@@@@@@@@@@@@@@AAAAAAAAABBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDD D D D D DDDDDDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6E7E8E9E:E;E<E=E>E?E@EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeFfFgFhFiFjGkGlGmGnGoGpGL-longest suffix of path that does not contain q -longest suffix of path that does not contain r )longest prefix so that the rest contains r; entire string if no r present splits input at each q 'drop the last component of a file path      2parse contents of Date field according to RFC2822 " stuvwxyz{|}~       " !"#$%&'()*+,-./0123456789:;<=><removes illegal characters and sequences of -- from comment ?@ITakes element and attribute. Attaches attribute to the element. Replaces ! prior attribute with same name. ; !"#$%&'()*+,-./0123456789:;<=>?@(6987012345#+*(&$,-./,-.,),',%/ "!:;<=>?@! "!!"#+*(&$,-./,-.,),',%/$%&'()*+,-./012345123456987789:;<=>?@$ABCDEFGHIJempty node sequence LMconcatenation of sequences cleanup of attribute values NO@create a text node with all illegal characters properly escaped P*create a text node from any Showable type QHcreate a text node where the string is dropped into the webpage without $ change, e.g., preserving entities RSTUVWXYZ[\]^_`abcde,#045ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde*GFEBCDAHIJMNLOPQRTUSWXVYZ[\]^`_badce#04545$ABCDCDEFGHIJLMNOPQRSTUVWXYZ[\]^_`abcdeyfghijklmnopqrstuvwxyz{|}~{BYfghijklmnopqrstuvwxyz{|}~yfghijklmnopqrstuvwxyz{|}~yfghijklmnopqrstuvwxyz{|}~ ] !"#$%&'()*+,-./0123456789:;<=>?@ '      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !" !"#$%&'()*+,-./0123456789:;<=>?@      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"    '" !     ~|}z{xyvwturspqnolmjkhifgdebc`a^_\]Z[XYVWTURSPQNOLMJKHIFGDEBC@A>?<=:;8967452301./,-*+()&'$%"# !     ~|}z{xyvwturspqnolmjkhifgdebc`a^_\]Z[XYVWTURSPQNOLMJKHIFGDEBC@A>?<=:;8967452301./,-*+()&'$%"# !     '         !!"##$%%&''())*++,--.//011233455677899:;;<==>??@AABCCDEEFGGHIIJKKLMMNOOPQQRSSTUUVWWXYYZ[[\]]^__`aabccdeefgghiijkklmmnoopqqrsstuuvwwxyyz{{|}}~         !!"##$%%&''())*++,--.//011233455677899:;;<==>??@AABCCDEEFGGHIIJKKLMMNOOPQQRSSTUUVWWXYYZ[[\]]^__`aabccdeefgghiijkklmmnoopqqrsstuuvwwxyyz{{|}}~         !!" #$%&'()*+,-./012345678Z !"#$%&'()*+,-./0123456789:;<=>?@#$%&'()*+,-./0123456 78345126./0+,-'()*%&7#$8#$$%&&'()*()*+,-,-./0/012234545678 9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@#$%&'()*+,-./0123456 789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~|}~yz{vwxstupqrmnojklghidefabc^_`[\]XYZUVWRSTOPQLMNIJKFGHCDE@AB=>?:;<789456123./0+,-()*%&'"#$ !     ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      }~{|yzwxuvstqropmnklijghefcdab_`]^[\YZWXUVSTQROPMNKLIJGHEFCDAB?@=>;<9:78563412/0-.+,)*'(%&#$!"      }~{|yzwxuvstqropmnklijghefcdab_`]^[\YZWXUVSTQROPMNKLIJGHEFCDAB?@=>;<9:78563412/0-.+,)*'(%&#$!"      }~{|yzwxuvstqropmnklijghefcdab_`]^[\YZWXUVSTQROPMNKLIJGHEFCDAB?@=>;<9:9::;<<=>>?@@ABBCDDEFFGHHIJJKLLMNNOPPQRRSTTUVVWXXYZZ[\\]^^_``abbcddeffghhijjkllmnnoppqrrsttuvvwxxyzz{||}~~         !""#$$%&&'(()**+,,-../001223445667889::;<<=>>?@@ABBCDDEFFGHHIJJKLLMNNOPPQRRSTTUVVWXXYZZ[\\]^^_``abbcddeffghhijjkllmnnoppqrrsttuvvwxxyzz{||}~~         !""#$$%&&'(()**+,,-../001223445667889::;<<=>>?@@ABBCDDEFFGHHIJJKLLMNNOPPQRRSTTUVVWXXYZZ[\\]^^_``abbcddeffghhijjkllmnnoppqrrsttuvvwxxyzz{||}~~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         ! !"#$#$%&'&'()*)*+,-,-./0/0123234565678989:;<;<=>?>?@ABABCDEDEFGHGHIJKJKLMNMNOPQPQRSTSTUVWVWXYZYZ[\]\]^_`_`abcbcdefefghihijklklmnonopqrqrstutuvwxwxyz{z{|}~}~  !"#$%&'()*+,H-?      !"#$$data type for representing ISO time %&'()*0returns number of seconds since reference point +,-./0compute weekday of Jan 1 Ain seconds from epoch; needs to be updated when time leaps again 12345.external entry point 6argument determines whether extended format is parsed  time parsers /Iproblem: 19720630T235960 and 19720701T000000 are both mapped to the same M number, 78796800, and then addLeapSeconds adds one yielding 78796801. While > this is correct for 19720701T000000, 19720630T235960 must be N 78796800. Implemented solution: if the current second specification is 0 and 5 the time to convert is the leap second, then add 1. s      !"#$%&'()*+012,-./3456789:;<0=>?@AB12CDEFGHIJKLMNOP345QRSTUVWXYZ[\]^_`abcde=,-./)*+0&('12$%"#!      345=        !  !"##$%%&(''()*+*+,-./012345 6789:;<=>? 6789:;<=>? 6?>=<;:987 6 ?>=<;:987789:;<=>?@ type of handles to a PE of type a ABC@ABC@CAB@CABABCDEFGHLA constructor is represented by its name, a list of field names (if defined < using record notation), and the list of its argument types IJIA data declaration consists of the name of the data type, a list of type 7 variables, and a list of constructor representations. KLLA type representation is built from base types, type variables, tuples, and # references to data-defined types. MNOPQ7A type specification consists of a type representation L and a list of  type declarations. RSTUVWDEFGHIJKLMNOPQRSTfgUhVWQRLPONMJKHIFGSTUVWDEDEEFGGHIIJKKLPONMMNOPQRRSTUVWX5tries to derive a MIME content type from a file name XXXYShell meta characters are 1! & ; \` \' \" | * ? ~ \< \> ^ ( ) [ ] true $ n r ZAQuotes all shell meta characters and removes non printable ones. YZYZYZ[\[i\[\[\jkl]^mnopqrstuvwxy]^]^]^_BCreate a probabilistically unique filename from a name and a type  descriptor. `WCreate a probabilistically unique filename from a name and the type of a given value. _`_`_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q=#045ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeabcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p qbcaefdhigkljnomqrptuswxvz{y}~|                           " # ! % & $ ( ) ' + , * . / - 1 2 0 4 5 3 7 8 6 : ; 9 = > < @ A ? C D B F G E I J H L M K O P N R S Q U V T X Y W [ \ Z ^ _ ] a b ` d e c g h f j k i m n l p q oabcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a bABEFGHIJKY r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b ` a b \ ] ^ _ Y Z [ V W X S T U P Q R M N O J K L G H I D E F A B C > ? @ ; < = 8 9 : 5 6 7 2 3 4 / 0 1 , - . ) * + & ' ( # $ % ! "                           ~  { | } x y z u v w r s t o p q l m n i j k f g h c d e ` a b ] ^ _ Z [ \ W X Y T U V Q R S N O P K L M H I J E F G B C D ? @ A < = > 9 : ; 6 7 8 3 4 5 0 1 2 - . / * + , ' ( ) $ % & ! " #                            ~ } | { z y x v w t u r s p q n o l m j k h i f g d e b c ` a ^ _ \ ] Z [ X Y V W T U R S P Q N O L M J K H I F G D E B C @ A > ? < = : ; 8 9 6 7 4 5 2 3 0 1 . / , - * + ( ) & ' $ % " # !                           ~  | } z { x y v w t u r s p q n o l m j k h i f g d e b c ` a ^ _ \ ] Z [ X Y V W T U R S P Q N O L M J K H I F G D E B C @ A > ? < = : ; 8 9 6 7 4 5 2 3 0 1 . / , - * + ( ) & ' $ % " # !                           ~  | } z { x y v w t u r sGFEBHIJKAY r s s t u u v w w x y y z { { | } } ~                                                                                                              ! ! " # # $ % % & ' ' ( ) ) * + + , - - . / / 0 1 1 2 3 3 4 5 5 6 7 7 8 9 9 : ; ; < = = > ? ? @ A A B C C D E E F G G H I I J K K L M M N O O P Q Q R S S T U U V W W X Y Y Z [ [ \ ] ] ^ _ _ ` a a b c c d e e f g g h i i j k k l m m n o o p q q r s s t u u v w w x y y z { { | } } ~                                                                                                              ! ! " # # $ % % & ' ' ( ) ) * + + , - - . / / 0 1 1 2 3 3 4 5 5 6 7 7 8 9 9 : ; ; < = = > ? ? @ A A B C C D E E F G G H I I J K K L M M N O O P Q Q R S S T U U V W W X Y Y Z [ [ \ ] ] ^ _ _ ` a a b c c d e e f g g h i i j k k l m m n o o p q q r s s t u u v w w x y z { | } ~                                                      ! " # " # $ % & % & ' ( ) ( ) * + , + , - . / . / 0 1 2 1 2 3 4 5 4 5 6 7 8 7 8 9 : ; : ; < = > = > ? @ A @ A B C D C D E F G F G H I J I J K L M L M N O P O P Q R S R S T U V U V W X Y X Y Z [ \ [ \ ] ^ _ ^ _ ` a b a b c d e d e f g h g h i j k j k l m n m n o p q p q r s t s t u v w v w x y z y z { | } | } ~                                                                                           ! " ! " # $ % $ % & ' ( ' ( ) * + * + , - . - . / 0 1 0 1 2 3 4 3 4 5 6 7 6 7 8 9 : 9 : ; < = < = > ? @ ? @ A B C B C D E F E F G H I H I J K L K L M N O N O P Q R Q R S T U T U V W X W X Y Z [ Z [ \ ] ^ _ ] ^ _ ` a a b c d e f g h i j k l m n o p q r s t u v w x y z {( c d e f g h i j k l m n o p q r s t uz{|}~ v w x y z { p q r s t u o v w y x z n c m l k j i h g f e d { c m l k j i h g f e d d e f g h i j k l m n o p q r s t u q r s t u v w x y z { | } ~  | } ~   | } ~   | } ~       /First class style elements. Intended for CSS2. reference to style sheet combine two styles primitive style name :=: value Acollects a style into a list of class names and primitive styles  )Attaches a style to a field constructor. a field constructor, typically  HTMLField #styled version of this constructor      global root for WASH data    .Perform URI encoding of a list of bytes. See   /http://www.w3.org/International/O-URL-code.html K To encode a list of characters, the string first has to be UTF-8 encoded! )Perform URI decoding to a list of bytes.     &maps Unicode string to list of octets 8maps list of octets in UTF-8 encoding to Unicode string     KYields encoded input cropped to lines of less than 76 characters. Directly  usable as email body. #yields continuous stream of bytes. #Directly applicable to email body. 0Only applicable to stream of Base64 characters. Applicable to list of lines. #Base64 alphabet in encoding order.    ! 'maps (mediatype, contents) to data URL maps data URL to Just (mediatype, contents) or Nothing in case of a  syntax error.     I "       # parameters of the media type suggested filename, OBSOLETE 9sets Content-Disposition, e.g. for suggesting a filename ? depending on mediatype only one of the following is relevant: $data, only relevant for binary data )lines, only relevant for text mediatypes -data, only relevant for multipart mediatypes )        $ Dtransform HTML Element into document suitable for sending as email.    %          & #     '    (    ) 2Creates a random string of 20 letters and digits. :Creates a unique string from a given length and alphabet. $Create a unique temporary file name    * from sysexit.h N       +,'      !"#$%&'()*+,-.Gcollect takes an element, a list of open templates, a list of finished E templates, and returns a pair (open templates, finished templates). =      !"#$%&'()*+,-.' !"#$   %  &'()*+,-.'          !"#$%&'()*+,-.-/Ccreate a standard XHTML page from a title string and body elements 0Screate a standard XHTML page without heading from a title string and body elements 1Lcreate a standard XHTML page from a title string, a stylesheet URL and body  elements 2Icreate an XHTML page with CSS reference but without heading from a title 5 string, the URL of the stylesheet and body elements 3=create a bare XHTML root tag with proper namespace attribute A#045ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeabcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q/0123/0123/0123.'45Ilog and state id, server threads with replay as fallback (only with WSP) 6Agenerate state id, server threads without replay (only with WSP) 7;generate log in hidden field, full server replay (default) 89:;<+generate absolute path URL, only (default) =3generate full URL including scheme, host, and port >Mautodetect Https by checking for port number 443 and env var HTTPS (default) ?do not attempt to detect Https @'use this port number in generated URLs AHinclude automatically generated port number in generated URLs (default) B-do not include port number in generated URLs CDEinternal name F MIME type Gcontents as octet stream HI redirection JKL status code Mreason phrase Nmore explanation OKAssumes that file contains correctly formatted HTTP Response starting with 4 Content-Type. Used internally to implement frames. PQRS5valid local filename where this file can be accessed TUVWXYZ'456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ'VWXQRSTUOPJKLMNHICDEFG9BA@?>=<:;84765YZ'476556789 BA@?>=<:;:;<=>?@ABCDEFGDEFGHIIJKLMNKLMNOPPQRSTURSTUVWXWXYZ/$[=Data type for transforming a field into an optional one. The  syntax of  Absent" is the empty string, whereas the  syntax of  Present a is just the   syntax of a. Analogously for . \]^JA Password is a string of length >= 8 with characters taken from at least O three of the four sets: lower case characters, upper case characters, digits,  and special characters. _`a+Arbitrary string data. No quotes required. bcdNon-empty strings of digits. efgPhone numbers. hijNon-empty strings. klm-Reads credit card expiration dates in format /. nopq:Reads a credit card number and performs Luhn check on it. rst-Reads an email address according to RFC 2822 uvwmethod x$ of this class maps a value of type a to an explanation of & the input syntax for a value of type a xyzAnalogous to Maybe.fromJust {Analogous to Maybe.fromMaybe 1Optional items are either empty or just the item String in URL format  Date and time in ISO8601 format %[\]^_`abcdefghijklmnopqrstuvwxyz{!wxytuvqrsmnopjklghidefabc^_`[]\z{![]\\]^_`_`abcbcdefefghihijklklmnopnopqrsrstuvuvwxyxyz{0|}~|}~1)+corresponding to CGI environment variables 1internal representation of a CGI parameter value name, contentType, content ))) 2 $record entry for all DB operations. ( the string is already the result of a ( show operation for DB tuples, so it is  doubly encoded :-(  record of a set operation  record of a get operation  record of a remove operation  record of a create or init operation )recorded stateID at start of transaction !recorded stateID before the mark record of a form input ,result of an IO operation shown as a string    3"Turn this off for production use. JCreates a shell script suitable for replaying the interactive submission.  4 Decoding of 9.  Decoding of 9.  Decoding of 9.  Decoding of 9. 6Initial and default content type of a link submission LConstruct a CGI environment from the input and output handle of the current 6 connection and the CGI variables in the environment. <Main entry point for low-level CGI scripts. Takes a list of 9 and  a  and runs it as a CGI script. Q     5I(internal) takes an output handle and a document without forms and input J widgets, displays the document with suitable mime type and encoding, and  terminates the program  J 89:;<=>?@AB 9BA@?>=<:;86KThe user aborts the loading of an image (for example by clicking a link or  clicking the Stop button). BA form element loses focus or when a window or frame loses focus. OA select, text, or textarea field loses focus and its value has been modified.  An object on a form is clicked. 1The user double-clicks a form element or a link. MThe user drops an object onto the browser window, such as dropping a file on  the browser window. 4The loading of a document or image causes an error. LA window, frame, or frameset receives focus or when a form element receives  input focus. The user depresses a key. &The user presses or holds down a key. The user releases a key. RThe browser finishes loading a window or all of the frames within a FRAMESET tag. #The user depresses a mouse button. The user moves the cursor. KThe cursor leaves an area (client-side image map) or link from inside that  area or link. JThe cursor moves over an object or area from outside that object or area. "The user releases a mouse button. ,The user or script moves a window or frame. 0The user resets a form (clicks a Reset button). .The user or script resizes a window or frame. CThe user selects some of the text within a text or textarea field. DThe user submits a form. Event handler must return true to continue 1 submission. Returning false concels submission. The user exits a document. LRedirect result of form submission to specific target. Attach to submission  button. 7,     1wrapper to transform IO computation to CGIAction lift IO monad to CGI monad D      !"#$%&'()*+,-./0,     ,           91: ,Abstract data type of frame set generators.  !"6Division of space between elements of a frameset. See   9http://wp.netscape.com/assist/net_sites/frame_syntax.html #the % format $the * format % in pixels &8Overall layout of a frame set: row-wise or column-wise. '()HCreate a frameset, given a layout, its spacing, and its subframe(set)s. *?Create a single frame. Returns the assigned name of the frame. additional attributes to  frame contents of the frame %returns HTML generator for the frame +ERequired wrapper for pages with frames. Takes a title and a FrameSet " generator and displays the page.  !"#$%&'()*23+ &('"%$# !)*+  ! !"%$##$%&(''()*+; ,-.script name and hash key /root has no parent 01&timeout for this stage of interaction 2+next round of parameters and output handle 38comprises the name of the application and a hash value. 4Gstandard value for timeout of interaction threads: one hundred seconds 56JTakes the id of the current node, the id of the father node (if any), the N current parameter, and (perhaps) a timeout value for the current interaction ; and enters a corresponding record into the history table. 7HSuspends the current thread by waiting on an entry with the current node's 1 id. Returns the parameters passed to this node. 8KAttempts to pass parameters and a handle to a thread waiting for the given L stateID. Returns True if successful and False if no such thread was found. ,-./0123456784 435,-./012678 ,-./012-./012345678<9 Type of a ; action in a transactional scope with a result variable of  type a. :;<=9:;<=9:;<=9:;:;<==>Safe embedding of an 5 action into the  monad. Intentionally not G parameterized ver its monad to avoid its use inside of transactions. ?Runs a 6 state transformer forever. Its specification is just  # feedback f x = f x >>= feedback f  However, ?* is more efficient because it avoids the I buildup of long interaction logs by cutting back every time just before f  is invoked. Unfortunately, it'&s useless due to typing restrictions. @Control operator for the  monad. Its specification is  = callWithCurrentHistory (\backto x -> action x >>= backto) x  == H action x >>= callWithCurrentHistory (\backto x -> action x >>= backto)  However, @* is more efficient because it avoids the I buildup of long interaction logs by cutting back every time just before  action gets executed. A Brackets a 5 action so that only its result is visible. Improves N efficiency by not executing the bracketed action after it has been performed O once. Use this for avoiding the inefficient buildup of long interaction logs. B Repeats a 9 action without saving its state so that the size of the # interaction log remains constant. CUnsafe variant of A2: returns the computed value only the first time 7 and returns a default value in all later invocations.  [deprecated] DDirectly lifts the 5 monad into the ! monad. This is generally unsafe  and should be avoided. Use > instead. EDTakes a monadic value that constructs a HTML page and delivers this E page to the browser. This page may contain forms and input widgets. FImplementation of E for the pure logged variant. G3Experimental implementation of continuous version. HLike E., but passes the constructed HTML page to the  elementAction I parameter. This function may send the page via Email or store it into a I file. Anyone loading this page in a browser can resume the interaction. ITurns a  action into an 5 action. Used to turn the main  action  into the main' function of the program. Typical use:  main = run mainCGI JTurns a  action into an 5 action. Used to turn the main  action  into the main5 function of the program. Takes additional low-level  options. Typical use: " main = runWithOptions [] mainCGI K Variant of I where an additional argument cgigen specifies an action F taken when the script is invoked with a non-empty query string as in  script-name?query-string LFTransform a CGI action into a servlet suitable for running from Marlow's web  server. MLike L% with additional CGI generator as in K. N:Terminates script by sending its argument to the browser. OA(experimental: continuous version) send argument to the browser. PQJTerminate script by sending a HTML page constructed by monadic argument. RST Link to previous page in browser's history. Uses JavaScript. U$Plain Hyperlink from an URL string. VWA  translator is a function [String] -> CGI (). It takes the query string  of the URL (of type [String]) and translates it into a CGI  action. docTranslator docs next  takes a list of DC. documents and a next translator. It tries to  select a document by its E and falls through to the  next$ translator if no document matches. X&Terminates a sequence of translators. Y:Internal: name for the submission variable and form field #>?@ABC6DEFGHIJK7LM8N9OPQ:RSTU;VWX<Y>?@ABCDEFGHIJKLMNOPQRSTUVWXY>?@ABCDEFGHIJKLMNOPQRSTUVWXY8UZ[\]^_`abcdeHEvery input widget maps the content generator for the widget (which may O produce HTML elements or attributes) to the content generator of the widget. fghijklmnopqrstuvwxyz{|}~'Create a hyperlink to internal entity. internal name of entity body of the reference -Create a popup hyperlink to internal entity. name of popup window internal name of entity $Create hyperlink to internal entity / path?name. Hcreate a virtual input field from the concatenation of two input fields KCreate a virtual input field from the result of applying a function to two F input fields. Parsing is applied to the result of the function call. /Combine the values of separately parsed fields 9Creates a reset button that clears all fields of a form. 4Creates a submit button. Unsafe. Internal use only. JCreates an input field that submits the field to the browser when data is  entered into this field. /Function that maps input data to a CGI action. IAttach a CGI action to the value returned by the input field. Activation 8 means that data is submitted as soon as it is entered. ECreate a textual input field. Return type can be *anything* in class w  and . MCreate a textual input field that returns the string entered. (Avoids having ! to put quotes around a string.) GCreates a textual input field that takes a custom validation function. Like 2 but the characters are not echoed on the screen. Creates a checkbox. Returns = if box was checked. 0Creates a file input field. Returns a temporary RQ. The  S9 of the result is *not* guaranteed to be persistent. The @ application is responsible for filing it away at a safe place. !Creates a file input field. Like  but has an additional 3 parameter for additional validation of the input. 5generates a hyperlink that submits the current form. 3Create an input field from an image. Returns (x,y)  position clicked in the image. 'Create a handle for a new radio group. 'This handle is invisible on the screen! 7Create a new radio button and attach it to an existing _^. 5Create and place the error indicator for an existing _^ . Becomes 8 visible only if no button of a radio group is pressed. Create a single button. EWraps an HTML form around its arguments. All standard attributes are / computed and need not be supplied explicitly. )Create a text area with a preset string. ?Create a selection box where multiple entries can be selected. %function to display values of type a list of preselected entries list of all possible entries 3(min, max) number of fields that must be selected @Create a selection box where exactly one entry can be selected. %function to display values of type a optional preselected value list of all possible values  Selection box for elements of a Bounded type. Argument is the optional  preselected value.  Create a SIZE attribute from an >.  Create a  MAXLENGTH attribute from an >.  Create a VALUE attribute from any able. Reference to internal image. the raw image alternative text ?Reference to internal image via data URL (small images, only). the raw image alternative text HReference to internal image via javascript URL (does not seem to work). the raw image alternative text Reference to image by URL.  URL of image alternative text Create an inline image. @Hyperlink that creates a named popup window from an URL string. restart application. MConvenient workhorse. Takes the title of a page and a monadic HTML value for M the contents of the page. Wraps the contents in a form so that input fields ! and buttons may be used inside. eZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?@ABCDEFGHIJKLMVvwxyz{|}~qrstufponmlkjihge^_`abcdZ[\]UZ[\][\]^_`abcd_`abcdef ponmlkjihgghijklmnopqrsturstuvwxyz{|}~wxyz{|}~>0create a submission button with attached action -create a continuation button with parameters "submission with staged validation IAttach a CGI action to the value returned by the input field. Activation 8 means that data is submitted as soon as it is entered. N?Ntransforms an unvalidated input handle into either an error or a valid handle 4extract a value from various kinds of input handles @OPQRSTUV o oK#045ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeabcdefghijklmnopqrstuvwxyz{|}~                          ! " # $ % & ' ( ) * + , - . / 0 1 2 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q /012389:;<=>?@ABCDEFGHIJKLMNQRSTUabcdefjklmnopqrstuv"#$%&'()*+>ABEHIKLMNQTUWXZ^evuEN>IABQHZTUe^vKWXJKLMNHICDEFGQRSTUabcjkldeftuvqrsmnop9BA@?>=<:;8LM&('"%$#*)+AWXYZ[ check name& returns the current handle to cookie name if that exists. create name initValue creates cookie name with initial value  initValue , and returns its current handle. The cookie 7 expires at the end of the current run of the browser. like > with additional parameter specifying number of minutes until  cookie expires. #initExpiring name minutes initValue works like  except that the  expiration time is minutes in the future. init name initValue" returns current handle to cookie name . If the 7 cookie did not exist before, it is created and set to  initialValue . The cookie 7 expires at the end of the current run of the browser.  get handle returns the cookie',s value if the handle is current, otherwise  returns \ current handle returns Nothing if handle! is still current. Otherwise, it  returns Just newHandle where  newHandle) is current for the cookie pointed to by  handle. ]set handle newValue overwrites the cookie' s value with newValue if the J handle is current. In that case it returns a handle which is current for  newValue. Otherwise, the result is \.  delete handle" removes the cookie determined by handle. ^_` @ @ B abandon with result (rollback) set result on failure  set result on successful commit a3Checks presence of a transaction mark on the stack bKPops log entries up to and including the transaction mark with given state  ID. c<Splits the log at the transaction mark with given state ID. d>Applies a function to a transaction mark with given state ID. eUnnested transaction nested transaction CKa selection group is a virtual field that never appears on the screen, but % gives rise to a hidden input field!  abstract row  abstract table (twodimensional) LTransform an IO action that produces a table in list form into a CGI action " that returns an abstract table. EAccess abstract table by row and column. Produces a test node in the  document monad. 7Create a selection group for a table. Selects one row. 0Create a selection button for an abstract table GCreate a labelled selection display for an abstract table. The display M function takes the button element and a list of text nodes corresponding to 9 the selected row and is expected to perform the layout. )Create a choice group for a table (0-*). /Create one choice button for an abstract table DCreate a labelled choice display for an abstract table. The display M function takes the button element and a list of text nodes corresponding to 9 the selected row and is expected to perform the layout. fghijD.MAbstract type of decisions trees. These trees provide structured validation. klB comes handy when you want to tag an input handle with some extra M information, which is not itsefl an input handle and which is not validated K by a form submission. The tag is the first argument and the handle is the * second argument of the data constructor. > is required to pass an unknown number of handles of the same > type need to the callback function in a form submission. The @ handles need to be collected in a list and then wrapped in the  data constructor       "$&(*,1Create a submission button with attached action. Cinput field handles to be validated and passed to callback action 2callback maps valid input handles to a CGI action 3returns a field so that attributes can be attached -7Create a continuation button that takes no parameters. .LCreate a submission button whose attached action is fired whenever the form P is submitted without explicitly clicking any submit button. This can happen if ( an input field has an attached onclick=submit() action. /8Create an ordinary link serving as a submission button. 0Create a continuation link. 12MCreate a submission button whose validation proceeds according to a decision  tree. Trees are built using 3 and 4. 35Create a leaf in a decision tree from a CGI action. 4ECreate a node in a decision tree. Takes an invalid input field and a N continuation. Validates the input field and passes it to the continuation if N the validation was successful. The continuation can dispatch on the value of 3 the input field and produces a new decision tree. 5IAttach a CGI action to the value returned by the input field. Activation 8 means that data is submitted as soon as it is entered. :      !"#$%&'()*+,-./012345:      "$&(*!#%')+,-.234/015,         "$&(*,-./012345L#045ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeabcdefghijklmnopqrstuvwxyz{|}~                          ! " # $ % & ' ( ) * + , - . / 0 1 2 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q /012389:;<=>?@ABCDEFGHIJKLMNQRSTUVWX[\]^_`abcdefghijklmnopqrstuv"#$%&'()*+>@ABEHIJKLMNQTUWXZ^ev     ,-./012345EN>IJAB@QHZTU/0312e,-.5/01234^v     KWXJKLMNHICDEFGQRSTUabcjkldefghituvqrsmnop^_`[]\9BA@?>=<:;8VWXLM&('"%$#*)+E06789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcma field constructor, typically e #styled version of this constructor dABEFGHIJKY r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b 89:;<=>?@ABCDEFGHIJKLMNQRSTUVWX[\]^_`abcdefghijklmnopqrstuv"#$%&'()+>@ABIKLMNWXZ^ev     346789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd6N>IAB@78Z9:<;=>?@_`acbeABCDEJKLFGHI34MONPQRS^TUVWXY[Zv     \]^KWXJKLMNHICDEFGQRSTUabcjkldefghituvqrsmnop^_`[]\9BA@?>=<:;8VWXLM&('"%$#d)+/6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdF nopqreinit name initialValue creates a new PE with name name with initial  value  initialValue8 and returns the handle to the initial value. If the PE  already exists, then init* returns the handle to the current value. f get handle retrieves the value of handle . This value may not be current ; because the handle may point to a snapshot from the past. gset handle newValue6 tries to overwrite the value of the pe pointed to by  handle with newValue . Succeeds  Just handle1 if handle is current, in 7 this case it returns a handle to the new value. Fails Nothing if the handle  is not current. hadd handle addValue# conceptually, this operation adds addValue to the  set of values stored in handle+. Since this set is represented as a list,  handle must point to a value of type [a]. Since the PE is assumed to & contain a set, it does not matter if handle is current. However, the H returned handle is guaranteed to be current with a value that contains  addValue. icurrent handle* returns a handle to the PE pointed to by  handle . It returns Nothing if handle is still current. Otherwise, it  returns Just newHandle where  newHandle is current in the sense defined  above. Using the  newHandle obtained from current explicitly discards the  value pointed to by handle/ in favor of a value that may have been stored 7 by a concurrently executing script. Use with caution! @efghi@efghiefghiGs(Descriptor of a transactional variable. tuvariable name vvalue on first read  Nothing if not read   Just Nothing if created  Just (Just val) first value wvalue after last write  Nothing if not written to   Just Nothing if removed  Just (Just val) if val was written xwithD creates a transactional scope in which transactional variables can N be manipulated. Transactions may be nested to an arbitrary depth, although a N check with the current state of the world only occurs at the point where the ) top-level transaction tries to commit. with1 takes three parameters, a default value of type result, a / continuation, and a body function that maps a Control record to a < transactional computation. There are three ways in which a G transaction may be completed. First, the transaction may be abandoned  explicitly by a call to the abandon" function supplied as part of the  Control@ record. In this case, the continuation is invoked on a pre-set K failure return value. Second, the transaction body runs to completion but H fails to commit. In this case, the continuation is also invoked on the N pre-set failure return value. Third, the transaction body runs to completion M and commits successfully. In this case, the continuation is invoked, but on  the pre-set success value.  The resultB-type argument initializes the default return value for both, the L success and the failure case. The body function implements the body of the  transaction. jk#Handle of a transactional variable ylAttempt to create a new tv n. and set its initial value. Returns handle to M the variable. If the variable already exists, then just returns the handle. m4Read transactional variable through a typed handle. nIWrite to a transactional variable through typed handle. Only affects the  log, no physical7 write happens. Checks physically for existence of the L variable (but tries the log first). Raises exception if it does not exist. oKCreate a fresh transactional variable with an initial value and return its > handle. Performs a physical write to ensure that the variable' s name is E unique. Locks the transaction directory during the write operation. pKRemove a transactional variable. Subsequent read accesses to this variable O will make the transaction fail. May throw an exception if the variable is not  present. z=Read value of a variable first from log prefix. Return value True ! indicates a value from the log, False' indicates a value read from file. May 6 raise an exception if the variable has been removed. {GObtain list of descriptors of transaction variables from a list of log M entries. Each variable has at most one descriptor. Input list is in reverse  chronological order, e.g.", the earliest entries come last. |&Get the descriptors and try to commit }JAttempt to commit a list of descriptors by checking for the old values to I match and then overwriting with the new values. A read-only transaction G always succeeds, even if the values have changed after they have been  read. Returns True if commit succeeded. ~KCheck if the values of all transactional variable in a list of descriptors = match the current values. Called with all variables locked. NOverwrite transactional variables from a list of descriptors with new values. ,Check that no variable has been written to. KPhysically access current shared value of transactional variable. Internal  use only. EPhysically overwrite current shared value of transactional variable. =Physically checks the existence of a transactional variable. *Physically remove transactional variable. 9jklmnop klopmnj9jklmnopMNOPQRSTUVWWXXYYZZ[\\]^_`abcdefghijklmnopqrkstuvwwxyz{|}~      !" # # $ $ % & ' ( ) * * + , - . / / 0 1 2 3 4 5 6 7 8 8 9 9 : : ; ; < < = = > > ? ? @ @ A A B B C C D D E E F F G G H H I I J J K K L L M M N N O O P P Q Q R R S S T T U U V V W W X X Y Y Z Z [ [ \ \ ] ] ^ ^ _ _ ` ` a a b b c c d d e e f f g g h h i i j j k k l l m m n n o o p p q q r r s s t t u u v v w w x x y y z z { { | | } } ~ ~                                                                                                                                                                                                                                                                                                                                     ! ! " " # # $ $ % % & & ' ' ( ( ) ) * * + + , , - - . . / / 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 : : ; ; < < = = > > ? ? @ @ A A B B C C D D E E F F G G H H I I J J # # $ $ K ' ( ) * * + - . / / 0 1 7 8 8 9 9 : : ; ; < < = = > > ? ? @ @ A A B B C C D D E E F F G G H H I I J J K K L L M M N N O O P P Q Q R R S S T T U U V V W W X X Y Y Z Z [ [ \ \ ] ] ^ ^ _ _ ` ` a a b b c c d d e e f f g g h h i i j j k k l l m m n n o o p p q q r r s s t t u u v v w w x x y y z z { { | | } } ~ ~                                                                                                                                                                                                                                                                                                                                     ! ! " " # # $ $ % % & & ' ' ( ( ) ) * * + + , , - - . . / / 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 : : ; ; < < = = > > ? ? @ @ A A B B C C D D E E F F G G H H I I J J L M N O P Q R S T U V  W X Y Z [ \ ] ^ _ ` a b c d e f g h i  j k l m n  o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                       [     $ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~|zxvtrpmkhfdb`^\ZXUSQOM8899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~            !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~|      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXuvwxyzYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~K##"     STU !"#$%V    & '!(!)!*!!!+",","-"-".".#/#0#1#2#2#3#4#5#6##7#8#8#9#9#:#;#<#=#>#?#?#@#A#f#B#C#D#E#F$G%H%H%I%I%c%c%J%J%K%K%L%M%N%O%P%Q%R%S%T%U&V&V&W&X&Y&Z'['\']'^'_'`(a(b)c)d)e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z+{,|,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----...................................).).../////////////////////////////////0000111111111111111111111111111111111111111112222 2 2 2 2 222333333444444444444 4!4"4#4$4%4&4'4(4)44*4+5,5-5.5/506162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H7I7J7K7L7M7M7N7O7P7P77Q7R7S77T7U7V7W7W7X7Y7Z7[7\7]7^7_7`7a7b7c7c7d7e7f77g7h7i7j7k7l7m7n9o9p9q:r:r:s:t:u:v:w:x:::y:z:{;|;|;};~;;;;;;;;;<<<<<============================88888888888888<88888888888888888888888888888888888888888888888888888888888888888888888>>>>>>>>>>>>>>??????@@@@@@ @ @ @ @ @@@@@@@@@@AA AAAAAAABBB B!B"B#B$C%C%C&C'C(C)C*C+C+C,C,C-C.C/C0C1C2C3C4C5C6C7C8C9DD:D:D;D;D<D<D=D=D>D>D?D?D@D@DADADBDBDCDCDDDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZDDDD[D\D]DDDDEEEEEEEEEEEEEEEEE[E\E]EEEEEEEEEEEEEEEEEEEEEEEEEEEEzFFFF3FG^GGGGG G_`abcdefghijklmnopqrstuvwxyz{|}~)                                                             ~ | z x v t r p  m k  h f d b ` ^ \ Z X  U S Q O M     3 4 5 6     Hluz                   ! ! ! ! I I I I I I I I II I I !I "" #" $" %" &" '" (" )" *" +" ,# -# .# /# 0# 1# 2# 3# 4# 5# 6# 7% 8% 9% :% ;& <& =& >& ?& @& A& B& C& D& E& F& G& H& I& J& K& L& M& & N&& O& P& Q& R& S& T&& U) V) W, X, Y, Z, [, \, ], ^, _, `, a, b, c, d, e, f, g, h, i, j, k, l, m n o p q/ r/ s/ t/ u/ v/ w/ x3 y3 z3 {3 |3 }4 ~4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 7 7 77 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 9 : : ;  = = = = = = =   8 888 8 8 8 8 8 8 8 8 8 8 8 > @ @ @ @ @ @ @ @ A A A A A   A A A8A B B B B B^C C C C C DDEF F F F F G G G G G G GG G G G G G G G G G G G WashNGo-2.12.0.1WASH.Utility.FileNamesWASH.Mail.EmailConfigWASH.Mail.RFC2822WASH.Mail.ContentDispositionWASH.HTML.HTMLBaseWASH.HTML.HTMLMonadBaseWASH.HTML.HTMLMonad98WASH.HTML.HTMLMonadAttrsWASH.HTML.HTMLTypedBaseWASH.HTML.HTMLPreludeWASH.HTML.HTMLTypedBase98WASH.HTML.HTMLPrelude98WASH.Utility.Base32WASH.Utility.SimpleParserWASH.Utility.ISO8601 WASH.CGI.HTTPWASH.CGI.StateItemWASH.CGI.TypesWASH.CGI.ContentTypeWASH.Utility.ShellWASH.Utility.BulkIOWASH.Utility.SHA1WASH.CGI.MakeTypedNameWASH.HTML.HTMLMonad WASH.CGI.PPMWASH.Utility.HexWASH.Utility.QuotedPrintableWASH.CGI.StyleWASH.CGI.CGIConfigWASH.Utility.URLCodingWASH.Utility.RFC2279WASH.Utility.Base64WASH.Utility.RFC2397WASH.Mail.HeaderFieldWASH.Mail.MIMEWASH.CGI.HTMLMailWASH.Mail.MessageWASH.Mail.MailParserWASH.Utility.AuxiliaryWASH.Utility.LockingWASH.Utility.UniqueWASH.Mail.EmailWASH.Utility.JavaScriptWASH.HTML.HTMLTemplatesWASH.CGI.HTMLWrapperWASH.CGI.CGITypesWASH.CGI.FieldsWASH.CGI.ImagesWASH.CGI.RawCGITypesWASH.CGI.LogEntryWASH.CGI.DebugWASH.CGI.RawCGIInternalWASH.CGI.CGIOutputWASH.CGI.EventHandlersWASH.CGI.CGIMonadWASH.CGI.CGIInternalsWASH.CGI.CookieIOWASH.CGI.FramesWASH.CGI.CGIHistory WASH.CGI.TCGIWASH.CGI.BaseCombinatorsWASH.CGI.SubmitXXWASH.CGI.InputHandleWASH.CGI.CGIGraphicsWASH.CGI.CookieWASH.CGI.TransactionUtilWASH.CGI.AbstractSelectorWASH.CGI.Submit98WASH.CGI.GuaranteedCGIWASH.CGI.Persistent2WASH.CGI.TransactionWASH.Utility.IntToStringWASH.Utility.RFC2047WASH.CGI.RawCGIWASH.CGI.CGIXX WASH.CGI.CGI longestSuffixfilePartextNamebaseName fileToPathdropLastComponenttmpDirvarDir emailTmpDirsendmailProgramZone2822 TimeOfDay2822Time2822Date2822 DayOfWeek DateTime2822ContentDispositionParmSizeParm ReadDateParmModificationDateParmCreationDateParm FileNameParmContentDisposition AttachmentInline parametersNone CDATA_OPTIONSCDATA_FORMATTED CDATA_ENCODEDELEMENT_DOCTYPE_doctypeCOMMENT_ elem_commentCDATA_ elem_cdataEMPTY_elem_BTtagattrselemsATTR_attr_BT attr_value_BT attr_name attr_valueBTTOPLEVELDYNAMICSTATICshows_attributesshows_attributeshows_elements shows_element commentEncode htmlEncodehtmlAttrHTMLConsWithHTML unWithHTML Attribute AttributesElementlift get_attrsempty##comment comment_S comment_TtextshowTextrawtext formattedtexttext_S rawtext_Sformattedtext_Stext_T rawtext_Tformattedtext_Tattrattr_SSattr_TSattr_TDattr_SD@@ mkElementmkEmpty mkElement_S mkEmpty_S mkElement_T mkEmpty_Tbuild_documentabbracceptaccept_charset accesskeyactionalignalinkaltarchiveaxis backgroundbgcolorborder cellpadding cellspacingcharcharoffcharsetcheckedciteclass'classidclearcodecodebasecodetypecolorcolscolspancompactcontentcoordsdata' datapagesizedatetimedeclaredeferdirdisabledenctypeeventfaceforframe frameborderheadersheighthrefhreflanghspace http_equividismaplabellanglanguagelinklongdesc marginheight marginwidth maxlengthmediamethodmultiplenamenohrefnoresizenoshadenowrapobjectonbluronchangeonclick ondblclickonfocus onkeydown onkeypressonkeyuponload onmousedown onmousemove onmouseout onmouseover onmouseuponresetonselectonsubmitonunloadprofilepromptreadonlyrelrevrowsrowspanrulesschemescope scrollingselectedshapesizespansrcstandbystartstylesummarytabindextargettitletype'usemapvalignvalue valuetypeversionvlinkvspacewidthDOCUMENTCDATAAddAttrAddToTAGmakeshow_tagELTunELT AttrValue ATTRIBUTE show_nameATTRunATTRmkUAttrmkAttraddadd'add_attrattr' show_document VALUETYPE_REFVALUETYPE_OBJECTVALUETYPE_DATA VALIGN_top VALIGN_middle VALIGN_bottomVALIGN_baseline TYPE_submit TYPE_square TYPE_reset TYPE_disc TYPE_circle TYPE_button TYPE_TEXT TYPE_SUBMIT TYPE_RESET TYPE_RADIO TYPE_PASSWORD TYPE_IMAGE TYPE_HIDDEN TYPE_FILE TYPE_CHECKBOX TYPE_BUTTON SHAPE_rect SHAPE_polySHAPE_default' SHAPE_circleSELECTED_selected SCROLLING_yes SCROLLING_noSCROLLING_autoSCOPE_rowgroup SCOPE_rowSCOPE_colgroup SCOPE_col RULES_rows RULES_none RULES_groups RULES_cols RULES_allREADONLY_readonly NOWRAP_nowrapNOSHADE_noshade NOHREF_nohrefMULTIPLE_multiple METHOD_POST METHOD_GET ISMAP_ismap FRAME_vsides FRAME_void FRAME_rhs FRAME_lhs FRAME_hsides FRAME_box FRAME_border FRAME_below FRAME_aboveDISABLED_disabledDIR_rtlDIR_ltr DEFER_deferDECLARE_declareCOMPACT_compact CLEAR_right CLEAR_none CLEAR_left CLEAR_allCHECKED_checked ALIGN_top ALIGN_right ALIGN_middle ALIGN_left ALIGN_justify ALIGN_char ALIGN_center ALIGN_bottomCOLORFACECLEARONLOADONUNLOAD BACKGROUNDTEXTVLINKALINKSHAPECOORDSNOHREFHREFLANGRELREVISMAPDECLARECLASSIDDATACODETYPESTANDBY VALUETYPECODEBASEARCHIVEHSPACEVSPACENOSHADEDATETIMESTARTCOMPACTACTIONMETHODENCTYPEONSUBMITONRESETACCEPT_CHARSETCHECKED MAXLENGTHALTUSEMAPACCEPTSIZEMULTIPLESELECTEDROWSCOLSREADONLYONSELECTONCHANGEVALUEDISABLEDTABINDEX ACCESSKEYONFOCUSONBLURSUMMARYBORDERFRAMERULES CELLSPACING CELLPADDING DATAPAGESIZEAXISHEADERSSCOPEROWSPANCOLSPANCHARCHAROFFVALIGNNOWRAPBGCOLORLONGDESC FRAMEBORDER MARGINWIDTH MARGINHEIGHT SCROLLINGALIGNHEIGHTWIDTHPROFILEPROMPTHREFTARGET HTTP_EQUIVNAMECONTENTSCHEMEMEDIACHARSETTYPELANGUAGESRCDEFEREVENTFORIDCLASSONCLICK ONDBLCLICK ONMOUSEDOWN ONMOUSEUP ONMOUSEOVER ONMOUSEMOVE ONMOUSEOUT ONKEYPRESS ONKEYDOWNONKEYUPLANGVERSIONVARULUTTTRTITLETHEADTHTFOOTTEXTAREATDTBODYTABLESUPSUBSTYLESTRONGSTRIKESPANSMALLSELECTSCRIPTSAMPSQPREPARAMPOPTIONOPTGROUPOLOBJECTNOSCRIPTNOFRAMESMETAMENUMAPLINKLILEGENDLABELKBDISINDEXINSINPUTIMGIFRAMEIHTMLHRHEADH6H5H4H3H2H1FORMFONTFIELDSETEMDTDLDIVDIRDFNDELDDCOLGROUPCOLCODECITECENTERCAPTIONBUTTONBRBODY BLOCKQUOTEBIGBDOBASEFONTBASEBAREAAPPLETADDRESSACRONYMABBRAAdmitChildCDATA AdmitChildVARvar AdmitChildULul AdmitChildUu AdmitChildTTtt AdmitChildTRtrAdmitChildTITLEAdmitChildTHEADthead AdmitChildTHthAdmitChildTFOOTtfootAdmitChildTEXTAREAtextarea AdmitChildTDtdAdmitChildTBODYtbodyAdmitChildTABLEtable AdmitChildSUPsup AdmitChildSUBsubAdmitChildSTYLEAdmitChildSTRONGstrongAdmitChildSTRIKEstrikeAdmitChildSPANAdmitChildSMALLsmallAdmitChildSELECTselectAdmitChildSCRIPTscriptAdmitChildSAMPsamp AdmitChildSs AdmitChildQq AdmitChildPREpreAdmitChildPARAMparam AdmitChildPpAdmitChildOPTIONoptionAdmitChildOPTGROUPoptgroup AdmitChildOLolAdmitChildOBJECTAdmitChildNOSCRIPTnoscriptAdmitChildNOFRAMESnoframesAdmitChildMETAmetaAdmitChildMENUmenu AdmitChildMAPmapAdmitChildLINK AdmitChildLIliAdmitChildLEGENDlegendAdmitChildLABEL AdmitChildKBDkbdAdmitChildISINDEXisindex AdmitChildINSinsAdmitChildINPUTinput AdmitChildIMGimgAdmitChildIFRAMEiframe AdmitChildIiAdmitChildHTMLhtml AdmitChildHRhrAdmitChildHEADhead AdmitChildH6h6 AdmitChildH5h5 AdmitChildH4h4 AdmitChildH3h3 AdmitChildH2h2 AdmitChildH1h1AdmitChildFORMformAdmitChildFONTfontAdmitChildFIELDSETfieldset AdmitChildEMem AdmitChildDTdt AdmitChildDLdl AdmitChildDIVdiv AdmitChildDIR AdmitChildDFNdfn AdmitChildDELdel AdmitChildDDddAdmitChildCOLGROUPcolgroup AdmitChildCOLcolAdmitChildCODEAdmitChildCITEAdmitChildCENTERcenterAdmitChildCAPTIONcaptionAdmitChildBUTTONbutton AdmitChildBRbrAdmitChildBODYbodyAdmitChildBLOCKQUOTE blockquote AdmitChildBIGbig AdmitChildBDObdoAdmitChildBASEFONTbasefontAdmitChildBASEbase AdmitChildBbAdmitChildAREAareaAdmitChildAPPLETappletAdmitChildADDRESSaddressAdmitChildACRONYMacronymAdmitChildABBR AdmitChildAaAttrValueWIDTHAttrValueVSPACEAttrValueVLINKAttrValueVERSIONAttrValueVALUETYPEAttrValueVALUEAttrValueVALIGNAttrValueUSEMAP AttrValueTYPEAttrValueTITLE AttrValueTEXTAttrValueTARGETAttrValueTABINDEXAttrValueSUMMARYAttrValueSTYLEAttrValueSTARTAttrValueSTANDBY AttrValueSRC AttrValueSPAN AttrValueSIZEAttrValueSHAPEAttrValueSELECTEDAttrValueSCROLLINGAttrValueSCOPEAttrValueSCHEMEAttrValueRULESAttrValueROWSPAN AttrValueROWS AttrValueREV AttrValueRELAttrValueREADONLYAttrValuePROMPTAttrValuePROFILEAttrValueONUNLOADAttrValueONSUBMITAttrValueONSELECTAttrValueONRESETAttrValueONMOUSEUPAttrValueONMOUSEOVERAttrValueONMOUSEOUTAttrValueONMOUSEMOVEAttrValueONMOUSEDOWNAttrValueONLOADAttrValueONKEYUPAttrValueONKEYPRESSAttrValueONKEYDOWNAttrValueONFOCUSAttrValueONDBLCLICKAttrValueONCLICKAttrValueONCHANGEAttrValueONBLURAttrValueOBJECTAttrValueNOWRAPAttrValueNOSHADEAttrValueNOHREF AttrValueNAMEAttrValueMULTIPLEAttrValueMETHODAttrValueMEDIAAttrValueMAXLENGTHAttrValueMARGINWIDTHAttrValueMARGINHEIGHTAttrValueLONGDESC AttrValueLINKAttrValueLANGUAGE AttrValueLANGAttrValueLABELAttrValueISMAP AttrValueIDAttrValueHTTP_EQUIVAttrValueHSPACEAttrValueHREFLANG AttrValueHREFAttrValueHEIGHTAttrValueHEADERSAttrValueFRAMEBORDERAttrValueFRAME AttrValueFOR AttrValueFACEAttrValueEVENTAttrValueENCTYPEAttrValueDISABLED AttrValueDIRAttrValueDEFERAttrValueDECLAREAttrValueDATETIMEAttrValueDATAPAGESIZE AttrValueDATAAttrValueCOORDSAttrValueCONTENTAttrValueCOMPACTAttrValueCOLSPAN AttrValueCOLSAttrValueCOLORAttrValueCODETYPEAttrValueCODEBASE AttrValueCODEAttrValueCLEARAttrValueCLASSIDAttrValueCLASS AttrValueCITEAttrValueCHECKEDAttrValueCHARSETAttrValueCHAROFF AttrValueCHARAttrValueCELLSPACINGAttrValueCELLPADDINGAttrValueBORDERAttrValueBGCOLORAttrValueBACKGROUND AttrValueAXISAttrValueARCHIVE AttrValueALTAttrValueALINKAttrValueALIGNAttrValueACTIONAttrValueACCESSKEYAttrValueACCEPT_CHARSETAttrValueACCEPT AttrValueABBRAdmitAttrCOLORuaCOLORatCOLOR AdmitAttrFACEuaFACEatFACEAdmitAttrCLEARuaCLEARatCLEARAdmitAttrONLOADuaONLOADatONLOADAdmitAttrONUNLOAD uaONUNLOAD atONUNLOADAdmitAttrBACKGROUND uaBACKGROUND atBACKGROUND AdmitAttrTEXTuaTEXTatTEXT AdmitAttrLINKuaLINKatLINKAdmitAttrVLINKuaVLINKatVLINKAdmitAttrALINKuaALINKatALINKAdmitAttrSHAPEuaSHAPEatSHAPEAdmitAttrCOORDSuaCOORDSatCOORDSAdmitAttrNOHREFuaNOHREFatNOHREFAdmitAttrHREFLANG uaHREFLANG atHREFLANG AdmitAttrRELuaRELatREL AdmitAttrREVuaREVatREVAdmitAttrISMAPuaISMAPatISMAPAdmitAttrDECLARE uaDECLARE atDECLAREAdmitAttrCLASSID uaCLASSID atCLASSID AdmitAttrDATAuaDATAatDATAAdmitAttrCODETYPE uaCODETYPE atCODETYPEAdmitAttrSTANDBY uaSTANDBY atSTANDBYAdmitAttrVALUETYPE uaVALUETYPE atVALUETYPEAdmitAttrCODEBASE uaCODEBASE atCODEBASEAdmitAttrARCHIVE uaARCHIVE atARCHIVE AdmitAttrCODEuaCODEatCODEAdmitAttrOBJECTuaOBJECTatOBJECTAdmitAttrHSPACEuaHSPACEatHSPACEAdmitAttrVSPACEuaVSPACEatVSPACEAdmitAttrNOSHADE uaNOSHADE atNOSHADE AdmitAttrCITEuaCITEatCITEAdmitAttrDATETIME uaDATETIME atDATETIMEAdmitAttrSTARTuaSTARTatSTARTAdmitAttrCOMPACT uaCOMPACT atCOMPACTAdmitAttrACTIONuaACTIONatACTIONAdmitAttrMETHODuaMETHODatMETHODAdmitAttrENCTYPE uaENCTYPE atENCTYPEAdmitAttrONSUBMIT uaONSUBMIT atONSUBMITAdmitAttrONRESET uaONRESET atONRESETAdmitAttrACCEPT_CHARSETuaACCEPT_CHARSETatACCEPT_CHARSETAdmitAttrCHECKED uaCHECKED atCHECKEDAdmitAttrMAXLENGTH uaMAXLENGTH atMAXLENGTH AdmitAttrALTuaALTatALTAdmitAttrUSEMAPuaUSEMAPatUSEMAPAdmitAttrACCEPTuaACCEPTatACCEPT AdmitAttrSIZEuaSIZEatSIZEAdmitAttrMULTIPLE uaMULTIPLE atMULTIPLEAdmitAttrSELECTED uaSELECTED atSELECTEDAdmitAttrLABELuaLABELatLABEL AdmitAttrROWSuaROWSatROWS AdmitAttrCOLSuaCOLSatCOLSAdmitAttrREADONLY uaREADONLY atREADONLYAdmitAttrONSELECT uaONSELECT atONSELECTAdmitAttrONCHANGE uaONCHANGE atONCHANGEAdmitAttrVALUEuaVALUEatVALUEAdmitAttrDISABLED uaDISABLED atDISABLEDAdmitAttrTABINDEX uaTABINDEX atTABINDEXAdmitAttrACCESSKEY uaACCESSKEY atACCESSKEYAdmitAttrONFOCUS uaONFOCUS atONFOCUSAdmitAttrONBLURuaONBLURatONBLURAdmitAttrSUMMARY uaSUMMARY atSUMMARYAdmitAttrBORDERuaBORDERatBORDERAdmitAttrFRAMEuaFRAMEatFRAMEAdmitAttrRULESuaRULESatRULESAdmitAttrCELLSPACING uaCELLSPACING atCELLSPACINGAdmitAttrCELLPADDING uaCELLPADDING atCELLPADDINGAdmitAttrDATAPAGESIZEuaDATAPAGESIZEatDATAPAGESIZE AdmitAttrSPANuaSPANatSPAN AdmitAttrABBRuaABBRatABBR AdmitAttrAXISuaAXISatAXISAdmitAttrHEADERS uaHEADERS atHEADERSAdmitAttrSCOPEuaSCOPEatSCOPEAdmitAttrROWSPAN uaROWSPAN atROWSPANAdmitAttrCOLSPAN uaCOLSPAN atCOLSPAN AdmitAttrCHARuaCHARatCHARAdmitAttrCHAROFF uaCHAROFF atCHAROFFAdmitAttrVALIGNuaVALIGNatVALIGNAdmitAttrNOWRAPuaNOWRAPatNOWRAPAdmitAttrBGCOLOR uaBGCOLOR atBGCOLORAdmitAttrLONGDESC uaLONGDESC atLONGDESCAdmitAttrFRAMEBORDER uaFRAMEBORDER atFRAMEBORDERAdmitAttrMARGINWIDTH uaMARGINWIDTH atMARGINWIDTHAdmitAttrMARGINHEIGHTuaMARGINHEIGHTatMARGINHEIGHTAdmitAttrSCROLLING uaSCROLLING atSCROLLINGAdmitAttrALIGNuaALIGNatALIGNAdmitAttrHEIGHTuaHEIGHTatHEIGHTAdmitAttrWIDTHuaWIDTHatWIDTHAdmitAttrPROFILE uaPROFILE atPROFILEAdmitAttrPROMPTuaPROMPTatPROMPT AdmitAttrHREFuaHREFatHREFAdmitAttrTARGETuaTARGETatTARGETAdmitAttrHTTP_EQUIV uaHTTP_EQUIV atHTTP_EQUIV AdmitAttrNAMEuaNAMEatNAMEAdmitAttrCONTENT uaCONTENT atCONTENTAdmitAttrSCHEMEuaSCHEMEatSCHEMEAdmitAttrMEDIAuaMEDIAatMEDIAAdmitAttrCHARSET uaCHARSET atCHARSET AdmitAttrTYPEuaTYPEatTYPEAdmitAttrLANGUAGE uaLANGUAGE atLANGUAGE AdmitAttrSRCuaSRCatSRCAdmitAttrDEFERuaDEFERatDEFERAdmitAttrEVENTuaEVENTatEVENT AdmitAttrFORuaFORatFOR AdmitAttrIDuaIDatIDAdmitAttrCLASSuaCLASSatCLASSAdmitAttrSTYLEuaSTYLEatSTYLEAdmitAttrTITLEuaTITLEatTITLEAdmitAttrONCLICK uaONCLICK atONCLICKAdmitAttrONDBLCLICK uaONDBLCLICK atONDBLCLICKAdmitAttrONMOUSEDOWN uaONMOUSEDOWN atONMOUSEDOWNAdmitAttrONMOUSEUP uaONMOUSEUP atONMOUSEUPAdmitAttrONMOUSEOVER uaONMOUSEOVER atONMOUSEOVERAdmitAttrONMOUSEMOVE uaONMOUSEMOVE atONMOUSEMOVEAdmitAttrONMOUSEOUT uaONMOUSEOUT atONMOUSEOUTAdmitAttrONKEYPRESS uaONKEYPRESS atONKEYPRESSAdmitAttrONKEYDOWN uaONKEYDOWN atONKEYDOWNAdmitAttrONKEYUP uaONKEYUP atONKEYUP AdmitAttrLANGuaLANGatLANG AdmitAttrDIRuaDIRatDIRAdmitAttrVERSION uaVERSION atVERSIONencodedecodeParserparseFromString parserToReadISOTimeZoneSpec MinusTimePlusTimeUTCTime LocalTime ISOSecondSpecNoSecondSecond ISOMinuteSpecNoMinuteMinuteImplicitMinute ISOHourSpecHour ImplicitHourISOTimeISODayOfWeekSpec NoDayOfWeek ISOWeekSpecWeekAnyWeek ImplicitWeekISODayOfMonthSpec DayOfMonth NoDayOfMonth ISOMonthSpecMonth ImplicitMonthISODayOfYearSpec WeekAndDay DayOfYearMonthDay NoDayOfYear ISOYearSpecYearImplicitDecadeCenturyImplicitCentury ImplicitYearISODateISODateAndTime LeapSeconds NotLeapSecond LeapSecond ToSeconds toSeconds toRawSeconds applyToCalTisoDateAndTimeToSecondsisoTimeToSecondsisoDateToSeconds leapSecondsisoDateToClockTimeisoDateAndTimeToClockTimeparseDateFromStringparseTimeFromStringparseDateAndTimeFromStringMethod ExtensionCONNECTTRACEDELETEPUTPOSTGETOPTIONSTTvirtualtvirtualTIDtidTypestyConRepCRTyDeclTyRepTRDataTRTupleTRVarTRBaseTySpecTSlistDefmaybeDef eitherDefmergemergesguessContentTypemetaCharactersquote rawGetBytes rawHandleCopysha1 sha1_size makeTypedNamemakeTypedNameFromVala_Sa_Tabbr_Sabbr_T acronym_S acronym_T address_S address_Tapplet_Sapplet_Tarea_Sarea_Tb_Sb_Tbase_Sbase_T basefont_S basefont_Tbdo_Sbdo_Tbig_Sbig_T blockquote_S blockquote_Tbody_Sbody_Tbr_Sbr_Tbutton_Sbutton_T caption_S caption_Tcenter_Scenter_Tcite_Scite_Tcode_Scode_Tcol_Scol_T colgroup_S colgroup_Tdd_Sdd_Tdel_Sdel_Tdfn_Sdfn_Tdir_Sdir_Tdiv_Sdiv_Tdl_Sdl_Tdt_Sdt_Tem_Sem_T fieldset_S fieldset_Tfont_Sfont_Tform_Sform_Tframe_Sframe_Tframeset frameset_S frameset_Th1_Sh1_Th2_Sh2_Th3_Sh3_Th4_Sh4_Th5_Sh5_Th6_Sh6_Thead_Shead_Thr_Shr_Thtml_Shtml_Ti_Si_Tiframe_Siframe_Timg_Simg_Tinput_Sinput_Tins_Sins_T isindex_S isindex_Tkbd_Skbd_Tlabel_Slabel_Tlegend_Slegend_Tli_Sli_Tlink_Slink_Tmap_Smap_Tmenu_Smenu_Tmeta_Smeta_T noframes_S noframes_T noscript_S noscript_Tobject_Sobject_Tol_Sol_T optgroup_S optgroup_Toption_Soption_Tp_Sp_Tparam_Sparam_Tpre_Spre_Tq_Sq_Ts_Ss_Tsamp_Ssamp_Tscript_Sscript_Tselect_Sselect_Tsmall_Ssmall_Tspan_Sspan_Tstrike_Sstrike_Tstrong_Sstrong_Tstyle_Sstyle_Tsub_Ssub_Tsup_Ssup_Ttable_Stable_Ttbody_Stbody_Ttd_Std_T textarea_S textarea_Ttfoot_Stfoot_Tth_Sth_Tthead_Sthead_Ttitle_Stitle_Ttr_Str_Ttt_Stt_Tu_Su_Tul_Sul_Tvar_Svar_TNORESIZE_noresizeFRAMESETAdmitChildFRAMESETAdmitChildFRAMEAttrValueNORESIZEAdmitAttrNORESIZE uaNORESIZE atNORESIZEPictureOrAndInvertScaleRotate TranslateColoredLineSquareCircleColorPixelPixmapmaximumColorValuepixelFuncreateoval rectanglelinepixelAtrenderhexdigitalternative_indiceshexdigits'_indices isHexdigitshowHex2showsHex hexDigitValencode'StyleNamed:^::=:NoStyleusing globalRootimageDirframeDir persistentDirpersistent2Dir registryDirkeyFilepbmPath catProgramdecode' alphabet_listENCURLBASE64 breakList MediaTypeKVHeaderSendsendhSendMailtosubjectccbcccontentsCRLF SendControlsendHsendModeSendModeSevenBitEightBitDOC mediatypesubtypefilenamecontentDisposition messageData textLinespartshtmlDOCContentDescription ContentIDContentTransferEncoding ContentTypeMessage MultipartgetParts Singlepart getHeadersgetLines getDecodedgetContentTypegetContentTransferEncodinggetContentDisposition RawMessage rawHeadersrawLines digestMessagedigestMessage'protectedGetEnvreadFileNonExistentreadFileStrictlyassertDirectoryExistswriteDebugFileappendDebugFile obtainLock releaseLock inventStdKey inventKeyinventFilePathSYSEXIT EX_UNKNOWN EX_CONFIG EX_NOPERM EX_PROTOCOL EX_TEMPFAILEX_IOERR EX_CANTCREAT EX_OSFILEEX_OSERR EX_SOFTWAREEX_UNAVAILABLE EX_NOHOST EX_NOUSER EX_NOINPUT EX_DATAERREX_USAGEEX_OKexitcodeToSYSEXITsendmailinventMessageIdjsShowMunM TemplateItemTCallTVarTOutTemplate TemplatesMtopencloseddynamicsactualscountNamesntablenseenSTunSTrunSTgetSTsetSTshowTemplatified showTemplateanalyzetoutpushOpenpopOpen pushClosed pushActuals getActualsget mergeActualsmaybePushActualscollect standardPage htmlHeadercssPage cssHeader SessionMode LogAndState StateIDOnlyLogOnly CGIOptions CGIOption unSessionMode PartialURLFullURL AutoHttpsNoHttpsPortAutoPortNoPortFreeFormffName ffContentType ffRawContentsLocationStatus statusCode statusReason statusContentResponseFileReference FileReferencefileReferenceNamefileReferenceContentTypefileReferenceExternalNameunURLsessionNeedsLogsessionNeedsStateOptionalPresentAbsentPassword unPasswordTextunText AllDigits unAllDigitsPhoneunPhoneNonEmpty unNonEmpty CreditCardExpcceMonthcceYearCreditCardNumberunCreditCardNumber EmailAddressunEmailAddressReasonreasonwashtype fromPresent fromOptionalnothingquestion nothingURL questionURLCGIEnv serverName serverPortserverSoftwareserverProtocolgatewayInterface scriptName requestMethod contentLength contentType httpAccept httpCookiepathInfopathTranslated remoteHost remoteAddr remoteUserauthType rawContentsrawArgshandle httpsEnabledCGIInfocgiUrl cgiPathInfo cgiScriptNamecgiContentType cgiContents cgiCookiescgiArgs cgiHandlecgiSessionMode CGIRawValue CGIRawFile CGIRawStringCGIValue CGIParameters CGIParameter CGIProgram PARAMETERPAR_DB PAR_SET_TV PAR_GET_TV PAR_REM_TV PAR_CRE_TV PAR_TRANS PAR_IGNOREDPAR_MARK PAR_VALUES PAR_RESULT debugging timestamp withLogFilelogInput logOutputinitEnvstartEnv resolveFiles parseCookiesdropSpecialParametersdecodeMultiPartextractContentsextractBoundary advanceICparameterLines decodeLine assocParm assocParmL assocParmRassoc fieldNames generateKeyextendRandomlynrNonces makeEncoderencryptdecrypt CGIOutputcgiPut' cgiPutListitellcgiPutonAbortonBluronChangeonClick onDblClick onDragDroponErroronFocus onKeyDown onKeyPressonKeyUponLoad onMouseDown onMouseMove onMouseOut onMouseOver onMouseUponMoveonResetonResizeonSelectonSubmitonUnloadtoTargetCGIMonadwrapCGI unwrapCGIchooser CGIFieldNamefnMcountfnCountPageInfo nextaction actionTablebindingsinFrame allFields faultyfieldsCGIStateinparmoutparmstateIDmcountcgiInfopageInfo jsEnabledencoder cookieMap cookiesToSend CGIActionCGIunCGI getPathInfowrapIO setActionregisterActionincFrame resetFrame setEnctype setFaultynextNameaddField encodeCookie decodeCookie putCookiesFrameSet unFrameSet FrameSpacing FramePercent FrameRelative FrameAbsolute FrameLayout makeFrameset makeFrame framesetPage TableEntrymyIDparentIDnextparmtimeoutthreadsStateIDhistoryTimeouthistory createEntryreadParametersnotifyTCGIunTCGIoutofintoiofeedbackcallWithCurrentHistoryonceforever onceAndThen unsafe_ioask askResumptiveaskContinuously askOfflinerunrunWithOptions runWithHook makeServletmakeServletWithHooktelltellContinuouslyrawTellContinuouslyhtell tellError reportErrorbackLinkhlinkframeTranslator docTranslatorlastTranslatorsubVarImageimageSRCimageALT RadioGroup radioName radioToken radioString radioValue radioBound HTMLField InputTypeIMAGEHIDDENFILERESETSUBMITRADIOCHECKBOXPASSWORDValidationErrorveNameveTokenveString InputFieldifNameifTokenifFtyifStringifValueifRawifBoundINVALIDVALIDmakeRef makePopupRefmakeA concatFieldsconcatFieldsWithfeither propagatetextual resetField submitFielddefaultSubmitFieldactiveInputField activateI inputField maybeReadtextInputFieldcheckedTextInputFieldpasswordInputFieldcheckboxInputFieldfileInputFieldcheckedFileInputField genericFieldinternalSubmitLink imageField radioGroup radioButton radioError makeButtonmakeForm makeTextareaselectMultiple selectSingle selectBounded fieldSIZEfieldMAXLENGTH fieldVALUE internalImage dataImagejsImage externalImagemakeImg popuplinkrestart standardQueryDTreeunDTree StripHandlevalidateisBoundihNamessubmit defaultSubmitsubmit0submitxdtleafdtnodeactivate InputHandleHasValue ActionFunCGIImagestoreDirectory activeImagenewImagedrawOvalfillOval drawRectangle fillRectangledrawLine drawPointmakeTextgifImagexwdImagexpmImagebmpImage activateImage activateXY activateColoroverlaycheckcreateExpiring initExpiringinitcurrentsetdeleteControlabandonsetFail setCommitwithCGIwithTCGISelectionGroup selectionNameselectionTokenselectionStringselectionValueselectionBoundARATas_rawas_rowsas_colsgetARunARtable_iogetTextselectionGroupselectionButtonselectionDisplay choiceGroup choiceButton choiceDisplayFAFLF8F7F6F5F4F3F2F1F0deF0 deValueF0deF1 deValueF1deF2 deValueF2deF3 deValueF3deF4 deValueF4deF5 deValueF5deF6 deValueF6deF7 deValueF7deF8 deValueF8deFL deValueFLdeFA deValueFA submitLink submitLink0defaultSubmitLinkwithremoveGHC.Real/GHC.Base.crLffwsws1lineCharheaderNameChar parseDateTimeshowsDayOfWeekparseDayOfWeek parseDateshowsDayparseDay monthListparseMonthName showsMonth parseMonth showsYear parseYear parseTimeparseTimeOfDay zoneInfoList parseZoneInfo parseZoneparseTwoDigitshasContentDispositiontoString cdpsToString cdpToString $fShowATTR_attr_element_ element_S element_Tempty_empty_Sempty_Tcdata_cdata_Scdata_Tcomment_doctype_ doctype_S doctype_Tadd_ add_attr_ get_attrs_htmlForbiddenChars htmlFormatavaddNodeaddMakeruattr make_standard make_empty show_html# makeGroups encBase32 decBase32unParsersatisfyprintalphaNumalphaasciidigitstringoneOfnoneOfeoftry<|>many1manymanyn intToString $fReadISOTime$fToSecondsISODatesecondsToStringisoDateToStringisoDateAndTimeToStringleapSecondCorrectionisoDaysOfYearToSecondsisoMonthSpecToMonthisoDayOfMonthSpecToDayOfMonth daysUptoMonthisoYearSpecToYearleapDaysleapYear yearsToDaysyearsToWeekDayaddLeapSecondssecondsPerMinutesecondsPerHour secondsPerDaysecondsPerYearminutessecondsToClockTime epochClkTepochupdateTZdigitval skipHyphen skipColon skipSolidus skipMinusskipPlusskipPskipTskipWskipZparseDateAndTimeparseBasicOrExtendedparseTimeAndDateInternalparseDateInternalparseTimeInternal parseTZsuffixparseHoursMinutesparseLocalTimeInternal checkSeconds checkMinutes checkHours checkDays checkWeeks parseWeekDay parseOneDigitparseThreeDigitsparseOrdinalDayparseFourDigitsfromLeft fromRighttdName bufferSizeRotationXYZABCDEsha1_step_1_2_pad_lengthsha1_step_1_2_work replicate' size_splitsha1_step_3_initsha1_step_4_maindoit sha1_add_ws get_word_32stakeDropsha1_step_5_displaydisplay_32bits_as_hexrotL showPixmapshowAsciiPixelshowBinaryPixel readsPixmap readsPixmap1 readsPixels readsScanlinereadsAsciiPixelreadsBinaryPixelline1line2pointcompmaxcv renderPix hexdigits'alternative_digits hexdigits fromHexdigitsisHexdigitArray allDigitsattachtransactionDir urlEncode urlDecodedecoden decode_linesdecodeContents decodePrefix decodeDataunparse lineString especials tokencharp_tokenp_encoded_textallchar encoded_words encoded_word decode_quoted encodeWord encodeValue maybeEncode mimeHeader identHeadermakeContentTypemakeContentTransferEncodingmakeContentDispositionmakeXmakeTOmakeCCmakeBCC makeSubjecttextDOC binaryDOC multipartDOC recommend_cteinventBoundarysmtpSendControlhttpSendControl hSendText hSendBinaryhSendMultipart simpleMail isSinglePart isMultiPart showHeadershowParametersparseMessageFromFileparseMessageFromStringparseDateTimeFromStringlexeme literalStringno_ws_ctl_chars no_ws_ctl text_charsp_text quoted_pair p_parameter p_contentTypep_contentTransferEncodingp_contentDisposition p_contentIDp_contentDescriptionheaderextraHeaderLine headerBodySepmessage lookupHeaderlookupRawHeaderlookupInHeaders parseHeader splitBodyparseSuccessfully inventKey' readRegistryshowDefinitions showsIdentcharlist alphanumlist identlistshowBody showStatement showFormals showActualshowActualArgs showActualArgshowStringTablecleanupStringTableunitebuildStringTableArgsbuildStringTableArgbuildStringTableActualmt0 collectElems collectAttrs collectAttrcollectAttrValueGHC.ReadReadGHC.ShowShow$fReadOptional $fReadURL$fReasonISODate luhnCheck phoneCharsparseURL parseSchemelogDirNakalele hPutEnvVar makeArgList makeCommand makeInputgetGenericOption isPortOption getPortOption isHttpsOptiongetHttpsOption isURLOption getURLOptionisSessionOptiongetSessionMode fieldName fieldContentscontentTypeUrlencodedencrypt1decrypt1caddcsub hPutElement hPutListCharhPutFileReferencehPutResponseFileReference hPutStatus hPutLocation hPutFreeFormargsurl sessionMode fromCGIstate getCGIArgsgetUrlgetParm getStateIDgetInfo getEncoder getJSEnabled getScriptName getHandle getFields getMcountincinitialPageInfodropFirstPARVALUES nextCGIStateinitialStateIDnextstid printCookies frameFileName frameFullPathunconsghc-prim GHC.TypesIO popToMark runInternalmakeServletInternalrawTellrawHtellfallbackTranslatornextTranslatorGHC.BoolTrueIntcombineFieldsWith2valueInputFieldvalidateInputFieldinternalSubmitField attachActionactivateInternalvalidateRadioGroupvalueRadioGroupconstructQuerymakeFormWithErrorMark selectTagsdebugprependArticlesubmitInternal CGIImage'pixmap actionFun flushImagemakeOval makeRectangleanyImagenrvlt Data.MaybeNothingunsafe_get_current cookieLookup getTimeStringonStackpopTosplitToapplyTogetRowgetColgetEntryvalidateSelectionGroupvalueSelectionGroupTV_DESCtv_nametv_oldtv_new WithMonad readValuegetDescriptors commitFromLog tryToCommitcheckOldValuesPreservedcheckOldValuePreservedwriteNewValuescheckOnlyReads reallyRead reallyWrite reallyExists reallyRemove