úÎ(p#{       Safe-Inferred !"#$%&'()*+,!'()*+, !"#$%&'()*+,None Instantiate this typeclass on 'Handler b YourAppState' so this snaplet L can find the connection source. If you need to have multiple instances of 1 the sqlite snaplet in your application, then don't provide this instance , and leverage the default instance by using " with dbLens" in front of calls % to snaplet-sqlite-simple functions. ?The state for the sqlite-simple snaplet. To use it in your app 0 include this in your application state and use  to initialize it. 0Function for retrieving the database connection -EConvenience function allowing easy collection of config file errors. Initialize the snaplet DConvenience function for executing a function that needs a database  connection. Multi-threading considerations%: The database connection is mutexed E such that only a single thread can read or write at any given time. = This means we lose database access parallelism. Please see   8https://github.com/nurpax/snaplet-sqlite-simple/issues/5 for more  information. See .  See also ! for notes on concurrent access. See /  See also ! for notes on concurrent access.  See also ! for notes on concurrent access.  See also ! for notes on concurrent access. 0FA convenience instance to make it easier to use functions written for ' this snaplet in non-snaplet contexts. 1DA convenience instance to make it easier to use this snaplet in the  Initializer monad like this: % d <- nestSnaplet "db" db sqliteInit > count <- liftIO $ runReaderT (execute "INSERT ..." params) d 2Default instance -012 %   -012None3KDatatype containing the names of the columns for the authentication table. 8Initializer for the sqlite backend to the auth snaplet. 4!Create the user table if it doesn' t exist. 5$Default authentication table layout 6List of deconstructors so it')s easier to extract column names from an  3. /3789:;<=>?@ABCDEFGHIJKLMNOPLens to the session snaplet The sqlite snaplet QRSTUV4WXY56Z[\]^_`3789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV4WXY56Z[\]^_`a        !"#$%&'()*+,-./012345#$6789:;<9=>?@ABCDEFGHIJKLMNOPQRRSTUVWXYZ[\]^_`abcdesnaplet-sqlite-simple-0.4.5Snap.Snaplet.SqliteSimple'Snap.Snaplet.Auth.Backends.SqliteSimplePaths_snaplet_sqlite_simplesqlite-simple-0.4.3.0Database.SQLite.Simple fmtParamsfmtQuery fmtMessage FormatErrorDatabase.SQLite.Simple.ToRowtoRowToRowDatabase.SQLite.Simple.FromRowfieldfromRowFromRow Database.SQLite.Simple.FromField errMessageerrHaskellType errSQLType ResultErrorDatabase.SQLite.Simple.TypesQueryfromOnlyOnly:.Database.SQLite.Simple.Internal Connection HasSqlitegetSqliteStateSqlite sqliteConn sqliteInit withSqlitequeryquery_executeexecute_initSqliteAuthcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamelogErr$fHasSqliteReaderT$fHasSqliteReaderT0$fHasSqliteHandler AuthTablecreateTableIfMissing defAuthTablecolDeftblNamecolIdcolLogincolEmail colPasswordcolActivatedAtcolSuspendedAtcolRememberToken colLoginCountcolFailedLoginCountcolLockedOutUntilcolCurrentLoginAtcolLastLoginAtcolCurrentLoginIpcolLastLoginIp colCreatedAt colUpdatedAt colResetTokencolResetRequestedAtcolRolescolMetaSqliteAuthManagerpamTable pamConnPool tableExistscreateInitialSchema versionTable schemaVersionsetSchemaVersion upgradeSchemabuildUid querySingle authExecutecolNames saveQuery$fIAuthBackendSqliteAuthManager$fToFieldPassword$fFromRowAuthUser$fFromFieldPassword$fFromFieldUserId