!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe0 Email header exceptions.A required header is missing.#A header field could not be parsed.MIME content type parameters. A MIME type.EA message identifier, which has a similar format to an email address. A  Y is used to indicate senders and recipients of messages. It may either be an individual  , or a named group of  es. A   receives mail.An email address.!A set of email headers, in order.An email header.An email header name.        Safe%,An abstract type representing a lazy layout.&&Run a layout with an initial position.'$Layout an element of a given length.(/Layout a new line and set the initial position.)2Use the current line position to produce a layout.*bChoose the first layout if the first line fits within the given length, and the second otherwise. %&'()*+%&'()*%&'()*%&'()*+None,3A charset. Charset names are compared fuzzily e.g. UTF-8 is equivalent to utf8.-The name of a charset..(All canonical charset names and aliases./*Lookup a charset from a name or alias, or  if no such charset exists.0The default charset, UTF-8.yUnsafely load a converter from a charset. The resulting converter is not thread-safe, and may fail for invalid charsets.10Convert a Unicode string into a codepage string.20Convert a codepage string into a Unicode string. ,-./01234,-./012,-./012 ,-./01234None6A formatted email header.7;The encoding used for binary characters in an encoded word.8Quoted-printable encoding. Spaces are represented with underscores, and undisplayable characters are represented as hex pairs.9#Base 64 encoding of all characters.:Rendering options.<The maximum line width.=#The indent of each line, in spaces.>7The charset used to encode text outside US-ASCII range.?+The header encoding used for encoded words.@pDefault rendering options, which uses a line width of 80, and indent of 2, and utf-8 quated-printable encoding.A>Render a document with the given options and initial position.BxConstruct a primitive document from a layout function. The function takes two parameters: the rendering options, and a ^ which indicates whether the containing group is laid out horizontally instead of vertically.+Flatten a layout, removing all line breaks.C=Specify an alternative layout with all line breaks flattened.D Construct a 6 from a  and a length.E Construct a 6 from a .F Construct a 6 from a .G Construct a  from a .HA space layout.I#A newline layout. This will emit a CRLF( pair, break to a new line, and indent.J.A line break. If undone, behaves like a space.K&A line break. If undone, behaves like .LAA space if the remaining layout fits, and a line break otherwise.M: if the remaining layout fits, and a line break otherwise.NConcatenate with a L in between.OGSeparate a list with spaces if it fits. Otherwise, separate with lines.Ppunctuate p xs appends p to every element of xs but the last."6789:;<=>?@ABCDEFGHIJKLMNOPQR6798:;=<>?@ABCDEFGHIJKLMNOP:;<=>?789@6ABCDEFGHIJKLMNOP6789:;<=>?@ABCDEFGHIJKLMNOPQRN6None+'Concatenate the results of two parsers.Repeat and concatenate. Return a  value, and  a  value. Return a  value, and  a  value.Run a  as a strict .[Skip folding whitespace./Parse a comment, including all nested comments.\(Skip any comments or folding whitespace.]%Parse a value followed by whitespace.^)Parse a character followed by whitespace.CQuickly (and unsafely) convert a digit to the number it represents.Parse a fixed number of digits.4Parse a number lexeme with a fixed number of digits.Parse a hexadecimal pair.qParse an token lexeme consisting of all printable characters, but disallowing the specified special characters.IParse an atom, which contains ASCII letters, digits, and the characters "!#$%&'*+-/=?^_`{|}~".7Parse a dot-atom, or an atom which may contain periods.HA MIME token, which contains ASCII letters, digits, and the characters "!#$%'*+-^_`{|}~.".A case-insensitive MIME token.Parse a quoted-string.'Parse an encoded word, as per RFC 2047.Return a quoted string as-is.>Parse an email address, stripping out whitespace and comments.1Parse an address specification in angle brackets. Parse two or more occurences of p, separated by sep.|Parse a list of elements, with possibly null entries in between separators. At least one entry or separator will be parsed._.Parse a list of elements, separated by commas.`kParse a date and time. TODO: non-numeric timezones (such as "PDT") are considered equivalent to UTC time.)Parse an email address in angle brackets.aParse an email address.bParse a  .cParse a list of  es.dParse a  .eParse a list of  s.fParse a message identifier.g$Parse a list of message identifiers.cCombine a list of text elements (atoms, quoted strings, encoded words, etc.) into a larger phrase.hParse a phrase. Adjacent encoded words are concatenated. White space is reduced to a single space, except when quoted or part of an encoded word.i(Parse a comma-separated list of phrases.jParse unstructured text. Adjacent encoded words are concatenated. White space is reduced to a single space, except when part of an encoded word.k-Parse the MIME version (which should be 1.0).lParse the content type.m$Parse the content transfer encoding.+[\]^_`abcdefghijklm[\]^_`abcdefghijklm[\]^_`abcdefghijklm+[\]^_`abcdefghijklm3Nonen(Lookup and parse a header with a parser.oLookup and parse a structured header with a parser. This skips initial comments and folding white space, and ensures that the entire body is consumed by the parser.pGet the value of the Date: field.qGet the value of the From: field.rGet the value of the Sender: field.sGet the value of the  Reply-To: field.tGet the value of the To: field.uGet the value of the Cc: field.vGet the value of the Bcc: field.wGet the value of the  Message-ID: field.xGet the value of the  In-Reply-To: field.yGet the value of the  References: field.zGet the value of the Subject: field.{Get the value of the  Comments: field.|Get the value of the  Keywords: field.}Get the value of the  Resent-Date: field.~Get the value of the  Resent-From: field.Get the value of the Resent-Sender: field.Get the value of the  Resent-To: field.Get the value of the  Resent-Cc: field.Get the value of the  Resent-Bcc: field.Get the value of the Resent-Message-ID: field.Get the value of the  MIME-Version: field.Get the value of the  Content-Type: field.Get the value of the Content-Transfer-Encoding: field.Get the value of the  Content-ID: field.nopqrstuvwxyz{|}~nopqrstuvwxyz{|}~nopqrstuvwxyz{|}~nopqrstuvwxyz{|}~NoneSeparate a group with commas. Surround a 6 with angle brackets.Render a case-insensitive .Format a date and time.Format an address.&Format an address with angle brackets. Format a  .Format a list of  es. Format a  .Format a list of  s.Format a message identifier%Format a list of message identifiers.&Convert a word to a hexadecimal value.Encode a word.bSplit nonempty text into a layout that fits the given width and the remainder. TODO: inefficientLayout text as an encoded word.Encode text as an encoded word.BEncode text, given a predicate that checks for illegal characters.3Format a phrase. The text is encoded as is, unless:YThe text contains leading or trailing whitespace, or more than one space between wordsAny word begins with =?$Any word contains illegal charactersFormat a list of phrases.<Format unstructured text. The text is encoded as is, unless:YThe text contains leading or trailing whitespace, or more than one space between wordsAny word begins with =?$Any word contains illegal charactersFormat the MIME version.'Format the content type and parameters.%Format the content transfer encoding.NoneRender a list of headers.Render a header.Build a header field. Create a Date: field. Create a From: field. Create a Sender: field. Create a  Reply-To: field. Create a To: field. Create a Cc: field. Create a Bcc: field. Create a  Message-ID: field. Create a  In-Reply-To: field. Create a  References: field. Create a Subject: field. Create a  Comments: field. Create a  Keywords: field. Create a  Resent-Date: field. Create a  Resent-From: field. Create a Resent-Sender: field. Create a  Resent-To: field. Create a  Resent-Cc: field. Create a  Resent-Bcc: field. Create a Resent-Message-ID: field. Create a  MIME-Version: field. Create a  Content-Type: field. Create a Content-Transfer-Encoding: field. Create a  Content-ID: field.$6798:;=<>?@$:;<=>?789@6       !"#$%&'()*+,-./0123456789:;<=>??@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzj{|}~opqcdefghijklmnopqtuvwxyzj{|}~opq*1)email-header-0.4.0-6Gu3tAXODIU65HP8xsqbK1Network.Email.Header.TypesNetwork.Email.Header.LayoutNetwork.Email.CharsetNetwork.Email.Header.DocNetwork.Email.Header.ParserNetwork.Email.Header.ReadNetwork.Email.Header.PrettyNetwork.Email.Header.RenderHeaderException MissingHeaderHeaderParseError ParametersMimeTypemimeType mimeSubtype MessageID Recipient IndividualGroupMailbox displayNamemailboxAddressAddressHeadersHeader HeaderName$fExceptionHeaderException $fEqAddress $fOrdAddress $fShowAddress $fEqMailbox $fShowMailbox $fEqRecipient$fShowRecipient $fEqMessageID$fOrdMessageID$fShowMessageID $fEqMimeType $fOrdMimeType$fShowMimeType$fShowHeaderExceptionLayoutlayoutspanbreakpositionnicest$fMonoidLayoutCharset charsetNamecharsets lookupCharsetdefaultCharset fromUnicode toUnicode $fOrdCharset $fEqCharset $fShowCharsetDocEncodingQPBase64 RenderOptions lineWidthindentcharsetencodingdefaultRenderOptionsrenderprimgroupbuilderstring byteStringtextspacenewlineline linebreaksoftline softbreaksep punctuate $fIsStringDoc $fMonoidDoc $fEqEncoding $fOrdEncoding$fReadEncoding$fShowEncoding$fEnumEncoding$fBoundedEncoding$fEqRenderOptions$fShowRenderOptionsfwscfwslexemesymbolcommaSepdateTimeaddressmailbox mailboxList recipient recipientList messageID messageIDListphrase phraseList unstructured mimeVersion contentTypecontentTransferEncodingfieldstructuredFielddatefromsenderreplyTotoccbcc inReplyTo referencessubjectcommentskeywords resentDate resentFrom resentSenderresentToresentCc resentBccresentMessageID contentID renderHeaders runLayout LayoutStepbaseGHC.BaseNothing unsafeLoadghc-prim GHC.TypesBoolflattenbytestring-0.10.8.1 Data.ByteString.Builder.InternalBuilderStringData.ByteString.Internal ByteString#text-1.2.2.1-9Yh8rJoh8fO2JMLWffT3QsData.Text.Internal.LazyTextmemptyEmptyPrimCatUnion<+> concatMany parseMaybeJustfail parseEither Data.EitherRightLeft toByteStringcomment fromDigitdigitsnumberhexPair tokenWithatomdotAtomtokentokenCI quotedString encodedWord scanStringaddrSpec angleAddrSpecsepBy2optionalSepBy1 angleAddr fromElementsangle byteStringCIhex encodeWord splitWord layoutText encodeText renderText renderHeader buildField