!rb!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      None 3;=KV]@0imapEvery function that communicates with the outside world should run in the Universe monad, which provides an ability to use mocks when testingimapIf you don't care about streaming you will get results in this simplified data type, in which the ErrorMessage comes from TaggedResult if it failed.imapCommand result consits of a sequence of untagged results followed by a single tagged result that specifies if the command overall succeeded. This is a sum type to bind those two types togetherimapJUntagged replies are the actual data returned in response to the commands.imapA list of flags a mailbox hasimap$How many messages exist in a mailboximap Sequence id of a deleted messageimap2Returned by the server when it cleanly disconnectsimapNumber of recent messagesimapNumber of messages in a mailboximapNumber of unseen messagesimapUID of a messageimap]A sequence id of a message |UID that will be given to the next message added to this mailboximapgA triple of mailbox name, it's UIDValidity value and message UID is always unique for a given messageimapResult of an OK response imapResult of a NO response!imapResult of a BAD response"imap:What server advertises that it supports |Response to the LIST command$imapkFetch response, contains many responses |Status of a mailbox, will contain many different responses inside&imap?A list of message IDs or UIDs fullfilling the search criterions'imap7A parsed ENVELOPE reply, prefixed to avoid name clashes)imap Message size*imapAn unsupported value+imapMessage body, or headers,imapAn unparsed bodystructure-imapA format extension.imapwflags that a mailbox has |Character sequence that marks a new level of hierarchy in the inbox name (usually a slash)0imapName of the mailbox;imap1Tagged results can be in on of these three states?imap=Always the last result of the command, contains it's metadataAimap Id of the command that completesBimap!State returned by the server sideCimap3Rest of the result, usually the human-readable partXimapuFirst parameter is the name of a capability and the second can contain a value, if the capability is of the form  `NAME=VALUE`nimapVThread that posted the request should watch this queue for responses to the request.oimapBId of the request, which is the same as the id sent to the server.simapgThe actual connection with the server from Network.Connection. Only use if you know what you're doingtimapContext from Network.ConnectionuimapKContains requests for response that weren't yet read by the watcher thread.vimap(Id of the thread the watcher executes onwimap;All the unfulfilled requests the watcher thread knows aboutximapConfiguration settings{imapThe current connection state|imapiContains commands sent by the server which we didn't expect. Probably message and mailbox state updates}imapInternal state of the library~imap8Connection with the server can be in one of these statesimaplEach command sent to the server is identified by a random id. this alias helps noticing where this happensimap&A type alias used for an error message ,('&%#"! $*+-):9876543210/.;>=<?@CBADXWVUTSRQPONMLKIHGFEJYa`_^]\[Zbcgfedhikjlmonpqrxwvutsyz}|{~~yz}|{qrxwvutsplmonhikjbcgfedYa`_^]\[ZDXWVUTSRQPONMLKIHGFEJ?@CBA;>=<,('&%#"! $*+-):9876543210/. None 3;=KV]FNone 3;=KV]GNone 3;=KV]HkNone 3;=KV]I)None 3;=KV]K%!imapMReject all outstanding requests with the exception handler, close the watcherNone 3;=KV]K2016 Michal Kawalec BSD-style (see the file LICENSE)!Michal Kawalec <michal@monad.cat> experimental non-portableNone 3;=KV]a imapConnects to the server and gives you a connection object that needs to be passed to any other command. You should only call it once for every connection you wish to createimaptAn escape hatch, gives you the ability to send any command to the server, even one not implemented by this libraryimapConnected state commandsuUpgrade a connection to a TLS connection from an insecure one. Accepts TLS settings you wish your connection to useimapaA simple authentication method, with user and password. Probably what's needed in 90% of cases.imapAuthenticate with the server. During the authentication control is given to the library user and is returned to the library at the end of authenticationimapAuthenticated state commandsimapSelected state commandsimap)Fetch message body by message sequence idimap!Fetch message body by message UIDimapFA general fetch, you have to specify everything that goes after the FETCH keywordimapA general fetch using UIDsimapCopy message by message UID imapReturn the untagged replies or an error message if the tagged reply is of type NO or BAD. Also return all untagged replies received if replies list contains a BYE response (when the server decided to cleanly disconnect)!      !      "      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijjklmnoopqrrstuvvwxyz{|}}~      !"#$%imap-0.3.0.9-inplaceNetwork.IMAP.TypesNetwork.IMAP.Parsers.UtilsNetwork.IMAP.Parsers.UntaggedNetwork.IMAP.Parsers.FetchNetwork.IMAP.ParsersNetwork.IMAP.RequestWatcherNetwork.IMAP.Utils Network.IMAPUniverseconnectionPut'connectionGetChunk'' SimpleResult CommandResultTaggedUntagged NameAttribute NoinferiorsNoselectMarkedUnmarked HasNoChildren OtherNameAttrExtensionPayloadExtInt ExtLabelsUntaggedResultFlagsExistsExpungeBye HighestModSeqRecentMessagesUnseenPermanentFlagsUID MessageIdUIDNext UIDValidityOKResultNOResult BADResult CapabilitiesListRFetchStatusRSearchEnvelope InternalDateSizeUnknownBody BodyStructure ExtensionflagshierarchyDelimiter inboxNameeDateeSubjecteFromeSendereReplyToeToeCCeBCC eInReplyTo eMessageId ResultStateOKNOBAD TaggedResult commandId resultState resultRest CapabilityCIMAP4 CUnselectCIdle CNamespaceCQuotaCId CExperimental CChildrenCUIDPlus CCompressCEnableCMove CCondstoreCEsearchCUtf8CAuth CListExtended CListStatus CAppendLimitCOtherFlagFSeen FAnsweredFFlaggedFDeletedFDraftFRecentFAnyFOther EmailAddress emailLabel emailRoute emailUsername emailDomain IMAPSettings imapTimeoutuntaggedQueueLengthResponseRequest responseQueue respRequestId ParseResult IMAPState rawConnectionconnectionContextresponseRequestsserverWatcherThreadoutstandingReqs imapSettingsIMAPConnectionconnectionState untaggedQueue imapStateConnectionStateUndefinedState Connected Disconnected CommandId ErrorMessageisUndefinedState isConnectedisDisconnectedisFOtherisFAny isFRecentisFDraft isFDeleted isFFlagged isFAnsweredisFSeenisFlagsisExists isExpungeisByeisHighestModSeqisRecent isMessagesisUnseenisPermanentFlagsisUID isMessageId isUIDNext isUIDValidity isOKResult isNOResult isBADResultisCapabilitiesisListRisFetch isStatusRisSearch isEnvelopeisInternalDateisSize isUnknownisBodyisBodyStructure isExtensionisTagged isUntaggeddefaultImapSettings$fUniverseListT$fUniverseListT0 $fUniverseIO$fShowConnectionState$fShowEmailAddress$fEqEmailAddress $fShowFlag$fEqFlag $fOrdFlag$fShowCapability$fEqCapability$fOrdCapability$fShowResultState$fEqResultState$fShowTaggedResult$fEqTaggedResult$fShowExtensionPayload$fEqExtensionPayload$fShowNameAttribute$fEqNameAttribute$fOrdNameAttribute$fShowUntaggedResult$fEqUntaggedResult$fShowCommandResult$fEqCommandResult$fEqResponseRequesteatUntilClosingParenhadClosedAllParensparseEmailList parseNString parseEmail nilOrValue parseQuotedparseQuotedTextparseNameAttributeparseListLikeResp atomSpecials isAtomChartoInt parseNumber parseLabelparseConnectionStateparseOkparseNoparseBadparseExtension parseFlagparseFlagKeyword parseFlagList parseFlags parseExistsparseBye parseRecent parseOkResp parseUnseenparsePermanentFlags parseUidNextparseUidValidityparseHighestModSeqparseStatusItem parseStatusparseCapabilityListparseCapabilityWithValueparseNamedCapability parseExpungeparseSearchResult parseFetchparseSpecifiersparseInternalDate parseBodyparseBodyStructure parseEnvelope parseReply parseLine parseTagged parseUntaggedrequestWatcher genRequestId readResults escapeTextifNotDisconnected flagsToText connectServer sendCommandstartTLS capabilitynooplogoutlogin authenticateselectexaminecreatedeleterename subscribe unsubscribelistlsubstatusappendcheckcloseexpungesearch uidSearchfetchuidFetchfetchG uidFetchGstoreuidStorecopyuidCopy simpleFormathandleExceptions