śĪLCCłn      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmSafeąnopqrstuNone;<=V&Q @7Data type holding all the snaplet's config information.BA libpq connection string.CRThe number of distinct sub-pools to maintain. The smallest acceptable value is 1.DhAmount of time for which an unused resource is kept open. The smallest acceptable value is 0.5 seconds.EYMaximum number of resources to keep open per stripe. The smallest acceptable value is 1.F’ 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.IŒ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.LQReturns a config object with default values and the specified connection string.M’Function that reserves a single connection for the duration of the given action. Nested calls to withPG will only reserve one connection. For example, the following code calls withPG twice in a nested way yet only results in a single connection being reserved: ™myHandler = withPG $ do queryTheDatabase commonDatabaseMethod commonDatabaseMethod = withPG $ do moreDatabaseActions evenMoreDatabaseActions’^This is useful in a practical setting because you may often find yourself in a situation where you have common code (that requires a database connection) that you wish to call from other blocks of code that may require a database connection and you still want to make sure that you are only using one connection through all of your nested methods.NPConvenience function for executing a function that needs a database connection.ObConvenience function for executing a function that needs a database connection specialized to IO.vPConvenience function for executing a function that needs a database connection.LCA connection string such as "host=localhost port=5432 dbname=mydb"@AEDCBFHGIKJLMNOv@ABCDEFGHIJKNone "#%;<=V:_ P)Produce a connection string from a configQInitialize the snapletR6Initialize the snaplet using a specific configuration.Sö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".TSee wUSee xVSee y`'Be careful that you do not call Snap's  finishWith9 function anywhere inside the function that you pass to `9. Doing so has been known to cause DB connection leaks.a'Be careful that you do not call Snap's  finishWith9 function anywhere inside the function that you pass to a9. Doing so has been known to cause DB connection leaks.b'Be careful that you do not call Snap's  finishWith9 function anywhere inside the function that you pass to b9. Doing so has been known to cause DB connection leaks.elA convenience instance to make it easier to use functions written for this snaplet in non-snaplet contexts.faA 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) dgDefault instancee    !")('&%$#-,+*210/.435876:9=<;?>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdqIJKFGH@ABCDELSQRPM"NOTUWXYZ[\]^_V`abcd5:9=<;876)('&%$#210/.-,+*   ?>433 !None"#CzJDatatype containing the names of the columns for the authentication table.h9Initializer for the postgres 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 z.hLens to the session snapletThe postgres snaplethhz~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—          !"#$%&'(()*)+),)-).)/)0)1)1)2)3)4)4)5)6)7)8)89:9;<=<><?<?<@<@<A<B<B<C<CDDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzWzXzY{|}~{€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’““”•–8snaplet-postgresql-simple-1.1.0.0-3iyl6XzmMT9AWaQV5zbg9xSnap.Snaplet.PostgresqlSimple+Snap.Snaplet.Auth.Backends.PostgresqlSimplePaths_snaplet_postgresql_simple&Snap.Snaplet.PostgresqlSimple.Internal0postgresql-simple-0.5.4.0-4SyPBQIV0KWGbkUtnvQiK9"Database.PostgreSQL.Simple.FromRowfieldfromRow$Database.PostgreSQL.Simple.FromField errMessageerrHaskellType errSQLFielderrSQLTableOid errSQLTypeConversionFailedUnexpectedNull Incompatible ResultErrorFromRow&Database.PostgreSQL.Simple.Transaction beginMode beginLevelbegincommitrollbackdefaultReadWriteModedefaultIsolationLeveldefaultTransactionMode SerializableRepeatableRead ReadCommittedDefaultIsolationLevelIsolationLevelReadOnly ReadWriteDefaultReadWriteMode ReadWriteMode readWriteModeisolationLevelTransactionMode#Database.PostgreSQL.Simple.InternaldefaultConnectInfo Connection sqlErrorHintsqlErrorDetail sqlErrorMsg sqlExecStatussqlStateSqlErrorqeQuery qeMessage QueryError fmtParamsfmtQuery fmtMessage FormatError Database.PostgreSQL.Simple.ToRowtoRowToRow Database.PostgreSQL.Simple.TypesQueryfromOnlyOnlyIn fromBinaryBinary:. PGSConfig pgsConnStr pgsNumStripes pgsIdleTime pgsResources HasPostgresgetPostgresStatesetLocalPostgresStatePostgres PostgresPool PostgresConnpgsDefaultConfigwithPGliftPGliftPG'getConnectionStringpgsInitpgsInit' mkPGSConfigqueryquery_ returningfoldfoldWithOptionsfold_foldWithOptions_forEachforEach_executeexecute_ executeManywithTransactionwithTransactionLevelwithTransactionMode formatMany formatQuery$fHasPostgresReaderT$fHasPostgresReaderT0$fHasPostgresHandlerinitPostgresAuth$fToFieldPassword$fFromRowAuthUser$fFromFieldPassword$fFromFieldUserId!$fIAuthBackendPostgresAuthManagerversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamewithConnectionDatabase.PostgreSQL.Simple AuthTablecreateTableIfMissing defAuthTablecolDeftblNamecolIdcolLogincolEmail colPasswordcolActivatedAtcolSuspendedAtcolRememberToken colLoginCountcolFailedLoginCountcolLockedOutUntilcolCurrentLoginAtcolLastLoginAtcolCurrentLoginIpcolLastLoginIp colCreatedAt colUpdatedAt colResetTokencolResetRequestedAt rolesTablePostgresAuthManagerpamTablepamConn