{-# 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