Îõ³h,¦h8€      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.7None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷n¦ €‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€ ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ © ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤  None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹  None, "%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷¤º » ¼ ½ ¾ ¿  None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷¿À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ €‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨© ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ ©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìí None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷Jîhasql-A Word32 and a LibPQ representation of an OIDïhasqlA Postgresql type infoÑðñòóôõö÷øùúûüýþÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·î¸¹º»ï¼½¾ None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷Vhasql/An error during the decoding of a specific row.hasqlÊAppears on the attempt to parse more columns than there are in the result.hasql"Appears on the attempt to parse a NULL as some value.hasqlÉAppears when a wrong value parser is used. Comes with the error details.hasqlAn error with a command result.hasqlAn error reported by the DB.hasqlâThe database returned an unexpected result. Indicates an improper statement or a schema mismatch.hasqlÊAn error of the row reader, preceded by the indexes of the row and column.hasqlAn unexpected amount of rows. hasql(An error of some command in the session. hasqlûAn error on the client-side, with a message generated by the "libpq" library. Usually indicates problems with connection. hasql!Some error with a command result. hasql$Error during execution of a session. hasqlError during the execution of a query. Comes packed with the query template and a textual representation of the provided params.hasql)Error during the execution of a pipeline.hasqlCode=. The SQLSTATE code for the error. It's recommended to use < 9http://hackage.haskell.org/package/postgresql-error-codes; the "postgresql-error-codes" package> to work with those.hasqlMessageÐ. The primary human-readable error message(typically one line). Always present.hasqlDetailsë. An optional secondary error message carrying more detail about the problem. Might run to multiple lines.hasqlHintÍ. An optional suggestion on what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts. Might run to multiple lines.hasqlPositionø. Error cursor position as an index into the original statement string. Positions are measured in characters not bytes. hasql SQL template.hasql3Parameters rendered as human-readable SQL literals.hasqlError details.hasqlError details.   None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷Ä¿ÀÁÂNone+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷oÃhasql7Encoder of some representation of a parameters product. ÄÅÆÇÈÃÉÊËÌÍNone+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷äÎÏÐÑÒNone+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷2Ç,hasqlComposite or row-types encoder.hasqlGeneric array encoder.Here's an example of its usage: someParamsEncoder ::  [[Int64]] someParamsEncoder =  ( (5 (9 Ý (9 Ý (8 ( ))))))  Please note that the PostgreSQL INý keyword does not accept an array, but rather a syntactical list of values, thus this encoder is not suited for that. Use a value = ANY($1) condition instead.hasqlValue encoder.hasqlÀExtensional specification of nullability over a generic encoder.hasql7Encoder of some representation of a parameters product.Has instances of ñ,   and ä Ä, which you can use to compose multiple parameters together. E.g., someParamsEncoder :: , (Int64, Maybe Text) someParamsEncoder = (‰ ¨  ( )) ë  (Š ¨  (  )) :As a general solution for tuples of any arity, instead of ‰ and Š!, consider the functions of the  contrazipê family from the "contravariant-extras" package. E.g., here's how you can achieve the same as the above: someParamsEncoder :: + (Int64, Maybe Text) someParamsEncoder =  contrazip2 ( ( )) ( (  )) ÁHere's how you can implement encoders for custom composite types: òdata Person = Person { name :: Text, gender :: Gender, age :: Int } data Gender = Male | Female personParams ::  Person personParams = (name ¨  (  )) ë  (gender ¨  ( genderValue)) ë  (Ž . age ¨  ( )) genderValue ::  Gender genderValue = 2 genderText  Ö where genderText gender = case gender of Male -> "male" Female -> "female" hasqlNo parameters. Same as ç  and ±.hasqlëLift a single parameter encoder, with its nullability specified, associating it with a single placeholder.hasql6Specify that an encoder produces a non-nullable value.hasql2Specify that an encoder produces a nullable value.hasql Encoder of BOOL values.hasql Encoder of INT2 values.hasql Encoder of INT4 values.hasql Encoder of INT8 values.hasql Encoder of FLOAT4 values.hasql Encoder of FLOAT8 values.hasql Encoder of NUMERIC values.hasql Encoder of CHAR values.ÆNote that it supports Unicode values and identifies itself under the TEXT OID because of that. hasql Encoder of TEXT values.!hasql Encoder of BYTEA values."hasql Encoder of DATE values.#hasql Encoder of  TIMESTAMP values.$hasql Encoder of  TIMESTAMPTZ values.%hasql Encoder of TIME values.&hasql Encoder of TIMETZ values.'hasql Encoder of INTERVAL values.(hasql Encoder of UUID values.)hasql Encoder of INET values.*hasql Encoder of JSON values from JSON AST.+hasql Encoder of JSON values from raw JSON.,hasql Encoder of JSON) values from raw JSON as lazy ByteString.-hasql Encoder of JSONB values from JSON AST..hasql Encoder of JSONB values from raw JSON./hasql Encoder of JSONB) values from raw JSON as lazy ByteString.0hasql Encoder of OID values.1hasql Encoder of NAME values.2hasqløGiven a function, which maps a value into a textual enum label used on the DB side, produces an encoder of that value.3hasql Variation of 2ñ with unknown OID. This function does not identify the type to Postgres, so Postgres must be able to derive the type from context. When you find yourself in such situation just provide an explicit type in the query using the :: operator.4hasqlIdentifies the value with the PostgreSQL's "unknown" type, thus leaving it up to Postgres to infer the actual type of the value.èThe value transimitted is any value encoded in the Postgres' Text data format. For reference, see the  Öhttps://www.postgresql.org/docs/10/static/protocol-overview.html#PROTOCOL-FORMAT-CODESFormats and Format Codes) section of the Postgres' documentation.Warning:4 Do not use this as part of composite encoders like 5 since it is the only encoder that doesn't use the binary format.5hasql+Lift an array encoder into a value encoder.6hasql.Lift a composite encoder into a value encoder.7hasqlØLift a value encoder of element into a unidimensional array encoder of a foldable value.?This function is merely a shortcut to the following expression: (5 . 9 Ý . 8) You can use it like this: 4vectorOfInts :: Value (Vector Int64) vectorOfInts = 7 ( ) >Please notice that in case of multidimensional arrays nesting 7Ï encoder won't work. You have to explicitly construct the array encoder using 5.8hasqlLifts a  encoder into an  encoder.9hasqlØEncoder of an array dimension, which thus provides support for multidimensional arrays.Accepts:7An implementation of the left-fold operation, such as Data.Foldable.Ý$, which determines the input value.1A component encoder, which can be either another 9 or 8.:hasqlSingle field of a row-type.25!6"982:7)'*+,-./10 %#$&43(ÓÔÕÖרNone+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷3^,5!6"982:7)'*+,-./10 %#$&43(, !"#$%&'()*+,-./1023457689:None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷4ÙÚÛÜÝNone+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷5Þhasql5Next value, decoded using the provided value decoder.ßhasql5Next value, decoded using the provided value decoder.àßáÞâãäåNone+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷5pæçèéêëìíîïðñòóNone+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷6ôhasqlParse a single result.õö÷øôùúNone+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷6{ûüýþÿNone+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷6䀂ƒ„…None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷K32;hasql7Composable decoder of composite values (rows, records).<hasqlA generic array decoder.ÄHere's how you can use it to produce a specific array value decoder: x :: = [[Text]] x = f (j À (j À (k (J T)))) =hasqlDecoder of a value.>hasqlÀExtensional specification of nullability over a generic decoder.?hasqlÌDecoder of an individual row, which gets composed of column value decoders.E.g.: x :: ?) (Maybe Int64, Text, TimeOfDay) x = (,,) £ (I . K) O ×  (I . J) T ×  (I . J) Y @hasqlDecoder of a query result.Ahasql Decode no value from the result.Useful for statements like INSERT or CREATE.Bhasql7Get the amount of rows affected by such statements as UPDATE or DELETE.Chasql!Exactly one row. Will raise the  error if it's any other.DhasqlFoldl multiple rows.EhasqlFoldr multiple rows.FhasqlMaybe one row or none.Ghasql)Zero or more rows packed into the vector.,It's recommended to prefer this function to H$, since it performs notably better.Hhasql'Zero or more rows packed into the list.Ihasql=Lift an individual value decoder to a composable row decoder.Jhasql5Specify that a decoder produces a non-nullable value.Khasql1Specify that a decoder produces a nullable value.LhasqlDecoder of the BOOL values.MhasqlDecoder of the INT2 values.NhasqlDecoder of the INT4 values.OhasqlDecoder of the INT8 values.PhasqlDecoder of the FLOAT4 values.QhasqlDecoder of the FLOAT8 values.RhasqlDecoder of the NUMERIC values.ShasqlDecoder of the CHAR/ values. Note that it supports Unicode values.ThasqlDecoder of the TEXT values.UhasqlDecoder of the BYTEA values.VhasqlDecoder of the DATE values.WhasqlDecoder of the  TIMESTAMP values.XhasqlDecoder of the  TIMESTAMPTZ values.NOTICE4Postgres does not store the timezone information of  TIMESTAMPTZù. Instead it stores a UTC value and performs silent conversions to the currently set timezone, when dealt with in the text format. However this library bypasses the silent conversions and communicates with Postgres using the UTC values directly.YhasqlDecoder of the TIME values.ZhasqlDecoder of the TIMETZ values.Unlike in case of  TIMESTAMPTZ4, Postgres does store the timezone information for TIMETZö. However the Haskell's "time" library does not contain any composite type, that fits the task, so we use a pair of ì  and ñ - to represent a value on the Haskell's side.[hasqlDecoder of the INTERVAL values.\hasqlDecoder of the UUID values.]hasqlDecoder of the INET values.^hasqlDecoder of the JSON values into a JSON AST._hasqlDecoder of the JSON values into a raw JSON ‰ .`hasqlDecoder of the JSONB values into a JSON AST.ahasqlDecoder of the JSONB values into a raw JSON ‰ .bhasql*Lift a custom value decoder function to a = decoder.chasqlÈRefine a value decoder, lifting the possible error to the session level.dhasqlA generic decoder of HSTORE values.8Here's how you can use it to construct a specific value: +x :: Value [(Text, Maybe Text)] x = hstore À ehasqlÎGiven a partial mapping from text to value, produces a decoder of that value.fhasqlLift an < decoder to a = decoder.ghasqlÕLift a value decoder of element into a unidimensional array decoder producing a list.?This function is merely a shortcut to the following expression: (f . j Control.Monad.À . k) >Please notice that in case of multidimensional arrays nesting gÏ decoder won't work. You have to explicitly construct the array decoder using f.hhasqlßLift a value decoder of element into a unidimensional array decoder producing a generic vector.?This function is merely a shortcut to the following expression: (f . j Data.Vector.Generic. . k) >Please notice that in case of multidimensional arrays nesting hÏ decoder won't work. You have to explicitly construct the array decoder using f.ihasqlLift a ; decoder to a = decoder.jhasqlßA function for parsing a dimension of an array. Provides support for multi-dimensional arrays.Accepts:An implementation of the  replicateM function (Control.Monad.,  Data.Vector.&), which determines the output value.9A decoder of its components, which can be either another j or k.khasqlLift a = decoder into an <$ decoder for parsing of leaf values.lhasqlLift a = decoder into a ;) decoder for parsing of component values.:fLUSIibVjkelPQDEd]MNO[^_`agAJKRc†HFGBCTYWXZ\h<‡;ˆ>‰Š@‹?Œ=None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷KÔ2fLUSIibVjkelPQDEd]MNO[^_`agAJKRcHFGBCTYWXZ\h<;>@?=2@ABCFGHDE?I>JK=LMNOPQRSTUVWXYZ[\]^_`afghidebc14.ExamplesInsert-Many or Batch-InsertÉYou can use pipeline to turn a single-row insert query into an efficient multi-row insertion session. In effect this should be comparable in performance to issuing a single multi-row insert statement.6Given the following definition in a Statements module: insertOrder :: . OrderDetails OrderId *You can lift it into the following session "insertOrders :: [OrderDetails] -> ," [OrderId] insertOrders songs = -" $ forM songs $ song -> / song Statements.insertOrder Combining Queries7Given the following definitions in a Statements module: selectOrderDetails :: .5 OrderId (Maybe OrderDetails) selectOrderProducts :: .< OrderId [OrderProduct] selectOrderFinancialTransactions :: . OrderId [FinancialTransaction] .You can combine them into a session using the  ApplicativeDo extension as follows: )selectEverythingAboutOrder :: OrderId -> ,å (Maybe OrderDetails, [OrderProduct], [FinancialTransaction]) selectEverythingAboutOrder orderId = - $ do details <- /7 orderId Statements.selectOrderDetails products <- /< orderId Statements.selectOrderProducts transactions <- /à orderId Statements.selectOrderFinancialTransactions pure (details, products, transactions) zhasql'Execute a statement in pipelining mode.¦zy§0None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷gC{hasqlÊA batch of actions to be executed in the context of a database connection.|hasql8Executes a bunch of commands on the provided connection.}hasqlþPossibly a multi-statement query, which however cannot be parameterized or prepared, nor can any results of it be collected.~hasql2Execute a statement by providing parameters to it.hasqlExecute a pipeline.|}~{¨None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷g©|}~   {{}~|  None+"%&)*-/14679:;<=ÀÁÂÃÄÅÆÈÍÎÒÕרÚÛÝäåò÷h/zyyz© 1 2 3 4 5 6 7 1  8 9 5 : ; <=>?@AB&'CDEF(GHIJKLMNOPQRSTUVWXYZ[\]^_`abcde=>?@fghi)jklmn*'CDEF(GHIJKLMNOPQRSTUVXYopq]`rsadce"t"u#v#%#w#x#y..z{|+}+/0,0~00/0-€‚€ƒ„€ƒ…€ƒ†€ƒ‡€ƒˆ€ƒ‰€Š‹€ŠŒ€Ž€€€‘€’€“€”€•€–€—€˜€™š€™›€™œ€™€™ž€™Ÿ€ ¡€ ¢€ £€ ¤€ ¥€ ¦€ §€ ¨€ ©€ª«€ª¬€ª­€®¯€®°€®±€²³€²´€µ¶€µ·€µ¸€µ¹€µº€µ»€µ¼€µ½€µ¾€µ¿€µÀ€Á€Â€Ã€Ä€Å€Æ€Ç€È€É€Ê€€Ë€Ì€Í€Î€ÏЀÑÒ€ÑÓ€ÑÔ€ÑÕ€ÑÖ€Ñ×€ØD€ÙÚ€ÙÛ€ÙÜ€ÙÝ€ÙÞ€ßà€ßá€ßâ€ßã€ßä€ßå€ßæ€ßç€èé€èê€èë€èì€èí€èî€èï€èð€èñ€èò€èó€èô€èõ€èö€è÷€èø€èù€èú€èû€èü€èý€èþ€èÿ€è€€è€è‚€èƒ€è„€è…€è†€‡ˆ€‡‰€‡Š€‡‹€‡Œ€‡€Ž€Ž€Ž‘€Ž’€Ž“€Ž”€Ž•€Ž–€—˜€—™€—š€—›€œ€œž€œŸ€œ €œ¡€œ¢€œ£€œ¤€œ¥€œ¦€œ§€œ¨€œ©€œª€œ«€œ¬€œ­€œ®€œ¯€œ°€±²€±³€±´€±µ€¶·€¶¸€¶¹€¶º€»¼€»½€»¾€»¿€»À€»Á€»Â€ÃÄ€ÃÅ€ÃÆ€ÃÇ€ÃÈ€ÉÊ€ÉË€ÉÌ€ÉÍ€É΀ÉÏ€ÉЀÉÑ€ÉÒ€ÓÔ€ÓÕ€ÓÖ€Ó×€ÓØ€ÓÙ€ÓÚ€ÓÛ€ÓÜ€ÓÝ€ÓÞ€Ó߀Óà€Óá€Óâ€Óã€Óä€Óå€Óæ€Óç€Óè€Óé€Óê€Óë€Óì€Óí€Óî€Óï€Óð€Óñ€Óò€Óó€Óô€Óõ€Óö€Ó÷€Óø€Óù€Óú€Óû€Óü€Óý€Óþ€Óÿ€Ó€€Ó€Ó‚€Óƒ€Ó„€Ó…€Ó†€Ó‡€Óˆ€Ó‰€ÓŠ€Ó‹€ÓŒ€Ž€€‘€’“€”•€”–€—˜€—™€—š€›œ€›€›ž€Ÿ €Ÿ¡€Ÿ¢€Ÿ£€Ÿ¤€Ÿ¥€Ÿ¦€Ÿ§€¨©€¨ª€¨«€¨¬€¨­€®¯€®°€®±€®²€®³€®´€®µ€®¶€®·€®¸€®¹€®º€®»€®¼€®½€®¾€®¿€®À€®Á€®Â€®Ã€®Ä€®Å€®Æ€®Ç€ÈÉ€ÈÊ€ÈË€ÈÌ€ÈÍ€È΀ÏЀÏÑ€ÒÓ€ÒÔ€ÒÕ€Ö×€ÖØ€ÖÙ€ÖÚ€ÖÛ€ÖÜ€ÖÝ€ÖÞ€Ö߀Öà€Öá€Öâ€Öã€Öä€Öå€Öæ€Öç€èé€èê€èë€èì€íî€íï€íð€íñ€íò€óô€óõ€óö€ó÷€óø€óù€óú€óû€óü€óý€óþ€óÿ€ó€€ó€ó‚€óƒ€ó„€ó…€ó†€ó‡€óˆ€ó‰€óŠ€ó‹€óŒ€Ž€€€‘€’“€”•€”–€”—€”˜€”™€š›€šœ€ž€Ÿ€ €¡€¢€£€¤€¥€¦€§€¨€©€ª€«€¬€­€®€¯€°€±€²€³€´€µ€¶€·€¸€¹€º€»€¼€½€¾€¿€À€Á€Â€Ã€Ä€Å€Æ€Ç€ÈÉ€ÈÊ€ÈË€ÌÍ€ÎÏ€ÎЀÑÒ€ÑÓ€ÑÔ€ÕÖ€Õ×€ÕØ€ÕÙ€ÕÚ€ÕÛ€ÕÜ€ÕÝ€ÕÞ€Õ߀àá€àâ€àã€àä€àå€àæ€àç€àè€àé€àê€ëì€ëí€ëî€ëï€ëð€ëñ€ëò€ëó€ëô€ëõ€ëö€ë÷€ëø€ëù€ëú€ëû€üý€þÿ€þ€€þ€‚ƒ€‚„€‚…€‚†€‡ˆ€‡‰€‡Š€‡‹€‡Œ€‡€‡Ž€‡€‡€‡‘€‡’€‡“€‡”€‡•€‡–€‡—€‡˜€‡™€‡š€‡›€‡œ€‡€‡ž€‡Ÿ€‡ €‡¡€‡¢€‡£€‡¤€‡¥€‡¦€‡§€‡¨€‡©€ª«€ª¬€ª­€ª®€ª¯€ª°€ª±€ª²€ª³€´µ€¶·€¶¸€¶¹€¶º€¶»€¶¼€¶½€¶¾€¶¿€ÀÁ€À€ÀÀÀÄ€ÀÅ€ÆÇ€ÆÈ€ÆÉ€ÆÊ€ÆË€ÆÌ€ÆÍ€ÆÎ€ÆÏ€ÆÐ€ÆÑ€ÆÒ€ÓÔ€ÕÖ€Õ×€ÕØ€ÙÚ€ÙÛ€ÙÜ€ÙÝ€ÙÞ€Ù߀àá€àâ€àã€àä€àå€æç€æè€æé€êë€êì€êí€êî€êï€êð€êñ€êò€êó€êô€êõ€êö€ê÷€êø€êù€êú€êû€êü€êý€êþ€êÿ€ê€€‚€ƒ€„€…€†€‡€ˆ€‰Š€‰‹€‰Œ€‰€‰Ž€‰€‰€‰‘€‰’€‰“€‰”€‰•€‰–€‰—€‰˜€‰™€‰š€‰›€œ€œž€œŸ€œ €œ¡€œ¢€œ£€œ¤€œ¥€¦§€¦¨€©ª€©«€©¬€©­€®¯€®°€®±€®²€®³€®´€®µ€®¶€®·€®¸€®¹€®º€®»€¼½€¼¾€¼¿€¼À€¼Á€¼Â€¼Ã€¼Ä€¼Å€¼Æ€¼Ç€¼È€¼É€¼Ê€¼Ë€¼Ì€¼Í€¼Î€¼Ï€¼Ð€¼Ñ€¼Ò€¼Ó€¼Ô€¼Õ€¼Ö€¼×€¼Ø€¼Ù€¼Ú€¼Û€¼Ü€¼Ý€¼Þ€¼ß€¼à€¼á€¼â€¼ã€¼ä€¼å€¼æ€çè€éê€éë€éì€íî€ïð€ïñ€òó€òô€òõ€òö€÷ø€÷ù€úû€úü€ýþ€ýÿ€ý€€ý€ý‚ƒ„…ƒ„†ƒ„‡ƒ„ˆƒ„‰Š‹ŒŠ‹Š‹ŽŠŠ‘’“”•–—˜–—™–—š–—›–—œ–ž–Ÿ– –¡–¢–£–¤–¥¦–¥§–¥¨–¥©–¥ª–¥«–¥¬–¥­–¥®–¥¯–¥°–¥±–¥²–¥³–´µ–¶·–¶¸–¶¹–¶º–¶»–¶¼–¶½–¶¾–¶¿–¶À–¶Á–¶Â–¶Ã–¶Ä–ÅÆ–ÅÇ–ÅÈ–ÅÉ–ÅÊ–ÅË–ÌÍ–ÌΖÌÏ–ÐÑ–ÐÒ–ÐÓ–ÔÕ–Ö×–ÖØ–ÙÚ–ÛÜ–ÝÞ–Ýß–Ýà–áâ–áã–áä–áå–áæ–çè–çé–çê–ëì–ëí–ëî–ëï–ëð–ëñ–òó–òô–òõ–òö–ò÷–òø–òù–òú–òû–òü–òý–òþ–òÿ–€–€‚–€ƒ–€„–€…–€†–€‡–ˆ‰–ˆŠ–ˆ‹–ˆŒŽŽŽ‘Ž’Ž“Ž”Ž•Ž–Ž—Ž˜Ž™Žš›œ››ž›Ÿ› ›¡›¢›£›¤›¥¦§¦¨¦©¦ª¦«¦¬¦­¦®¯°¯±¯²¯³¯´µ¶µ·µ¸µ¹µºµ»µ¼µ½µ¾¿À¿Á¿Â¿Ã¿ÄŠÅŠÆÇŠÆÈ€É€Ê€Êˀ̀̀ÌÍ€ƒÎ€ƒÏ€ƒÐ€ƒÑ€ƒÒ€ƒÓ€ƒÔ€ƒÕ€ƒÖ€ƒ×€ƒØ€ƒÙ€ƒÚ€ƒÛ€ƒÛ€ƒÜ€ƒÝ€ƒÞ€ƒß€ƒà€ƒà€ƒàည 《䀙倪怮瀲耲耵逵逵ꀵꀵ뀵뀵쀵쀵퀵퀵ð€µð€ñò€ñó€ôõ€ôö€÷ø€÷ù€úû€úü€úý€úþ€Ñÿ€Ñÿ€Ñÿ€ €Ñ €Ñ €Ñ ‚ €Ñƒ €Ñƒ €Ñƒ „ €Ñ… €Ñ… €Ñ… † €ß‡ €ßˆ €è‰ €èŠ €è‹ €èŒ €è €èŽ €è €è €è‘ €è’ €è“ €è” €è• €è– €è— €è˜ €è™ €èš €è› €èœ €è €èž €èŸ €è  €è¡ €è¢ €è£ €è¤ €è¥ €è¦ €è§ €è¨ €‡© €‡© €Žª €Ž« €Ž¬ €—­ €—® €—¯ €—° €—± €—² €—³ €—´ €—µ €—¶ €—· €—¸ €—¹ €—º €—» €—¼ €—½ €—¾ €œ¿ €œÀ €œÁ €œ €œà €œÄ €œÅ €œÆ €œÇ €œÈ €œÉ €œÊ €œË €œÌ €œÍ €œÎ €œÏ €Ð Ñ €Ð Ñ €Ð Ñ Ò €Ó Ô €Ó Ô €Ó Ô Õ €»Ö €»Ö €»Ö × €»Ø €»Ù €»Ú €»Û €»Û €»Û Ü €»Ý €»Ý €»Ý Þ €»ß €»ß €»ß à €á â €á â €á â ã €ä å €ä å €ä å æ €ä ç €ä ç €ä ç è €ä é €ä é €ä é ê €ë €ë €ë ì €í €í €î €î €—ï €—ï €—ð €—ñ €—ò €—ò €—ò ó €—ô €—ô €—ô õ €—ö €—÷ €—÷ ø €›ù €›ù €›ù ú €›û ü €›ý €›ý €›ý þ €›ÿ €›ÿ €›ÿ € €› €› €› ‚ €›ƒ €›ƒ €›ƒ „ €›… €›… €›… † €‡ ˆ €‡ ‰ €ŸŠ €Ÿ‹ €ŸŒ €Ÿ €ŸŽ €  € ‘ € ’ € “ €®” €È• €Ï– €Ò— €Ò— €Ò— ˜ €Ò— ™ €íš €íš €í› €í› €œ  €œ ž €œ Ÿ €œ   €œ ¡ €œ ¢ €œ £ €œ ¤ €œ ¥ €ó¦ €ó§ €ó¨ €ó© €óª €ó« €ó¬ €ó­ €ó® €ó¯ €ó° €ó± €ó² €ó³ €ó´ €óµ €ó¶ €ó· €ó¸ €ó¹ €óº €ó» €ó¼ €ó½ €ó¾ €ó¿ €óÀ €óÁ €ó €óà €óÄ €óÅ €Æ €Ç €È €É €Ê €Ë €Ì €Í €Î €Ï €Ð €Ñ €Ò €Ó €Ô €Õ €Ö €× €Ø €Ù €Ú €Û €Ü €Ý €Þ €ß €à €šá €šâ €ã €ä €å €æ €ç €è €é €ê €ë €ë €ì €ì €í €í €î €ï €ð €ñ €ò €ó ô €ó õ €ó ö €ó ÷ €ó ø €ó ù €ó ú €ó û €ó ü €ó ý €ó þ €ó ÿ €Ì€ €Ì€ €Ì €‚ ƒ €‚ „ €‚ … €‚ † €‚ ‡ €‚ ˆ €‚ ‰ €‚ Š €‚ ‹ €‚ Œ €‚ €‚ Ž €‚ Ž €Ñ €Ñ €Ñ‘ €Ñ’ €Ñ“ €Ñ” €Ñ• €Ñ– €Ñ— €Ñ˜ €Ñ™ €Ñš €Ñ› €Ñœ €Ñ €Ñž €ÑŸ €Ñ  €Ñ¡ €Ñ¢ €Ñ£ €Ñ¤ €Ñ¥ €Ñ¦ €Ñ§ €Ñ¨ €Ñ© €Ñª €Ñ« €Ñ¬ €Ñ­ €Ñ® €Ñ¯ €Ñ° €Ñ± €Ñ² €Ñ³ €Ñ´ €Õµ €Õ¶ €Õ· €¸ ¹ €àº €à» €à¼ €à½ €à¾ €ë¿ €ë¿ €ëÀ €ëÁ €ë €ëà €ëà €ëÄ €ëÅ €ëÆ €ëÇ €ëÈ €ëÉ €ëÉ €ëÊ €ëÊ €ëË €ëË €ëÌ €ëÌ €ëÍ €ëÎ €ëÏ €ëÐ €ëÐ €ëÑ €ëÒ €ëÓ €ëÔ €ëÕ €ëÖ €ë× €ëØ €ëÙ €ëÚ €ëÛ €ëÜ €ëÝ €ëÞ €ëß €ëà €ëá €ëâ €ëã €ëä €ëå €ëæ €ëÑ €ëÑ ç €ëÑ è €ëÑ é €ëÑ ê €ëÑ ë €ëÑ ì €ëí €ëí €î ï €‚ð €ñ ò €ñ ó €ñ ô €ñ õ €ö ÷ €ö ø €ö ù €ö ú €ö û €ü ý €ü þ €ü ÿ €ü € €ü €ª‚ €´ƒ €´„ €´… €´† €´‡ €´ˆ €´‰ €´Š €‹ Œ €‹ €¶Ž €¶ €À €À‘ €Æ’ €Æ“ €Æ” €Æ• €Æ– €Æ— €Æ˜ €Æ™ €Æš €Æ› €Æœ €Æ €Æž €ÆŸ €Æ  €Æ¡ €Æ¢ €Æ£ €Æ¤ €Æ¥ €Æ¦ €Æ§ €Ó¨ €Õ© €Ùª €Ù« €Ù¬ €Ù­ €Ù® €à¯ €æ° €ê± €ê² €ê³ €ê´ €êµ €ê¶ €ê· €ê¸ €ê¹ €êº €ê» €ê¼ €ê½ €ê¾ €ê¿ €êÀ €êÁ €ê €êà €êÄ €êÅ €êÆ €êÇ €êÈ €êÉ €êÊ €êË €êÌ €êÍ €êÎ €êÏ €Ð €Ñ €Ò €Ó €íÔ €ïÕ €ïÖ €ò× €ýØ €ýÙ Ú Û Ü ƒ„Ý ƒ„Þ ƒ„ß ƒ„à ƒ„á ƒ„â ã ä å æ ç è Š‹é Š‹ê Š‹ë Š‹ì Š‹í Š‹î Š‹ï Š‹ð Š‹ñ Š‹ò Š‹ó Šô õ Šô ö Šô ÷ Šô ø Šô ù Šô ú û ü ý þ ÿ €  ÿ € ‚ ÿ € ƒ „ … † „ … ‡ „ … ˆ „ ‰ Š „ ‰ ‹ „ ‰ Œ „ ‰ Ž  Ž ‘ Ž ’ Ž “ Ž ” Ž • – — ˜ ™ š › –—œ –—œ –—œ –—œ ž –Ÿ –  –  ¡ –¢ –£ –¤ –¥ –¶¦ –¶§ –¶¨ –Å© –Ū –Å« –Ŭ –Å­ –Å® –ů –Ű –̱ –в –³ ´ –³ ´ –³ ´ µ –³ ´ ¶ –· ¸ –· ¹ –· ¹ º –Û» –ݼ –ݼ –ݼ ½ –ݼ ¾ –ݼ ¿ –ݼ À –ݼ Á –ݼ  –ݼ à –Ý¼ Ä –Å Æ –çÇ –çÇ –çÇ È –çÇ É –ëÊ –ëÊ –ëÊ Ë –ëÊ Ì –òÍ –òÍ –òÍ Î –òÍ Ï –òÍ Ð –€Ñ –€Ñ –€Ñ Ò –€Ñ Ó –€Ñ Ô –ˆÕ –ˆÕ –ˆÕ Ö –ˆÕ × Ø Ù Ø Ú ŽÛ ŽÜ ŽÜ ŽÜ Ý ›Þ ›ß ›ß ¦à ¦à ¦à á ¯â ¯ã ¯ã ¯ã ä µå µæ µæ µæ ç ¿è ¿é ¿é ¿é ê ë ì €óí €î ï €î ð €î ñ ò ó ô ŠÆõ Š‘ö Š÷ ö Šô ø Šô ù Šô ú Šô û Šô ü Šô ý Šô þ Šô ÿ Šô €Šô  ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ  Ž   ‘ ’ “ ” • – — ˜ ™ š › œ — ˜ ™ š › œžŸž ž¡ž¢ž£ž¤ž¥ž¦ž§ž¨ž©žªž«ž¬ž­ž®ž¯ž°ž±ž²ž³ž´žµž¶ž·ž¸ž¹žºž»ž¼ž½ž¾ž¿žÀžÁžÂžÃžÄžÅžÆžÇžÈžÉžÊžËžÌžÍžÎžÏžÐžÑžÒžÓžÔžÕžÖž×žØžÙžÚžÛžÜžÝžÞžßžàžážâžãžäžåžæžçžèž•žéžêžëžìžížîžïžðžñžòžóžôžõžöž÷žøžùžúžûžüžýžþžÿ€ž‚žƒž„ž…ž†ž‡žˆž‰žŠž‹žŒžžŽžžž‘ž’ž’žgžfžf“”“•“–“—“˜“™“š“›“œ““ž“Ÿ“ “¡“¢“£“¤“¥“¦“§“¨“©“º “ª“› “«“¬“­“®“¯“°“±“²“³“´“µ“¶“·“¸“¹º%»¼»¼»¼½»¼¾»¼¿€À€À Á Â Ã Ä Å É D Æ Ç L J È É Ê Ë M Ì G H Í T E Î F Ï ( Ð R U X Ñ Ò Ó Ô Õ Ö \ I × [ Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ K ç è P N O Q é ê ë ì í î S ï ð º ñ ò Á Áó Áô Áõ  Âö Â÷øù??AúûüýþAAÿA€AA‚düþ>>>=ƒ„A?…†~??þ‡É~ˆˆff‰Ä Ç Ñhši~Š‹Œgg‹Žp~‡~þ==d‡~þ>>z>=ƒ„gf?‘’“” • – — • ˜!™!š!›!œ!!ž!Ÿ! !¡!¢!£!¤!¥!¦#%+~+}0,§hasql-1.7-inplace Hasql.SessionHasql.EncodersHasql.DecodersHasql.ConnectionHasql.StatementHasql.Pipelinehasql Hasql.PreludeHasql.LibPq14.MappingsHasql.LibPq14.Ffi Hasql.LibPq14Hasql.PostgresTypeInfo Hasql.ErrorsHasql.Encoders.ValueHasql.Encoders.ParamsHasql.Encoders.ArrayHasql.Encoders.AllHasql.Decoders.ValueHasql.Decoders.RowHasql.Decoders.ResultHasql.Decoders.ResultsHasql.Decoders.CompositeHasql.Decoders.ArrayHasql.Decoders.AllErrorsUnexpectedAmountOfRows GenericVector replicateM Control.Monad Data.VectorHasql.CommandsHasql.PreparedStatementRegistryHasql.IOHasql.SettingsHasql.Connection.CoreLibPQ Connectionparam nonNullableint8 singleRowcolumnHasql.Pipeline.CoreSessionpipeline Statement statementHasql.Session.CoreRowError EndOfInputUnexpectedNull ValueError ResultError ServerErrorUnexpectedResult CommandError ClientError SessionError QueryError PipelineError CompositeArrayValue NullableOrNotParamsnoParamsnullableboolint2int4float4float8numericchartextbyteadate timestamp timestamptztimetimetzintervaluuidinetjson jsonBytes jsonLazyBytesjsonb jsonbBytesjsonbLazyBytesoidnameenum unknownEnumunknownarray composite foldableArrayelement dimensionfieldRowResultnoResult rowsAffected foldlRows foldrRowsrowMaybe rowVectorrowListcustomrefinehstore listArray vectorArraySettingssettingsConnectionErroracquirereleasewithLibPQConnection refineResult$fProfunctorStatement$fFunctorStatementPipelinerunsqlbaseControl.Applicativeoptional Control.Arrow<<^>>^^<<^>>leftAppreturnAControl.Category<<<>>>Control.Concurrent forkFinallyforkOSforkOSWithUnmaskisCurrentThreadBoundrtsSupportsBoundThreadsrunInBoundThreadrunInUnboundThreadthreadWaitReadthreadWaitReadSTMthreadWaitWritethreadWaitWriteSTMControl.Concurrent.ChandupChangetChanContentsnewChanreadChan writeChanwriteList2ChanControl.Concurrent.MVaraddMVarFinalizer mkWeakMVar modifyMVarmodifyMVarMaskedmodifyMVarMasked_ modifyMVar_swapMVarwithMVarwithMVarMaskedControl.Concurrent.QSemnewQSem signalQSemwaitQSemControl.Concurrent.QSemNnewQSemN signalQSemN waitQSemNControl.ExceptionallowInterruptcatchesControl.Exception.BasebracketbracketOnErrorbracket_ catchJustfinallyhandle handleJust mapException onExceptiontrytryJust<$!><=<>=>filterMfoldMfoldM_foreverguard mapAndUnzipMmfilter replicateM_unlesszipWithM zipWithM_Control.Monad.ST.ImpfixST Data.Bits!<<.!>>..<<..>>..^.oneBits Data.Bool Data.Char digitToIntisLetterisMarkisNumber isSeparator Data.Complexcis conjugateimagPart magnitudemkPolarphasepolarrealPart Data.Data constrFields constrFixity constrIndex constrRep constrTypedataTypeConstrs dataTypeName dataTypeRep fromConstr fromConstrB fromConstrM indexConstr isAlgType isNorepTypemaxConstrIndex mkCharConstr mkCharTypemkConstr mkConstrTag mkDataType mkFloatType mkIntTypemkIntegralConstr mkNoRepType mkRealConstr readConstr repConstr showConstr tyconModule tyconUQname Data.DynamicdynAppdynApply dynTypeRepfromDyn fromDynamictoDyn Data.EithereitherfromLeft fromRightisLeftisRightleftspartitionEithersrights Data.Fixeddiv'divMod'mod' showFixed Data.Foldableallandanyasumconcat concatMapfindfoldlMfoldrMforM_for_mapM_ maximumBy minimumBymsumnotElemor sequenceA_ sequence_ traverse_ Data.Function& applyWhenfixon Data.Functor$><$><&>voidData.Functor.Contravariant$<>$$<>$<comparisonEquivalencedefaultComparisondefaultEquivalencephantom Data.IORefatomicModifyIORefatomicWriteIORef mkWeakIORef modifyIORef modifyIORef' Data.Maybe catMaybesfromJust fromMaybeisJust isNothing listToMaybemapMaybemaybe maybeToList Data.OldList\\deletedeleteBydeleteFirstsBy dropWhileEnd elemIndex elemIndices findIndex findIndices genericDrop genericIndex genericLengthgenericReplicategenericSplitAt genericTakegroupgroupByinitsinsertinsertBy intercalate intersect intersectBy intersperse isInfixOf isPrefixOf isSuffixOflinesnubnubBy partition permutations singletonsortsortBy stripPrefix subsequencestails transposeunfoldrunionunionByunlinesunwordsunzip4unzip5unzip6unzip7wordszip4zip5zip6zip7zipWith4zipWith5zipWith6zipWith7Data.Ordclamp comparing Data.Proxy asProxyTypeOf Data.RatioapproxRational Data.STRef modifySTRef modifySTRef'Data.Semigroupcycle1diff mtimesDefaultData.Semigroup.InternalstimesIdempotentstimesIdempotentMonoid stimesMonoidData.Traversable fmapDefaultfoldMapDefaultfor forAccumMforM mapAccumL mapAccumM mapAccumR Data.Tuplecurryfstsndswapuncurry Data.TypeablecastdecTeqT funResultTygcastgcast1gcast2hdecTheqTmkFunTy rnfTypeRep showsTypeRep splitTyConApptypeOftypeOf1typeOf2typeOf3typeOf4typeOf5typeOf6typeOf7typeRep typeRepArgstypeRepFingerprint typeRepTyConData.Typeable.InternalrnfTyCon trLiftedReptyConFingerprint tyConModule tyConName tyConPackage Data.Unique hashUnique newUnique Data.Version makeVersion parseVersion showVersion Debug.Trace flushEventLog putTraceMsgtrace traceEvent traceEventIOtraceEventWithtraceIOtraceIdtraceM traceMarker traceMarkerIO traceShow traceShowId traceShowM traceShowWith traceStack traceWithForeign.ForeignPtr.ImpmallocForeignPtrArraymallocForeignPtrArray0 newForeignPtrnewForeignPtrEnv Foreign.PtrfreeHaskellFunPtr intPtrToPtr ptrToIntPtr ptrToWordPtr wordPtrToPtrGHC.Base$$!++<**>=<<absurdapasTypeOfassertconstflipjoinliftAliftA3liftMliftM2liftM3liftM4liftM5mapord otherwiseuntilvacuouswhenGHC.Bits bitDefaultpopCountDefaulttestBitDefaulttoIntegralSizedGHC.Charchr GHC.Conc.IO closeFdWithensureIOManagerIsRunningioManagerCapabilitiesChanged registerDelay threadDelayGHC.Conc.Signal runHandlers setHandler GHC.Conc.Sync atomicallycatchSTM childHandlerdisableAllocationLimitenableAllocationLimitforkIOforkIOWithUnmaskforkOnforkOnWithUnmaskgetAllocationCountergetNumCapabilitiesgetNumProcessorsgetUncaughtExceptionHandler killThread labelThread listThreadsmkWeakThreadId myThreadIdnewStablePtrPrimMVarnewTVar newTVarIOnumCapabilities numSparksparpseqreadTVar readTVarIO reportErrorreportHeapOverflowreportStackOverflowretry runSparkssetAllocationCountersetNumCapabilitiessetUncaughtExceptionHandlerthreadCapability threadStatusthrowSTMthrowTo unsafeIOToSTM writeTVaryieldGHC.ErrerrorerrorWithoutStackTrace undefined GHC.ExceptionthrowGHC.Exts groupWithsortWith GHC.Float floatToDigitsfromRat showFloatGHC.ForeignPtraddForeignPtrFinalizeraddForeignPtrFinalizerEnvcastForeignPtrfinalizeForeignPtrmallocForeignPtrmallocForeignPtrBytesnewForeignPtr_plusForeignPtrtouchForeignPtrwithForeignPtrGHC.IOcatchevaluategetMaskingState interruptiblemaskmask_stToIOthrowIOuninterruptibleMaskuninterruptibleMask_GHC.IO.ExceptionallocationLimitExceeded assertErrorasyncExceptionFromExceptionasyncExceptionToExceptionblockedIndefinitelyOnMVarblockedIndefinitelyOnSTMcannotCompactFunctioncannotCompactMutablecannotCompactPinned heapOverflowioError ioException stackOverflowunsupportedOperationuntangle userError GHC.IO.HandlehClose GHC.IO.UnsafeunsafeDupablePerformIOunsafeInterleaveIOunsafePerformIO GHC.IORefatomicModifyIORef'newIORef readIORef writeIORefGHC.List!!!?breakcycledrop dropWhilefilterfoldl1'headinititerateiterate'lastlookuprepeat replicatereversescanlscanl'scanl1scanrscanr1spansplitAttailtake takeWhileunsnocunzipunzip3zipzip3zipWithzipWith3GHC.MVar isEmptyMVar newEmptyMVarnewMVarputMVarreadMVartakeMVar tryPutMVar tryReadMVar tryTakeMVarGHC.NumsubtractGHC.PtralignPtr castFunPtrcastFunPtrToPtrcastPtrcastPtrToFunPtrminusPtr nullFunPtrnullPtrplusPtrGHC.Readlex lexDigits lexLitChar readLitChar readParenGHC.Real%^^^ denominatoreven fromIntegralgcdlcm numeratorodd realToFrac showSignedGHC.STrunST GHC.STRefnewSTRef readSTRef writeSTRefGHC.Show intToDigitshowChar showLitChar showParen showStringshows GHC.StablecastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtr newStablePtrGHC.StableName eqStableNamehashStableNamemakeStableName GHC.UnicodegeneralCategoryisAlpha isAlphaNumisAscii isAsciiLower isAsciiUpper isControlisDigit isHexDigitisLatin1isLower isLowerCase isOctDigitisPrint isPunctuationisSpaceisSymbolisUpper isUpperCasetoLowertoTitletoUpperGHC.Word bitReverse16 bitReverse32 bitReverse64 bitReverse8 byteSwap16 byteSwap32 byteSwap64NumericreadBinreadDec readFloatreadHexreadIntreadOct readSignedshowBin showEFloat showFFloat showFFloatAlt showGFloat showGFloatAlt showHFloatshowHexshowInt showIntAtBaseshowOctSystem.EnvironmentgetArgsgetEnvgetEnvironment getProgName lookupEnvsetEnvunsetEnvwithArgs withProgName!System.Environment.ExecutablePathexecutablePathgetExecutablePath System.Exitdie exitFailure exitSuccessexitWith System.IO appendFilegetChar getContentsgetLineinteractprintputCharputStrputStrLnreadFilereadIOreadLn writeFileSystem.IO.ErroralreadyExistsErrorTypealreadyInUseErrorTypeannotateIOError catchIOErrordoesNotExistErrorType eofErrorType fullErrorTypeillegalOperationErrorTypeioeGetErrorStringioeGetErrorTypeioeGetFileName ioeGetHandleioeGetLocationioeSetErrorStringioeSetErrorTypeioeSetFileName ioeSetHandleioeSetLocationisAlreadyExistsErrorisAlreadyExistsErrorTypeisAlreadyInUseErrorisAlreadyInUseErrorTypeisDoesNotExistErrorisDoesNotExistErrorType isEOFErrorisEOFErrorType isFullErrorisFullErrorTypeisIllegalOperationisIllegalOperationErrorTypeisPermissionErrorisPermissionErrorTypeisResourceVanishedErrorisResourceVanishedErrorType isUserErrorisUserErrorType mkIOError modifyIOErrorpermissionErrorTyperesourceVanishedErrorType tryIOError userErrorTypeSystem.IO.Unsafe unsafeFixIO System.Mem performGCperformMajorGCperformMinorGCSystem.TimeouttimeoutText.ParserCombinators.ReadP readP_to_S readS_to_PText.ParserCombinators.ReadPrec readP_to_Prec readPrec_to_P readPrec_to_S readS_to_Prec Text.PrintfhPrintfprintf Text.Readreadreads Unsafe.Coerce unsafeCoerce unsafeCoerce#unsafeCoerceAddrunsafeCoerceUnliftedunsafeEqualityProofcntrvrnt-1.5.5-51b3b0ea$Data.Functor.Contravariant.Divisiblechosen conquereddividedliftDlostghc-prim GHC.Classes&&not|| GHC.MagicinlineGHC.Tuple.PrimgetSolo forMFromZero_ forMToZero_ strictConstime-1.12.2-f6d1#Data.Time.Calendar.CalendarDiffDays calendarDay calendarMonth calendarWeek calendarYearscaleCalendarDiffDaysData.Time.Calendar.DaysaddDaysdiffDays periodAllDays periodFromDay periodLength periodToDayperiodToDayValidData.Time.Calendar.Gregorian YearMonthDayaddGregorianDurationClipaddGregorianDurationRollOveraddGregorianMonthsClipaddGregorianMonthsRollOveraddGregorianYearsClipaddGregorianYearsRollOverdiffGregorianDurationClipdiffGregorianDurationRollOver fromGregorianfromGregorianValidgregorianMonthLength showGregorian toGregorianData.Time.Calendar.OrdinalDate isLeapYearData.Time.Calendar.TypesAprilAugustBeforeCommonEra CommonEraDecemberFebruaryJanuaryJulyJuneMarchMayNovemberOctober SeptemberData.Time.Calendar.Week dayOfWeek dayOfWeekDifffirstDayOfWeekOnAfter weekAllDays weekFirstDay weekLastDay!Data.Time.Clock.Internal.DiffTimediffTimeToPicosecondspicosecondsToDiffTimesecondsToDiffTime(Data.Time.Clock.Internal.NominalDiffTime nominalDaynominalDiffTimeToSecondssecondsToNominalDiffTime#Data.Time.Clock.Internal.SystemTimegetTime_resolution Data.Time.Clock.Internal.UTCDiff addUTCTime diffUTCTimeData.Time.Clock.POSIXgetCurrentTimeData.Time.Format.Format.Class formatTimeData.Time.Format.LocaledefaultTimeLocaleiso8601DateFormatrfc822DateFormatData.Time.Format.Parse parseTimeMparseTimeMultipleMparseTimeOrError readPTime readSTime-Data.Time.LocalTime.Internal.CalendarDiffTimecalendarTimeDayscalendarTimeTimescaleCalendarDiffTime&Data.Time.LocalTime.Internal.LocalTime addLocalTime diffLocalTimelocalTimeToUT1localTimeToUTCut1ToLocalTimeutcToLocalTime&Data.Time.LocalTime.Internal.TimeOfDaydayFractionToTimeOfDaydaysAndTimeOfDayToTimelocalToUTCTimeOfDaymakeTimeOfDayValidmiddaymidnight pastMidnight sinceMidnighttimeOfDayToDayFractiontimeOfDayToTimetimeToDaysAndTimeOfDaytimeToTimeOfDayutcToLocalTimeOfDay%Data.Time.LocalTime.Internal.TimeZonegetCurrentTimeZone getTimeZonehoursToTimeZoneminutesToTimeZonetimeZoneOffsetStringtimeZoneOffsetString'utc&Data.Time.LocalTime.Internal.ZonedTime getZonedTimeutcToLocalZonedTimeutcToZonedTimezonedTimeToUTCtransformers-0.6.1.0-6c0dControl.Monad.Trans.ContcontevalCont evalContT liftLocalmapContmapContTresetresetTrunContshiftTwithCont withContTControl.Monad.Trans.ExceptcatchEexceptfinallyE mapExcept mapExceptT runExcept runExceptTthrowE withExcept withExceptTControl.Monad.Trans.MaybeexceptToMaybeT hoistMaybe liftCallCC liftCatch liftListenliftPass mapMaybeTmaybeToExceptTControl.Monad.Trans.Reader mapReader mapReaderT runReader withReader withReaderT Control.Monad.Trans.State.Strict evalState evalStateT execState execStateTmapState mapStateTrunState withState withStateT!Control.Monad.Trans.Writer.Strict execWriter execWriterT mapWriter mapWriterT runWriterlazyGHC.Primcoerceseq WrappedMonad WrapMonad unwrapMonadZipList getZipListArrow&&&***arr ArrowApplyapp ArrowChoice+++leftright||| ArrowLooploop ArrowMonad ArrowPlus<+> ArrowZero zeroArrowKleisli runKleisliCategory.idChanQSemQSemNHandlerNestedAtomically NoMethodErrorNonTerminationPatternMatchFail RecConError RecSelError RecUpdError TypeErrorControl.Monad.Fail MonadFailfailControl.Monad.FixMonadFixmfixControl.Monad.IO.ClassMonadIOliftIOData.Bifunctor BifunctorbimapfirstsecondAndgetAndIffgetIffIorgetIorXorgetXorComplex:+ConIndexConstr ConstrRep AlgConstr CharConstr FloatConstr IntConstrData dataCast1 dataCast2 dataTypeOfgfoldlgmapMgmapMogmapMpgmapQgmapQigmapQlgmapQrgmapTgunfoldtoConstrDataRepAlgRepCharRepFloatRepIntRepNoRepDataTypeFixityInfixPrefixDynamicEitherLeftRightCentiDeciE0E1E12E2E3E6E9FixedMkFixed HasResolution resolutionMicroMilliNanoPicoUniFoldableelemfoldfoldMapfoldMap'foldlfoldl'foldl1foldrfoldr'foldr1lengthmaximumminimumnullproductsumData.Functor.ComposeCompose getComposeData.Functor.ConstConstgetConst Comparison getComparison Contravariant>$ contramap EquivalencegetEquivalenceOpgetOp Predicate getPredicateData.Functor.IdentityIdentity runIdentity Data.MonoidApgetApFirstgetFirstLastgetLastDowngetDownKProxyProxyArgArgMaxArgMinMaxgetMaxMingetMin WrappedMonoid WrapMonoid unwrapMonoidAllgetAllAltgetAltAnygetAnyDualgetDualEndoappEndoProduct getProductSumgetSum Data.StringIsString fromString TraversablemapMsequence sequenceAtraverseData.Type.Equality:~:Refl:~~:HReflTypeRepTypeableUniqueVersion versionBranch versionTagsIntPtrWordPtrForeign.StorableStorable alignmentpeek peekByteOff peekElemOffpoke pokeByteOff pokeElemOffsizeOf Alternative<|>emptymanysome Applicative*><*<*>liftA2pureFunctor<$fmapMonad>>>>=return MonadPlusmplusmzeroMonoidmappendmconcatmemptyNonEmpty:| Semigroup<>sconcatstimesVoidBits.&..|.bitbitSize bitSizeMaybeclearBit complement complementBitisSignedpopCountrotaterotateLrotateRsetBitshiftshiftLshiftRtestBit unsafeShiftL unsafeShiftRxorzeroBits FiniteBitscountLeadingZeroscountTrailingZeros finiteBitSize HandlerFunSignal BlockReasonBlockedOnBlackHoleBlockedOnExceptionBlockedOnForeignCall BlockedOnMVarBlockedOnOther BlockedOnSTMPrimMVarSTMTVarThreadId ThreadStatus ThreadBlocked ThreadDiedThreadFinished ThreadRunningGHC.EnumBoundedmaxBoundminBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumpredsucctoEnum ErrorCallErrorCallWithLocationGHC.Exception.TypeArithExceptionDenormal DivideByZeroLossOfPrecisionOverflowRatioZeroDenominator Underflow ExceptiondisplayException fromException toException SomeExceptionFloating**acosacoshasinasinhatanatanhcoscoshexpexpm1loglog1mexplog1plog1pexplogBasepisinsinhsqrttantanh RealFloatatan2 decodeFloat encodeFloatexponent floatDigits floatRadix floatRangeisDenormalizedisIEEE isInfiniteisNaNisNegativeZero scaleFloat significandFinalizerEnvPtr FinalizerPtr ForeignPtr GHC.GenericsGenericFilePath MaskingStateMaskedInterruptibleMaskedUninterruptibleUnmaskedAllocationLimitExceededArrayExceptionIndexOutOfBoundsUndefinedElementAssertionFailedAsyncException HeapOverflow StackOverflow ThreadKilled UserInterruptBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMCompactionFailedDeadlockExitCode ExitFailure ExitSuccessFixIOExceptionIOError IOErrorType AlreadyExistsEOF HardwareFaultIllegalOperationInappropriateType InterruptedInvalidArgument NoSuchThing OtherErrorPermissionDenied ProtocolError ResourceBusyResourceExhaustedResourceVanished SystemError TimeExpiredUnsatisfiedConstraintsUnsupportedOperation UserError IOExceptionioe_description ioe_errno ioe_filename ioe_handle ioe_locationioe_typeSomeAsyncExceptionGHC.IO.Handle.TypesHandleIORefGHC.IntInt16Int32Int64Int8 GHC.IsListIsListItemfromList fromListNtoListGHC.IxIxinRangeindexrange rangeSizeMVarNum*+-abs fromIntegernegatesignumGHC.OverloadedLabelsIsLabel fromLabelFunPtrPtrreadList readsPrec Fractional/ fromRationalrecipIntegraldivdivModmodquotquotRemrem toIntegerRatioRationalReal toRationalRealFracceilingfloorproperFractionroundtruncateSTSTRefShowshowshowList showsPrecShowS StablePtr StableNameGeneralCategoryClosePunctuationConnectorPunctuationControlCurrencySymbolDashPunctuation DecimalNumber EnclosingMark FinalQuoteFormat InitialQuote LetterNumber LineSeparatorLowercaseLetter MathSymbolModifierLetterModifierSymbolNonSpacingMark NotAssignedOpenPunctuation OtherLetter OtherNumberOtherPunctuation OtherSymbolParagraphSeparator PrivateUseSpaceSpacingCombiningMark SurrogateTitlecaseLetterUppercaseLetterWord16Word32Word64Word8TimeoutReadPReadSReadPrecUnsafeEquality UnsafeReflbytestring-0.12.1.0-7b92Data.ByteString.Internal.Type ByteString Decidablechooselose Divisibleconquerdivided-typs-1.0.5.1-9bcaab55Data.UUID.Types.InternalUUIDdlst-1.0-6e22aaf9Data.DList.InternalDListEq/===Ord<<=>>=comparemaxmin GHC.TypesIOOrderingEQGTLTTyConByteStringBuilderLazyByteStringLazyText TextBuilderhshbl-1.4.4.0-0f2ae8b8Data.Hashable.ClassHashablehash hashWithSaltmtl-2.3.1-43fcControl.Monad.Error.Class MonadError catchError throwErrorControl.Monad.Reader.Class MonadReaderasklocalreaderprfnctrs-5.6.2-04d3402fData.Profunctor.Unsafe Profunctor#..#dimaplmaprmapscntfc-0.3.7.0-5d98b7a3Data.Scientific Scientifictext-2.1.1-2565Data.Text.InternalTextCalendarDiffDayscdDayscdMonthsDayModifiedJulianDaytoModifiedJulianDay DayPeriod dayPeriodperiodFirstDay periodLastDay DayOfMonth MonthOfYearYear DayOfWeekFridayMondaySaturdaySundayThursdayTuesday WednesdayDiffTimeNominalDiffTime Data.Time.Clock.Internal.UTCTimeUTCTimeutctDay utctDayTime&Data.Time.Clock.Internal.UniversalTime UniversalTime ModJulianDategetModJulianDate FormatTime TimeLocaleamPmdateFmt dateTimeFmtknownTimeZonesmonths time12FmttimeFmtwDaysData.Time.Format.Parse.Class ParseTimeCalendarDiffTimectMonthsctTime LocalTimelocalDaylocalTimeOfDay TimeOfDaytodHourtodMintodSecTimeZonetimeZoneMinutes timeZoneNametimeZoneSummerOnly ZonedTimezonedTimeToLocalTime zonedTimeZoneControl.Monad.Trans.Class MonadTransliftContContTrunContTExceptExceptTMaybeT runMaybeTReaderReaderT runReaderTStateStateT runStateTWriterWriterT runWriterTvctr-0.13.1.0-db4c1707VectorString GHC.MaybeMaybeJustNothing ghc-bignumGHC.Num.IntegerInteger RealWorldSolo GHC.TupleBoolFalseTrueChar CoercibleDoubleFloatIntWord~ decodeBooldecodeExecStatusdecodePipelineStatusencodeExecStatus ExecStatus BadResponse CommandOkCopyBothCopyInCopyOut EmptyQuery FatalError NonfatalError PipelineAbort PipelineSync SingleTupleTuplesOkPipelineStatusPipelineAborted PipelineOff PipelineOnenterPipelineModeexitPipelineModepipelineStatus pipelineSync resultStatussendFlushRequestpstgrsql-lbpq-0.10.1.0-ad6bf14fDatabase.PostgreSQL.LibPQ backendPIDcancelclientEncoding cmdStatus cmdTuples connectPoll connectStart connectdbconnectionNeedsPasswordconnectionUsedPassword consumeInputdbdescribePortaldescribePrepareddisableNoticeReportingenableNoticeReporting errorMessageescapeByteaConnescapeIdentifierescapeStringConnexec execParams execPreparedfformatfinishflushfmodfnamefnumberfsizeftable ftablecolftype getCancel getCopyData getNotice getResult getisnull getlengthgetvalue getvalue'hostisBusyisNullConnection isnonblocking libpqVersionloCloseloCreatloCreateloExportloImportloImportWithOidloOpenloReadloSeekloTell loTruncateloUnlinkloWritenewNullConnectionnfieldsnotifiesnparamsntuplesoptionsparameterStatus paramtypepassportprepareprotocolVersion putCopyData putCopyEnd resStatus resetPoll resetStartresultErrorFieldresultErrorMessagesendDescribePortalsendDescribePrepared sendPrepare sendQuerysendQueryParamssendQueryPrepared serverVersionsetClientEncodingsetErrorVerbositysetSingleRowModesetnonblockingsocketstatustoColumntoRowtransactionStatus unescapeByteaunsafeFreeResultuserDatabase.PostgreSQL.LibPQ.Oid invalidOidCancelColumnCol CopyInResult CopyInErrorCopyInOkCopyInWouldBlock CopyOutResult CopyOutDone CopyOutError CopyOutRowCopyOutWouldBlock FlushStatus FlushFailedFlushOk FlushWritingLoFdDatabase.PostgreSQL.LibPQ.Enums ConnStatusConnectionAuthOkConnectionAwaitingResponse ConnectionBadConnectionMade ConnectionOkConnectionSSLStartupConnectionSetEnvConnectionStarted FieldCode DiagContextDiagInternalPositionDiagInternalQueryDiagMessageDetailDiagMessageHintDiagMessagePrimary DiagSeverityDiagSourceFileDiagSourceFunctionDiagSourceLine DiagSqlstateDiagStatementPositionBinary PollingStatus PollingFailed PollingOkPollingReadingPollingWritingTransactionStatus TransActive TransIdle TransInError TransInTrans TransUnknown Verbosity ErrorsDefault ErrorsTerse ErrorsVerbose"Database.PostgreSQL.LibPQ.Internal Database.PostgreSQL.LibPQ.NotifyNotify notifyBePid notifyExtra notifyRelnameOidOIDPTIabstimeaclitem binaryUnknownboxbpcharcidcidrcirclecstring daterange gtsvector int2vector int4range int8rangelinelsegmacaddrmkOIDmkPTImoneynumrange oidvectorpathpointpolygonrecord refcursorregclass regconfig regdictionaryregoper regoperatorregproc regprocedureregtypereltime textUnknowntid tintervaltsquerytsrange tstzrangetsvector txid_snapshotvarbitvarcharxidxml oidFormatoidPQ oidWord32 ptiArrayOIDptiOID unsafePTIunsafePTIWithShowcompilePreparedStatementDatacompileUnpreparedStatementData nullableValuerenderReadablevaluecolumnsMetadataprinter serializersize NonNullableNullabledecoder decoderFn nonNullValueEnvcheckExecStatus serverErrorsingleunexpectedResultvector clientErrordropRemaindersResultsasBytessetEncodersToUTF8setMinClientMessagesToWarningCommandsLocalKeynewupdatePreparedStatementRegistryacquireConnection acquirePreparedStatementRegistrycheckConnectionStatuscheckServerVersion checkedSendgetIntegerDatetimesgetPreparedStatementKey getResultsinitConnectionreleaseConnectionsendNonparametricStatementsendParametricStatementsendPreparedParametricStatement!sendUnpreparedParametricStatement