úÎ6}1•I      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHNone !"3<=K-  !"#$%&'()*+,,  !"#$%&'()*+ +,,,*)('&%$#"!  Safe-Inferred IJKLMNOPQRSTUJPQRSTU IJKLMNOPQRSTUNone234=K-‡Implement this type class to have any monad work with snaplet-persistent. A default instance is provided for (Handler b PersistState).2¼Initialize Persistent with an initial SQL function called right after the connection pool has been created. This is most useful for calling migrations upfront right after initialization.Example: +initPersist (runMigrationUnsafe migrateAll)where migrateAll is the migration function that was auto-generated by the QQ statement in your persistent schema definition in the call to  mkMigrate.3ÅBackend-agnostic initalization with an initial SQL function called right after the connection pool has been created. This is most useful for calling migrations upfront right after initialization.Example: 2initPersist mkPool (runMigrationUnsafe migrateAll)where migrateAll is the migration function that was auto-generated by the QQ statement in your persistent schema definition in the call to  mkMigrate.HmkPool is a function to construct a pool of connections to your database4)Constructs a connection pool from Config.51Conscruts a connection pool in a snaplet context.6ERuns a SqlPersist action in any monad with a HasPersistPool instance.7Run a database action8Make a Key from an Int.97Makes a Key from a ByteString. Calls error on failure.:/Makes a Key from Text. Calls error on failure.;%Makes a Text representation of a Key.<+Makes a ByteString representation of a Key.=AConverts a Key to Int. Fails with error if the conversion fails.>DConverts a Key to Word64. Fails with error if the conversion fails.@dFollows a foreign key field in one entity and retrieves the corresponding entity from the database.-./01234561Run given Persistent action in the defined monad.789:;<=>?@VWX-./0123456789:;<=>?@23/01-.456789:;<=>@?-./0123456789:;<=>?@VWXNone !"3<=KB´The list of entity definitions this snaplet exposes. You need them so that you can append to your application's list of entity definitions and perform the migration in one block.mSee how this example combined an app's own entity definitions and the auth snaplet's in one migration block: jshare [mkMigrate "migrateAll"] $ authEntityDefs ++ $(persistFileWith lowerCaseSettings "schema.txt")CFunction to convert a ! entity into the auth snaplet's Y.D Splices for & that are equivalent to the ones for Y.E6Initializer that gets AuthSettings from a config file.F/Initializer that lets you specify AuthSettings.GGet the db key from an YAZ[BCDEF\]^GH_4  !"#$%&'()*+ABCDEFGHbAEFB ,,*)('&%$#"! ,,*)('&%$#"! ,,*)('&%$#"! +CDGH AZ[BCDEF\]^GH_`      !"#$%&'()*+,-./01223456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdsnaplet-persistent-0.4.1%Snap.Snaplet.Auth.Backends.PersistentSnap.Snaplet.Persistent+Snap.Snaplet.Auth.Backends.Persistent.TypesPaths_snaplet_persistentSnapAuthUserIdSnapAuthUserGeneric SnapAuthUsersnapAuthUserLoginsnapAuthUserEmailsnapAuthUserPasswordsnapAuthUserActivatedAtsnapAuthUserSuspendedAtsnapAuthUserRememberTokensnapAuthUserLoginCountsnapAuthUserFailedLoginCountsnapAuthUserLockedOutUntilsnapAuthUserCurrentLoginAtsnapAuthUserLastLoginAtsnapAuthUserCurrentIpsnapAuthUserLastIpsnapAuthUserCreatedAtsnapAuthUserUpdatedAtsnapAuthUserResetTokensnapAuthUserResetRequestedAtsnapAuthUserRolessnapAuthUserMetaSnapAuthUserMetaSnapAuthUserRolesSnapAuthUserResetRequestedAtSnapAuthUserResetTokenSnapAuthUserUpdatedAtSnapAuthUserCreatedAtSnapAuthUserLastIpSnapAuthUserCurrentIpSnapAuthUserLastLoginAtSnapAuthUserCurrentLoginAtSnapAuthUserLockedOutUntilSnapAuthUserFailedLoginCountSnapAuthUserLoginCountSnapAuthUserRememberTokenSnapAuthUserSuspendedAtSnapAuthUserActivatedAtSnapAuthUserPasswordSnapAuthUserEmailSnapAuthUserLogin migrateAuth.TFCo:R:PersistEntityBackendSnapAuthUserGenericHasPersistPoolgetPersistPool PersistState persistPool initPersistinitPersistGenericmkPgPoolmkSnapletPgPool runPersistwithPoolmkKeymkKeyBSmkKeyTshowKey showKeyBSmkIntmkWord64fromPersistValue'followForeignKeyPersistAuthManagerauthEntityDefsdb2au dbUserSplicesinitPersistAuthManagerinitPersistAuthManager' userDBKey textPasswordcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName$fHasPersistPoolReaderT$fHasPersistPoolHandler$fHasPersistPoolNoLoggingT snap-0.13.3.2Snap.Snaplet.Auth.TypesAuthUserPAMpamPoolmake initHelperreadT $fIAuthBackendPersistAuthManager