úÎ: 1Żd      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc Safe-Inferred defghijklmnopeklmnop defghijklmnopNone234M ?7Data type holding all the snaplet's config information.AA libpq connection string.BRThe number of distinct sub-pools to maintain. The smallest acceptable value is 1.ChAmount of time for which an unused resource is kept open. The smallest acceptable value is 0.5 seconds.DYMaximum number of resources to keep open per stripe. The smallest acceptable value is 1.E˙ Instantiate this typeclass on 'Handler b YourAppState' so this snaplet can find the connection source. If you need to have multiple instances of the postgres 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-postgresql-simple functions.HŒThe state for the postgresql-simple snaplet. To use it in your app include this in your application state and use pgsInit to initialize it.KQReturns a config object with default values and the specified connection string.LSFunction that reserves a single connection for the duration of the given action.MPConvenience function for executing a function that needs a database connection.qPConvenience function for executing a function that needs a database connection.?@ABCDEFGHIJKCA connection string such as "host=localhost port=5432 dbname=mydb"LMq?@ABCDEFGHIJKLMq?@ABCDEFGHJIKLMqNone  234M N)Produce a connection string from a configOInitialize the snapletP6Initialize the snaplet using a specific configuration.QöBuilds a PGSConfig object from a configurator Config object. This function uses getConnectionString to construct the connection string. The rest of the PGSConfig fields are obtained from "numStripes", "idleTime", and "maxResourcesPerStripe".RSee rSSee sTSee tulA convenience instance to make it easier to use functions written for this snaplet in non-snaplet contexts.vaA convenience instance to make it easier to use this snaplet in the Initializer monad like this: ]d <- nestSnaplet "db" db pgsInit count <- liftIO $ runReaderT (execute "INSERT ..." params) dwDefault instancexNyzOPQ{RSTUVWXYZ[\]^_`abuvwc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abmHJIEFG?@ABCDKQOPNLMRSUVWXYZ[\]T^_`ab498<;:765('&%$#"10/.-,+*)   >=32 !xNyzOPQ{RSTUVWXYZ[\]^_`abuvwxNone|JDatatype containing the names of the columns for the authentication table.c9Initializer for the postgres backend to the auth snaplet.}*Create the user table if it doesn't exist.~#Default authentication table layoutGList of deconstructors so it's easier to extract column names from an |.)|€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜cLens to the session snapletThe postgres snaplet}™š›~œžŸ Ħ˘£cc|€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜c}™š›~œžŸ Ħ˘£¤          !"#$%&''()*)+),)-).)/)0)0)1)2)3)3)4)5)6)7)7898:;<;=;>;>;?;?;@;A;A;B;BCCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuUuVuWvwxyzk{|}~|€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“””•–—˜™š›œžŸ Ħ˘!snaplet-postgresql-simple-0.6.0.2Snap.Snaplet.PostgresqlSimple+Snap.Snaplet.Auth.Backends.PostgresqlSimplePaths_snaplet_postgresql_simple&Snap.Snaplet.PostgresqlSimple.Internalpostgresql-simple-0.4.10.0"Database.PostgreSQL.Simple.FromRowfieldfromRow$Database.PostgreSQL.Simple.FromField errMessageerrHaskellType errSQLFielderrSQLTableOid errSQLType IncompatibleUnexpectedNullConversionFailed ResultError&Database.PostgreSQL.Simple.Transaction beginMode beginLevelbegincommitrollbackdefaultReadWriteModedefaultIsolationLeveldefaultTransactionModeDefaultIsolationLevel ReadCommittedRepeatableRead SerializableIsolationLevelDefaultReadWriteMode ReadWriteReadOnly ReadWriteMode readWriteModeisolationLevelTransactionModeFromRow#Database.PostgreSQL.Simple.InternaldefaultConnectInfo sqlErrorHintsqlErrorDetail sqlErrorMsg sqlExecStatussqlStateSqlErrorqeQuery qeMessage QueryError fmtParamsfmtQuery fmtMessage FormatError Database.PostgreSQL.Simple.ToRowtoRowToRow Database.PostgreSQL.Simple.TypesQueryfromOnlyOnlyIn fromBinaryBinary:. PGSConfig pgsConnStr pgsNumStripes pgsIdleTime pgsResources HasPostgresgetPostgresStatesetLocalPostgresStatePostgres PostgresConn PostgresPoolpgsDefaultConfigwithPGliftPGgetConnectionStringpgsInitpgsInit' mkPGSConfigqueryquery_ returningfoldfoldWithOptionsfold_foldWithOptions_forEachforEach_executeexecute_ executeManywithTransactionwithTransactionLevelwithTransactionMode formatMany formatQueryinitPostgresAuthcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameliftPG'Database.PostgreSQL.Simple$fHasPostgresReaderT$fHasPostgresReaderT0$fHasPostgresHandler++ description initHelper AuthTablecreateTableIfMissing defAuthTablecolDeftblNamecolIdcolLogincolEmail colPasswordcolActivatedAtcolSuspendedAtcolRememberToken colLoginCountcolFailedLoginCountcolLockedOutUntilcolCurrentLoginAtcolLastLoginAtcolCurrentLoginIpcolLastLoginIp colCreatedAt colUpdatedAt colResetTokencolResetRequestedAt rolesTablePostgresAuthManagerpamTablepamConnbuildUid querySingle authExecutefDesc saveQuery onFailure!$fIAuthBackendPostgresAuthManager$fToFieldPassword$fFromRowAuthUser$fFromFieldPassword$fFromFieldUserId