!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1 Safe-Inferred24Quick-n7-dirty unescaping function for posts / wiki pages etc..8Swap all instances of a certain string in another stringString to replaceString to replace withString to search None24Fail to parse unless the Object's kind is what it should be.0Parse an ID in either the "tX_XXXXXX" or simply XXXXXX format.None24>  !"#$%&'()*+,-(  !"#$%&'()*+,-( !"#$%&'()*+,-      !"#$%&'()*+,- Safe-Inferred24./0123./0123.3210/.3210/ Safe-Inferred2445454545! Safe-Inferred24" Safe-Inferred24None24$6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY6789:;<=>?@ABCDEFGHIJKLMNOP$NOYXWLMVUT>?@ABCDEFGHIJKS<=R6789:;QP6789:;<=> ?@ABCDEFGHIJKLMNOPQRSTUVWXYNone24 Z[\]^_`abcdef Z[\]^_`ab `afedZ[\]^_cbZ[\]^_`abcdefNone24 ghijklmnop ghijklmno noghijklmpghijklmnopNone24qrstuvwxyz{|}~ qrstuvwxyz{|z{xyqrstuvw~}| qrstuvwxyz{|}~#None24$None24 None24 %None24&None24 None24  None24 'None24More specific void for forcing a Empty FromJSON instance None24 None24#None24(None24None24  None24 isReference c returns is true if c& is an actual comment, false otherwise isReference c returns is true if c is a reference, false otherwise)      !"#     )#"!            !"#None24$%&'()*+,-./0123456789:;<=>$%&'()*+,-./012345)*+,-./012>=<34'(;:95$&%876$&%'() *+,-./0123456789:;<=>)None24*None24+None24,None24-None24   .None240None24?:Make a login request with the given username and password.?Username to login withPassword to login with???/None24None24@Find out if the account currently logged in requires a captcha to be submitted for certain requests (like sending a private message or submitting a post).ATReturns the ID of a captcha to be completed (the image for which can be found at  %http://reddit.com/captcha/$CAPTCHA_ID)@A@A@A@ANone24BGet a C for the most recent comments on the site overall. This maps to  'http://reddit.com/r/$SUBREDDIT/comments, or  http://reddit.com/commentso if the subreddit is not specified. Note that none of the comments returned will have any child comments.CGet a 1 for the most recent comments with the specified  and zR. Note that none of the comments returned will have any child comments. If the  is %, then this function is identical to B.DyExpand children comments that weren't fetched on initial load. Equivalent to the web UI's "load more comments" button.EGiven a , E/ will return the full details for that comment.FGiven a list of s, F will return another list containing the full details for all the comments. Note that Reddit's API imposes a limitation of 100 comments per request, so this function will fail immediately if given a list of more than 100 IDs.GEdit a comment.HoDeletes one of your own comments. Note that this is different from removing a comment as a moderator action.IbRemoves a comment (as a moderator action). Note that this is different from deleting a comment.BCDPostID for the top-levelList of  CommentID s to expandEFGComment to editNew comment textHIBCDEFGHIBCDEFGHIBCDEFGHINone24JVGet the flair list for a subreddit. Requires moderator privileges on the subreddit.K)Get the flair list for a subreddit (with 5). Requires moderator privileges on the subreddit.LAdd link flair to the subreddit-wide template for a subreddit that you moderate. Requires moderator privileges on the subreddit.JKL/The subreddit whose template you want to modify,The intended CSS class of the new link flair-The intended text label of the new link flair-Whether the flair should be editable by usersMJKLMJKLMJKLMNone24N+Get the message inbox for the current user.ODon't use this for watching for new messages, Reddit's ordering on | inbox messages is odd and not likely to work how you expect.P-Get any unread messages for the current user.Q7Get unread messages for the current user, with options.RMark a message as read.S'Send a private message to another user.T(Send a private message (with a captcha).NOPQ5Whether the orangered notifier should be marked "off"RS#The username to send the message to%The subject of the message being sent"The body of the message being sentT#The username to send the message to%The subject of the message being sent"The body of the message being sent,The identifier of the captcha being answered#The answer to the specified captchaNOPQRSTNOPQRSTNOPQRSTNone24UYGet a list of existing bans on a subreddit. User must be a moderator of the subreddit.ViCheck to see if a user is banned from a subreddit. Logged-in user must be a moderator of the subredditUVUVUVUVNone24WXYWXYWXYWXYNone24 ZHGet the information Reddit exposes on user behind the specified username[;Get the listing of comments authored by the specified user.\IGet the listing of comments authored by the specified user, with Options.]JCheck whether the specified username is still available or has been taken.^0Get information of the currently-logged-in user._2Get users blocked by the currently-logged-in user.`,Get friends of the currently-logged-in user.aCheck if a user has chosen (or been assign) user flair on a particular subreddit. Requires moderator privileges on the specified subreddit.bkSet a user's flair on the specified subreddit. Requires moderator privileges on the specified subreddit. Z[\]^_`ab Z[\]^_`ab Z^[\]_`ab Z[\]^_`abNone24cnGet the specified wiki page on a particular subreddit. Requires permission to view the specified wiki page.doEdit the specified wiki page on a particular subreddit. Requires permission to edit the specified wiki page.cdSubreddit whose wiki to modify#The name of the page you're editing3The new markdown content of the page you're editingThe reason for the editcdcdcd0None24;4>NOqz{$%&'();)'($&%qz{4>NONone24eGiven a , e, will return the full details for that post.fGiven a list of s, f will return another list containing the full details for all the posts. Note that Reddit's API imposes a limitation of 100 posts per request, so this function will fail immediately if given a list of more than 100 IDs.gGet a  for the , posts on the site overall. This maps to  http://reddit.com.hGet a  for a specified listing.i Save a post.j1Remove a saved post from your "saved posts" list.kSubmit a new link to Reddit.lMSubmit a new link to Reddit (answering a Captcha to prove we aren't a robot).m Submit a new selfpost to Reddit.nQSubmit a new selfpost to Reddit (answering a Captcha to prove we aren't a robot).oiDeletes one of your own posts. Note that this is different from removing a post as a moderator action.paSet the link flair for a post you've submitted (or any post on a subreddit that you moderate).qEdit the text of a self-post.r Get a post and all its comments.s/Get a post and a specific sub-tree of comments.t;Get the comments for a post. Ignore the actual post itself.u8Set the state of inbox replies for the specified thread.vHSet the state of contest for the specified thread as a moderator action.w\Removes a post (as a moderator action). Note that this is different from deleting a post.x*Mark a post as spam as a moderator action.y4Sticky a post on the subreddit on which it's posted.z8Unsticky a post from the subreddit on which it's posted.efghijk.The subreddit to which you're posting the linkThe title of the link postThe link that you're postingl.The subreddit to which you're posting the linkThe title of the link postThe link that you're posting%The ID of the captcha we're answering"The answer to the provided captcham2The subreddit to which you're posting the selfpostThe title of the selfpostThe body of the selfpostn2The subreddit to which you're posting the selfpostThe title of the selfpostThe body of the selfpost%The ID of the captcha we're answering"The answer to the provided captchaop'The subreddit on which to set the flair"The post whose flair should be set'The text label for the post's new flair&The CSS class for the post's new flairqrstuvwxyThe post to be stickied+The position to which it should be stickiedzThe post to be unstickied/The position from which it should be unstickiedefghijklmnopqrstuvwxyzghrstefklmnuijqopwxyzvefghijklmnopqrstuvwxyzNone24{nGet the info for a specific subreddit. This info includes things like sidebar contents, description and ID.|3Get the settings for a subreddit that you moderate.}6Modify the settings for a subreddit that you moderate.{|}{|}{|}{|}None24~1Reply to a something (a post / comment / message)Delete something you created. Note that this is different to removing a post / comment as a moderator action. Deleting something you don't own won't error (but naturally won't delete anything either).Report something.~Thing to reply toResponse contentsThing to deleteThing to reportReason for reporting~~~None24Upvote a post.Downvote a post.Remove a vote from a post.Upvote a comment.Downvote a comment.-Remove a previously-cast vote from a comment.1None24G@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None24gShould we log in to Reddit? If so, should we use a stored set of credentials or get a new fresh set?WLogin using a stored set of credentials. Usually the best way to get these is to do  $ ? user pass./Login using the specified username and password-Don't login, instead use an anonymous account"Options for how we should run the  action.: c if the connection should be automatically rate-limited and should pause when we hit the limit,  otherwise.:  x" if the connection should use the  x, 5 if we should create a new one for the connection.<: The method we should use for authentication, described in .:  "string"- if the connection should use the user agent "string", $ if it should use the default agent.Run a  action (or a F transformer action). This uses the default logged-in settings for !: rate limiting enabled, default manager, login via username and password, and the default user-agent. You should change the user agent if you're making anything more complex than a basic script, since Reddit's API policy says that you should have a uniquely identifiable user agent.Run a  action (or a G transformer action). This uses the default logged-out settings, so you won't be able to do anything that requires authentication (like checking messages or making a post). At the moment, authentication isn't statically checked, so it'll return a runtime error if you try to do anything you don't have permissions for.Run a  or  action with custom settings. You probably won't need this function for most things, but it's handy if you want to persist a connection over multiple / sessions or use a custom user agent string.4>NOqz{$%&'()@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2342352362372382349:;<=>?@ABCDEFGHIJKKLMNOPQRSTUVWXYZ[\]^_`abcdefghhijklmmnnopqrstuvwxyz{{||}~oN         b   d c                                    CN        !"#$%&'()**++,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !|!}!!~""""""###{$$%%%&&''''         (>(?())))Q**\*****_*`+,,,,---g-h-i-k-r--u-w-t-///////reddit-0.1.0.0RedditReddit.Types.SubredditSettingsReddit.Types.SearchOptionsReddit.Types.ThingReddit.Types.UserReddit.Types.ModerationReddit.Types.WikiReddit.Types.SubredditReddit.Types.OptionsReddit.Types.ListingReddit.Types.FlairReddit.Types.ErrorReddit.Types.RedditReddit.Types.CaptchaReddit.Types.PostReddit.Types.CommentReddit.Types.Message Reddit.LoginReddit.Actions.CaptchaReddit.Actions.CommentReddit.Actions.FlairReddit.Actions.MessageReddit.Actions.ModerationReddit.Actions.SearchReddit.Actions.UserReddit.Actions.WikiReddit.Actions.PostReddit.Actions.SubredditReddit.Actions.ThingReddit.Actions.VotingReddit.Utilities Reddit.ParserReddit.Routes.ThingReddit.Routes.VoteReddit.Routes.SubredditReddit.Routes.WikiReddit.Routes.FlairReddit.Routes.ModerationReddit.Types.EmptyReddit.Routes.CaptchaReddit.Routes.MessageReddit.Routes.UserReddit.Routes.SearchReddit.Routes.CommentReddit.Routes.Post Reddit.RoutesReddit.Routes.Run Reddit.TypesReddit.Actionsapi-builder-0.9.1.0Network.API.Builder.ErrorAPIError HTTPErrorInvalidURLError ParseError EmptyError WikiEditModeModOnly ApprovedOnlyAnyoneSpamFilterStrength FilterAll FilterHigh FilterLowContentOptionsSelfLinkAny SubredditTypeArchivedGoldRestricted RestrictedPrivatePublicSubredditSettings sidebarTextdescriptionTexttitlelinkType hideScoreMinssubmitLinkLabelsubmitTextLabel domainCSS domainSidebar showMediaover18language wikiEditKarma wikiEditAge wikiEditMode spamComments spamSelfposts spamLinkspublicTrafficStats subredditTypeOrder MostCommentsTopHotNew RelevanceThingfullName RelationshiprelationUsernamerelationUserID relationSince relationNoteUserListUseruserIDuserName userCreated linkKarma commentKarmahasMail hasModMailisFriend userIsOver18isModhasGoldhasVerifiedEmailUserIDUsername userPrefix$fFromJSONRelationship$fFromJSONUserList$fFromJSONUser$fToQueryUserID $fThingUserID$fFromJSONUserID$fToQueryUsername$fFromJSONUsername $fEqUsernameBanusernamenotesinceBanID banPrefix $fFromJSONBan $fThingBanID$fToQueryBanID$fFromJSONBanIDWikiPage contentHTMLcontentMarkdown revisionDate revisedBy canRevise RevisionID$fFromJSONWikiPage Subreddit subredditIDname subscribers userIsBanned SubredditID SubredditNameRsubredditPrefix$fThingSubreddit$fFromJSONSubreddit$fToQuerySubredditID$fThingSubredditID$fFromJSONSubredditID$fFromJSONSubredditName$fToQuerySubredditName$fOrdSubredditName$fEqSubredditNameOptions paginationlimitPaginationOptionAfterBeforebeforeafter$fDefaultOptionsListingcontents ListingType ControversialRising$fFromJSONListing$fMonoidListing$fFunctorListing$fToQueryListingType FlairListingFListFlairusertextcssClassflistToListing$fFromJSONFList$fFromJSONFlair RedditErrorTooManyRequestsBadSubredditName LinkDeletedCommentDeletedAlreadySubmittedNoTextNoNameNoURLSpecifiedNoSubredditSpecifiedRateLimitErrorCredentialsError CaptchaErrorInvalidResponseError FailError RateLimitInfoused remaining resetTimeShouldRateLimit RateLimitsshouldinfo POSTWrapped LoginDetailsModhashRedditT unRedditTnestfailWithheadersToRateLimitInfobuilder addHeader addAPIType mainBaseURL loginBaseURL CaptchaID withCaptcha$fFromJSONPOSTWrapped$fFromJSONCaptchaID PostListing PostContent TitleOnlySelfPostPostpostID permalinkauthorscorecreatedcontentliked flairText flairClassdomaingildednsfw subredditPostID buildContent postPrefix$fToQueryPostID $fThingPostID $fThingPost$fFromJSONPost$fFromJSONPostIDCommentListing PostCommentsComment commentIDsavedauthorFlairCSSClassauthorFlairTextbodybodyHTMLrepliesedited parentLink inReplyToCommentReferenceActual Reference CommentIDisActual isReferencetreeSubComments isDeleted commentPrefix$fFromJSONPostComments$fFromJSONComment$fThingComment$fFromJSONPOSTWrapped0$fFromJSONCommentReference$fFromJSONPOSTWrapped1$fToQueryCommentID$fThingCommentID$fFromJSONCommentID MessageKindPrivateMessageCommentMessage MessageIDMessage messageIDnewtofromsubjectisPrivateMessageisCommentReply messagePrefix$fToQueryMessageKind$fThingMessageKind$fFromJSONMessageKind$fToQueryMessageID$fThingMessageID$fFromJSONMessageID$fToQueryMessage$fThingMessage$fFromJSONMessagelogin needsCaptcha newCaptchagetNewCommentsgetNewComments'getMoreChildrengetCommentInfogetCommentsInfo editComment deleteComment removeComment getFlairList getFlairList' addLinkFlairflairCSVgetInbox getInbox' getUnread getUnread'markRead sendMessagesendMessageWithCaptchabans lookupBansearch luceneSearch cloudSearch getUserInfogetUserCommentsgetUserComments'isUsernameAvailableaboutMegetBlockedUsers getFriendslookupUserFlair setUserFlair getWikiPage editWikiPage getPostInfo getPostsInfogetPosts getPosts'savePost unsavePost submitLinksubmitLinkWithCaptchasubmitSelfPostsubmitSelfPostWithCaptcha deletePost setPostFlaireditPostgetPostCommentsgetPostSubComments getCommentssetInboxRepliessetContestMode removePost markPostSpam stickyPost unstickyPostgetSubredditInfogetSubredditSettingssetSubredditSettingsreplydeletereport upvotePost downvotePost unvotePost upvoteCommentdownvoteComment unvoteComment LoginMethod StoredDetails Credentials Anonymous RedditOptionsrateLimitingEnabledconnectionManager loginMethodcustomUserAgent runReddit runRedditAnon runRedditWithunescapereplace ensureKind stripPrefixsubredditTypeTextcontentOptionsTextspamFilterStrengthTextwikiEditModeTextsubredditSettingsPrefix$fDefaultWikiEditMode$fToQueryWikiEditMode$fToJSONWikiEditMode$fFromJSONWikiEditMode$fToQuerySpamFilterStrength$fToJSONSpamFilterStrength$fFromJSONSpamFilterStrength$fDefaultContentOptions$fToQueryContentOptions$fToJSONContentOptions$fFromJSONContentOptions$fToQuerySubredditType$fDefaultSubredditType$fToJSONSubredditType$fFromJSONSubredditType$fToJSONSubredditSettings$fFromJSONSubredditSettings$fToQueryOrderedit VoteDirectionDownVote RemoveVoteUpVotevote$fToQueryVoteDirectionaboutSubredditsubredditSettingswikiPageeditPage flairListaddLinkFlairTemplate flairCSVRoute bansListing banLookupnothingEmpty$fFromJSONEmpty$fErrorReceivableRedditError$fFromJSONRedditError$fFunctorPOSTWrapped$fFromJSONModhash$fMonadTransRedditT$fMonadIORedditT$fMonadRedditT$fApplicativeRedditT$fFunctorRedditT getCaptchainboxunread readMessage aboutUser userCommentsusernameAvailableblockedfriends searchRoute aboutComment moreChildren newComments commentsInfo postsListing aboutPosts sendReplies postFlair loginRoutegetLoginDetailsrunRouterunRouteWithLimitingdecodeFromResponseupdateRateLimitInfoupdateFromZero waitForReset needsResetdata-default-class-0.0.1Data.Default.Classdefghc-prim GHC.TypesTrueFalsebase Data.MaybeJusthttp-client-0.4.16Network.HTTP.Client.TypesManagerNothing$fDefaultLoginMethod$fDefaultRedditOptions