h&{g      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                                                                                                                                                                      Safe-Inferred+"%&'()*-0123589:;=?   Safe-Inferred+"%&'()*-0123589:;=? slack-web?Slack generated Signing Secret placed into configuration. See https://api.slack.com/authentication/verifying-requests-from-slack#signing_secrets_admin_page slack-webPure version of !. Probably only useful for tests.    Safe-Inferred+"%&'()*-0123589:;=?" slack-web Create a  from a list of name/value  Maybe Pair 's. For  , instead of outputting null, that field will not be output at all. If duplicate keys arise, later keys and their associated values win.Example: objectOptional [ "always" .=! 1 , "just" .=? Just 2 , "nothing" .=? Nothing ] will result in the JSON { "always": 1, "just": 2 }  The field nothing is ommited because it was  . slack-webEncode a value for  slack-webEncode a Maybe value for  slack-web!Conditionally encode a value for  slack-web-Conditionally express a pair in a JSON series8877 Safe-Inferred-"%&'()*-0123589:;=?$# slack-web*ID for a file, which looks something like  F2147483862., slack-web https://api.slack.com/types/file< slack-webFile object is visible= slack-web&File object is in a shared channel so  files.info3 must be invoked to get any further details. See  4https://api.slack.com/types/file#slack_connect_files for more details." !#%$,4321/065.-;=<#%$" !,4321/065.-;=< Safe-Inferred+"%&'()*-0123589:;=?$ Safe-Inferred-"%&'()*-0123589:;=?% DFEGIHVYXWZ[ GIHDFEZ[VYXW Safe-Inferred+"%&'()*-0123589:;=?'1b slack-web3Message text in the format returned by Slack, see  -https://api.slack.com/docs/message-formatting Consider using  messageToHtml for displaying.h slack-web$Common identifier for every type of  Conversation. Unique to the team which the conversation belongs to. Ord to allow it to be a key of a Mapq slack-web6Convert timestamp texts e.g. "1595719220.011100" into ^GHI^_`abcdefghijklmnopqrnopklmhijefgGHI^_`arqbcd Safe-Inferred,"%&'()*-0123589:;=?)z slack-web;Convert the slack format for messages (markdown like, see  -https://api.slack.com/docs/message-formatting ) to HTML. slack-web>Renderers allow you to customize the message rendering. Give  for a default implementation. slack-web9A function giving a user name for a user id. You can use  slack-web"A slack message to convert to HTML slack-web The HTML-formatted slack message Safe-Inferred0"#%&'()*-0123589:;=?+J slack-web%not present for bot messages at least slack-webthe message text is in a markdown-like slack-specific format. Use  to convert it to HTML. slack-web0Errors that can be triggered by a slack request. slack-web"errors from the network connection slack-web errors returned by the slack API#GHI^_`abcdefghijklmnopqr#nopklmhijefgGHI^_`arqbcd Safe-Inferred."#%&'()*-0123589:;=?, slack-webSee https://api.slack.com/types/user slack-web Response to (https://api.slack.com/methods/users.list slack-web users.list request. See -https://api.slack.com/methods/users.list#args,, Safe-Inferred."%&'()*-0123589:;=?Az3 slack-webStyles for Slack  ?https://api.slack.com/reference/block-kit/block-elements#buttonbuttons;. If no style is given, the default style (black) is used. slack-web Green button slack-web Red button slack-web6Represents an optional setting for some Slack Setting. slack-webClass of types that can be turned into part of a Slack Message.  is the primary way of converting primitive and domain-level types into things that can be shown in a slack message. slack-web%Render a link with optional link text slack-web Create a . Some API points can can take either markdown or plain text, but some can take only plain text. This enforces the latter. slack-webCreate a plain text 4 where the API allows either markdown or plain text. slack-webCreate a markdown 4 where the API allows either markdown or plain text. slack-webSets a setting. slack-webSets the empty setting. slack-web.Allows using bare Texts without having to use  slack-web0Allows using bare Strings without having to use  slack-webThe component in a :. Do not use directly. Use the builder functions such as  instead. slack-webText to be displayed in a >. Up to 75 characters, but may be truncated to 30 characters. slack-webType of message to send in response to an interactive webhook. See Slack's  6https://api.slack.com/interactivity/handling#responses,Handling user interaction in your Slack apps% for a description of these fieldds. slack-webRespond with a new message. slack-web?Respond with a message that only the interacting user can usee. slack-webReplace the original message. slack-webDelete the original message. slack-webWhich component and it's IDs that triggered an interactive webhook call. slack-webRepresents the data we get from a callback from Slack for interactive operations. See 5https://api.slack.com/interactivity/handling#payloads slack-web https://api.slack.com/reference/block-kit/composition-objects#confirmConfirm dialog object. slack-webAll Slack Actions must have a  and one  (such as a button). slack-web should be unique for each message and each iteration of a message. If a message is updated, use a new block_id. slack-web Settings for  https://api.slack.com/reference/block-kit/composition-objects#confirmconfirmation dialog objects. slack-webPlain text title for the dialog window. Max length 100 characters. slack-webMarkdown explanatory text that appears in the confirm dialog. Max length is 300 characters. slack-webPlain text to display in the "confirm" button. Max length is 30 characters. slack-webPlain text to display in the "deny" button. Max length is 30 characters. slack-web Optional ! to use for the "confirm" button. slack-web Settings for  ?https://api.slack.com/reference/block-kit/block-elements#buttonbutton elements. slack-webOptional URL to load into the user's browser. However, Slack will still call the webhook and you must send an acknowledgement response. slack-webOptional value to send with the interaction payload. One commoon use is to send state via JSON encoding. slack-web Optional . If not provided, uses the default style which is a black button. slack-web+An optional confirmation dialog to display. slack-webAccessory is a type of optional block element that floats to the right of text in a BlockSection. ?https://api.slack.com/reference/block-kit/blocks#section_fields slack-webSeemingly only documented at https://api.slack.com/changelog/2019-09-what-they-see-is-what-you-get-and-more-and-less-They warn of undocumented element types. Joy. slack-web?@AABCDEFGHIJKLMNOPQRSTUVWXXYZZ[\]^_`abcdefghijklmnoppqrsstuuvwwxyyz{{|}~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  B                                                                                                           (slack-web-1.6.0.0-2wYgZX1SNPN68BysKv4QqJ*Web.Slack.Experimental.RequestVerificationWeb.Slack.Files.TypesWeb.Slack.Pager.TypesWeb.Slack.TypesWeb.Slack.MessageParserWeb.Slack.CommonWeb.Slack.User#Web.Slack.Experimental.Blocks.TypesWeb.Slack.Experimental.Blocks#Web.Slack.Experimental.Events.TypesWeb.Slack.ConversationWeb.Slack.PagerWeb.Slack.InternalWeb.Slack.UsersConversationsWeb.Slack.ChatWeb.Slack.Auth Web.Slack.Api Web.SlackWeb.Slack.ClassyWeb.Slack.PreludeWeb.Slack.AesonUtilsWeb.Slack.Util getUserDesc messageToHtmlSlackVerificationFailedVerificationMissingTimestampVerificationMalformedTimestampVerificationTimestampOutOfRangeVerificationMissingSignature#VerificationUnknownSignatureVersionVerificationMalformedSignature VerificationUndecodableSignatureVerificationSignatureMismatchVerificationCannotParseSlackRequestTimestampSlackSignatureSlackSigningSecretvalidateRequestvalidateRequest'$fShowSlackSigningSecret$fFromHttpApiDataSlackSignature&$fFromHttpApiDataSlackRequestTimestamp"$fExceptionSlackVerificationFailed$fShowSlackVerificationFailed$fEqSlackVerificationFailed$fEqSlackRequestTimestamp$fShowSlackRequestTimestamp$fEqSlackSignature$fShowSlackSignature$fEqSlackSigningSecretFileModeHostedExternalSnippetPost FileAccessFileIdunFileId$fShowFileMode $fEqFileMode $fShowFileId $fEqFileId$fFromJSONFileId$fToJSONFileIdFileObjectVisibleidcreatednametitlemimetype urlPrivate isExternalsizemode$fFromJSONFileMode$fToJSONFileMode$fShowFileObjectVisible$fEqFileObjectVisible FileObjectVisibleFileObject CheckFileInfo$fFromJSONFileObjectVisible$fToJSONFileObjectVisible$fToJSONFileObject$fFromJSONFileObject$fShowFileObject$fEqFileObjectResponseMetadataresponseMetadataNextCursorCursorunCursor$fNFDataResponseMetadata$fEqResponseMetadata$fShowResponseMetadata$fGenericResponseMetadata $fEqCursor$fGenericCursor $fShowCursor$fNFDataCursor$fHashableCursor$fFromJSONCursor$fToJSONCursor$fToHttpApiDataCursor PagedResponseResponseObjectgetResponseMetadatagetResponseData PagedRequest setCursor$fFromJSONResponseMetadata$fToJSONResponseMetadataSlackTimestampslackTimestampTsslackTimestampTimeSlackMessageTextunSlackMessageTextTeamIdunTeamIdConversationIdunConversationIdUserIdunUserIdColorunColortimestampFromTextmkSlackTimestamp$fToJSONSlackTimestamp$fFromJSONSlackTimestamp$fToHttpApiDataSlackTimestamp$fOrdSlackTimestamp$fNFDataSlackTimestamp$fEqSlackTimestamp$fShowSlackTimestamp$fGenericSlackTimestamp$fEqSlackMessageText$fOrdSlackMessageText$fGenericSlackMessageText$fShowSlackMessageText$fNFDataSlackMessageText$fHashableSlackMessageText$fFromJSONSlackMessageText$fToJSONSlackMessageText $fEqTeamId $fOrdTeamId$fGenericTeamId $fShowTeamId$fNFDataTeamId$fHashableTeamId$fFromJSONTeamId$fToJSONTeamId$fToHttpApiDataTeamId$fEqConversationId$fOrdConversationId$fGenericConversationId$fShowConversationId$fNFDataConversationId$fHashableConversationId$fFromJSONConversationId$fToJSONConversationId$fToHttpApiDataConversationId $fEqUserId $fOrdUserId$fGenericUserId $fShowUserId$fNFDataUserId$fHashableUserId$fFromJSONUserId$fToJSONUserId$fToHttpApiDataUserId $fEqColor $fOrdColor$fGenericColor $fShowColor $fNFDataColor$fHashableColor$fFromJSONColor $fToJSONColor HtmlRenderersemoticonRendererdefaultHtmlRenderers$fShowSlackMsgItem$fEqSlackMsgItem$fShowSlackUrl $fEqSlackUrlMessage messageType messageUser messageText messageTs MessageTypeMessageTypeMessage$fToJSONMessageType$fFromJSONMessageType$fNFDataMessageType$fNFDataMessage $fEqMessage$fGenericMessage $fShowMessage$fEqMessageType$fShowMessageType$fGenericMessageTypeSlackClientError ServantError SlackError$fFromJSONMessage$fToJSONMessage$fExceptionSlackClientError$fNFDataSlackClientError$fEqSlackClientError$fGenericSlackClientError$fShowSlackClientErrorProfileprofileAvatarHashprofileStatusTextprofileStatusEmojiprofileRealNameprofileDisplayNameprofileRealNameNormalizedprofileDisplayNameNormalized profileEmailprofileImage_24profileImage_32profileImage_48profileImage_72profileImage_192profileImage_512 profileTeam $fEqProfile$fGenericProfile $fShowProfileUseruserIduserName userDeleted userColor userProfile userIsAdmin userIsOwneruserIsPrimaryOwneruserIsRestricteduserIsUltraRestricted userUpdated$fFromJSONProfile$fEqUser $fGenericUser $fShowUserListRsplistRspMemberslistRspResponseMetadataListReq listReqCursor listReqLimit listReqTeamId$fFromJSONUser$fPagedRequestListReq$fToFormListReq $fEqListRsp$fGenericListRsp $fShowListRsp $fShowListReq$fGenericListReq $fEqListReq$fDefaultListReqUserRsp userRspUser$fPagedResponseListRsp$fFromJSONListRsp $fEqUserRsp$fGenericUserRsp $fShowUserRspEmail$fFromJSONUserRsp $fToFormEmail $fEqEmail$fGenericEmail $fShowEmail SlackStyleSlackStylePrimarySlackStyleDangerOptionalSettingunOptionalSettingSlackTextObjectSlackPlainTextSlackMarkdownTextSlackPlainTextOnly SlackText unSlackTextsSlackmessagelink plaintextonly plaintextmrkdwnsetting emptySetting$fToJSONSlackText$fShowSlackText $fSlackInt $fSlack[] $fSlackText$fIsStringSlackText$fFromJSONSlackPlainTextOnly$fToJSONSlackPlainTextOnly$fIsStringSlackPlainTextOnly$fFromJSONSlackTextObject$fToJSONSlackTextObject$fIsStringOptionalSetting$fIsStringOptionalSetting0$fEqSlackStyle$fShowSlackStyle$fEqOptionalSetting$fEqSlackTextObject$fShowSlackTextObject$fEqSlackPlainTextOnly$fShowSlackPlainTextOnly$fSemigroupSlackText$fMonoidSlackText $fEqSlackTextSlackActionComponent SlackButtonslackButtonTextslackButtonUrlslackButtonValueslackButtonStyleslackButtonConfirmSlackButtonTextSlackInteractiveResponse EphemeralReplaceOriginalDeleteOriginal SlackInteractiveResponseResponse"unSlackInteractiveResponseResponseSlackActionResponse sarBlockId sarActionIdsarActionComponentSlackInteractivePayload sipUserId sipUsernamesipNamesipResponseUrl sipTriggerId sipActionsSlackResponseUrlunSlackResponseUrlSlackConfirmObjectslackConfirmTitleslackConfirmTextslackConfirmConfirmslackConfirmDenyslackConfirmStyle SlackAction SlackBlockIdConfirmSettings confirmTitle confirmTextconfirmConfirm confirmDeny confirmStyleButtonSettings buttonUrl buttonValue buttonStyle buttonConfirmImageimageMarkdownmarkdown SlackMessage SlackBlockSlackBlockSectionSlackBlockImageSlackBlockContextSlackBlockDividerSlackBlockRichTextSlackBlockActionsSlackBlockHeaderSlackAccessorySlackButtonAccessoryRichTextblockIdelementsRichTextSectionItemRichTextSectionItemRichTextRichTextSectionItemUnknownRichItem RichItemTextRichItemChannel RichItemUser RichItemLink RichItemEmoji RichItemOther RichLinkAttrsstyleurltext RichStylersBoldrsItalicToSlackActionListtoSlackActionListSlackActionListunSlackActionListSlackActionListConstraints SlackContext SlackContentSlackContentTextSlackContentImage SlackImageslackImageTitleslackImageAltText slackImageUrl SlackActionIdunSlackActionIdsectionWithButtonAccessory textToMessagecontext textToContextactionsactionsWithBlockIdbuttonSettingsbuttonconfirmAreYouSureconfirm$fFromJSONSlackStyle$fToJSONSlackStyle$fShowSlackImage$fFromJSONSlackContent$fToJSONSlackContent$fShowSlackContent$fFromJSONSlackContext$fToJSONSlackContext$fShowSlackContext$fFromJSONRichStyle$fMonoidRichStyle$fSemigroupRichStyle$fFromJSONRichItem$fFromJSONRichTextSectionItem$fMarkdownSlackContext$fImageSlackContext$fFromJSONRichText$fFromJSONSlackConfirmObject$fToJSONSlackConfirmObject*$fFromJSONSlackInteractiveResponseResponse$fIsStringSlackButtonText$fSlackSlackButtonText$fShowSlackActionComponent$fFromJSONSlackActionComponent$fFromJSONSlackActionResponse!$fFromJSONSlackInteractivePayload$fFromJSONSlackAction$fToJSONSlackAction$fShowSlackAction$fShowSlackAccessory$fFromJSONSlackAccessory$fToJSONSlackAccessory$fFromJSONSlackBlock$fToJSONSlackBlock$fShowSlackBlock$fImageSlackMessage$fMarkdownSlackMessage$fFromJSONSlackMessage$fToJSONSlackMessage$fShowSlackMessage $fToJSONSlackInteractiveResponse$fToSlackActionList(,,,,)$fToSlackActionList(,,,)$fToSlackActionList(,,)$fToSlackActionList(,)$fToSlackActionListSlackAction"$fToSlackActionListSlackActionList$fShowSlackInteractiveResponse$fSemigroupSlackMessage$fMonoidSlackMessage$fEqSlackMessage$fEqSlackBlock$fShowSlackActionList$fEqSlackActionList$fFromJSONSlackActionList$fToJSONSlackActionList$fEqSlackAccessory$fEqSlackAction$fShowSlackInteractivePayload$fShowSlackActionResponse$fEqSlackActionComponent$fShowSlackButtonText$fEqSlackButtonText$fFromJSONSlackButtonText$fEqSlackResponseUrl$fShowSlackResponseUrl$fFromJSONSlackResponseUrl$fToJSONSlackResponseUrl$fEqSlackConfirmObject $fEqRichText$fShowRichText$fEqRichTextSectionItem$fShowRichTextSectionItem $fEqRichItem$fShowRichItem$fEqRichLinkAttrs$fShowRichLinkAttrs $fEqRichStyle$fShowRichStyle$fSemigroupSlackContext$fMonoidSlackContext$fEqSlackContext$fEqSlackContent$fEqSlackImage$fShowSlackActionId$fEqSlackActionId$fFromJSONSlackActionId$fToJSONSlackActionIdRenderedSlackMessage_originalMessage_renderedMessage _truncated<+>parensbrackets angleBracketsticks monospaced codeBlockbolditalicnewline unorderedList mentionUsermentionUserGroupById isSubStringOfrenderprefixFirstSlackMessage slackMessage ChannelTypeChannelGroupIm$fShowChannelType$fEqChannelType MessageEvent$sel:blocks:MessageEvent$sel:channel:MessageEvent$sel:text:MessageEvent$sel:channelType:MessageEvent$sel:files:MessageEvent$sel:user:MessageEvent$sel:ts:MessageEvent$sel:threadTs:MessageEvent$sel:appId:MessageEvent$sel:botId:MessageEvent$fFromJSONChannelType$fToJSONChannelType$fShowMessageEventMessageUpdateEvent$sel:message:MessageUpdateEvent$fFromJSONMessageEvent$fShowMessageUpdateEventChannelCreatedEvent $sel:channel:ChannelCreatedEventCreatedChannel$sel:id:CreatedChannel$sel:isChannel:CreatedChannel$sel:name:CreatedChannel"$sel:nameNormalized:CreatedChannel$sel:creator:CreatedChannel$sel:created:CreatedChannel$sel:isShared:CreatedChannel$sel:isOrgShared:CreatedChannel!$sel:contextTeamId:CreatedChannel$fFromJSONMessageUpdateEvent$fShowChannelCreatedEvent$fShowCreatedChannel$fFromJSONCreatedChannelChannelLeftEvent$sel:actorId:ChannelLeftEvent$sel:channel:ChannelLeftEvent$sel:eventTs:ChannelLeftEvent$fFromJSONChannelCreatedEvent$fShowChannelLeftEventUrlVerificationPayload%$sel:challenge:UrlVerificationPayload$fFromJSONChannelLeftEvent$fShowUrlVerificationPayload EventCallback$sel:eventId:EventCallback$sel:teamId:EventCallback$sel:eventTime:EventCallback$sel:event:EventCallbackEvent EventMessageEventMessageChangedEventChannelJoinMessageEventChannelCreatedEventChannelLeft EventUnknown MessageId$sel:unMessageId:MessageIdEventId$sel:unEventId:EventId $fFromJSONUrlVerificationPayload$fFromJSONEvent$fShowEventCallback $fShowEvent$fGenericEvent$fFromJSONMessageId$fShowMessageId $fEqMessageId$fFromJSONEventId $fShowEventIdUrlVerificationResponse&$sel:challenge:UrlVerificationResponseSlackWebhookEventEventUrlVerificationEventEventCallbackEventUnknownWebhook$fFromJSONEventCallback$fFromJSONSlackWebhookEvent$fShowUrlVerificationResponse$fShowSlackWebhookEvent$fGenericSlackWebhookEvent$fToJSONUrlVerificationResponseTopic topicValue topicCreator topicLastSet $fNFDataTopic $fEqTopic $fShowTopic$fGenericTopicPurpose purposeValuepurposeCreatorpurposeLastSet$fFromJSONTopic $fToJSONTopic$fNFDataPurpose $fEqPurpose $fShowPurpose$fGenericPurposeChannelConversation channelId channelNamechannelCreatedchannelIsArchivedchannelIsGeneralchannelUnlinkedchannelNameNormalizedchannelIsSharedchannelCreatorchannelIsExtSharedchannelIsOrgSharedchannelSharedTeamIdschannelIsPendingExtSharedchannelIsMember channelTopicchannelPurposechannelPreviousNameschannelNumMembers$fFromJSONPurpose$fToJSONPurpose$fNFDataChannelConversation$fEqChannelConversation$fShowChannelConversation$fGenericChannelConversationGroupConversationgroupId groupName groupCreatedgroupIsArchivedgroupIsGeneral groupUnlinkedgroupNameNormalized groupIsShared groupCreatorgroupIsExtSharedgroupIsOrgSharedgroupSharedTeamIdsgroupIsPendingExtShared groupIsMembergroupIsPrivate groupIsMpim groupLastRead groupIsOpen groupTopic groupPurpose groupPriority$fFromJSONChannelConversation$fToJSONChannelConversation$fNFDataGroupConversation$fEqGroupConversation$fShowGroupConversation$fGenericGroupConversationImConversationimId imCreated imIsArchived imIsOrgSharedimUserimIsUserDeleted imPriority$fFromJSONGroupConversation$fToJSONGroupConversation$fNFDataImConversation$fEqImConversation$fShowImConversation$fGenericImConversationlistReqExcludeArchived listReqTypesConversationTypePublicChannelTypePrivateChannelTypeMpimTypeImType Conversation$fFromJSONImConversation$fToJSONImConversation$fToJSONConversation$fFromJSONConversation$fNFDataConversation$fFromJSONConversationType$fToJSONConversationType$fToHttpApiDataConversationType$fNFDataConversationType$fNFDataListReq$fEqConversationType$fShowConversationType$fGenericConversationType$fEqConversation$fShowConversation$fGenericConversationlistRspChannels mkListReq$fFromJSONListReq$fToJSONListReq$fNFDataListRsp HistoryReqhistoryReqChannelhistoryReqCursorhistoryReqCounthistoryReqLatesthistoryReqOldesthistoryReqInclusive$fNFDataHistoryReq$fEqHistoryReq$fShowHistoryReq$fGenericHistoryReq HistoryRsphistoryRspMessageshistoryRspResponseMetadata mkHistoryReq$fToFormHistoryReq$fFromJSONHistoryReq$fToJSONHistoryReq$fNFDataHistoryRsp$fEqHistoryRsp$fShowHistoryRsp$fGenericHistoryRsp RepliesReq repliesReqTsrepliesReqCursorrepliesReqChannelrepliesReqLimitrepliesReqLatestrepliesReqOldestrepliesReqInclusive$fPagedResponseHistoryRsp$fPagedRequestHistoryReq$fFromJSONHistoryRsp$fToJSONHistoryRsp$fNFDataRepliesReq$fEqRepliesReq$fShowRepliesReq$fGenericRepliesReq mkRepliesReq$fPagedRequestRepliesReq$fToFormRepliesReq$fFromJSONRepliesReq$fToJSONRepliesReqLoadPageResponse loadingPage fetchAllBy ResponseJSONResponseSlackError SlackConfigslackConfigManagerslackConfigTokenmkSlackAuthenticateReqauthenticateReqrun unnestErrors$fFromJSONResponseJSON$fEqResponseSlackError$fShowResponseSlackErrorUsersConversationsResponsechannelsresponseMetadataUsersConversationsRequestcursorexcludeArchivedlimitteamIdtypesuser$$fToHttpApiDataConversationTypesList'$fPagedRequestUsersConversationsRequest!$fToFormUsersConversationsRequest)$fPagedResponseUsersConversationsResponse $fShowUsersConversationsResponse$fEqUsersConversationsResponse$fShowUsersConversationsRequest$fEqUsersConversationsRequest"$fGenericUsersConversationsRequest"$fDefaultUsersConversationsRequest$fShowConversationTypesList$fEqConversationTypesList$fNFDataConversationTypesListusersConversationsusersConversationsAll$$fFromJSONUsersConversationsResponsePostMsg postMsgText postMsgParsepostMsgLinkNamespostMsgAttachmentspostMsgUnfurlLinkspostMsgUnfurlMediapostMsgUsername postMsgAsUserpostMsgIconUrlpostMsgIconEmojipostMsgThreadTspostMsgReplyBroadcast$fNFDataPostMsg $fEqPostMsg$fGenericPostMsg $fShowPostMsg PostMsgReqpostMsgReqChannelpostMsgReqTextpostMsgReqParsepostMsgReqLinkNamespostMsgReqAttachmentspostMsgReqBlockspostMsgReqUnfurlLinkspostMsgReqUnfurlMediapostMsgReqUsernamepostMsgReqAsUserpostMsgReqIconUrlpostMsgReqIconEmojipostMsgReqThreadTspostMsgReqReplyBroadcast$fFromJSONPostMsg$fToJSONPostMsg$fNFDataPostMsgReq$fEqPostMsgReq$fGenericPostMsgReq$fShowPostMsgReq PostMsgRsp postMsgRspTspostMsgRspMessage mkPostMsgReq$fToFormPostMsgReq$fFromJSONPostMsgReq$fToJSONPostMsgReq$fNFDataPostMsgRsp$fEqPostMsgRsp$fGenericPostMsgRsp$fShowPostMsgRsp UpdateRspupdateRspChannel updateRspTs updateRspText UpdateRequpdateReqChannel updateReqTsupdateReqAsUserupdateReqAttachmentsupdateReqLinkNamesupdateReqMetadataupdateReqParseupdateReqReplyBroadcast updateReqText mkUpdateReq$fFromJSONPostMsgRsp$fToFormUpdateReq $fEqUpdateRsp$fGenericUpdateRsp$fShowUpdateRsp $fEqUpdateReq$fGenericUpdateReq$fShowUpdateReq$fFromJSONUpdateRspTestRsp testRspUrl testRspTeam testRspUser testRspTeamId testRspUserIdtestRspEnterpriseId$fNFDataTestRsp $fEqTestRsp$fGenericTestRsp $fShowTestRsp$fFromJSONTestRsp$fToJSONTestRspTestReq testReqError testReqFoo$fNFDataTestReq $fEqTestReq$fGenericTestReq $fShowTestReq testRspArgs mkTestReq$fToFormTestReq$fFromJSONTestReq$fToJSONTestReqapiTestauthTestconversationsListconversationsListAllconversationsHistoryconversationsReplieschatPostMessage chatUpdate usersList usersListAlluserLookupByEmailconversationsHistoryAllrepliesFetchAll mkSlackConfigHasTokengetToken HasManager getManager$fHasManagerSlackConfig$fHasTokenSlackConfigghc-primGHC.Primseqbase Data.TuplefstsndGHC.Base otherwiseassert$GHC.Real fromIntegral realToFrac Control.MonadguardjoinGHC.EnumBoundedminBoundmaxBoundEnumsuccpredtoEnumfromEnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.ClassesEq==/= GHC.FloatFloatingtanhtansqrtsinhsinpilogBaselogexpcoshcosatanhatanasinhasinacosh**acos Fractionalrecip fromRational/IntegralremquotRemquotmoddivMod toIntegerdivMonad>>=return>>Functorfmap<$GHC.NumNumsignumabs*+negate fromInteger-Ord<<=>maxmin>=compareGHC.ReadReadReal toRational RealFloat significand scaleFloatisNegativeZeroisNaN isInfiniteisIEEEisDenormalized floatRange floatRadix floatDigitsexponent encodeFloatatan2 decodeFloatRealFractruncateroundproperFractionceilingfloorGHC.ShowShowshowListshow showsPrecData.Typeable.InternalTypeable Data.StringIsString fromString ApplicativeliftA2<*pure*><*> Data.FoldableFoldableData.Traversable Traversablesequence sequenceAtraversemapM GHC.GenericsGeneric Semigroupstimes<>sconcatMonoidmemptymconcatmappend GHC.TypesBoolFalseTrueStringCharDoubleFloatIntGHC.IntInt32Int64 ghc-bignumGHC.Num.IntegerInteger GHC.MaybeMaybeNothingJustOrderingGTLTEQRational RealWorldIOWordGHC.WordWord8Word32Word64 Data.EitherEitherRightLeftNonEmpty:|liftMeither mtl-2.2.2Control.Monad.Reader.Class MonadReaderaskbytestring-0.11.3.1Data.ByteString.Internal ByteString'hashable-1.4.1.0-DD9dAnwBSDfIvorTHQpz48Data.Hashable.ClassHashablehash hashWithSalt Data.Functor<$>const time-1.11.1.1 Data.Time.Clock.Internal.UTCTimeUTCTimeutctDay utctDayTime text-1.2.5.0Data.Text.InternalTextcontainers-0.6.5.1Data.Map.InternalMap4unordered-containers-0.2.19.1-3MGG7b01IYxFpF6Tpk5LG1Data.HashMap.InternalHashMap$aeson-2.1.1.0-2w7lxLq4a9eH4D4iKaVDCs Data.Aeson.THderiveFromJSON deriveToJSON deriveJSONData.Aeson.Types.ToJSONToJSONtoEncodingList toJSONListtoJSON toEncoding.=Data.Aeson.Types.FromJSON.:?.: withObjectFromJSON parseJSON parseJSONListData.Aeson.Types.Internalobject<**>GHC.IO.Handle.TypesHandleData.Bifunctor Bifunctorsecondbimapfirst"async-2.2.4-IVpPLhVqfDpBC5ysMXR9qgControl.Concurrent.Async waitBothSTMwaitEitherSTM_ waitEitherSTMwaitEitherCatchSTM waitAnySTMwaitAnyCatchSTMpollSTM waitCatchSTMwaitSTMAsync asyncThreadIdAsyncCancelled Alternativemany<|>someempty MonadPlusmzeromplusData.Semigroup WrappedMonoidControl.Concurrent.ChanChanControl.Concurrent.QSemQSemControl.Concurrent.QSemNQSemNControl.Monad.IO.ClassMonadIOliftIOunless replicateM_forever>=><=<forMforControl.Applicativeoptional Control.Arrow***&&&Data.Functor.IdentityIdentity runIdentityGHC.IO.StdHandlesstdinstderrSystem.IO.Error userErrorType tryIOErrorresourceVanishedErrorTypepermissionErrorType modifyIOError mkIOErrorisUserErrorType isUserErrorisResourceVanishedErrorTypeisResourceVanishedErrorisPermissionErrorTypeisPermissionErrorisIllegalOperationErrorTypeisIllegalOperationisFullErrorType isFullErrorisEOFErrorType isEOFErrorisDoesNotExistErrorTypeisDoesNotExistErrorisAlreadyInUseErrorTypeisAlreadyInUseErrorisAlreadyExistsErrorTypeisAlreadyExistsErrorioeSetLocation ioeSetHandleioeSetFileNameioeSetErrorTypeioeSetErrorStringioeGetLocation ioeGetHandleioeGetFileNameioeGetErrorTypeioeGetErrorStringillegalOperationErrorType fullErrorType eofErrorTypedoesNotExistErrorTypeannotateIOErroralreadyInUseErrorTypealreadyExistsErrorType GHC.Conc.SyncTVarSTM writeTVarreadTVarorElsenewTVarGHC.IO.ExceptionSomeAsyncException IOErrorTypeioErrorasyncExceptionToExceptionasyncExceptionFromExceptionstdout BufferMode NoBufferingBlockBuffering LineBuffering GHC.IO.DeviceSeekMode SeekFromEnd AbsoluteSeek RelativeSeek GHC.IORefIORefGHC.IOFilePath IOExceptionIOError userErrorGHC.Exception.Type Exception toExceptiondisplayException fromExceptionasumData.OrdDowngetDown comparingForeign.StorableStorablerightspartitionEitherslefts Data.ProxyProxyControl.Category. GHC.IO.IOModeIOMode WriteMode ReadWriteMode AppendModeReadModeoddeven^^^ GHC.STRefSTRefGHC.Listrepeat Data.Maybe maybeToListmaybemapMaybe listToMaybe isNothingisJust fromMaybe Data.Boolbool Data.Functiononvoid<&>$>uncurryswapcurryGHC.MVarMVarsubtractwhenuntilliftM5liftM4liftM3liftM2liftA3liftAflipasTypeOfap=<<$!GHC.Errerror SomeException&&not||)basic-prelude-0.7.0-FFKUaLnX2NICKkQc0snz3 CorePreludeterrorgetArgsequatingLText LByteStringUVectorSVector&vector-0.13.0.0-7U8pFThXyYFEKl1vrDAyiE Data.VectorVectorData.Vector.Unboxed.BaseUnboxData.HashSet.InternalHashSetfilepath-1.4.2.2System.FilePath.Posix<.>Data.Set.InternalSetData.Sequence.InternalSeqData.IntSet.InternalIntSetData.IntMap.InternalIntMap)chunked-data-0.3.1-EulKZm1GVvqHK22h1L9HqvData.ChunkedZipunzipzipWithzipzipWith3unzip3zip3zipWith4unzip4zip4zipWith5unzip5zip5zipWith6unzip6zip6zipWith7unzip7zip7 Data.Builder textToBuilder TextBuilder BlazeBuilderByteStringBuilderBuilder builderToLazy flushBuilder ToBuilder toBuilder(unliftio-0.2.23.0-8Xz3hC2ra6eGMVihZEzUzT UnliftIO.ChannewChan writeChanreadChandupChangetChanContentswriteList2ChanUnliftIO.ExceptionStringExceptioncatchcatchIOcatchAny catchDeep catchAnyDeep catchJustcatchSyncOrAsynchandlehandleIO handleAny handleDeep handleAnyDeep handleJusthandleSyncOrAsynctrytryIOtryAnytryDeep tryAnyDeeptryJusttrySyncOrAsyncpureTry pureTryDeepcatches catchesDeepevaluate evaluateDeepbracketbracket_bracketOnErrorbracketOnError_finally withException onExceptionthrowIOtoSyncExceptiontoAsyncExceptionfromExceptionUnwrapisSyncExceptionisAsyncExceptionmaskuninterruptibleMaskmask_uninterruptibleMask_ throwStringstringExceptionthrowTo impureThrow fromEither fromEitherIO fromEitherM mapExceptionM UnliftIO.IOwithFilewithBinaryFileopenFilehClosehFlush hFileSize hSetFileSizehIsEOF hSetBuffering hGetBufferinghSeekhTellhIsOpen hIsClosed hIsReadable hIsWritable hIsSeekablehIsTerminalDevicehSetEchohGetEcho hWaitForInputhReadygetMonotonicTimeUnliftIO.IORefnewIORef readIORef writeIORef modifyIORef modifyIORef'atomicModifyIORefatomicModifyIORef'atomicWriteIORef mkWeakIORefUnliftIO.Internals.Async ConcExceptionEmptyWithNoAlternativeConc ConcurrentlyrunConcurrentlyasync asyncBoundasyncOnasyncWithUnmaskasyncOnWithUnmask withAsyncwithAsyncBound withAsyncOnwithAsyncWithUnmaskwithAsyncOnWithUnmaskwaitpoll waitCatchcanceluninterruptibleCancel cancelWithwaitAny waitAnyCatch waitAnyCancelwaitAnyCatchCancel waitEitherwaitEitherCatchwaitEitherCancelwaitEitherCatchCancel waitEither_waitBothlink2racerace_ concurrently concurrently_forConcurrentlyforConcurrently_replicateConcurrentlyreplicateConcurrently_mapConcurrentlymapConcurrently_concrunConcpooledMapConcurrentlyNpooledMapConcurrentlypooledForConcurrentlyNpooledForConcurrentlypooledMapConcurrentlyN_pooledMapConcurrently_pooledForConcurrently_pooledForConcurrentlyN_pooledReplicateConcurrentlyNpooledReplicateConcurrentlypooledReplicateConcurrentlyN_pooledReplicateConcurrently_ UnliftIO.MVar newEmptyMVarnewMVartakeMVarputMVarreadMVarswapMVar tryTakeMVar tryPutMVar isEmptyMVar tryReadMVarwithMVarwithMVarMasked modifyMVar_ modifyMVarmodifyMVarMasked_modifyMVarMasked mkWeakMVarUnliftIO.MemoizeMemoized runMemoized memoizeRef memoizeMVar UnliftIO.QSemnewQSemwaitQSem signalQSemwithQSemUnliftIO.QSemNnewQSemN waitQSemN signalQSemN withQSemN UnliftIO.STM atomicallyretrySTMcheckSTM newTVarIO readTVarIO registerDelay mkWeakTVar newTMVarIOnewEmptyTMVarIO mkWeakTMVar newTChanIOnewBroadcastTChanIO newTQueueIO newTBQueueIOUnliftIO.TemporarywithSystemTempFilewithSystemTempDirectory withTempFilewithTempDirectoryUnliftIO.Timeouttimeout,unliftio-core-0.2.0.1-BihYNe8PwN4FRtHKEwT3XsControl.Monad.IO.UnliftwrappedWithRunInIOtoIO withUnliftIO askRunInIO askUnliftIOUnliftIOunliftIO MonadUnliftIO withRunInIO(stm-chans-3.0.0.6-3oO6Lfa3xDn8aDsWhzpIWaControl.Concurrent.STM.TBChanTBChan newTBChan newTBChanIO readTBChan tryReadTBChan peekTBChan tryPeekTBChan writeTBChantryWriteTBChan unGetTBChan isEmptyTBChan isFullTBChanestimateFreeSlotsTBChanfreeSlotsTBChanControl.Concurrent.STM.TBMChanTBMChan newTBMChan newTBMChanIO readTBMChantryReadTBMChan peekTBMChantryPeekTBMChan writeTBMChantryWriteTBMChan unGetTBMChan closeTBMChanisClosedTBMChanisEmptyTBMChan isFullTBMChanestimateFreeSlotsTBMChanfreeSlotsTBMChanControl.Concurrent.STM.TBMQueueTBMQueue newTBMQueue newTBMQueueIO readTBMQueuetryReadTBMQueue peekTBMQueuetryPeekTBMQueue writeTBMQueuetryWriteTBMQueue unGetTBMQueue closeTBMQueueisClosedTBMQueueisEmptyTBMQueueisFullTBMQueueestimateFreeSlotsTBMQueuefreeSlotsTBMQueueControl.Concurrent.STM.TMChanTMChan newTMChan newTMChanIOnewBroadcastTMChannewBroadcastTMChanIO dupTMChan readTMChan tryReadTMChan peekTMChan tryPeekTMChan writeTMChan unGetTMChan closeTMChanisClosedTMChan isEmptyTMChanControl.Concurrent.STM.TMQueueTMQueue newTMQueue newTMQueueIO readTMQueuetryReadTMQueue peekTMQueuetryPeekTMQueue writeTMQueue unGetTMQueue closeTMQueueisClosedTMQueueisEmptyTMQueue stm-2.5.0.2Control.Concurrent.STM.TBQueue flushTBQueueisEmptyTBQueue isFullTBQueue lengthTBQueue newTBQueue peekTBQueue readTBQueuetryPeekTBQueuetryReadTBQueue unGetTBQueue writeTBQueueTBQueueControl.Concurrent.STM.TChan cloneTChandupTChan isEmptyTChannewBroadcastTChannewTChan peekTChan readTChan tryPeekTChan tryReadTChan unGetTChan writeTChanTChanControl.Concurrent.STM.TMVar isEmptyTMVar newEmptyTMVarnewTMVarputTMVar readTMVar swapTMVar takeTMVar tryPutTMVar tryReadTMVar tryTakeTMVarTMVarControl.Concurrent.STM.TQueue isEmptyTQueue newTQueue peekTQueue readTQueue tryPeekTQueue tryReadTQueue unGetTQueue writeTQueueTQueueControl.Concurrent.STM.TVar modifyTVar modifyTVar'swapTVar!say-0.1.0.1-8oOFH1LcZ0LSZGQpo9azaSaysay sayStringsayShowsayErr sayErrString sayErrShowhSay hSayStringhSayShow.safe-exceptions-0.1.7.3-F3pCGsFacJi7W8pk2HTFeyControl.Exception.SafeAsyncExceptionWrapperSyncExceptionWrapper'primitive-0.7.4.0-5Mou7sRsTgfjuEOfjOZOzData.Primitive.MutVar newMutVar readMutVar writeMutVaratomicModifyMutVaratomicModifyMutVar' modifyMutVar modifyMutVar'Data.Primitive.TypesPrimMutVarControl.Monad.Primitive PrimState PrimMonad0mutable-containers-0.3.4.1-mVik6k6CDbJqBHbl4OsQhData.Mutable.Class MutableDeque MutableStack MutableQueueMutablePushBackpushBackMutablePopBackpopBackMutablePushFront pushFrontMutablePopFrontpopFrontMutableCollection CollElementnewCollMutableAtomicRefatomicModifyRefatomicModifyRef' MutableRefnewRefreadRefwriteRef modifyRef RefElement modifyRef'MutableContainerMCStateasIORefasSTRefasMutVarData.Mutable.BRefIOBRefBRefasBRefData.Mutable.DLListDLListasDLListData.Mutable.DequeBDequeSDequeUDequeDequeasUDequeasSDequeasBDequeData.Mutable.PRefIOPRefPRefasPRefData.Mutable.SRefIOSRefSRefasSRefData.Mutable.URefIOURefURefasURef0mono-traversable-1.0.15.3-1RGbFYcmY0K7NSm1cXhkM6Data.MonoTraversable WrappedMono WrappedPoly unwrapPoly GrowingAppend MonoComonadoextractoextend MonoPointedopointMonoTraversable otraverseomapM MonoFoldableofoldMapofoldrofoldl'otoListoalloanyonullolength olength64ocompareLength otraverse_ofor_omapM_oforM_ofoldlM ofoldMap1Ex ofoldr1Ex ofoldl1Ex'headExlastEx maximumByEx minimumByExoelemonotElem unsafeHead unsafeLast MonoFunctoromapElement replaceElemreplaceElemStrictTextreplaceElemLazyTextheadMaylastMayosumoproductoandoor oconcatMapofoldoconcatofoldM osequence_ maximumEx minimumEx maximumMay maximumByMay minimumMay minimumByMayoforoforM ofoldlUnwrap ofoldMUnwrap ointercalate unwrapMonoData.Containers HasKeysSetKeySetkeysSetMonoZipozipounzipozipWithIsSet deleteSet insertSet singletonSet setFromList filterSet setToListIsMapupdateLookupWithKeyinsertLookupWithKey insertWithKey adjustWithKeyfindWithDefault unionsWith updateWithKey insertMap deleteMap singletonMap mapFromList mapToList adjustMap updateMapalterMap omapKeysWith filterMap unionWithKey unionWith mapWithKey insertWithMapValuelookup BiPolyMapBPMKeyConstraint mapKeysWithPolyMapintersectionMapintersectionWithMap differenceMap SetContainer notMemberunions intersectionunion differencemember ContainerKeykeysData.MonoTraversable.UnprefixedfoldMapfoldrfoldl'toListallanynulllengthlength64 compareLength traverse_for_mapM_forM_foldlM foldMap1Exfoldr1Ex foldl1Ex'sumproductandor concatMapelemnotElempoint intercalatefoldconcatfoldM sequence_Data.SequencesUtf8 encodeUtf8 decodeUtf8 LazySequencetoChunkstoStrict fromChunks fromStrictTextual toCaseFold breakWord breakLinewordsunwordsunlineslinestoUppertoLower IsSequence lengthIndex unsafeSplitAt groupAllOntailExtailMayinitExinitMayindexEx splitWhen unsafeTail unsafeInitdropEnd unsafeDrop unsafeTakeunsnoc replicateMfilterM subsequences permutations partitiongroupBy unsafeIndexunconssplitAtspan replicate dropWhiledropbreaktake takeWhilefilterfromListindex SemiSequencesnoccons interspersefindreverseIndexsortBy singleton defaultFinddefaultInterspersedefaultReverse defaultSortBydefaultSplitWhen vectorSortBy vectorSort defaultCons defaultSnoctailDefinitDef splitElemsplitSeq replaceSeq stripPrefix stripSuffix dropPrefix dropSuffix ensurePrefix ensureSuffix isPrefixOf isSuffixOf isInfixOfgroupgroupAlldeletedeleteBysplitElemStrictBSstripPrefixStrictBSstripSuffixStrictBSsplitSeqLazyBSstripPrefixLazyBSstripSuffixLazyBSsplitSeqStrictTextreplaceSeqStrictTextsplitSeqLazyTextreplaceSeqLazyTextsort catMaybessortOnpackunpackrepack Data.NonNullNonNull toNullable fromNullable impureNonNullnonNull fromNonEmpty toNonEmpty toMinListnconsnuncons splitFirstnfilternfilterM nReplicatetailinit<|headlast ofoldMap1ofold1ofoldr1ofoldl1'maximumminimum maximumBy minimumBy mapNonNullexceptions-0.10.4Control.Monad.CatchHandler-classy-prelude-1.5.0.2-6YA8NpcHbnVGGWluzildYO ClassyPrelude parseTimeinteract getContentsgetLinegetCharputStrLnputStrputChar hGetChunkhPut hGetContents writeFileUtf8 writeFile readFileUtf8readFile link2Async linkAsyncwaitCatchAsync pollAsync waitAsyncfromByteVector toByteVector<||><&&> applyDListasDListunlessMwhenM orElseSTMordNubByordNubhashNub yieldThread traceShowM traceShowIdtraceMtraceId traceShowtrace undefinedsortWithprintasString asSVector asUVectorasVectorasIntSetasSetasMaybeasIntMapasMapasListasLTextasText asHashSet asHashMap asLByteString asByteString intersect\\++mapreadMay charToUpper charToLowertlshowtshowData.Time.Calendar.DaysDayModifiedJulianDaytoModifiedJulianDayData.Time.Calendar.Gregorian fromGregorian toGregorianData.Time.Clock.POSIXgetCurrentTimeData.Time.Format.LocaledefaultTimeLocaleData.Time.Format.Format.Class formatTimeData.Time.Format.Parse parseTimeM primToPrimprimToIOprimToSTtransformers-0.5.6.2Control.Monad.Trans.ReaderReaderT runReaderTReaderasks dlist-1.0-BGLs0gqsZFwLq1Wa6dJ09jData.DList.InternalDListdeepseq-1.4.6.1Control.DeepSeq$!!deepseqforceNFDatarnf1data-default-class-0.1.2.0-CQYBH38PFES4dDyailJWvdData.Default.ClassDefaultdef(http-api-data-0.5-AqjEGLlj3qoAdBIpOSyoCiWeb.Internal.HttpApiData ToHttpApiDataControl.Monad.Trans.Classlift1string-conversions-0.4.0.1-2eqALqvD2DzEAhBxQxk01OData.String.ConversionscsobjectOptionalValue.=!.=??.>thenPair UnixTimestampunUnixTimestampjsonDeriveWithAffix camelToSnake lowerFirstjsonDeriveOptionsSnakeCasesnakeCaseOptionssnakeCaseFormOptionsformOptsjsonOptstoQueryParamIfJusttruncateSlackMessage