{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE OverloadedStrings #-} module Data.Aviation.Casr.Logbook.Reports.Html( htmlFlightPointDay , htmlTakeOffLanding90 , takeofflanding , takeoffslandings90 , htmlSimulatorTimeReport , htmlFlightTimeReport ) where import Control.Category((.)) import Control.Lens((^.), _Wrapped) import Data.Aviation.Casr.Logbook.Types.AircraftFlight ( flightpath ) import Data.Aviation.Casr.Logbook.Types.Entry ( Entry(AircraftFlightEntry) ) import Data.Aviation.Casr.Logbook.Types.FlightPath ( flightStart, flightIntermediate, flightEnd ) import Data.Aviation.Casr.Logbook.Types.FlightPoint ( landingTime, point, FlightPoint ) import Data.Aviation.Casr.Logbook.Types.Logbook ( logbookentries, Logbook ) import Data.Aviation.Casr.Logbook.Types.Time ( daytime ) import Data.Aviation.Casr.Logbook.Html.Html( htmlTimeAmount , htmlAviatorShort ) import Data.Aviation.Casr.Logbook.Reports.FlightTimeReport ( FlightTimeReport, HasFlightTimeReport(hoursInstrument, hoursWithPiC, hoursGA3Instructing, hoursGA2Instructing, hoursGA1Instructing, hoursGAInstructing, hoursRASeniorInstructing, hoursRAJuniorInstructing, hoursRAInstructing, hoursNightInCommand, hoursNightDual, hoursNightICUS, hoursNight, hoursDayInCommand, hoursDayDual, hoursDayICUS, hoursDay, hoursMultiEngineInCommand, hoursMultiEngineDual, hoursMultiEngineICUS, hoursMultiEngine, hoursSingleEngineInCommand, hoursSingleEngineDual, hoursSingleEngineICUS, hoursSingleEngine, hoursInAircraftRegistration, hoursInAircraftType, hoursInstructing, hoursTotalInCommand, hoursTotalDual, hoursTotalICUS, hoursTotal, flightsTotal) ) import Data.Aviation.Casr.Logbook.Reports.SimulatorTimeReport ( HasSimulatorTimeReport(hoursTotalSimulator, hoursInstrumentSimulator), SimulatorTimeReport ) import Data.Aviation.Casr.Logbook.Reports.TakeOffLanding90 ( HasTakeOffLanding90(currency90, landing3, landing2, landing1, takeoff3, takeoff2, takeoff1), TakeOffLanding90(TakeOffLanding90) ) import Data.Foldable(foldr) import Data.Function(flip, ($)) import qualified Data.Map as Map(foldrWithKey) import Data.List(sortBy, (++)) import Data.Maybe(Maybe(Nothing, Just)) import Data.Monoid(mempty) import Data.Ord(comparing, min) import Data.String(fromString) import qualified Data.Text as Text(pack) import Data.Time(addDays) import Lucid( class_ , span_ , ul_ , li_ , div_ , h3_ , href_ , id_ , a_ , ol_ , Html ) import Prelude(show) htmlFlightPointDay :: FlightPoint -> Html () htmlFlightPointDay :: FlightPoint -> HtmlT Identity () htmlFlightPointDay FlightPoint p = let j :: Day j = FlightPoint p FlightPoint -> Getting Day FlightPoint Day -> Day forall s a. s -> Getting a s a -> a ^. (Time -> Const Day Time) -> FlightPoint -> Const Day FlightPoint forall c. HasFlightPoint c => Lens' c Time Lens' FlightPoint Time landingTime ((Time -> Const Day Time) -> FlightPoint -> Const Day FlightPoint) -> ((Day -> Const Day Day) -> Time -> Const Day Time) -> Getting Day FlightPoint Day forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Day -> Const Day Day) -> Time -> Const Day Time forall c. HasTime c => Lens' c Day Lens' Time Day daytime in do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "currencyflightpointday"] (HtmlT Identity () -> HtmlT Identity ()) -> (Day -> HtmlT Identity ()) -> Day -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . String -> HtmlT Identity () forall a. IsString a => String -> a fromString (String -> HtmlT Identity ()) -> (Day -> String) -> Day -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Day -> String forall a. Show a => a -> String show (Day -> HtmlT Identity ()) -> Day -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ Day j HtmlT Identity () " " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "currencyflightpointpoint"] (HtmlT Identity () -> HtmlT Identity ()) -> (String -> HtmlT Identity ()) -> String -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . String -> HtmlT Identity () forall a. IsString a => String -> a fromString (String -> HtmlT Identity ()) -> String -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightPoint p FlightPoint -> Getting String FlightPoint String -> String forall s a. s -> Getting a s a -> a ^. Getting String FlightPoint String forall c. HasFlightPoint c => Lens' c String Lens' FlightPoint String point htmlTakeOffLanding90 :: Logbook a b c d -> Maybe TakeOffLanding90 -> Html () htmlTakeOffLanding90 :: forall a b c d. Logbook a b c d -> Maybe TakeOffLanding90 -> HtmlT Identity () htmlTakeOffLanding90 Logbook a b c d _ Maybe TakeOffLanding90 r = [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result div_ [Text -> Attribute class_ Text "flighttimecurrencyreport"] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result a_ [Text -> Attribute id_ Text "RPT_FlightTimeCurrency"] HtmlT Identity () "" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result a_ [Text -> Attribute href_ (String -> Text Text.pack String "#RPT_FlightTimeCurrency")] (HtmlT Identity () -> HtmlT Identity ()) -> (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "entrytag"] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ HtmlT Identity () "RPT" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result h3_ [Text -> Attribute class_ Text "flighttimecurrencyreportname"] HtmlT Identity () "Flight Time Currency Report" case Maybe TakeOffLanding90 r of Maybe TakeOffLanding90 Nothing -> [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "flighttimenocurrency"] HtmlT Identity () "NIL three take-offs and landings" Just TakeOffLanding90 x -> do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Three most recent take-offs" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ol_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (FlightPoint -> HtmlT Identity () htmlFlightPointDay (TakeOffLanding90 x TakeOffLanding90 -> Getting FlightPoint TakeOffLanding90 FlightPoint -> FlightPoint forall s a. s -> Getting a s a -> a ^. Getting FlightPoint TakeOffLanding90 FlightPoint forall c. HasTakeOffLanding90 c => Lens' c FlightPoint Lens' TakeOffLanding90 FlightPoint takeoff1)) [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (FlightPoint -> HtmlT Identity () htmlFlightPointDay (TakeOffLanding90 x TakeOffLanding90 -> Getting FlightPoint TakeOffLanding90 FlightPoint -> FlightPoint forall s a. s -> Getting a s a -> a ^. Getting FlightPoint TakeOffLanding90 FlightPoint forall c. HasTakeOffLanding90 c => Lens' c FlightPoint Lens' TakeOffLanding90 FlightPoint takeoff2)) [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (FlightPoint -> HtmlT Identity () htmlFlightPointDay (TakeOffLanding90 x TakeOffLanding90 -> Getting FlightPoint TakeOffLanding90 FlightPoint -> FlightPoint forall s a. s -> Getting a s a -> a ^. Getting FlightPoint TakeOffLanding90 FlightPoint forall c. HasTakeOffLanding90 c => Lens' c FlightPoint Lens' TakeOffLanding90 FlightPoint takeoff3)) [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Three most recent landings" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ol_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (FlightPoint -> HtmlT Identity () htmlFlightPointDay (TakeOffLanding90 x TakeOffLanding90 -> Getting FlightPoint TakeOffLanding90 FlightPoint -> FlightPoint forall s a. s -> Getting a s a -> a ^. Getting FlightPoint TakeOffLanding90 FlightPoint forall c. HasTakeOffLanding90 c => Lens' c FlightPoint Lens' TakeOffLanding90 FlightPoint landing1)) [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (FlightPoint -> HtmlT Identity () htmlFlightPointDay (TakeOffLanding90 x TakeOffLanding90 -> Getting FlightPoint TakeOffLanding90 FlightPoint -> FlightPoint forall s a. s -> Getting a s a -> a ^. Getting FlightPoint TakeOffLanding90 FlightPoint forall c. HasTakeOffLanding90 c => Lens' c FlightPoint Lens' TakeOffLanding90 FlightPoint landing2)) [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (FlightPoint -> HtmlT Identity () htmlFlightPointDay (TakeOffLanding90 x TakeOffLanding90 -> Getting FlightPoint TakeOffLanding90 FlightPoint -> FlightPoint forall s a. s -> Getting a s a -> a ^. Getting FlightPoint TakeOffLanding90 FlightPoint forall c. HasTakeOffLanding90 c => Lens' c FlightPoint Lens' TakeOffLanding90 FlightPoint landing3)) [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "90-day currency: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Day -> HtmlT Identity ()) -> Day -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . String -> HtmlT Identity () forall a. IsString a => String -> a fromString (String -> HtmlT Identity ()) -> (Day -> String) -> Day -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Day -> String forall a. Show a => a -> String show (Day -> HtmlT Identity ()) -> Day -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ TakeOffLanding90 x TakeOffLanding90 -> Getting Day TakeOffLanding90 Day -> Day forall s a. s -> Getting a s a -> a ^. Getting Day TakeOffLanding90 Day forall c. HasTakeOffLanding90 c => Lens' c Day Lens' TakeOffLanding90 Day currency90 takeofflanding :: Entry a b c d -> ([FlightPoint], [FlightPoint]) takeofflanding :: forall a b c d. Entry a b c d -> ([FlightPoint], [FlightPoint]) takeofflanding (AircraftFlightEntry AircraftFlight fl a _) = let p :: FlightPath p = AircraftFlight fl AircraftFlight -> Getting FlightPath AircraftFlight FlightPath -> FlightPath forall s a. s -> Getting a s a -> a ^. Getting FlightPath AircraftFlight FlightPath forall c. HasAircraftFlight c => Lens' c FlightPath Lens' AircraftFlight FlightPath flightpath i :: [FlightPoint] i = FlightPath p FlightPath -> Getting [FlightPoint] FlightPath [FlightPoint] -> [FlightPoint] forall s a. s -> Getting a s a -> a ^. Getting [FlightPoint] FlightPath [FlightPoint] forall c. HasFlightPath c => Lens' c [FlightPoint] Lens' FlightPath [FlightPoint] flightIntermediate in (FlightPath p FlightPath -> Getting FlightPoint FlightPath FlightPoint -> FlightPoint forall s a. s -> Getting a s a -> a ^. Getting FlightPoint FlightPath FlightPoint forall c. HasFlightPath c => Lens' c FlightPoint Lens' FlightPath FlightPoint flightStart FlightPoint -> [FlightPoint] -> [FlightPoint] forall a. a -> [a] -> [a] : [FlightPoint] i, [FlightPoint] i [FlightPoint] -> [FlightPoint] -> [FlightPoint] forall a. [a] -> [a] -> [a] ++ [FlightPath p FlightPath -> Getting FlightPoint FlightPath FlightPoint -> FlightPoint forall s a. s -> Getting a s a -> a ^. Getting FlightPoint FlightPath FlightPoint forall c. HasFlightPath c => Lens' c FlightPoint Lens' FlightPath FlightPoint flightEnd]) takeofflanding Entry a b c d _ = ([], []) takeoffslandings90 :: Logbook a b c d -> Maybe TakeOffLanding90 takeoffslandings90 :: forall a b c d. Logbook a b c d -> Maybe TakeOffLanding90 takeoffslandings90 Logbook a b c d b = let ([FlightPoint] t, [FlightPoint] l) = (Entry a b c d -> ([FlightPoint], [FlightPoint]) -> ([FlightPoint], [FlightPoint])) -> ([FlightPoint], [FlightPoint]) -> [Entry a b c d] -> ([FlightPoint], [FlightPoint]) forall a b. (a -> b -> b) -> b -> [a] -> b forall (t :: * -> *) a b. Foldable t => (a -> b -> b) -> b -> t a -> b foldr (\Entry a b c d a ([FlightPoint] t', [FlightPoint] l') -> let ([FlightPoint] u', [FlightPoint] m') = Entry a b c d -> ([FlightPoint], [FlightPoint]) forall a b c d. Entry a b c d -> ([FlightPoint], [FlightPoint]) takeofflanding Entry a b c d a in ([FlightPoint] t' [FlightPoint] -> [FlightPoint] -> [FlightPoint] forall a. [a] -> [a] -> [a] ++ [FlightPoint] u', [FlightPoint] m' [FlightPoint] -> [FlightPoint] -> [FlightPoint] forall a. [a] -> [a] -> [a] ++ [FlightPoint] l')) ([], []) (Logbook a b c d b Logbook a b c d -> Getting [Entry a b c d] (Logbook a b c d) [Entry a b c d] -> [Entry a b c d] forall s a. s -> Getting a s a -> a ^. (Entries a b c d -> Const [Entry a b c d] (Entries a b c d)) -> Logbook a b c d -> Const [Entry a b c d] (Logbook a b c d) forall c ae se ee be. HasLogbook c ae se ee be => Lens' c (Entries ae se ee be) Lens' (Logbook a b c d) (Entries a b c d) logbookentries ((Entries a b c d -> Const [Entry a b c d] (Entries a b c d)) -> Logbook a b c d -> Const [Entry a b c d] (Logbook a b c d)) -> (([Entry a b c d] -> Const [Entry a b c d] [Entry a b c d]) -> Entries a b c d -> Const [Entry a b c d] (Entries a b c d)) -> Getting [Entry a b c d] (Logbook a b c d) [Entry a b c d] forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . ([Entry a b c d] -> Const [Entry a b c d] [Entry a b c d]) -> Entries a b c d -> Const [Entry a b c d] (Entries a b c d) (Unwrapped (Entries a b c d) -> Const [Entry a b c d] (Unwrapped (Entries a b c d))) -> Entries a b c d -> Const [Entry a b c d] (Entries a b c d) forall s t. Rewrapping s t => Iso s t (Unwrapped s) (Unwrapped t) Iso (Entries a b c d) (Entries a b c d) (Unwrapped (Entries a b c d)) (Unwrapped (Entries a b c d)) _Wrapped) revsort :: [FlightPoint] -> [FlightPoint] revsort = (FlightPoint -> FlightPoint -> Ordering) -> [FlightPoint] -> [FlightPoint] forall a. (a -> a -> Ordering) -> [a] -> [a] sortBy ((FlightPoint -> FlightPoint -> Ordering) -> FlightPoint -> FlightPoint -> Ordering forall a b c. (a -> b -> c) -> b -> a -> c flip ((FlightPoint -> Time) -> FlightPoint -> FlightPoint -> Ordering forall a b. Ord a => (b -> a) -> b -> b -> Ordering comparing (FlightPoint -> Getting Time FlightPoint Time -> Time forall s a. s -> Getting a s a -> a ^. Getting Time FlightPoint Time forall c. HasFlightPoint c => Lens' c Time Lens' FlightPoint Time landingTime))) ([FlightPoint] u, [FlightPoint] m) = ([FlightPoint] -> [FlightPoint] revsort [FlightPoint] t, [FlightPoint] -> [FlightPoint] revsort [FlightPoint] l) in case [FlightPoint] u of FlightPoint t1:FlightPoint t2:FlightPoint t3:[FlightPoint] _ -> case [FlightPoint] m of FlightPoint l1:FlightPoint l2:FlightPoint l3:[FlightPoint] _ -> let tt :: Day tt = FlightPoint t3 FlightPoint -> Getting Day FlightPoint Day -> Day forall s a. s -> Getting a s a -> a ^. (Time -> Const Day Time) -> FlightPoint -> Const Day FlightPoint forall c. HasFlightPoint c => Lens' c Time Lens' FlightPoint Time landingTime ((Time -> Const Day Time) -> FlightPoint -> Const Day FlightPoint) -> ((Day -> Const Day Day) -> Time -> Const Day Time) -> Getting Day FlightPoint Day forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Day -> Const Day Day) -> Time -> Const Day Time forall c. HasTime c => Lens' c Day Lens' Time Day daytime lt :: Day lt = FlightPoint l3 FlightPoint -> Getting Day FlightPoint Day -> Day forall s a. s -> Getting a s a -> a ^. (Time -> Const Day Time) -> FlightPoint -> Const Day FlightPoint forall c. HasFlightPoint c => Lens' c Time Lens' FlightPoint Time landingTime ((Time -> Const Day Time) -> FlightPoint -> Const Day FlightPoint) -> ((Day -> Const Day Day) -> Time -> Const Day Time) -> Getting Day FlightPoint Day forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Day -> Const Day Day) -> Time -> Const Day Time forall c. HasTime c => Lens' c Day Lens' Time Day daytime in TakeOffLanding90 -> Maybe TakeOffLanding90 forall a. a -> Maybe a Just (FlightPoint -> FlightPoint -> FlightPoint -> FlightPoint -> FlightPoint -> FlightPoint -> Day -> TakeOffLanding90 TakeOffLanding90 FlightPoint t1 FlightPoint t2 FlightPoint t3 FlightPoint l1 FlightPoint l2 FlightPoint l3 (Integer -> Day -> Day addDays Integer 90 (Day tt Day -> Day -> Day forall a. Ord a => a -> a -> a `min` Day lt))) [FlightPoint] _ -> Maybe TakeOffLanding90 forall a. Maybe a Nothing [FlightPoint] _ -> Maybe TakeOffLanding90 forall a. Maybe a Nothing htmlSimulatorTimeReport :: Logbook a b c d -> SimulatorTimeReport -> Html () htmlSimulatorTimeReport :: forall a b c d. Logbook a b c d -> SimulatorTimeReport -> HtmlT Identity () htmlSimulatorTimeReport Logbook a b c d _ SimulatorTimeReport r = [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result div_ [Text -> Attribute class_ Text "simulatortimereport"] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result a_ [Text -> Attribute id_ Text "RPT_SimulatorTimeSummary"] HtmlT Identity () "" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result a_ [Text -> Attribute href_ (String -> Text Text.pack String "#RPT_SimulatorTimeSummary")] (HtmlT Identity () -> HtmlT Identity ()) -> (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "entrytag"] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ HtmlT Identity () "RPT" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result h3_ [Text -> Attribute class_ Text "simulatortimereportname"] HtmlT Identity () "Simulator Time Summary Report" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Total Simulator Hours: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ SimulatorTimeReport r SimulatorTimeReport -> Getting TimeAmount SimulatorTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount SimulatorTimeReport TimeAmount forall c. HasSimulatorTimeReport c => Lens' c TimeAmount Lens' SimulatorTimeReport TimeAmount hoursInstrumentSimulator [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Instrument Simulator Hours: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ SimulatorTimeReport r SimulatorTimeReport -> Getting TimeAmount SimulatorTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount SimulatorTimeReport TimeAmount forall c. HasSimulatorTimeReport c => Lens' c TimeAmount Lens' SimulatorTimeReport TimeAmount hoursTotalSimulator htmlFlightTimeReport :: Logbook a b c d -> FlightTimeReport -> Html () htmlFlightTimeReport :: forall a b c d. Logbook a b c d -> FlightTimeReport -> HtmlT Identity () htmlFlightTimeReport Logbook a b c d _ FlightTimeReport r = [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result div_ [Text -> Attribute class_ Text "flighttimereport"] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result a_ [Text -> Attribute id_ Text "RPT_FlightTimeSummary"] HtmlT Identity () "" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result a_ [Text -> Attribute href_ (String -> Text Text.pack String "#RPT_FlightTimeSummary")] (HtmlT Identity () -> HtmlT Identity ()) -> (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "entrytag"] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ HtmlT Identity () "RPT" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result h3_ [Text -> Attribute class_ Text "flighttimereportname"] HtmlT Identity () "Flight Time Summary Report" [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Total Flights: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . String -> HtmlT Identity () forall a. IsString a => String -> a fromString (String -> HtmlT Identity ()) -> (Int -> String) -> Int -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Int -> String forall a. Show a => a -> String show (Int -> HtmlT Identity ()) -> Int -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ (FlightTimeReport r FlightTimeReport -> Getting Int FlightTimeReport Int -> Int forall s a. s -> Getting a s a -> a ^. Getting Int FlightTimeReport Int forall c. HasFlightTimeReport c => Lens' c Int Lens' FlightTimeReport Int flightsTotal) [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Total Flight Hours: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursTotal [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursTotalICUS [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "dual under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursTotalDual [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursTotalInCommand [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "providing instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursInstructing [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Hours in type: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result div_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity ()) -> Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity ()) -> Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (String -> (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity () forall k a b. (k -> a -> b -> b) -> b -> Map k a -> b Map.foldrWithKey (\String y (TimeAmount tl, TimeAmount iu, TimeAmount dl, TimeAmount ic) HtmlT Identity () x -> do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "aircrafttype"] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ String -> HtmlT Identity () forall a. IsString a => String -> a fromString String y [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "total: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ TimeAmount tl [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ TimeAmount iu [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "dual under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ TimeAmount dl [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ TimeAmount ic HtmlT Identity () x) HtmlT Identity () forall a. Monoid a => a mempty (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity ()) -> Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) FlightTimeReport (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) -> Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) forall s a. s -> Getting a s a -> a ^. Getting (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) FlightTimeReport (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) forall c. HasFlightTimeReport c => Lens' c (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) Lens' FlightTimeReport (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) hoursInAircraftType [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Hours in registration: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result div_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity ()) -> Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity ()) -> Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (String -> (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity () forall k a b. (k -> a -> b -> b) -> b -> Map k a -> b Map.foldrWithKey (\String y (TimeAmount tl, TimeAmount iu, TimeAmount dl, TimeAmount ic) HtmlT Identity () x -> do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "aircraftregistration"] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ String -> HtmlT Identity () forall a. IsString a => String -> a fromString String y [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "total: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ TimeAmount tl [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ TimeAmount iu [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "dual under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ TimeAmount dl [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ TimeAmount ic HtmlT Identity () x) HtmlT Identity () forall a. Monoid a => a mempty (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity ()) -> Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) FlightTimeReport (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) -> Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount) forall s a. s -> Getting a s a -> a ^. Getting (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) FlightTimeReport (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) forall c. HasFlightTimeReport c => Lens' c (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) Lens' FlightTimeReport (Map String (TimeAmount, TimeAmount, TimeAmount, TimeAmount)) hoursInAircraftRegistration [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Hours in Single-Engine: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursSingleEngine [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursSingleEngineICUS [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "dual under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursSingleEngineDual [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursSingleEngineInCommand [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Hours in Multi-Engine: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursMultiEngine [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursMultiEngineICUS [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "dual under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursMultiEngineDual [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursMultiEngineInCommand [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Hours in Day: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursDay [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursDayICUS [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "dual under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursDayDual [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursDayInCommand [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Hours in Night: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursNight [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursNightICUS [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "dual under-instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursNightDual [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "in-command: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursNightInCommand [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "providing instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursInstructing [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "providing RA instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursRAInstructing [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "providing RA Junior instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursRAJuniorInstructing [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "providing RA Senior instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursRASeniorInstructing [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "providing GA instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursGAInstructing [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "providing GA 1 instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursGA1Instructing [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "providing GA 2 instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursGA2Instructing [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "providing GA 3 instruction: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursGA3Instructing [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Hours with PiC: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result div_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (Map Aviator TimeAmount -> HtmlT Identity ()) -> Map Aviator TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result ul_ [] (HtmlT Identity () -> HtmlT Identity ()) -> (Map Aviator TimeAmount -> HtmlT Identity ()) -> Map Aviator TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . (Aviator -> TimeAmount -> HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> Map Aviator TimeAmount -> HtmlT Identity () forall k a b. (k -> a -> b -> b) -> b -> Map k a -> b Map.foldrWithKey (\Aviator a TimeAmount t HtmlT Identity () x -> do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do Aviator -> HtmlT Identity () htmlAviatorShort Aviator a HtmlT Identity () ": " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ TimeAmount t HtmlT Identity () x) HtmlT Identity () forall a. Monoid a => a mempty (Map Aviator TimeAmount -> HtmlT Identity ()) -> Map Aviator TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting (Map Aviator TimeAmount) FlightTimeReport (Map Aviator TimeAmount) -> Map Aviator TimeAmount forall s a. s -> Getting a s a -> a ^. Getting (Map Aviator TimeAmount) FlightTimeReport (Map Aviator TimeAmount) forall c. HasFlightTimeReport c => Lens' c (Map Aviator TimeAmount) Lens' FlightTimeReport (Map Aviator TimeAmount) hoursWithPiC [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result li_ [] (HtmlT Identity () -> HtmlT Identity ()) -> HtmlT Identity () -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ do [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "key"] HtmlT Identity () "Hours instrument in-flight: " [Attribute] -> HtmlT Identity () -> HtmlT Identity () forall arg result. Term arg result => arg -> result span_ [Text -> Attribute class_ Text "value"] (HtmlT Identity () -> HtmlT Identity ()) -> (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . TimeAmount -> HtmlT Identity () htmlTimeAmount (TimeAmount -> HtmlT Identity ()) -> TimeAmount -> HtmlT Identity () forall a b. (a -> b) -> a -> b $ FlightTimeReport r FlightTimeReport -> Getting TimeAmount FlightTimeReport TimeAmount -> TimeAmount forall s a. s -> Getting a s a -> a ^. Getting TimeAmount FlightTimeReport TimeAmount forall c. HasFlightTimeReport c => Lens' c TimeAmount Lens' FlightTimeReport TimeAmount hoursInstrument