úÎ)#ê,      !"#$%&'()*+Safe ,-./012345678-345678 ,-./012345678None9:; ÿ Instantiate this typeclass on 'Handler b YourAppState' so this snaplet can find the connection source. If you need to have multiple instances of the sqlite snaplet in your application, then don't provide this instance and leverage the default instance by using " with dbLens8" in front of calls to snaplet-sqlite-simple functions.oThe state for the sqlite-simple snaplet. To use it in your app include this in your application state and use  to initialize it./Function for retrieving the database connection9DConvenience function allowing easy collection of config file errors.Initialize the snapletPConvenience function for executing a function that needs a database connection.Multi-threading considerations¨: The database connection is mutexed 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.#lA convenience instance to make it easier to use functions written for this snaplet in non-snaplet contexts.$aA 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%Default instance9 !"#$%#   !") !"   9 !"#$%None!":T<JDatatype containing the names of the columns for the authentication table.&7Initializer for the sqlite backend to the auth snaplet.=*Create the user table if it doesn't exist.>#Default authentication table layout?GList of deconstructors so it's easier to extract column names from an <./<@ABCDEFGHIJKLMNOPQRSTUVWXY&Lens to the session snapletThe sqlite snapletZ[\]^_=`ab>?cd'()*+&&<@ABCDEFGHIJKLMNOPQRSTUVWXY&Z[\]^_=`ab>?cd'()*+e       !""#$%&'()*+,-./0123456789:;<=>?@&'ABCDAEFGHIJKLMNOPQRSTUVWXYZZ[\]^_`abcdefgh4snaplet-sqlite-simple-1.0.0.0-11hu4RTuG6t52QmOiK4VdZSnap.Snaplet.SqliteSimple'Snap.Snaplet.Auth.Backends.SqliteSimplePaths_snaplet_sqlite_simple,sqlite-simple-0.4.9.0-KtB5Teg0fmJFAy12etXxuPDatabase.SQLite.Simple fmtParamsfmtQuery fmtMessage FormatErrorDatabase.SQLite.Simple.FromRowfieldfromRowFromRowDatabase.SQLite.Simple.ToRowtoRowToRow Database.SQLite.Simple.FromField errMessageerrHaskellType errSQLTypeConversionFailedUnexpectedNull Incompatible ResultErrorDatabase.SQLite.Simple.TypesQueryfromOnlyOnly:.Database.SQLite.Simple.Internal Connection HasSqlitegetSqliteStateSqlite sqliteConn sqliteInit withSqlitequeryquery_executeexecute_$fHasSqliteReaderT$fHasSqliteReaderT0$fHasSqliteHandlerinitSqliteAuth$fIAuthBackendSqliteAuthManager$fToFieldPassword$fFromRowAuthUser$fFromFieldPassword$fFromFieldUserIdcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamelogErr AuthTablecreateTableIfMissing defAuthTablecolDeftblNamecolIdcolLogincolEmail colPasswordcolActivatedAtcolSuspendedAtcolRememberToken colLoginCountcolFailedLoginCountcolLockedOutUntilcolCurrentLoginAtcolLastLoginAtcolCurrentLoginIpcolLastLoginIp colCreatedAt colUpdatedAt colResetTokencolResetRequestedAtcolRolescolMetaSqliteAuthManagerpamTable pamConnPool tableExistscreateInitialSchema versionTable schemaVersionsetSchemaVersion upgradeSchemabuildUid querySingle authExecutecolNames saveQuery