h$<,l      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                                                                                None #$/238>?,happstack-authenticatethe  type is used to represent errors in a language agnostic manner. The errors are translated into human readable form via the I18N translations.happstack-authenticatewhen creating JSON field names, drop the first character. Since we are using lens, the leading character should always be _.-happstack-authenticatean arbitrary, but unique string that the user uses to identify themselves0happstack-authenticate"convert a value to a JSON encoded 1happstack-authenticate"convert a value to a JSON encoded 2happstack-authenticate#convert an error to a JSON encoded  FIXME: I18N=happstack-authenticatean =% address. No validation in performed.Khappstack-authenticate A unique Knhappstack-authenticateVarious configuration options that apply to all authentication methodsphappstack-authenticate0can user administrate the authentication system?qhappstack-authenticate-enforce username policies, valid email, etc. $ == ok, 'Just Text' == error messagerhappstack-authenticate?require use to supply an email address when creating an accountshappstack-authenticate(From: line for emails sent by the serverthappstack-authenticate,Reply-To: line for emails sent by the serveruhappstack-authenticate0path to sendmail if it is not /usr/sbin/sendmailwhappstack-authenticateThe shared secret is used to encrypt a users data on a per-user basis. We can invalidate a JWT value by changing the shared secret.happstack-authenticatea very basic policy for userAcceptable Enforces:- can not be emptyhappstack-authenticateThis value is used to configure the type of new user registrations permitted for this system.happstack-authenticate'new users can create their own accountshappstack-authenticatenew users can apply to create their own accounts, but a moderator must approve them before they are activehappstack-authenticate'only the admin can create a new accounthappstack-authenticateA map which stores the w for each happstack-authenticate Generate a Salt from 128 bits of data from  /dev/urandom, with the system RNG as a fallback. This is the function used to generate salts by  makePassword.happstack-authenticate Generate a w from  /dev/urandom.see: happstack-authenticate Generate a w from .see: happstack-authenticate An empty happstack-authenticatethis acid-state value contains the state common to all authentication methodshappstack-authenticate#default session time out in secondshappstack-authenticatea reasonable initial happstack-authenticateThe = type represents the encrypted data used to identify a user.happstack-authenticateget the w for *. Generate one if they don't have one yet.happstack-authenticate is used by the routing system to select which authentication backend should handle this request.happstack-authenticate is the encrypted form of the 4 which is passed between the server and the client.happstack-authenticate create a  for KThe  isAuthAdmin? paramater is a function which will be called to determine if  is a user who should be given Administrator privileges. This includes the ability to things such as set the OpenId+ realm, change the registeration mode, etc.happstack-authenticatedecode and verify the . If successful, return the  otherwise .happstack-authenticate name of the  used to hold the happstack-authenticate create a  for K and add a  to the  see also: happstack-authenticate delete the  happstack-authenticateget, decode, and verify the  from the .happstack-authenticateget, decode, and verify the  from the  Authorization HTTP headerhappstack-authenticateget, decode, and verify the  looking first in the  Authorization header and then in . see also: , happstack-authenticateget the calls  but returns only the happstack-authenticatea  for AuthenicateURLhappstack-authenticatehelper function which converts a URL for an authentication backend into an .happstack-authenticatethe user -./012<=>?@KLMNOP[\]^_`abcnopqrstuwxyz{|}~nopqrstuz{012-./<@=>?PKLMNObca`_wxy[\]^ |}~None None 38!"None #$/38>!n  None  38#happstack-authenticate.Get the OpenId realm to use for authenticationhappstack-authenticate,set the realm used for OpenId AuthenticationIMPORTANT: Changing this value after users have registered is likely to invalidate existing OpenId tokens resulting in users no longer being able to access their old accounts.""None  38>#  None $None $5 None 38$c None #$/38>$ None #$/238>* happstack-authenticatehash a password stringhappstack-authenticateverify a passwordhappstack-authenticateset the password for happstack-authenticatedelete the password for happstack-authenticateverify that the supplied password matches the stored hashed password for happstack-authenticate3verify that the supplied username/password is validhappstack-authenticate JSON record for new account datahappstack-authenticate$JSON record for change password datahappstack-authenticate JSON record for new account datahappstack-authenticateaccount handlerhappstack-authenticate JSON record for new account datahappstack-authenticaterequest reset passwordhappstack-authenticateissueResetTokenhappstack-authenticatepassword in plain texthappstack-authenticatesalted and hashedhappstack-authenticatepassword in plain texthappstack-authenticatehashed version of passwordhappstack-authenticateUserIdhappstack-authenticatethe hashed passwordhappstack-authenticateUserIdhappstack-authenticateUserIdhappstack-authenticateplain-text password None  38>+ None,None,4None>,` !"#$$%&'()*+,-./0123456789:;<=>??@ABCDEFGHIJKLMNNOPQRSTUVWXYZ[[\]^_`abcdefghijjklmnopqrstuvwxyz{||}~                                                                                                                                                                                                                                                3happstack-authenticate-2.4.2-21TYVXxdvqkFERg6EPWUndHappstack.Authenticate.Core!Happstack.Authenticate.Controller)Happstack.Authenticate.OpenId.PartialsURL!Happstack.Authenticate.OpenId.URL"Happstack.Authenticate.OpenId.Core&Happstack.Authenticate.OpenId.Partials)Happstack.Authenticate.OpenId.Controllers#Happstack.Authenticate.OpenId.Route+Happstack.Authenticate.Password.PartialsURL#Happstack.Authenticate.Password.URL$Happstack.Authenticate.Password.Core(Happstack.Authenticate.Password.Partials+Happstack.Authenticate.Password.Controllers%Happstack.Authenticate.Password.RouteHappstack.Authenticate.RouteSystemRandom%userid-0.1.3.6-FgnF6V9k3q8FUmRVtQi9I7 Data.UserId succUserIdrUserIdunUserId _unUserIdUserId CoreErrorHandlerNotFoundURLDecodeFailedUsernameAlreadyExistsAuthorizationRequired ForbiddenJSONDecodeFailed InvalidUserIdUsernameNotAcceptable InvalidEmail TextErrorHappstackAuthenticateI18N jsonOptions$fToJExprCoreError$fFromJSONCoreError$fToJSONCoreError $fEqCoreError$fOrdCoreError$fReadCoreError$fShowCoreError$fDataCoreError$fGenericCoreError$fSafeCopyCoreError1$fRenderMessageHappstackAuthenticateI18NCoreError $fEqStatus $fOrdStatus $fReadStatus $fShowStatus $fDataStatus$fGenericStatus$fSafeCopyStatus$fFromJSONStatus$fToJSONStatus$fEqJSONResponse$fReadJSONResponse$fShowJSONResponse$fDataJSONResponse$fGenericJSONResponseUsername _unUsernametoJSONResponse toJSONSuccess toJSONError$fFromJSONJSONResponse$fToJSONJSONResponse $fEqUsername $fOrdUsername$fReadUsername$fShowUsername$fDataUsername$fGenericUsername$fSafeCopyUsername unUsernameEmail_unEmail rUsername$fPathInfoUsername$fFromJSONUsername$fToJSONUsername $fEqEmail $fOrdEmail $fReadEmail $fShowEmail $fDataEmail$fGenericEmail$fSafeCopyEmailUser_userId _username_emailunEmail$fPathInfoEmail$fFromJSONEmail $fToJSONEmail$fEqUser $fOrdUser $fReadUser $fShowUser $fDataUser $fGenericUser$fSafeCopyUser SimpleAddress_saName_saEmailIxUserUserIxsemailuserIdusername$fFromJSONUser $fToJSONUser$fIndexable:User$fEqSimpleAddress$fOrdSimpleAddress$fReadSimpleAddress$fShowSimpleAddress$fDataSimpleAddress$fGenericSimpleAddress$fSafeCopySimpleAddressAuthenticateConfig _isAuthAdmin_usernameAcceptable _requireEmail_systemFromAddress_systemReplyToAddress_systemSendmailPath$fGenericAuthenticateConfig SharedSecret_unSharedSecret isAuthAdmin requireEmailsystemFromAddresssystemReplyToAddresssystemSendmailPathusernameAcceptableusernamePolicy$fEqSharedSecret$fOrdSharedSecret$fReadSharedSecret$fShowSharedSecret$fDataSharedSecret$fGenericSharedSecret$fSafeCopySharedSecretNewAccountModeOpenRegistrationModeratedRegistrationClosedRegistration SharedSecretsunSharedSecretgenSharedSecretgenSharedSecretDevURandomgenSharedSecretSysRandominitialSharedSecrets$fEqNewAccountMode$fShowNewAccountMode$fGenericNewAccountModeAuthenticateState_sharedSecrets_users _nextUserId_defaultSessionTimeout_newAccountMode$fSafeCopyNewAccountMode$fEqAuthenticateState$fShowAuthenticateState$fGenericAuthenticateState$fSafeCopyAuthenticateStatedefaultSessionTimeoutnewAccountMode nextUserId sharedSecretsusersinitialAuthenticateStateToken _tokenUser_tokenIsAuthAdminGetAuthenticateStateGetUsersByEmailGetUserByEmailGetUsersGetUserByUserIdGetUserByUsername DeleteUser UpdateUserCreateAnonymousUser CreateUserGetNewAccountModeSetNewAccountModeGetSharedSecretSetSharedSecretGetDefaultSessionTimeoutSetDefaultSessionTimeoutgetOrGenSharedSecret%$fUpdateEventSetDefaultSessionTimeout $fMethodSetDefaultSessionTimeout"$fSafeCopySetDefaultSessionTimeout$$fQueryEventGetDefaultSessionTimeout $fMethodGetDefaultSessionTimeout"$fSafeCopyGetDefaultSessionTimeout$fUpdateEventSetSharedSecret$fMethodSetSharedSecret$fSafeCopySetSharedSecret$fQueryEventGetSharedSecret$fMethodGetSharedSecret$fSafeCopyGetSharedSecret$fUpdateEventSetNewAccountMode$fMethodSetNewAccountMode$fSafeCopySetNewAccountMode$fQueryEventGetNewAccountMode$fMethodGetNewAccountMode$fSafeCopyGetNewAccountMode$fUpdateEventCreateUser$fMethodCreateUser$fSafeCopyCreateUser $fUpdateEventCreateAnonymousUser$fMethodCreateAnonymousUser$fSafeCopyCreateAnonymousUser$fUpdateEventUpdateUser$fMethodUpdateUser$fSafeCopyUpdateUser$fUpdateEventDeleteUser$fMethodDeleteUser$fSafeCopyDeleteUser$fQueryEventGetUserByUsername$fMethodGetUserByUsername$fSafeCopyGetUserByUsername$fQueryEventGetUserByUserId$fMethodGetUserByUserId$fSafeCopyGetUserByUserId$fQueryEventGetUsers$fMethodGetUsers$fSafeCopyGetUsers$fQueryEventGetUserByEmail$fMethodGetUserByEmail$fSafeCopyGetUserByEmail$fQueryEventGetUsersByEmail$fMethodGetUsersByEmail$fSafeCopyGetUsersByEmail $fQueryEventGetAuthenticateState$fMethodGetAuthenticateState$fSafeCopyGetAuthenticateState$fIsAcidicAuthenticateState $fEqToken $fOrdToken $fReadToken $fShowToken $fDataToken$fGenericTokenAuthenticationMethod_unAuthenticationMethod TokenTexttokenIsAuthAdmin tokenUser issueTokendecodeAndVerifyTokenauthCookieNameaddTokenCookiedeleteTokenCookiegetTokenCookiegetTokenHeadergetToken getUserId$fFromJSONToken $fToJSONToken$fEqAuthenticationMethod$fOrdAuthenticationMethod$fReadAuthenticationMethod$fShowAuthenticationMethod$fDataAuthenticationMethod$fGenericAuthenticationMethod$fPathInfoAuthenticationMethod$fSafeCopyAuthenticationMethodunAuthenticationMethodAuthenticateURLAuthenticationMethods ControllersAuthenticationHandlersAuthenticationHandlerrAuthenticationMethod$fFromJSONAuthenticationMethod$fToJSONAuthenticationMethod$fEqAuthenticateURL$fOrdAuthenticateURL$fReadAuthenticateURL$fShowAuthenticateURL$fDataAuthenticateURL$fGenericAuthenticateURLrAuthenticationMethods rControllersauthenticateURLnestAuthenticationMethod$fPathInfoAuthenticateURLauthenticateCtrlauthenticateCtrlJs PartialURL UsingYahoo RealmForm$fEqPartialURL$fOrdPartialURL$fDataPartialURL$fGenericPartialURL$fReadPartialURL$fShowPartialURL rUsingYahoo rRealmForm partialURL$fPathInfoPartialURL OpenIdURLPartial BeginDanceReturnToRealmopenIdAuthenticationMethod $fEqOpenIdURL$fOrdOpenIdURL$fDataOpenIdURL$fGenericOpenIdURL$fReadOpenIdURL$fShowOpenIdURLrPartial rBeginDance rReturnTorRealm openIdURL nestOpenIdURL$fPathInfoOpenIdURL OpenIdErrorUnknownIdentifieropenIdErrorMessageE$fSafeCopyIdentifier$fToJExprOpenIdError$fFromJSONOpenIdError$fToJSONOpenIdError$fEqOpenIdError$fOrdOpenIdError$fReadOpenIdError$fShowOpenIdError$fDataOpenIdError$fGenericOpenIdError OpenIdState_1_identifiers_13$fRenderMessageHappstackAuthenticateI18NOpenIdError$fEqOpenIdState_1$fOrdOpenIdState_1$fReadOpenIdState_1$fShowOpenIdState_1$fDataOpenIdState_1$fGenericOpenIdState_1$fSafeCopyOpenIdState_1 OpenIdState _identifiers _openIdRealm identifiers_1$fEqOpenIdState$fOrdOpenIdState$fReadOpenIdState$fShowOpenIdState$fDataOpenIdState$fGenericOpenIdState$fSafeCopyOpenIdState identifiers openIdRealminitialOpenIdStateidentifierToUserIdassociateIdentifierWithUserIdgetOpenIdRealmsetOpenIdRealm$fMigrateOpenIdState SetRealmData_srOpenIdRealmSetOpenIdRealmGetOpenIdRealmAssociateIdentifierWithUserIdIdentifierToUserId$fQueryEventIdentifierToUserId$fMethodIdentifierToUserId$fSafeCopyIdentifierToUserId*$fUpdateEventAssociateIdentifierWithUserId%$fMethodAssociateIdentifierWithUserId'$fSafeCopyAssociateIdentifierWithUserId$fQueryEventGetOpenIdRealm$fMethodGetOpenIdRealm$fSafeCopyGetOpenIdRealm$fUpdateEventSetOpenIdRealm$fMethodSetOpenIdRealm$fSafeCopySetOpenIdRealm$fIsAcidicOpenIdState$fEqSetRealmData$fOrdSetRealmData$fReadSetRealmData$fShowSetRealmData$fDataSetRealmData$fGenericSetRealmData srOpenIdRealmrealm getIdentifiertoken$fFromJSONSetRealmData$fToJSONSetRealmData PartialMsgs UsingYahooMsg SetRealmMsgOpenIdRealmMsgPartial' routePartial usingYahoo realmForm$fEmbedAsAttrRouteTAttr$fEmbedAsChildRouteTPartialMsgs3$fRenderMessageHappstackAuthenticateI18NPartialMsgs openIdCtrl openIdCtrlJs routeOpenId initOpenId LoginInlineLoginLogoutSignupPasswordChangePasswordRequestResetPasswordFormResetPasswordForm rLoginInlinerLoginrLogoutrSignupPasswordrChangePasswordrRequestResetPasswordFormrResetPasswordForm AccountURLPasswordpasswordAuthenticationMethod$fEqAccountURL$fOrdAccountURL$fReadAccountURL$fShowAccountURL$fDataAccountURL$fGenericAccountURL PasswordURLAccountPasswordRequestReset PasswordResetUsernamePasswordCtrl rPassword accountURL$fPathInfoAccountURL$fEqPasswordURL$fOrdPasswordURL$fDataPasswordURL$fGenericPasswordURLrTokenrAccountrPasswordRequestResetrPasswordResetrUsernamePasswordCtrl passwordURLnestPasswordURL$fPathInfoPasswordURLPasswordConfig _resetLink_domain_passwordAcceptable$fGenericPasswordConfig PasswordErrorNotAuthenticated NotAuthorizedInvalidUsernameInvalidPasswordInvalidUsernamePasswordNoEmailAddressMissingResetTokenInvalidResetTokenPasswordMismatchUnacceptablePasswordpasswordErrorMessageMsgpasswordErrorMessageEdomainpasswordAcceptable resetLink$fToJExprPasswordError$fFromJSONPasswordError$fToJSONPasswordError$fEqPasswordError$fOrdPasswordError$fReadPasswordError$fShowPasswordError$fDataPasswordError$fGenericPasswordError HashedPass _unHashedPass5$fRenderMessageHappstackAuthenticateI18NPasswordError$fEqHashedPass$fOrdHashedPass$fReadHashedPass$fShowHashedPass$fDataHashedPass$fGenericHashedPass$fSafeCopyHashedPass PasswordState _passwords unHashedPass mkHashedPassverifyHashedPass$fEqPasswordState$fOrdPasswordState$fReadPasswordState$fShowPasswordState$fDataPasswordState$fGenericPasswordState$fSafeCopyPasswordState passwordsinitialPasswordState setPassworddeletePasswordverifyPasswordForUserIdUserPass_user _passwordVerifyPasswordForUserIdDeletePassword SetPasswordverifyPassword$fUpdateEventSetPassword$fMethodSetPassword$fSafeCopySetPassword$fUpdateEventDeletePassword$fMethodDeletePassword$fSafeCopyDeletePassword#$fQueryEventVerifyPasswordForUserId$fMethodVerifyPasswordForUserId!$fSafeCopyVerifyPasswordForUserId$fIsAcidicPasswordState $fEqUserPass $fOrdUserPass$fReadUserPass$fShowUserPass$fDataUserPass$fGenericUserPassNewAccountData_naUser _naPassword_naPasswordConfirmpassworduser$fToJExprUserPass$fFromJSONUserPass$fToJSONUserPass$fEqNewAccountData$fOrdNewAccountData$fReadNewAccountData$fShowNewAccountData$fDataNewAccountData$fGenericNewAccountDataChangePasswordData_cpOldPassword_cpNewPassword_cpNewPasswordConfirm naPasswordnaPasswordConfirmnaUser$fFromJSONNewAccountData$fToJSONNewAccountData$fEqChangePasswordData$fOrdChangePasswordData$fReadChangePasswordData$fShowChangePasswordData$fDataChangePasswordData$fGenericChangePasswordDataRequestResetPasswordData _rrpUsername cpNewPasswordcpNewPasswordConfirm cpOldPasswordaccount$fFromJSONChangePasswordData$fToJSONChangePasswordData$fEqRequestResetPasswordData$fOrdRequestResetPasswordData$fReadRequestResetPasswordData$fShowRequestResetPasswordData$fDataRequestResetPasswordData!$fGenericRequestResetPasswordDataResetPasswordData _rpPassword_rpPasswordConfirm _rpResetToken rrpUsernamepasswordRequestResetissueResetTokensendResetEmail"$fFromJSONRequestResetPasswordData $fToJSONRequestResetPasswordData$fEqResetPasswordData$fOrdResetPasswordData$fReadResetPasswordData$fShowResetPasswordData$fDataResetPasswordData$fGenericResetPasswordData rpPasswordrpPasswordConfirm rpResetToken passwordResetdecodeAndVerifyResetToken$fFromJSONResetPasswordData$fToJSONResetPasswordData UsernameMsgEmailMsg PasswordMsgPasswordConfirmationMsg SignUpMsg SignInMsg LogoutMsgOldPasswordMsgNewPasswordMsgNewPasswordConfirmationMsgChangePasswordMsgRequestPasswordResetMsgsignupPasswordFormusernamePasswordForm logoutFormchangePasswordFormrequestResetPasswordFormresetPasswordFormusernamePasswordCtrlusernamePasswordCtrlJs routePassword initPassword initPassword'routeinitAuthentication$fIntegerSupplyRouteT/happstack-server-7.7.1.2-FfCniwt2pK5Afi9by1q6ONHappstack.Server.Internal.TypesResponsebase GHC.MaybeNothing Happstack.Server.Internal.CookieCookie4web-routes-boomerang-0.28.4.2-225peAyEoWF44uqkzlcHoHWeb.Routes.BoomerangRouter