!z'8#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !" Safe #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None=>?k~`immCNewtype wrapper to prettyprint a key uniquely identifying an objectbimmInfix operator for Fv  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJMLKPNOXWVUTSRQ[ZY^]\_`abcdefghijklmnopqrstuv`abcdefghijklmnopqrstu  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJMLKPNOXWVUTSRQ[ZY^]\_None=>?@A vyxzw{|~} {|~}vyxzwNone=>?SX"imm$Handle to perform GET HTTP requests.immSimple wrapper around " that also logs the requested URI. None$?immNewtype wrapper to provide  and  instances for       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None &'.1=?SUVX,imm7A query describes a set of feeds through some criteria.immFeed location identifies a feed. It is either: - the feed URI - a webpage URI that refers to the feed through an alternate link, in which case an optional feed title can be provided to disambiguate multiple such linksNone-<None7k1imm`All information passed to external programs about a new feed item, are stored in this structure.imm+External program run for each feed element.A = is passed to this program through stdin, serialized in JSON.None "#>HVk2immNewtype wrapper to provide  and  instances for =     =      None4lvwzxy}~     lvwzxy}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmmnopqqrstuvwxyz{|}~x{      !"#$ %&'( )* )+ ,- ,. / 0 1&'2 34 35 67 89 8: 8; < => =? =@ =A =B =C =D =E =F =G =H =I&JK&JL&JM NO NP NQ NR NS NT NU NV NW NX NY NZ N[ N\ N] N^ N_ N` 3a 3b 3c 3d 3e 3f 3g 3h 3i 3j 3k 3l m n o p q r s tu tv tw tx ty tz t{ t|&J}&J~&J&J&J&J&J&J  3 3 N N N N N N N N N N N N 3 3 3 3 3 3                                    &&&&&&&&&        &&&& 3 3&&       &&& &            ! "#$#%#&#'#()*+)*,-./-.0-12-34-35-36-78-79-7:-7;-<=-<>-<?-<@-<A-<B-<C-<D-<E-<F-GH-IJ-IK-IL-IM-IN-IO-IP-IQ-RS-RT-RU-RV-RW-RX-RY-RZ-R[-R\-R]-^_-^`-^a-bc-bd-be-bf-gh-gi-gj-gk-lm-ln-lo-lp-lq-lr-ls-lt-lu-lv-lw-lx-ly-lz-l{-l|-l}-l~-l--------------------------------------------------------------------------------------------------------))))))))))))     ))   !" #$ %&)'()'))*)*)*+)*+)*,)-)-).)/)/)0121314&J5&J6&J7 89 89 :; < = > ? @ A B C D E F G HI tJ KL ,M ,N ,O PQ PR PS PT PU PV PW PX )Y )Z )[ )\ )] )^ )_ )` )a )b )c )d )e )f )g )h )i )j )k )l mn 3o 3p 3q 3r 3s 3t 3u 3v w x y z{ z| z} ~                                    Q             : : : : : : : : : : : : : : : : : : : : : : :                            8 8 8 8                           6 6 6 6 6 6 6 6 6 6 6 6                   ! " # $ % & ' ( ) * + , - . / 01 02 03 04 05 06 87 89 89 8: 8; 8< 8= >? >@ >A BC BC BD EF EF EG EH EH EI EJ EJ EK EL EM EN EO EP EQ ER ES ET EU V W =X =Y Z [ \ ] ^ _ ` a Eb Eb Ec de f-ghi jklmknopqrkstksuksvkswksxksykszks{ks|ks}ks~kskskskkkknknknknknknknknknknknknknknknknknknknknknknknknknknknknknknknknknknknknknknknkkkkkklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk k k k k k kkkkkkkkkkkkkkkkkk k j !""imm-1.9.0.0-L4OvFhB9TDf8pWR6V9zgfv Imm.Pretty Imm.LoggerImm.HTTPImm.FeedImm.XML Imm.CallbackImm.Database.FeedPreludeData.Aeson.ExtendedImmbaseGHC.Base<>*prettyprinter-1.6.1-KjG1sEzf1n21EgCkj9uNVa"Data.Text.Prettyprint.Doc.InternalDoc'Data.Text.Prettyprint.Doc.Symbols.Asciipipeequals backslashslashdotspacecommacolonsemirbracelbracerbracketlbracketranglelanglerparenlparendquotesquotebracesbracketsanglesparensdquotessquotes layoutCompact layoutSmart layoutPrettydefaultLayoutOptionsremoveTrailingWhitespacefusealterAnnotationsS reAnnotateS unAnnotateSalterAnnotations reAnnotate unAnnotateannotatesurroundencloseplural fillBreakfill pageWidthnestingcolumn punctuatecatfillCatvcathcatsepfillSepvsephsep concatWith<+>tupled encloseSepindenthangalignflatAltgrouphardline softline'softlineline'linenestemptyDoc unsafeViaShowviaShow prettyListprettyPrettyDeepShallow FusionDepthSAnnPopSAnnPushSLineSTextSCharSEmptySFailSimpleDocStream UnboundedAvailablePerLine PageWidthlayoutPageWidth LayoutOptions:prettyprinter-ansi-terminal-1.1.1.2-HR8gzEoTreRFqR7LFOAG3A2Data.Text.Prettyprint.Doc.Render.Terminal.Internal AnsiStyle PrettyKey<++> prettyTree prettyTime prettyPerson prettyLinkprettyAtomText prettyElement prettyNode prettyContent prettyEntry prettyItem prettyURI prettyGuidprettyAtomContentmagentayellowredgreencyanboldLogLevelDebugInfoWarningErrorHandlelog getLogLevel setLogLevelsetColorizeLogs flushLogs$fPrettyLogLevel $fEqLogLevel $fOrdLogLevel$fReadLogLevel$fShowLogLevel_withGetwithGetFeedURI FeedElement RssElement AtomElementFeedRssAtom FeedQuery ByDatabaseIDByURIAllFeeds FeedLocation FeedDirectURIFeedAlternateLink sameURIType withFeedURI renderFeedrenderFeedElement parseFeedparseFeedElementremoveElements getFeedTitle getElementsgetDategetTitle getContentgetLinkgetId$fToJSONFeedLocation$fFromJSONFeedLocation$fPrettyFeedLocation$fPrettyFeedQuery$fEqFeedElement$fOrdFeedElement$fPrettyPrettyKey $fOrdFeedURI $fEqFeedURI$fEqFeedLocation$fOrdFeedLocation$fShowFeedLocation $fEqFeedQuery$fOrdFeedQuery$fShowFeedQuery$fEqFeed $fOrdFeed $fShowFeed$fShowFeedElement $fShowFeedURIparseXmlMessageCallback _executable _arguments$fPrettyCallback$fFromDhallCallback$fMessagePackMessage $fEqCallback$fGenericCallback $fOrdCallback$fReadCallback$fShowCallback $fEqMessage$fGenericMessage $fOrdMessage $fShowMessageDatabaseException NotCommitted NotDeleted KeyNotFound NotInserted NotPurged NotUpdatedUnableFetchAll_describeDatabase_fetch _fetchAll_update_insert_delete_purge_commitEntryKey ByLocationById FeedStatusUnknownNew LastUpdateEntry entryLocation entryTagsentryReadHashes entryFeed entryItemsentryLastUpdate JsonElement unwrapElement getHashesprettyShortEntry makeEntrymatchingreadOnlyfetch1fetch fetchQueryfetchAllupdateinsert insertListdelete1deletepurgecommitregister getStatusmarkAsProcessedmarkAsUnprocessedlistUnprocessedElementsisReadresolveEntryKeyresolveFeedLocation$fToJSONKeyJsonElement$fToJSONJsonElement$fFromJSONKeyJsonElement$fFromJSONJsonElement $fToJSONEntry$fFromJSONEntry$fPrettyFeedStatus$fPrettyEntryKey$fPrettyDatabaseException$fExceptionDatabaseException$fEqJsonElement$fOrdJsonElement $fEqEntry $fOrdEntry $fShowEntry $fEqEntryKey $fOrdEntryKey$fShowEntryKey$fEqDatabaseException$fShowDatabaseException++ghc-primGHC.PrimseqGHC.Listfilterzip Data.Tuplefstsnd otherwisemap$coerceGHC.Real fromIntegral realToFrac Control.MonadguardGHC.ExtsIsListfromList fromListNjoinGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.ClassesEq==/= GHC.FloatFloatingpiexpsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanh Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonad>>=>>returnFunctorfmap<$GHC.NumNum+*-negate fromIntegerabssignumOrd>=compareminmax><<=GHC.ReadReadReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorGHC.ShowShowData.Typeable.InternalTypeableControl.Monad.Fail MonadFailfail Data.StringIsString fromString Applicativepure<*>*><*liftA2 Data.FoldableFoldabletoListfoldrfoldlengthfoldMapnullfoldl'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGeneric GHC.TypeNatsKnownNatGHC.OverloadedLabelsIsLabel fromLabel SemigroupsconcatstimesMonoidmemptymappendmconcat GHC.TypesBoolFalseTrueCharDoubleD#FloatF#IntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeInteger GHC.NaturalNatural GHC.MaybeMaybeNothingJustOrderingLTEQGTRatioRationalIOWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherLeftRightType ConstraintNatCmpNat CoercibleGHC.Stack.Types CallStackStringbytestring-0.10.8.2Data.ByteString.Internal ByteString Data.Functor<$>'hashable-1.3.0.0-1RsrIcitxVDKffGN1TuMlmData.Hashable.ClassHashable hashWithSalt text-1.2.3.1Data.Text.InternalTextconst.id3unordered-containers-0.2.10.0-b9YJCQLkMeLUf311RZkQDData.HashMap.BaseHashMapcontainers-0.6.0.1Data.Map.InternalMapGHC.IO.Handle.FDstdout stm-2.5.0.0Control.Concurrent.STM.TVar modifyTVar'Control.Concurrent.STM.TMVar mkWeakTMVar isEmptyTMVar swapTMVar tryReadTMVar readTMVar tryPutTMVarputTMVar tryTakeTMVar takeTMVar newEmptyTMVarnewTMVarTMVarData.Text.Encoding decodeUtf8'decodeUtf8WithData.Text.Encoding.Error lenientDecode strictDecodeOnError OnDecodeErrorUnicodeExceptiontransformers-0.5.5.0Control.Monad.Trans.MaybeexceptToMaybeTmaybeToExceptT%relude-0.7.0.0-B5KvIhljr3YGy2JIXUa6JgRelude.Applicativepass appliedToRelude.FunctionidentityRelude.Functor.Fmap<<$>>flap??Relude.Lifted.ExitexitWith exitFailure exitSuccessdieRelude.Lifted.IORefnewIORef readIORef writeIORef modifyIORef modifyIORef'atomicModifyIORefatomicModifyIORef'atomicModifyIORef_atomicModifyIORef'_atomicWriteIORefRelude.List.ReexportcycleRelude.Monad.Maybe?:whenJust whenJustM whenNothing whenNothing_ whenNothingM whenNothingM_ mapMaybeMRelude.Monad.Trans usingReaderT usingReader etaReaderT usingStateT usingStateevaluatingStateTevaluatingStateexecutingStateTexecutingState hoistMaybe hoistEither Relude.Monoid maybeToMonoid memptyIfFalse memptyIfTrue Relude.NubordNubhashNubsortNub unstableNubRelude.String.ReexportlinesunlineswordsunwordsRelude.String.Conversion LazyStricttoStricttoLazyToStringtoStringToLTexttoLTextToTexttoText ConvertUtf8 encodeUtf8 decodeUtf8decodeUtf8Strict LByteStringLText readEithershowfromLazy fromStrict Relude.PrintputText putTextLnputLText putLTextLnputBSputBSLnputLBSputLBSLnRelude.Lifted.FilereadFile writeFile appendFile Relude.File readFileText writeFileTextappendFileText readFileLTextwriteFileLTextappendFileLText readFileBS writeFileBS appendFileBS readFileLBS writeFileLBS appendFileLBS Relude.Debug Undefinedtrace traceShow traceShowIdtraceM traceShowMtraceIderror undefinedRelude.Monad.Either leftToMaybe rightToMaybe maybeToRight maybeToLeftwhenLeft whenLeft_ whenLeftM whenLeftM_ whenRight whenRight_ whenRightM whenRightM_ Relude.Monad chainedToRelude.List.NonEmpty viaNonEmpty whenNotNull whenNotNullMheadinitlasttailRelude.ExceptionBugExcbugRelude.DeepSeq evaluateWHNF evaluateWHNF_ evaluateNF evaluateNF_Relude.Bool.GuardwhenMunlessMifMguardMguarded&&^||^Relude.NumericintegerToBoundedintegerToNaturalRelude.Container.OneOneOneItemone Relude.List!!?Relude.Lifted.Concurrent newEmptyMVarnewMVarputMVarreadMVarswapMVartakeMVar tryPutMVar tryReadMVar tryTakeMVar atomically newTVarIO readTVarIO newTMVarIOnewEmptyTMVarIORelude.Foldable.Fold flipfoldl'asumMapfoldMapAfoldMapMsumproductelemnotElemandMorMallManyMRelude.Lifted.TerminalgetLineprintputStrputStrLnData.HashSet.BaseHashSet Control.Monad.Trans.State.Strict execStateT evalStateT withState execState evalStaterunStateStateControl.Monad.Trans.Reader withReaderT withReader runReaderReaderControl.Monad.Trans.Except runExceptT mtl-2.2.2Control.Monad.Reader.Class MonadReaderasklocalreaderasksControl.Monad.State.Class MonadStategetputstatemodifymodify'getsControl.Monad.Trans.Identity IdentityT runIdentityTdeepseq-1.4.4.0Control.DeepSeqNFDatarnfdeepseq$!!Data.Set.InternalSetData.Sequence.InternalSeqData.IntSet.InternalIntSetData.IntMap.InternalIntMapControl.Monad.Trans.Class MonadTransliftExceptTMaybeT runMaybeTReaderT runReaderTStateT runStateTData.ByteString.Short.InternaltoShortShortByteString fromShortnot||&&GHC.Exception.Type SomeExceptionData.Semigroup.InternalstimesIdempotentMonoid HasCallStack getCallStackNonEmpty:|<**>liftA3=<<whenordflip$!asTypeOf GHC.Stack.CCScurrentCallStacksubtractGHC.MVarMVarcurryuncurryswap Data.MaybemaybeisJust isNothing fromMaybe maybeToList listToMaybe catMaybesmapMaybeunconsscanlscanl1scanl'scanrscanr1iteraterepeat replicate takeWhile dropWhiletakedropsplitAtbreakreversezip3zipWithunzipunzip3GHC.Charchr numerator denominatorevenodd^^^gcdlcm<&>$>void Data.Functionfixon& Data.Boolbool Data.BitstoIntegralSized byteSwap16 byteSwap32 byteSwap64 GHC.IO.IOModeIOModeReadMode WriteMode AppendMode ReadWriteModeControl.Category<<<>>> Data.ProxyProxyData.OrdDown comparingeitherleftsrightspartitionEithersisLeftisRightfromLeft fromRight Text.Readreads readMaybe Data.OldList isPrefixOf intersperse intercalate transpose genericLength genericTake genericDropgenericSplitAtgenericReplicateinitstails subsequences permutationssortsortBysortOnunfoldrSomeNatnatVal someNatValAltgetAltProduct getProductSumgetSumAnygetAnyAllgetAllEndoappEndoDualgetDualstimesIdempotent stimesMonoid Data.MonoidApgetApLastgetLastFirstgetFirstfoldlM traverse_for_mapM_forM_ sequenceA_ sequence_asumconcat concatMapandoranyallfindData.Functor.ConstConstgetConst Exception toException fromExceptiondisplayException GHC.Exception prettySrcLocprettyCallStackGHC.IOFilePath GHC.IORefIORef GHC.Conc.SyncTVarSTMthrowSTMcatchSTMnewTVarreadTVar writeTVar GHC.Stack callStackwithFrozenCallStackstdinstderr System.IOwithFileData.Functor.IdentityIdentity runIdentityControl.ApplicativeZipList getZipListoptionalforM mapAccumL mapAccumRfilterM>=><=<forever mapAndUnzipMzipWithM zipWithM_ replicateM replicateM_unless<$!>mfilterControl.Monad.IO.ClassMonadIOliftIOGHC.ExecutionStack getStackTraceshowStackTraceData.List.NonEmptynonEmptyData.Bifunctor BifunctorfirstsecondbimapData.Bifoldable Bifoldablebifold bifoldMapbifoldrbifoldlbifoldr'bifoldrMbifoldl'bifoldlM bitraverse_bifor_ bisequence_biasumbiListbinullbilengthbielembiandbiorbianybiallbifindData.Bitraversable Bitraversable bitraverse bisequencebifor bimapDefaultbifoldMapDefaultsortWithData.SemigroupOption getOption WrappedMonoidcycle1 mtimesDefault Data.VoidVoidabsurdvacuousData.Functor.ComposeCompose getComposeData.Functor.ContravariantOpgetOp EquivalencegetEquivalence Comparison getComparison Contravariant contramap>$phantom$<>$<>$$<defaultComparisondefaultEquivalencecomparisonEquivalenceminIntmaxIntboundedEnumFromboundedEnumFromThen MonadPlusmzeromplus Alternativeempty<|>somemany Predicate getPredicate Control.Arrow&&&xorRelude.Extra.MaplookupioJsonURI$aeson-1.4.7.1-7zIsgD57QtKBLAX7Q8FqzRData.Aeson.Types.FromJSONFromJSONData.Aeson.Types.ToJSONToJSON-uri-bytestring-0.3.2.2-I6voRZNefTCDfPXR3i2eY8URI.ByteString.TypesURI Data.AesoneitherDecodeFileStrict'eitherDecodeStrict' eitherDecode'eitherDecodeFileStricteitherDecodeStrict eitherDecodedecodeFileStrict' decodeStrict'decode'decodeFileStrict decodeStrictdecode encodeFileencodeData.Aeson.TypesfoldableData.Aeson.Types.ClassGToJSON GToEncoding listValue listEncoding toEncoding2toJSON2 toEncoding1toJSON1genericToJSONKeycontramapToJSONKeyFunction toJSONKeyTextgenericLiftToEncodinggenericToEncodinggenericLiftToJSON genericToJSONToArgsNoToArgsTo1ArgstoJSON toEncoding toJSONListtoEncodingListKeyValue.= ToJSONKey toJSONKey toJSONKeyListToJSONKeyFunction ToJSONKeyTextToJSONKeyValue GToJSONKeyToJSON1 liftToJSONliftToJSONListliftToEncodingliftToEncodingListToJSON2 liftToJSON2liftToJSONList2liftToEncoding2liftToEncodingList2Data.Aeson.Encoding.InternalpairsunsafeToEncoding fromEncodingEncodingSeries.!=explicitParseFieldMaybe'explicitParseFieldMaybeexplicitParseFieldparseFieldMaybe'parseFieldMaybe parseField.:!.:?.:fromJSONwithEmbeddedJSONwithBoolwithScientific withArraywithText withObject listParser parseJSON2 parseJSON1 unexpected typeMismatchgenericFromJSONKeymapFromJSONKeyFunctioncoerceFromJSONKeyFunctionfromJSONKeyCoercegenericLiftParseJSONgenericParseJSONparseIndexedJSON GFromJSON gParseJSONFromArgs NoFromArgs From1Args parseJSON parseJSONList FromJSONKey fromJSONKeyfromJSONKeyListFromJSONKeyFunctionFromJSONKeyCoerceFromJSONKeyTextFromJSONKeyTextParserFromJSONKeyValue GFromJSONKey FromJSON1 liftParseJSONliftParseJSONList FromJSON2liftParseJSON2liftParseJSONList2Data.Aeson.Parser.Internaljson'jsonData.Aeson.Types.InternalcamelTo2camelTodefaultJSONKeyOptionsdefaultTaggedObjectdefaultOptionsparserCatchErrorparserThrowErrorprependFailure modifyFailureobjectformatRelativePath formatPath parseEither parseMaybeparse emptyObject emptyArray parseFailJSONPathElementKeyIndexJSONPathResultSuccessParserObjectArrayValueNumberNull DotNetTimefromDotNetTimePairOptionsrejectUnknownFieldsfieldLabelModifierconstructorTagModifierallNullaryToStringTagomitNothingFields sumEncodingunwrapUnaryRecordstagSingleConstructors SumEncoding TaggedObject UntaggedValueObjectWithSingleField TwoElemArray tagFieldNamecontentsFieldNameJSONKeyOptions keyModifierData.Aeson.Types.GenericZero _unwrapURI