import public Data.Nat
import public Data.Refined
import public Data.Time.Date
import public Data.Refined.Integerrecord Hour : Type.hour : Hour -> Integerhour : Hour -> Integer0 .valid : ({rec:0} : Hour) -> FromTo 0 23 (hour {rec:0})0 valid : ({rec:0} : Hour) -> FromTo 0 23 (hour {rec:0})record Minute : Type.minute : Minute -> Integerminute : Minute -> Integer0 .valid : ({rec:0} : Minute) -> FromTo 0 59 (minute {rec:0})0 valid : ({rec:0} : Minute) -> FromTo 0 59 (minute {rec:0})record Second : Type.second : Second -> Integersecond : Second -> Integer0 .valid : ({rec:0} : Second) -> FromTo 0 60 (second {rec:0})0 valid : ({rec:0} : Second) -> FromTo 0 60 (second {rec:0})record MicroSecond : TypeMS : (us : Integer) -> {auto 0 _ : FromTo 0 999999 us} -> MicroSecond.us : MicroSecond -> Integer0 .valid : ({rec:0} : MicroSecond) -> FromTo 0 999999 (us {rec:0})Eq MicroSecondInterpolation MicroSecondOrd MicroSecondShow MicroSecond.us : MicroSecond -> Integerus : MicroSecond -> Integer0 .valid : ({rec:0} : MicroSecond) -> FromTo 0 999999 (us {rec:0})0 valid : ({rec:0} : MicroSecond) -> FromTo 0 999999 (us {rec:0})record LocalTime : Type.hour : LocalTime -> Hour.minute : LocalTime -> Minute.prec : LocalTime -> Maybe MicroSecond.second : LocalTime -> Second.hour : LocalTime -> Hourhour : LocalTime -> Hour.minute : LocalTime -> Minuteminute : LocalTime -> Minute.second : LocalTime -> Secondsecond : LocalTime -> Second.prec : LocalTime -> Maybe MicroSecondprec : LocalTime -> Maybe MicroSeconddata Sign : Typedata Offset : Typerecord OffsetTime : TypeOT : LocalTime -> Offset -> OffsetTime.offset : OffsetTime -> Offset.time : OffsetTime -> LocalTimeEq OffsetTimeInterpolation OffsetTimeShow OffsetTime.time : OffsetTime -> LocalTimetime : OffsetTime -> LocalTime.offset : OffsetTime -> Offsetoffset : OffsetTime -> Offsetrecord LocalDateTime : TypeLDT : Date -> LocalTime -> LocalDateTime.date : LocalDateTime -> Date.time : LocalDateTime -> LocalTimeEq LocalDateTimeInterpolation LocalDateTimeShow LocalDateTime.date : LocalDateTime -> Datedate : LocalDateTime -> Date.time : LocalDateTime -> LocalTimetime : LocalDateTime -> LocalTimerecord OffsetDateTime : TypeODT : Date -> OffsetTime -> OffsetDateTime.date : OffsetDateTime -> Date.time : OffsetDateTime -> OffsetTimeEq OffsetDateTimeInterpolation OffsetDateTimeShow OffsetDateTime.date : OffsetDateTime -> Datedate : OffsetDateTime -> Date.time : OffsetDateTime -> OffsetTimetime : OffsetDateTime -> OffsetTimedata AnyTime : TypeATDate : Date -> AnyTimeATLocalTime : LocalTime -> AnyTimeATLocalDateTime : LocalDateTime -> AnyTimeATOffsetDateTime : OffsetDateTime -> AnyTime