t      !"# $ % & ' ( ) * + , - . / 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 WXYZ[\]^_`abcdefghijklmnopqrstuv;Monadic container for file information, allowing for clean ) construction of combinators. Wraps the wx monad, but doesn't  allow y or z. {|};Information collected during the traversal of a directory. ~ file path current recursion depth status of file  Construct a ~} value. Run the given v on the given ~} and return its C result. This can be useful if you are writing a function to pass  to fold.  Example: " myFoldFunc :: a -> FileInfo -> a F myFoldFunc a i = let useThisFile = evalClause (fileName ==? "foo") i $ in if useThisFile ' then fiddleWith a  else a ;List the files in the given directory, sorted, and without "."  or "..". ?Search a directory recursively, with recursion controlled by a  t,. Lazily return a sorted list of all files  matching the given u. Any errors that occur are " dealt with by the given handler. error handler &control recursion into subdirectories ,decide whether a file appears in the result directory to start searching files that matched the u ?Search a directory recursively, with recursion controlled by a  t,. Lazily return a sorted list of all files  matching the given u. Any errors that occur are # ignored, with warnings printed to . &control recursion into subdirectories ,decide whether a file appears in the result directory to start searching files that matched the u Unconditionally return .  Version of  that takes in a Q [Dec] instead of a [Q Dec] : and filters out signatures from the list of declarations 3Returns true if the Dec matches a SigD constructor  linux/windows provisional Matthew Elder The sender(s) The recipient(s) The subject line  The body bSimplest way to send mail. Takes the smarthost ip, the HELO domain, and a list of SimpleMessage. IP address of the smarthost =HELO domain (should be the same as your from-address-domain)  List of simple messages to send EUse this if you need more control than sendSimpleMessages gives you. SockAddr for the smarthost =HELO domain (should be the same as your from-address-domain) List of messages to send       ?Format the time as describe in the Apache combined log format.  http:httpd.apache.orgdocs2.2/ logs.html# combined The format is:  [daymonthyear:hour:minute:second zone]  day = 2*digit  month = 3*letter  year = 4*digit  hour = 2*digit  minute = 2*digit  second = 2*digit  zone = ( |  ) 4*digit BFormat the request as describe in the Apache combined log format.  http:httpd.apache.orgdocs2.2/ logs.html# combined The format is: 5%h - %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i" i %h: This is the IP address of the client (remote host) which made the request to the server. o %u: This is the userid of the person requesting the document as determined by HTTP authentication. 8 %t: The time that the request was received. L %r: The request line from the client is given in double quotes. R %>s: This is the status code that the server sends back to the client. { %b: The last part indicates the size of the object returned to the client, not including the response headers.  %{Referer}: The Referer (sic) HTTP request header. 5 %{User-agent}: The User-Agent HTTP request header. ;Converts a HostAddress to a String in dot-decimal notation 6Converts a IPv6 HostAddress6 to standard hex notation ?Given an action f and a number of seconds t, cron will execute L f every t seconds with the first execution t seconds after cron is called. # cron does not spawn a new thread.  2Equivalent to a composition of fork and foreverSt ISimilar to forever but with an explicit state parameter threaded through  the computation. 0Equivalent to a composition of fork and forever >Lifts the argument with Right before writing it into the chan =Lifts the argument with Left before writing it into the chan #Fork that throws away the ThreadId KA version of forever that will gracefully catch IO exceptions and continue  executing the provided action. Fork a new thread. 5Register an action to be run when ghci is restarted. ! Reset state "Sleep N seconds  !"  !"  !" uses mdo#$%This handler returns Nothing if the timeout occurs and Just a if computation  returns a. &LThis is the normal timeout handler. It throws a TimeOutException exception,  if the timeout occurs. 'LLike timeOut, but additionally it works even if the computation is blocking I async exceptions (explicitely or by a blocking FFI call). This consumes 7 more resources than timeOut, but is still quite fast. (ZLike withTimeOutMaybe, but handles the operation blocking exceptions like withSafeTimeOut  does. )"Constant representing one second. #$%&'()&%'(#$)#$$%&'() *+,-./0%Put a line into a handle followed by rn and echo to stdout 1.Get a line from the handle and echo to stdout 234564Removes the whitespace surrounding a string as well " as the first and last character.   unBracket  (asdf)  = asdf 0Drops the whitespace at the start of the string .Drops the whitespace at the end of the string 6Trims the beginning and ending whitespace of a string JRepeadly splits a list by the provided separator and collects the results 72Repeatedly splits a list and collects the results 8:Split is like break, but the matching element is dropped. 9;Read file with a default value if the file does not exist. :;<8applies the list of functions to the provided argument = comp f a b compares a and b after apply  f. >3Run an external command. Upon failure print status  to stderr. ?=Unsafe tracing, outputs the message and the value to stderr. @(Unsafe tracing messages inside a monad. ARead in any monad. BLConvert Maybe into an another monad. This is a simple injection that calls  fail when given a Nothing. C?Lifts a bool into a MonadPlus, with False mapped to the mzero. D notMb a b returns Just a if b is Nothing and Nothing if  b is Just _. E=Takes a list of delays, in seconds, and an action to execute J repeatedly. The action is then executed repeatedly in a separate thread P until the list has been consumed. The first action takes place immediately. FG Similar to E but runs in the same thread *+,-./0123456789:;<=>?@ABCDEFG+*,-./0134526789:;<=>?@ABCDEFG*+,-./0123456789:;<=>?@ABCDEFG H,Semantically equivalent to break on strings II1 behaves like breakChar, but from the end of the  ByteString.  4 breakCharEnd ('b') (pack "aabbcc") == ("aab","cc") "and the following are equivalent:  breakCharEnd 'c' "abcdef" . let (x,y) = break (=='c') (reverse "abcdef") $ in (reverse (drop 1 y), reverse x) J'Drops leading spaces in the ByteString K(Drops trailing spaces in the ByteString LEChunk a lazy bytestring into reasonable chunks - is id from outside. F This is useful to make bytestring chunks reasonable sized for e.g.  compression. HIJKLHIJKLHIJKL  linux/windows provisional Matthew ElderM&Functionality for the autoBuild tool.  Inspired by searchpath. Build command Path to binary %Arguments to use when running binary MMM NOP9Will read the lazy ByteString and return the md5 digest. E Some application might want to wrap this function for type safty. QRSTUV NOPQRSTUV PORQNVTSU NOPQRSTUVWXYWXYWXYWXYZ[Z[Z[Z[(\]^_\]^_^_]\\]^_`abcdefghijklmno`abcdefghijklmno`abcdefghijklmno`abcdefghijklmno pBCut up a string into 72 char lines, each line terminated by CRLF. qrpqrqrppqrssss !"#$%&'()*+,-./0123456 7 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 ijklmnopqrstuvwxyz{|}~>       happstack-util-0.5.0.1Happstack.Util.MailHappstack.Util.FileManipHappstack.Util.THHappstack.Util.OpenExclusivelyHappstack.Util.LogFormatHappstack.Util.HostAddressHappstack.Util.CronHappstack.Util.ConcurrentHappstack.Util.TimeOutHappstack.Util.CommonHappstack.Util.ByteStringCompatHappstack.Util.AutoBuildHappstack.Crypto.MD5Happstack.Crypto.SHA1Happstack.Util.DaemonizeHappstack.Crypto.DESHappstack.Crypto.W64Happstack.Crypto.Base64Happstack.Crypto.HMAC hsemail-1.6%Text.ParserCombinators.Parsec.Rfc2822NameAddr nameAddr_name nameAddr_addrfindalways instanceD'isSigDopenExclusively SimpleMessagefromtosubjectbodysendSimpleMessagessendRawMessagesformatTimeCombinedformatRequestCombined HostAddress6 HostAddressshowHostAddressshowHostAddress6cron forkEverSt foreverStforkEverwriteChanRight writeChanLeftfork_foreverforkregisterResetActionresetsleepTimeOutExceptionwithTimeOutMaybe withTimeOutwithSafeTimeOutwithSafeTimeOutMaybesecond EpochSecondsSeconds epochSecondseSecsToCalTime epochPicologMChPutLinehGetLn unBracketltrimrtrimtrim splitList splitListBysplit mbReadFilemapFstmapSndrevmapcomp runCommanddebugdebugMreadMmaybeMboolMnotMbperiodic.^ periodic' breakChar breakCharEnd dropSpace dropSpaceEnd rechunkLazy autoBuild MD5Contextmd5InitialContextmd5 md5Finalize md5UpdateapplyMD5Rounds stringMD5testmd5Filesha1sha1Raw sha1_size daemonizegetDaemonizedIdEncMessagedes_encdes_decpadunpad prop_PadUnPadis4Char quadCharToW64 w64ToQuadChar w64ToQuadNum toQuadChars stringToW64s w64sToStringprop_stringW64hexToW64 stringToKey des_encrypt des_decryptprop_DESchop72encodedecodehmacSHA1RecursionPredicateFilterPredicate FindClause mtl-1.1.1.0Control.Monad.State.LazyStateControl.Monad.State.ClassgetputFCrunFCFileInfoinfoPath infoDepth infoStatusmkFI evalClauseevalFIgetDirContentsfindWithHandlerbaseGHC.IO.Handle.FDstderrghc-primGHC.BoolTruetemplate-haskellLanguage.Haskell.TH.Lib instanceD toMessagelog'GHC.Num+-TimeOutExceptionI TimeOutTIdtimeOutIdState nextTimeOutIdthrow'throwTo'catch'try' catchTimeOutI maybeToEx lastnonspacebuilderrunnerrunBinbuildBinMD5Ctx mdPartial mdLeftOver mdTotalLen MD5PartialMD5Par blockSizeblockSizeBytesblockSizeBytesW64 blockSizeBitsh0h1h2h3 size_splitblockperformMD5UpdateRotationXYZABCDEsha1_step_1_2_pad_lengthsha1_step_1_2_work replicate'sha1_step_3_initsha1_step_4_maindoit sha1_add_ws get_word_32stakeDropsha1_step_5_displaysha1_step_5_concatdisplay_32bits_as_hexdisplay_32bits_as_8bitsrotLBits64Bits56Bits48Bits32Bits6Bits4KeyZord64W64lohi w64ToInteger integerToW64bitifyunbitifyinitial_permutationkey_transformationdo_desdes_workdo_roundget_keycompression_permutationexpansion_permutations_boxs_box_1s_box_2s_box_3s_box_4s_box_5s_box_6s_box_7s_box_8p_box final_perm encodeArray int4_char3 char3_int4enc1 quadrupletsencdcd