úÎ!„tz\·      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ²³´µ¶ None&',-.2345678=>?@ACHPSUVX ½servant-auth-serverfor servant >=0.11servant-auth-serverfor  servant <0.11  None&',.2345678=>?@ACHSUVX)($servant-auth-server>The policies to use when generating and verifying XSRF cookies&servant-auth-server9What name to use for the cookie used for XSRF protection.'servant-auth-serverBWhat path to use for the cookie used for XSRF protection. Default Just "/".(servant-auth-server9What name to use for the header used for XSRF protection.)servant-auth-server0Exclude GET request method from XSRF protection.*servant-auth-server,The policies to use when generating cookies. If *both* - and . are Nothingk, browsers will treat the cookie as a *session cookie*. These will be deleted when the browser is closed.Note that having the setting Secure? may cause testing failures if you are not testing over HTTPS.,servant-auth-server= means browsers will only send cookies over HTTPS. Default: Secure.-servant-auth-server5How long from now until the cookie expires. Default: Nothing..servant-auth-server*At what time the cookie expires. Default: Nothing./servant-auth-serverCThe URL path and sub-paths for which this cookie is used. Default: Just "/".0servant-auth-server<Domain name, if set cookie also allows subdomains. Default: Nothing.1servant-auth-server: settings. Default:  SameSiteLax.2servant-auth-server5What name to use for the cookie used for the session.3servant-auth-server;The optional settings to use for XSRF protection. Default: Just def.4servant-auth-server JWTSettings2 are used to generate cookies, and to verify JWTs.6servant-auth-serverKey used to sign JWT.7servant-auth-serverAlgorithm used to sign JWT.8servant-auth-serverKeys used to validate JWT.9servant-auth-serverAn aud predicate. The audG is a string or URI that identifies the intended recipient of the JWT.Dservant-auth-serverA  JWTSettings# where the audience always matches.'$%&'()*+,-./0123456789:;<=>?@ABCDEFG'$%&'()*+,-./0123456789:;<=>?@ABCDEFG Safe&',.2345678=>?@ACHSUVX+fNone&',.2345678=>?@ACHSUVX1aservant-auth-serveraD is a convenience function to throw errors across an entire sub-API uthrowAll err400 :: Handler a :<|> Handler b :<|> Handler c == throwError err400 :<|> throwError err400 :<|> err400bservant-auth-serverfor servant >=0.11cservant-auth-serverfor  servant <0.11`a`aNone&',.2345678=>?@ACHSUVX?@ACHSUVXB|‰servant-auth-serverA JWT  AuthCheckJ. You likely won't need to use this directly unless you are protecting a Raw endpoint.Šservant-auth-serverHCreates a JWT containing the specified data. The data is stored in the datT claim. The 'Maybe UTCTime' argument indicates the time at which the token expires.‰Š‹‰Š‹None&',.2345678=>?@ACHSUVXMõservant-auth-server#Makes a cookie to be used for XSRF.servant-auth-server Alias for .‘servant-auth-server(Makes a cookie with session information.–servant-auth-serverÊFor a JWT-serializable session, returns a function that decorates a provided response object with XSRF and session cookies. This should be used when a user successfully authenticates with credentials.—servant-auth-serverBArbitrary cookie expiry time set back in history after unix time 0˜servant-auth-serverjAdds headers to a response that clears all session cookies | using max-age and expires cookie attributes.šservant-auth-server Alias for ‘.›servant-auth-server Alias for ™.ŒŽ‘’“”•–—˜™š›ŒŽ‘’“”•–—˜™š›None&',.2345678=>?@ACHSUVXgRservant-auth-server[Whether the username exists and the password is correct. Note that, rather than passing a Pass5 to the function, we pass a function that checks an  EncryptedPassf. This is to make sure you don't accidentally do something untoward with the password, like store it.žservant-auth-serverÊA type holding the configuration for Basic Authentication. It is defined as a type family with no arguments, so that it can be instantiated to whatever type you need to authenticate your users (use  type instance BasicAuthCfg = ...).•Note that the instantiation is application-wide, i.e. there can be only one instance. As a consequence, it should not be instantiated in a library.0Basic Authentication expects an element of type ž to be in the Context@; that element is then passed automatically to the instance of œA together with the authentication data obtained from the client.OIf you do not need a configuration for Basic Authentication, you can use just BasicAuthCfg = (), and recall to also add () to the Context6. A basic but more interesting example is to take as ž0 a list of authorised username/password pairs: Âderiving instance Eq BasicAuthData type instance BasicAuthCfg = [BasicAuthData] instance FromBasicAuthData User where fromBasicAuthData authData authCfg = if elem authData authCfg then ...Ÿservant-auth-serverA ·– that asks the client to authenticate via Basic Authentication, should be invoked by an application whenever appropriate. The argument is the realm.œžŸ Ÿžœ  None&',.2345678=>?@ACHSUVXmƒ¡servant-auth-serverAppCtx applies the function res to the arguments in ls1 by taking the values from the Context provided.§servant-auth-serverIsAuth a ctx v indicates that a/ is an auth type that expects all elements of ctxE to be the in the Context and whose authentication check returns an  AuthCheck v. ¡¢£¤¥¦§©¨ §©¨¥¦¤£¡¢ None&',.2345678=>?@ACHSUVXnáNone&',.2345678=>?@ACHSUVXv²²servant-auth-server%Generate a key suitable for use with  defaultConfig.³servant-auth-server,Generate a bytestring suitable for use with ´.´servant-auth-server!Restores a key from a bytestring.µservant-auth-server§Writes a secret to a file. Can for instance be used from the REPL to persist a key to a file, which can then be included with the application. Restore the key using ¶.¶servant-auth-serverReads a key from a file.T  $%&'()*+,-./0123456789:;<=>?@ABCDEF`aghijklmn‰Š‹‘–˜™š›œžŸ¥²³´µ¶Tjklmnghi ABC456789D‰*+,-./0123$%&'()EF‘™š›–˜:;<=¥œž >?@Ÿ`a²³´µ¶Š‹ Safe&',.2345678=>?@ACHSUVXzX¸  !"#$#%#&#'()*+,-./0123456789::;<=>??@ABCDEFGHHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á  ÃÄÅÆÇÈÉÊËÌ2servant-auth-server-0.4.6.0-8RJj0uWcvJV2ZGFUGTeUUQServant.Auth.Server(Servant.Auth.Server.Internal.ConfigTypes)Servant.Auth.Server.Internal.AddSetCookie%Servant.Auth.Server.Internal.ThrowAll"Servant.Auth.Server.Internal.Types Servant.Auth.Server.Internal.JWT#Servant.Auth.Server.Internal.Cookie&Servant.Auth.Server.Internal.BasicAuth"Servant.Auth.Server.Internal.ClassServant.Auth.Server.Internal&Servant.Auth.Server.Internal.FormLogin#Servant.Auth.Server.SetCookieOrphan#cookie-0.4.5-FViOMgoPVhL3PprTfOcJF2 Web.Cookie SetCookie1data-default-class-0.1.2.0-FeIQ5tLoVZBHMSgrT9zptQData.Default.ClassdefDefault#servant-0.18-32RIkw5w1diK18VC7zPjEUServant.API.IsSecure NotSecureSecureIsSecureServant.API.BasicAuthbasicAuthPasswordbasicAuthUsername BasicAuthData+servant-auth-0.4.0.0-KUsSxE8abt8CxZ9a6yMN21Servant.Auth.JWT decodeJWTFromJWT encodeJWTToJWT Servant.AuthAuthJWTCookie BasicAuth AddSetCookies addSetCookies SetCookieList SetCookieNil SetCookieConsAddSetCookieApiAddSetCookieApiVerbAddSetCookiesApiNatZS mkHeaders$fAddSetCookiesSTaggedTagged$fAddSetCookiesS->->$fAddSetCookiesS:<|>:<|>$fAddSetCookiesSmm$fAddSetCookiesZorigorig$fAddSetCookiesS->->0XsrfCookieSettingsxsrfCookieNamexsrfCookiePathxsrfHeaderNamexsrfExcludeGetCookieSettingscookieIsSecure cookieMaxAge cookieExpires cookiePath cookieDomaincookieSameSitesessionCookieNamecookieXsrfSetting JWTSettings signingKeyjwtAlgvalidationKeysaudienceMatchesSameSiteAnySiteSameSiteStrict SameSiteLaxIsPasswordCorrectPasswordCorrectPasswordIncorrectIsMatchMatches DoesNotMatchdefaultJWTSettingsdefaultCookieSettingsdefaultXsrfCookieSettings"jwtSettingsToJwtValidationSettings$fDefaultXsrfCookieSettings$fDefaultCookieSettings $fEqIsMatch $fShowIsMatch $fReadIsMatch$fGenericIsMatch $fOrdIsMatch$fEqIsPasswordCorrect$fShowIsPasswordCorrect$fReadIsPasswordCorrect$fGenericIsPasswordCorrect$fOrdIsPasswordCorrect $fEqSameSite$fShowSameSite$fReadSameSite$fGenericSameSite $fOrdSameSite$fGenericJWTSettings$fEqXsrfCookieSettings$fShowXsrfCookieSettings$fGenericXsrfCookieSettings$fEqCookieSettings$fShowCookieSettings$fGenericCookieSettingsThrowAllthrowAll$fThrowAllTagged $fThrowAll-> $fThrowAllm $fThrowAll->0$fThrowAll:<|> AuthCheck runAuthCheck AuthResult BadPassword NoSuchUser Authenticated Indefinite$fMonadPlusAuthResult$fAlternativeAuthResult$fMonadAuthResult$fApplicativeAuthResult$fMonoidAuthResult$fSemigroupAuthResult$fMonadPlusAuthCheck$fAlternativeAuthCheck$fMonadTimeAuthCheck$fMonadIOAuthCheck$fMonadReaderRequestAuthCheck$fMonadFailAuthCheck$fMonadAuthCheck$fApplicativeAuthCheck$fMonoidAuthCheck$fSemigroupAuthCheck$fEqAuthResult$fShowAuthResult$fReadAuthResult$fGenericAuthResult$fOrdAuthResult$fFunctorAuthResult$fTraversableAuthResult$fFoldableAuthResult$fGenericAuthCheck$fFunctorAuthCheck jwtAuthCheckmakeJWT verifyJWTcookieAuthCheckxsrfCheckRequiredxsrfCookieAuthCheckmakeXsrfCookiemakeCsrfCookiemakeSessionCookienoXsrfTokenCookieapplyCookieSettingsapplyXsrfCookieSettingsapplySessionCookieSettings acceptLogin expireTime clearSessionmakeSessionCookieBS makeCookie makeCookieBSFromBasicAuthDatafromBasicAuthData BasicAuthCfgwwwAuthenticatedErrbasicAuthCheckAppCtxappCtxAppUnappAreAuthsrunAuthsIsAuthAuthArgsrunAuth$fAreAuths[]ctxsv$fIsAuthBasicAuthusr$fIsAuthJWTusr$fIsAuthCookieusr$fAppCtxctx[]res$fAppCtxctxs:->$fAreAuths:ctxsv$fHasServerTYPE:>ctxs generateKeygenerateSecret fromSecretwriteKeyreadKey*servant-server-0.18-4NFxmQveSXzJXwApq2eLbj#Servant.Server.Internal.ServerError ServerError