p6      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                               ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 Safe 6789:;<=>?@AB7=>?@AB 6789:;<=>?@ABNoneNoneA - describes the particular event that happenedIf there is a   in the ConnectionData? struct, it will be sporadically called with values of type . A  . is any function which responds to log events:     None"LWe return a list of headers so that we can treat the headers like a monoid. !" !" !" !"NoneI+This unwraps a C9 value, throwing a provided exception if the value is D.,This unwraps an E3 value, throwing the contained exception if the E was a F value.-This asserts that the provided G is H7, throwing a provided exception is the argument was I.."Case Insensitive string comparison/-HTTP ends newlines with rn sequence, but the  connection package doesn't know this so we need to drop the r after reading lines. This should only be needed in your compatibility with the HTTP library.0Creates a new connection to Hostname from an already initialized ConnectionContext. Internally it uses J to cleanup the connection.1Creates a connection from a U value, returning it. It is the user's responsibility to close this appropriately.2+Get exact count of bytes from a connection.The size argument is the exact amount that must be returned to the user. The call will wait until all data is available. Hence, it behaves like K.On end of input, 2 will throw an   exception. Taken from: 3https://github.com/vincenthz/hs-connection/issues/9+,-./012+,-./012-+,./012+,-./012None!"<=?I\7@Creates a structure representing a TLS connection to the server.8+Plaintext HTTP instead of a TLS connection.D3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !$'"#%&()*+,-/.0123456789:;<=>?@ABCD456789:;<0123=,-./v()*+u!"#$%&'ts >rqpo     nmlkji?hgfedcba`_^]\[ZYXWVU@TSRQ|}~POAmnopqrstuvwxyz{NijklMBCefghLRSTUVWXYZ[\]^_`abcdOPQKJLMNIDEFGHIJKH>?@ABCG9:;<=F345678EDl3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvNoneLLLNone is the same as y but takes a user-defined predicate that it uses to select which events to log before writing them to the provided M@ prints the full data of every logging event to the provided M.3 prints the full data of every logging event to N.h takes a user-defined predicate that it uses to select which events to log before logging them to N. is the same as y but takes a user-defined predicate that it uses to select which events to log before writing them to the provided Ma prints which calls are happening and which endpoints are being hit, but without the payloads.5 prints request/response data without payloads to Nh takes a user-defined predicate that it uses to select which events to log before logging them to N.   Safe0 !"#$%&'()*+,-./01234 !"#$%&'()*+,+,)*'(#$%&!"  !"#$%&'()*+,-./01234None!"9;;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkOPQlmnopqrst/=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk/TUVWXYZ[\]^_`abcdefghijkNOPQRSCDEFGHIJKLM=>?@AB=>?@ABC DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkOPQlmnopqrst NoneOT"This is the same type alias as in  Control.Lens1, and so can be used anywhere lenses are needed. None0T RSTUVW X  4=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk    RSTUVW X  NoneLT-Y#Parse a path, failing if we cannot.Z@Parse the JSON body out of a request, failing if it isn't an 'application/json'# response, or if the parsing failed[<Grab a header from the response, failing if it isn't present\We should really only need this function to get an auth token. We provide it in a fairly generic form in case we need ever need it but it could be inlined into mmLogin. Fire off a login attempt. Note: We get back more than just the auth token. We also get all the server-side configuration data for the user.route: /api/v3/users/loginFire off a login attempt. Note: We get back more than just the auth token. We also get all the server-side configuration data for the user.route: /api/v3/users/initial_load?Requires an authenticated user. Returns the full list of teams.route: /api/v3/teams/allroute: /api/v3/teams/createqRequires an authenticated user. Returns the full list of channels for a given team of which the user is a memberroute: !/api/v3/teams/{team_id}/channels/jRequires an authenticated user. Returns the channels for a team of which the user is not already a memberroute: 6/api/v3/teams/{team_id}/channels/more/{offset}/{limit}KRequires an authenticated user. Returns the details of a specific channel.route: -/api/v3/teams/{team_id}/channels/{channel_id}route: %/api/v3/teams/{team_id}/channels/viewroute: 2/api/v3/teams/{team_id}/channels/{channel_id}/joinroute: 3/api/v3/teams/{team_id}/channels/{channel_id}/leaveroute: I/api/v3/teams/{team_id}/channels/{channel_id}/posts/page/{offset}/{limit}route: D/api/v3/teams/{team_id}/channels/{channel_id}/posts/since/{utc_time}route: A/api/v3/teams/{team_id}/channels/{channel_id}/posts/{post_id}/getroute: T/api/v3/teams/{team_id}/channels/{channel_id}/posts/{post_id}/after/{offset}/{limit}route: U/api/v3/teams/{team_id}/channels/{channel_id}/posts/{post_id}/before/{offset}/{limit}route:  /api/v3/files/{file_id}/get_inforoute: /api/v4/files/{file_id}route: /api/v3/users/{user_id}/getroute: /api/v3/users/{offset}/{limit} route: /api/v3/teams/members/{team_id}!route: D/api/v3/teams/{team_id}/channels/{channel_id}/users/{offset}/{limit}"route: ,/api/v3/users/profiles_for_dm_list/{team_id}#route: /api/v3/users/me$route: ./api/v3/teams/{team_id}/users/{offset}/{limit}%route: /api/v3/users/status&route: ./api/v3/teams/{team_id}/channels/create_direct'route: '/api/v3/teams/{team_id}/channels/create(route: 4/api/v3/teams/{team_id}/channels/{channel_id}/delete)route: D/api/v3/teams/{team_id}/channels/{channel_id}/posts/{post_id}/delete*route: :/api/v3/teams/{team_id}/channels/{channel_id}/posts/update+route: :/api/v3/teams/{team_id}/channels/{channel_id}/posts/create,AGet the system configuration. Requires administrative permission.route: /api/v3/admin/config.route: 1/api/v3/teams/{team_id}/channels/{channel_id}/add/route: (/api/v3/teams/{team_id}/add_user_to_team0route: (/api/v3/teams/{team_id}/commands/execute1route: /api/v3/users/create2route: /api/v3/users/create3route: G/api/v3/teams/{team_id}/channels/{channel_id}/posts/{post_id}/reactions]3This is for making a generic authenticated request.4route: ./api/v3/teams/{team_id}/channels/update_header5This instance allows us to use  simpleHTTP from  with connections from the  connection package.4^YZ[\ channel to viewprevious channel !"#$%&'()*+,-./0123]_`a4bc5 +,-3456789:;<=>?@ABCDEFGHIJKLMNefghijklmnopqrstuvwxyz{     !$'"#%&,-/.079:;<>@A  !"#$%&'()*+,-./01234,-./ 0     !"#$%&'9:;<=>?@ABCmnopqrstuvwxyz{345678@ijklefghDEFGHIJKLMN  ;<79: &'()3 !"#$%-4./12+*0,A>,+-4^YZ[\  !"#$%&'()*+,-./0123]_`a4bc5d !"#$$%&'()*+,-.//0123456789:;<=>?@ABBCDEFGGHIJKKLMNOPPQRSTUVWXYZ[\]]^_`abcdefghijklmnoopqrrstuuvwxyz{|}~       !"##$%&&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()**+,-.//01234567899:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + ,-./-.0-12-13456457458-9:;<=>-?@-ABCDE F G  H I J K L M N O P Q R S T U VW/mattermost-api-30802.1.0-Fe2Eu5XQweg8EyQ80f0StfNetwork.Mattermost.VersionNetwork.Mattermost.Types.Base!Network.Mattermost.Types.InternalNetwork.Mattermost.UtilNetwork.Mattermost.TypesNetwork.Mattermost.LoggingNetwork.Mattermost.Exceptions"Network.Mattermost.WebSocket.TypesNetwork.Mattermost.LensesNetwork.Mattermost.WebSocketNetwork.MattermostPaths_mattermost_apiE isEOFErrorNetwork.Mattermost.TH Network.HTTPStream mmApiVersion LogEventType HttpRequest HttpResponseWebSocketRequestWebSocketResponse WebSocketPing WebSocketPongLogEvent logFunction logEventTypeLoggerPortHostname$fEqLogEventType$fShowLogEventType $fEqLogEvent$fShowLogEventConnectionData cdHostnamecdPort cdAutoClosecdConnectionCtxcdTokencdLoggercdUseTLS AutoCloseNoYesTokengetTokenStringautoCloseToHeader $fReadToken $fShowToken $fEqToken $fOrdToken$fReadAutoClose$fShowAutoClose $fEqAutoClose$fOrdAutoClosenoteEhoistEassertE~=dropTrailingCharwithConnection mkConnectionconnectionGetExactReactionreactionUserIdreactionPostIdreactionEmojiNamereactionCreateAt TeamsCreateteamsCreateDisplayNameteamsCreateNameteamsCreateType UsersCreateusersCreateEmailusersCreatePasswordusersCreateUsernameusersCreateAllowMarketingCommandResponsecommandResponseTypecommandResponseTextcommandResponseUsernamecommandResponseIconURLcommandResponseGotoLocationcommandResponseAttachmentsCommandResponseTypeCommandResponseInChannelCommandResponseEphemeral CommandIdCmdIunCmdICommand commandId commandTokencommandCreateAtcommandUpdateAtcommandDeleteAtcommandCreatorId commandTeamIdcommandTrigger commandMethodcommandUsernamecommandIconURLcommandAutoCompletecommandAutoCompleteDesccommandAutoCompleteHintcommandDisplayNamecommandDescription commandURL MinCommandminComChannelId minComCommandPosts postsPosts postsOrderFileInfo fileInfoIdfileInfoUserIdfileInfoPostIdfileInfoCreateAtfileInfoUpdateAtfileInfoDeleteAt fileInfoNamefileInfoExtension fileInfoSizefileInfoMimeType fileInfoWidthfileInfoHeightfileInfoHasPreview PendingPostIdPPIunPPI PendingPostpendingPostChannelIdpendingPostCreateAtpendingPostFilenamespendingPostMessage pendingPostIdpendingPostUserIdpendingPostParentIdpendingPostRootIdPostpostPendingPostIdpostOriginalId postProps postRootId postFileIdspostIdpostType postMessage postDeleteAt postHashtags postUpdateAt postUserId postCreateAt postParentId postChannelIdpostHasReactionsFileIdFIunFIPostIdPIunPI PostPropspostPropsOverrideIconUrlpostPropsOverrideUsernamepostPropsAttachmentspostPropsNewHeaderpostPropsOldHeaderPostPropAttachmentppaColorppaTextUseruserId userCreateAt userUpdateAt userDeleteAt userUsername userAuthDatauserAuthService userEmailuserEmailVerified userNickname userFirstName userLastName userRolesuserNotifyPropsuserLastPasswordUpdateuserLastPictureUpdate userLocale InitialLoadinitialLoadUserinitialLoadTeamsUserIdUIunUI MinChannelminChannelNameminChannelDisplayNameminChannelPurposeminChannelHeaderminChannelTypeChannelsChannelWithData ChannelDatachannelDataChannelIdchannelDataUserIdchannelDataRoleschannelDataLastViewedAtchannelDataMsgCountchannelDataMentionCountchannelDataNotifyPropschannelDataLastUpdateAt SingleChannelSCChannel channelIdchannelCreateAtchannelUpdateAtchannelDeleteAt channelTeamId channelTypechannelDisplayName channelName channelHeaderchannelPurposechannelLastPostAtchannelTotalMsgCountchannelExtraUpdateAtchannelCreatorId ChannelIdCIunCI BoolStringfromBoolString NotifyPropsnotifyPropsMentionKeysnotifyPropsEmailnotifyPropsPushnotifyPropsDesktopnotifyPropsDesktopSoundnotifyPropsChannelnotifyPropsFirstNamenotifyPropsMarkUnread NotifyOptionNotifyOptionAllNotifyOptionMentionNotifyOptionNone WithDefaultIsValueDefault TeamMemberteamMemberUserIdteamMemberTeamIdteamMemberRolesTeamteamId teamCreateAt teamUpdateAt teamDeleteAtteamDisplayNameteamName teamEmailteamTypeteamCompanyNameteamAllowedDomains teamInviteIdteamAllowOpenInviteTeamIdTIunTIIdunIdHasIdgetIdIsIdtoIdfromIdTypeOrdinaryDirectPrivateGroupSystemHeaderChangeUnknownSetChannelHeadersetChannelHeaderChanIdsetChannelHeaderStringLoginusernamepasswordSessionsessConnsessTok runLogger runLoggerS maybeFailmkConnectionDatamkConnectionDataInsecureinitConnectionDatainitConnectionDataInsecure withLoggernoLogger mkSessionidStringemptyNotifyProps urlForFile mkPendingPostmillisecondsToUTCTimeutcTimeToMilliseconds$fToJSONReaction$fFromJSONReaction$fToJSONTeamsCreate$fToJSONUsersCreate$fFromJSONCommandResponse$fFromJSONCommandResponseType$fHasIdCommandCommandId$fIsIdCommandId$fToJSONMinCommand$fFromJSONPosts$fFromJSONFileInfo$fHasIdPendingPostPendingPostId$fIsIdPendingPostId$fToJSONPendingPost $fToJSONPost$fFromJSONPost$fHasIdPostPostId $fIsIdFileId $fIsIdPostId$fToJSONPostProps$fFromJSONPostProps$fToJSONPostPropAttachment$fFromJSONPostPropAttachment$fFromJSONUser$fHasIdUserUserId$fFromJSONInitialLoad $fIsIdUserId$fToJSONMinChannel$fFromJSONChannelWithData$fFromJSONChannelData$fHasIdChannelDataChannelId$fFromJSONSingleChannel$fFromJSONChannel$fHasIdChannelChannelId$fIsIdChannelId$fFromJSONNotifyProps$fFromJSONBoolString$fFromJSONNotifyOption$fFunctorWithDefault$fFromJSONWithDefault$fFromJSONTeamMember$fFromJSONTeam$fHasIdTeamTeamId $fIsIdTeamId $fHasIdIdId$fIsIdId $fFromJSONId $fToJSONType$fFromJSONType$fToJSONSetChannelHeader $fToJSONLogin $fReadType $fShowType $fOrdType$fEqType$fReadId$fShowId$fEqId$fOrdId $fHashableId $fToJSONId $fToJSONKeyId$fFromJSONKeyId $fReadTeamId $fShowTeamId $fEqTeamId $fOrdTeamId$fHashableTeamId$fToJSONTeamId$fToJSONKeyTeamId$fFromJSONKeyTeamId$fFromJSONTeamId $fReadTeam $fShowTeam$fEqTeam $fOrdTeam$fReadWithDefault$fShowWithDefault$fEqWithDefault$fOrdWithDefault$fReadNotifyOption$fShowNotifyOption$fEqNotifyOption$fOrdNotifyOption$fEqNotifyProps$fShowNotifyProps$fReadNotifyProps$fOrdNotifyProps$fReadChannelId$fShowChannelId $fEqChannelId$fOrdChannelId$fHashableChannelId$fToJSONChannelId$fToJSONKeyChannelId$fFromJSONKeyChannelId$fFromJSONChannelId$fReadMinChannel$fEqMinChannel$fShowMinChannel $fReadUserId $fShowUserId $fEqUserId $fOrdUserId$fHashableUserId$fToJSONUserId$fToJSONKeyUserId$fFromJSONKeyUserId$fFromJSONUserId$fReadChannelData$fShowChannelData$fEqChannelData $fReadChannel $fShowChannel $fEqChannel $fOrdChannel$fReadChannelWithData$fShowChannelWithData$fEqChannelWithData$fReadSingleChannel$fShowSingleChannel$fEqSingleChannel$fOrdSingleChannel$fReadTeamMember$fShowTeamMember$fEqTeamMember$fOrdTeamMember $fReadUser $fShowUser$fEqUser$fEqInitialLoad$fShowInitialLoad$fReadPostPropAttachment$fShowPostPropAttachment$fEqPostPropAttachment$fReadPostProps$fShowPostProps $fEqPostProps $fReadPostId $fShowPostId $fEqPostId $fOrdPostId$fHashablePostId$fToJSONPostId$fToJSONKeyPostId$fFromJSONKeyPostId$fFromJSONPostId $fReadFileId $fShowFileId $fEqFileId $fOrdFileId$fHashableFileId$fToJSONFileId$fToJSONKeyFileId$fFromJSONKeyFileId$fFromJSONFileId $fReadPost $fShowPost$fEqPost$fReadPendingPostId$fShowPendingPostId$fEqPendingPostId$fOrdPendingPostId$fHashablePendingPostId$fToJSONPendingPostId$fToJSONKeyPendingPostId$fFromJSONKeyPendingPostId$fFromJSONPendingPostId$fReadPendingPost$fShowPendingPost$fEqPendingPost$fReadFileInfo$fShowFileInfo $fEqFileInfo $fReadPosts $fShowPosts $fEqPosts$fReadMinCommand$fShowMinCommand$fEqMinCommand$fReadCommandId$fShowCommandId $fEqCommandId$fOrdCommandId$fHashableCommandId$fToJSONCommandId$fToJSONKeyCommandId$fFromJSONKeyCommandId$fFromJSONCommandId $fReadCommand $fShowCommand $fEqCommand$fReadCommandResponseType$fShowCommandResponseType$fEqCommandResponseType$fReadCommandResponse$fShowCommandResponse$fEqCommandResponse$fReadUsersCreate$fShowUsersCreate$fEqUsersCreate$fReadTeamsCreate$fShowTeamsCreate$fEqTeamsCreate$fReadReaction$fShowReaction $fEqReactionmmLoggerDebugFilter mmLoggerDebugmmLoggerDebugErrmmLoggerDebugFilterErrmmLoggerInfoFilter mmLoggerInfommLoggerInfoErrmmLoggerInfoFilterErrConnectionExceptionHTTPResponseExceptionMattermostServerErrorHeaderNotFoundExceptionJSONDecodeExceptionjsonDecodeExceptionMsgjsonDecodeExceptionJSONContentTypeExceptionURIParseExceptionLoginFailureException$fExceptionConnectionException $fExceptionHTTPResponseException $fExceptionMattermostServerError"$fExceptionHeaderNotFoundException$fExceptionJSONDecodeException$fExceptionContentTypeException$fExceptionURIParseException $fExceptionLoginFailureException$fShowLoginFailureException$fShowURIParseException$fShowContentTypeException$fShowJSONDecodeException$fShowHeaderNotFoundException$fShowMattermostServerError$fShowHTTPResponseException$fShowConnectionException WEBroadcast webChannelId webUserId webTeamId webOmitUsersWEData wepChannelId wepTeamId wepSenderName wepUserIdwepUserwepChannelDisplayNamewepPost wepStatus wepReactionWebsocketEventweEventweData weBroadcastweSeqWebsocketEventTypeWMTypingWMPosted WMPostEdited WMPostDeletedWMChannelDeletedWMChannelCreated WMDirectAdded WMGroupAdded WMNewUser WMAddedToTeam WMLeaveTeam WMUpdateTeam WMUserAdded WMUserUpdated WMUserRemovedWMPreferenceChangedWMEphemeralMessageWMStatusChangeWMHelloWMWebRTCWMAuthenticationChallengeWMReactionAddedWMReactionRemoved$fToJSONWEBroadcast$fFromJSONWEBroadcast$fToJSONWEData$fFromJSONWEData$fWebSocketsDataWebsocketEvent$fToJSONWebsocketEvent$fFromJSONWebsocketEvent$fToJSONWebsocketEventType$fFromJSONWebsocketEventType$fReadWebsocketEventType$fShowWebsocketEventType$fEqWebsocketEventType$fOrdWebsocketEventType $fReadWEData $fShowWEData $fEqWEData$fReadWEBroadcast$fShowWEBroadcast$fEqWEBroadcast$fReadWebsocketEvent$fShowWebsocketEvent$fEqWebsocketEventLens' cdAutoCloseLcdConnectionCtxL cdHostnameL cdLoggerLcdPortLcdTokenL cdUseTLSL passwordL usernameLteamAllowOpenInviteLteamAllowedDomainsLteamCompanyNameL teamCreateAtL teamDeleteAtLteamDisplayNameL teamEmailLteamIdL teamInviteIdL teamNameL teamTypeL teamUpdateAtLteamMemberRolesLteamMemberTeamIdLteamMemberUserIdLnotifyPropsChannelLnotifyPropsDesktopLnotifyPropsDesktopSoundLnotifyPropsEmailLnotifyPropsFirstNameLnotifyPropsMarkUnreadLnotifyPropsMentionKeysLnotifyPropsPushLchannelCreateAtLchannelCreatorIdLchannelDeleteAtLchannelDisplayNameLchannelExtraUpdateAtLchannelHeaderL channelIdLchannelLastPostAtL channelNameLchannelPurposeLchannelTeamIdLchannelTotalMsgCountL channelTypeLchannelUpdateAtLchannelDataChannelIdLchannelDataLastUpdateAtLchannelDataLastViewedAtLchannelDataMentionCountLchannelDataMsgCountLchannelDataNotifyPropsLchannelDataRolesLchannelDataUserIdL userAuthDataLuserAuthServiceL userCreateAtL userDeleteAtL userEmailLuserEmailVerifiedLuserFirstNameLuserIdL userLastNameLuserLastPasswordUpdateLuserLastPictureUpdateL userLocaleL userNicknameLuserNotifyPropsL userRolesL userUpdateAtL userUsernameLpostChannelIdL postCreateAtL postDeleteAtL postFileIdsLpostHasReactionsL postHashtagsLpostIdL postMessageLpostOriginalIdL postParentIdLpostPendingPostIdL postPropsL postRootIdL postTypeL postUpdateAtL postUserIdLpostPropsAttachmentsLpostPropsNewHeaderLpostPropsOldHeaderLpostPropsOverrideIconUrlLpostPropsOverrideUsernameL ppaColorLppaTextLpendingPostChannelIdLpendingPostCreateAtLpendingPostFilenamesLpendingPostIdLpendingPostMessageLpendingPostParentIdLpendingPostRootIdLpendingPostUserIdL postsOrderL postsPostsLreactionCreateAtLreactionEmojiNameLreactionPostIdLreactionUserIdL weBroadcastLweDataLweEventLweSeqLwepChannelDisplayNameL wepChannelIdLwepPostL wepReactionLwepSenderNameL wepStatusL wepTeamIdL wepUserIdLwepUserL webChannelIdL webOmitUsersL webTeamIdL webUserIdLcommandResponseAttachmentsLcommandResponseGotoLocationLcommandResponseIconURLLcommandResponseTextLcommandResponseTypeLcommandResponseUsernameLMMWebSocketTimeoutException MMWebSocketmmCloseWebSocketmmGetConnectionHealthmmWithWebSocket&$fExceptionMMWebSocketTimeoutException!$fShowMMWebSocketTimeoutExceptionmmLoginmmGetInitialLoad mmGetTeams mmCreateTeam mmGetChannelsmmGetMoreChannels mmGetChannel mmViewChannel mmJoinChannelmmLeaveChannel mmGetPostsmmGetPostsSince mmGetPostmmGetPostsAftermmGetPostsBefore mmGetFileInfo mmGetFile mmGetUser mmGetUsersmmGetTeamMembersmmGetChannelMembersmmGetProfilesForDMListmmGetMe mmGetProfiles mmGetStatusesmmCreateDirectmmCreateChannelmmDeleteChannel mmDeletePost mmUpdatePostmmPost mmGetConfig mmSaveConfigmmChannelAddUser mmTeamAddUser mmExecute mmUsersCreatemmUsersCreateWithSessionmmGetReactionsForPostmmSetChannelHeader$fStreamConnectioncatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebaseGHC.BaseMaybeNothing Data.EitherEitherLeftghc-prim GHC.TypesBoolTrueFalseControl.Exception.Basebracketbytestring-0.10.8.1Data.ByteStringhGet suffixLensesGHC.IO.Handle.TypesHandleGHC.IO.Handle.FDstderr toValueStringfromValueStringnullablePEventPMMWSconnectionToStreamcreatePingPongTimeouts pingThreadmmPath mmGetJSONBody mmGetHeadermmUnauthenticatedHTTPPost mmRequest maxLineLength mmDoRequest mmWithRequestmmPOST mmRawPOSTassert200Response