úÎ EòB°!      Safe0/z: represents the hierarchical structure of logged messages.For example, consider a df1 log line as like the following: K1999-12-20T07:11:39.230553031Z /foo x=a y=b /qux z=c z=d WARNING Something For that line, the  attribute of the & datatype will contain the following: [  ( "foo") ,  ( "x") ( "a") ,  ( "y") ( "b") ,  ( "qux") ,  ( "z") ( "c") ,  ( "z") ( "d") ] :: !  Please notice that [] :: !  is a valid path insofar as df1 is concerned, and that  and % can be juxtapositioned in any order.An attribute value (see ).If you have the OverloadedStrings) GHC extension enabled, you can build a  using a string literal:  "foo" ::  Otherwise, you can use " or the  function.Please keep in mind that 4 will always strip surrounding whitespace. That is: "x" ::  == " x" == "x " == " x " An attribute key (see ).If you have the OverloadedStrings) GHC extension enabled, you can build a  using a string literal:  "foo" ::  Otherwise, you can use " or the  function.Please keep in mind that 4 will always strip surrounding whitespace. That is: "x" ::  == " x" == "x " == " x " A path segment.If you have the OverloadedStrings) GHC extension enabled, you can build a  using a string literal:  "foo" ::  Otherwise, you can use " or the  constructor directly.!Importance of the logged message.ZThese levels, listed in increasing order of importance, correspond to the levels used by  "https://linux.die.net/man/3/syslog syslog(3).IMessage intended to be useful only when deliberately debugging a program.Informational message. LA condition that is not an error, but should possibly be handled specially. ‰A warning condition, such as an exception being gracefully handled or some missing configuration setting being assigned a default value. 0Error condition, such as an unhandled exception. ]Critical condition that could result in system failure, such as a disk running out of space. PA condition that should be corrected immediately, such as a corrupted database.System is unusable.A message text.If you have the OverloadedStrings) GHC extension enabled, you can build a  using a string literal:  "foo" ::  Please keep in mind that 4 will always strip surrounding whitespace. That is: "x" ::  == " x" == "x " == " x " 1First known timestamp when the log was generated.We use # rather than > because it is cheaper to obtain and to render. You can use  to convert it if necessary.'Importance level of the logged message.+ where the logged message was created from. The leftmost + is the closest to the root. The rightmost 4 is the one closest to where the log was generated.An $ !7 is acceptable, conveying the idea of the root path .Human-readable message itself.%"Order of importance. For example,  is more important than :  >  == &  Safe]^<)Like , but without color.'' a b c p renders p using aI as the default color (for things like whitespace or attribute values), b# as the color for path names, and cP as the color for attribute keys. This adds a trailing whitespace if necessary.(Like ', but without color.)JEscape metadata such as path segments, attribute keys or attribute values.* Reset all+Default foreground,Reset background-green foreground.green foreground/Yellow foreground0Cyan foreground1Blue foreground2Black foreground3White foreground4Red background5Render % followed by the given 6& rendered as two hexadecimal nibbles.7Renders YYYY-MM-DDThh:mm:ss.sssssssssZ (nanosecond precision).DThe rendered string is a 30 characters long, and it's ASCII-encoded.Safe]Ai uIf sucessful, parsing will stop after the first CR or LF newline marker if any, otherwise it will consume all input.8Parse "%FF"8. Always consumes 3 bytes from the input, if successful.9Like : but takes strict bytes.: Decodes all 8! occurences from the given input.+TODO: Make faster and more space efficient. SafeA¤!  !  ;      !"#$%&'()*+,-./01)*23456789:;<=>?@ABCDE,FGHIJKL df1-0.1.1-AkEHGXxm8Bj81atYi1mmZUDf1 Df1.TypesTimeUTCTimeData.Time.Clock.SystemsystemToUTCTime Df1.Render Df1.ParsePathPushAttrValueKeySegmentLevelDebugInfoNoticeWarningErrorCriticalAlert EmergencyMessageLoglog_time log_levellog_path log_messagemessage unMessagesegment unSegmentkeyunKeyunValuevalue renderColorrenderparsecontainers-0.5.11.0Data.Sequence.InternalSeqbase Data.String fromString time-1.8.0.2#Data.Time.Clock.Internal.SystemTime SystemTimeempty $fOrdLevelghc-prim GHC.TypesTruerenderPathColor renderPath escapeMetaLreset fgDefault bgDefaultfgGreenfgRedfgYellowfgCyanfgBluefgBlackfgWhitebgRedword8HexPercentGHC.WordWord8 renderIso8601 pNumPercentpDecodePercentspDecodePercentsL