czW      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq r s t u v w x y z { | } ~                        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVNone W(Case-insensitive UTF-8 ByteString parser&Matches one character at a time. Slow.X(Case-insensitive UTF-8 ByteString parserfWe can't easily perform upper/lower case conversion on the input, so instead we accept either one of  toUpper c and  toLower c.YNumber may be prefixed with Z[Fixed-length 0-padded decimal\!Fixed-length space-padded decimal]^_`abcdefgWXhY[\]^_`abcdefgWXhY[\]^_`abcdefgWXhY[\None *+06=BK          None +06=BHKM Weeks numbered from 0 to 53, starting with the first Monday of the year as the first day of week 1. The last week of a given year and week 0 of the next both refer to the same week, but not all  are valid. - coincides with that of 6.Weeks numbered from 0 to 53, starting with the first Sunday of the year as the first day of week 1. The last week of a given year and week 0 of the next both refer to the same week, but not all  are valid. - coincides with that of 6.Weeks numbered 01 to 53, where week 01 is the first week that has at least 4 days in the new year. Days before week 01 are considered to belong to the previous year..YThe Modified Julian Day is a standard count of days, with zero being the day 1858-11-17.9Gregorian leap year?iANo good home for this within the current hierarchy. This will do.;{Convert between day of year in the Gregorian or Julian calendars, and month and day of month. First arg is leap year flag.d  !"#$%&'()*+,-./0123456789:jklmi;<=>nop?@AqBCrDstuvwxyz{|}~Q  !"#$%&'()*+,-./0123456789:jklmi;<=>nop?@AqBCrD>   !"#$%&'()*+,-./0123456789:jklmi;<=>nop?@AqBCrDstuvwxyz{|}~None *+036=BKE1An absolute time interval as measured by a clock.E forms an  so can be added using  (or , for subtraction), and also an instance of  so can be scaled using , where type  E =  F"Time intervals, encompassing both E and L. IssuesStill affected by  /http://hackage.haskell.org/trac/ghc/ticket/7611?GEscape hatch; avoid.H Convert a time interval to some  type.IMake a time interval from some  type.  PerformanceTry to make sure n is one of , , ,  or , for which rewrite RULES have been provided.JType-restricted H) to avoid constraint-defaulting warnings.KType-restricted I) to avoid constraint-defaulting warnings.LRA time interval as measured by UTC, that does not take leap-seconds into account.%For instance, the difference between 23:59:59 and 00:00:01. on the following day is always 2 seconds of L2, regardless of whether a leap-second took place.L forms an  so can be added using  (or + for subtraction), and also an instance of  so can be scaled using , where type  L =  M.The principal form of universal time, namely  4http://en.wikipedia.org/wiki/Universal_Time#VersionsUT1.M is defined by the rotation of the Earth around its axis relative to the Sun. Thus the length of a day by this definition varies from one to the next, and is never exactly 86400 SI seconds unlike  6http://en.wikipedia.org/wiki/International_Atomic_TimeTAI or  AbsoluteTime). The difference between UT1 and UTC is  !http://en.wikipedia.org/wiki/DUT1DUT1.N>The nominal length of a POSIX day: precisely 86400 SI seconds.O 7http://en.wikipedia.org/wiki/Coordinated_Universal_TimeCordinated universal timeZ: the most common form of universal time for civil timekeeping. It is synchronised with  AbsoluteTime~ and both tick in increments of SI seconds, but UTC includes occasional leap-seconds so that it does not drift too far from M.O is an instance of , with type  O = L Use  to add (or & to subtract) time intervals of type L, and  to get the interval between Os.  Performance%Internally this is a 64-bit count of G since the MJD epoch, so ,  and  ought to be fairly fast.IssuesO currently  (https://github.com/liyang/thyme/issues/3cannot represent leap seconds.PView M+ as a fractional number of days since the  0http://en.wikipedia.org/wiki/Julian_day#VariantsModified Julian Date epoch.Q Unpacked O , partly for compatibility with time.U for the . component of an O.V% for the time-of-day component of an O.WView O as an Q, comprising a . along with a E offset since midnight.This is an improper lens: T offsets outside the range of [, N)A will carry over into the day part, with the expected behaviour.5EFGHIJKLMNOPQRSTUVW$EFGHIJKLMNOPQRSTUVW#EFGHIJKLMNOPQRSTUVWNoneXYZNXYZNXYZXYZNone [Display E or L in a human-readable form.\Display E or L in a human-readable form.] Display one O/ relative to another, in a human-readable form.^ Display one O/ relative to another, in a human-readable form. [\]^[\]^[\]^[\]^None_`  +,;<=_` ,+ ;<=_`_`Nonea/Get the current UTC time from the system clock.aEFGHIJKLMOPQRSTUVWaMPEOQRSTWLaFGHIJKUVaNone bcdefghijklmnop&'()*+,-./0123456789bcdefghi#321./04-,+&'()*95678ponmlkjbcdefghibcdefghijklmnop None *+06=HKMTText representing the offset of this timezone, e.g. "-0800" or "+0400" (like %z in  formatTime)@Create a nameless non-summer timezone for this number of minutes>Create a nameless non-summer timezone for this number of hours Hour zero Hour twelveAdd some minutes to a q%; result comes with a day adjustment.Qqrstuvwxyz{|}~6qrstuvwxyz{|}~i~}xyz{|wvqrstu?qrstuvwxyz{|}~None !"#$%-9:-9%!"#$:None" ->?@ABCD.->?@AB CD None  +06=K1 5, negative means n-th last,-#-,  None +06=BHKM3The epoch of TAI, which is 1858-11-17 00:00:00 TAI. tai-utc.dat from *http://maia.usno.navy.mil/ser7/tai-utc.dat   None *HM Time  for UTF-8 encoded  ByteStrings.Attoparsec easily beats any O parser out there, but we do have to be careful to convert the input to UTF-8  ByteStrings.V                    <           None~&'()*+,-./0123456789EFGHIJKLMOPQRSTUVWabcdefghiqrstuvwxyz{|}~      None+BA newtype wrapper for OP that uses the same non-standard serialization format as Microsoft .NET, whose System.DateTimeD type is by default serialized to JSON as in the following example: /Date(1302547608878)/8The number represents milliseconds since the Unix epoch. None 681Replacement for  .C !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV&'()*+,-./0123456789EFGHIJKLMOPQRSTUVWabcdefghiqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKCVUTSRQPONML !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKB !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVNone*B!"#$&'()*+,-./0123456789EFGHIJKLMOPQRSTUVWabcdefghiqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK!"#$% !"##$%&''()*+,--./001234456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^\_`abcdefghijklmnopqrstuvwxyz{| } } ~                                                     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~____RY      _                                                    ! " # $ % & ' ( ) * + , - . / 0 123456789 thyme-0.3.5.5Data.Thyme.Internal.MicroData.Thyme.Calendar.WeekDateData.Thyme.Calendar.MonthDayData.Thyme.Calendar.OrdinalDateData.Thyme.CalendarData.Thyme.ClockData.Thyme.Clock.POSIXData.Thyme.Format.HumanData.Thyme.LocalTime"Data.Thyme.Calendar.WeekdayOfMonthData.Thyme.Clock.TAIData.Thyme.FormatData.Thyme.Format.AesonData.Thyme.Time.CoreData.Thyme.Format.InternalData.Thyme.Calendar.InternalData.Thyme.Clock.Internal Data.ThymeData.Thyme.TimeMicroV_MicroMV_Micro microQuotRem microDivMod$fHasBasisMicro$fVectorSpaceMicro$fAdditiveGroupMicro $fReadMicro $fShowMicroTFCo:R:VectorMicro MondayWeekmwYearmwWeekmwDay SundayWeekswYearswWeekswDayWeekDatewdYearwdWeekwdDay DayOfWeek WeekOfYearMonthDaymdMonthmdDay OrdinalDateodYearodDay DayOfYear YearMonthDayymdYearymdMonthymdDay DayOfMonthMonthYearDayModifiedJulianDaytoModifiedJulianDayDaysMonthsYearsmodifiedJulianDay yearMonthDay gregoriangregorianValid showGregorian isLeapYear ordinalDatemonthDay monthDayValid monthLengthweekDate weekDateValid showWeekDate sundayWeeksundayWeekValid mondayWeekmondayWeekValidDiffTimeTimeDiff microseconds toSeconds fromSeconds toSeconds' fromSeconds'NominalDiffTime UniversalTimeposixDayLengthUTCTime modJulianDateUTCViewutctDay utctDayTime_utctDay _utctDayTimeutcTime POSIXTime posixTime getPOSIXTime humanTimeDiffhumanTimeDiffs humanRelTime humanRelTimes_mdMonth_mdDaygetCurrentTimegregorianMonthLengthgregorianMonthsClipgregorianMonthsRollovergregorianYearsClipgregorianYearsRollover_ymdYear _ymdMonth_ymdDay$fCoArbitraryYearMonthDay$fArbitraryYearMonthDay$fArbitraryDay$fRandomYearMonthDay $fRandomDay$fBoundedYearMonthDay $fBoundedDay TimeOfDaytodHourtodMintodSecMinuteHourTimeZonetimeZoneMinutestimeZoneSummerOnly timeZoneNameHoursMinutestimeZoneOffsetStringminutesToTimeZonehoursToTimeZoneutc getTimeZonegetCurrentTimeZone$fCoArbitraryTimeZone$fArbitraryTimeZone$fRandomTimeZone$fBoundedTimeZone$fShowTimeZone$fNFDataTimeZone LocalTimelocalDaylocalTimeOfDay V_TimeOfDay MV_TimeOfDay minuteLengthmidnightmiddaymakeTimeOfDayValid timeOfDay addMinutes dayFraction$fCoArbitraryTimeOfDay$fArbitraryTimeOfDay$fRandomTimeOfDay$fBoundedTimeOfDay$fShowTimeOfDay$fNFDataTimeOfDayTFCo:R:VectorTimeOfDay ZonedTimezonedTimeToLocalTime zonedTimeZone V_LocalTime MV_LocalTime utcLocalTime ut1LocalTime zonedTime getZonedTimeutcToLocalZonedTime_timeZoneMinutes_timeZoneSummerOnly _timeZoneName_todHour_todMin_todSec _localDay_localTimeOfDay_zonedTimeToLocalTime_zonedTimeZone $fShowUTCTime$fShowZonedTime$fCoArbitraryZonedTime$fArbitraryZonedTime$fRandomZonedTime$fBoundedZonedTime$fNFDataZonedTime$fCoArbitraryLocalTime$fArbitraryLocalTime$fRandomLocalTime$fBoundedLocalTime$fShowLocalTime$fNFDataLocalTimeTFCo:R:VectorLocalTimeordinalDateValid_odYear_odDay$fCoArbitraryOrdinalDate$fArbitraryOrdinalDate$fRandomOrdinalDate$fBoundedOrdinalDate_wdYear_wdWeek_wdDay_swYear_swWeek_swDay_mwYear_mwWeek_mwDay$fCoArbitraryMondayWeek$fCoArbitrarySundayWeek$fCoArbitraryWeekDate$fArbitraryMondayWeek$fArbitrarySundayWeek$fArbitraryWeekDate$fRandomMondayWeek$fRandomSundayWeek$fRandomWeekDate$fBoundedMondayWeek$fBoundedSundayWeek$fBoundedWeekDateWeekdayOfMonthwomYearwomMonthwomNth womDayOfWeekV_WeekdayOfMonthMV_WeekdayOfMonthweekdayOfMonthweekdayOfMonthValid_womYear _womMonth_womNth _womDayOfWeek$fCoArbitraryWeekdayOfMonth$fArbitraryWeekdayOfMonth$fRandomWeekdayOfMonth$fBoundedWeekdayOfMonth$fNFDataWeekdayOfMonthTFCo:R:VectorWeekdayOfMonth AbsoluteTimeLeapSecondTabletaiEpoch utcDayLength absoluteTimeparseTAIUTCDAT ParseTime buildTime TimeParse tpCentury tpCenturyYeartpMonth tpWeekOfYear tpDayOfMonth tpDayOfYear tpDayOfWeektpFlagstpHourtpMinutetpSecond tpSecFrac tpPOSIXTime tpTimeZone FormatTime showsTime formatTime timeParser parseTimereadTime readsTime DotNetTimefromDotNetTimeThymethymetoThyme fromThymeaddDaysdiffDays toGregorian fromGregorianfromGregorianValidaddGregorianMonthsClipaddGregorianMonthsRolloveraddGregorianYearsClipaddGregorianYearsRolloverdayOfYearToMonthAndDaymonthAndDayToDayOfYearmonthAndDayToDayOfYearValid toOrdinalDatefromOrdinalDatefromOrdinalDateValidsundayStartWeekfromSundayStartWeekfromSundayStartWeekValidmondayStartWeekfromMondayStartWeekfromMondayStartWeekValid toWeekDate fromWeekDatefromWeekDateValidgetModJulianDatemkModJulianDatesecondsToDiffTimepicosecondsToDiffTime mkUTCTime unUTCTime addUTCTime diffUTCTimetoMicrosecondsfromMicrosecondsposixSecondsToUTCTimeutcTimeToPOSIXSecondsaddAbsoluteTimediffAbsoluteTime utcToTAITime taiToUTCTimeutcToLocalTimeOfDaylocalToUTCTimeOfDaytimeToTimeOfDaytimeOfDayToTimedayFractionToTimeOfDaytimeOfDayToDayFractionutcToLocalTimelocalTimeToUTCut1ToLocalTimelocalTimeToUT1utcToZonedTimezonedTimeToUTC$fThymeZonedTimeZonedTime$fThymeLocalTimeLocalTime$fThymeTimeOfDayTimeOfDay$fThymeTimeZoneTimeZone$fThymeAbsoluteTimeAbsoluteTime$fThymeUTCTimeUTCTime$fThymeUTCTimeUTCView%$fThymeNominalDiffTimeNominalDiffTime$fThymeDiffTimeDiffTime!$fThymeUniversalTimeUniversalTime $fThymeDayDaystringCIcharCInegativebaseGHC.Num-dec0dec_utf8Char utf8Stringshows02shows_2shows03 showsYearfills06drops0 parserToReadSindexOf indexOfCIcharU8 randomIsoR monthLengthsmonthLengthsLeap monthDays monthDaysLeap toWeekOrdinallastWeekOfYear fromWeekLasttoSundayOrdinaltoMondayOrdinal$fNFDataMondayWeek$fNFDataSundayWeek$fNFDataWeekDate$fCoArbitraryMonthDay$fArbitraryMonthDay$fRandomMonthDay$fBoundedMonthDay$fNFDataMonthDay$fNFDataOrdinalDate$fNFDataYearMonthDay $fShowDay$fAffineSpaceDayV_DayMV_DayTFCo:R:VectorDayV_YearMonthDayMV_YearMonthDayTFCo:R:VectorYearMonthDay V_OrdinalDateMV_OrdinalDateTFCo:R:VectorOrdinalDate V_MonthDay MV_MonthDayTFCo:R:VectorMonthDay V_WeekDate MV_WeekDateTFCo:R:VectorWeekDate V_SundayWeek MV_SundayWeekTFCo:R:VectorSundayWeek V_MondayWeek MV_MondayWeekTFCo:R:VectorMondayWeekvector-space-0.8.7Data.AdditiveGroup AdditiveGroup^+^^-^Data.VectorSpace VectorSpace*^ScalarGHC.RealRational FractionalRealghc-prim GHC.TypesFloatDoubleIntGHC.IntInt64 integer-gmpGHC.Integer.TypeIntegerData.AffineSpace AffineSpaceDiff.+^.-^.-.lens-4.6Control.Lens.TypeLens'zeroV picosecondsfromSecondsRealFracfromSecondsIntegral V_DiffTime MV_DiffTime$fTimeDiffDiffTime$fHasBasisDiffTime$fVectorSpaceDiffTime$fReadDiffTime$fShowDiffTimeTFCo:R:VectorDiffTime UniversalRepV_NominalDiffTimeMV_NominalDiffTime$fTimeDiffNominalDiffTime$fHasBasisNominalDiffTime$fVectorSpaceNominalDiffTime$fReadNominalDiffTime$fShowNominalDiffTimeTFCo:R:VectorNominalDiffTimeUTCRepV_UniversalTimeMV_UniversalTimeTFCo:R:VectorUniversalTime V_UTCTime MV_UTCTimeTFCo:R:VectorUTCTime V_UTCView MV_UTCView$fAffineSpaceUTCTime$fNFDataUTCViewTFCo:R:VectorUTCView gettimeofdayUnitunitsingleplural_pluralapproxunitsV_AbsoluteTimeMV_AbsoluteTime$fAffineSpaceAbsoluteTime$fShowAbsoluteTimeTFCo:R:VectorAbsoluteTimeattoparsec-0.12.1.0#Data.Attoparsec.ByteString.InternalParserGHC.BaseStringTimeFlag IsMondayWeek IsSundayWeek IsWeekDate IsGregorian IsOrdinalDate IsPOSIXTime HasCentury TwelveHour PostMeridiemshowsY _tpCentury_tpCenturyYear_tpMonth _tpWeekOfYear _tpDayOfMonth _tpDayOfWeek _tpDayOfYear_tpFlags_tpHour _tpMinute _tpSecond _tpSecFrac _tpPOSIXTime _tpTimeZoneflagtpYeartimeZoneParser$fParseTimeAbsoluteTime$fParseTimeUniversalTime$fParseTimeUTCTime$fParseTimeZonedTime$fParseTimeTimeZone$fParseTimeDay$fParseTimeLocalTime$fParseTimeMondayWeek$fParseTimeSundayWeek$fParseTimeWeekDate$fParseTimeOrdinalDate$fParseTimeMonthDay$fParseTimeYearMonthDay$fParseTimeTimeOfDay $fReadUTCTime$fReadZonedTime$fReadLocalTime$fReadTimeOfDay $fReadDay$fFormatTimeAbsoluteTime$fFormatTimeUniversalTime$fFormatTimeUTCTime$fFormatTimeZonedTime$fFormatTimeTimeZone$fFormatTimeDay$fFormatTimeLocalTime$fFormatTimeMondayWeek$fFormatTimeSundayWeek$fFormatTimeWeekDate$fFormatTimeOrdinalDate$fFormatTimeMonthDay$fFormatTimeYearMonthDay$fFormatTimeTimeOfDay formatMillis$fFromJSONUTCTime$fToJSONUTCTime$fFromJSONZonedTime$fToJSONZonedTime$fFromJSONDotNetTime$fToJSONDotNetTime time-1.4.2Data.Time.Clock.Scale ModJulianDate$fRealFracMicro$fFractionalMicro $fRealMicro $fNumMicro