packages feed

espial 0.0.4 → 0.0.5

raw patch · 34 files changed

+13559/−13664 lines, 34 filesdep +ekgdep +ekg-coredep +monad-metricsdep ~aesondep ~bcryptdep ~bytestring

Dependencies added: ekg, ekg-core, monad-metrics, pinboard, wai-middleware-metrics

Dependency ranges changed: aeson, bcrypt, bytestring, conduit, directory, fast-logger, hjsmin, http-conduit, iso8601-time, monad-control, monad-logger, persistent, persistent-sqlite, persistent-template, shakespeare, text, wai-extra, wai-logger, warp, yaml, yesod, yesod-auth, yesod-core, yesod-form, yesod-static

Files

README.md view
@@ -2,6 +2,22 @@  Espial is an open-source, web-based bookmarking server. +It allows mutiple accounts, but currently intended for self-host scenarios.++The bookmarks are stored in a sqlite3 database, for ease of deployment & maintenence.++The easist way for logged-in users to add bookmarks, is with the "bookmarklet", found on the Settings page.++## demo server++log in — username: demo  password: demo++https://esp.ae8.org/u:demo++![jpg](https://i.imgur.com/y8PE0Ul.png)+++ ## Haskell Setup  1. If you haven't already, [install Stack](https://haskell-lang.org/get-started)
app/migration/Main.hs view
@@ -5,7 +5,6 @@ import Types import Model import ModelCrypto-import Pretty  import qualified Database.Persist as P import qualified Database.Persist.Sqlite as P@@ -21,41 +20,53 @@                , userPassword :: Text                , userApiToken :: Maybe Text}   | DeleteUser { conn :: Text-               , userName :: Text-               }+               , userName :: Text}   | ImportBookmarks { conn :: Text                     , userName :: Text                     , bookmarkFile :: FilePath}+  | ImportNotes { conn :: Text+                , userName :: Text+                , noteDirectory :: FilePath}   deriving (Generic, Show)  instance ParseRecord MigrationOpts  main :: IO ()-main =-  getRecord "Migrations" >>=-  \case-    CreateDB conn -> P.runSqlite conn runMigrations+main = do+  args <- getRecord "Migrations"+  case args of++    CreateDB conn ->+      P.runSqlite conn runMigrations+     CreateUser conn uname upass utoken ->-      P.runSqlite conn $-      do hash' <- liftIO $ hashPassword upass-         user <--           P.upsertBy-             (UniqueUserName uname)-             (User uname hash' utoken)-             [UserPasswordHash P.=. hash', UserApiToken P.=. utoken]-         liftIO $ cpprint user-         pure () :: DB ()+      P.runSqlite conn $ do+        hash' <- liftIO (hashPassword upass)+        void $ P.upsertBy+          (UniqueUserName uname)+          (User uname hash' utoken)+          [UserPasswordHash P.=. hash', UserApiToken P.=. utoken]+        pure () :: DB ()+     DeleteUser conn uname ->-      P.runSqlite conn $-      do P.getBy (UniqueUserName uname) >>=-           \case-             Just (P.Entity uid _) -> do-               P.deleteCascade uid-               pure () :: DB ()-             Nothing -> liftIO $ print $ uname ++ "not found"+      P.runSqlite conn $ do+        muser <- P.getBy (UniqueUserName uname)+        case muser of+          Nothing -> liftIO (print (uname ++ "not found"))+          Just (P.Entity uid _) -> do+            P.deleteCascade uid+            pure () :: DB ()+     ImportBookmarks conn uname file ->-      P.runSqlite conn $-      do P.getBy (UniqueUserName uname) >>=-           \case-             Just (P.Entity uid _) -> insertFileBookmarks uid file-             Nothing -> liftIO $ print $ uname ++ "not found"+      P.runSqlite conn $ do+        muser <- P.getBy (UniqueUserName uname)+        case muser of+          Just (P.Entity uid _) -> insertFilePbPosts uid file+          Nothing -> liftIO (print (uname ++ "not found"))++    ImportNotes conn uname dir ->+      P.runSqlite conn $ do+        muser <- P.getBy (UniqueUserName uname)+        case muser of+          Just (P.Entity uid _) -> insertDirPbNotes uid dir+          Nothing -> liftIO (print (uname ++ "not found"))
changelog.md view
@@ -1,3 +1,7 @@+__v0.0.5__++add notes, ekg. update data fetches + __v0.0.3__  replaced jQuery and .julius scripts with PureScript-compiled static js file
config/routes view
@@ -5,12 +5,22 @@  /auth  AuthR  Auth getAuth +-- notes+!/#UserNameP/notes NotesR GET+!/#UserNameP/notes/#Int64 NoteR GET+!/#UserNameP/notes/add AddNoteViewR GET+!/api/note/#Int64 DeleteNoteR DELETE+!/api/note/add AddNoteR POST+ -- user / HomeR GET !/#UserNameP UserR GET !/#UserNameP/#SharedP UserSharedR GET !/#UserNameP/#FilterP UserFilterR GET !/#UserNameP/#TagsP UserTagsR GET++-- settings+!/#UserNameP/Settings UserSettingsR GET  -- add /add AddViewR GET
espial.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 8ef5bfe0c483801f3c3100cffc7bf1dbacace5b94ff965f13cef227a59e290c5+-- hash: e4fdf7bcebff83a6ea6853b7aad42d28122ca511fc2dbf38d99cb1aac15181d1  name:           espial-version:        0.0.4+version:        0.0.5 synopsis:       Espial is an open-source, web-based bookmarking server. description:    .                 Espial is an open-source, web-based bookmarking server.@@ -59,8 +59,11 @@     templates/default-layout.hamlet     templates/homepage.hamlet     templates/login.hamlet+    templates/note.hamlet+    templates/notes.hamlet     templates/pager.hamlet     templates/popup-layout.hamlet+    templates/user-settings.hamlet     templates/user.hamlet  source-repository head@@ -82,51 +85,57 @@       src   default-extensions: BangPatterns CPP ConstraintKinds DeriveDataTypeable DeriveGeneric EmptyDataDecls FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving InstanceSigs LambdaCase MultiParamTypeClasses MultiWayIf NoImplicitPrelude OverloadedStrings QuasiQuotes RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeFamilies TypeOperators ViewPatterns   build-depends:-      aeson >=0.11.1 && <2.0+      aeson >=0.11.1     , base >=4.8.2.0 && <4.9 || >=4.9.1.0 && <5-    , bcrypt >=0.0.8 && <0.0.12-    , bytestring >=0.9 && <0.11+    , bcrypt >=0.0.8+    , bytestring >=0.9     , case-insensitive     , classy-prelude >=0.10.2     , classy-prelude-conduit >=0.10.2     , classy-prelude-yesod >=0.10.2 && <1.0 || >=1.1-    , conduit >=1.0 && <2.0+    , conduit >=1.0     , containers     , data-default-    , directory >=1.1 && <1.4+    , directory >=1.1+    , ekg+    , ekg-core     , esqueleto-    , fast-logger >=2.2 && <2.5+    , fast-logger >=2.2     , file-embed     , foreign-store-    , hjsmin >=0.1 && <0.3+    , hjsmin >=0.1     , hscolour-    , http-conduit >=2.1 && <2.3.2-    , iso8601-time >=0.1.3 && <0.2.0-    , monad-control >=0.3 && <1.1-    , monad-logger >=0.3 && <0.4+    , http-conduit >=2.1+    , iso8601-time >=0.1.3+    , microlens+    , monad-control >=0.3+    , monad-logger >=0.3+    , monad-metrics     , mtl-    , persistent >=2.0 && <2.8.3-    , persistent-sqlite >=2.6.2 && <2.8.2-    , persistent-template >=2.0 && <2.8+    , persistent >=2.0+    , persistent-sqlite >=2.6.2+    , persistent-template >=2.0+    , pinboard     , pretty-show     , safe-    , shakespeare >=2.0 && <2.1+    , shakespeare >=2.0     , template-haskell-    , text >=0.11 && <2.0+    , text >=0.11     , time     , transformers >=0.2.2     , unordered-containers     , vector     , wai-    , wai-extra >=3.0 && <3.1-    , wai-logger >=2.2 && <2.4-    , warp >=3.0 && <3.3-    , yaml >=0.8 && <0.9-    , yesod >=1.4.3 && <1.7-    , yesod-auth >=1.4.0 && <1.7-    , yesod-core >=1.4.30 && <1.7-    , yesod-form >=1.4.0 && <1.7-    , yesod-static >=1.4.0.3 && <1.7+    , wai-extra >=3.0+    , wai-logger >=2.2+    , wai-middleware-metrics+    , warp >=3.0+    , yaml >=0.8+    , yesod >=1.4.3+    , yesod-auth >=1.4.0+    , yesod-core >=1.4.30+    , yesod-form >=1.4.0+    , yesod-static >=1.4.0.3   if (flag(dev)) || (flag(library-only))     ghc-options: -Wall -fwarn-tabs -O0     cpp-options: -DDEVELOPMENT@@ -139,6 +148,7 @@       Handler.Common       Handler.Edit       Handler.Home+      Handler.Notes       Handler.User       Import       Import.NoFoundation@@ -160,52 +170,58 @@   default-extensions: BangPatterns CPP ConstraintKinds DeriveDataTypeable DeriveGeneric EmptyDataDecls FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving InstanceSigs LambdaCase MultiParamTypeClasses MultiWayIf NoImplicitPrelude OverloadedStrings QuasiQuotes RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeFamilies TypeOperators ViewPatterns   ghc-options: -threaded -rtsopts -with-rtsopts=-N   build-depends:-      aeson >=0.11.1 && <2.0+      aeson >=0.11.1     , base >=4.8.2.0 && <4.9 || >=4.9.1.0 && <5-    , bcrypt >=0.0.8 && <0.0.12-    , bytestring >=0.9 && <0.11+    , bcrypt >=0.0.8+    , bytestring >=0.9     , case-insensitive     , classy-prelude >=0.10.2     , classy-prelude-conduit >=0.10.2     , classy-prelude-yesod >=0.10.2 && <1.0 || >=1.1-    , conduit >=1.0 && <2.0+    , conduit >=1.0     , containers     , data-default-    , directory >=1.1 && <1.4+    , directory >=1.1+    , ekg+    , ekg-core     , espial     , esqueleto-    , fast-logger >=2.2 && <2.5+    , fast-logger >=2.2     , file-embed     , foreign-store-    , hjsmin >=0.1 && <0.3+    , hjsmin >=0.1     , hscolour-    , http-conduit >=2.1 && <2.3.2-    , iso8601-time >=0.1.3 && <0.2.0-    , monad-control >=0.3 && <1.1-    , monad-logger >=0.3 && <0.4+    , http-conduit >=2.1+    , iso8601-time >=0.1.3+    , microlens+    , monad-control >=0.3+    , monad-logger >=0.3+    , monad-metrics     , mtl-    , persistent >=2.0 && <2.8.3-    , persistent-sqlite >=2.6.2 && <2.8.2-    , persistent-template >=2.0 && <2.8+    , persistent >=2.0+    , persistent-sqlite >=2.6.2+    , persistent-template >=2.0+    , pinboard     , pretty-show     , safe-    , shakespeare >=2.0 && <2.1+    , shakespeare >=2.0     , template-haskell-    , text >=0.11 && <2.0+    , text >=0.11     , time     , transformers >=0.2.2     , unordered-containers     , vector     , wai-    , wai-extra >=3.0 && <3.1-    , wai-logger >=2.2 && <2.4-    , warp >=3.0 && <3.3-    , yaml >=0.8 && <0.9-    , yesod >=1.4.3 && <1.7-    , yesod-auth >=1.4.0 && <1.7-    , yesod-core >=1.4.30 && <1.7-    , yesod-form >=1.4.0 && <1.7-    , yesod-static >=1.4.0.3 && <1.7+    , wai-extra >=3.0+    , wai-logger >=2.2+    , wai-middleware-metrics+    , warp >=3.0+    , yaml >=0.8+    , yesod >=1.4.3+    , yesod-auth >=1.4.0+    , yesod-core >=1.4.30+    , yesod-form >=1.4.0+    , yesod-static >=1.4.0.3   if flag(library-only)     buildable: False   other-modules:@@ -220,53 +236,59 @@   default-extensions: BangPatterns CPP ConstraintKinds DeriveDataTypeable DeriveGeneric EmptyDataDecls FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving InstanceSigs LambdaCase MultiParamTypeClasses MultiWayIf NoImplicitPrelude OverloadedStrings QuasiQuotes RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeFamilies TypeOperators ViewPatterns   ghc-options: -threaded -rtsopts -with-rtsopts=-N   build-depends:-      aeson >=0.11.1 && <2.0+      aeson >=0.11.1     , base >=4.8.2.0 && <4.9 || >=4.9.1.0 && <5-    , bcrypt >=0.0.8 && <0.0.12-    , bytestring >=0.9 && <0.11+    , bcrypt >=0.0.8+    , bytestring >=0.9     , case-insensitive     , classy-prelude >=0.10.2     , classy-prelude-conduit >=0.10.2     , classy-prelude-yesod >=0.10.2 && <1.0 || >=1.1-    , conduit >=1.0 && <2.0+    , conduit >=1.0     , containers     , data-default-    , directory >=1.1 && <1.4+    , directory >=1.1+    , ekg+    , ekg-core     , espial     , esqueleto-    , fast-logger >=2.2 && <2.5+    , fast-logger >=2.2     , file-embed     , foreign-store-    , hjsmin >=0.1 && <0.3+    , hjsmin >=0.1     , hscolour-    , http-conduit >=2.1 && <2.3.2-    , iso8601-time >=0.1.3 && <0.2.0-    , monad-control >=0.3 && <1.1-    , monad-logger >=0.3 && <0.4+    , http-conduit >=2.1+    , iso8601-time >=0.1.3+    , microlens+    , monad-control >=0.3+    , monad-logger >=0.3+    , monad-metrics     , mtl     , optparse-generic >=1.2.3-    , persistent >=2.0 && <2.8.3-    , persistent-sqlite >=2.6.2 && <2.8.2-    , persistent-template >=2.0 && <2.8+    , persistent >=2.0+    , persistent-sqlite >=2.6.2+    , persistent-template >=2.0+    , pinboard     , pretty-show     , safe-    , shakespeare >=2.0 && <2.1+    , shakespeare >=2.0     , template-haskell-    , text >=0.11 && <2.0+    , text >=0.11     , time     , transformers >=0.2.2     , unordered-containers     , vector     , wai-    , wai-extra >=3.0 && <3.1-    , wai-logger >=2.2 && <2.4-    , warp >=3.0 && <3.3-    , yaml >=0.8 && <0.9-    , yesod >=1.4.3 && <1.7-    , yesod-auth >=1.4.0 && <1.7-    , yesod-core >=1.4.30 && <1.7-    , yesod-form >=1.4.0 && <1.7-    , yesod-static >=1.4.0.3 && <1.7+    , wai-extra >=3.0+    , wai-logger >=2.2+    , wai-middleware-metrics+    , warp >=3.0+    , yaml >=0.8+    , yesod >=1.4.3+    , yesod-auth >=1.4.0+    , yesod-core >=1.4.30+    , yesod-form >=1.4.0+    , yesod-static >=1.4.0.3   if flag(library-only)     buildable: False   other-modules:@@ -281,54 +303,59 @@   default-extensions: BangPatterns CPP ConstraintKinds DeriveDataTypeable DeriveGeneric EmptyDataDecls FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving InstanceSigs LambdaCase MultiParamTypeClasses MultiWayIf NoImplicitPrelude OverloadedStrings QuasiQuotes RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeFamilies TypeOperators ViewPatterns   ghc-options: -Wall   build-depends:-      aeson >=0.11.1 && <2.0+      aeson >=0.11.1     , base >=4.8.2.0 && <4.9 || >=4.9.1.0 && <5-    , bcrypt >=0.0.8 && <0.0.12-    , bytestring >=0.9 && <0.11+    , bcrypt >=0.0.8+    , bytestring >=0.9     , case-insensitive     , classy-prelude >=0.10.2     , classy-prelude-conduit >=0.10.2     , classy-prelude-yesod >=0.10.2 && <1.0 || >=1.1-    , conduit >=1.0 && <2.0+    , conduit >=1.0     , containers     , data-default-    , directory >=1.1 && <1.4+    , directory >=1.1+    , ekg+    , ekg-core     , espial     , esqueleto-    , fast-logger >=2.2 && <2.5+    , fast-logger >=2.2     , file-embed     , foreign-store-    , hjsmin >=0.1 && <0.3+    , hjsmin >=0.1     , hscolour     , hspec >=2.0.0-    , http-conduit >=2.1 && <2.3.2-    , iso8601-time >=0.1.3 && <0.2.0+    , http-conduit >=2.1+    , iso8601-time >=0.1.3     , microlens-    , monad-control >=0.3 && <1.1-    , monad-logger >=0.3 && <0.4+    , monad-control >=0.3+    , monad-logger >=0.3+    , monad-metrics     , mtl-    , persistent >=2.0 && <2.8.3-    , persistent-sqlite >=2.6.2 && <2.8.2-    , persistent-template >=2.0 && <2.8+    , persistent >=2.0+    , persistent-sqlite >=2.6.2+    , persistent-template >=2.0+    , pinboard     , pretty-show     , safe-    , shakespeare >=2.0 && <2.1+    , shakespeare >=2.0     , template-haskell-    , text >=0.11 && <2.0+    , text >=0.11     , time     , transformers >=0.2.2     , unordered-containers     , vector     , wai-    , wai-extra >=3.0 && <3.1-    , wai-logger >=2.2 && <2.4-    , warp >=3.0 && <3.3-    , yaml >=0.8 && <0.9-    , yesod >=1.4.3 && <1.7-    , yesod-auth >=1.4.0 && <1.7-    , yesod-core >=1.4.30 && <1.7-    , yesod-form >=1.4.0 && <1.7-    , yesod-static >=1.4.0.3 && <1.7+    , wai-extra >=3.0+    , wai-logger >=2.2+    , wai-middleware-metrics+    , warp >=3.0+    , yaml >=0.8+    , yesod >=1.4.3+    , yesod-auth >=1.4.0+    , yesod-core >=1.4.30+    , yesod-form >=1.4.0+    , yesod-static >=1.4.0.3     , yesod-test   other-modules:       Handler.CommonSpec
purs/src/App.purs view
@@ -2,6 +2,7 @@ 
 import Prelude
 
+import Data.Argonaut (Json)
 import Data.Array ((:))
 import Data.Either (Either(..))
 import Data.FormURLEncoded (FormURLEncoded)
@@ -12,10 +13,12 @@ import Effect.Aff (Aff, launchAff)
 import Effect.Class (liftEffect)
 import Globals (app')
-import Model (Bookmark, Bookmark'(..))
+import Model (Bookmark, Bookmark'(..), Note, Note'(..))
 import Network.HTTP.Affjax (affjax, AffjaxResponse)
 import Network.HTTP.Affjax (defaultRequest) as AX
+import Network.HTTP.Affjax.Request (Request(..))
 import Network.HTTP.Affjax.Request as AXReq
+import Network.HTTP.Affjax.Response (Response(..))
 import Network.HTTP.Affjax.Response as AXRes
 import Network.HTTP.RequestHeader (RequestHeader(..))
 import Simple.JSON as J
@@ -32,7 +35,7 @@ toggleStar :: Int -> StarAction -> Aff Unit
 toggleStar bid action = do
   let path = "bm/" <> show bid <> "/" <> show action
-  void $ fetchUrlEnc POST path Nothing AXRes.ignore
+  void (fetchUrlEnc POST path Nothing AXRes.ignore)
 
 destroy :: Int -> Aff (AffjaxResponse Unit)
 destroy bid =
@@ -45,15 +48,23 @@ 
 editBookmark :: Bookmark -> Aff (AffjaxResponse Unit)
 editBookmark bm =  do
-    fetchJson POST "api/add" (Just $ Bookmark' bm) AXRes.ignore
+    fetchJson POST "api/add" (Just (Bookmark' bm)) AXRes.ignore
 
+editNote :: Note -> Aff (AffjaxResponse Json)
+editNote bm =  do
+    fetchJson POST "api/note/add" (Just (Note' bm)) AXRes.json
+
+destroyNote :: Int -> Aff (AffjaxResponse Unit)
+destroyNote nid =  do
+  fetchUrlEnc DELETE ("api/note/" <> show nid) Nothing AXRes.ignore
+
 logoutE :: Event -> Effect Unit
 logoutE e = void <<< launchAff <<< logout =<< preventDefault e
 
 logout :: Unit -> Aff Unit
 logout u = do
-  void $ fetchUrl POST app.authRlogoutR [] Nothing AXRes.ignore
-  liftEffect $ window >>= location >>= reload
+  void (fetchUrl POST app.authRlogoutR [] Nothing AXRes.ignore)
+  liftEffect (window >>= location >>= reload)
   where
     app = app' u
 
purs/src/Model.purs view
@@ -18,5 +18,20 @@   }
 
 newtype Bookmark' = Bookmark' Bookmark
-derive newtype instance rfI :: J.ReadForeign Bookmark'
-derive newtype instance wfI :: J.WriteForeign Bookmark'
+derive newtype instance bookmark_rfI :: J.ReadForeign Bookmark'
+derive newtype instance bookmark_wfI :: J.WriteForeign Bookmark'
+
+type NoteId = Int
+
+type Note =
+  { id :: NoteId
+  , title :: String
+  , text :: String
+  , length :: Int
+  , created :: String
+  , updated :: String
+  }
+
+newtype Note' = Note' Note
+derive newtype instance note_rfI :: J.ReadForeign Note'
+derive newtype instance note_wfI :: J.WriteForeign Note'
purs/src/User.purs view
@@ -1,17 +1,17 @@ module User where
 
-import Model (Bookmark)
-import Component.Add (addbmark)
-import Component.BList (blist)
-
 import Prelude
 
+import Component.Add (addbmark)
+import Component.BList (blist)
+import Component.NList (nlist, nnote)
 import Data.Foldable (traverse_)
 import Effect (Effect)
 import Effect.Aff (Aff)
 import Effect.Class (liftEffect)
 import Halogen.Aff as HA
 import Halogen.VDom.Driver (runUI)
+import Model (Bookmark, Note)
 import Web.DOM.Element (removeAttribute)
 import Web.DOM.ParentNode (QuerySelector(..))
 import Web.HTML.HTMLElement (toElement)
@@ -28,6 +28,19 @@   HA.runHalogenAff do
     HA.selectElement (QuerySelector renderElSelector) >>= traverse_ \el -> do
       runUI (addbmark bmark) unit el
+
+renderNotes :: String -> Array Note -> Effect Unit
+renderNotes renderElSelector notes = do
+  HA.runHalogenAff do
+    HA.selectElement (QuerySelector renderElSelector) >>= traverse_ \el -> do
+      void $ runUI (nlist notes) unit el
+      showFooter
+
+renderNote :: String -> Note -> Effect Unit
+renderNote renderElSelector note = do
+  HA.runHalogenAff do
+    HA.selectElement (QuerySelector renderElSelector) >>= traverse_ \el -> do
+      void $ runUI (nnote note) unit el
 
 showFooter :: Aff Unit
 showFooter = HA.selectElement (QuerySelector ".user_footer") >>= traverse_ \el ->
src/Application.hs view
@@ -20,6 +20,7 @@ import Import import Yesod.Auth (getAuth) import Language.Haskell.TH.Syntax (qLocation)+import Lens.Micro import Network.Wai (Middleware) import Network.Wai.Middleware.Autohead import Network.Wai.Middleware.AcceptOverride@@ -34,6 +35,11 @@ import System.Log.FastLogger        (defaultBufSize, newStdoutLoggerSet, toLogStr) +import qualified Control.Monad.Metrics as MM+import qualified Network.Wai.Metrics   as WM+import qualified System.Metrics        as EKG+import qualified System.Remote.Monitoring as EKG+ -- Import all relevant handler modules here. -- Don't forget to add new modules to your cabal file! import Handler.Common@@ -41,6 +47,7 @@ import Handler.User import Handler.Add import Handler.Edit+import Handler.Notes  mkYesodDispatch "App" resourcesApp @@ -48,6 +55,9 @@ makeFoundation appSettings = do   appHttpManager <- newManager   appLogger <- newStdoutLoggerSet defaultBufSize >>= makeYesodLogger+  store <- EKG.newStore+  EKG.registerGcMetrics store+  appMetrics <- MM.initializeWith store   appStatic <-     (if appMutableStatic appSettings        then staticDevel@@ -70,11 +80,13 @@ makeApplication foundation = do   logWare <- makeLogWare foundation   appPlain <- toWaiAppPlain foundation-  return (logWare (makeMiddleware appPlain))+  let store = appMetrics foundation ^. MM.metricsStore+  waiMetrics <- WM.registerWaiMetrics store+  return (logWare (makeMiddleware waiMetrics appPlain)) -makeMiddleware :: Middleware-makeMiddleware =-  acceptOverride . autohead . gzip def+makeMiddleware :: WM.WaiMetrics -> Middleware+makeMiddleware waiMetrics =+  WM.metrics waiMetrics . acceptOverride . autohead . gzip def     { gzipFiles = GzipPreCompressed GzipIgnore     } .   methodOverride@@ -117,6 +129,7 @@   foundation <- makeFoundation settings   wsettings <- getDevSettings (warpSettings foundation)   app <- makeApplication foundation+  void $ forkEKG foundation   return (wsettings, app)  getAppSettings :: IO AppSettings@@ -126,12 +139,20 @@ develMain :: IO () develMain = develMainHelper getApplicationDev +forkEKG :: App -> IO EKG.Server+forkEKG foundation = +  EKG.forkServerWith+    (appMetrics foundation ^. MM.metricsStore)+    "localhost"+    8000+ -- | The @main@ function for an executable running this site. appMain :: IO () appMain = do   settings <- loadYamlSettingsArgs [configSettingsYmlValue] useEnv   foundation <- makeFoundation settings   app <- makeApplication foundation+  void $ forkEKG foundation   runSettings (warpSettings foundation) app  getApplicationRepl :: IO (Int, App, Application)
src/Foundation.hs view
@@ -13,21 +13,25 @@ import Yesod.Default.Util   (addStaticContentExternal)
 import Yesod.Core.Types
 import Yesod.Auth.Message
-import qualified Yesod.Core.Unsafe as Unsafe
+import qualified Network.Wai as NW
+import qualified Control.Monad.Metrics as MM
 import qualified Data.CaseInsensitive as CI
 import qualified Data.Text.Encoding as TE
+import qualified Yesod.Core.Unsafe as Unsafe
 
+deriving instance Typeable Route 
+
 data App = App
     { appSettings    :: AppSettings
     , appStatic      :: Static -- ^ Settings for static file serving.
     , appConnPool    :: ConnectionPool -- ^ Database connection pool.
     , appHttpManager :: Manager
     , appLogger      :: Logger
-    }
+    , appMetrics     :: !MM.Metrics
+    } deriving (Typeable)
 
 mkYesodData "App" $(parseRoutesFile "config/routes")
 
-
 -- YesodPersist
 
 instance YesodPersist App where
@@ -51,7 +55,7 @@         10080 -- min (7 days)
         "config/client_session_key.aes"
 
-    yesodMiddleware = defaultYesodMiddleware . defaultCsrfMiddleware
+    yesodMiddleware = metricsMiddleware . defaultYesodMiddleware . defaultCsrfMiddleware
 
     defaultLayout widget = do
         req <- getRequest
@@ -60,6 +64,7 @@         mmsg <- getMessage
         musername <- maybeAuthUsername
         mcurrentRoute <- getCurrentRoute
+        void $ mapM (incrementRouteEKG req) mcurrentRoute
         pc <- widgetToPageContent $ do
             setTitle "Espial"
             addAppScripts
@@ -93,6 +98,17 @@     isAuthorized (AuthR _) _ = pure Authorized
     isAuthorized _ _ = pure Authorized
 
+    defaultMessageWidget title body = do
+      setTitle title
+      toWidget [hamlet|
+        <main .pv2.ph3.mh1>
+          <div .w-100.mw8.center>
+            <div .pa3.bg-near-white>
+              <h1>#{title}
+              ^{body}
+      |]
+
+
 isAuthenticated :: Handler AuthResult
 isAuthenticated = maybeAuthId >>= \case
                     Just authId -> pure Authorized
@@ -112,7 +128,6 @@     master <- getYesod
     mmsg <- getMessage
     musername <- maybeAuthUsername
-    mcurrentRoute <- getCurrentRoute
     pc <- widgetToPageContent $ do
       addAppScripts
       addStylesheet (StaticR css_tachyons_min_css)
@@ -120,6 +135,44 @@       $(widgetFile "popup-layout")
     withUrlRenderer $(hamletFile "templates/default-layout-wrapper.hamlet")
 
+
+metricsMiddleware :: Handler a -> Handler a
+metricsMiddleware handler = do
+  req <- getRequest
+  mcurrentRoute <- getCurrentRoute
+  void $ mapM (incrementRouteEKG req) mcurrentRoute
+  handler
+
+
+incrementRouteEKG :: YesodRequest -> Route App -> Handler ()
+incrementRouteEKG req = MM.increment . (\r -> "route." <> r <> "." <> method) . routeToConstr
+  where method = decodeUtf8 $ NW.requestMethod $ reqWaiRequest req
+
+routeToConstr :: Route App -> Text
+routeToConstr = \case
+  StaticR _ -> "StaticR"
+  FaviconR -> "FaviconR"
+  RobotsR -> "RobotsR"
+  AuthR _ -> "AuthR"
+  HomeR -> "HomeR"
+  UserR _ -> "UserR"
+  UserSharedR _ _ -> "UserSharedR"
+  UserFilterR _ _ -> "UserFilterR"
+  UserTagsR _ _ -> "UserTagsR"
+  AddViewR -> "AddViewR"
+  AddR -> "AddR"
+  DeleteR _ -> "DeleteR"
+  ReadR _ -> "ReadR"
+  StarR _ -> "StarR"
+  UnstarR _ -> "UnstarR"
+  NotesR _ -> "NotesR"
+  NoteR _ _ -> "NoteR"
+  DeleteNoteR _ -> "DeleteNoteR"
+  AddNoteR -> "AddNoteR"
+  AddNoteViewR _ -> "AddNoteViewR"
+  UserSettingsR _ -> "UserSettingsR"
+
+
 -- YesodAuth
 
 instance YesodAuth App where
@@ -138,6 +191,9 @@ 
 instance YesodAuthPersist App
 
+instance MM.MonadMetrics Handler where
+  getMetrics = asks appMetrics
+
 -- session keys
 
 maybeAuthUsername :: Handler (Maybe Text)
@@ -177,7 +233,7 @@                     <$> ireq textField "username"
                     <*> ireq textField "password")
   case mresult of
-    FormSuccess creds -> lift $ setCredsRedirect creds
+    FormSuccess creds -> lift (setCredsRedirect creds)
     _ -> loginErrorMessageI LoginR InvalidUsernamePass
 
 
@@ -191,13 +247,13 @@ 
 authenticateCreds
   :: (AuthId master ~ UserId)
-  => Creds master -> Handler (AuthenticationResult App)
-authenticateCreds creds =
-  runDB $
-  authenticatePW
-    (credsIdent creds)
-    (fromMaybe "" (lookup "password" (credsExtra creds))) >>=
-  \case
+  => Creds master
+  -> Handler (AuthenticationResult App)
+authenticateCreds creds = do
+  muser <- runDB (authenticatePassword
+                   (credsIdent creds)
+                   (fromMaybe "" (lookup "password" (credsExtra creds))))
+  case muser of
     Nothing -> pure (UserError InvalidUsernamePass)
     Just (Entity uid _) -> pure (Authenticated uid)
 
src/Handler/Add.hs view
@@ -13,25 +13,24 @@   userId <- requireAuthId
 
   murl <- lookupGetParam "url"
-  mexisting <- runDB (fetchBookmarkByUrl userId murl)
-  let mexisting' = fmap _toBookmarkDefs mexisting
-  mgetdefs <- mGetBookmarkForm
-
-  let bmarkJson = preEscapedToMarkup (toJsonText (fromMaybe mgetdefs mexisting'))
+  mformdb <- runDB (pure . fmap _toBookmarkForm =<< fetchBookmarkByUrl userId murl)
+  formurl <- bookmarkFormUrl
 
   let renderEl = "addForm" :: Text
 
   popupLayout $ do
     toWidget [whamlet|
       <div id="#{ renderEl }">
-      <script>app.dat.bmark = #{ bmarkJson }; 
     |]
+    toWidgetBody [julius|
+      app.dat.bmark = #{ toJSON (fromMaybe formurl mformdb) }; 
+    |]
     toWidget [julius|
       PS['User'].renderAddForm('##{rawJS renderEl}')(app.dat.bmark)();
     |]
 
-mGetBookmarkForm :: Handler BookmarkForm
-mGetBookmarkForm =
+bookmarkFormUrl :: Handler BookmarkForm
+bookmarkFormUrl =
   BookmarkForm
     <$> (lookupGetParam "url" >>= pure . fromMaybe "")
     <*> (lookupGetParam "title")
@@ -59,7 +58,7 @@   cpprint bookmarkForm
   userId <- requireAuthId
   time <- liftIO getCurrentTime
-  runDB $ upsertBookmark kbid (_toBookmark userId time bookmarkForm) tags
+  runDB (upsertBookmark kbid (_toBookmark userId time bookmarkForm) tags)
   where
     kbid = toSqlKey <$> _bid bookmarkForm
     tags = maybe [] (nub . words) (_tags bookmarkForm)
src/Handler/Common.hs view
@@ -1,9 +1,11 @@ -- | Common handler functions. module Handler.Common where -import Data.FileEmbed (embedFile) import Import +import Data.FileEmbed (embedFile)+import Text.Read+ -- These handlers embed files in the executable at compile time to avoid a -- runtime dependency, and for efficiency. @@ -16,3 +18,14 @@ getRobotsR :: Handler TypedContent getRobotsR = return $ TypedContent typePlain                     $ toContent $(embedFile "config/robots.txt")+++lookupPagingParams :: Handler (Maybe Int64, Maybe Int64)+lookupPagingParams = do+  cq <- fmap parseMaybe (lookupGetParam "count")+  cs <- fmap parseMaybe (lookupSession "count")+  mapM_ (setSession "count" . (pack . show)) cq+  pq <- fmap parseMaybe (lookupGetParam "page")+  pure (cq <|> cs, pq)+  where+    parseMaybe x = readMaybe . unpack =<< x
src/Handler/Edit.hs view
@@ -13,18 +13,18 @@   userId <- requireAuthId   runDB $ do     let k_bid = toSqlKey bid-    void $ requireResource userId k_bid+    _ <- requireResource userId k_bid     deleteCascade k_bid-  pure ""+  return ""  postReadR :: Int64 -> Handler Html postReadR bid = do   userId <- requireAuthId   runDB $ do     let k_bid = toSqlKey bid-    bm <- requireResource userId k_bid+    _ <- requireResource userId k_bid     update k_bid [BookmarkToRead =. False]-  pure ""+  return ""  postStarR :: Int64 -> Handler Html postStarR bid = _setSelected bid True@@ -44,19 +44,8 @@   pure ""  requireResource :: UserId -> Key Bookmark -> DBM Handler Bookmark-requireResource userId k_bid =-  get404 k_bid >>= \case-    bmark | bookmarkUserId bmark == userId -> pure bmark-    _ -> notFound---- EditForm--data EditForm = EditForm {} deriving (Show, Eq, Read, Generic)--instance FromJSON EditForm--mkEditIForm-  :: MonadHandlerForm m-  => FormInput m EditForm-mkEditIForm = do-  pure EditForm+requireResource userId k_bid = do+  bmark <- get404 k_bid+  if userId == bookmarkUserId bmark+    then return bmark+    else notFound
src/Handler/Home.hs view
@@ -5,8 +5,8 @@ import Import  getHomeR :: Handler Html-getHomeR =-  maybeAuthUsername >>=-  \case-    Nothing -> redirect $ AuthR LoginR-    Just uname -> redirect $ UserR (UserNameP uname)+getHomeR = do +  musername <- maybeAuthUsername+  case musername of+    Nothing -> redirect (AuthR LoginR)+    Just username -> redirect (UserR (UserNameP username))
+ src/Handler/Notes.hs view
@@ -0,0 +1,121 @@+{-# OPTIONS_GHC -fno-warn-unused-matches #-}+module Handler.Notes where++import Import+import Handler.Common (lookupPagingParams)+import Database.Persist.Sql+import qualified Data.Aeson as A++getNotesR :: UserNameP -> Handler Html+getNotesR unamep@(UserNameP uname) = do+  void requireAuthId+  (limit', page') <- lookupPagingParams+  let limit = maybe 20 fromIntegral limit'+      page  = maybe 1   fromIntegral page'+      renderEl = "notes" :: Text+  (bcount, notes) <- +    runDB $+    do Entity userId _ <- getBy404 (UniqueUserName uname)+       getNoteList userId limit page+  req <- getRequest+  mroute <- getCurrentRoute +  let pager = $(widgetFile "pager")+  defaultLayout $ do+    $(widgetFile "notes")+    toWidgetBody [julius|+        app.userR = "@{UserR unamep}";+        app.dat.notes = #{ toJSON notes } || []; +    |]+    toWidget [julius|+      PS['User'].renderNotes('##{rawJS renderEl}')(app.dat.notes)();+    |]++getNoteR :: UserNameP -> Int64 -> Handler Html+getNoteR unamep@(UserNameP uname) nid = do+  void requireAuthId+  let renderEl = "note" :: Text+  note <-+    runDB $+    do Entity userId _ <- getBy404 (UniqueUserName uname)+       mnote <- getNote userId nid+       maybe notFound pure mnote+  defaultLayout $ do+    $(widgetFile "note")+    toWidgetBody [julius|+        app.userR = "@{UserR unamep}";+        app.dat.note = #{ toJSON note } || []; +    |]+    toWidget [julius|+      PS['User'].renderNote('##{rawJS renderEl}')(app.dat.note)();+    |]++getAddNoteViewR :: UserNameP -> Handler Html+getAddNoteViewR unamep@(UserNameP uname) = do+  userId <- requireAuthId+  time <- liftIO getCurrentTime+  let renderEl = "note" :: Text+  let note = Entity (toSqlKey 0) $ _toNote userId time (NoteForm Nothing Nothing Nothing Nothing Nothing)+  defaultLayout $ do+    $(widgetFile "note")+    toWidgetBody [julius|+        app.userR = "@{UserR unamep}";+        app.dat.note = #{ toJSON note } || []; +    |]+    toWidget [julius|+      PS['User'].renderNote('##{rawJS renderEl}')(app.dat.note)();+    |]++deleteDeleteNoteR :: Int64 -> Handler Html+deleteDeleteNoteR bid = do+  userId <- requireAuthId+  runDB $ do+    let k_bid = toSqlKey bid+    _ <- requireResource userId k_bid+    deleteCascade k_bid+  return ""++postAddNoteR :: Handler ()+postAddNoteR = do+  noteForm <- requireCheckJsonBody+  _handleFormSuccess noteForm >>= \case+    (Created, bid) -> sendStatusJSON created201 bid+    (Updated, _) -> sendResponseStatus noContent204 ()++requireResource :: UserId -> Key Note -> DBM Handler Note+requireResource userId k_nid = do+  nnote <- get404 k_nid+  if userId == noteUserId nnote+    then return nnote+    else notFound++_handleFormSuccess :: NoteForm -> Handler (UpsertResult, Key Note)+_handleFormSuccess noteForm = do+  cpprint noteForm+  userId <- requireAuthId+  time <- liftIO getCurrentTime+  runDB (upsertNote kbid (_toNote userId time noteForm))+  where+    kbid = toSqlKey <$> (_id noteForm >>= \i -> if i > 0 then Just i else Nothing)++data NoteForm = NoteForm+  { _id :: Maybe Int64+  , _title :: Maybe Text+  , _text :: Maybe Textarea+  , _created :: Maybe UTCTimeStr+  , _updated :: Maybe UTCTimeStr+  } deriving (Show, Eq, Read, Generic)++instance FromJSON NoteForm where parseJSON = A.genericParseJSON gNoteFormOptions+instance ToJSON NoteForm where toJSON = A.genericToJSON gNoteFormOptions++gNoteFormOptions :: A.Options+gNoteFormOptions = A.defaultOptions { A.fieldLabelModifier = drop 1 } ++_toNote :: UserId -> UTCTime -> NoteForm -> Note+_toNote userId time NoteForm {..} =+  Note userId +    (length _text)+    (fromMaybe "" _title)+    (maybe "" unTextarea _text)+    (fromMaybe time (fmap unUTCTimeStr _created))+    (fromMaybe time (fmap unUTCTimeStr _updated))
src/Handler/User.hs view
@@ -2,8 +2,14 @@ module Handler.User where
 
 import Import
-import Text.Read
+import Handler.Common (lookupPagingParams)
 
+getUserSettingsR :: UserNameP -> Handler Html
+getUserSettingsR uname@(UserNameP name) = do
+  void requireAuthId
+  defaultLayout $ do
+    $(widgetFile "user-settings")
+
 getUserR :: UserNameP -> Handler Html
 getUserR uname@(UserNameP name) = do
   _getUser uname SharedAll FilterAll (TagsP [])
@@ -23,7 +29,7 @@ _getUser :: UserNameP -> SharedP -> FilterP -> TagsP -> Handler Html
 _getUser unamep@(UserNameP uname) sharedp' filterp' (TagsP pathtags) = do
   mauthuname <- maybeAuthUsername
-  (limit', page') <- _lookupPagingParams
+  (limit', page') <- lookupPagingParams
   let limit = maybe 120 fromIntegral limit'
       page  = maybe 1   fromIntegral page'
       isowner = maybe False (== uname) mauthuname
@@ -31,6 +37,7 @@       filterp = case filterp' of
         FilterSingle _ -> filterp'
         _ -> if isowner then filterp' else FilterAll
+      isAll = filterp == FilterAll && sharedp == SharedAll && pathtags == []
   (bcount, bmarks, alltags) <-
     runDB $
     do Entity userId _ <- getBy404 (UniqueUserName uname)
@@ -43,19 +50,12 @@   req <- getRequest
   defaultLayout $ do
     $(widgetFile "user")
+    toWidgetBody [julius|
+        app.dat.bmarks = #{ toJSON $ toBookmarkFormList bmarks alltags } || []; 
+        app.dat.isowner = #{ isowner };
+        app.userR = "@{UserR unamep}";
+    |]
     toWidget [julius|
-      app.dat.isowner = #{ isowner };
-      app.userR = "@{UserR unamep}";
       PS['User'].renderBookmarks('##{rawJS renderEl}')(app.dat.bmarks)();
     |]
   where
-
-_lookupPagingParams :: Handler (Maybe Int64, Maybe Int64)
-_lookupPagingParams = do
-  cq <- fmap parseMaybe (lookupGetParam "count")
-  cs <- fmap parseMaybe (lookupSession "count")
-  mapM_ (setSession "count" . (pack . show)) cq
-  pq <- fmap parseMaybe (lookupGetParam "page")
-  pure (cq <|> cs, pq)
-  where
-    parseMaybe x = readMaybe . unpack =<< x
src/Import.hs view
@@ -10,7 +10,6 @@  import qualified Data.ByteString.Char8 as B8 import qualified Data.Aeson as A-import qualified Data.Text.Encoding as TE  -- Forms 
src/Model.hs view
@@ -10,11 +10,13 @@ import ModelCrypto
 import Pretty
 import ClassyPrelude.Yesod
+import System.Directory
 
 import Control.Monad.Trans.Maybe
 import Database.Esqueleto hiding ((==.))
 import qualified Database.Esqueleto as E
 import qualified Data.Time.ISO8601 as TI
+import qualified Pinboard as PB
 
 -- Physical model
 
@@ -46,6 +48,15 @@   UniqueUserTagBookmarkId userId tag bookmarkId
   UniqueUserBookmarkIdTagSeq userId bookmarkId tag seq
   deriving Show Eq Typeable Ord
+
+Note json
+  userId UserId
+  length Int
+  title Text
+  text Text
+  created UTCTime
+  updated UTCTime
+  deriving Show Eq Typeable Ord
 |]
 
 -- UTCTimeStr
@@ -109,28 +120,32 @@   toMigration
     [ "CREATE INDEX IF NOT EXISTS idx_bookmark_time ON bookmark (user_id, time DESC)"
     , "CREATE INDEX IF NOT EXISTS idx_bookmark_tag_bookmark_id ON bookmark_tag (bookmark_id, id, tag, seq)"
+    , "CREATE INDEX IF NOT EXISTS idx_note_user_created ON note (user_id, created DESC)"
     ]
 
 
+
+  
+
 -- User
 
-authenticatePW :: Text -> Text -> DB (Maybe (Entity User))
-authenticatePW username password = do
-   muser <- getBy (UniqueUserName username)
-   case muser of
-     Nothing -> pure Nothing
-     Just e@(Entity _ user) -> 
-        if passwordMatches (userPasswordHash user) (password)
-          then pure $ Just e
-          else pure $ Nothing
+authenticatePassword :: Text -> Text -> DB (Maybe (Entity User))
+authenticatePassword username password = do
+  muser <- getBy (UniqueUserName username)
+  case muser of
+    Nothing -> return Nothing
+    Just dbuser ->
+      if validatePasswordHash (userPasswordHash (entityVal dbuser)) password
+        then return (Just dbuser)
+        else return Nothing
 
+
+
+
+  
 getUserByName :: UserNameP -> DB (Maybe (Entity User))
-getUserByName (UserNameP uname) =
-  return . headMay =<<
-  (select $
-   from $ \u -> do
-   where_ (u ^. UserName E.==. val uname)
-   pure u)
+getUserByName (UserNameP uname) = do
+  selectFirst [UserName ==. uname] []
 
 -- bookmarks
 
@@ -147,18 +162,18 @@   <$> fmap (sum . fmap E.unValue)
       (select $
       from $ \b -> do
-      _inner b
+      _whereClause b
       pure $ E.countRows)
       -- paged data
   <*> (select $
        from $ \b -> do
-       _inner b
+       _whereClause b
        orderBy [desc (b ^. BookmarkTime)]
        limit limit'
        offset ((page - 1) * limit')
        pure b)
   where
-    _inner b = do
+    _whereClause b = do
       where_ $
         foldMap (\tag -> Endo $ (&&.) 
           (exists $   -- each tag becomes an exists constraint
@@ -188,6 +203,29 @@ withTags :: Key Bookmark -> DB [Entity BookmarkTag]
 withTags key = selectList [BookmarkTagBookmarkId ==. key] [Asc BookmarkTagSeq]
 
+-- Note List Query
+
+  
+getNote :: Key User -> Int64 -> DB (Maybe (Entity Note))
+getNote userKey nid =
+  selectFirst [NoteUserId ==. userKey, NoteId ==. toSqlKey nid] []
+
+getNoteList :: Key User -> Limit -> Page -> DB (Int, [Entity Note])
+getNoteList key limit' page =
+  (,) -- total count
+  <$> fmap (sum . fmap E.unValue)
+      (select $
+      from $ \b -> do
+      where_ (b ^. NoteUserId E.==. val key)
+      pure $ E.countRows)
+  <*> (select $
+       from $ \b -> do
+       where_ (b ^. NoteUserId E.==. val key)
+       orderBy [desc (b ^. NoteCreated)]
+       limit limit'
+       offset ((page - 1) * limit')
+       pure b)
+
 -- Bookmark Files
 
 bookmarkEntityToTags :: Entity Bookmark -> [Tag] -> [BookmarkTag]
@@ -198,73 +236,54 @@     (zip [1 ..] tags)
 
 
-postToBookmark :: UserId -> Post -> Bookmark
-postToBookmark user Post {..} =
+pbPostToBookmark :: UserId -> PB.Post -> Bookmark
+pbPostToBookmark user PB.Post {..} =
   Bookmark user postHref postDescription postExtended postTime postShared postToRead False
 
 
-insertFileBookmarks :: Key User -> FilePath -> DB ()
-insertFileBookmarks userId bookmarkFile = do
-  posts' <- liftIO $ readBookmarkFileJson bookmarkFile
+insertFilePbPosts :: Key User -> FilePath -> DB ()
+insertFilePbPosts userId bookmarkFile = do
+  posts' <- liftIO $ readPbPostFileJson bookmarkFile
   case posts' of
       Left e -> print e
       Right posts -> do
-        let bookmarks = fmap (postToBookmark userId) posts
+        let bookmarks = fmap (pbPostToBookmark userId) posts
         mbookmarkIds <- mapM insertUnique bookmarks 
 
         let bookmarkTags =
               concatMap (uncurry bookmarkEntityToTags) $
               catMaybes $
-              zipWith3 (\mk v p -> map (\k -> (Entity k v, postTags p)) mk)
+              zipWith3 (\mk v p -> map (\k -> (Entity k v, PB.postTags p)) mk)
                 mbookmarkIds
                 bookmarks
                 posts
         void $ mapM insertUnique bookmarkTags
   where
-    readBookmarkFileJson :: MonadIO m => FilePath -> m (Either String [Post])
-    readBookmarkFileJson fpath = pure . A.eitherDecode' . fromStrict =<< readFile fpath
+    readPbPostFileJson :: MonadIO m => FilePath -> m (Either String [PB.Post])
+    readPbPostFileJson fpath = pure . A.eitherDecode' . fromStrict =<< readFile fpath
 
 type Tag = Text
 
-data Post = Post
-  { postHref :: !Text
-  , postDescription :: !Text
-  , postExtended :: !Text
-  , postTime :: !UTCTime
-  , postShared :: !Bool
-  , postToRead :: !Bool
-  , postTags :: [Tag]
-  } deriving (Show, Eq, Ord, Typeable)
-
-instance FromJSON Post where
-  parseJSON (Object o) =
-    Post <$> o .: "href" <*> o .: "description" <*> o .: "extended" <*>
-    o .: "time" <*>
-    (boolFromYesNo <$> o .: "shared") <*>
-    (boolFromYesNo <$> o .: "toread") <*>
-    (words <$> o .: "tags")
-  parseJSON _ = fail "bad parse"
-
-instance ToJSON Post where
-  toJSON Post {..} =
-    object
-      [ "href" .= toJSON postHref
-      , "description" .= toJSON postDescription
-      , "extended" .= toJSON postExtended
-      , "time" .= toJSON postTime
-      , "shared" .= boolToYesNo postShared
-      , "toread" .= boolToYesNo postToRead
-      , "tags" .= unwords postTags
-      ]
-
-boolFromYesNo :: Text -> Bool
-boolFromYesNo "yes" = True
-boolFromYesNo _ = False
+-- Notes
 
-boolToYesNo :: Bool -> Text
-boolToYesNo True = "yes"
-boolToYesNo _ = "no"
+pbNoteToNote :: UserId -> PB.Note -> Note
+pbNoteToNote user PB.Note {..} =
+  Note user noteLength noteTitle noteText noteCreatedAt noteUpdatedAt
 
+insertDirPbNotes :: Key User -> FilePath -> DB ()
+insertDirPbNotes userId noteDirectory = do
+  pbnotes' <- liftIO $ readPbNoteFileJson noteDirectory
+  case pbnotes' of
+      Left e -> print e
+      Right pbnotes -> do
+        let notes = fmap (pbNoteToNote userId) pbnotes
+        void $ mapM insertUnique notes 
+  where
+    readPbNoteFileJson :: MonadIO m => FilePath -> m (Either String [PB.Note])
+    readPbNoteFileJson fdir = do
+      files <- liftIO (listDirectory fdir)
+      noteBSS <- mapM (readFile . (fdir </>)) files 
+      pure (mapM (A.eitherDecode' . fromStrict) noteBSS) 
 
 -- BookmarkForm
 
@@ -290,25 +309,11 @@ toBookmarkFormList bs as = do
   b <- bs
   let bid = E.entityKey b
-  let btags = fmap bookmarkTagTag $ filter ((==) bid . bookmarkTagBookmarkId) (fmap E.entityVal as)
-  pure $ toBookmarkForm b btags
+  let btags = filter ((==) bid . bookmarkTagBookmarkId . E.entityVal) as
+  pure $ _toBookmarkForm (b, btags)
 
-toBookmarkForm :: Entity Bookmark -> [Text] -> BookmarkForm
-toBookmarkForm (Entity bid Bookmark {..}) tags =
-  BookmarkForm
-  { _url = bookmarkHref
-  , _title = Just bookmarkDescription
-  , _description = Just $ Textarea $ bookmarkExtended
-  , _tags = Just $ unwords $ tags
-  , _private = Just $ not bookmarkShared
-  , _toread = Just $ bookmarkToRead
-  , _bid = Just $ fromSqlKey bid
-  , _selected = Just bookmarkSelected
-  , _time = Just $ UTCTimeStr $ bookmarkTime
-  }
-  
-_toBookmarkDefs :: (Entity Bookmark, [Entity BookmarkTag]) -> BookmarkForm
-_toBookmarkDefs (Entity bid Bookmark {..}, tags) =
+_toBookmarkForm :: (Entity Bookmark, [Entity BookmarkTag]) -> BookmarkForm
+_toBookmarkForm (Entity bid Bookmark {..}, tags) =
   BookmarkForm
   { _url = bookmarkHref
   , _title = Just bookmarkDescription
@@ -362,3 +367,16 @@     insertTags userId bid' =
       forM_ (zip [1 ..] tags) $
       \(i, tag) -> void $ insert $ BookmarkTag userId tag bid' i
+
+
+upsertNote:: Maybe (Key Note) -> Note -> DB (UpsertResult, Key Note)
+upsertNote mnid bmark@Note{..} = do
+  case mnid of
+    Just nid -> do
+      get nid >>= \case 
+        Just _ -> do
+          replace nid bmark
+          pure (Updated, nid)
+        _ -> fail "not found"
+    Nothing -> do
+      (Created,) <$> insert bmark
src/ModelCrypto.hs view
@@ -23,9 +23,10 @@  hashPassword :: T.Text -> IO BCrypt hashPassword rawPassword = do-  mPassword <- hashPasswordUsingPolicy policy $ TE.encodeUtf8 rawPassword-  return $ BCrypt $ TE.decodeUtf8 $ fromJustNote "Invalid hashing policy" mPassword+  mPassword <- hashPasswordUsingPolicy policy (TE.encodeUtf8 rawPassword)+  return+    (BCrypt (TE.decodeUtf8 (fromJustNote "Invalid hashing policy" mPassword))) -passwordMatches :: BCrypt -> T.Text -> Bool-passwordMatches hash' pass =-  validatePassword (TE.encodeUtf8 $ unBCrypt hash') (TE.encodeUtf8 pass)+validatePasswordHash :: BCrypt -> T.Text -> Bool+validatePasswordHash hash' pass = do+  validatePassword (TE.encodeUtf8 (unBCrypt hash')) (TE.encodeUtf8 pass)
static/css/main.css view
@@ -1,18 +1,10 @@ html {
-  box-sizing: border-box;
-  height: 102%;
-}
-*, *:before, *:after {
-  box-sizing: inherit;
+    height: 102%;
 }
-body
-{
-  color:#333;
-  margin-left:20px;
-  font-size:13px;
-  font-family: helvetica, sans-serif;
-  word-wrap:break-word;
-  text-align:center;
+
+body {
+    height: 102%;
+    word-wrap: break-word;
 }
 
 button {
@@ -21,6 +13,7 @@     padding:0;
     cursor:pointer;
 }
+
 button:focus {
     outline: none;
 }
@@ -33,965 +26,82 @@ label {
     cursor: pointer;
 }
-blockquote 
-{ 
-    margin-left:20px;
-    margin-bottom:0px;
-    color:#247;
-}
 
-#content
-{ 
-    width: 100%;
-    max-width:1050px;
-    margin-left:auto;
-    margin-right:auto 
-
-}
-
-/* basic elements */
-td { font-size:13px; }
-p  { margin-top:2px;margin-bottom:12px }
-li { margin-bottom:10px }
-
-
-/* global link styling */
-a
-{ 
-    text-decoration:none;
-    color:#11a;
-}
-/* a:visited { color:inherit } */
-.edit { font-size:1em; }
-
-h1 
-{ 
-    font-size:2em;
-    font-family:helvetica;
-    font-weight:normal;
-    margin-top:10px;
-} 
-h2 { 
-    font-size:1.3em;
-    font-family:helvetica;
-    font-weight:normal;
-} 
-h3 { font-size:110%;background:#eaefff;} 
-h4 { font-size:100%;background:#dfc;} 
-
-code
-{
-  margin-left:20px;
-  color:#22a;
-  font-family:monaco;
-}
-
-
-/* BOOKMARK STYLING */
-.fetch_err
-{ 
-    font-size:80%;
-    color:red;
-    font-weight:bold;
-}
-.cached 
-{
-    color:#aaa;
+.star {
+    margin-left:-20px;
     font-size:1.2em;
-}
-.cached:visited {color:#aaa}
-.description
- {
-    line-height:120%;
-    margin-top:2px;
-    color:#555;
-}
-.star
-{
-  color:#ccc;
-  margin-left:-20px;
-  font-size:1.3em;
-  cursor:pointer;
-  float:left; 
-}
-.star button { color: #ccc } 
-.selected_star { color:#22a; }
-.selected_star button { color:#22a; }
-.confirm 
-{ 
-    color:red;
-}
-.delete_link { display:inline; }
-.when {
-    font-size:90%;
-    width: 90px;
-    color:#777 !important;
-    display: inline-block;
-}
-.js-moment {
-    width: 105px;
+    position:relative;
+    top:-2px;
 }
-.url_display:hover { color:#44d; }
 
-.source { color:#77c;}
-.tag {color:#a51;line-height:190%;}
-.bundle { color:#b40;font-weight:bold }
-.bundle { color:#a21;font-weight:bold }
-
-.tags { display: block; }
-.tags .tag {
-    margin-right: 5px;
+.star button { 
+    transition: color .1s;
 }
-
-#bundle_names a
-{
-    line-height:180%;
+.star.selected button { 
+    color:#22a; 
 }
-
-#bundle_names 
-{
-    margin-top:20px;
+.edit_links button {
+    transition: color .1s ease-in;
 }
 
-.delete { color:#aaa; display: inline; }
-.delete:visited { color:#aaa }
-.delete:hover { color:#44d; }
-
-.edit { color: #aaa }
-.edit:hover { color:#44d; }
-.edit:visited { color:#ccc }
-
-.destroy { color:red; }
-.destroy:visited { color:red; }
-
-.copy_link { color: #bbb }
-.copy_link:hover { color:#44d; }
-.copy_confirm { color:#aaa; }
-.faint {color:#aaa}
-
-.edit_links {
-    display:inline;
-}
-.read {
-    display:inline;
+.tag {
+    color:#a51;
+    line-height:190%;
 }
 
-
-
-
-.url_link
-{
-    font-size:90%;color:#888;
-}
-.bookmark
-{ 
-  margin-bottom:1.3em;
-  padding:3px;
-  width:100%;
-  max-width:600px;
-  margin-left:0px;
-  border:0px solid red;
-  float:left;
- }
-.bookmark_title { line-height:130%;font-size:110%; }
-.url_display
-{
-    color:#888;
-    font-size:0.9em;
-}
-.private a { padding:1px;border:0px;}
 .private { background:#ddd;border:1px solid #d1d1d1; }
 .unread { color:#b41 }
-.unread { color:#b41 }
-.has_bmark { color:#aaa }
-
-/* BOOKMARK LISTS */
-.list { color:#163; }
-.lists { color:#163; }
-
-/* ?? */
+.mark_read {color: #a81;}
 .flash { color:green;background:#efe }
 
-/* MAIN BANNER AND NAV */
-#banner
-{
-  background:white;
-  color:black;
-  border-bottom:1px dotted #aaa;
-  margin-bottom:0.7em;
-  width:100%;
-  max-width:980px;
-  padding-bottom:9px;
-  text-align:left;
-}
-
-
-#banner a { color:#aaa; }
-#banner .admin { color:#e00 }
-#banner .banner_username { color:blue; }
-#espial_name { font-size:18px; }
-
-
-#logo { float:left;color:#aaa;}
-.logo {
-    margin-right: 1px;
-    font-size: 19px;
-    color: #402;
-}
-#top_menu 
-{ 
+.top_menu { 
     margin-top:6px;
-    float:right; 
 }
-#top_menu a { color:blue }
-
-
-/* user alert */
-.alert 
-{ 
-    color:#333;
-    background:#ced;
-    padding:10px;
-    width: 100%;
-    max-width:550px;
-    border:1px solid #acc; 
-}
-
-
-#login_box
-{
-  float:right;
-}
-
-
-/* BASIC PAGE STRUCTURE */
-#main_column
-{
-    width: 100%;
-    max-width:700px;
-    min-height:700px;
-    text-align:left;
-    float:left;
-    position:relative;
-    #border:1px solid #fa8;
-
-}
-
-#right_bar 
-{
-    float:left;
-    margin-left:10px;
-    text-align:left;
-    width:330px;
-    #border:1px solid #cfd;
-}
-
-
-.rss_linkbox
-{
-    float:right;
-    margin-right:30px;
-}
-
-.rss_link
-{
-    color:#ee9922;
-    font-size:0.8em;
-}
-
-.bookmark_count_box
-{
-    float:left;
-    min-width:50px;
-    padding-right:1.1em;
-}
-
-
-/* USER HOME PAGE */
-.user_navbar
-{
-    margin-bottom:0.7em;
-}
-
-.subscribe_link
-{
-    margin-left:30px;
-    float:left;
-    margin-right:8px;
-    color:#aac;
-}
-
-.unsubscribe_link
-{
-    margin-left:30px;float:left;
-    color:#caa;
-}
-
-.source_filter
-{
-    background:#ddf;
-    color:#555;
-}
-
-.edit_checkbox
-{
-  display:none;
-  float:left;
-  margin-left:-40px;
-  width:40px;
-}
-
-.tag_table
-{
-    float:left;
-    margin-right:10px;
+.top_menu a {
+    color: blue;
 }
-
-
-/* howto page */
-.bookmarklet
-{ 
-    background:#ffe; 
-    border:1px dotted #aaa;
-    color:#444;
+.bookmarklet { 
     padding:1px 2px 0px 2px;
-    font-size:90%;
 }
-.heading { color:#555;}
-.homepage_heading { 
-    margin-top:25px;
-    margin-bottom:5px;
-    color:#338;
-    font-size:1em;
-}
 
-
-.error { color:red }
-
-.systag { color:#c41 }
-.next_prev { color:#777 }
-
-#bottom_next_prev { float:left; }
-
- 
- #star_operations
- {
-  border:0px solid blue;width:300px;float:left;
- }
- 
-
-.selected_star
-{
-  color:#559;
-}
-
-
-
-.display { float:left }
-.unimplemented { color:#aaa }
-
-
-/* bulk and single edit form */
-#bulk_links p { line-height:0.7em; }
-
-.edit_bookmark_form
-{
-  border: 0px solid #aaa;
-  background:#fff;
-  width:500px;
-  padding:4px;
-  padding-left:10px;
-  float:left;
-  color:#888;
-}
-
-.edit_bookmark_form p
-{
-  line-height:100%;
-  margin-bottom:0px;
-  color:#888;
-}
-
-.edit_bookmark_form input
-{
-  font-size:90%;
-  border:1px solid #ddd;
-  margin-bottom:3px;
-}
-
-.edit_bookmark_form textarea
-{
-  font-size:90%;
-  border:1px solid #ddd;
-  margin-bottom:3px;
-}
-
-.edit_form_input 
-{
-    width:490px;
-    margin-top:10px;
-    font-size:12px;
-    background:#fff;
-    padding-top:3px;
-}
-#edit_form_checkboxes
-{
-    margin-top:10px;
-    margin-bottom:10px;
-}
-#edit_form_checkboxes label {
-    display: inline;
-}
-#edit_form_checkboxes input {
-    cursor: pointer;
-}
-#edit_form_suggested_tags
-{
-    margin-top:10px;
-    margin-bottom:18px;
-}
-
-.edit_bookmark_form .edit-button
-{
-    background-color: #eee;
-    cursor: pointer;
-}
-
-#tag_cloud
-{
-  float:left;
-  width:350px;
-  text-align:justify;
-  line-height:110%;
-  margin-top:20px;
-} 
-
-.bookmark_count { 
-  font-size:80%;
-  color:#aaa;
- }
- 
- .tag_count {  font-size:90%;color: #aaa; }
- 
-
-#years 
-{
-    border:1px solid orange;
-    float:left;
-}
-#years a
-{
-    color:#aaa;
-    font-size:8pt;
-
-}
-
-#bulk_links
-{
-  margin-bottom:20px;
-}
- .mark_read { color:#a81}
- 
-
-
-#active_users
-{
-  float:left;
-  margin-left:40px;
-}
-
-#related_tags
-{
-  width:250px;border:0px solid red;
-  }
-  
-#timer
-{
-  color:#bbb;float:right;font-size:10px;font-family:helvetica;margin-top:4px;
-}
-
-#footer
-{
-  margin-top:3em;color:#888;
- }
- 
-.help
-{
-  color:#2a2;background:#ffc}
-  
-  
-.tabs { background:#fff;padding:0px;margin-bottom:0px; }
-.tab_select
-{
-  float:left;
-  margin-right:10px;
-}
-
-
-.filter { color:#999}
-
-
-.disabled { color:#888;background:#ccc}
-
-.upgrade_header { 
-    font-size:1.4em;color:#666;
-    font-weight:bold;margin-top:30px;
-    margin-bottom:10px;background:#fff}
-    
-    
-    
-
-
-.twitter_user { color:#000099; }
-#em { font-weight:bold;color:#555;font-style:normal}
-
-
-
-.tweet_date { color:#aaa;font-size:90%;}
-.twitter_name { font-weight:bold; }
-.twitter_account { color:#66c}
-.outside_resource { color:blue;text-decoration:underline; }
-
- 
-.selected {color:blue}
-
-.selected { background:#fafafa; }
-
-/* pagination and sort order links */
-#per_page_picker {color:#888;float:left;margin-left:90px;text-align:center; }
-#per_page_picker a {color:#aaa; }
-#per_page_picker .per_page_selected { background:#ff8;color:blue; }
-
-.pagination_select
-{
-    display:inline;
-   /* margin-right:30px; */
-}
-#sort_order_picker { display:inline; }
-#sort_order_picker .sort_order_selected { color:#888;}
-#sort_order_picker a { color:#ccc; }
-#sort_order_picker { color:#aaa; }
-.sort_arrow { font-size:15px;font-family:monaco }
-@-moz-document url-prefix() {
-   .sort_arrow { font-size:20px;}
-}
-
-
-#tag_cloud .tag_heading_selected { font-weight:bold;color:#333 }
-#tag_cloud table{ line-height:100%;}
-#tag_cloud_header a { color:#aaa; }
-
-ul.clean { list-style-type:none;padding-left:0px;}
-
-.small_username
-{
-    float:left;
-    padding-right:1em;
-}
-
-
-.twitter_account_title /* used on settings page */
-{
-    font-size:1.3em;color:#59d
-}
-
-.twitter_account_title /* used on settings page */
-{
-    color:#59d
-}
-
-/* tabs stuff */
-.help_box
-{
-    line-height:120%;
-    background:#ffe;
-    padding:10px;
-    border:1px solid #dba;
-}
-
-.window_title 
-{ 
-    font-weight:bold;
-    font-size:1.2em;
-    color:#555;
-    margin:0px;
-    margin-top:20px;
-    padding:0px; 
-    cursor:pointer;
-}
-/* tour page */
-h1.tour_heading
-{
-    font-size:2em;
-    font-family:helvetica;
-    font-weight:normal;
-    margin-top:10px;
-}
-h2.tour_heading
-{
-    font-size:1.5em;
-    font-family:helvetica;
-    font-weight:normal;
-    background:#fff;
-    margin-top:37px;
-    margin-bottom:20px;
-}
-
-
-/* SETTINGS PAGE */
-h2.settings_heading
-{
-    font-size:1.3em;
-    font-family:helvetica;
-    font-weight:normal;
-    background:#fff;
-    margin-top:7px;
-    margin-bottom:15px;
-}
-
-.email_secret
-{
-    color:#05a;
-    font-weight:bold;
-}
-
-#import_history_table
-{
-    float:left;
-    padding:5px;
-    border:1px solid #ccc;
-}
-
-.tab { 
-  float:left;
-  text-align:center;
-  padding-bottom:0.2em;
-  width:100px;
-  height:15px;
-   border-top:1px solid #ffc;
-   border-bottom:1px solid #aaa;
-}
-
-.tab_spacer
-{
-    float:left;
-    height:15px;
-    padding-bottom:0.2em;
-    width:98px;
-    border-top:1px solid  #fff;
-    border-bottom:1px solid #aaa;
-    color:#ffc;
-}
-
-.tab_selected { 
-    border:1px solid #aaa;
-    border-bottom:1px solid #eee ;
-    background:#eee }
-#tab_panes
-{
-  border:1px solid #aaa;
-  border-top:0px solid #fff;
-  padding:2em;
-  margin:0px;
-}
-
-
-/* UPGRADE PAGE */
-#upgrade_left_column
-{
-    width:400px;
-    float:left;
-}
-
-#upgrade_right_column
-{
-    margin-left:40px;
-    width:250px;
-    float:left;
-}
-.account_status_box
-{
-    padding:10px;border:1px solid #abd;
-}
-        
-/* USER ACCOUNT PAGE */
-#profile_main_column
-{
-    width:1200px;
-    float:left;
-    text-align:left;
-}
-
-#profile_left_column
-{
-    width:350px;
-    float:left;
-}
-
-#profile_right_column
-{
-    float:left;
-    margin-left:40px;
-    width:450px;
-}
-
-#profile_admin_column
-{
-    float:left;
-    width:300px;
-    font-size:11px;
-    text-align:left;
-    padding:5px;
-    height:800px;
-    background:#efe
-}
-
-.service_box
-{
-    float:left;
-    width:350px;
-    margin-bottom:20px;
-}
-   
-#name_string
-{
-    font-size:140%
-}
-
-#archival_column
-{
-    float:left;
-    width:300px;
-}
-
-
-.upgrade_link
-{
-    text-decoration:underline;
-    font-weight:bold;
-}
-
-
-
-
-
-/* signup */
-.signup_button
-{
-    text-align:center;
-    font-size:1.2em;
-    font-weight:bold;
-    color:#444;
-    background:#dfa;
-    border:1px solid #888;
-    border-radius:15px;
-    -moz-box-shadow: 1px 1px 1px #555;
-    -webkit-box-shadow: 1px 1px 1px #888;
-    box-shadow: 1px 1px 2px #888;
-    padding-left:0px;
-    padding-top:5px;
-    padding-bottom:2px;
-    width:230px;
-    height:20px;
-    margin-left:30px;
-    margin-top:50px;
-}
-
-
-/* NOTES */
-#note_tagbox
-{
-    margin-bottom:15px;
-    width:500px;
-    padding:4px;
-    background:#ffc;
-    border:1px dotted orange;
-}
-#note_right_column
-{
-    text-align:left;
-    width:250px;
-    float:left;
-}
-blockquote.note
-{
-    margin-left:0px;
-    width:490px;
-    line-height:130%;
-    font-family:verdana
-}
-.note_last_updated
-{
-    color:#ca4;
-    font-size:0.9em
-}
-
-.notes_pagination
-{
-    margin-bottom:20px;
-    margin-top:10px;
-}
-
-
-/* PUBLIC PROFILE */
-input.profile_input
-{
-    width:350px;
-}
-textarea.profile_input
-{
-    width:350px;
-    height:140px;
-}
-
-#public_edit_right_column
-{
-    margin-top:20px;
-    text-align:left;
+.alert { 
+    background:#ced;
+    border:1px solid #acc; 
 }
 
-.public_name_value
-{
-    font-size:18pt;
-    color:#555;
-}
+.edit_bookmark_form {color:#888;}
+.edit_bookmark_form input {border:1px solid #ddd;}
+.edit_bookmark_form textarea {border:1px solid #ddd;}
 
-#public_profile_left_column
-{
-    float:left;
-    text-align:left;
-    min-height:700px;
-    width:380px;
-    margin-right:20px;
-}
-#public_profile_left_column h2
-{
-    margin-top:10px;
-}
-#public_profile_left_column .username
-{
+.nav-active {
+    background:#ff8;
     color:blue;
 }
-#public_profile_subscribe_div
-{
-    margin-bottom:10px;
-    color:#888;
-}
-#public_profile_attributes td
-{
-    vertical-align:top;
-}
-#public_profile_tag_cloud
-{
-    float:left;
-    width:300px;
-    text-align:left;
-}
 
-#public_profile_searchbox
-{
-    margin-left:30px;
-    margin-top:10px;
-    text-align:left;
-    float:left;
-}
-
-/* SEARCH PAGE */
-#search_right_bar 
-{
-    float:left;
-    margin-left:10px;
-    text-align:left;
-    width:300px;
-}
-.search_button
-{
-    margin-top:10px;
-}
-
-#tweet_searchbox
-{
-    margin-top:20px;
-    float:left;
-    margin-left:10px;
-}
-
-/* stuff for import/export instructions */
-.pprofile_heading
-{
-    color:#888;
-}
-
-ol.howto { list-style-type:decimal;margin-top:10px; margin-bottom:20px;}
-li.howto { list-style-type:decimal;margin-top:20px; }
-tt { background:#ffa;font-family:verdana;color:#37d; }
-li.import_instructons
-{
-    line-height:150%;
-}
-ol.download_instructions
-{
-    margin-top:10px;
-}
-    
-/* ADMIN STUFF */
-#searchbox fieldset
-{   
-    opacity:0.5;
-    border:1px solid #ff4444;
-    background:#ffccbb;
-}
-   
-   
-/* bulk edit box */
-#bulk_edit_options
-{
-    display:none;
-    margin-top:9px;
-    width:650px;
-}
-
- #bulk_edit_box 
- {
-    display:block;
-    color:#777;
-    border:1px solid #aaa;
-    background:#eee;
-    padding:0px;
-    margin:0px;
- }
- 
- #confirm
- {
-    display:none;
-    background:#35a;
-    padding:3px;
-    color:white;width:650px;
-    
-}
- #bulk_top_bar
- {
-    background:#ddd;
-    height:20px;
-    padding:3px 10px 0px 10px;
-    border-bottom:1px solid #ccc
-}
-
 /* mobile device */
 @media only screen and (max-width : 750px) {
     body { 
         -webkit-text-size-adjust: none; 
-        font-size: 14px;
     }
     .display {
-      float: none
+        float: none
     }
 }
 
 @media only screen and (max-width : 500px) {
     .filters {
-      clear: both;
-      position: relative;
-      top: 2px;
+        clear: both;
+        position: relative;
+        top: 2px;
     }
+}
+
+.rdim {
+  opacity: .8;
+  transition: all .15s ease-in;
+}
+.rdim:hover,
+.rdim:focus {
+  opacity: 1;
+  transition: all .15s ease-in;
 }
static/css/popup.css view
@@ -1,17 +1,6 @@ html {   box-sizing: border-box; }-body-{-  color:#333;-  font-family:helvetica;-  font-size:12px;-  margin-left:20px;-}--*, *:before, *:after {-  box-sizing: inherit;-} [hidden] {     display: none !important }@@ -24,49 +13,23 @@ button:focus {     outline: none; }-#popup_header {-  color:#aaa;-  height:25px;-}-.error { color:red}-.login { color:blue }-#logout { float:right; }-.alert { color:#333;background:#ced;float:left;padding:3px;padding-top:1px;width:433px;border:1px solid #acc; }-#title { float:left ;padding-top:2px; }-form label { display: block; margin-bottom: 10px; }-li { list-style-type: none; margin: 0; padding: 0; display: block;} -section,footer,header { display: block; }-fieldset { border: none; }-legend { display: none; }---a { text-decoration:none; }--a.suggested_tag { -    text-decoration:none;+.alert { +    background:#ced;+    border:1px solid #acc;  }--a.navlink -{-    text-decoration:none;+form label { +    margin: 0;+    vertical-align: middle;+    display: table-cell;+    padding: 2px 0; }+li { list-style-type: none; margin: 0; padding: 0; display: block;}  -.count { color:#aaa } .when { color:#999}- .unread { color:#b41 } a.unread { color:#b41 } a.bookmark_title { font-size:120%;}-.disabled { color:#bbb } -input[type='checkbox'] {-    margin: 0;-    margin-bottom: 8px;-}- label {     cursor: pointer; }--.destroy { color:red; }-.destroy:visited { color:red; }
static/js/app.js view
@@ -1167,12287 +1167,12739 @@           return Nothing.value;       };   });-  var fromJust = function (dictPartial) {-      return function (v) {-          var $__unused = function (dictPartial1) {-              return function ($dollar35) {-                  return $dollar35;-              };-          };-          return $__unused(dictPartial)((function () {-              if (v instanceof Just) {-                  return v.value0;-              };-              throw new Error("Failed pattern match at Data.Maybe line 269, column 1 - line 269, column 46: " + [ v.constructor.name ]);-          })());-      };-  };-  var applyMaybe = new Control_Apply.Apply(function () {-      return functorMaybe;-  }, function (v) {-      return function (v1) {-          if (v instanceof Just) {-              return Data_Functor.map(functorMaybe)(v.value0)(v1);-          };-          if (v instanceof Nothing) {-              return Nothing.value;-          };-          throw new Error("Failed pattern match at Data.Maybe line 67, column 1 - line 67, column 35: " + [ v.constructor.name, v1.constructor.name ]);-      };-  });-  var bindMaybe = new Control_Bind.Bind(function () {-      return applyMaybe;-  }, function (v) {-      return function (v1) {-          if (v instanceof Just) {-              return v1(v.value0);-          };-          if (v instanceof Nothing) {-              return Nothing.value;-          };-          throw new Error("Failed pattern match at Data.Maybe line 126, column 1 - line 126, column 33: " + [ v.constructor.name, v1.constructor.name ]);-      };-  });-  exports["Nothing"] = Nothing;-  exports["Just"] = Just;-  exports["maybe"] = maybe;-  exports["isJust"] = isJust;-  exports["isNothing"] = isNothing;-  exports["fromJust"] = fromJust;-  exports["functorMaybe"] = functorMaybe;-  exports["applyMaybe"] = applyMaybe;-  exports["bindMaybe"] = bindMaybe;-})(PS["Data.Maybe"] = PS["Data.Maybe"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad = PS["Control.Monad"];-  var Data_Bounded = PS["Data.Bounded"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Show = PS["Data.Show"];-  var Prelude = PS["Prelude"];                 -  var Disj = function (x) {-      return x;-  };-  var semigroupDisj = function (dictHeytingAlgebra) {-      return new Data_Semigroup.Semigroup(function (v) {-          return function (v1) {-              return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);-          };-      });-  };-  var monoidDisj = function (dictHeytingAlgebra) {-      return new Data_Monoid.Monoid(function () {-          return semigroupDisj(dictHeytingAlgebra);-      }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));-  };-  exports["Disj"] = Disj;-  exports["semigroupDisj"] = semigroupDisj;-  exports["monoidDisj"] = monoidDisj;-})(PS["Data.Monoid.Disj"] = PS["Data.Monoid.Disj"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Monoid_Additive = PS["Data.Monoid.Additive"];-  var Data_Monoid_Conj = PS["Data.Monoid.Conj"];-  var Data_Monoid_Disj = PS["Data.Monoid.Disj"];-  var Data_Monoid_Dual = PS["Data.Monoid.Dual"];-  var Data_Monoid_Endo = PS["Data.Monoid.Endo"];-  var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"];-  var Data_Semigroup_First = PS["Data.Semigroup.First"];-  var Data_Semigroup_Last = PS["Data.Semigroup.Last"];-  var Prelude = PS["Prelude"];                 -  var Newtype = function (unwrap, wrap) {-      this.unwrap = unwrap;-      this.wrap = wrap;-  };-  var wrap = function (dict) {-      return dict.wrap;-  };-  var unwrap = function (dict) {-      return dict.unwrap;-  };                        -  var newtypeDisj = new Newtype(function (v) {-      return v;-  }, Data_Monoid_Disj.Disj);-  var alaF = function (dictFunctor) {-      return function (dictFunctor1) {-          return function (dictNewtype) {-              return function (dictNewtype1) {-                  return function (v) {-                      return function (f) {-                          return function ($80) {-                              return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));-                          };-                      };-                  };-              };-          };-      };-  };-  exports["unwrap"] = unwrap;-  exports["wrap"] = wrap;-  exports["Newtype"] = Newtype;-  exports["alaF"] = alaF;-  exports["newtypeDisj"] = newtypeDisj;-})(PS["Data.Newtype"] = PS["Data.Newtype"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.Foldable"];-  var Control_Alt = PS["Control.Alt"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Plus = PS["Control.Plus"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Maybe_First = PS["Data.Maybe.First"];-  var Data_Maybe_Last = PS["Data.Maybe.Last"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Monoid_Additive = PS["Data.Monoid.Additive"];-  var Data_Monoid_Conj = PS["Data.Monoid.Conj"];-  var Data_Monoid_Disj = PS["Data.Monoid.Disj"];-  var Data_Monoid_Dual = PS["Data.Monoid.Dual"];-  var Data_Monoid_Endo = PS["Data.Monoid.Endo"];-  var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Unit = PS["Data.Unit"];-  var Prelude = PS["Prelude"];                 -  var Foldable = function (foldMap, foldl, foldr) {-      this.foldMap = foldMap;-      this.foldl = foldl;-      this.foldr = foldr;-  };-  var foldr = function (dict) {-      return dict.foldr;-  };-  var traverse_ = function (dictApplicative) {-      return function (dictFoldable) {-          return function (f) {-              return foldr(dictFoldable)(function ($195) {-                  return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));-              })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));-          };-      };-  };-  var for_ = function (dictApplicative) {-      return function (dictFoldable) {-          return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));-      };-  };-  var sequence_ = function (dictApplicative) {-      return function (dictFoldable) {-          return traverse_(dictApplicative)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));-      };-  };-  var foldl = function (dict) {-      return dict.foldl;-  };-  var intercalate = function (dictFoldable) {-      return function (dictMonoid) {-          return function (sep) {-              return function (xs) {-                  var go = function (v) {-                      return function (x) {-                          if (v.init) {-                              return {-                                  init: false,-                                  acc: x-                              };-                          };-                          return {-                              init: false,-                              acc: Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x))-                          };-                      };-                  };-                  return (foldl(dictFoldable)(go)({-                      init: true,-                      acc: Data_Monoid.mempty(dictMonoid)-                  })(xs)).acc;-              };-          };-      };-  }; -  var foldableMaybe = new Foldable(function (dictMonoid) {-      return function (f) {-          return function (v) {-              if (v instanceof Data_Maybe.Nothing) {-                  return Data_Monoid.mempty(dictMonoid);-              };-              if (v instanceof Data_Maybe.Just) {-                  return f(v.value0);-              };-              throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: " + [ f.constructor.name, v.constructor.name ]);-          };-      };-  }, function (v) {-      return function (z) {-          return function (v1) {-              if (v1 instanceof Data_Maybe.Nothing) {-                  return z;-              };-              if (v1 instanceof Data_Maybe.Just) {-                  return v(z)(v1.value0);-              };-              throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);-          };-      };-  }, function (v) {-      return function (z) {-          return function (v1) {-              if (v1 instanceof Data_Maybe.Nothing) {-                  return z;-              };-              if (v1 instanceof Data_Maybe.Just) {-                  return v(v1.value0)(z);-              };-              throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);-          };-      };-  });-  var foldMapDefaultR = function (dictFoldable) {-      return function (dictMonoid) {-          return function (f) {-              return foldr(dictFoldable)(function (x) {-                  return function (acc) {-                      return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);-                  };-              })(Data_Monoid.mempty(dictMonoid));-          };-      };-  };-  var foldableArray = new Foldable(function (dictMonoid) {-      return foldMapDefaultR(foldableArray)(dictMonoid);-  }, $foreign.foldlArray, $foreign.foldrArray);-  var foldMap = function (dict) {-      return dict.foldMap;-  };-  var find = function (dictFoldable) {-      return function (p) {-          var go = function (v) {-              return function (v1) {-                  if (v instanceof Data_Maybe.Nothing && p(v1)) {-                      return new Data_Maybe.Just(v1);-                  };-                  return v;-              };-          };-          return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);-      };-  };-  var any = function (dictFoldable) {-      return function (dictHeytingAlgebra) {-          return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));-      };-  };-  exports["Foldable"] = Foldable;-  exports["foldr"] = foldr;-  exports["foldl"] = foldl;-  exports["foldMap"] = foldMap;-  exports["foldMapDefaultR"] = foldMapDefaultR;-  exports["traverse_"] = traverse_;-  exports["for_"] = for_;-  exports["sequence_"] = sequence_;-  exports["intercalate"] = intercalate;-  exports["any"] = any;-  exports["find"] = find;-  exports["foldableArray"] = foldableArray;-  exports["foldableMaybe"] = foldableMaybe;-})(PS["Data.Foldable"] = PS["Data.Foldable"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alt = PS["Control.Alt"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Extend = PS["Control.Extend"];-  var Control_Monad = PS["Control.Monad"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Bifoldable = PS["Data.Bifoldable"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Bitraversable = PS["Data.Bitraversable"];-  var Data_Bounded = PS["Data.Bounded"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Show = PS["Data.Show"];-  var Data_Traversable = PS["Data.Traversable"];-  var Prelude = PS["Prelude"];                 -  var Left = (function () {-      function Left(value0) {-          this.value0 = value0;-      };-      Left.create = function (value0) {-          return new Left(value0);-      };-      return Left;-  })();-  var Right = (function () {-      function Right(value0) {-          this.value0 = value0;-      };-      Right.create = function (value0) {-          return new Right(value0);-      };-      return Right;-  })();-  var functorEither = new Data_Functor.Functor(function (f) {-      return function (m) {-          if (m instanceof Left) {-              return new Left(m.value0);-          };-          if (m instanceof Right) {-              return new Right(f(m.value0));-          };-          throw new Error("Failed pattern match at Data.Either line 35, column 8 - line 35, column 52: " + [ m.constructor.name ]);-      };-  });-  var either = function (v) {-      return function (v1) {-          return function (v2) {-              if (v2 instanceof Left) {-                  return v(v2.value0);-              };-              if (v2 instanceof Right) {-                  return v1(v2.value0);-              };-              throw new Error("Failed pattern match at Data.Either line 220, column 1 - line 220, column 64: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);-          };-      };-  };-  var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {-      return function (v1) {-          return function (v2) {-              if (v2 instanceof Left) {-                  return new Left(v(v2.value0));-              };-              if (v2 instanceof Right) {-                  return new Right(v1(v2.value0));-              };-              throw new Error("Failed pattern match at Data.Either line 40, column 1 - line 40, column 45: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);-          };-      };-  });-  var applyEither = new Control_Apply.Apply(function () {-      return functorEither;-  }, function (v) {-      return function (v1) {-          if (v instanceof Left) {-              return new Left(v.value0);-          };-          if (v instanceof Right) {-              return Data_Functor.map(functorEither)(v.value0)(v1);-          };-          throw new Error("Failed pattern match at Data.Either line 76, column 1 - line 76, column 41: " + [ v.constructor.name, v1.constructor.name ]);-      };-  });-  exports["Left"] = Left;-  exports["Right"] = Right;-  exports["either"] = either;-  exports["functorEither"] = functorEither;-  exports["bifunctorEither"] = bifunctorEither;-  exports["applyEither"] = applyEither;-})(PS["Data.Either"] = PS["Data.Either"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alt = PS["Control.Alt"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Comonad = PS["Control.Comonad"];-  var Control_Extend = PS["Control.Extend"];-  var Control_Lazy = PS["Control.Lazy"];-  var Control_Monad = PS["Control.Monad"];-  var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"];-  var Data_Bounded = PS["Data.Bounded"];-  var Data_CommutativeRing = PS["Data.CommutativeRing"];-  var Data_Eq = PS["Data.Eq"];-  var Data_EuclideanRing = PS["Data.EuclideanRing"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Show = PS["Data.Show"];-  var Data_Traversable = PS["Data.Traversable"];-  var Prelude = PS["Prelude"];                 -  var Identity = function (x) {-      return x;-  };-  var newtypeIdentity = new Data_Newtype.Newtype(function (n) {-      return n;-  }, Identity);-  var functorIdentity = new Data_Functor.Functor(function (f) {-      return function (m) {-          return f(m);-      };-  });-  var applyIdentity = new Control_Apply.Apply(function () {-      return functorIdentity;-  }, function (v) {-      return function (v1) {-          return v(v1);-      };-  });-  var bindIdentity = new Control_Bind.Bind(function () {-      return applyIdentity;-  }, function (v) {-      return function (f) {-          return f(v);-      };-  });-  var applicativeIdentity = new Control_Applicative.Applicative(function () {-      return applyIdentity;-  }, Identity);-  var monadIdentity = new Control_Monad.Monad(function () {-      return applicativeIdentity;-  }, function () {-      return bindIdentity;-  });-  exports["Identity"] = Identity;-  exports["newtypeIdentity"] = newtypeIdentity;-  exports["functorIdentity"] = functorIdentity;-  exports["applyIdentity"] = applyIdentity;-  exports["applicativeIdentity"] = applicativeIdentity;-  exports["bindIdentity"] = bindIdentity;-  exports["monadIdentity"] = monadIdentity;-})(PS["Data.Identity"] = PS["Data.Identity"] || {});-(function(exports) {-    "use strict";--  exports.pureE = function (a) {-    return function () {-      return a;-    };-  };--  exports.bindE = function (a) {-    return function (f) {-      return function () {-        return f(a())();-      };-    };-  };--  exports.foreachE = function (as) {-    return function (f) {-      return function () {-        for (var i = 0, l = as.length; i < l; i++) {-          f(as[i])();-        }-      };-    };-  };-})(PS["Effect"] = PS["Effect"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Effect"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad = PS["Control.Monad"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Prelude = PS["Prelude"];                 -  var monadEffect = new Control_Monad.Monad(function () {-      return applicativeEffect;-  }, function () {-      return bindEffect;-  });-  var bindEffect = new Control_Bind.Bind(function () {-      return applyEffect;-  }, $foreign.bindE);-  var applyEffect = new Control_Apply.Apply(function () {-      return functorEffect;-  }, Control_Monad.ap(monadEffect));-  var applicativeEffect = new Control_Applicative.Applicative(function () {-      return applyEffect;-  }, $foreign.pureE);-  var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));-  exports["functorEffect"] = functorEffect;-  exports["applyEffect"] = applyEffect;-  exports["applicativeEffect"] = applicativeEffect;-  exports["bindEffect"] = bindEffect;-  exports["monadEffect"] = monadEffect;-  exports["foreachE"] = $foreign.foreachE;-})(PS["Effect"] = PS["Effect"] || {});-(function(exports) {-    "use strict";--  exports.new = function (val) {-    return function () {-      return { value: val };-    };-  };--  exports.read = function (ref) {-    return function () {-      return ref.value;-    };-  };--  exports["modify'"] = function (f) {-    return function (ref) {-      return function () {-        var t = f(ref.value);-        ref.value = t.state;-        return t.value;-      };-    };-  };--  exports.write = function (val) {-    return function (ref) {-      return function () {-        ref.value = val;-        return {};-      };-    };-  };-})(PS["Effect.Ref"] = PS["Effect.Ref"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Effect.Ref"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];                 -  var modify = function (f) {-      return $foreign["modify'"](function (s) {-          var s$prime = f(s);-          return {-              state: s$prime,-              value: s$prime-          };-      });-  };-  var modify_ = function (f) {-      return function (s) {-          return Data_Functor["void"](Effect.functorEffect)(modify(f)(s));-      };-  };-  exports["modify"] = modify;-  exports["modify_"] = modify_;-  exports["new"] = $foreign["new"];-  exports["read"] = $foreign.read;-  exports["modify'"] = $foreign["modify'"];-  exports["write"] = $foreign.write;-})(PS["Effect.Ref"] = PS["Effect.Ref"] || {});-(function(exports) {-    "use strict";--  // module Partial.Unsafe--  exports.unsafePartial = function (f) {-    return f();-  };-})(PS["Partial.Unsafe"] = PS["Partial.Unsafe"] || {});-(function(exports) {-    "use strict";--  // module Partial--  exports.crashWith = function () {-    return function (msg) {-      throw new Error(msg);-    };-  };-})(PS["Partial"] = PS["Partial"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Partial"];-  exports["crashWith"] = $foreign.crashWith;-})(PS["Partial"] = PS["Partial"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Partial.Unsafe"];-  var Partial = PS["Partial"];-  var unsafeCrashWith = function (msg) {-      return $foreign.unsafePartial(function (dictPartial) {-          return Partial.crashWith(dictPartial)(msg);-      });-  };-  exports["unsafeCrashWith"] = unsafeCrashWith;-})(PS["Partial.Unsafe"] = PS["Partial.Unsafe"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad = PS["Control.Monad"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Either = PS["Data.Either"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Identity = PS["Data.Identity"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  var Effect_Ref = PS["Effect.Ref"];-  var Partial_Unsafe = PS["Partial.Unsafe"];-  var Prelude = PS["Prelude"];                 -  var Loop = (function () {-      function Loop(value0) {-          this.value0 = value0;-      };-      Loop.create = function (value0) {-          return new Loop(value0);-      };-      return Loop;-  })();-  var Done = (function () {-      function Done(value0) {-          this.value0 = value0;-      };-      Done.create = function (value0) {-          return new Done(value0);-      };-      return Done;-  })();-  var MonadRec = function (Monad0, tailRecM) {-      this.Monad0 = Monad0;-      this.tailRecM = tailRecM;-  };-  var tailRecM = function (dict) {-      return dict.tailRecM;-  }; -  var monadRecEffect = new MonadRec(function () {-      return Effect.monadEffect;-  }, function (f) {-      return function (a) {-          var fromDone = function (v) {-              var $__unused = function (dictPartial1) {-                  return function ($dollar19) {-                      return $dollar19;-                  };-              };-              return $__unused()((function () {-                  if (v instanceof Done) {-                      return v.value0;-                  };-                  throw new Error("Failed pattern match at Control.Monad.Rec.Class line 111, column 30 - line 111, column 44: " + [ v.constructor.name ]);-              })());-          };-          return function __do() {-              var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref["new"])(f(a))();-              (function () {-                  while (!(function __do() {-                      var v1 = Effect_Ref.read(v)();-                      if (v1 instanceof Loop) {-                          var v2 = f(v1.value0)();-                          var v3 = Effect_Ref.write(v2)(v)();-                          return false;-                      };-                      if (v1 instanceof Done) {-                          return true;-                      };-                      throw new Error("Failed pattern match at Control.Monad.Rec.Class line 102, column 22 - line 107, column 28: " + [ v1.constructor.name ]);-                  })()) {--                  };-                  return {};-              })();-              return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();-          };-      };-  });-  exports["Loop"] = Loop;-  exports["Done"] = Done;-  exports["MonadRec"] = MonadRec;-  exports["tailRecM"] = tailRecM;-  exports["monadRecEffect"] = monadRecEffect;-})(PS["Control.Monad.Rec.Class"] = PS["Control.Monad.Rec.Class"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Biapplicative = PS["Control.Biapplicative"];-  var Control_Biapply = PS["Control.Biapply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Comonad = PS["Control.Comonad"];-  var Control_Extend = PS["Control.Extend"];-  var Control_Lazy = PS["Control.Lazy"];-  var Control_Monad = PS["Control.Monad"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Bifoldable = PS["Data.Bifoldable"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Bitraversable = PS["Data.Bitraversable"];-  var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"];-  var Data_Bounded = PS["Data.Bounded"];-  var Data_CommutativeRing = PS["Data.CommutativeRing"];-  var Data_Distributive = PS["Data.Distributive"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Maybe_First = PS["Data.Maybe.First"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Show = PS["Data.Show"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_Unit = PS["Data.Unit"];-  var Prelude = PS["Prelude"];-  var Type_Equality = PS["Type.Equality"];                 -  var Tuple = (function () {-      function Tuple(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Tuple.create = function (value0) {-          return function (value1) {-              return new Tuple(value0, value1);-          };-      };-      return Tuple;-  })();-  var snd = function (v) {-      return v.value1;-  };-  var functorTuple = new Data_Functor.Functor(function (f) {-      return function (m) {-          return new Tuple(m.value0, f(m.value1));-      };-  });                                                                                                   -  var fst = function (v) {-      return v.value0;-  };-  exports["Tuple"] = Tuple;-  exports["fst"] = fst;-  exports["snd"] = snd;-  exports["functorTuple"] = functorTuple;-})(PS["Data.Tuple"] = PS["Data.Tuple"] || {});-(function(exports) {-    "use strict";--  exports.unfoldrArrayImpl = function (isNothing) {-    return function (fromJust) {-      return function (fst) {-        return function (snd) {-          return function (f) {-            return function (b) {-              var result = [];-              var value = b;-              while (true) { // eslint-disable-line no-constant-condition-                var maybe = f(value);-                if (isNothing(maybe)) return result;-                var tuple = fromJust(maybe);-                result.push(fst(tuple));-                value = snd(tuple);-              }-            };-          };-        };-      };-    };-  };-})(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {});-(function(exports) {-    "use strict";--  exports.unfoldr1ArrayImpl = function (isNothing) {-    return function (fromJust) {-      return function (fst) {-        return function (snd) {-          return function (f) {-            return function (b) {-              var result = [];-              var value = b;-              while (true) { // eslint-disable-line no-constant-condition-                var tuple = f(value);-                result.push(fst(tuple));-                var maybe = snd(tuple);-                if (isNothing(maybe)) return result;-                value = fromJust(maybe);-              }-            };-          };-        };-      };-    };-  };-})(PS["Data.Unfoldable1"] = PS["Data.Unfoldable1"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.Unfoldable1"];-  var Data_Boolean = PS["Data.Boolean"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Tuple = PS["Data.Tuple"];-  var Partial_Unsafe = PS["Partial.Unsafe"];-  var Prelude = PS["Prelude"];                 -  var Unfoldable1 = function (unfoldr1) {-      this.unfoldr1 = unfoldr1;-  };-  var unfoldr1 = function (dict) {-      return dict.unfoldr1;-  };-  var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));-  exports["Unfoldable1"] = Unfoldable1;-  exports["unfoldr1"] = unfoldr1;-  exports["unfoldable1Array"] = unfoldable1Array;-})(PS["Data.Unfoldable1"] = PS["Data.Unfoldable1"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.Unfoldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable1 = PS["Data.Unfoldable1"];-  var Data_Unit = PS["Data.Unit"];-  var Partial_Unsafe = PS["Partial.Unsafe"];-  var Prelude = PS["Prelude"];                 -  var Unfoldable = function (Unfoldable10, unfoldr) {-      this.Unfoldable10 = Unfoldable10;-      this.unfoldr = unfoldr;-  };-  var unfoldr = function (dict) {-      return dict.unfoldr;-  };-  var unfoldableArray = new Unfoldable(function () {-      return Data_Unfoldable1.unfoldable1Array;-  }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));-  exports["Unfoldable"] = Unfoldable;-  exports["unfoldr"] = unfoldr;-  exports["unfoldableArray"] = unfoldableArray;-})(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {});-(function(exports) {-    "use strict";--  // module Unsafe.Coerce--  exports.unsafeCoerce = function (x) {-    return x;-  };-})(PS["Unsafe.Coerce"] = PS["Unsafe.Coerce"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Unsafe.Coerce"];-  exports["unsafeCoerce"] = $foreign.unsafeCoerce;-})(PS["Unsafe.Coerce"] = PS["Unsafe.Coerce"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.Array"];-  var Control_Alt = PS["Control.Alt"];-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Lazy = PS["Control.Lazy"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Monad_ST = PS["Control.Monad.ST"];-  var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Array_NonEmpty_Internal = PS["Data.Array.NonEmpty.Internal"];-  var Data_Array_ST = PS["Data.Array.ST"];-  var Data_Array_ST_Iterator = PS["Data.Array.ST.Iterator"];-  var Data_Boolean = PS["Data.Boolean"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Partial_Unsafe = PS["Partial.Unsafe"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var singleton = function (a) {-      return [ a ];-  };-  var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));-  var mapMaybe = function (f) {-      return concatMap(function ($114) {-          return Data_Maybe.maybe([  ])(singleton)(f($114));-      });-  };-  exports["singleton"] = singleton;-  exports["concatMap"] = concatMap;-  exports["mapMaybe"] = mapMaybe;-  exports["length"] = $foreign.length;-  exports["cons"] = $foreign.cons;-  exports["snoc"] = $foreign.snoc;-  exports["filter"] = $foreign.filter;-  exports["drop"] = $foreign.drop;-})(PS["Data.Array"] = PS["Data.Array"] || {});-(function(exports) {-    "use strict";--  exports.replace = function (s1) {-    return function (s2) {-      return function (s3) {-        return s3.replace(s1, s2);-      };-    };-  };--  exports.replaceAll = function (s1) {-    return function (s2) {-      return function (s3) {-        return s3.replace(new RegExp(s1.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"), "g"), s2); // eslint-disable-line no-useless-escape-      };-    };-  };--  exports.split = function (sep) {-    return function (s) {-      return s.split(sep);-    };-  };--  exports.joinWith = function (s) {-    return function (xs) {-      return xs.join(s);-    };-  };-})(PS["Data.String.Common"] = PS["Data.String.Common"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.String.Common"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_String_Pattern = PS["Data.String.Pattern"];-  var Prelude = PS["Prelude"];                 -  var $$null = function (s) {-      return s === "";-  };-  exports["null"] = $$null;-  exports["replaceAll"] = $foreign.replaceAll;-  exports["split"] = $foreign.split;-  exports["joinWith"] = $foreign.joinWith;-})(PS["Data.String.Common"] = PS["Data.String.Common"] || {});-(function(exports) {-  /* globals exports, JSON */-  "use strict";--  exports.unsafeStringify = function (x) {-    return JSON.stringify(x);-  };                                  -  exports.unsafeDecodeURIComponent = decodeURIComponent;-  exports.unsafeEncodeURIComponent = encodeURIComponent;-})(PS["Global.Unsafe"] = PS["Global.Unsafe"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Global.Unsafe"];-  exports["unsafeStringify"] = $foreign.unsafeStringify;-  exports["unsafeDecodeURIComponent"] = $foreign.unsafeDecodeURIComponent;-  exports["unsafeEncodeURIComponent"] = $foreign.unsafeEncodeURIComponent;-})(PS["Global.Unsafe"] = PS["Global.Unsafe"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Show = PS["Data.Show"];-  var Data_String = PS["Data.String"];-  var Data_String_Common = PS["Data.String.Common"];-  var Data_Tuple = PS["Data.Tuple"];-  var Global_Unsafe = PS["Global.Unsafe"];-  var Prelude = PS["Prelude"];-  var toArray = function (v) {-      return v;-  };                                                                                                                 -  var encode = (function () {-      var encodePart = function (v) {-          if (v.value1 instanceof Data_Maybe.Nothing) {-              return Global_Unsafe.unsafeEncodeURIComponent(v.value0);-          };-          if (v.value1 instanceof Data_Maybe.Just) {-              return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + ("=" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));-          };-          throw new Error("Failed pattern match at Data.FormURLEncoded line 35, column 18 - line 37, column 89: " + [ v.constructor.name ]);-      };-      return function ($14) {-          return Data_String_Common.joinWith("&")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));-      };-  })();-  exports["toArray"] = toArray;-  exports["encode"] = encode;-})(PS["Data.FormURLEncoded"] = PS["Data.FormURLEncoded"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Data_Either = PS["Data.Either"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Show = PS["Data.Show"];-  var Data_String = PS["Data.String"];-  var Data_String_Common = PS["Data.String.Common"];-  var Prelude = PS["Prelude"];                 -  var OPTIONS = (function () {-      function OPTIONS() {--      };-      OPTIONS.value = new OPTIONS();-      return OPTIONS;-  })();-  var GET = (function () {-      function GET() {--      };-      GET.value = new GET();-      return GET;-  })();-  var HEAD = (function () {-      function HEAD() {--      };-      HEAD.value = new HEAD();-      return HEAD;-  })();-  var POST = (function () {-      function POST() {--      };-      POST.value = new POST();-      return POST;-  })();-  var PUT = (function () {-      function PUT() {--      };-      PUT.value = new PUT();-      return PUT;-  })();-  var DELETE = (function () {-      function DELETE() {--      };-      DELETE.value = new DELETE();-      return DELETE;-  })();-  var TRACE = (function () {-      function TRACE() {--      };-      TRACE.value = new TRACE();-      return TRACE;-  })();-  var CONNECT = (function () {-      function CONNECT() {--      };-      CONNECT.value = new CONNECT();-      return CONNECT;-  })();-  var PROPFIND = (function () {-      function PROPFIND() {--      };-      PROPFIND.value = new PROPFIND();-      return PROPFIND;-  })();-  var PROPPATCH = (function () {-      function PROPPATCH() {--      };-      PROPPATCH.value = new PROPPATCH();-      return PROPPATCH;-  })();-  var MKCOL = (function () {-      function MKCOL() {--      };-      MKCOL.value = new MKCOL();-      return MKCOL;-  })();-  var COPY = (function () {-      function COPY() {--      };-      COPY.value = new COPY();-      return COPY;-  })();-  var MOVE = (function () {-      function MOVE() {--      };-      MOVE.value = new MOVE();-      return MOVE;-  })();-  var LOCK = (function () {-      function LOCK() {--      };-      LOCK.value = new LOCK();-      return LOCK;-  })();-  var UNLOCK = (function () {-      function UNLOCK() {--      };-      UNLOCK.value = new UNLOCK();-      return UNLOCK;-  })();-  var PATCH = (function () {-      function PATCH() {--      };-      PATCH.value = new PATCH();-      return PATCH;-  })();-  var unCustomMethod = function (v) {-      return v;-  };-  var showMethod = new Data_Show.Show(function (v) {-      if (v instanceof OPTIONS) {-          return "OPTIONS";-      };-      if (v instanceof GET) {-          return "GET";-      };-      if (v instanceof HEAD) {-          return "HEAD";-      };-      if (v instanceof POST) {-          return "POST";-      };-      if (v instanceof PUT) {-          return "PUT";-      };-      if (v instanceof DELETE) {-          return "DELETE";-      };-      if (v instanceof TRACE) {-          return "TRACE";-      };-      if (v instanceof CONNECT) {-          return "CONNECT";-      };-      if (v instanceof PROPFIND) {-          return "PROPFIND";-      };-      if (v instanceof PROPPATCH) {-          return "PROPPATCH";-      };-      if (v instanceof MKCOL) {-          return "MKCOL";-      };-      if (v instanceof COPY) {-          return "COPY";-      };-      if (v instanceof MOVE) {-          return "MOVE";-      };-      if (v instanceof LOCK) {-          return "LOCK";-      };-      if (v instanceof UNLOCK) {-          return "UNLOCK";-      };-      if (v instanceof PATCH) {-          return "PATCH";-      };-      throw new Error("Failed pattern match at Data.HTTP.Method line 40, column 1 - line 40, column 35: " + [ v.constructor.name ]);-  });-  var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);-  exports["OPTIONS"] = OPTIONS;-  exports["GET"] = GET;-  exports["HEAD"] = HEAD;-  exports["POST"] = POST;-  exports["PUT"] = PUT;-  exports["DELETE"] = DELETE;-  exports["TRACE"] = TRACE;-  exports["CONNECT"] = CONNECT;-  exports["PROPFIND"] = PROPFIND;-  exports["PROPPATCH"] = PROPPATCH;-  exports["MKCOL"] = MKCOL;-  exports["COPY"] = COPY;-  exports["MOVE"] = MOVE;-  exports["LOCK"] = LOCK;-  exports["UNLOCK"] = UNLOCK;-  exports["PATCH"] = PATCH;-  exports["unCustomMethod"] = unCustomMethod;-  exports["print"] = print;-  exports["showMethod"] = showMethod;-})(PS["Data.HTTP.Method"] = PS["Data.HTTP.Method"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Data_Eq = PS["Data.Eq"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Show = PS["Data.Show"];-  var Prelude = PS["Prelude"];                 -  var MediaType = function (x) {-      return x;-  }; -  var newtypeMediaType = new Data_Newtype.Newtype(function (n) {-      return n;-  }, MediaType);-  exports["MediaType"] = MediaType;-  exports["newtypeMediaType"] = newtypeMediaType;-})(PS["Data.MediaType"] = PS["Data.MediaType"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Data_MediaType = PS["Data.MediaType"];           -  var applicationJSON = "application/json";-  var applicationFormURLEncoded = "application/x-www-form-urlencoded";-  exports["applicationFormURLEncoded"] = applicationFormURLEncoded;-  exports["applicationJSON"] = applicationJSON;-})(PS["Data.MediaType.Common"] = PS["Data.MediaType.Common"] || {});-(function(exports) {-  /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */-  /* jshint -W083, -W098, -W003 */-  "use strict";--  var Aff = function () {-    // A unique value for empty.-    var EMPTY = {};--    /*--  An awkward approximation. We elide evidence we would otherwise need in PS for-  efficiency sake.--  data Aff eff a-    = Pure a-    | Throw Error-    | Catch (Aff eff a) (Error -> Aff eff a)-    | Sync (Eff eff a)-    | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))-    | forall b. Bind (Aff eff b) (b -> Aff eff a)-    | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)-    | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)-    | Sequential (ParAff aff a)--  */  -    var PURE    = "Pure";-    var THROW   = "Throw";-    var CATCH   = "Catch";-    var SYNC    = "Sync";-    var ASYNC   = "Async";-    var BIND    = "Bind";-    var BRACKET = "Bracket";-    var FORK    = "Fork";-    var SEQ     = "Sequential";--    /*--  data ParAff eff a-    = forall b. Map (b -> a) (ParAff eff b)-    | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)-    | Alt (ParAff eff a) (ParAff eff a)-    | ?Par (Aff eff a)--  */  -    var MAP   = "Map";-    var APPLY = "Apply";-    var ALT   = "Alt";--    // Various constructors used in interpretation-    var CONS      = "Cons";      // Cons-list, for stacks-    var RESUME    = "Resume";    // Continue indiscriminately-    var RELEASE   = "Release";   // Continue with bracket finalizers-    var FINALIZER = "Finalizer"; // A non-interruptible effect-    var FINALIZED = "Finalized"; // Marker for finalization-    var FORKED    = "Forked";    // Reference to a forked fiber, with resumption stack-    var FIBER     = "Fiber";     // Actual fiber reference-    var THUNK     = "Thunk";     // Primed effect, ready to invoke--    function Aff(tag, _1, _2, _3) {-      this.tag = tag;-      this._1  = _1;-      this._2  = _2;-      this._3  = _3;-    }--    function AffCtr(tag) {-      var fn = function (_1, _2, _3) {-        return new Aff(tag, _1, _2, _3);-      };-      fn.tag = tag;-      return fn;-    }--    function nonCanceler(error) {-      return new Aff(PURE, void 0);-    }--    function runEff(eff) {-      try {-        eff();-      } catch (error) {-        setTimeout(function () {-          throw error;-        }, 0);-      }-    }--    function runSync(left, right, eff) {-      try {-        return right(eff());-      } catch (error) {-        return left(error);-      }-    }--    function runAsync(left, eff, k) {-      try {-        return eff(k)();-      } catch (error) {-        k(left(error))();-        return nonCanceler;-      }-    }--    var Scheduler = function () {-      var limit    = 1024;-      var size     = 0;-      var ix       = 0;-      var queue    = new Array(limit);-      var draining = false;--      function drain() {-        var thunk;-        draining = true;-        while (size !== 0) {-          size--;-          thunk     = queue[ix];-          queue[ix] = void 0;-          ix        = (ix + 1) % limit;-          thunk();-        }-        draining = false;-      }--      return {-        isDraining: function () {-          return draining;-        },-        enqueue: function (cb) {-          var i, tmp;-          if (size === limit) {-            tmp = draining;-            drain();-            draining = tmp;-          }--          queue[(ix + size) % limit] = cb;-          size++;--          if (!draining) {-            drain();-          }-        }-      };-    }();--    function Supervisor(util) {-      var fibers  = {};-      var fiberId = 0;-      var count   = 0;--      return {-        register: function (fiber) {-          var fid = fiberId++;-          fiber.onComplete({-            rethrow: true,-            handler: function (result) {-              return function () {-                count--;-                delete fibers[fid];-              };-            }-          });-          fibers[fid] = fiber;-          count++;-        },-        isEmpty: function () {-          return count === 0;-        },-        killAll: function (killError, cb) {-          return function () {-            var killCount = 0;-            var kills     = {};--            function kill(fid) {-              kills[fid] = fibers[fid].kill(killError, function (result) {-                return function () {-                  delete kills[fid];-                  killCount--;-                  if (util.isLeft(result) && util.fromLeft(result)) {-                    setTimeout(function () {-                      throw util.fromLeft(result);-                    }, 0);-                  }-                  if (killCount === 0) {-                    cb();-                  }-                };-              })();-            }--            for (var k in fibers) {-              if (fibers.hasOwnProperty(k)) {-                killCount++;-                kill(k);-              }-            }--            fibers  = {};-            fiberId = 0;-            count   = 0;--            return function (error) {-              return new Aff(SYNC, function () {-                for (var k in kills) {-                  if (kills.hasOwnProperty(k)) {-                    kills[k]();-                  }-                }-              });-            };-          };-        }-      };-    }--    // Fiber state machine-    var SUSPENDED   = 0; // Suspended, pending a join.-    var CONTINUE    = 1; // Interpret the next instruction.-    var STEP_BIND   = 2; // Apply the next bind.-    var STEP_RESULT = 3; // Handle potential failure from a result.-    var PENDING     = 4; // An async effect is running.-    var RETURN      = 5; // The current stack has returned.-    var COMPLETED   = 6; // The entire fiber has completed.--    function Fiber(util, supervisor, aff) {-      // Monotonically increasing tick, increased on each asynchronous turn.-      var runTick = 0;--      // The current branch of the state machine.-      var status = SUSPENDED;--      // The current point of interest for the state machine branch.-      var step      = aff;  // Successful step-      var fail      = null; // Failure step-      var interrupt = null; // Asynchronous interrupt--      // Stack of continuations for the current fiber.-      var bhead = null;-      var btail = null;--      // Stack of attempts and finalizers for error recovery. Every `Cons` is also-      // tagged with current `interrupt` state. We use this to track which items-      // should be ignored or evaluated as a result of a kill.-      var attempts = null;--      // A special state is needed for Bracket, because it cannot be killed. When-      // we enter a bracket acquisition or finalizer, we increment the counter,-      // and then decrement once complete.-      var bracketCount = 0;--      // Each join gets a new id so they can be revoked.-      var joinId  = 0;-      var joins   = null;-      var rethrow = true;--      // Each invocation of `run` requires a tick. When an asynchronous effect is-      // resolved, we must check that the local tick coincides with the fiber-      // tick before resuming. This prevents multiple async continuations from-      // accidentally resuming the same fiber. A common example may be invoking-      // the provided callback in `makeAff` more than once, but it may also be an-      // async effect resuming after the fiber was already cancelled.-      function run(localRunTick) {-        var tmp, result, attempt, canceler;-        while (true) {-          tmp       = null;-          result    = null;-          attempt   = null;-          canceler  = null;--          switch (status) {-          case STEP_BIND:-            status = CONTINUE;-            step   = bhead(step);-            if (btail === null) {-              bhead = null;-            } else {-              bhead = btail._1;-              btail = btail._2;-            }-            break;--          case STEP_RESULT:-            if (util.isLeft(step)) {-              status = RETURN;-              fail   = step;-              step   = null;-            } else if (bhead === null) {-              status = RETURN;-            } else {-              status = STEP_BIND;-              step   = util.fromRight(step);-            }-            break;--          case CONTINUE:-            switch (step.tag) {-            case BIND:-              if (bhead) {-                btail = new Aff(CONS, bhead, btail);-              }-              bhead  = step._2;-              status = CONTINUE;-              step   = step._1;-              break;--            case PURE:-              if (bhead === null) {-                status = RETURN;-                step   = util.right(step._1);-              } else {-                status = STEP_BIND;-                step   = step._1;-              }-              break;--            case SYNC:-              status = STEP_RESULT;-              step   = runSync(util.left, util.right, step._1);-              break;--            case ASYNC:-              status = PENDING;-              step   = runAsync(util.left, step._1, function (result) {-                return function () {-                  if (runTick !== localRunTick) {-                    return;-                  }-                  runTick++;-                  Scheduler.enqueue(function () {-                    status = STEP_RESULT;-                    step   = result;-                    run(runTick);-                  });-                };-              });-              return;--            case THROW:-              status = RETURN;-              fail   = util.left(step._1);-              step   = null;-              break;--            // Enqueue the Catch so that we can call the error handler later on-            // in case of an exception.-            case CATCH:-              if (bhead === null) {-                attempts = new Aff(CONS, step, attempts, interrupt);-              } else {-                attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);-              }-              bhead    = null;-              btail    = null;-              status   = CONTINUE;-              step     = step._1;-              break;--            // Enqueue the Bracket so that we can call the appropriate handlers-            // after resource acquisition.-            case BRACKET:-              bracketCount++;-              if (bhead === null) {-                attempts = new Aff(CONS, step, attempts, interrupt);-              } else {-                attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);-              }-              bhead  = null;-              btail  = null;-              status = CONTINUE;-              step   = step._1;-              break;--            case FORK:-              status = STEP_RESULT;-              tmp    = Fiber(util, supervisor, step._2);-              if (supervisor) {-                supervisor.register(tmp);-              }-              if (step._1) {-                tmp.run();-              }-              step = util.right(tmp);-              break;--            case SEQ:-              status = CONTINUE;-              step   = sequential(util, supervisor, step._1);-              break;-            }-            break;--          case RETURN:-            bhead = null;-            btail = null;-            // If the current stack has returned, and we have no other stacks to-            // resume or finalizers to run, the fiber has halted and we can-            // invoke all join callbacks. Otherwise we need to resume.-            if (attempts === null) {-              status = COMPLETED;-              step   = interrupt || fail || step;-            } else {-              // The interrupt status for the enqueued item.-              tmp      = attempts._3;-              attempt  = attempts._1;-              attempts = attempts._2;--              switch (attempt.tag) {-              // We cannot recover from an interrupt. Otherwise we should-              // continue stepping, or run the exception handler if an exception-              // was raised.-              case CATCH:-                // We should compare the interrupt status as well because we-                // only want it to apply if there has been an interrupt since-                // enqueuing the catch.-                if (interrupt && interrupt !== tmp) {-                  status = RETURN;-                } else if (fail) {-                  status = CONTINUE;-                  step   = attempt._2(util.fromLeft(fail));-                  fail   = null;-                }-                break;--              // We cannot resume from an interrupt or exception.-              case RESUME:-                // As with Catch, we only want to ignore in the case of an-                // interrupt since enqueing the item.-                if (interrupt && interrupt !== tmp || fail) {-                  status = RETURN;-                } else {-                  bhead  = attempt._1;-                  btail  = attempt._2;-                  status = STEP_BIND;-                  step   = util.fromRight(step);-                }-                break;--              // If we have a bracket, we should enqueue the handlers,-              // and continue with the success branch only if the fiber has-              // not been interrupted. If the bracket acquisition failed, we-              // should not run either.-              case BRACKET:-                bracketCount--;-                if (fail === null) {-                  result   = util.fromRight(step);-                  // We need to enqueue the Release with the same interrupt-                  // status as the Bracket that is initiating it.-                  attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);-                  // We should only coninue as long as the interrupt status has not changed or-                  // we are currently within a non-interruptable finalizer.-                  if (interrupt === tmp || bracketCount > 0) {-                    status = CONTINUE;-                    step   = attempt._3(result);-                  }-                }-                break;--              // Enqueue the appropriate handler. We increase the bracket count-              // because it should not be cancelled.-              case RELEASE:-                bracketCount++;-                attempts = new Aff(CONS, new Aff(FINALIZED, step), attempts, interrupt);-                status   = CONTINUE;-                // It has only been killed if the interrupt status has changed-                // since we enqueued the item.-                if (interrupt && interrupt !== tmp) {-                  step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);-                } else if (fail) {-                  step = attempt._1.failed(util.fromLeft(fail))(attempt._2);-                } else {-                  step = attempt._1.completed(util.fromRight(step))(attempt._2);-                }-                break;--              case FINALIZER:-                bracketCount++;-                attempts = new Aff(CONS, new Aff(FINALIZED, step), attempts, interrupt);-                status   = CONTINUE;-                step     = attempt._1;-                break;--              case FINALIZED:-                bracketCount--;-                status = RETURN;-                step   = attempt._1;-                break;-              }-            }-            break;--          case COMPLETED:-            for (var k in joins) {-              if (joins.hasOwnProperty(k)) {-                rethrow = rethrow && joins[k].rethrow;-                runEff(joins[k].handler(step));-              }-            }-            joins = null;-            // If we have an interrupt and a fail, then the thread threw while-            // running finalizers. This should always rethrow in a fresh stack.-            if (interrupt && fail) {-              setTimeout(function () {-                throw util.fromLeft(fail);-              }, 0);-            // If we have an unhandled exception, and no other fiber has joined-            // then we need to throw the exception in a fresh stack.-            } else if (util.isLeft(step) && rethrow) {-              setTimeout(function () {-                // Guard on reathrow because a completely synchronous fiber can-                // still have an observer which was added after-the-fact.-                if (rethrow) {-                  throw util.fromLeft(step);-                }-              }, 0);-            }-            return;-          case SUSPENDED:-            status = CONTINUE;-            break;-          case PENDING: return;-          }-        }-      }--      function onComplete(join) {-        return function () {-          if (status === COMPLETED) {-            rethrow = rethrow && join.rethrow;-            join.handler(step)();-            return function () {};-          }--          var jid    = joinId++;-          joins      = joins || {};-          joins[jid] = join;--          return function() {-            if (joins !== null) {-              delete joins[jid];-            }-          };-        };-      }--      function kill(error, cb) {-        return function () {-          if (status === COMPLETED) {-            cb(util.right(void 0))();-            return function () {};-          }--          var canceler = onComplete({-            rethrow: false,-            handler: function (/* unused */) {-              return cb(util.right(void 0));-            }-          })();--          switch (status) {-          case SUSPENDED:-            interrupt = util.left(error);-            status    = COMPLETED;-            step      = interrupt;-            run(runTick);-            break;-          case PENDING:-            if (interrupt === null) {-              interrupt = util.left(error);-            }-            if (bracketCount === 0) {-              if (status === PENDING) {-                attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);-              }-              status   = RETURN;-              step     = null;-              fail     = null;-              run(++runTick);-            }-            break;-          default:-            if (interrupt === null) {-              interrupt = util.left(error);-            }-            if (bracketCount === 0) {-              status = RETURN;-              step   = null;-              fail   = null;-            }-          }--          return canceler;-        };-      }--      function join(cb) {-        return function () {-          var canceler = onComplete({-            rethrow: false,-            handler: cb-          })();-          if (status === SUSPENDED) {-            run(runTick);-          }-          return canceler;-        };-      }--      return {-        kill: kill,-        join: join,-        onComplete: onComplete,-        isSuspended: function () {-          return status === SUSPENDED;-        },-        run: function () {-          if (status === SUSPENDED) {-            if (!Scheduler.isDraining()) {-              Scheduler.enqueue(function () {-                run(runTick);-              });-            } else {-              run(runTick);-            }-          }-        }-      };-    }--    function runPar(util, supervisor, par, cb) {-      // Table of all forked fibers.-      var fiberId   = 0;-      var fibers    = {};--      // Table of currently running cancelers, as a product of `Alt` behavior.-      var killId    = 0;-      var kills     = {};--      // Error used for early cancelation on Alt branches.-      var early     = new Error("[ParAff] Early exit");--      // Error used to kill the entire tree.-      var interrupt = null;--      // The root pointer of the tree.-      var root      = EMPTY;--      // Walks a tree, invoking all the cancelers. Returns the table of pending-      // cancellation fibers.-      function kill(error, par, cb) {-        var step  = par;-        var head  = null;-        var tail  = null;-        var count = 0;-        var kills = {};-        var tmp, kid;--        loop: while (true) {-          tmp = null;--          switch (step.tag) {-          case FORKED:-            if (step._3 === EMPTY) {-              tmp = fibers[step._1];-              kills[count++] = tmp.kill(error, function (result) {-                return function () {-                  count--;-                  if (count === 0) {-                    cb(result)();-                  }-                };-              });-            }-            // Terminal case.-            if (head === null) {-              break loop;-            }-            // Go down the right side of the tree.-            step = head._2;-            if (tail === null) {-              head = null;-            } else {-              head = tail._1;-              tail = tail._2;-            }-            break;-          case MAP:-            step = step._2;-            break;-          case APPLY:-          case ALT:-            if (head) {-              tail = new Aff(CONS, head, tail);-            }-            head = step;-            step = step._1;-            break;-          }-        }--        if (count === 0) {-          cb(util.right(void 0))();-        } else {-          // Run the cancelation effects. We alias `count` because it's mutable.-          kid = 0;-          tmp = count;-          for (; kid < tmp; kid++) {-            kills[kid] = kills[kid]();-          }-        }--        return kills;-      }--      // When a fiber resolves, we need to bubble back up the tree with the-      // result, computing the applicative nodes.-      function join(result, head, tail) {-        var fail, step, lhs, rhs, tmp, kid;--        if (util.isLeft(result)) {-          fail = result;-          step = null;-        } else {-          step = result;-          fail = null;-        }--        loop: while (true) {-          lhs = null;-          rhs = null;-          tmp = null;-          kid = null;--          // We should never continue if the entire tree has been interrupted.-          if (interrupt !== null) {-            return;-          }--          // We've made it all the way to the root of the tree, which means-          // the tree has fully evaluated.-          if (head === null) {-            cb(fail || step)();-            return;-          }--          // The tree has already been computed, so we shouldn't try to do it-          // again. This should never happen.-          // TODO: Remove this?-          if (head._3 !== EMPTY) {-            return;-          }--          switch (head.tag) {-          case MAP:-            if (fail === null) {-              head._3 = util.right(head._1(util.fromRight(step)));-              step    = head._3;-            } else {-              head._3 = fail;-            }-            break;-          case APPLY:-            lhs = head._1._3;-            rhs = head._2._3;-            // If we have a failure we should kill the other side because we-            // can't possible yield a result anymore.-            if (fail) {-              head._3 = fail;-              tmp     = true;-              kid     = killId++;--              kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {-                return function () {-                  delete kills[kid];-                  if (tmp) {-                    tmp = false;-                  } else if (tail === null) {-                    join(step, null, null);-                  } else {-                    join(step, tail._1, tail._2);-                  }-                };-              });--              if (tmp) {-                tmp = false;-                return;-              }-            } else if (lhs === EMPTY || rhs === EMPTY) {-              // We can only proceed if both sides have resolved.-              return;-            } else {-              step    = util.right(util.fromRight(lhs)(util.fromRight(rhs)));-              head._3 = step;-            }-            break;-          case ALT:-            lhs = head._1._3;-            rhs = head._2._3;-            // We can only proceed if both have resolved or we have a success-            if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {-              return;-            }-            // If both sides resolve with an error, we should continue with the-            // first error-            if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {-              fail    = step === lhs ? rhs : lhs;-              step    = null;-              head._3 = fail;-            } else {-              head._3 = step;-              tmp     = true;-              kid     = killId++;-              // Once a side has resolved, we need to cancel the side that is still-              // pending before we can continue.-              kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {-                return function () {-                  delete kills[kid];-                  if (tmp) {-                    tmp = false;-                  } else if (tail === null) {-                    join(step, null, null);-                  } else {-                    join(step, tail._1, tail._2);-                  }-                };-              });--              if (tmp) {-                tmp = false;-                return;-              }-            }-            break;-          }--          if (tail === null) {-            head = null;-          } else {-            head = tail._1;-            tail = tail._2;-          }-        }-      }--      function resolve(fiber) {-        return function (result) {-          return function () {-            delete fibers[fiber._1];-            fiber._3 = result;-            join(result, fiber._2._1, fiber._2._2);-          };-        };-      }--      // Walks the applicative tree, substituting non-applicative nodes with-      // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot-      // as a mutable slot for memoization. In an unresolved state, the `_3`-      // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk-      // the left side first, because both operations are left-associative. As-      // we `RETURN` from those branches, we then walk the right side.-      function run() {-        var status = CONTINUE;-        var step   = par;-        var head   = null;-        var tail   = null;-        var tmp, fid;--        loop: while (true) {-          tmp = null;-          fid = null;--          switch (status) {-          case CONTINUE:-            switch (step.tag) {-            case MAP:-              if (head) {-                tail = new Aff(CONS, head, tail);-              }-              head = new Aff(MAP, step._1, EMPTY, EMPTY);-              step = step._2;-              break;-            case APPLY:-              if (head) {-                tail = new Aff(CONS, head, tail);-              }-              head = new Aff(APPLY, EMPTY, step._2, EMPTY);-              step = step._1;-              break;-            case ALT:-              if (head) {-                tail = new Aff(CONS, head, tail);-              }-              head = new Aff(ALT, EMPTY, step._2, EMPTY);-              step = step._1;-              break;-            default:-              // When we hit a leaf value, we suspend the stack in the `FORKED`.-              // When the fiber resolves, it can bubble back up the tree.-              fid    = fiberId++;-              status = RETURN;-              tmp    = step;-              step   = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);-              tmp    = Fiber(util, supervisor, tmp);-              tmp.onComplete({-                rethrow: false,-                handler: resolve(step)-              })();-              fibers[fid] = tmp;-              if (supervisor) {-                supervisor.register(tmp);-              }-            }-            break;-          case RETURN:-            // Terminal case, we are back at the root.-            if (head === null) {-              break loop;-            }-            // If we are done with the right side, we need to continue down the-            // left. Otherwise we should continue up the stack.-            if (head._1 === EMPTY) {-              head._1 = step;-              status  = CONTINUE;-              step    = head._2;-              head._2 = EMPTY;-            } else {-              head._2 = step;-              step    = head;-              if (tail === null) {-                head  = null;-              } else {-                head  = tail._1;-                tail  = tail._2;-              }-            }-          }-        }--        // Keep a reference to the tree root so it can be cancelled.-        root = step;--        for (fid = 0; fid < fiberId; fid++) {-          fibers[fid].run();-        }-      }--      // Cancels the entire tree. If there are already subtrees being canceled,-      // we need to first cancel those joins. We will then add fresh joins for-      // all pending branches including those that were in the process of being-      // canceled.-      function cancel(error, cb) {-        interrupt = util.left(error);-        var innerKills;-        for (var kid in kills) {-          if (kills.hasOwnProperty(kid)) {-            innerKills = kills[kid];-            for (kid in innerKills) {-              if (innerKills.hasOwnProperty(kid)) {-                innerKills[kid]();-              }-            }-          }-        }--        kills = null;-        var newKills = kill(error, root, cb);--        return function (killError) {-          return new Aff(ASYNC, function (killCb) {-            return function () {-              for (var kid in newKills) {-                if (newKills.hasOwnProperty(kid)) {-                  newKills[kid]();-                }-              }-              return nonCanceler;-            };-          });-        };-      }--      run();--      return function (killError) {-        return new Aff(ASYNC, function (killCb) {-          return function () {-            return cancel(killError, killCb);-          };-        });-      };-    }--    function sequential(util, supervisor, par) {-      return new Aff(ASYNC, function (cb) {-        return function () {-          return runPar(util, supervisor, par, cb);-        };-      });-    }--    Aff.EMPTY       = EMPTY;-    Aff.Pure        = AffCtr(PURE);-    Aff.Throw       = AffCtr(THROW);-    Aff.Catch       = AffCtr(CATCH);-    Aff.Sync        = AffCtr(SYNC);-    Aff.Async       = AffCtr(ASYNC);-    Aff.Bind        = AffCtr(BIND);-    Aff.Bracket     = AffCtr(BRACKET);-    Aff.Fork        = AffCtr(FORK);-    Aff.Seq         = AffCtr(SEQ);-    Aff.ParMap      = AffCtr(MAP);-    Aff.ParApply    = AffCtr(APPLY);-    Aff.ParAlt      = AffCtr(ALT);-    Aff.Fiber       = Fiber;-    Aff.Supervisor  = Supervisor;-    Aff.Scheduler   = Scheduler;-    Aff.nonCanceler = nonCanceler;--    return Aff;-  }();--  exports._pure = Aff.Pure;--  exports._throwError = Aff.Throw;--  exports._catchError = function (aff) {-    return function (k) {-      return Aff.Catch(aff, k);-    };-  };--  exports._map = function (f) {-    return function (aff) {-      if (aff.tag === Aff.Pure.tag) {-        return Aff.Pure(f(aff._1));-      } else {-        return Aff.Bind(aff, function (value) {-          return Aff.Pure(f(value));-        });-      }-    };-  };--  exports._bind = function (aff) {-    return function (k) {-      return Aff.Bind(aff, k);-    };-  };--  exports._fork = function (immediate) {-    return function (aff) {-      return Aff.Fork(immediate, aff);-    };-  };--  exports._liftEffect = Aff.Sync;--  exports._parAffMap = function (f) {-    return function (aff) {-      return Aff.ParMap(f, aff);-    };-  };--  exports._parAffApply = function (aff1) {-    return function (aff2) {-      return Aff.ParApply(aff1, aff2);-    };-  };--  exports.makeAff = Aff.Async;--  exports._makeFiber = function (util, aff) {-    return function () {-      return Aff.Fiber(util, null, aff);-    };-  };  --  exports._sequential = Aff.Seq;-})(PS["Effect.Aff"] = PS["Effect.Aff"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Either = PS["Data.Either"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Unit = PS["Data.Unit"];-  var Prelude = PS["Prelude"];                 -  var MonadThrow = function (Monad0, throwError) {-      this.Monad0 = Monad0;-      this.throwError = throwError;-  };-  var MonadError = function (MonadThrow0, catchError) {-      this.MonadThrow0 = MonadThrow0;-      this.catchError = catchError;-  };-  var throwError = function (dict) {-      return dict.throwError;-  }; -  var catchError = function (dict) {-      return dict.catchError;-  };-  var $$try = function (dictMonadError) {-      return function (a) {-          return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) {-              return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));-          });-      };-  };-  exports["catchError"] = catchError;-  exports["throwError"] = throwError;-  exports["MonadThrow"] = MonadThrow;-  exports["MonadError"] = MonadError;-  exports["try"] = $$try;-})(PS["Control.Monad.Error.Class"] = PS["Control.Monad.Error.Class"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unit = PS["Data.Unit"];-  var Prelude = PS["Prelude"];                 -  var MonadState = function (Monad0, state) {-      this.Monad0 = Monad0;-      this.state = state;-  };-  var state = function (dict) {-      return dict.state;-  };-  var put = function (dictMonadState) {-      return function (s) {-          return state(dictMonadState)(function (v) {-              return new Data_Tuple.Tuple(Data_Unit.unit, s);-          });-      };-  };-  var modify_ = function (dictMonadState) {-      return function (f) {-          return state(dictMonadState)(function (s) {-              return new Data_Tuple.Tuple(Data_Unit.unit, f(s));-          });-      };-  };-  var gets = function (dictMonadState) {-      return function (f) {-          return state(dictMonadState)(function (s) {-              return new Data_Tuple.Tuple(f(s), s);-          });-      };-  };-  var get = function (dictMonadState) {-      return state(dictMonadState)(function (s) {-          return new Data_Tuple.Tuple(s, s);-      });-  };-  exports["state"] = state;-  exports["MonadState"] = MonadState;-  exports["get"] = get;-  exports["gets"] = gets;-  exports["put"] = put;-  exports["modify_"] = modify_;-})(PS["Control.Monad.State.Class"] = PS["Control.Monad.State.Class"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Prelude = PS["Prelude"];                 -  var MonadTrans = function (lift) {-      this.lift = lift;-  };-  var lift = function (dict) {-      return dict.lift;-  };-  exports["lift"] = lift;-  exports["MonadTrans"] = MonadTrans;-})(PS["Control.Monad.Trans.Class"] = PS["Control.Monad.Trans.Class"] || {});-(function(exports) {-    "use strict";-  var Control_Category = PS["Control.Category"];-  var Control_Monad = PS["Control.Monad"];-  var Effect = PS["Effect"];                 --  // | The `MonadEffect` class captures those monads which support native effects.-  // |-  // | Instances are provided for `Effect` itself, and the standard monad-  // | transformers.-  // |-  // | `liftEffect` can be used in any appropriate monad transformer stack to lift an-  // | action of type `Effect a` into the monad.-  // |-  var MonadEffect = function (Monad0, liftEffect) {-      this.Monad0 = Monad0;-      this.liftEffect = liftEffect;-  };                                                         -  var liftEffect = function (dict) {-      return dict.liftEffect;-  };-  exports["liftEffect"] = liftEffect;-  exports["MonadEffect"] = MonadEffect;-})(PS["Effect.Class"] = PS["Effect.Class"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alt = PS["Control.Alt"];-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Monad = PS["Control.Monad"];-  var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"];-  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];-  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];-  var Control_MonadPlus = PS["Control.MonadPlus"];-  var Control_MonadZero = PS["Control.MonadZero"];-  var Control_Plus = PS["Control.Plus"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Either = PS["Data.Either"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Tuple = PS["Data.Tuple"];-  var Effect_Class = PS["Effect.Class"];-  var Prelude = PS["Prelude"];                 -  var ExceptT = function (x) {-      return x;-  };-  var runExceptT = function (v) {-      return v;-  }; -  var mapExceptT = function (f) {-      return function (v) {-          return f(v);-      };-  };-  var functorExceptT = function (dictFunctor) {-      return new Data_Functor.Functor(function (f) {-          return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));-      });-  };-  var monadExceptT = function (dictMonad) {-      return new Control_Monad.Monad(function () {-          return applicativeExceptT(dictMonad);-      }, function () {-          return bindExceptT(dictMonad);-      });-  };-  var bindExceptT = function (dictMonad) {-      return new Control_Bind.Bind(function () {-          return applyExceptT(dictMonad);-      }, function (v) {-          return function (k) {-              return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) {-                  return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));-              })(function (a) {-                  var v1 = k(a);-                  return v1;-              }));-          };-      });-  };-  var applyExceptT = function (dictMonad) {-      return new Control_Apply.Apply(function () {-          return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());-      }, Control_Monad.ap(monadExceptT(dictMonad)));-  };-  var applicativeExceptT = function (dictMonad) {-      return new Control_Applicative.Applicative(function () {-          return applyExceptT(dictMonad);-      }, function ($98) {-          return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));-      });-  };-  var monadThrowExceptT = function (dictMonad) {-      return new Control_Monad_Error_Class.MonadThrow(function () {-          return monadExceptT(dictMonad);-      }, function ($102) {-          return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));-      });-  };-  exports["ExceptT"] = ExceptT;-  exports["runExceptT"] = runExceptT;-  exports["mapExceptT"] = mapExceptT;-  exports["functorExceptT"] = functorExceptT;-  exports["applyExceptT"] = applyExceptT;-  exports["applicativeExceptT"] = applicativeExceptT;-  exports["bindExceptT"] = bindExceptT;-  exports["monadExceptT"] = monadExceptT;-  exports["monadThrowExceptT"] = monadThrowExceptT;-})(PS["Control.Monad.Except.Trans"] = PS["Control.Monad.Except.Trans"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alt = PS["Control.Alt"];-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Monad = PS["Control.Monad"];-  var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"];-  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];-  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];-  var Control_MonadPlus = PS["Control.MonadPlus"];-  var Control_MonadZero = PS["Control.MonadZero"];-  var Control_Plus = PS["Control.Plus"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Tuple = PS["Data.Tuple"];-  var Effect_Class = PS["Effect.Class"];-  var Prelude = PS["Prelude"];                 -  var MaybeT = function (x) {-      return x;-  };-  exports["MaybeT"] = MaybeT;-})(PS["Control.Monad.Maybe.Trans"] = PS["Control.Monad.Maybe.Trans"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alt = PS["Control.Alt"];-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad_Cont_Trans = PS["Control.Monad.Cont.Trans"];-  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];-  var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"];-  var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"];-  var Control_Monad_Writer_Trans = PS["Control.Monad.Writer.Trans"];-  var Control_Plus = PS["Control.Plus"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Either = PS["Data.Either"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Functor_Compose = PS["Data.Functor.Compose"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Unit = PS["Data.Unit"];-  var Effect_Class = PS["Effect.Class"];-  var Effect_Ref = PS["Effect.Ref"];-  var Prelude = PS["Prelude"];-  var Parallel = function (Applicative1, Monad0, parallel, sequential) {-      this.Applicative1 = Applicative1;-      this.Monad0 = Monad0;-      this.parallel = parallel;-      this.sequential = sequential;-  };-  var sequential = function (dict) {-      return dict.sequential;-  };-  var parallel = function (dict) {-      return dict.parallel;-  };-  exports["parallel"] = parallel;-  exports["sequential"] = sequential;-  exports["Parallel"] = Parallel;-})(PS["Control.Parallel.Class"] = PS["Control.Parallel.Class"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Category = PS["Control.Category"];-  var Control_Parallel_Class = PS["Control.Parallel.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Traversable = PS["Data.Traversable"];-  var Prelude = PS["Prelude"];                 -  var parTraverse_ = function (dictParallel) {-      return function (dictFoldable) {-          return function (f) {-              return function ($17) {-                  return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {-                      return Control_Parallel_Class.parallel(dictParallel)(f($18));-                  })($17));-              };-          };-      };-  };-  var parSequence_ = function (dictParallel) {-      return function (dictFoldable) {-          return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));-      };-  };-  exports["parTraverse_"] = parTraverse_;-  exports["parSequence_"] = parSequence_;-})(PS["Control.Parallel"] = PS["Control.Parallel"] || {});-(function(exports) {-    "use strict";--  exports.runFn4 = function (fn) {-    return function (a) {-      return function (b) {-        return function (c) {-          return function (d) {-            return fn(a, b, c, d);-          };-        };-      };-    };-  };-})(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.Function.Uncurried"];-  var Data_Unit = PS["Data.Unit"];-  exports["runFn4"] = $foreign.runFn4;-})(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {});-(function(exports) {-    "use strict";--  exports.error = function (msg) {-    return new Error(msg);-  };--  exports.throwException = function (e) {-    return function () {-      throw e;-    };-  };-})(PS["Effect.Exception"] = PS["Effect.Exception"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Effect.Exception"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Either = PS["Data.Either"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Show = PS["Data.Show"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var $$throw = function ($1) {-      return $foreign.throwException($foreign.error($1));-  };-  exports["throw"] = $$throw;-  exports["error"] = $foreign.error;-  exports["throwException"] = $foreign.throwException;-})(PS["Effect.Exception"] = PS["Effect.Exception"] || {});-(function(exports) {-    "use strict";--  exports.unsafePerformEffect = function (f) {-    return f();-  };-})(PS["Effect.Unsafe"] = PS["Effect.Unsafe"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Effect.Unsafe"];-  var Effect = PS["Effect"];-  exports["unsafePerformEffect"] = $foreign.unsafePerformEffect;-})(PS["Effect.Unsafe"] = PS["Effect.Unsafe"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Effect.Aff"];-  var Control_Alt = PS["Control.Alt"];-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Lazy = PS["Control.Lazy"];-  var Control_Monad = PS["Control.Monad"];-  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Parallel = PS["Control.Parallel"];-  var Control_Parallel_Class = PS["Control.Parallel.Class"];-  var Control_Plus = PS["Control.Plus"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Either = PS["Data.Either"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Time_Duration = PS["Data.Time.Duration"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  var Effect_Class = PS["Effect.Class"];-  var Effect_Exception = PS["Effect.Exception"];-  var Effect_Unsafe = PS["Effect.Unsafe"];-  var Partial_Unsafe = PS["Partial.Unsafe"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Canceler = function (x) {-      return x;-  };-  var suspendAff = $foreign._fork(false);-  var functorParAff = new Data_Functor.Functor($foreign._parAffMap);-  var functorAff = new Data_Functor.Functor($foreign._map);-  var forkAff = $foreign._fork(true);-  var ffiUtil = (function () {-      var unsafeFromRight = function (v) {-          if (v instanceof Data_Either.Right) {-              return v.value0;-          };-          if (v instanceof Data_Either.Left) {-              return Partial_Unsafe.unsafeCrashWith("unsafeFromRight: Left");-          };-          throw new Error("Failed pattern match at Effect.Aff line 395, column 21 - line 397, column 31: " + [ v.constructor.name ]);-      };-      var unsafeFromLeft = function (v) {-          if (v instanceof Data_Either.Left) {-              return v.value0;-          };-          if (v instanceof Data_Either.Right) {-              return Partial_Unsafe.unsafeCrashWith("unsafeFromLeft: Right");-          };-          throw new Error("Failed pattern match at Effect.Aff line 390, column 20 - line 394, column 3: " + [ v.constructor.name ]);-      };-      var isLeft = function (v) {-          if (v instanceof Data_Either.Left) {-              return true;-          };-          if (v instanceof Data_Either.Right) {-              return false;-          };-          throw new Error("Failed pattern match at Effect.Aff line 385, column 12 - line 387, column 20: " + [ v.constructor.name ]);-      };-      return {-          isLeft: isLeft,-          fromLeft: unsafeFromLeft,-          fromRight: unsafeFromRight,-          left: Data_Either.Left.create,-          right: Data_Either.Right.create-      };-  })();-  var makeFiber = function (aff) {-      return $foreign._makeFiber(ffiUtil, aff);-  };-  var launchAff = function (aff) {-      return function __do() {-          var v = makeFiber(aff)();-          v.run();-          return v;-      };-  };-  var applyParAff = new Control_Apply.Apply(function () {-      return functorParAff;-  }, $foreign._parAffApply);-  var monadAff = new Control_Monad.Monad(function () {-      return applicativeAff;-  }, function () {-      return bindAff;-  });-  var bindAff = new Control_Bind.Bind(function () {-      return applyAff;-  }, $foreign._bind);-  var applyAff = new Control_Apply.Apply(function () {-      return functorAff;-  }, Control_Monad.ap(monadAff));-  var applicativeAff = new Control_Applicative.Applicative(function () {-      return applyAff;-  }, $foreign._pure);-  var monadEffectAff = new Effect_Class.MonadEffect(function () {-      return monadAff;-  }, $foreign._liftEffect);-  var effectCanceler = function ($50) {-      return Canceler(Data_Function["const"](Effect_Class.liftEffect(monadEffectAff)($50)));-  };-  var joinFiber = function (v) {-      return $foreign.makeAff(function (k) {-          return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));-      });-  };-  var functorFiber = new Data_Functor.Functor(function (f) {-      return function (t) {-          return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));-      };-  });-  var killFiber = function (e) {-      return function (v) {-          return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {-              if (v1) {-                  return Effect_Class.liftEffect(monadEffectAff)(Data_Functor["void"](Effect.functorEffect)(v.kill(e, Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));-              };-              return $foreign.makeAff(function (k) {-                  return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));-              });-          });-      };-  };-  var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {-      return monadAff;-  }, $foreign._throwError);-  var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {-      return monadThrowAff;-  }, $foreign._catchError);                                     -  var runAff = function (k) {-      return function (aff) {-          return launchAff(Control_Bind.bindFlipped(bindAff)(function ($51) {-              return Effect_Class.liftEffect(monadEffectAff)(k($51));-          })(Control_Monad_Error_Class["try"](monadErrorAff)(aff)));-      };-  };-  var runAff_ = function (k) {-      return function (aff) {-          return Data_Functor["void"](Effect.functorEffect)(runAff(k)(aff));-      };-  };-  var parallelAff = new Control_Parallel_Class.Parallel(function () {-      return applicativeParAff;-  }, function () {-      return monadAff;-  }, Unsafe_Coerce.unsafeCoerce, $foreign._sequential);-  var applicativeParAff = new Control_Applicative.Applicative(function () {-      return applyParAff;-  }, function ($53) {-      return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($53));-  });-  var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {-      return monadAff;-  }, function (k) {-      var go = function (a) {-          return Control_Bind.bind(bindAff)(k(a))(function (v) {-              if (v instanceof Control_Monad_Rec_Class.Done) {-                  return Control_Applicative.pure(applicativeAff)(v.value0);-              };-              if (v instanceof Control_Monad_Rec_Class.Loop) {-                  return go(v.value0);-              };-              throw new Error("Failed pattern match at Effect.Aff line 99, column 7 - line 101, column 22: " + [ v.constructor.name ]);-          });-      };-      return go;-  });-  var nonCanceler = Data_Function["const"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));-  exports["Canceler"] = Canceler;-  exports["launchAff"] = launchAff;-  exports["runAff"] = runAff;-  exports["runAff_"] = runAff_;-  exports["forkAff"] = forkAff;-  exports["suspendAff"] = suspendAff;-  exports["killFiber"] = killFiber;-  exports["joinFiber"] = joinFiber;-  exports["nonCanceler"] = nonCanceler;-  exports["effectCanceler"] = effectCanceler;-  exports["functorAff"] = functorAff;-  exports["applyAff"] = applyAff;-  exports["applicativeAff"] = applicativeAff;-  exports["bindAff"] = bindAff;-  exports["monadAff"] = monadAff;-  exports["monadRecAff"] = monadRecAff;-  exports["monadThrowAff"] = monadThrowAff;-  exports["monadErrorAff"] = monadErrorAff;-  exports["monadEffectAff"] = monadEffectAff;-  exports["functorParAff"] = functorParAff;-  exports["applyParAff"] = applyParAff;-  exports["applicativeParAff"] = applicativeParAff;-  exports["parallelAff"] = parallelAff;-  exports["functorFiber"] = functorFiber;-  exports["makeAff"] = $foreign.makeAff;-})(PS["Effect.Aff"] = PS["Effect.Aff"] || {});-(function(exports) {-    "use strict";--  exports._app = function() {-    return app;-  }--  exports._closest = function(just, nothing, selector, el) {-    var node = el.closest(selector);-    if(node) {-      return just(node);-    } else {-      return nothing;-    }-  }--  exports._innerHtml = function(el) {-    return el.innerHTML;-  }--  exports._setInnerHtml = function(content, el) {-    el.innerHTML = content;-    return el;-  }--  exports._createFormData = function(formElement) {-    return new FormData(formElement);-  }--  exports._createFormString = function(formElement) {-    return new URLSearchParams(new FormData(formElement)).toString()-  }--  exports._createFormArray = function(formElement) {-    return Array.from(new FormData(formElement));-  }--  exports._getDataAttribute = function(name, el) {-    return el.dataset[name];-  }--  exports._setDataAttribute = function(name, value, el) {-    return el.dataset[name] = value;-  }--  exports._moment8601 = function(tuple, s) {-    var m = moment(s, moment.ISO_8601);-    var s1 = m.fromNow();-    var s2 = m.format('MMMM D YYYY, h:mm a') + " (" + m.format() + ") ";-    return tuple(s1)(s2);-  }--  exports._mmoment8601 = function(just, nothing, tuple, s) {-    try {-      var m = moment(s, moment.ISO_8601);-      var s1 = m.fromNow();-      var s2 = m.format('MMMM D YYYY, h:mm a') + " (" + m.format() + ") ";-      return just(tuple(s1)(s2));-    } catch (error) {-      return nothing-    }-  }--  exports._closeWindow = function (window) {-    window.close();-  };-})(PS["Globals"] = PS["Globals"] || {});-(function(exports) {-    "use strict";--  exports["null"] = null;--  exports.nullable = function (a, r, f) {-    return a == null ? r : f(a);-  };--  exports.notNull = function (x) {-    return x;-  };-})(PS["Data.Nullable"] = PS["Data.Nullable"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.Nullable"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function = PS["Data.Function"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Show = PS["Data.Show"];-  var Prelude = PS["Prelude"];                 -  var toNullable = Data_Maybe.maybe($foreign["null"])($foreign.notNull);-  var toMaybe = function (n) {-      return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);-  };-  exports["toMaybe"] = toMaybe;-  exports["toNullable"] = toNullable;-})(PS["Data.Nullable"] = PS["Data.Nullable"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];-  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Either = PS["Data.Either"];-  var Data_Identity = PS["Data.Identity"];-  var Data_Newtype = PS["Data.Newtype"];-  var Prelude = PS["Prelude"];                                                           -  var runExcept = function ($0) {-      return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));-  };-  exports["runExcept"] = runExcept;-})(PS["Control.Monad.Except"] = PS["Control.Monad.Except"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alt = PS["Control.Alt"];-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Category = PS["Control.Category"];-  var Control_Plus = PS["Control.Plus"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];-  var Data_Show = PS["Data.Show"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Data_Unfoldable1 = PS["Data.Unfoldable1"];-  var Prelude = PS["Prelude"];                 -  var NonEmpty = (function () {-      function NonEmpty(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      NonEmpty.create = function (value0) {-          return function (value1) {-              return new NonEmpty(value0, value1);-          };-      };-      return NonEmpty;-  })();-  var singleton = function (dictPlus) {-      return function (a) {-          return new NonEmpty(a, Control_Plus.empty(dictPlus));-      };-  };-  var functorNonEmpty = function (dictFunctor) {-      return new Data_Functor.Functor(function (f) {-          return function (m) {-              return new NonEmpty(f(m.value0), Data_Functor.map(dictFunctor)(f)(m.value1));-          };-      });-  };-  var foldableNonEmpty = function (dictFoldable) {-      return new Data_Foldable.Foldable(function (dictMonoid) {-          return function (f) {-              return function (v) {-                  return Data_Semigroup.append(dictMonoid.Semigroup0())(f(v.value0))(Data_Foldable.foldMap(dictFoldable)(dictMonoid)(f)(v.value1));-              };-          };-      }, function (f) {-          return function (b) {-              return function (v) {-                  return Data_Foldable.foldl(dictFoldable)(f)(f(b)(v.value0))(v.value1);-              };-          };-      }, function (f) {-          return function (b) {-              return function (v) {-                  return f(v.value0)(Data_Foldable.foldr(dictFoldable)(f)(b)(v.value1));-              };-          };-      });-  };-  exports["NonEmpty"] = NonEmpty;-  exports["singleton"] = singleton;-  exports["functorNonEmpty"] = functorNonEmpty;-  exports["foldableNonEmpty"] = foldableNonEmpty;-})(PS["Data.NonEmpty"] = PS["Data.NonEmpty"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alt = PS["Control.Alt"];-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Comonad = PS["Control.Comonad"];-  var Control_Extend = PS["Control.Extend"];-  var Control_Monad = PS["Control.Monad"];-  var Control_MonadPlus = PS["Control.MonadPlus"];-  var Control_MonadZero = PS["Control.MonadZero"];-  var Control_Plus = PS["Control.Plus"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_NonEmpty = PS["Data.NonEmpty"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];-  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Show = PS["Data.Show"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Data_Unfoldable1 = PS["Data.Unfoldable1"];-  var Prelude = PS["Prelude"];                 -  var Nil = (function () {-      function Nil() {--      };-      Nil.value = new Nil();-      return Nil;-  })();-  var Cons = (function () {-      function Cons(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Cons.create = function (value0) {-          return function (value1) {-              return new Cons(value0, value1);-          };-      };-      return Cons;-  })();-  var NonEmptyList = function (x) {-      return x;-  };-  var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {-      return function (f) {-          return Data_Foldable.foldl(foldableList)(function (acc) {-              return function ($155) {-                  return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($155));-              };-          })(Data_Monoid.mempty(dictMonoid));-      };-  }, function (f) {-      var go = function ($copy_b) {-          return function ($copy_v) {-              var $tco_var_b = $copy_b;-              var $tco_done = false;-              var $tco_result;-              function $tco_loop(b, v) {-                  if (v instanceof Nil) {-                      $tco_done = true;-                      return b;-                  };-                  if (v instanceof Cons) {-                      $tco_var_b = f(b)(v.value0);-                      $copy_v = v.value1;-                      return;-                  };-                  throw new Error("Failed pattern match at Data.List.Types line 81, column 12 - line 83, column 30: " + [ v.constructor.name ]);-              };-              while (!$tco_done) {-                  $tco_result = $tco_loop($tco_var_b, $copy_v);-              };-              return $tco_result;-          };-      };-      return go;-  }, function (f) {-      return function (b) {-          var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);-          return function ($156) {-              return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($156));-          };-      };-  });-  var foldableNonEmptyList = Data_NonEmpty.foldableNonEmpty(foldableList);-  var functorList = new Data_Functor.Functor(function (f) {-      return Data_Foldable.foldr(foldableList)(function (x) {-          return function (acc) {-              return new Cons(f(x), acc);-          };-      })(Nil.value);-  });-  var functorNonEmptyList = Data_NonEmpty.functorNonEmpty(functorList);-  var semigroupList = new Data_Semigroup.Semigroup(function (xs) {-      return function (ys) {-          return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);-      };-  });-  var applyList = new Control_Apply.Apply(function () {-      return functorList;-  }, function (v) {-      return function (v1) {-          if (v instanceof Nil) {-              return Nil.value;-          };-          if (v instanceof Cons) {-              return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));-          };-          throw new Error("Failed pattern match at Data.List.Types line 127, column 1 - line 127, column 33: " + [ v.constructor.name, v1.constructor.name ]);-      };-  });-  var applicativeList = new Control_Applicative.Applicative(function () {-      return applyList;-  }, function (a) {-      return new Cons(a, Nil.value);-  });                                              -  var altList = new Control_Alt.Alt(function () {-      return functorList;-  }, Data_Semigroup.append(semigroupList));-  var plusList = new Control_Plus.Plus(function () {-      return altList;-  }, Nil.value);-  exports["Nil"] = Nil;-  exports["Cons"] = Cons;-  exports["NonEmptyList"] = NonEmptyList;-  exports["semigroupList"] = semigroupList;-  exports["functorList"] = functorList;-  exports["foldableList"] = foldableList;-  exports["applyList"] = applyList;-  exports["applicativeList"] = applicativeList;-  exports["altList"] = altList;-  exports["plusList"] = plusList;-  exports["functorNonEmptyList"] = functorNonEmptyList;-  exports["foldableNonEmptyList"] = foldableNonEmptyList;-})(PS["Data.List.Types"] = PS["Data.List.Types"] || {});-(function(exports) {-    "use strict";--  exports.unsafeToForeign = function (value) {-    return value;-  };--  exports.unsafeFromForeign = function (value) {-    return value;-  };--  exports.typeOf = function (value) {-    return typeof value;-  };--  exports.tagOf = function (value) {-    return Object.prototype.toString.call(value).slice(8, -1);-  };-})(PS["Foreign"] = PS["Foreign"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alt = PS["Control.Alt"];-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Lazy = PS["Control.Lazy"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Boolean = PS["Data.Boolean"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_NonEmpty = PS["Data.NonEmpty"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Show = PS["Data.Show"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Data_Unit = PS["Data.Unit"];-  var Prelude = PS["Prelude"];-  var reverse = (function () {-      var go = function ($copy_acc) {-          return function ($copy_v) {-              var $tco_var_acc = $copy_acc;-              var $tco_done = false;-              var $tco_result;-              function $tco_loop(acc, v) {-                  if (v instanceof Data_List_Types.Nil) {-                      $tco_done = true;-                      return acc;-                  };-                  if (v instanceof Data_List_Types.Cons) {-                      $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);-                      $copy_v = v.value1;-                      return;-                  };-                  throw new Error("Failed pattern match at Data.List line 368, column 3 - line 368, column 19: " + [ acc.constructor.name, v.constructor.name ]);-              };-              while (!$tco_done) {-                  $tco_result = $tco_loop($tco_var_acc, $copy_v);-              };-              return $tco_result;-          };-      };-      return go(Data_List_Types.Nil.value);-  })();-  var $$null = function (v) {-      if (v instanceof Data_List_Types.Nil) {-          return true;-      };-      return false;-  };-  var fromFoldable = function (dictFoldable) {-      return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value);-  };-  exports["fromFoldable"] = fromFoldable;-  exports["null"] = $$null;-  exports["reverse"] = reverse;-})(PS["Data.List"] = PS["Data.List"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Boolean = PS["Data.Boolean"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_List = PS["Data.List"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_NonEmpty = PS["Data.NonEmpty"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];-  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Partial_Unsafe = PS["Partial.Unsafe"];-  var Prelude = PS["Prelude"];-  var singleton = function ($160) {-      return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($160));-  };-  var cons = function (y) {-      return function (v) {-          return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));-      };-  };-  exports["singleton"] = singleton;-  exports["cons"] = cons;-})(PS["Data.List.NonEmpty"] = PS["Data.List.NonEmpty"] || {});-(function(exports) {-    "use strict";--  exports.singleton = function (c) {-    return c;-  };--  exports.length = function (s) {-    return s.length;-  };--  exports.drop = function (n) {-    return function (s) {-      return s.substring(n);-    };-  };-})(PS["Data.String.CodeUnits"] = PS["Data.String.CodeUnits"] || {});-(function(exports) {-    "use strict";--  exports.charAt = function (i) {-    return function (s) {-      if (i >= 0 && i < s.length) return s.charAt(i);-      throw new Error("Data.String.Unsafe.charAt: Invalid index.");-    };-  };-})(PS["Data.String.Unsafe"] = PS["Data.String.Unsafe"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.String.Unsafe"];-  exports["charAt"] = $foreign.charAt;-})(PS["Data.String.Unsafe"] = PS["Data.String.Unsafe"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.String.CodeUnits"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Boolean = PS["Data.Boolean"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function = PS["Data.Function"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_String_Pattern = PS["Data.String.Pattern"];-  var Data_String_Unsafe = PS["Data.String.Unsafe"];-  var Prelude = PS["Prelude"];-  exports["singleton"] = $foreign.singleton;-  exports["length"] = $foreign.length;-  exports["drop"] = $foreign.drop;-})(PS["Data.String.CodeUnits"] = PS["Data.String.CodeUnits"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Foreign"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];-  var Control_Monad_Except = PS["Control.Monad.Except"];-  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Boolean = PS["Data.Boolean"];-  var Data_Either = PS["Data.Either"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function = PS["Data.Function"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Identity = PS["Data.Identity"];-  var Data_Int = PS["Data.Int"];-  var Data_List_NonEmpty = PS["Data.List.NonEmpty"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Show = PS["Data.Show"];-  var Data_String_CodeUnits = PS["Data.String.CodeUnits"];-  var Prelude = PS["Prelude"];                 -  var ForeignError = (function () {-      function ForeignError(value0) {-          this.value0 = value0;-      };-      ForeignError.create = function (value0) {-          return new ForeignError(value0);-      };-      return ForeignError;-  })();-  var TypeMismatch = (function () {-      function TypeMismatch(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      TypeMismatch.create = function (value0) {-          return function (value1) {-              return new TypeMismatch(value0, value1);-          };-      };-      return TypeMismatch;-  })();-  var ErrorAtIndex = (function () {-      function ErrorAtIndex(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      ErrorAtIndex.create = function (value0) {-          return function (value1) {-              return new ErrorAtIndex(value0, value1);-          };-      };-      return ErrorAtIndex;-  })();-  var ErrorAtProperty = (function () {-      function ErrorAtProperty(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      ErrorAtProperty.create = function (value0) {-          return function (value1) {-              return new ErrorAtProperty(value0, value1);-          };-      };-      return ErrorAtProperty;-  })();-  var renderForeignError = function (v) {-      if (v instanceof ForeignError) {-          return v.value0;-      };-      if (v instanceof ErrorAtIndex) {-          return "Error at array index " + (Data_Show.show(Data_Show.showInt)(v.value0) + (": " + renderForeignError(v.value1)));-      };-      if (v instanceof ErrorAtProperty) {-          return "Error at property " + (Data_Show.show(Data_Show.showString)(v.value0) + (": " + renderForeignError(v.value1)));-      };-      if (v instanceof TypeMismatch) {-          return "Type mismatch: expected " + (v.value0 + (", found " + v.value1));-      };-      throw new Error("Failed pattern match at Foreign line 72, column 1 - line 72, column 45: " + [ v.constructor.name ]);-  };-  var fail = function ($107) {-      return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));-  };-  var unsafeReadTagged = function (tag) {-      return function (value) {-          if ($foreign.tagOf(value) === tag) {-              return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));-          };-          if (Data_Boolean.otherwise) {-              return fail(new TypeMismatch(tag, $foreign.tagOf(value)));-          };-          throw new Error("Failed pattern match at Foreign line 106, column 1 - line 106, column 55: " + [ tag.constructor.name, value.constructor.name ]);-      };-  };-  var readBoolean = unsafeReadTagged("Boolean");-  var readString = unsafeReadTagged("String");-  exports["ForeignError"] = ForeignError;-  exports["TypeMismatch"] = TypeMismatch;-  exports["ErrorAtIndex"] = ErrorAtIndex;-  exports["ErrorAtProperty"] = ErrorAtProperty;-  exports["renderForeignError"] = renderForeignError;-  exports["unsafeReadTagged"] = unsafeReadTagged;-  exports["readString"] = readString;-  exports["readBoolean"] = readBoolean;-  exports["fail"] = fail;-  exports["unsafeToForeign"] = $foreign.unsafeToForeign;-  exports["typeOf"] = $foreign.typeOf;-})(PS["Foreign"] = PS["Foreign"] || {});-(function(exports) {-    "use strict";--  exports.unsafeReadPropImpl = function (f, s, key, value) {-    return value == null ? f : s(value[key]);-  };-})(PS["Foreign.Index"] = PS["Foreign.Index"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Foreign.Index"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function = PS["Data.Function"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Identity = PS["Data.Identity"];-  var Data_List_NonEmpty = PS["Data.List.NonEmpty"];-  var Foreign = PS["Foreign"];-  var Prelude = PS["Prelude"];-  var unsafeReadProp = function (k) {-      return function (value) {-          return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch("object", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);-      };-  };-  var readProp = unsafeReadProp;-  exports["readProp"] = readProp;-})(PS["Foreign.Index"] = PS["Foreign.Index"] || {});-(function(exports) {-    "use strict";--  exports.empty = {};--  exports._lookup = function (no, yes, k, m) {-    return k in m ? yes(m[k]) : no;-  };--  function toArrayWithKey(f) {-    return function (m) {-      var r = [];-      for (var k in m) {-        if (hasOwnProperty.call(m, k)) {-          r.push(f(k)(m[k]));-        }-      }-      return r;-    };-  }-})(PS["Foreign.Object"] = PS["Foreign.Object"] || {});-(function(exports) {-    "use strict";--  exports["new"] = function () {-    return {};-  };-})(PS["Foreign.Object.ST"] = PS["Foreign.Object.ST"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Foreign.Object.ST"];-  var Control_Monad_ST = PS["Control.Monad.ST"];-  var Data_Maybe = PS["Data.Maybe"];-  exports["new"] = $foreign["new"];-})(PS["Foreign.Object.ST"] = PS["Foreign.Object.ST"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Foreign.Object"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Monad_ST = PS["Control.Monad.ST"];-  var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Array = PS["Data.Array"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];-  var Data_Function = PS["Data.Function"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Functor = PS["Data.Functor"];-  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Show = PS["Data.Show"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Foreign_Object_ST = PS["Foreign.Object.ST"];-  var Prelude = PS["Prelude"];-  var lookup = Data_Function_Uncurried.runFn4($foreign._lookup)(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);-  exports["lookup"] = lookup;-  exports["empty"] = $foreign.empty;-})(PS["Foreign.Object"] = PS["Foreign.Object"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Type_Data_Boolean = PS["Type.Data.Boolean"];-  var Type_Data_Symbol = PS["Type.Data.Symbol"];-  var Type_Equality = PS["Type.Equality"];-  var RLProxy = (function () {-      function RLProxy() {--      };-      RLProxy.value = new RLProxy();-      return RLProxy;-  })();-  exports["RLProxy"] = RLProxy;-})(PS["Type.Row"] = PS["Type.Row"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Data_Eq = PS["Data.Eq"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Symbol = PS["Data.Symbol"];-  var Prelude = PS["Prelude"];-  var Record_Unsafe = PS["Record.Unsafe"];-  var Record_Unsafe_Union = PS["Record.Unsafe.Union"];-  var Type_Row = PS["Type.Row"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var get = function (dictIsSymbol) {-      return function (dictCons) {-          return function (l) {-              return function (r) {-                  return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);-              };-          };-      };-  };-  exports["get"] = get;-})(PS["Record"] = PS["Record"] || {});-(function(exports) {-    "use strict";--  exports.copyRecord = function(rec) {-    var copy = {};-    for (var key in rec) {-      if ({}.hasOwnProperty.call(rec, key)) {-        copy[key] = rec[key];-      }-    }-    return copy;-  };--  exports.unsafeInsert = function(l) {-    return function(a) {-      return function(rec) {-        rec[l] = a;-        return rec;-      };-    };-  };-})(PS["Record.Builder"] = PS["Record.Builder"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Record.Builder"];-  var Control_Category = PS["Control.Category"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Symbol = PS["Data.Symbol"];-  var Prelude = PS["Prelude"];-  var Record_Unsafe_Union = PS["Record.Unsafe.Union"];-  var Type_Row = PS["Type.Row"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;-  var insert = function (dictCons) {-      return function (dictLacks) {-          return function (dictIsSymbol) {-              return function (l) {-                  return function (a) {-                      return function (r1) {-                          return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);-                      };-                  };-              };-          };-      };-  };-  var categoryBuilder = Control_Category.categoryFn;-  var build = function (v) {-      return function (r1) {-          return v($foreign.copyRecord(r1));-      };-  };-  exports["build"] = build;-  exports["insert"] = insert;-  exports["semigroupoidBuilder"] = semigroupoidBuilder;-  exports["categoryBuilder"] = categoryBuilder;-})(PS["Record.Builder"] = PS["Record.Builder"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Simple.JSON"];-  var Control_Alt = PS["Control.Alt"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Monad_Except = PS["Control.Monad.Except"];-  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Boolean = PS["Data.Boolean"];-  var Data_Either = PS["Data.Either"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Identity = PS["Data.Identity"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Nullable = PS["Data.Nullable"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Symbol = PS["Data.Symbol"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_Variant = PS["Data.Variant"];-  var Effect_Exception = PS["Effect.Exception"];-  var Effect_Uncurried = PS["Effect.Uncurried"];-  var Effect_Unsafe = PS["Effect.Unsafe"];-  var Foreign = PS["Foreign"];-  var Foreign_Index = PS["Foreign.Index"];-  var Foreign_Object = PS["Foreign.Object"];-  var Global_Unsafe = PS["Global.Unsafe"];-  var Partial_Unsafe = PS["Partial.Unsafe"];-  var Prelude = PS["Prelude"];-  var Record = PS["Record"];-  var Record_Builder = PS["Record.Builder"];-  var Type_Prelude = PS["Type.Prelude"];-  var Type_Row = PS["Type.Row"];-  var WriteForeign = function (writeImpl) {-      this.writeImpl = writeImpl;-  };-  var WriteForeignFields = function (writeImplFields) {-      this.writeImplFields = writeImplFields;-  };-  var writeImplFields = function (dict) {-      return dict.writeImplFields;-  };-  var writeImpl = function (dict) {-      return dict.writeImpl;-  };-  var writeJSON = function (dictWriteForeign) {-      return function ($71) {-          return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($71));-      };-  };-  var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);-  var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); -  var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);-  var recordWriteForeign = function (dictRowToList) {-      return function (dictWriteForeignFields) {-          return new WriteForeign(function (rec) {-              var steps = writeImplFields(dictWriteForeignFields)(Type_Row.RLProxy.value)(rec);-              return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));-          });-      };-  }; -  var nilWriteForeignFields = new WriteForeignFields(function (v) {-      return function (v1) {-          return Control_Category.identity(Record_Builder.categoryBuilder);-      };-  });-  var consWriteForeignFields = function (dictIsSymbol) {-      return function (dictWriteForeign) {-          return function (dictWriteForeignFields) {-              return function (dictCons) {-                  return function (dictLacks) {-                      return function (dictCons1) {-                          return new WriteForeignFields(function (v) {-                              return function (rec) {-                                  var rest = writeImplFields(dictWriteForeignFields)(Type_Row.RLProxy.value)(rec);-                                  var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)(dictCons)(Data_Symbol.SProxy.value)(rec));-                                  var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);-                                  return result;-                              };-                          });-                      };-                  };-              };-          };-      };-  };-  exports["writeJSON"] = writeJSON;-  exports["WriteForeign"] = WriteForeign;-  exports["writeImpl"] = writeImpl;-  exports["WriteForeignFields"] = WriteForeignFields;-  exports["writeImplFields"] = writeImplFields;-  exports["writeForeignString"] = writeForeignString;-  exports["writeForeignInt"] = writeForeignInt;-  exports["writeForeignBoolean"] = writeForeignBoolean;-  exports["recordWriteForeign"] = recordWriteForeign;-  exports["consWriteForeignFields"] = consWriteForeignFields;-  exports["nilWriteForeignFields"] = nilWriteForeignFields;-})(PS["Simple.JSON"] = PS["Simple.JSON"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Data_Symbol = PS["Data.Symbol"];-  var Simple_JSON = PS["Simple.JSON"];-  var wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {-      return "bid";-  }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {-      return "description";-  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {-      return "private";-  }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {-      return "selected";-  }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {-      return "tags";-  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {-      return "time";-  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {-      return "title";-  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {-      return "toread";-  }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {-      return "url";-  }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());-  exports["wfI"] = wfI;-})(PS["Model"] = PS["Model"] || {});-(function(exports) {-  /* global window */-  "use strict";--  exports.window = function () {-    return window;-  };-})(PS["Web.HTML"] = PS["Web.HTML"] || {});-(function(exports) {-    "use strict";--  exports._body = function (doc) {-    return function () {-      return doc.body;-    };-  };-})(PS["Web.HTML.HTMLDocument"] = PS["Web.HTML.HTMLDocument"] || {});-(function(exports) {-    "use strict";--  exports.removeAttribute = function (name) {-    return function (element) {-      return function () {-        element.removeAttribute(name);-        return {};-      };-    };-  };-})(PS["Web.DOM.Element"] = PS["Web.DOM.Element"] || {});-(function(exports) {-    "use strict";                                             --  exports._querySelector = function (selector) {-    return function (node) {-      return function () {-        return node.querySelector(selector);-      };-    };-  };--  exports.querySelectorAll = function (selector) {-    return function (node) {-      return function () {-        return node.querySelectorAll(selector);-      };-    };-  };-})(PS["Web.DOM.ParentNode"] = PS["Web.DOM.ParentNode"] || {});-(function(exports) {-    "use strict";--  exports.toArray = function (list) {-    return function () {-      return [].slice.call(list);-    };-  };-})(PS["Web.DOM.NodeList"] = PS["Web.DOM.NodeList"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.DOM.NodeList"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Nullable = PS["Data.Nullable"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];-  exports["toArray"] = $foreign.toArray;-})(PS["Web.DOM.NodeList"] = PS["Web.DOM.NodeList"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.DOM.ParentNode"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Nullable = PS["Data.Nullable"];-  var Data_Ord = PS["Data.Ord"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var Web_DOM_HTMLCollection = PS["Web.DOM.HTMLCollection"];-  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];-  var Web_DOM_NodeList = PS["Web.DOM.NodeList"];-  var querySelector = function (qs) {-      return function ($3) {-          return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._querySelector(qs)($3));-      };-  };-  exports["querySelector"] = querySelector;-  exports["querySelectorAll"] = $foreign.querySelectorAll;-})(PS["Web.DOM.ParentNode"] = PS["Web.DOM.ParentNode"] || {});-(function(exports) {-    "use strict";--  exports.eventListener = function (fn) {-    return function () {-      return function (event) {-        return fn(event)();-      };-    };-  };-})(PS["Web.Event.EventTarget"] = PS["Web.Event.EventTarget"] || {});-(function(exports) {-    "use strict";--  exports._currentTarget = function (e) {-    return e.currentTarget;-  };--  exports.preventDefault = function (e) {-    return function () {-      return e.preventDefault();-    };-  };-})(PS["Web.Event.Event"] = PS["Web.Event.Event"] || {});-(function(exports) {-    "use strict";--  exports.toCharCode = function (c) {-    return c.charCodeAt(0);-  };--  exports.fromCharCode = function (c) {-    return String.fromCharCode(c);-  };-})(PS["Data.Enum"] = PS["Data.Enum"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.Enum"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_MonadPlus = PS["Control.MonadPlus"];-  var Control_MonadZero = PS["Control.MonadZero"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Boolean = PS["Data.Boolean"];-  var Data_Bounded = PS["Data.Bounded"];-  var Data_Either = PS["Data.Either"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Show = PS["Data.Show"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Data_Unfoldable1 = PS["Data.Unfoldable1"];-  var Data_Unit = PS["Data.Unit"];-  var Partial_Unsafe = PS["Partial.Unsafe"];-  var Prelude = PS["Prelude"];-  var Enum = function (Ord0, pred, succ) {-      this.Ord0 = Ord0;-      this.pred = pred;-      this.succ = succ;-  };-  var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {-      this.Bounded0 = Bounded0;-      this.Enum1 = Enum1;-      this.cardinality = cardinality;-      this.fromEnum = fromEnum;-      this.toEnum = toEnum;-  };-  var toEnum = function (dict) {-      return dict.toEnum;-  };-  var succ = function (dict) {-      return dict.succ;-  }; -  var pred = function (dict) {-      return dict.pred;-  };              -  var fromEnum = function (dict) {-      return dict.fromEnum;-  };-  var toEnumWithDefaults = function (dictBoundedEnum) {-      return function (low) {-          return function (high) {-              return function (x) {-                  var v = toEnum(dictBoundedEnum)(x);-                  if (v instanceof Data_Maybe.Just) {-                      return v.value0;-                  };-                  if (v instanceof Data_Maybe.Nothing) {-                      var $51 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));-                      if ($51) {-                          return low;-                      };-                      return high;-                  };-                  throw new Error("Failed pattern match at Data.Enum line 158, column 33 - line 160, column 62: " + [ v.constructor.name ]);-              };-          };-      };-  };-  var defaultSucc = function (toEnum$prime) {-      return function (fromEnum$prime) {-          return function (a) {-              return toEnum$prime(fromEnum$prime(a) + 1 | 0);-          };-      };-  };-  var defaultPred = function (toEnum$prime) {-      return function (fromEnum$prime) {-          return function (a) {-              return toEnum$prime(fromEnum$prime(a) - 1 | 0);-          };-      };-  };-  var charToEnum = function (v) {-      if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {-          return new Data_Maybe.Just($foreign.fromCharCode(v));-      };-      return Data_Maybe.Nothing.value;-  };-  var enumChar = new Enum(function () {-      return Data_Ord.ordChar;-  }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));-  var cardinality = function (dict) {-      return dict.cardinality;-  }; -  var boundedEnumChar = new BoundedEnum(function () {-      return Data_Bounded.boundedChar;-  }, function () {-      return enumChar;-  }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);-  exports["Enum"] = Enum;-  exports["succ"] = succ;-  exports["pred"] = pred;-  exports["BoundedEnum"] = BoundedEnum;-  exports["cardinality"] = cardinality;-  exports["toEnum"] = toEnum;-  exports["fromEnum"] = fromEnum;-  exports["toEnumWithDefaults"] = toEnumWithDefaults;-  exports["defaultSucc"] = defaultSucc;-  exports["defaultPred"] = defaultPred;-  exports["enumChar"] = enumChar;-  exports["boundedEnumChar"] = boundedEnumChar;-})(PS["Data.Enum"] = PS["Data.Enum"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.Event.Event"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_DateTime_Instant = PS["Data.DateTime.Instant"];-  var Data_Enum = PS["Data.Enum"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Nullable = PS["Data.Nullable"];-  var Data_Ord = PS["Data.Ord"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var Web_Event_EventPhase = PS["Web.Event.EventPhase"];-  var Web_Event_Internal_Types = PS["Web.Event.Internal.Types"];-  var currentTarget = function ($6) {-      return Data_Nullable.toMaybe($foreign._currentTarget($6));-  };-  exports["currentTarget"] = currentTarget;-  exports["preventDefault"] = $foreign.preventDefault;-})(PS["Web.Event.Event"] = PS["Web.Event.Event"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.Event.EventTarget"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var Web_Event_Event = PS["Web.Event.Event"];-  var Web_Event_Internal_Types = PS["Web.Event.Internal.Types"];-  exports["eventListener"] = $foreign.eventListener;-})(PS["Web.Event.EventTarget"] = PS["Web.Event.EventTarget"] || {});-(function(exports) {-    "use strict";--  exports._unsafeReadProtoTagged = function (nothing, just, name, value) {-    var obj = value;-    while (obj != null) {-      var proto = Object.getPrototypeOf(obj);-      var ctor = proto.constructor.name;-      if (ctor === name) {-        return just(value);-      } else if (ctor === "Object") {-        return nothing;-      }-      obj = proto;-    }-    return nothing;-  };-})(PS["Web.Internal.FFI"] = PS["Web.Internal.FFI"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.Internal.FFI"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Maybe = PS["Data.Maybe"];                 -  var unsafeReadProtoTagged = function (name) {-      return function (value) {-          return $foreign._unsafeReadProtoTagged(Data_Maybe.Nothing.value, Data_Maybe.Just.create, name, value);-      };-  };-  exports["unsafeReadProtoTagged"] = unsafeReadProtoTagged;-})(PS["Web.Internal.FFI"] = PS["Web.Internal.FFI"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.DOM.Element"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Nullable = PS["Data.Nullable"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_DOM_ChildNode = PS["Web.DOM.ChildNode"];-  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];-  var Web_DOM_NonDocumentTypeChildNode = PS["Web.DOM.NonDocumentTypeChildNode"];-  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];-  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];-  var Web_Internal_FFI = PS["Web.Internal.FFI"];                 -  var toParentNode = Unsafe_Coerce.unsafeCoerce;              -  var toNode = Unsafe_Coerce.unsafeCoerce;                                             -  var fromNode = Web_Internal_FFI.unsafeReadProtoTagged("Element");-  exports["fromNode"] = fromNode;-  exports["toNode"] = toNode;-  exports["toParentNode"] = toParentNode;-  exports["removeAttribute"] = $foreign.removeAttribute;-})(PS["Web.DOM.Element"] = PS["Web.DOM.Element"] || {});-(function(exports) {-    "use strict";--  exports._getElementById = function (id) {-    return function (node) {-      return function () {-        return node.getElementById(id);-      };-    };-  };-})(PS["Web.DOM.NonElementParentNode"] = PS["Web.DOM.NonElementParentNode"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.DOM.NonElementParentNode"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Nullable = PS["Data.Nullable"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var Web_DOM_Element = PS["Web.DOM.Element"];                 -  var getElementById = function (eid) {-      return function ($0) {-          return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._getElementById(eid)($0));-      };-  };-  exports["getElementById"] = getElementById;-})(PS["Web.DOM.NonElementParentNode"] = PS["Web.DOM.NonElementParentNode"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.DOM.Document"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Nullable = PS["Data.Nullable"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_DOM_Comment = PS["Web.DOM.Comment"];-  var Web_DOM_DocumentFragment = PS["Web.DOM.DocumentFragment"];-  var Web_DOM_DocumentType = PS["Web.DOM.DocumentType"];-  var Web_DOM_Element = PS["Web.DOM.Element"];-  var Web_DOM_HTMLCollection = PS["Web.DOM.HTMLCollection"];-  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];-  var Web_DOM_NonElementParentNode = PS["Web.DOM.NonElementParentNode"];-  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];-  var Web_DOM_ProcessingInstruction = PS["Web.DOM.ProcessingInstruction"];-  var Web_DOM_Text = PS["Web.DOM.Text"];-  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];-  var Web_Internal_FFI = PS["Web.Internal.FFI"];-  var toNonElementParentNode = Unsafe_Coerce.unsafeCoerce;-  exports["toNonElementParentNode"] = toNonElementParentNode;-})(PS["Web.DOM.Document"] = PS["Web.DOM.Document"] || {});-(function(exports) {-    "use strict";--  exports._read = function (nothing, just, value) {-    var tag = Object.prototype.toString.call(value);-    if (tag.indexOf("[object HTML") === 0 && tag.indexOf("Element]") === tag.length - 8) {-      return just(value);-    } else {-      return nothing;-    }-  };-})(PS["Web.HTML.HTMLElement"] = PS["Web.HTML.HTMLElement"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.HTML.HTMLElement"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Nullable = PS["Data.Nullable"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_DOM = PS["Web.DOM"];-  var Web_DOM_DOMTokenList = PS["Web.DOM.DOMTokenList"];-  var Web_DOM_Element = PS["Web.DOM.Element"];-  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];-  var Web_DOM_NonDocumentTypeChildNode = PS["Web.DOM.NonDocumentTypeChildNode"];-  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];-  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];    -  var toNode = Unsafe_Coerce.unsafeCoerce;       -  var toElement = Unsafe_Coerce.unsafeCoerce;-  var fromElement = function (x) {-      return $foreign._read(Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);-  };-  exports["fromElement"] = fromElement;-  exports["toElement"] = toElement;-  exports["toNode"] = toNode;-})(PS["Web.HTML.HTMLElement"] = PS["Web.HTML.HTMLElement"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.HTML.HTMLDocument"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Nullable = PS["Data.Nullable"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_DOM_Document = PS["Web.DOM.Document"];-  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];-  var Web_DOM_NonElementParentNode = PS["Web.DOM.NonElementParentNode"];-  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];-  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];-  var Web_HTML_HTMLDocument_ReadyState = PS["Web.HTML.HTMLDocument.ReadyState"];-  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];-  var Web_Internal_FFI = PS["Web.Internal.FFI"];                 -  var toParentNode = Unsafe_Coerce.unsafeCoerce; -  var toDocument = Unsafe_Coerce.unsafeCoerce;                              -  var body = function ($2) {-      return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._body($2));-  };-  exports["toDocument"] = toDocument;-  exports["toParentNode"] = toParentNode;-  exports["body"] = body;-})(PS["Web.HTML.HTMLDocument"] = PS["Web.HTML.HTMLDocument"] || {});-(function(exports) {-    "use strict";--  // ------------------------------------------------------------------------------  exports.href = function (location) {-    return function () {-      return location.href;-    };-  };--  exports.setHref = function (href) {-    return function (location) {-      return function () {-        location.href = href;-      };-    };-  };--  // ------------------------------------------------------------------------------  exports.search = function (location) {-    return function () {-      return location.search;-    };-  };--  // ------------------------------------------------------------------------------  exports.reload = function (location) {-    return function () {-      location.reload();-    };-  };-})(PS["Web.HTML.Location"] = PS["Web.HTML.Location"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.HTML.Location"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  exports["setHref"] = $foreign.setHref;-  exports["search"] = $foreign.search;-  exports["reload"] = $foreign.reload;-})(PS["Web.HTML.Location"] = PS["Web.HTML.Location"] || {});-(function(exports) {-    "use strict";--  exports.document = function (window) {-    return function () {-      return window.document;-    };-  };--  exports.location = function (window) {-    return function () {-      return window.location;-    };-  };-})(PS["Web.HTML.Window"] = PS["Web.HTML.Window"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.HTML.Window"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Nullable = PS["Data.Nullable"];-  var Data_Ord = PS["Data.Ord"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];-  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];-  var Web_HTML_History = PS["Web.HTML.History"];-  var Web_HTML_Location = PS["Web.HTML.Location"];-  var Web_HTML_Navigator = PS["Web.HTML.Navigator"];-  var Web_Storage_Storage = PS["Web.Storage.Storage"];-  exports["document"] = $foreign.document;-  exports["location"] = $foreign.location;-})(PS["Web.HTML.Window"] = PS["Web.HTML.Window"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.HTML"];-  var Effect = PS["Effect"];-  var Web_HTML_HTMLAnchorElement = PS["Web.HTML.HTMLAnchorElement"];-  var Web_HTML_HTMLAreaElement = PS["Web.HTML.HTMLAreaElement"];-  var Web_HTML_HTMLAudioElement = PS["Web.HTML.HTMLAudioElement"];-  var Web_HTML_HTMLBRElement = PS["Web.HTML.HTMLBRElement"];-  var Web_HTML_HTMLBaseElement = PS["Web.HTML.HTMLBaseElement"];-  var Web_HTML_HTMLBodyElement = PS["Web.HTML.HTMLBodyElement"];-  var Web_HTML_HTMLButtonElement = PS["Web.HTML.HTMLButtonElement"];-  var Web_HTML_HTMLCanvasElement = PS["Web.HTML.HTMLCanvasElement"];-  var Web_HTML_HTMLDListElement = PS["Web.HTML.HTMLDListElement"];-  var Web_HTML_HTMLDataElement = PS["Web.HTML.HTMLDataElement"];-  var Web_HTML_HTMLDataListElement = PS["Web.HTML.HTMLDataListElement"];-  var Web_HTML_HTMLDivElement = PS["Web.HTML.HTMLDivElement"];-  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];-  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];-  var Web_HTML_HTMLEmbedElement = PS["Web.HTML.HTMLEmbedElement"];-  var Web_HTML_HTMLFieldSetElement = PS["Web.HTML.HTMLFieldSetElement"];-  var Web_HTML_HTMLFormElement = PS["Web.HTML.HTMLFormElement"];-  var Web_HTML_HTMLHRElement = PS["Web.HTML.HTMLHRElement"];-  var Web_HTML_HTMLHeadElement = PS["Web.HTML.HTMLHeadElement"];-  var Web_HTML_HTMLHeadingElement = PS["Web.HTML.HTMLHeadingElement"];-  var Web_HTML_HTMLIFrameElement = PS["Web.HTML.HTMLIFrameElement"];-  var Web_HTML_HTMLImageElement = PS["Web.HTML.HTMLImageElement"];-  var Web_HTML_HTMLInputElement = PS["Web.HTML.HTMLInputElement"];-  var Web_HTML_HTMLKeygenElement = PS["Web.HTML.HTMLKeygenElement"];-  var Web_HTML_HTMLLIElement = PS["Web.HTML.HTMLLIElement"];-  var Web_HTML_HTMLLabelElement = PS["Web.HTML.HTMLLabelElement"];-  var Web_HTML_HTMLLegendElement = PS["Web.HTML.HTMLLegendElement"];-  var Web_HTML_HTMLLinkElement = PS["Web.HTML.HTMLLinkElement"];-  var Web_HTML_HTMLMapElement = PS["Web.HTML.HTMLMapElement"];-  var Web_HTML_HTMLMediaElement = PS["Web.HTML.HTMLMediaElement"];-  var Web_HTML_HTMLMetaElement = PS["Web.HTML.HTMLMetaElement"];-  var Web_HTML_HTMLMeterElement = PS["Web.HTML.HTMLMeterElement"];-  var Web_HTML_HTMLModElement = PS["Web.HTML.HTMLModElement"];-  var Web_HTML_HTMLOListElement = PS["Web.HTML.HTMLOListElement"];-  var Web_HTML_HTMLObjectElement = PS["Web.HTML.HTMLObjectElement"];-  var Web_HTML_HTMLOptGroupElement = PS["Web.HTML.HTMLOptGroupElement"];-  var Web_HTML_HTMLOptionElement = PS["Web.HTML.HTMLOptionElement"];-  var Web_HTML_HTMLOutputElement = PS["Web.HTML.HTMLOutputElement"];-  var Web_HTML_HTMLParagraphElement = PS["Web.HTML.HTMLParagraphElement"];-  var Web_HTML_HTMLParamElement = PS["Web.HTML.HTMLParamElement"];-  var Web_HTML_HTMLPreElement = PS["Web.HTML.HTMLPreElement"];-  var Web_HTML_HTMLProgressElement = PS["Web.HTML.HTMLProgressElement"];-  var Web_HTML_HTMLQuoteElement = PS["Web.HTML.HTMLQuoteElement"];-  var Web_HTML_HTMLScriptElement = PS["Web.HTML.HTMLScriptElement"];-  var Web_HTML_HTMLSelectElement = PS["Web.HTML.HTMLSelectElement"];-  var Web_HTML_HTMLSourceElement = PS["Web.HTML.HTMLSourceElement"];-  var Web_HTML_HTMLSpanElement = PS["Web.HTML.HTMLSpanElement"];-  var Web_HTML_HTMLStyleElement = PS["Web.HTML.HTMLStyleElement"];-  var Web_HTML_HTMLTableCaptionElement = PS["Web.HTML.HTMLTableCaptionElement"];-  var Web_HTML_HTMLTableCellElement = PS["Web.HTML.HTMLTableCellElement"];-  var Web_HTML_HTMLTableColElement = PS["Web.HTML.HTMLTableColElement"];-  var Web_HTML_HTMLTableDataCellElement = PS["Web.HTML.HTMLTableDataCellElement"];-  var Web_HTML_HTMLTableElement = PS["Web.HTML.HTMLTableElement"];-  var Web_HTML_HTMLTableHeaderCellElement = PS["Web.HTML.HTMLTableHeaderCellElement"];-  var Web_HTML_HTMLTableRowElement = PS["Web.HTML.HTMLTableRowElement"];-  var Web_HTML_HTMLTableSectionElement = PS["Web.HTML.HTMLTableSectionElement"];-  var Web_HTML_HTMLTemplateElement = PS["Web.HTML.HTMLTemplateElement"];-  var Web_HTML_HTMLTextAreaElement = PS["Web.HTML.HTMLTextAreaElement"];-  var Web_HTML_HTMLTimeElement = PS["Web.HTML.HTMLTimeElement"];-  var Web_HTML_HTMLTitleElement = PS["Web.HTML.HTMLTitleElement"];-  var Web_HTML_HTMLTrackElement = PS["Web.HTML.HTMLTrackElement"];-  var Web_HTML_HTMLUListElement = PS["Web.HTML.HTMLUListElement"];-  var Web_HTML_HTMLVideoElement = PS["Web.HTML.HTMLVideoElement"];-  var Web_HTML_History = PS["Web.HTML.History"];-  var Web_HTML_Location = PS["Web.HTML.Location"];-  var Web_HTML_Navigator = PS["Web.HTML.Navigator"];-  var Web_HTML_Window = PS["Web.HTML.Window"];-  exports["window"] = $foreign.window;-})(PS["Web.HTML"] = PS["Web.HTML"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Globals"];-  var Control_Applicative = PS["Control.Applicative"];-  var Data_Function = PS["Data.Function"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Nullable = PS["Data.Nullable"];-  var Data_Tuple = PS["Data.Tuple"];-  var Effect = PS["Effect"];-  var Model = PS["Model"];-  var Prelude = PS["Prelude"];-  var Web_DOM = PS["Web.DOM"];-  var Web_HTML = PS["Web.HTML"];-  var Web_XHR_FormData = PS["Web.XHR.FormData"];                 -  var setInnerHtml = function (c) {-      return function (n) {-          return Control_Applicative.pure(Effect.applicativeEffect)($foreign._setInnerHtml(c, n));-      };-  };-  var setDataAttribute = function (k) {-      return function (v) {-          return function (n) {-              return Control_Applicative.pure(Effect.applicativeEffect)($foreign._setDataAttribute(k, v, n));-          };-      };-  };-  var moment8601 = function (s) {-      return Control_Applicative.pure(Effect.applicativeEffect)($foreign._moment8601(Data_Tuple.Tuple.create, s));-  };-  var mmoment8601 = function (s) {-      return $foreign._mmoment8601(Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);-  };-  var innerHtml = function (n) {-      return Control_Applicative.pure(Effect.applicativeEffect)($foreign._innerHtml(n));-  };-  var getDataAttribute = function (k) {-      return function (n) {-          return Control_Applicative.pure(Effect.applicativeEffect)(Data_Nullable.toMaybe($foreign._getDataAttribute(k, n)));-      };-  };-  var createFormString = function (f) {-      return $foreign._createFormString(f);-  };-  var createFormData = function (f) {-      return $foreign._createFormData(f);-  };-  var createFormArray = function (f) {-      return $foreign._createFormArray(f);-  };-  var closest = function (selector) {-      return function (node) {-          return Control_Applicative.pure(Effect.applicativeEffect)($foreign._closest(Data_Maybe.Just.create, Data_Maybe.Nothing.value, selector, node));-      };-  };-  var closeWindow = function (win) {-      return Control_Applicative.pure(Effect.applicativeEffect)($foreign._closeWindow(win));-  };-  var app$prime = function (v) {-      return $foreign._app();-  };-  exports["app'"] = app$prime;-  exports["closest"] = closest;-  exports["moment8601"] = moment8601;-  exports["mmoment8601"] = mmoment8601;-  exports["innerHtml"] = innerHtml;-  exports["setInnerHtml"] = setInnerHtml;-  exports["createFormData"] = createFormData;-  exports["createFormString"] = createFormString;-  exports["createFormArray"] = createFormArray;-  exports["getDataAttribute"] = getDataAttribute;-  exports["setDataAttribute"] = setDataAttribute;-  exports["closeWindow"] = closeWindow;-  exports["_app"] = $foreign._app;-  exports["_closest"] = $foreign._closest;-  exports["_moment8601"] = $foreign._moment8601;-  exports["_mmoment8601"] = $foreign._mmoment8601;-  exports["_innerHtml"] = $foreign._innerHtml;-  exports["_setInnerHtml"] = $foreign._setInnerHtml;-  exports["_createFormData"] = $foreign._createFormData;-  exports["_createFormString"] = $foreign._createFormString;-  exports["_createFormArray"] = $foreign._createFormArray;-  exports["_getDataAttribute"] = $foreign._getDataAttribute;-  exports["_setDataAttribute"] = $foreign._setDataAttribute;-  exports["_closeWindow"] = $foreign._closeWindow;-})(PS["Globals"] = PS["Globals"] || {});-(function(exports) {-  /* global exports */-  /* global XMLHttpRequest */-  /* global module */-  /* global process */-  "use strict";--  exports._ajax = function () {-    var platformSpecific = { };-    if (typeof module !== "undefined" && module.require && !(typeof process !== "undefined" && process.versions["electron"])) {-      // We are on node.js-      platformSpecific.newXHR = function () {-        var XHR = module.require("xhr2");-        return new XHR();-      };--      platformSpecific.fixupUrl = function (url) {-        var urllib = module.require("url");-        var u = urllib.parse(url);-        u.protocol = u.protocol || "http:";-        u.hostname = u.hostname || "localhost";-        return urllib.format(u);-      };--      platformSpecific.getResponse = function (xhr) {-        return xhr.response;-      };-    } else {-      // We are in the browser-      platformSpecific.newXHR = function () {-        return new XMLHttpRequest();-      };--      platformSpecific.fixupUrl = function (url) {-        return url || "/";-      };--      platformSpecific.getResponse = function (xhr) {-        return xhr.response;-      };-    }--    return function (mkHeader, options) {-      return function (errback, callback) {-        var xhr = platformSpecific.newXHR();-        var fixedUrl = platformSpecific.fixupUrl(options.url);-        xhr.open(options.method || "GET", fixedUrl, true, options.username, options.password);-        if (options.headers) {-          try {-            for (var i = 0, header; (header = options.headers[i]) != null; i++) {-              xhr.setRequestHeader(header.field, header.value);-            }-          } catch (e) {-            errback(e);-          }-        }-        xhr.onerror = function () {-          errback(new Error("AJAX request failed: " + options.method + " " + options.url));-        };-        xhr.onload = function () {-          callback({-            status: xhr.status,-            statusText: xhr.statusText,-            headers: xhr.getAllResponseHeaders().split("\r\n")-              .filter(function (header) {-                return header.length > 0;-              })-              .map(function (header) {-                var i = header.indexOf(":");-                return mkHeader(header.substring(0, i))(header.substring(i + 2));-              }),-            response: platformSpecific.getResponse(xhr)-          });-        };-        xhr.responseType = options.responseType;-        xhr.withCredentials = options.withCredentials;-        xhr.send(options.content);--        return function (error, cancelErrback, cancelCallback) {-          try {-            xhr.abort();-          } catch (e) {-            return cancelErrback(e);-          }-          return cancelCallback();-        };-      };-    };-  }();-})(PS["Network.HTTP.Affjax"] = PS["Network.HTTP.Affjax"] || {});-(function(exports) {-    "use strict";--  function id(x) {-    return x;-  }                      -  exports.fromObject = id;--  exports.stringify = function (j) {-    return JSON.stringify(j);-  };                        --  function isArray(a) {-    return objToString.call(a) === "[object Array]";-  }-})(PS["Data.Argonaut.Core"] = PS["Data.Argonaut.Core"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.Argonaut.Core"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function = PS["Data.Function"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Foreign_Object = PS["Foreign.Object"];-  var Prelude = PS["Prelude"];                  -  var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);-  exports["jsonEmptyObject"] = jsonEmptyObject;-  exports["stringify"] = $foreign.stringify;-})(PS["Data.Argonaut.Core"] = PS["Data.Argonaut.Core"] || {});-(function(exports) {-    "use strict";--  exports._jsonParser = function (fail, succ, s) {-    try {-      return succ(JSON.parse(s));-    }-    catch (e) {-      return fail(e.message);-    }-  };-})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.Argonaut.Parser"];-  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];-  var Data_Either = PS["Data.Either"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];                 -  var jsonParser = function (j) {-      return $foreign._jsonParser(Data_Either.Left.create, Data_Either.Right.create, j);-  };-  exports["jsonParser"] = jsonParser;-})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Either = PS["Data.Either"];-  var Data_Function = PS["Data.Function"];-  var Effect = PS["Effect"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Exception = PS["Effect.Exception"];-  var Effect_Uncurried = PS["Effect.Uncurried"];-  var Prelude = PS["Prelude"];-  var fromEffectFnAff = function (v) {-      return Effect_Aff.makeAff(function (k) {-          return function __do() {-              var v1 = v(function ($4) {-                  return k(Data_Either.Left.create($4))();-              }, function ($5) {-                  return k(Data_Either.Right.create($5))();-              });-              return function (e) {-                  return Effect_Aff.makeAff(function (k2) {-                      return function __do() {-                          v1(e, function ($6) {-                              return k2(Data_Either.Left.create($6))();-                          }, function ($7) {-                              return k2(Data_Either.Right.create($7))();-                          });-                          return Effect_Aff.nonCanceler;-                      };-                  });-              };-          };-      });-  };-  exports["fromEffectFnAff"] = fromEffectFnAff;-})(PS["Effect.Aff.Compat"] = PS["Effect.Aff.Compat"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];-  var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"];-  var Data_FormURLEncoded = PS["Data.FormURLEncoded"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_MediaType = PS["Data.MediaType"];-  var Data_MediaType_Common = PS["Data.MediaType.Common"];-  var Web_DOM_Document = PS["Web.DOM.Document"];-  var Web_File_Blob = PS["Web.File.Blob"];-  var Web_XHR_FormData = PS["Web.XHR.FormData"];                 -  var ArrayView = (function () {-      function ArrayView(value0) {-          this.value0 = value0;-      };-      ArrayView.create = function (value0) {-          return new ArrayView(value0);-      };-      return ArrayView;-  })();-  var Blob = (function () {-      function Blob(value0) {-          this.value0 = value0;-      };-      Blob.create = function (value0) {-          return new Blob(value0);-      };-      return Blob;-  })();-  var Document = (function () {-      function Document(value0) {-          this.value0 = value0;-      };-      Document.create = function (value0) {-          return new Document(value0);-      };-      return Document;-  })();-  var $$String = (function () {-      function $$String(value0) {-          this.value0 = value0;-      };-      $$String.create = function (value0) {-          return new $$String(value0);-      };-      return $$String;-  })();-  var FormData = (function () {-      function FormData(value0) {-          this.value0 = value0;-      };-      FormData.create = function (value0) {-          return new FormData(value0);-      };-      return FormData;-  })();-  var FormURLEncoded = (function () {-      function FormURLEncoded(value0) {-          this.value0 = value0;-      };-      FormURLEncoded.create = function (value0) {-          return new FormURLEncoded(value0);-      };-      return FormURLEncoded;-  })();-  var Json = (function () {-      function Json(value0) {-          this.value0 = value0;-      };-      Json.create = function (value0) {-          return new Json(value0);-      };-      return Json;-  })();-  var toMediaType = function (v) {-      if (v instanceof FormURLEncoded) {-          return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);-      };-      if (v instanceof Json) {-          return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);-      };-      return Data_Maybe.Nothing.value;-  };-  var string = $$String.create;-  exports["ArrayView"] = ArrayView;-  exports["Blob"] = Blob;-  exports["Document"] = Document;-  exports["String"] = $$String;-  exports["FormData"] = FormData;-  exports["FormURLEncoded"] = FormURLEncoded;-  exports["Json"] = Json;-  exports["string"] = string;-  exports["toMediaType"] = toMediaType;-})(PS["Network.HTTP.Affjax.Request"] = PS["Network.HTTP.Affjax.Request"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Category = PS["Control.Category"];-  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];-  var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_MediaType = PS["Data.MediaType"];-  var Data_MediaType_Common = PS["Data.MediaType.Common"];-  var Prelude = PS["Prelude"];-  var Web_DOM_Document = PS["Web.DOM.Document"];-  var Web_File_Blob = PS["Web.File.Blob"];                 -  var $$ArrayBuffer = (function () {-      function $$ArrayBuffer(value0) {-          this.value0 = value0;-      };-      $$ArrayBuffer.create = function (value0) {-          return new $$ArrayBuffer(value0);-      };-      return $$ArrayBuffer;-  })();-  var Blob = (function () {-      function Blob(value0) {-          this.value0 = value0;-      };-      Blob.create = function (value0) {-          return new Blob(value0);-      };-      return Blob;-  })();-  var Document = (function () {-      function Document(value0) {-          this.value0 = value0;-      };-      Document.create = function (value0) {-          return new Document(value0);-      };-      return Document;-  })();-  var Json = (function () {-      function Json(value0) {-          this.value0 = value0;-      };-      Json.create = function (value0) {-          return new Json(value0);-      };-      return Json;-  })();-  var $$String = (function () {-      function $$String(value0) {-          this.value0 = value0;-      };-      $$String.create = function (value0) {-          return new $$String(value0);-      };-      return $$String;-  })();-  var Ignore = (function () {-      function Ignore(value0) {-          this.value0 = value0;-      };-      Ignore.create = function (value0) {-          return new Ignore(value0);-      };-      return Ignore;-  })();-  var toResponseType = function (v) {-      if (v instanceof $$ArrayBuffer) {-          return "arraybuffer";-      };-      if (v instanceof Blob) {-          return "blob";-      };-      if (v instanceof Document) {-          return "document";-      };-      if (v instanceof Json) {-          return "text";-      };-      if (v instanceof $$String) {-          return "text";-      };-      if (v instanceof Ignore) {-          return "";-      };-      throw new Error("Failed pattern match at Network.HTTP.Affjax.Response line 41, column 3 - line 49, column 1: " + [ v.constructor.name ]);-  };-  var toMediaType = function (v) {-      if (v instanceof Json) {-          return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);-      };-      return Data_Maybe.Nothing.value;-  };                                                                          -  var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));-  exports["ArrayBuffer"] = $$ArrayBuffer;-  exports["Blob"] = Blob;-  exports["Document"] = Document;-  exports["Json"] = Json;-  exports["String"] = $$String;-  exports["Ignore"] = Ignore;-  exports["ignore"] = ignore;-  exports["toResponseType"] = toResponseType;-  exports["toMediaType"] = toMediaType;-})(PS["Network.HTTP.Affjax.Response"] = PS["Network.HTTP.Affjax.Response"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Data_Eq = PS["Data.Eq"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_MediaType = PS["Data.MediaType"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Show = PS["Data.Show"];-  var Prelude = PS["Prelude"];                 -  var Accept = (function () {-      function Accept(value0) {-          this.value0 = value0;-      };-      Accept.create = function (value0) {-          return new Accept(value0);-      };-      return Accept;-  })();-  var ContentType = (function () {-      function ContentType(value0) {-          this.value0 = value0;-      };-      ContentType.create = function (value0) {-          return new ContentType(value0);-      };-      return ContentType;-  })();-  var RequestHeader = (function () {-      function RequestHeader(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      RequestHeader.create = function (value0) {-          return function (value1) {-              return new RequestHeader(value0, value1);-          };-      };-      return RequestHeader;-  })();-  var requestHeaderValue = function (v) {-      if (v instanceof Accept) {-          return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);-      };-      if (v instanceof ContentType) {-          return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);-      };-      if (v instanceof RequestHeader) {-          return v.value1;-      };-      throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 29, column 1 - line 29, column 46: " + [ v.constructor.name ]);-  };-  var requestHeaderName = function (v) {-      if (v instanceof Accept) {-          return "Accept";-      };-      if (v instanceof ContentType) {-          return "Content-Type";-      };-      if (v instanceof RequestHeader) {-          return v.value0;-      };-      throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 24, column 1 - line 24, column 45: " + [ v.constructor.name ]);-  };-  exports["Accept"] = Accept;-  exports["ContentType"] = ContentType;-  exports["RequestHeader"] = RequestHeader;-  exports["requestHeaderName"] = requestHeaderName;-  exports["requestHeaderValue"] = requestHeaderValue;-})(PS["Network.HTTP.RequestHeader"] = PS["Network.HTTP.RequestHeader"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Data_Eq = PS["Data.Eq"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Show = PS["Data.Show"];-  var Prelude = PS["Prelude"];                 -  var ResponseHeader = (function () {-      function ResponseHeader(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      ResponseHeader.create = function (value0) {-          return function (value1) {-              return new ResponseHeader(value0, value1);-          };-      };-      return ResponseHeader;-  })();-  var responseHeader = function (field) {-      return function (value) {-          return new ResponseHeader(field, value);-      };-  };-  exports["responseHeader"] = responseHeader;-})(PS["Network.HTTP.ResponseHeader"] = PS["Network.HTTP.ResponseHeader"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Network.HTTP.Affjax"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];-  var Control_Monad_Except = PS["Control.Monad.Except"];-  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];-  var Control_Parallel = PS["Control.Parallel"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];-  var Data_Argonaut_Parser = PS["Data.Argonaut.Parser"];-  var Data_Array = PS["Data.Array"];-  var Data_Either = PS["Data.Either"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_FormURLEncoded = PS["Data.FormURLEncoded"];-  var Data_Function = PS["Data.Function"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HTTP_Method = PS["Data.HTTP.Method"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Identity = PS["Data.Identity"];-  var Data_Int = PS["Data.Int"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Nullable = PS["Data.Nullable"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Time_Duration = PS["Data.Time.Duration"];-  var Data_Unit = PS["Data.Unit"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Aff_Compat = PS["Effect.Aff.Compat"];-  var Effect_Class = PS["Effect.Class"];-  var Effect_Exception = PS["Effect.Exception"];-  var Effect_Ref = PS["Effect.Ref"];-  var Foreign = PS["Foreign"];-  var $$Math = PS["Math"];-  var Network_HTTP_Affjax_Request = PS["Network.HTTP.Affjax.Request"];-  var Network_HTTP_Affjax_Response = PS["Network.HTTP.Affjax.Response"];-  var Network_HTTP_RequestHeader = PS["Network.HTTP.RequestHeader"];-  var Network_HTTP_ResponseHeader = PS["Network.HTTP.ResponseHeader"];-  var Network_HTTP_StatusCode = PS["Network.HTTP.StatusCode"];-  var Prelude = PS["Prelude"];-  var defaultRequest = {-      method: new Data_Either.Left(Data_HTTP_Method.GET.value),-      url: "/",-      headers: [  ],-      content: Data_Maybe.Nothing.value,-      username: Data_Maybe.Nothing.value,-      password: Data_Maybe.Nothing.value,-      withCredentials: false-  };-  var affjax = function (rt) {-      return function (req) {-          var parseJSON = function (v) {-              if (v === "") {-                  return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);-              };-              return Data_Either.either(function ($58) {-                  return Foreign.fail(Foreign.ForeignError.create($58));-              })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));-          };-          var fromResponse$prime = (function () {-              if (rt instanceof Network_HTTP_Affjax_Response["ArrayBuffer"]) {-                  return Foreign.unsafeReadTagged("ArrayBuffer");-              };-              if (rt instanceof Network_HTTP_Affjax_Response.Blob) {-                  return Foreign.unsafeReadTagged("Blob");-              };-              if (rt instanceof Network_HTTP_Affjax_Response.Document) {-                  return Foreign.unsafeReadTagged("Document");-              };-              if (rt instanceof Network_HTTP_Affjax_Response.Json) {-                  return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($59) {-                      return rt.value0(parseJSON($59));-                  })(Foreign.unsafeReadTagged("String"));-              };-              if (rt instanceof Network_HTTP_Affjax_Response["String"]) {-                  return Foreign.unsafeReadTagged("String");-              };-              if (rt instanceof Network_HTTP_Affjax_Response.Ignore) {-                  return Data_Function["const"](rt.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));-              };-              throw new Error("Failed pattern match at Network.HTTP.Affjax line 261, column 19 - line 267, column 51: " + [ rt.constructor.name ]);-          })();-          var extractContent = function (v) {-              if (v instanceof Network_HTTP_Affjax_Request.ArrayView) {-                  return v.value0(Foreign.unsafeToForeign);-              };-              if (v instanceof Network_HTTP_Affjax_Request.Blob) {-                  return Foreign.unsafeToForeign(v.value0);-              };-              if (v instanceof Network_HTTP_Affjax_Request.Document) {-                  return Foreign.unsafeToForeign(v.value0);-              };-              if (v instanceof Network_HTTP_Affjax_Request["String"]) {-                  return Foreign.unsafeToForeign(v.value0);-              };-              if (v instanceof Network_HTTP_Affjax_Request.FormData) {-                  return Foreign.unsafeToForeign(v.value0);-              };-              if (v instanceof Network_HTTP_Affjax_Request.FormURLEncoded) {-                  return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));-              };-              if (v instanceof Network_HTTP_Affjax_Request.Json) {-                  return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));-              };-              throw new Error("Failed pattern match at Network.HTTP.Affjax line 235, column 20 - line 242, column 53: " + [ v.constructor.name ]);-          };-          var addHeader = function (mh) {-              return function (hs) {-                  if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Network_HTTP_RequestHeader.requestHeaderName)(mh.value0))(hs)) {-                      return Data_Array.snoc(hs)(mh.value0);-                  };-                  return hs;-              };-          };-          var headers = function (reqContent) {-              return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Network_HTTP_Affjax_Request.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_RequestHeader.Accept.create)(Network_HTTP_Affjax_Response.toMediaType(rt)))(req.headers));-          };-          var req$prime = {-              method: Data_HTTP_Method.print(req.method),-              url: req.url,-              headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {-                  return {-                      field: Network_HTTP_RequestHeader.requestHeaderName(h),-                      value: Network_HTTP_RequestHeader.requestHeaderValue(h)-                  };-              })(headers(req.content)),-              content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),-              responseType: Network_HTTP_Affjax_Response.toResponseType(rt),-              username: Data_Nullable.toNullable(req.username),-              password: Data_Nullable.toNullable(req.password),-              withCredentials: req.withCredentials-          };-          return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign._ajax(Network_HTTP_ResponseHeader.responseHeader, req$prime)))(function (v) {-              var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.response));-              if (v1 instanceof Data_Either.Left) {-                  return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(Data_Foldable.intercalate(Data_List_Types.foldableNonEmptyList)(Data_Monoid.monoidString)("\x0a")(Data_Functor.map(Data_List_Types.functorNonEmptyList)(Foreign.renderForeignError)(v1.value0))));-              };-              if (v1 instanceof Data_Either.Right) {-                  return Control_Applicative.pure(Effect_Aff.applicativeAff)({-                      response: v1.value0,-                      headers: v.headers,-                      status: v.status,-                      statusText: v.statusText-                  });-              };-              throw new Error("Failed pattern match at Network.HTTP.Affjax line 217, column 3 - line 219, column 49: " + [ v1.constructor.name ]);-          });-      };-  };-  exports["defaultRequest"] = defaultRequest;-  exports["affjax"] = affjax;-})(PS["Network.HTTP.Affjax"] = PS["Network.HTTP.Affjax"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Bind = PS["Control.Bind"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Array = PS["Data.Array"];-  var Data_Either = PS["Data.Either"];-  var Data_FormURLEncoded = PS["Data.FormURLEncoded"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HTTP_Method = PS["Data.HTTP.Method"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_MediaType_Common = PS["Data.MediaType.Common"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Show = PS["Data.Show"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Class = PS["Effect.Class"];-  var Globals = PS["Globals"];-  var Model = PS["Model"];-  var Network_HTTP_Affjax = PS["Network.HTTP.Affjax"];-  var Network_HTTP_Affjax_Request = PS["Network.HTTP.Affjax.Request"];-  var Network_HTTP_Affjax_Response = PS["Network.HTTP.Affjax.Response"];-  var Network_HTTP_RequestHeader = PS["Network.HTTP.RequestHeader"];-  var Prelude = PS["Prelude"];-  var Simple_JSON = PS["Simple.JSON"];-  var Web_Event_Event = PS["Web.Event.Event"];-  var Web_HTML = PS["Web.HTML"];-  var Web_HTML_Location = PS["Web.HTML.Location"];-  var Web_HTML_Window = PS["Web.HTML.Window"];                 -  var Star = (function () {-      function Star() {--      };-      Star.value = new Star();-      return Star;-  })();-  var UnStar = (function () {-      function UnStar() {--      };-      UnStar.value = new UnStar();-      return UnStar;-  })();-  var showStar = new Data_Show.Show(function (v) {-      if (v instanceof Star) {-          return "star";-      };-      if (v instanceof UnStar) {-          return "unstar";-      };-      throw new Error("Failed pattern match at App line 28, column 1 - line 28, column 37: " + [ v.constructor.name ]);-  });-  var fetchUrl = function (method) {-      return function (url) {-          return function (headers) {-              return function (content) {-                  return function (rt) {-                      var app = Globals["app'"](Data_Unit.unit);-                      return Network_HTTP_Affjax.affjax(rt)({-                          method: new Data_Either.Left(method),-                          url: url,-                          headers: Data_Array.cons(new Network_HTTP_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),-                          content: content,-                          username: Network_HTTP_Affjax.defaultRequest.username,-                          password: Network_HTTP_Affjax.defaultRequest.password,-                          withCredentials: Network_HTTP_Affjax.defaultRequest.withCredentials-                      });-                  };-              };-          };-      };-  };-  var logout = function (u) {-      var app = Globals["app'"](u);-      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([  ])(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore)))(function () {-          return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));-      });-  };-  var logoutE = function (e) {-      return Control_Bind.bindFlipped(Effect.bindEffect)(function ($4) {-          return Data_Functor["void"](Effect.functorEffect)(Effect_Aff.launchAff(logout($4)));-      })(Web_Event_Event.preventDefault(e));-  };-  var fetchPath = function (method) {-      return function (path) {-          return function (headers) {-              return function (content) {-                  return function (rt) {-                      return fetchUrl(method)((Globals["app'"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);-                  };-              };-          };-      };-  };-  var fetchUrlEnc = function (method) {-      return function (path) {-          return function (content) {-              return function (rt) {-                  return fetchPath(method)(path)([ new Network_HTTP_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_Affjax_Request.FormURLEncoded.create)(content))(rt);-              };-          };-      };-  };-  var markRead = function (bid) {-      var path = "bm/" + (Data_Show.show(Data_Show.showInt)(bid) + "/read");-      return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore);-  };-  var toggleStar = function (bid) {-      return function (action) {-          var path = "bm/" + (Data_Show.show(Data_Show.showInt)(bid) + ("/" + Data_Show.show(showStar)(action)));-          return Data_Functor["void"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore));-      };-  };-  var fetchJson = function (dictWriteForeign) {-      return function (method) {-          return function (path) {-              return function (content) {-                  return function (rt) {-                      return fetchPath(method)(path)([ new Network_HTTP_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)(function ($5) {-                          return Network_HTTP_Affjax_Request.string(Simple_JSON.writeJSON(dictWriteForeign)($5));-                      })(content))(rt);-                  };-              };-          };-      };-  };-  var editBookmark = function (bm) {-      return fetchJson(Model.wfI)(Data_HTTP_Method.POST.value)("api/add")(Data_Maybe.Just.create(bm))(Network_HTTP_Affjax_Response.ignore);-  };-  var destroy = function (bid) {-      return fetchUrlEnc(Data_HTTP_Method.DELETE.value)("bm/" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore);-  };-  exports["Star"] = Star;-  exports["UnStar"] = UnStar;-  exports["toggleStar"] = toggleStar;-  exports["destroy"] = destroy;-  exports["markRead"] = markRead;-  exports["editBookmark"] = editBookmark;-  exports["logoutE"] = logoutE;-  exports["logout"] = logout;-  exports["fetchJson"] = fetchJson;-  exports["fetchUrlEnc"] = fetchUrlEnc;-  exports["fetchPath"] = fetchPath;-  exports["fetchUrl"] = fetchUrl;-  exports["showStar"] = showStar;-})(PS["App"] = PS["App"] || {});-(function(exports) {-    "use strict";-  var ButtonButton = (function () {-      function ButtonButton() {--      };-      ButtonButton.value = new ButtonButton();-      return ButtonButton;-  })();-  var ButtonSubmit = (function () {-      function ButtonSubmit() {--      };-      ButtonSubmit.value = new ButtonSubmit();-      return ButtonSubmit;-  })();-  var ButtonReset = (function () {-      function ButtonReset() {--      };-      ButtonReset.value = new ButtonReset();-      return ButtonReset;-  })();-  var renderButtonType = function (v) {-      if (v instanceof ButtonButton) {-          return "button";-      };-      if (v instanceof ButtonSubmit) {-          return "submit";-      };-      if (v instanceof ButtonReset) {-          return "reset";-      };-      throw new Error("Failed pattern match at DOM.HTML.Indexed.ButtonType line 9, column 20 - line 12, column 18: " + [ v.constructor.name ]);-  };-  exports["ButtonButton"] = ButtonButton;-  exports["ButtonSubmit"] = ButtonSubmit;-  exports["ButtonReset"] = ButtonReset;-  exports["renderButtonType"] = renderButtonType;-})(PS["DOM.HTML.Indexed.ButtonType"] = PS["DOM.HTML.Indexed.ButtonType"] || {});-(function(exports) {-    "use strict";-  var InputButton = (function () {-      function InputButton() {--      };-      InputButton.value = new InputButton();-      return InputButton;-  })();-  var InputCheckbox = (function () {-      function InputCheckbox() {--      };-      InputCheckbox.value = new InputCheckbox();-      return InputCheckbox;-  })();-  var InputColor = (function () {-      function InputColor() {--      };-      InputColor.value = new InputColor();-      return InputColor;-  })();-  var InputDate = (function () {-      function InputDate() {--      };-      InputDate.value = new InputDate();-      return InputDate;-  })();-  var InputDatetimeLocal = (function () {-      function InputDatetimeLocal() {--      };-      InputDatetimeLocal.value = new InputDatetimeLocal();-      return InputDatetimeLocal;-  })();-  var InputEmail = (function () {-      function InputEmail() {--      };-      InputEmail.value = new InputEmail();-      return InputEmail;-  })();-  var InputFile = (function () {-      function InputFile() {--      };-      InputFile.value = new InputFile();-      return InputFile;-  })();-  var InputHidden = (function () {-      function InputHidden() {--      };-      InputHidden.value = new InputHidden();-      return InputHidden;-  })();-  var InputImage = (function () {-      function InputImage() {--      };-      InputImage.value = new InputImage();-      return InputImage;-  })();-  var InputMonth = (function () {-      function InputMonth() {--      };-      InputMonth.value = new InputMonth();-      return InputMonth;-  })();-  var InputNumber = (function () {-      function InputNumber() {--      };-      InputNumber.value = new InputNumber();-      return InputNumber;-  })();-  var InputPassword = (function () {-      function InputPassword() {--      };-      InputPassword.value = new InputPassword();-      return InputPassword;-  })();-  var InputRadio = (function () {-      function InputRadio() {--      };-      InputRadio.value = new InputRadio();-      return InputRadio;-  })();-  var InputRange = (function () {-      function InputRange() {--      };-      InputRange.value = new InputRange();-      return InputRange;-  })();-  var InputReset = (function () {-      function InputReset() {--      };-      InputReset.value = new InputReset();-      return InputReset;-  })();-  var InputSearch = (function () {-      function InputSearch() {--      };-      InputSearch.value = new InputSearch();-      return InputSearch;-  })();-  var InputSubmit = (function () {-      function InputSubmit() {--      };-      InputSubmit.value = new InputSubmit();-      return InputSubmit;-  })();-  var InputTel = (function () {-      function InputTel() {--      };-      InputTel.value = new InputTel();-      return InputTel;-  })();-  var InputText = (function () {-      function InputText() {--      };-      InputText.value = new InputText();-      return InputText;-  })();-  var InputTime = (function () {-      function InputTime() {--      };-      InputTime.value = new InputTime();-      return InputTime;-  })();-  var InputUrl = (function () {-      function InputUrl() {--      };-      InputUrl.value = new InputUrl();-      return InputUrl;-  })();-  var InputWeek = (function () {-      function InputWeek() {--      };-      InputWeek.value = new InputWeek();-      return InputWeek;-  })();-  var renderInputType = function (v) {-      if (v instanceof InputButton) {-          return "button";-      };-      if (v instanceof InputCheckbox) {-          return "checkbox";-      };-      if (v instanceof InputColor) {-          return "color";-      };-      if (v instanceof InputDate) {-          return "date";-      };-      if (v instanceof InputDatetimeLocal) {-          return "datetime-local";-      };-      if (v instanceof InputEmail) {-          return "email";-      };-      if (v instanceof InputFile) {-          return "file";-      };-      if (v instanceof InputHidden) {-          return "hidden";-      };-      if (v instanceof InputImage) {-          return "image";-      };-      if (v instanceof InputMonth) {-          return "month";-      };-      if (v instanceof InputNumber) {-          return "number";-      };-      if (v instanceof InputPassword) {-          return "password";-      };-      if (v instanceof InputRadio) {-          return "radio";-      };-      if (v instanceof InputRange) {-          return "range";-      };-      if (v instanceof InputReset) {-          return "reset";-      };-      if (v instanceof InputSearch) {-          return "search";-      };-      if (v instanceof InputSubmit) {-          return "submit";-      };-      if (v instanceof InputTel) {-          return "tel";-      };-      if (v instanceof InputText) {-          return "text";-      };-      if (v instanceof InputTime) {-          return "time";-      };-      if (v instanceof InputUrl) {-          return "url";-      };-      if (v instanceof InputWeek) {-          return "week";-      };-      throw new Error("Failed pattern match at DOM.HTML.Indexed.InputType line 28, column 19 - line 50, column 16: " + [ v.constructor.name ]);-  };-  exports["InputButton"] = InputButton;-  exports["InputCheckbox"] = InputCheckbox;-  exports["InputColor"] = InputColor;-  exports["InputDate"] = InputDate;-  exports["InputDatetimeLocal"] = InputDatetimeLocal;-  exports["InputEmail"] = InputEmail;-  exports["InputFile"] = InputFile;-  exports["InputHidden"] = InputHidden;-  exports["InputImage"] = InputImage;-  exports["InputMonth"] = InputMonth;-  exports["InputNumber"] = InputNumber;-  exports["InputPassword"] = InputPassword;-  exports["InputRadio"] = InputRadio;-  exports["InputRange"] = InputRange;-  exports["InputReset"] = InputReset;-  exports["InputSearch"] = InputSearch;-  exports["InputSubmit"] = InputSubmit;-  exports["InputTel"] = InputTel;-  exports["InputText"] = InputText;-  exports["InputTime"] = InputTime;-  exports["InputUrl"] = InputUrl;-  exports["InputWeek"] = InputWeek;-  exports["renderInputType"] = renderInputType;-})(PS["DOM.HTML.Indexed.InputType"] = PS["DOM.HTML.Indexed.InputType"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Category = PS["Control.Category"];-  var Control_Monad_Cont_Trans = PS["Control.Monad.Cont.Trans"];-  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];-  var Control_Monad_List_Trans = PS["Control.Monad.List.Trans"];-  var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"];-  var Control_Monad_RWS_Trans = PS["Control.Monad.RWS.Trans"];-  var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"];-  var Control_Monad_State_Trans = PS["Control.Monad.State.Trans"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_Monad_Writer_Trans = PS["Control.Monad.Writer.Trans"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Class = PS["Effect.Class"];-  var Prelude = PS["Prelude"];                 -  var MonadAff = function (MonadEffect0, liftAff) {-      this.MonadEffect0 = MonadEffect0;-      this.liftAff = liftAff;-  };-  var monadAffAff = new MonadAff(function () {-      return Effect_Aff.monadEffectAff;-  }, Control_Category.identity(Control_Category.categoryFn));-  var liftAff = function (dict) {-      return dict.liftAff;-  };-  exports["liftAff"] = liftAff;-  exports["MonadAff"] = MonadAff;-  exports["monadAffAff"] = monadAffAff;-})(PS["Effect.Aff.Class"] = PS["Effect.Aff.Class"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Data_Eq = PS["Data.Eq"];-  var Data_Ord = PS["Data.Ord"];-  var Prelude = PS["Prelude"];                 -  var OrdBox = (function () {-      function OrdBox(value0, value1, value2) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-      };-      OrdBox.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return new OrdBox(value0, value1, value2);-              };-          };-      };-      return OrdBox;-  })();-  var unOrdBox = function (v) {-      return v.value2;-  };-  var mkOrdBox = function (dictOrd) {-      return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));-  };-  var eqOrdBox = new Data_Eq.Eq(function (v) {-      return function (v1) {-          return v.value0(v.value2)(v1.value2);-      };-  });-  var ordOrdBox = new Data_Ord.Ord(function () {-      return eqOrdBox;-  }, function (v) {-      return function (v1) {-          return v.value1(v.value2)(v1.value2);-      };-  });-  exports["mkOrdBox"] = mkOrdBox;-  exports["unOrdBox"] = unOrdBox;-  exports["eqOrdBox"] = eqOrdBox;-  exports["ordOrdBox"] = ordOrdBox;-})(PS["Halogen.Data.OrdBox"] = PS["Halogen.Data.OrdBox"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var On = (function () {-      function On() {--      };-      On.value = new On();-      return On;-  })();-  var Off = (function () {-      function Off() {--      };-      Off.value = new Off();-      return Off;-  })();-  var renderOnOff = function (v) {-      if (v instanceof On) {-          return "on";-      };-      if (v instanceof Off) {-          return "off";-      };-      throw new Error("Failed pattern match at DOM.HTML.Indexed.OnOff line 8, column 15 - line 10, column 10: " + [ v.constructor.name ]);-  };-  exports["On"] = On;-  exports["Off"] = Off;-  exports["renderOnOff"] = renderOnOff;-})(PS["DOM.HTML.Indexed.OnOff"] = PS["DOM.HTML.Indexed.OnOff"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Ord = PS["Data.Ord"];-  var Prelude = PS["Prelude"];-  var Web_DOM = PS["Web.DOM"];-  var RefUpdate = (function () {-      function RefUpdate(value0, value1, value2) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-      };-      RefUpdate.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return new RefUpdate(value0, value1, value2);-              };-          };-      };-      return RefUpdate;-  })();-  var Query = (function () {-      function Query(value0) {-          this.value0 = value0;-      };-      Query.create = function (value0) {-          return new Query(value0);-      };-      return Query;-  })();                             -  var bifunctorInputF = new Data_Bifunctor.Bifunctor(function (f) {-      return function (g) {-          return function (v) {-              if (v instanceof RefUpdate) {-                  return new RefUpdate(v.value0, v.value1, f(v.value2));-              };-              if (v instanceof Query) {-                  return new Query(g(v.value0));-              };-              throw new Error("Failed pattern match at Halogen.Query.InputF line 21, column 15 - line 23, column 27: " + [ v.constructor.name ]);-          };-      };-  });-  var functorInputF = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorInputF));-  exports["RefUpdate"] = RefUpdate;-  exports["Query"] = Query;-  exports["bifunctorInputF"] = bifunctorInputF;-  exports["functorInputF"] = functorInputF;-})(PS["Halogen.Query.InputF"] = PS["Halogen.Query.InputF"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Effect = PS["Effect"];-  var Effect_Uncurried = PS["Effect.Uncurried"];-  var Prelude = PS["Prelude"];                 -  var Step = (function () {-      function Step(value0, value1, value2) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-      };-      Step.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return new Step(value0, value1, value2);-              };-          };-      };-      return Step;-  })();-  var step = function (v) {-      return v.value1;-  };-  var halt = function (v) {-      return v.value2;-  };-  var extract = function (v) {-      return v.value0;-  };-  exports["Step"] = Step;-  exports["extract"] = extract;-  exports["step"] = step;-  exports["halt"] = halt;-})(PS["Halogen.VDom.Machine"] = PS["Halogen.VDom.Machine"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Category = PS["Control.Category"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Tuple = PS["Data.Tuple"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var ElemSpec = (function () {-      function ElemSpec(value0, value1, value2) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-      };-      ElemSpec.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return new ElemSpec(value0, value1, value2);-              };-          };-      };-      return ElemSpec;-  })();-  var Text = (function () {-      function Text(value0) {-          this.value0 = value0;-      };-      Text.create = function (value0) {-          return new Text(value0);-      };-      return Text;-  })();-  var Elem = (function () {-      function Elem(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Elem.create = function (value0) {-          return function (value1) {-              return new Elem(value0, value1);-          };-      };-      return Elem;-  })();-  var Keyed = (function () {-      function Keyed(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Keyed.create = function (value0) {-          return function (value1) {-              return new Keyed(value0, value1);-          };-      };-      return Keyed;-  })();-  var Widget = (function () {-      function Widget(value0) {-          this.value0 = value0;-      };-      Widget.create = function (value0) {-          return new Widget(value0);-      };-      return Widget;-  })();-  var Grafted = (function () {-      function Grafted(value0) {-          this.value0 = value0;-      };-      Grafted.create = function (value0) {-          return new Grafted(value0);-      };-      return Grafted;-  })();-  var Graft = (function () {-      function Graft(value0, value1, value2) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-      };-      Graft.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return new Graft(value0, value1, value2);-              };-          };-      };-      return Graft;-  })();-  var unGraft = function (f) {-      return function ($90) {-          return f($90);-      };-  };           -  var graft = Unsafe_Coerce.unsafeCoerce;-  var functorElemSpec = new Data_Functor.Functor(function (f) {-      return function (m) {-          return new ElemSpec(m.value0, m.value1, f(m.value2));-      };-  });-  var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {-      return function (g) {-          return unGraft(function (v) {-              return graft(new Graft(function ($92) {-                  return f(v.value0($92));-              }, function ($93) {-                  return g(v.value1($93));-              }, v.value2));-          });-      };-  });-  var bifunctorVDom = new Data_Bifunctor.Bifunctor(function (f) {-      return function (g) {-          return function (v) {-              if (v instanceof Text) {-                  return new Text(v.value0);-              };-              if (v instanceof Grafted) {-                  return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(f)(g)(v.value0));-              };-              return new Grafted(graft(new Graft(f, g, v)));-          };-      };-  });-  var runGraft = unGraft(function (v) {-      var go = function (v2) {-          if (v2 instanceof Text) {-              return new Text(v2.value0);-          };-          if (v2 instanceof Elem) {-              return new Elem(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value1));-          };-          if (v2 instanceof Keyed) {-              return new Keyed(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value1));-          };-          if (v2 instanceof Widget) {-              return new Widget(v.value1(v2.value0));-          };-          if (v2 instanceof Grafted) {-              return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));-          };-          throw new Error("Failed pattern match at Halogen.VDom.Types line 74, column 7 - line 74, column 27: " + [ v2.constructor.name ]);-      };-      return go(v.value2);-  });-  exports["Text"] = Text;-  exports["Elem"] = Elem;-  exports["Keyed"] = Keyed;-  exports["Widget"] = Widget;-  exports["Grafted"] = Grafted;-  exports["Graft"] = Graft;-  exports["graft"] = graft;-  exports["unGraft"] = unGraft;-  exports["runGraft"] = runGraft;-  exports["ElemSpec"] = ElemSpec;-  exports["bifunctorVDom"] = bifunctorVDom;-  exports["bifunctorGraft"] = bifunctorGraft;-  exports["functorElemSpec"] = functorElemSpec;-})(PS["Halogen.VDom.Types"] = PS["Halogen.VDom.Types"] || {});-(function(exports) {-    "use strict";--  exports.unsafeGetAny = function (key, obj) {-    return obj[key];-  };--  exports.unsafeHasAny = function (key, obj) {-    return obj.hasOwnProperty(key);-  };--  exports.unsafeSetAny = function (key, val, obj) {-      obj[key] = val;-  };--  exports.forE = function (a, f) {-      var b = [];-      for (var i = 0; i < a.length; i++) {-        b.push(f(i, a[i]));-      }-      return b;-  };--  exports.forInE = function (o, f) {-    var ks = Object.keys(o);-    for (var i = 0; i < ks.length; i++) {-      var k = ks[i];-      f(k, o[k]);-    }-  };--  exports.diffWithIxE = function (a1, a2, f1, f2, f3) {-    var a3 = [];-    var l1 = a1.length;-    var l2 = a2.length;-    var i  = 0;-    while (1) {-      if (i < l1) {-        if (i < l2) {-          a3.push(f1(i, a1[i], a2[i]));-        } else {-          f2(i, a1[i]);-        }-      } else if (i < l2) {-        a3.push(f3(i, a2[i]));-      } else {-        break;-      }-      i++;-    }-    return a3;-  };--  exports.strMapWithIxE = function (as, fk, f) {-    var o = {};-    for (var i = 0; i < as.length; i++) {-      var a = as[i];-      var k = fk(a);-      o[k] = f(k, i, a);-    }-    return o;-  };--  exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {-    var o2 = {};-    for (var i = 0; i < as.length; i++) {-      var a = as[i];-      var k = fk(a);-      if (o1.hasOwnProperty(k)) {-        o2[k] = f1(k, i, o1[k], a);-      } else {-        o2[k] = f3(k, i, a);-      }-    }-    for (var k in o1) {-      if (k in o2) {-        continue;-      }-      f2(k, o1[k]);-    }-    return o2;-  };--  exports.refEq = function (a, b) {-    return a === b;-  };--  exports.createTextNode = function (s, doc) {-    return doc.createTextNode(s);-  };--  exports.setTextContent = function (s, n) {-    n.textContent = s;-  };--  exports.createElement = function (ns, name, doc) {-    if (ns != null) {-      return doc.createElementNS(ns, name);-    } else {-      return doc.createElement(name)-    }-  };--  exports.insertChildIx = function (i, a, b) {-    var n = b.childNodes.item(i) || null;-    if (n !== a) {-      b.insertBefore(a, n);-    }-  };--  exports.removeChild = function (a, b) {-    if (b && a.parentNode === b) {-      b.removeChild(a);-    }-  };--  exports.parentNode = function (a) {-    return a.parentNode;-  };--  exports.setAttribute = function (ns, attr, val, el) {-    if (ns != null) {-      el.setAttributeNS(ns, attr, val);-    } else {-      el.setAttribute(attr, val);-    }-  };--  exports.removeAttribute = function (ns, attr, el) {-    if (ns != null) {-      el.removeAttributeNS(ns, attr);-    } else {-      el.removeAttribute(attr);-    }-  };--  exports.addEventListener = function (ev, listener, el) {-    el.addEventListener(ev, listener, false);-  };--  exports.removeEventListener = function (ev, listener, el) {-    el.removeEventListener(ev, listener, false);-  };--  exports.jsUndefined = void 0;-})(PS["Halogen.VDom.Util"] = PS["Halogen.VDom.Util"] || {});-(function(exports) {-    "use strict";--  var getEffProp = function (name) {-    return function (node) {-      return function () {-        return node[name];-      };-    };-  };                                                   --  exports._parentNode = getEffProp("parentNode");          --  exports._nextSibling = getEffProp("nextSibling");--  exports.insertBefore = function (node1) {-    return function (node2) {-      return function (parent) {-        return function () {-          return parent.insertBefore(node1, node2);-        };-      };-    };-  };--  exports.appendChild = function (node) {-    return function (parent) {-      return function () {-        return parent.appendChild(node);-      };-    };-  };--  exports.removeChild = function (node) {-    return function (parent) {-      return function () {-        return parent.removeChild(node);-      };-    };-  };-})(PS["Web.DOM.Node"] = PS["Web.DOM.Node"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Web.DOM.Node"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Enum = PS["Data.Enum"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Nullable = PS["Data.Nullable"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_DOM_Document = PS["Web.DOM.Document"];-  var Web_DOM_Element = PS["Web.DOM.Element"];-  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];-  var Web_DOM_NodeType = PS["Web.DOM.NodeType"];-  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];-  var Web_Internal_FFI = PS["Web.Internal.FFI"];-  var parentNode = function ($2) {-      return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._parentNode($2));-  };-  var nextSibling = function ($6) {-      return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._nextSibling($6));-  };-  exports["parentNode"] = parentNode;-  exports["nextSibling"] = nextSibling;-  exports["insertBefore"] = $foreign.insertBefore;-  exports["appendChild"] = $foreign.appendChild;-  exports["removeChild"] = $foreign.removeChild;-})(PS["Web.DOM.Node"] = PS["Web.DOM.Node"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Halogen.VDom.Util"];-  var Control_Applicative = PS["Control.Applicative"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Nullable = PS["Data.Nullable"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  var Effect_Uncurried = PS["Effect.Uncurried"];-  var Foreign_Object = PS["Foreign.Object"];-  var Foreign_Object_ST = PS["Foreign.Object.ST"];-  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_DOM_Document = PS["Web.DOM.Document"];-  var Web_DOM_Element = PS["Web.DOM.Element"];-  var Web_DOM_Node = PS["Web.DOM.Node"];-  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];                 -  var unsafeLookup = $foreign.unsafeGetAny;-  var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;-  var pokeMutMap = $foreign.unsafeSetAny;-  var newMutMap = Foreign_Object_ST["new"];-  var effectUnit = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);-  exports["effectUnit"] = effectUnit;-  exports["newMutMap"] = newMutMap;-  exports["pokeMutMap"] = pokeMutMap;-  exports["unsafeFreeze"] = unsafeFreeze;-  exports["unsafeLookup"] = unsafeLookup;-  exports["unsafeGetAny"] = $foreign.unsafeGetAny;-  exports["unsafeHasAny"] = $foreign.unsafeHasAny;-  exports["unsafeSetAny"] = $foreign.unsafeSetAny;-  exports["forE"] = $foreign.forE;-  exports["forInE"] = $foreign.forInE;-  exports["diffWithIxE"] = $foreign.diffWithIxE;-  exports["diffWithKeyAndIxE"] = $foreign.diffWithKeyAndIxE;-  exports["strMapWithIxE"] = $foreign.strMapWithIxE;-  exports["refEq"] = $foreign.refEq;-  exports["createTextNode"] = $foreign.createTextNode;-  exports["setTextContent"] = $foreign.setTextContent;-  exports["createElement"] = $foreign.createElement;-  exports["insertChildIx"] = $foreign.insertChildIx;-  exports["removeChild"] = $foreign.removeChild;-  exports["parentNode"] = $foreign.parentNode;-  exports["setAttribute"] = $foreign.setAttribute;-  exports["removeAttribute"] = $foreign.removeAttribute;-  exports["addEventListener"] = $foreign.addEventListener;-  exports["removeEventListener"] = $foreign.removeEventListener;-  exports["jsUndefined"] = $foreign.jsUndefined;-})(PS["Halogen.VDom.Util"] = PS["Halogen.VDom.Util"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Nullable = PS["Data.Nullable"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  var Effect_Ref = PS["Effect.Ref"];-  var Effect_Uncurried = PS["Effect.Uncurried"];-  var Foreign = PS["Foreign"];-  var Foreign_Object = PS["Foreign.Object"];-  var Halogen_VDom = PS["Halogen.VDom"];-  var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"];-  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];-  var Halogen_VDom_Util = PS["Halogen.VDom.Util"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_DOM_Element = PS["Web.DOM.Element"];-  var Web_Event_Event = PS["Web.Event.Event"];-  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];                 -  var Created = (function () {-      function Created(value0) {-          this.value0 = value0;-      };-      Created.create = function (value0) {-          return new Created(value0);-      };-      return Created;-  })();-  var Removed = (function () {-      function Removed(value0) {-          this.value0 = value0;-      };-      Removed.create = function (value0) {-          return new Removed(value0);-      };-      return Removed;-  })();-  var Attribute = (function () {-      function Attribute(value0, value1, value2) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-      };-      Attribute.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return new Attribute(value0, value1, value2);-              };-          };-      };-      return Attribute;-  })();-  var Property = (function () {-      function Property(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Property.create = function (value0) {-          return function (value1) {-              return new Property(value0, value1);-          };-      };-      return Property;-  })();-  var Handler = (function () {-      function Handler(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Handler.create = function (value0) {-          return function (value1) {-              return new Handler(value0, value1);-          };-      };-      return Handler;-  })();-  var Ref = (function () {-      function Ref(value0) {-          this.value0 = value0;-      };-      Ref.create = function (value0) {-          return new Ref(value0);-      };-      return Ref;-  })();-  var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;-  var setProperty = Halogen_VDom_Util.unsafeSetAny;-  var removeProperty = function (key, el) {-      var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));-      if (v === "string") {-          return Halogen_VDom_Util.unsafeSetAny(key, "", el);-      };-      if (key === "rowSpan") {-          return Halogen_VDom_Util.unsafeSetAny(key, 1, el);-      };-      if (key === "colSpan") {-          return Halogen_VDom_Util.unsafeSetAny(key, 1, el);-      };-      return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);-  };-  var propToStrKey = function (v) {-      if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {-          return "attr/" + (v.value0.value0 + (":" + v.value1));-      };-      if (v instanceof Attribute) {-          return "attr/:" + v.value1;-      };-      if (v instanceof Property) {-          return "prop/" + v.value0;-      };-      if (v instanceof Handler) {-          return "handler/" + v.value0;-      };-      if (v instanceof Ref) {-          return "ref";-      };-      throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 178, column 16 - line 185, column 1: " + [ v.constructor.name ]);-  };-  var propFromString = Unsafe_Coerce.unsafeCoerce;-  var propFromInt = Unsafe_Coerce.unsafeCoerce;-  var propFromBoolean = Unsafe_Coerce.unsafeCoerce;-  var functorProp = new Data_Functor.Functor(function (f) {-      return function (v) {-          if (v instanceof Handler) {-              return new Handler(v.value0, Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value1));-          };-          if (v instanceof Ref) {-              return new Ref(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value0));-          };-          return v;-      };-  });-  var buildProp = function (emit) {-      return function (el) {-          var removeProp = function (prevEvents) {-              return function (v, v1) {-                  if (v1 instanceof Attribute) {-                      return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);-                  };-                  if (v1 instanceof Property) {-                      return removeProperty(v1.value0, el);-                  };-                  if (v1 instanceof Handler) {-                      var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);-                      return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);-                  };-                  if (v1 instanceof Ref) {-                      return Data_Unit.unit;-                  };-                  throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 165, column 5 - line 175, column 18: " + [ v1.constructor.name ]);-              };-          };-          var mbEmit = function (v) {-              if (v instanceof Data_Maybe.Just) {-                  return emit(v.value0)();-              };-              return Data_Unit.unit;-          };-          var done = function (ps) {-              var v = Foreign_Object.lookup("ref")(ps);-              if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {-                  return function () {-                      return mbEmit(v.value0.value0(new Removed(el)));-                  };-              };-              return Halogen_VDom_Util.effectUnit;-          };-          var diffProp = function (prevEvents, events) {-              return function (v, v1, v11, v2) {-                  if (v11 instanceof Attribute && v2 instanceof Attribute) {-                      var $61 = v11.value2 === v2.value2;-                      if ($61) {-                          return v2;-                      };-                      Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);-                      return v2;-                  };-                  if (v11 instanceof Property && v2 instanceof Property) {-                      var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);-                      if (v4) {-                          return v2;-                      };-                      if (v2.value0 === "value") {-                          var elVal = unsafeGetProperty("value", el);-                          var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);-                          if ($70) {-                              return v2;-                          };-                          setProperty(v2.value0, v2.value1, el);-                          return v2;-                      };-                      setProperty(v2.value0, v2.value1, el);-                      return v2;-                  };-                  if (v11 instanceof Handler && v2 instanceof Handler) {-                      var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);-                      Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();-                      Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);-                      return v2;-                  };-                  return v2;-              };-          };-          var applyProp = function (events) {-              return function (v, v1, v2) {-                  if (v2 instanceof Attribute) {-                      Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);-                      return v2;-                  };-                  if (v2 instanceof Property) {-                      setProperty(v2.value0, v2.value1, el);-                      return v2;-                  };-                  if (v2 instanceof Handler) {-                      var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);-                      if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {-                          Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();-                          return v2;-                      };-                      var v4 = Effect_Ref["new"](v2.value1)();-                      var v5 = Web_Event_EventTarget.eventListener(function (ev) {-                          return function __do() {-                              var v5 = Effect_Ref.read(v4)();-                              return mbEmit(v5(ev));-                          };-                      })();-                      Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);-                      Halogen_VDom_Util.addEventListener(v2.value0, v5, el);-                      return v2;-                  };-                  if (v2 instanceof Ref) {-                      mbEmit(v2.value0(new Created(el)));-                      return v2;-                  };-                  throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 109, column 5 - line 131, column 15: " + [ v2.constructor.name ]);-              };-          };-          var patch = function (prevEvents, ps1) {-              return function (ps2) {-                  var v = Halogen_VDom_Util.newMutMap();-                  var onThis = removeProp(prevEvents);-                  var onThese = diffProp(prevEvents, v);-                  var onThat = applyProp(v);-                  var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(ps1, ps2, propToStrKey, onThese, onThis, onThat);-                  return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));-              };-          };-          var render = function (ps1) {-              var v = Halogen_VDom_Util.newMutMap();-              var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));-              return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));-          };-          return render;-      };-  };-  exports["Attribute"] = Attribute;-  exports["Property"] = Property;-  exports["Handler"] = Handler;-  exports["Ref"] = Ref;-  exports["Created"] = Created;-  exports["Removed"] = Removed;-  exports["propFromString"] = propFromString;-  exports["propFromBoolean"] = propFromBoolean;-  exports["propFromInt"] = propFromInt;-  exports["buildProp"] = buildProp;-  exports["functorProp"] = functorProp;-})(PS["Halogen.VDom.DOM.Prop"] = PS["Halogen.VDom.DOM.Prop"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];-  var DOM_HTML_Indexed_CrossOriginValue = PS["DOM.HTML.Indexed.CrossOriginValue"];-  var DOM_HTML_Indexed_DirValue = PS["DOM.HTML.Indexed.DirValue"];-  var DOM_HTML_Indexed_FormMethod = PS["DOM.HTML.Indexed.FormMethod"];-  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];-  var DOM_HTML_Indexed_KindValue = PS["DOM.HTML.Indexed.KindValue"];-  var DOM_HTML_Indexed_MenuType = PS["DOM.HTML.Indexed.MenuType"];-  var DOM_HTML_Indexed_MenuitemType = PS["DOM.HTML.Indexed.MenuitemType"];-  var DOM_HTML_Indexed_OnOff = PS["DOM.HTML.Indexed.OnOff"];-  var DOM_HTML_Indexed_OrderedListType = PS["DOM.HTML.Indexed.OrderedListType"];-  var DOM_HTML_Indexed_PreloadValue = PS["DOM.HTML.Indexed.PreloadValue"];-  var DOM_HTML_Indexed_ScopeValue = PS["DOM.HTML.Indexed.ScopeValue"];-  var DOM_HTML_Indexed_StepValue = PS["DOM.HTML.Indexed.StepValue"];-  var DOM_HTML_Indexed_WrapValue = PS["DOM.HTML.Indexed.WrapValue"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_MediaType = PS["Data.MediaType"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Tuple = PS["Data.Tuple"];-  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];-  var Halogen_VDom = PS["Halogen.VDom"];-  var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"];-  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_DOM_Element = PS["Web.DOM.Element"];-  var Web_Event_Event = PS["Web.Event.Event"];-  var HTML = function (x) {-      return x;-  };-  var ClassName = function (x) {-      return x;-  };-  var IsProp = function (toPropValue) {-      this.toPropValue = toPropValue;-  }; -  var toPropValue = function (dict) {-      return dict.toPropValue;-  };-  var text = function ($27) {-      return HTML(Halogen_VDom_Types.Text.create($27));-  };-  var stringIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromString);-  var slot = function ($29) {-      return HTML(Halogen_VDom_Types.Widget.create($29));-  };-  var prop = function (dictIsProp) {-      return function (v) {-          return function ($32) {-              return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($32));-          };-      };-  };                                   -  var onOffIsProp = new IsProp(function ($35) {-      return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));-  });      -  var newtypeClassName = new Data_Newtype.Newtype(function (n) {-      return n;-  }, ClassName);-  var intIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);-  var inputTypeIsProp = new IsProp(function ($40) {-      return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));-  });-  var handler = Halogen_VDom_DOM_Prop.Handler.create;-  var element = function (ns) {-      return function (name) {-          return function (props) {-              return function (children) {-                  return new Halogen_VDom_Types.Elem(new Halogen_VDom_Types.ElemSpec(ns, name, props), children);-              };-          };-      };-  }; -  var buttonTypeIsProp = new IsProp(function ($44) {-      return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($44));-  });-  var booleanIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);-  var bifunctorHTML = new Data_Bifunctor.Bifunctor(function (f) {-      return function (g) {-          return function (v) {-              return Data_Bifunctor.bimap(Halogen_VDom_Types.bifunctorVDom)(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_InputF.functorInputF)(g))))(f)(v);-          };-      };-  });                                                                            -  var attr = function (ns) {-      return function (v) {-          return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);-      };-  };-  exports["HTML"] = HTML;-  exports["slot"] = slot;-  exports["text"] = text;-  exports["element"] = element;-  exports["prop"] = prop;-  exports["attr"] = attr;-  exports["handler"] = handler;-  exports["IsProp"] = IsProp;-  exports["toPropValue"] = toPropValue;-  exports["ClassName"] = ClassName;-  exports["bifunctorHTML"] = bifunctorHTML;-  exports["stringIsProp"] = stringIsProp;-  exports["intIsProp"] = intIsProp;-  exports["booleanIsProp"] = booleanIsProp;-  exports["buttonTypeIsProp"] = buttonTypeIsProp;-  exports["inputTypeIsProp"] = inputTypeIsProp;-  exports["onOffIsProp"] = onOffIsProp;-  exports["newtypeClassName"] = newtypeClassName;-})(PS["Halogen.HTML.Core"] = PS["Halogen.HTML.Core"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Category = PS["Control.Category"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Const = PS["Data.Const"];-  var Data_Either = PS["Data.Either"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_List = PS["Data.List"];-  var Data_List_NonEmpty = PS["Data.List.NonEmpty"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_NonEmpty = PS["Data.NonEmpty"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Tuple = PS["Data.Tuple"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 -  var Pure = (function () {-      function Pure(value0) {-          this.value0 = value0;-      };-      Pure.create = function (value0) {-          return new Pure(value0);-      };-      return Pure;-  })();-  var Lift = (function () {-      function Lift(value0) {-          this.value0 = value0;-      };-      Lift.create = function (value0) {-          return new Lift(value0);-      };-      return Lift;-  })();-  var Ap = (function () {-      function Ap(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Ap.create = function (value0) {-          return function (value1) {-              return new Ap(value0, value1);-          };-      };-      return Ap;-  })();-  var mkAp = function (fba) {-      return function (fb) {-          return new Ap(fba, fb);-      };-  };-  var liftFreeAp = Lift.create;-  var goLeft = function ($copy_dictApplicative) {-      return function ($copy_fStack) {-          return function ($copy_valStack) {-              return function ($copy_nat) {-                  return function ($copy_func) {-                      return function ($copy_count) {-                          var $tco_var_dictApplicative = $copy_dictApplicative;-                          var $tco_var_fStack = $copy_fStack;-                          var $tco_var_valStack = $copy_valStack;-                          var $tco_var_nat = $copy_nat;-                          var $tco_var_func = $copy_func;-                          var $tco_done = false;-                          var $tco_result;-                          function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {-                              if (func instanceof Pure) {-                                  $tco_done = true;-                                  return new Data_Tuple.Tuple(new Data_List_Types.Cons({-                                      func: Control_Applicative.pure(dictApplicative)(func.value0),-                                      count: count-                                  }, fStack), valStack);-                              };-                              if (func instanceof Lift) {-                                  $tco_done = true;-                                  return new Data_Tuple.Tuple(new Data_List_Types.Cons({-                                      func: nat(func.value0),-                                      count: count-                                  }, fStack), valStack);-                              };-                              if (func instanceof Ap) {-                                  $tco_var_dictApplicative = dictApplicative;-                                  $tco_var_fStack = fStack;-                                  $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);-                                  $tco_var_nat = nat;-                                  $tco_var_func = func.value0;-                                  $copy_count = count + 1 | 0;-                                  return;-                              };-                              throw new Error("Failed pattern match at Control.Applicative.Free line 102, column 41 - line 105, column 81: " + [ func.constructor.name ]);-                          };-                          while (!$tco_done) {-                              $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);-                          };-                          return $tco_result;-                      };-                  };-              };-          };-      };-  };-  var goApply = function ($copy_dictApplicative) {-      return function ($copy_fStack) {-          return function ($copy_vals) {-              return function ($copy_gVal) {-                  var $tco_var_dictApplicative = $copy_dictApplicative;-                  var $tco_var_fStack = $copy_fStack;-                  var $tco_var_vals = $copy_vals;-                  var $tco_done = false;-                  var $tco_result;-                  function $tco_loop(dictApplicative, fStack, vals, gVal) {-                      if (fStack instanceof Data_List_Types.Nil) {-                          $tco_done = true;-                          return new Data_Either.Left(gVal);-                      };-                      if (fStack instanceof Data_List_Types.Cons) {-                          var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);-                          var $14 = fStack.value0.count === 1;-                          if ($14) {-                              if (fStack.value1 instanceof Data_List_Types.Nil) {-                                  $tco_done = true;-                                  return new Data_Either.Left(gRes);-                              };-                              $tco_var_dictApplicative = dictApplicative;-                              $tco_var_fStack = fStack.value1;-                              $tco_var_vals = vals;-                              $copy_gVal = gRes;-                              return;-                          };-                          if (vals instanceof Data_List_Types.Nil) {-                              $tco_done = true;-                              return new Data_Either.Left(gRes);-                          };-                          if (vals instanceof Data_List_Types.Cons) {-                              $tco_done = true;-                              return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({-                                  func: gRes,-                                  count: fStack.value0.count - 1 | 0-                              }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));-                          };-                          throw new Error("Failed pattern match at Control.Applicative.Free line 83, column 11 - line 88, column 50: " + [ vals.constructor.name ]);-                      };-                      throw new Error("Failed pattern match at Control.Applicative.Free line 72, column 3 - line 88, column 50: " + [ fStack.constructor.name ]);-                  };-                  while (!$tco_done) {-                      $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);-                  };-                  return $tco_result;-              };-          };-      };-  };-  var functorFreeAp = new Data_Functor.Functor(function (f) {-      return function (x) {-          return mkAp(new Pure(f))(x);-      };-  });-  var foldFreeAp = function (dictApplicative) {-      return function (nat) {-          return function (z) {-              var go = function ($copy_v) {-                  var $tco_done = false;-                  var $tco_result;-                  function $tco_loop(v) {-                      if (v.value1.value0 instanceof Pure) {-                          var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));-                          if (v1 instanceof Data_Either.Left) {-                              $tco_done = true;-                              return v1.value0;-                          };-                          if (v1 instanceof Data_Either.Right) {-                              $copy_v = v1.value0;-                              return;-                          };-                          throw new Error("Failed pattern match at Control.Applicative.Free line 54, column 17 - line 56, column 24: " + [ v1.constructor.name ]);-                      };-                      if (v.value1.value0 instanceof Lift) {-                          var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));-                          if (v1 instanceof Data_Either.Left) {-                              $tco_done = true;-                              return v1.value0;-                          };-                          if (v1 instanceof Data_Either.Right) {-                              $copy_v = v1.value0;-                              return;-                          };-                          throw new Error("Failed pattern match at Control.Applicative.Free line 57, column 17 - line 59, column 24: " + [ v1.constructor.name ]);-                      };-                      if (v.value1.value0 instanceof Ap) {-                          var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);-                          $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);-                          return;-                      };-                      throw new Error("Failed pattern match at Control.Applicative.Free line 53, column 5 - line 64, column 1: " + [ v.value1.value0.constructor.name ]);-                  };-                  while (!$tco_done) {-                      $tco_result = $tco_loop($copy_v);-                  };-                  return $tco_result;-              };-              return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));-          };-      };-  };-  var retractFreeAp = function (dictApplicative) {-      return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));-  };-  var applyFreeAp = new Control_Apply.Apply(function () {-      return functorFreeAp;-  }, function (fba) {-      return function (fb) {-          return mkAp(fba)(fb);-      };-  });-  var applicativeFreeAp = new Control_Applicative.Applicative(function () {-      return applyFreeAp;-  }, Pure.create);-  var hoistFreeAp = function (f) {-      return foldFreeAp(applicativeFreeAp)(function ($37) {-          return liftFreeAp(f($37));-      });-  };-  exports["liftFreeAp"] = liftFreeAp;-  exports["retractFreeAp"] = retractFreeAp;-  exports["foldFreeAp"] = foldFreeAp;-  exports["hoistFreeAp"] = hoistFreeAp;-  exports["functorFreeAp"] = functorFreeAp;-  exports["applyFreeAp"] = applyFreeAp;-  exports["applicativeFreeAp"] = applicativeFreeAp;-})(PS["Control.Applicative.Free"] = PS["Control.Applicative.Free"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alt = PS["Control.Alt"];-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad = PS["Control.Monad"];-  var Control_MonadPlus = PS["Control.MonadPlus"];-  var Control_MonadZero = PS["Control.MonadZero"];-  var Control_Plus = PS["Control.Plus"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_List = PS["Data.List"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Show = PS["Data.Show"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Data_Unfoldable1 = PS["Data.Unfoldable1"];-  var Prelude = PS["Prelude"];                 -  var CatQueue = (function () {-      function CatQueue(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      CatQueue.create = function (value0) {-          return function (value1) {-              return new CatQueue(value0, value1);-          };-      };-      return CatQueue;-  })();-  var uncons = function ($copy_v) {-      var $tco_done = false;-      var $tco_result;-      function $tco_loop(v) {-          if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {-              $tco_done = true;-              return Data_Maybe.Nothing.value;-          };-          if (v.value0 instanceof Data_List_Types.Nil) {-              $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);-              return;-          };-          if (v.value0 instanceof Data_List_Types.Cons) {-              $tco_done = true;-              return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));-          };-          throw new Error("Failed pattern match at Data.CatQueue line 83, column 1 - line 83, column 63: " + [ v.constructor.name ]);-      };-      while (!$tco_done) {-          $tco_result = $tco_loop($copy_v);-      };-      return $tco_result;-  };-  var snoc = function (v) {-      return function (a) {-          return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));-      };-  };-  var $$null = function (v) {-      if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {-          return true;-      };-      return false;-  };                                                                                                -  var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);-  exports["CatQueue"] = CatQueue;-  exports["empty"] = empty;-  exports["null"] = $$null;-  exports["snoc"] = snoc;-  exports["uncons"] = uncons;-})(PS["Data.CatQueue"] = PS["Data.CatQueue"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alt = PS["Control.Alt"];-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad = PS["Control.Monad"];-  var Control_MonadPlus = PS["Control.MonadPlus"];-  var Control_MonadZero = PS["Control.MonadZero"];-  var Control_Plus = PS["Control.Plus"];-  var Data_CatQueue = PS["Data.CatQueue"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_List = PS["Data.List"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Show = PS["Data.Show"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Data_Unfoldable1 = PS["Data.Unfoldable1"];-  var Prelude = PS["Prelude"];                 -  var CatNil = (function () {-      function CatNil() {--      };-      CatNil.value = new CatNil();-      return CatNil;-  })();-  var CatCons = (function () {-      function CatCons(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      CatCons.create = function (value0) {-          return function (value1) {-              return new CatCons(value0, value1);-          };-      };-      return CatCons;-  })();-  var link = function (v) {-      return function (cat) {-          if (v instanceof CatNil) {-              return cat;-          };-          if (v instanceof CatCons) {-              return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(cat));-          };-          throw new Error("Failed pattern match at Data.CatList line 111, column 1 - line 111, column 54: " + [ v.constructor.name, cat.constructor.name ]);-      };-  };-  var foldr = function (k) {-      return function (b) {-          return function (q) {-              var foldl = function ($copy_v) {-                  return function ($copy_c) {-                      return function ($copy_v1) {-                          var $tco_var_v = $copy_v;-                          var $tco_var_c = $copy_c;-                          var $tco_done = false;-                          var $tco_result;-                          function $tco_loop(v, c, v1) {-                              if (v1 instanceof Data_List_Types.Nil) {-                                  $tco_done = true;-                                  return c;-                              };-                              if (v1 instanceof Data_List_Types.Cons) {-                                  $tco_var_v = v;-                                  $tco_var_c = v(c)(v1.value0);-                                  $copy_v1 = v1.value1;-                                  return;-                              };-                              throw new Error("Failed pattern match at Data.CatList line 126, column 3 - line 126, column 59: " + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);-                          };-                          while (!$tco_done) {-                              $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);-                          };-                          return $tco_result;-                      };-                  };-              };-              var go = function ($copy_xs) {-                  return function ($copy_ys) {-                      var $tco_var_xs = $copy_xs;-                      var $tco_done = false;-                      var $tco_result;-                      function $tco_loop(xs, ys) {-                          var v = Data_CatQueue.uncons(xs);-                          if (v instanceof Data_Maybe.Nothing) {-                              $tco_done = true;-                              return foldl(function (x) {-                                  return function (i) {-                                      return i(x);-                                  };-                              })(b)(ys);-                          };-                          if (v instanceof Data_Maybe.Just) {-                              $tco_var_xs = v.value0.value1;-                              $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);-                              return;-                          };-                          throw new Error("Failed pattern match at Data.CatList line 122, column 14 - line 124, column 67: " + [ v.constructor.name ]);-                      };-                      while (!$tco_done) {-                          $tco_result = $tco_loop($tco_var_xs, $copy_ys);-                      };-                      return $tco_result;-                  };-              };-              return go(q)(Data_List_Types.Nil.value);-          };-      };-  };-  var uncons = function (v) {-      if (v instanceof CatNil) {-          return Data_Maybe.Nothing.value;-      };-      if (v instanceof CatCons) {-          return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {-              var $45 = Data_CatQueue["null"](v.value1);-              if ($45) {-                  return CatNil.value;-              };-              return foldr(link)(CatNil.value)(v.value1);-          })()));-      };-      throw new Error("Failed pattern match at Data.CatList line 102, column 1 - line 102, column 61: " + [ v.constructor.name ]);-  };-  var empty = CatNil.value;-  var append = function (v) {-      return function (v1) {-          if (v1 instanceof CatNil) {-              return v;-          };-          if (v instanceof CatNil) {-              return v1;-          };-          return link(v)(v1);-      };-  }; -  var semigroupCatList = new Data_Semigroup.Semigroup(append);-  var snoc = function (cat) {-      return function (a) {-          return append(cat)(new CatCons(a, Data_CatQueue.empty));-      };-  };-  exports["CatNil"] = CatNil;-  exports["CatCons"] = CatCons;-  exports["empty"] = empty;-  exports["append"] = append;-  exports["snoc"] = snoc;-  exports["uncons"] = uncons;-  exports["semigroupCatList"] = semigroupCatList;-})(PS["Data.CatList"] = PS["Data.CatList"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Monad = PS["Control.Monad"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_CatList = PS["Data.CatList"];-  var Data_Either = PS["Data.Either"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_Tuple = PS["Data.Tuple"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Free = (function () {-      function Free(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Free.create = function (value0) {-          return function (value1) {-              return new Free(value0, value1);-          };-      };-      return Free;-  })();-  var Return = (function () {-      function Return(value0) {-          this.value0 = value0;-      };-      Return.create = function (value0) {-          return new Return(value0);-      };-      return Return;-  })();-  var Bind = (function () {-      function Bind(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Bind.create = function (value0) {-          return function (value1) {-              return new Bind(value0, value1);-          };-      };-      return Bind;-  })();-  var toView = function ($copy_v) {-      var $tco_done = false;-      var $tco_result;-      function $tco_loop(v) {-          var runExpF = function (v2) {-              return v2;-          };-          var concatF = function (v2) {-              return function (r) {-                  return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));-              };-          };-          if (v.value0 instanceof Return) {-              var v2 = Data_CatList.uncons(v.value1);-              if (v2 instanceof Data_Maybe.Nothing) {-                  $tco_done = true;-                  return new Return(v.value0.value0);-              };-              if (v2 instanceof Data_Maybe.Just) {-                  $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);-                  return;-              };-              throw new Error("Failed pattern match at Control.Monad.Free line 220, column 7 - line 224, column 64: " + [ v2.constructor.name ]);-          };-          if (v.value0 instanceof Bind) {-              $tco_done = true;-              return new Bind(v.value0.value0, function (a) {-                  return concatF(v.value0.value1(a))(v.value1);-              });-          };-          throw new Error("Failed pattern match at Control.Monad.Free line 218, column 3 - line 226, column 56: " + [ v.value0.constructor.name ]);-      };-      while (!$tco_done) {-          $tco_result = $tco_loop($copy_v);-      };-      return $tco_result;-  };-  var fromView = function (f) {-      return new Free(f, Data_CatList.empty);-  };-  var freeMonad = new Control_Monad.Monad(function () {-      return freeApplicative;-  }, function () {-      return freeBind;-  });-  var freeFunctor = new Data_Functor.Functor(function (k) {-      return function (f) {-          return Control_Bind.bindFlipped(freeBind)(function ($118) {-              return Control_Applicative.pure(freeApplicative)(k($118));-          })(f);-      };-  });-  var freeBind = new Control_Bind.Bind(function () {-      return freeApply;-  }, function (v) {-      return function (k) {-          return new Free(v.value0, Data_CatList.snoc(v.value1)(k));-      };-  });-  var freeApply = new Control_Apply.Apply(function () {-      return freeFunctor;-  }, Control_Monad.ap(freeMonad));-  var freeApplicative = new Control_Applicative.Applicative(function () {-      return freeApply;-  }, function ($119) {-      return fromView(Return.create($119));-  });-  var liftF = function (f) {-      return fromView(new Bind(f, function ($120) {-          return Control_Applicative.pure(freeApplicative)($120);-      }));-  };-  var foldFree = function (dictMonadRec) {-      return function (k) {-          var go = function (f) {-              var v = toView(f);-              if (v instanceof Return) {-                  return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));-              };-              if (v instanceof Bind) {-                  return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) {-                      return Control_Monad_Rec_Class.Loop.create(v.value1($127));-                  })(k(v.value0));-              };-              throw new Error("Failed pattern match at Control.Monad.Free line 151, column 10 - line 153, column 37: " + [ v.constructor.name ]);-          };-          return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);-      };-  };-  exports["liftF"] = liftF;-  exports["foldFree"] = foldFree;-  exports["freeFunctor"] = freeFunctor;-  exports["freeBind"] = freeBind;-  exports["freeApplicative"] = freeApplicative;-  exports["freeApply"] = freeApply;-  exports["freeMonad"] = freeMonad;-})(PS["Control.Monad.Free"] = PS["Control.Monad.Free"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 -  var runExists = Unsafe_Coerce.unsafeCoerce;-  var mkExists = Unsafe_Coerce.unsafeCoerce;-  exports["mkExists"] = mkExists;-  exports["runExists"] = runExists;-})(PS["Data.Exists"] = PS["Data.Exists"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Alt = PS["Control.Alt"];-  var Control_Alternative = PS["Control.Alternative"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Comonad = PS["Control.Comonad"];-  var Control_Extend = PS["Control.Extend"];-  var Control_Monad = PS["Control.Monad"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_MonadPlus = PS["Control.MonadPlus"];-  var Control_MonadZero = PS["Control.MonadZero"];-  var Control_Plus = PS["Control.Plus"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Distributive = PS["Data.Distributive"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Exists = PS["Data.Exists"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];-  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];-  var Data_Traversable = PS["Data.Traversable"];-  var Prelude = PS["Prelude"];-  var unCoyoneda = function (f) {-      return function (v) {-          return Data_Exists.runExists(function (v1) {-              return f(v1.value0)(v1.value1);-          })(v);-      };-  };-  exports["unCoyoneda"] = unCoyoneda;-})(PS["Data.Coyoneda"] = PS["Data.Coyoneda"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Monad = PS["Control.Monad"];-  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];-  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Either = PS["Data.Either"];-  var Data_Exists = PS["Data.Exists"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Unit = PS["Data.Unit"];-  var Effect_Class = PS["Effect.Class"];-  var Prelude = PS["Prelude"];                 -  var Bound = (function () {-      function Bound(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Bound.create = function (value0) {-          return function (value1) {-              return new Bound(value0, value1);-          };-      };-      return Bound;-  })();-  var FreeT = (function () {-      function FreeT(value0) {-          this.value0 = value0;-      };-      FreeT.create = function (value0) {-          return new FreeT(value0);-      };-      return FreeT;-  })();-  var Bind = (function () {-      function Bind(value0) {-          this.value0 = value0;-      };-      Bind.create = function (value0) {-          return new Bind(value0);-      };-      return Bind;-  })();-  var monadTransFreeT = function (dictFunctor) {-      return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {-          return function (ma) {-              return new FreeT(function (v) {-                  return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);-              });-          };-      });-  };-  var freeT = FreeT.create;-  var bound = function (m) {-      return function (f) {-          return new Bind(Data_Exists.mkExists(new Bound(m, f)));-      };-  };-  var functorFreeT = function (dictFunctor) {-      return function (dictFunctor1) {-          return new Data_Functor.Functor(function (f) {-              return function (v) {-                  if (v instanceof FreeT) {-                      return new FreeT(function (v1) {-                          return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));-                      });-                  };-                  if (v instanceof Bind) {-                      return Data_Exists.runExists(function (v1) {-                          return bound(v1.value0)(function ($104) {-                              return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));-                          });-                      })(v.value0);-                  };-                  throw new Error("Failed pattern match at Control.Monad.Free.Trans line 57, column 1 - line 57, column 71: " + [ f.constructor.name, v.constructor.name ]);-              };-          });-      };-  };-  var monadFreeT = function (dictFunctor) {-      return function (dictMonad) {-          return new Control_Monad.Monad(function () {-              return applicativeFreeT(dictFunctor)(dictMonad);-          }, function () {-              return bindFreeT(dictFunctor)(dictMonad);-          });-      };-  };-  var bindFreeT = function (dictFunctor) {-      return function (dictMonad) {-          return new Control_Bind.Bind(function () {-              return applyFreeT(dictFunctor)(dictMonad);-          }, function (v) {-              return function (f) {-                  if (v instanceof Bind) {-                      return Data_Exists.runExists(function (v1) {-                          return bound(v1.value0)(function (x) {-                              return bound(function (v2) {-                                  return v1.value1(x);-                              })(f);-                          });-                      })(v.value0);-                  };-                  return bound(function (v1) {-                      return v;-                  })(f);-              };-          });-      };-  };-  var applyFreeT = function (dictFunctor) {-      return function (dictMonad) {-          return new Control_Apply.Apply(function () {-              return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());-          }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));-      };-  };-  var applicativeFreeT = function (dictFunctor) {-      return function (dictMonad) {-          return new Control_Applicative.Applicative(function () {-              return applyFreeT(dictFunctor)(dictMonad);-          }, function (a) {-              return new FreeT(function (v) {-                  return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));-              });-          });-      };-  };-  var liftFreeT = function (dictFunctor) {-      return function (dictMonad) {-          return function (fa) {-              return new FreeT(function (v) {-                  return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));-              });-          };-      };-  };-  var resume = function (dictFunctor) {-      return function (dictMonadRec) {-          var go = function (v) {-              if (v instanceof FreeT) {-                  return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));-              };-              if (v instanceof Bind) {-                  return Data_Exists.runExists(function (v1) {-                      var v2 = v1.value0(Data_Unit.unit);-                      if (v2 instanceof FreeT) {-                          return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {-                              if (v3 instanceof Data_Either.Left) {-                                  return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));-                              };-                              if (v3 instanceof Data_Either.Right) {-                                  return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {-                                      return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);-                                  })(v3.value0))));-                              };-                              throw new Error("Failed pattern match at Control.Monad.Free.Trans line 52, column 20 - line 54, column 67: " + [ v3.constructor.name ]);-                          });-                      };-                      if (v2 instanceof Bind) {-                          return Data_Exists.runExists(function (v3) {-                              return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {-                                  return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);-                              })));-                          })(v2.value0);-                      };-                      throw new Error("Failed pattern match at Control.Monad.Free.Trans line 50, column 5 - line 55, column 98: " + [ v2.constructor.name ]);-                  })(v.value0);-              };-              throw new Error("Failed pattern match at Control.Monad.Free.Trans line 47, column 3 - line 47, column 75: " + [ v.constructor.name ]);-          };-          return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);-      };-  };-  var runFreeT = function (dictFunctor) {-      return function (dictMonadRec) {-          return function (interp) {-              var go = function (v) {-                  if (v instanceof Data_Either.Left) {-                      return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));-                  };-                  if (v instanceof Data_Either.Right) {-                      return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));-                  };-                  throw new Error("Failed pattern match at Control.Monad.Free.Trans line 126, column 3 - line 126, column 63: " + [ v.constructor.name ]);-              };-              return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));-          };-      };-  };-  var monadRecFreeT = function (dictFunctor) {-      return function (dictMonad) {-          return new Control_Monad_Rec_Class.MonadRec(function () {-              return monadFreeT(dictFunctor)(dictMonad);-          }, function (f) {-              var go = function (s) {-                  return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {-                      if (v instanceof Control_Monad_Rec_Class.Loop) {-                          return go(v.value0);-                      };-                      if (v instanceof Control_Monad_Rec_Class.Done) {-                          return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);-                      };-                      throw new Error("Failed pattern match at Control.Monad.Free.Trans line 80, column 15 - line 82, column 25: " + [ v.constructor.name ]);-                  });-              };-              return go;-          });-      };-  };-  exports["freeT"] = freeT;-  exports["liftFreeT"] = liftFreeT;-  exports["resume"] = resume;-  exports["runFreeT"] = runFreeT;-  exports["functorFreeT"] = functorFreeT;-  exports["applyFreeT"] = applyFreeT;-  exports["applicativeFreeT"] = applicativeFreeT;-  exports["bindFreeT"] = bindFreeT;-  exports["monadFreeT"] = monadFreeT;-  exports["monadTransFreeT"] = monadTransFreeT;-  exports["monadRecFreeT"] = monadRecFreeT;-})(PS["Control.Monad.Free.Trans"] = PS["Control.Monad.Free.Trans"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Category = PS["Control.Category"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Newtype = PS["Data.Newtype"];-  var Prelude = PS["Prelude"];                 -  var Profunctor = function (dimap) {-      this.dimap = dimap;-  };-  var profunctorFn = new Profunctor(function (a2b) {-      return function (c2d) {-          return function (b2c) {-              return function ($9) {-                  return c2d(b2c(a2b($9)));-              };-          };-      };-  });-  var dimap = function (dict) {-      return dict.dimap;-  };-  var rmap = function (dictProfunctor) {-      return function (b2c) {-          return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);-      };-  };-  exports["dimap"] = dimap;-  exports["Profunctor"] = Profunctor;-  exports["rmap"] = rmap;-  exports["profunctorFn"] = profunctorFn;-})(PS["Data.Profunctor"] = PS["Data.Profunctor"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Monad_Except = PS["Control.Monad.Except"];-  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];-  var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_Parallel = PS["Control.Parallel"];-  var Control_Parallel_Class = PS["Control.Parallel.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Either = PS["Data.Either"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Identity = PS["Data.Identity"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Profunctor = PS["Data.Profunctor"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unit = PS["Data.Unit"];-  var Prelude = PS["Prelude"];-  var Emit = (function () {-      function Emit(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Emit.create = function (value0) {-          return function (value1) {-              return new Emit(value0, value1);-          };-      };-      return Emit;-  })();-  var runProcess = function (dictMonadRec) {-      return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) {-          return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));-      });-  };-  var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {-      return function (g) {-          return function (v) {-              return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);-          };-      };-  });-  var loop = function (dictFunctor) {-      return function (dictMonad) {-          return function (me) {-              return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {-                  return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);-              })(Data_Unit.unit);-          };-      };-  };-  var fuseWithL = function (dictFunctor) {-      return function (dictFunctor1) {-          return function (dictFunctor2) {-              return function (dictMonadRec) {-                  return function (zap) {-                      return function (fs) {-                          return function (gs) {-                              var go = function (v) {-                                  return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) {-                                      return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) {-                                          return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {-                                              return Control_Monad_Free_Trans.freeT(function (v3) {-                                                  return go(t);-                                              });-                                          })(zap(Data_Tuple.Tuple.create)(v1)(v2)));-                                      });-                                  }));-                              };-                              return Control_Monad_Free_Trans.freeT(function (v) {-                                  return go(new Data_Tuple.Tuple(fs, gs));-                              });-                          };-                      };-                  };-              };-          };-      };-  };-  var fuseWith = function (dictFunctor) {-      return function (dictFunctor1) {-          return function (dictFunctor2) {-              return function (dictMonadRec) {-                  return function (dictParallel) {-                      return function (zap) {-                          return function (fs) {-                              return function (gs) {-                                  var go = function (v) {-                                      return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) {-                                          if (v1 instanceof Data_Either.Left) {-                                              return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));-                                          };-                                          if (v1 instanceof Data_Either.Right) {-                                              return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {-                                                  return Control_Monad_Free_Trans.freeT(function (v2) {-                                                      return go(t);-                                                  });-                                              })(v1.value0)));-                                          };-                                          throw new Error("Failed pattern match at Control.Coroutine line 79, column 5 - line 81, column 63: " + [ v1.constructor.name ]);-                                      });-                                  };-                                  return Control_Monad_Free_Trans.freeT(function (v) {-                                      return go(new Data_Tuple.Tuple(fs, gs));-                                  });-                              };-                          };-                      };-                  };-              };-          };-      };-  };-  var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));-  var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {-      return function (g) {-          return function (v) {-              return new Emit(f(v.value0), g(v.value1));-          };-      };-  });-  var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));-  var connect = function (dictMonadRec) {-      return function (dictParallel) {-          return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {-              return function (v) {-                  return function (v1) {-                      return f(v.value1)(v1(v.value0));-                  };-              };-          });-      };-  };-  var emit = function (dictMonad) {-      return function (o) {-          return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));-      };-  };-  var producer = function (dictMonad) {-      return function (recv) {-          return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) {-              if (v instanceof Data_Either.Left) {-                  return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);-              };-              if (v instanceof Data_Either.Right) {-                  return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));-              };-              throw new Error("Failed pattern match at Control.Coroutine line 125, column 3 - line 127, column 29: " + [ v.constructor.name ]);-          }));-      };-  };-  var pullFrom = function (dictMonadRec) {-      return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {-          return function (v) {-              return function (v1) {-                  return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));-              };-          };-      });-  };-  var $$await = function (dictMonad) {-      return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));-  };-  exports["loop"] = loop;-  exports["runProcess"] = runProcess;-  exports["fuseWith"] = fuseWith;-  exports["fuseWithL"] = fuseWithL;-  exports["Emit"] = Emit;-  exports["emit"] = emit;-  exports["producer"] = producer;-  exports["await"] = $$await;-  exports["connect"] = connect;-  exports["pullFrom"] = pullFrom;-  exports["bifunctorEmit"] = bifunctorEmit;-  exports["functorEmit"] = functorEmit;-  exports["profunctorAwait"] = profunctorAwait;-  exports["functorAwait"] = functorAwait;-})(PS["Control.Coroutine"] = PS["Control.Coroutine"] || {});-(function(exports) {-  /* globals exports, setTimeout */-  "use strict";--  var AVar = function () {--    function MutableQueue () {-      this.head = null;-      this.last = null;-      this.size = 0;-    }--    function MutableCell (queue, value) {-      this.queue = queue;-      this.value = value;-      this.next  = null;-      this.prev  = null;-    }--    function AVar (value) {-      this.draining = false;-      this.error    = null;-      this.value    = value;-      this.takes    = new MutableQueue();-      this.reads    = new MutableQueue();-      this.puts     = new MutableQueue();-    }--    var EMPTY = {};--    function runEff(eff) {-      try {-        eff();-      } catch (error) {-        setTimeout(function () {-          throw error;-        }, 0);-      }-    }--    function putLast (queue, value) {-      var cell = new MutableCell(queue, value);-      switch (queue.size) {-      case 0:-        queue.head = cell;-        break;-      case 1:-        cell.prev = queue.head;-        queue.head.next = cell;-        queue.last = cell;-        break;-      default:-        cell.prev = queue.last;-        queue.last.next = cell;-        queue.last = cell;-      }-      queue.size++;-      return cell;-    }--    function takeLast (queue) {-      var cell;-      switch (queue.size) {-      case 0:-        return null;-      case 1:-        cell = queue.head;-        queue.head = null;-        break;-      case 2:-        cell = queue.last;-        queue.head.next = null;-        queue.last = null;-        break;-      default:-        cell = queue.last;-        queue.last = cell.prev;-        queue.last.next = null;-      }-      cell.prev = null;-      cell.queue = null;-      queue.size--;-      return cell.value;-    }--    function takeHead (queue) {-      var cell;-      switch (queue.size) {-      case 0:-        return null;-      case 1:-        cell = queue.head;-        queue.head = null;-        break;-      case 2:-        cell = queue.head;-        queue.last.prev = null;-        queue.head = queue.last;-        queue.last = null;-        break;-      default:-        cell = queue.head;-        queue.head = cell.next;-        queue.head.prev = null;-      }-      cell.next = null;-      cell.queue = null;-      queue.size--;-      return cell.value;-    }--    function deleteCell (cell) {-      if (cell.queue === null) {-        return;-      }-      if (cell.queue.last === cell) {-        takeLast(cell.queue);-        return;-      }-      if (cell.queue.head === cell) {-        takeHead(cell.queue);-        return;-      }-      if (cell.prev) {-        cell.prev.next = cell.next;-      }-      if (cell.next) {-        cell.next.prev = cell.prev;-      }-      cell.queue.size--;-      cell.queue = null;-      cell.value = null;-      cell.next  = null;-      cell.prev  = null;-    }--    function drainVar (util, avar) {-      if (avar.draining) {-        return;-      }--      var ps = avar.puts;-      var ts = avar.takes;-      var rs = avar.reads;-      var p, r, t, value, rsize;--      avar.draining = true;--      while (1) { // eslint-disable-line no-constant-condition-        p = null;-        r = null;-        t = null;-        value = avar.value;-        rsize = rs.size;--        if (avar.error !== null) {-          value = util.left(avar.error);-          while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign-            runEff(p.cb(value));-          }-          while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign-            runEff(r(value));-          }-          while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign-            runEff(t(value));-          }-          break;-        }--        // Process the next put. We do not immediately invoke the callback-        // because we want to preserve ordering. If there are takes/reads-        // we want to run those first.-        if (value === EMPTY && (p = takeHead(ps))) {-          avar.value = value = p.value;-        }--        if (value !== EMPTY) {-          // We go ahead and queue up the next take for the same reasons as-          // above. Invoking the read callbacks can affect the mutable queue.-          t = takeHead(ts);-          // We only want to process the reads queued up before running these-          // callbacks so we guard on rsize.-          while (rsize-- && (r = takeHead(rs))) {-            runEff(r(util.right(value)));-          }-          if (t !== null) {-            avar.value = EMPTY;-            runEff(t(util.right(value)));-          }-        }--        if (p !== null) {-          runEff(p.cb(util.right(void 0)));-        }--        // Callbacks could have queued up more items so we need to guard on the-        // actual mutable properties.-        if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {-          break;-        }-      }-      avar.draining = false;-    }--    AVar.EMPTY      = EMPTY;-    AVar.putLast    = putLast;-    AVar.takeLast   = takeLast;-    AVar.takeHead   = takeHead;-    AVar.deleteCell = deleteCell;-    AVar.drainVar   = drainVar;--    return AVar;-  }();--  exports.empty = function () {-    return new AVar(AVar.EMPTY);-  };--  exports._killVar = function (util, error, avar) {-    return function () {-      if (avar.error === null) {-        avar.error = error;-        avar.value = AVar.EMPTY;-        AVar.drainVar(util, avar);-      }-    };-  };--  exports._putVar = function (util, value, avar, cb) {-    return function () {-      var cell = AVar.putLast(avar.puts, { cb: cb, value: value });-      AVar.drainVar(util, avar);-      return function () {-        AVar.deleteCell(cell);-      };-    };-  };--  exports._takeVar = function (util, avar, cb) {-    return function () {-      var cell = AVar.putLast(avar.takes, cb);-      AVar.drainVar(util, avar);-      return function () {-        AVar.deleteCell(cell);-      };-    };-  };-})(PS["Effect.AVar"] = PS["Effect.AVar"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Effect.AVar"];-  var Data_Either = PS["Data.Either"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Maybe = PS["Data.Maybe"];-  var Effect = PS["Effect"];-  var Effect_Exception = PS["Effect.Exception"];-  var Prelude = PS["Prelude"];                 -  var Killed = (function () {-      function Killed(value0) {-          this.value0 = value0;-      };-      Killed.create = function (value0) {-          return new Killed(value0);-      };-      return Killed;-  })();-  var Filled = (function () {-      function Filled(value0) {-          this.value0 = value0;-      };-      Filled.create = function (value0) {-          return new Filled(value0);-      };-      return Filled;-  })();-  var Empty = (function () {-      function Empty() {--      };-      Empty.value = new Empty();-      return Empty;-  })();-  var ffiUtil = {-      left: Data_Either.Left.create,-      right: Data_Either.Right.create,-      nothing: Data_Maybe.Nothing.value,-      just: Data_Maybe.Just.create,-      killed: Killed.create,-      filled: Filled.create,-      empty: Empty.value-  };-  var kill = function (err) {-      return function (avar) {-          return $foreign._killVar(ffiUtil, err, avar);-      };-  };-  var put = function (value) {-      return function (avar) {-          return function (cb) {-              return $foreign._putVar(ffiUtil, value, avar, cb);-          };-      };-  };-  var take = function (avar) {-      return function (cb) {-          return $foreign._takeVar(ffiUtil, avar, cb);-      };-  };-  exports["Killed"] = Killed;-  exports["Filled"] = Filled;-  exports["Empty"] = Empty;-  exports["take"] = take;-  exports["put"] = put;-  exports["kill"] = kill;-  exports["empty"] = $foreign.empty;-})(PS["Effect.AVar"] = PS["Effect.AVar"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Maybe = PS["Data.Maybe"];-  var Effect = PS["Effect"];-  var Effect_AVar = PS["Effect.AVar"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Class = PS["Effect.Class"];-  var Effect_Exception = PS["Effect.Exception"];-  var Prelude = PS["Prelude"];-  var take = function (avar) {-      return Effect_Aff.makeAff(function (k) {-          return function __do() {-              var v = Effect_AVar.take(avar)(k)();-              return Effect_Aff.effectCanceler(v);-          };-      });-  };-  var put = function (value) {-      return function (avar) {-          return Effect_Aff.makeAff(function (k) {-              return function __do() {-                  var v = Effect_AVar.put(value)(avar)(k)();-                  return Effect_Aff.effectCanceler(v);-              };-          });-      };-  };-  var kill = function (error) {-      return function ($11) {-          return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));-      };-  };-  var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);-  exports["empty"] = empty;-  exports["take"] = take;-  exports["put"] = put;-  exports["kill"] = kill;-})(PS["Effect.Aff.AVar"] = PS["Effect.Aff.AVar"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Coroutine = PS["Control.Coroutine"];-  var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Either = PS["Data.Either"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Aff_AVar = PS["Effect.Aff.AVar"];-  var Effect_Aff_Class = PS["Effect.Aff.Class"];-  var Effect_Class = PS["Effect.Class"];-  var Effect_Exception = PS["Effect.Exception"];-  var Prelude = PS["Prelude"];                 -  var Listening = (function () {-      function Listening() {--      };-      Listening.value = new Listening();-      return Listening;-  })();-  var Done = (function () {-      function Done() {--      };-      Done.value = new Done();-      return Done;-  })();-  var unEventSource = function (v) {-      return v;-  };-  var eqSubscribeStatus = new Data_Eq.Eq(function (x) {-      return function (y) {-          if (x instanceof Listening && y instanceof Listening) {-              return true;-          };-          if (x instanceof Done && y instanceof Done) {-              return true;-          };-          return false;-      };-  });-  exports["Listening"] = Listening;-  exports["Done"] = Done;-  exports["unEventSource"] = unEventSource;-  exports["eqSubscribeStatus"] = eqSubscribeStatus;-})(PS["Halogen.Query.EventSource"] = PS["Halogen.Query.EventSource"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Category = PS["Control.Category"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Exception = PS["Effect.Exception"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var unFork = Unsafe_Coerce.unsafeCoerce;-  exports["unFork"] = unFork;-})(PS["Halogen.Query.ForkF"] = PS["Halogen.Query.ForkF"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Applicative_Free = PS["Control.Applicative.Free"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Monad = PS["Control.Monad"];-  var Control_Monad_Free = PS["Control.Monad.Free"];-  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];-  var Control_Parallel_Class = PS["Control.Parallel.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Coyoneda = PS["Data.Coyoneda"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_List = PS["Data.List"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unit = PS["Data.Unit"];-  var Effect_Aff_Class = PS["Effect.Aff.Class"];-  var Effect_Class = PS["Effect.Class"];-  var Effect_Exception = PS["Effect.Exception"];-  var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"];-  var Halogen_Query_ForkF = PS["Halogen.Query.ForkF"];-  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];-  var Prelude = PS["Prelude"];-  var Web_DOM = PS["Web.DOM"];-  var HalogenM = function (x) {-      return x;-  };-  var State = (function () {-      function State(value0) {-          this.value0 = value0;-      };-      State.create = function (value0) {-          return new State(value0);-      };-      return State;-  })();-  var Subscribe = (function () {-      function Subscribe(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Subscribe.create = function (value0) {-          return function (value1) {-              return new Subscribe(value0, value1);-          };-      };-      return Subscribe;-  })();-  var Lift = (function () {-      function Lift(value0) {-          this.value0 = value0;-      };-      Lift.create = function (value0) {-          return new Lift(value0);-      };-      return Lift;-  })();-  var Halt = (function () {-      function Halt(value0) {-          this.value0 = value0;-      };-      Halt.create = function (value0) {-          return new Halt(value0);-      };-      return Halt;-  })();-  var GetSlots = (function () {-      function GetSlots(value0) {-          this.value0 = value0;-      };-      GetSlots.create = function (value0) {-          return new GetSlots(value0);-      };-      return GetSlots;-  })();-  var CheckSlot = (function () {-      function CheckSlot(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      CheckSlot.create = function (value0) {-          return function (value1) {-              return new CheckSlot(value0, value1);-          };-      };-      return CheckSlot;-  })();-  var ChildQuery = (function () {-      function ChildQuery(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      ChildQuery.create = function (value0) {-          return function (value1) {-              return new ChildQuery(value0, value1);-          };-      };-      return ChildQuery;-  })();-  var Raise = (function () {-      function Raise(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      Raise.create = function (value0) {-          return function (value1) {-              return new Raise(value0, value1);-          };-      };-      return Raise;-  })();-  var Par = (function () {-      function Par(value0) {-          this.value0 = value0;-      };-      Par.create = function (value0) {-          return new Par(value0);-      };-      return Par;-  })();-  var Fork = (function () {-      function Fork(value0) {-          this.value0 = value0;-      };-      Fork.create = function (value0) {-          return new Fork(value0);-      };-      return Fork;-  })();-  var GetRef = (function () {-      function GetRef(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      GetRef.create = function (value0) {-          return function (value1) {-              return new GetRef(value0, value1);-          };-      };-      return GetRef;-  })();-  var raise = function (o) {-      return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));-  };-  var functorHalogenM = new Data_Functor.Functor(function (f) {-      return function (v) {-          return Data_Functor.map(Control_Monad_Free.freeFunctor)(f)(v);-      };-  });-  var applyHalogenM = new Control_Apply.Apply(function () {-      return functorHalogenM;-  }, function (v) {-      return function (v1) {-          return Control_Apply.apply(Control_Monad_Free.freeApply)(v)(v1);-      };-  });-  var bindHalogenM = new Control_Bind.Bind(function () {-      return applyHalogenM;-  }, function (v) {-      return function (f) {-          return Control_Bind.bind(Control_Monad_Free.freeBind)(v)(function (x) {-              var v1 = f(x);-              return v1;-          });-      };-  });                                                       -  var applicativeHalogenM = new Control_Applicative.Applicative(function () {-      return applyHalogenM;-  }, function (a) {-      return Control_Applicative.pure(Control_Monad_Free.freeApplicative)(a);-  });-  var monadHalogenM = new Control_Monad.Monad(function () {-      return applicativeHalogenM;-  }, function () {-      return bindHalogenM;-  });-  var monadEffectHalogenM = function (dictMonadEffect) {-      return new Effect_Class.MonadEffect(function () {-          return monadHalogenM;-      }, function (eff) {-          return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)(eff))));-      });-  };-  var monadAffHalogenM = function (dictMonadAff) {-      return new Effect_Aff_Class.MonadAff(function () {-          return monadEffectHalogenM(dictMonadAff.MonadEffect0());-      }, function (aff) {-          return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)(aff))));-      });-  };-  var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {-      return monadHalogenM;-  }, function ($180) {-      return HalogenM(Control_Monad_Free.liftF(State.create($180)));-  });-  exports["State"] = State;-  exports["Subscribe"] = Subscribe;-  exports["Lift"] = Lift;-  exports["Halt"] = Halt;-  exports["GetSlots"] = GetSlots;-  exports["CheckSlot"] = CheckSlot;-  exports["ChildQuery"] = ChildQuery;-  exports["Raise"] = Raise;-  exports["Par"] = Par;-  exports["Fork"] = Fork;-  exports["GetRef"] = GetRef;-  exports["HalogenM"] = HalogenM;-  exports["raise"] = raise;-  exports["functorHalogenM"] = functorHalogenM;-  exports["applyHalogenM"] = applyHalogenM;-  exports["applicativeHalogenM"] = applicativeHalogenM;-  exports["bindHalogenM"] = bindHalogenM;-  exports["monadHalogenM"] = monadHalogenM;-  exports["monadEffectHalogenM"] = monadEffectHalogenM;-  exports["monadAffHalogenM"] = monadAffHalogenM;-  exports["monadStateHalogenM"] = monadStateHalogenM;-})(PS["Halogen.Query.HalogenM"] = PS["Halogen.Query.HalogenM"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Bifunctor = PS["Data.Bifunctor"];-  var Data_Const = PS["Data.Const"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];-  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];-  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 -  var ComponentSlot = (function () {-      function ComponentSlot(value0, value1, value2, value3, value4, value5) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-          this.value3 = value3;-          this.value4 = value4;-          this.value5 = value5;-      };-      ComponentSlot.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return function (value3) {-                      return function (value4) {-                          return function (value5) {-                              return new ComponentSlot(value0, value1, value2, value3, value4, value5);-                          };-                      };-                  };-              };-          };-      };-      return ComponentSlot;-  })();-  var unComponentSlot = function (f) {-      return function (cs) {-          return f(cs.value0)(cs.value1)(cs.value2)(cs.value3)(cs.value4)(cs.value5);-      };-  };-  var unComponent = Unsafe_Coerce.unsafeCoerce;-  var mkComponentSlot = ComponentSlot.create;-  var mkComponent = Unsafe_Coerce.unsafeCoerce;-  var parentComponent = function (dictOrd) {-      return function (spec) {-          return mkComponent({-              initialState: spec.initialState,-              render: spec.render,-              "eval": spec["eval"],-              receiver: spec.receiver,-              initializer: Data_Maybe.Nothing.value,-              finalizer: Data_Maybe.Nothing.value,-              mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(dictOrd)-          });-      };-  };-  var lifecycleComponent = function (dictBifunctor) {-      return function (spec) {-          return mkComponent({-              initialState: spec.initialState,-              render: spec.render,-              "eval": spec["eval"],-              receiver: spec.receiver,-              initializer: spec.initializer,-              finalizer: spec.finalizer,-              mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(Data_Ord.ordVoid)-          });-      };-  }; -  var component = function (dictBifunctor) {-      return function (spec) {-          return lifecycleComponent(dictBifunctor)({-              initialState: spec.initialState,-              render: spec.render,-              "eval": spec["eval"],-              receiver: spec.receiver,-              initializer: Data_Maybe.Nothing.value,-              finalizer: Data_Maybe.Nothing.value-          });-      };-  };-  exports["mkComponent"] = mkComponent;-  exports["unComponent"] = unComponent;-  exports["component"] = component;-  exports["lifecycleComponent"] = lifecycleComponent;-  exports["parentComponent"] = parentComponent;-  exports["mkComponentSlot"] = mkComponentSlot;-  exports["unComponentSlot"] = unComponentSlot;-})(PS["Halogen.Component"] = PS["Halogen.Component"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var DOM_HTML_Indexed = PS["DOM.HTML.Indexed"];-  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];-  var DOM_HTML_Indexed_FormMethod = PS["DOM.HTML.Indexed.FormMethod"];-  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];-  var DOM_HTML_Indexed_MenuType = PS["DOM.HTML.Indexed.MenuType"];-  var DOM_HTML_Indexed_MenuitemType = PS["DOM.HTML.Indexed.MenuitemType"];-  var DOM_HTML_Indexed_OnOff = PS["DOM.HTML.Indexed.OnOff"];-  var DOM_HTML_Indexed_OrderedListType = PS["DOM.HTML.Indexed.OrderedListType"];-  var DOM_HTML_Indexed_PreloadValue = PS["DOM.HTML.Indexed.PreloadValue"];-  var DOM_HTML_Indexed_StepValue = PS["DOM.HTML.Indexed.StepValue"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_MediaType = PS["Data.MediaType"];-  var Data_Newtype = PS["Data.Newtype"];-  var Data_String = PS["Data.String"];-  var Data_String_Common = PS["Data.String.Common"];-  var Data_Unit = PS["Data.Unit"];-  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];-  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];-  var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_DOM_Element = PS["Web.DOM.Element"];-  var prop = function (dictIsProp) {-      return Halogen_HTML_Core.prop(dictIsProp);-  };                                                    -  var required = prop(Halogen_HTML_Core.booleanIsProp)("required");-  var rows = prop(Halogen_HTML_Core.intIsProp)("rows");        -  var target = prop(Halogen_HTML_Core.stringIsProp)("target");-  var title = prop(Halogen_HTML_Core.stringIsProp)("title");-  var type_ = function (dictIsProp) {-      return prop(dictIsProp)("type");-  };-  var value = prop(Halogen_HTML_Core.stringIsProp)("value");-  var name = prop(Halogen_HTML_Core.stringIsProp)("name"); -  var id_ = prop(Halogen_HTML_Core.stringIsProp)("id");-  var href = prop(Halogen_HTML_Core.stringIsProp)("href");-  var $$for = prop(Halogen_HTML_Core.stringIsProp)("htmlFor");-  var class_ = function ($13) {-      return prop(Halogen_HTML_Core.stringIsProp)("className")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));-  };-  var checked = prop(Halogen_HTML_Core.booleanIsProp)("checked");    -  var autocomplete = function ($14) {-      return prop(Halogen_HTML_Core.onOffIsProp)("autocomplete")((function (b) {-          if (b) {-              return DOM_HTML_Indexed_OnOff.On.value;-          };-          return DOM_HTML_Indexed_OnOff.Off.value;-      })($14));-  };-  var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);-  exports["prop"] = prop;-  exports["attr"] = attr;-  exports["class_"] = class_;-  exports["rows"] = rows;-  exports["for"] = $$for;-  exports["href"] = href;-  exports["id_"] = id_;-  exports["name"] = name;-  exports["target"] = target;-  exports["title"] = title;-  exports["type_"] = type_;-  exports["value"] = value;-  exports["required"] = required;-  exports["checked"] = checked;-  exports["autocomplete"] = autocomplete;-})(PS["Halogen.HTML.Properties"] = PS["Halogen.HTML.Properties"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var DOM_HTML_Indexed = PS["DOM.HTML.Indexed"];-  var Data_Function = PS["Data.Function"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Tuple = PS["Data.Tuple"];-  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];-  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];-  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];-  var Halogen_VDom = PS["Halogen.VDom"];-  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);-  var form = element("form");-  var input = function (props) {-      return element("input")(props)([  ]);-  };                   -  var label = element("label");-  var p = element("p");-  var span = element("span");-  var table = element("table");-  var table_ = table([  ]);-  var tbody = element("tbody");-  var tbody_ = tbody([  ]);-  var td = element("td");-  var td_ = td([  ]);-  var textarea = function (es) {-      return element("textarea")(es)([  ]);-  };                       -  var tr = element("tr");-  var tr_ = tr([  ]);-  var div = element("div");-  var div_ = div([  ]);-  var button = element("button");-  var br = function (props) {-      return element("br")(props)([  ]);-  };-  var br_ = br([  ]);    -  var a = element("a");-  exports["element"] = element;-  exports["a"] = a;-  exports["br"] = br;-  exports["br_"] = br_;-  exports["button"] = button;-  exports["div"] = div;-  exports["div_"] = div_;-  exports["form"] = form;-  exports["input"] = input;-  exports["label"] = label;-  exports["p"] = p;-  exports["span"] = span;-  exports["table"] = table;-  exports["table_"] = table_;-  exports["tbody"] = tbody;-  exports["tbody_"] = tbody_;-  exports["td"] = td;-  exports["td_"] = td_;-  exports["textarea"] = textarea;-  exports["tr"] = tr;-  exports["tr_"] = tr_;-})(PS["Halogen.HTML.Elements"] = PS["Halogen.HTML.Elements"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Halogen_Component = PS["Halogen.Component"];-  var Halogen_Component_ChildPath = PS["Halogen.Component.ChildPath"];-  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];-  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];-  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var slot = function (p) {-      return function (component) {-          return function (input) {-              return function (outputQuery) {-                  var f = Halogen_Component.unComponent(function (v) {-                      return v.receiver;-                  })(component);-                  return Halogen_HTML_Core.slot(Halogen_Component.mkComponentSlot(p)(component)(input)(f)(outputQuery)(Data_Maybe.Just.create));-              };-          };-      };-  };-  exports["slot"] = slot;-})(PS["Halogen.HTML"] = PS["Halogen.HTML"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Apply = PS["Control.Apply"];-  var Control_Category = PS["Control.Category"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_List = PS["Data.List"];-  var Data_List_Lazy = PS["Data.List.Lazy"];-  var Data_List_Lazy_Types = PS["Data.List.Lazy.Types"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Show = PS["Data.Show"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Partial_Unsafe = PS["Partial.Unsafe"];-  var Prelude = PS["Prelude"];                 -  var Leaf = (function () {-      function Leaf() {--      };-      Leaf.value = new Leaf();-      return Leaf;-  })();-  var Two = (function () {-      function Two(value0, value1, value2, value3) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-          this.value3 = value3;-      };-      Two.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return function (value3) {-                      return new Two(value0, value1, value2, value3);-                  };-              };-          };-      };-      return Two;-  })();-  var Three = (function () {-      function Three(value0, value1, value2, value3, value4, value5, value6) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-          this.value3 = value3;-          this.value4 = value4;-          this.value5 = value5;-          this.value6 = value6;-      };-      Three.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return function (value3) {-                      return function (value4) {-                          return function (value5) {-                              return function (value6) {-                                  return new Three(value0, value1, value2, value3, value4, value5, value6);-                              };-                          };-                      };-                  };-              };-          };-      };-      return Three;-  })();-  var TwoLeft = (function () {-      function TwoLeft(value0, value1, value2) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-      };-      TwoLeft.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return new TwoLeft(value0, value1, value2);-              };-          };-      };-      return TwoLeft;-  })();-  var TwoRight = (function () {-      function TwoRight(value0, value1, value2) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-      };-      TwoRight.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return new TwoRight(value0, value1, value2);-              };-          };-      };-      return TwoRight;-  })();-  var ThreeLeft = (function () {-      function ThreeLeft(value0, value1, value2, value3, value4, value5) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-          this.value3 = value3;-          this.value4 = value4;-          this.value5 = value5;-      };-      ThreeLeft.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return function (value3) {-                      return function (value4) {-                          return function (value5) {-                              return new ThreeLeft(value0, value1, value2, value3, value4, value5);-                          };-                      };-                  };-              };-          };-      };-      return ThreeLeft;-  })();-  var ThreeMiddle = (function () {-      function ThreeMiddle(value0, value1, value2, value3, value4, value5) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-          this.value3 = value3;-          this.value4 = value4;-          this.value5 = value5;-      };-      ThreeMiddle.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return function (value3) {-                      return function (value4) {-                          return function (value5) {-                              return new ThreeMiddle(value0, value1, value2, value3, value4, value5);-                          };-                      };-                  };-              };-          };-      };-      return ThreeMiddle;-  })();-  var ThreeRight = (function () {-      function ThreeRight(value0, value1, value2, value3, value4, value5) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-          this.value3 = value3;-          this.value4 = value4;-          this.value5 = value5;-      };-      ThreeRight.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return function (value3) {-                      return function (value4) {-                          return function (value5) {-                              return new ThreeRight(value0, value1, value2, value3, value4, value5);-                          };-                      };-                  };-              };-          };-      };-      return ThreeRight;-  })();-  var KickUp = (function () {-      function KickUp(value0, value1, value2, value3) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-          this.value3 = value3;-      };-      KickUp.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return function (value3) {-                      return new KickUp(value0, value1, value2, value3);-                  };-              };-          };-      };-      return KickUp;-  })();-  var values = function (v) {-      if (v instanceof Leaf) {-          return Data_List_Types.Nil.value;-      };-      if (v instanceof Two) {-          return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));-      };-      if (v instanceof Three) {-          return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));-      };-      throw new Error("Failed pattern match at Data.Map.Internal line 594, column 1 - line 594, column 40: " + [ v.constructor.name ]);-  };-  var lookup = function (dictOrd) {-      return function (k) {-          var comp = Data_Ord.compare(dictOrd);-          var go = function ($copy_v) {-              var $tco_done = false;-              var $tco_result;-              function $tco_loop(v) {-                  if (v instanceof Leaf) {-                      $tco_done = true;-                      return Data_Maybe.Nothing.value;-                  };-                  if (v instanceof Two) {-                      var v2 = comp(k)(v.value1);-                      if (v2 instanceof Data_Ordering.EQ) {-                          $tco_done = true;-                          return new Data_Maybe.Just(v.value2);-                      };-                      if (v2 instanceof Data_Ordering.LT) {-                          $copy_v = v.value0;-                          return;-                      };-                      $copy_v = v.value3;-                      return;-                  };-                  if (v instanceof Three) {-                      var v3 = comp(k)(v.value1);-                      if (v3 instanceof Data_Ordering.EQ) {-                          $tco_done = true;-                          return new Data_Maybe.Just(v.value2);-                      };-                      var v4 = comp(k)(v.value4);-                      if (v4 instanceof Data_Ordering.EQ) {-                          $tco_done = true;-                          return new Data_Maybe.Just(v.value5);-                      };-                      if (v3 instanceof Data_Ordering.LT) {-                          $copy_v = v.value0;-                          return;-                      };-                      if (v4 instanceof Data_Ordering.GT) {-                          $copy_v = v.value6;-                          return;-                      };-                      $copy_v = v.value3;-                      return;-                  };-                  throw new Error("Failed pattern match at Data.Map.Internal line 193, column 5 - line 193, column 22: " + [ v.constructor.name ]);-              };-              while (!$tco_done) {-                  $tco_result = $tco_loop($copy_v);-              };-              return $tco_result;-          };-          return go;-      };-  };-  var member = function (dictOrd) {-      return function (k) {-          return function (m) {-              return Data_Maybe.isJust(lookup(dictOrd)(k)(m));-          };-      };-  };-  var keys = function (v) {-      if (v instanceof Leaf) {-          return Data_List_Types.Nil.value;-      };-      if (v instanceof Two) {-          return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(keys(v.value3)));-      };-      if (v instanceof Three) {-          return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value4))(keys(v.value6)))));-      };-      throw new Error("Failed pattern match at Data.Map.Internal line 588, column 1 - line 588, column 38: " + [ v.constructor.name ]);-  };-  var functorMap = new Data_Functor.Functor(function (v) {-      return function (v1) {-          if (v1 instanceof Leaf) {-              return Leaf.value;-          };-          if (v1 instanceof Two) {-              return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));-          };-          if (v1 instanceof Three) {-              return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));-          };-          throw new Error("Failed pattern match at Data.Map.Internal line 89, column 1 - line 89, column 39: " + [ v.constructor.name, v1.constructor.name ]);-      };-  });-  var fromZipper = function ($copy_dictOrd) {-      return function ($copy_v) {-          return function ($copy_tree) {-              var $tco_var_dictOrd = $copy_dictOrd;-              var $tco_var_v = $copy_v;-              var $tco_done = false;-              var $tco_result;-              function $tco_loop(dictOrd, v, tree) {-                  if (v instanceof Data_List_Types.Nil) {-                      $tco_done = true;-                      return tree;-                  };-                  if (v instanceof Data_List_Types.Cons) {-                      if (v.value0 instanceof TwoLeft) {-                          $tco_var_dictOrd = dictOrd;-                          $tco_var_v = v.value1;-                          $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);-                          return;-                      };-                      if (v.value0 instanceof TwoRight) {-                          $tco_var_dictOrd = dictOrd;-                          $tco_var_v = v.value1;-                          $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);-                          return;-                      };-                      if (v.value0 instanceof ThreeLeft) {-                          $tco_var_dictOrd = dictOrd;-                          $tco_var_v = v.value1;-                          $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);-                          return;-                      };-                      if (v.value0 instanceof ThreeMiddle) {-                          $tco_var_dictOrd = dictOrd;-                          $tco_var_v = v.value1;-                          $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);-                          return;-                      };-                      if (v.value0 instanceof ThreeRight) {-                          $tco_var_dictOrd = dictOrd;-                          $tco_var_v = v.value1;-                          $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);-                          return;-                      };-                      throw new Error("Failed pattern match at Data.Map.Internal line 411, column 3 - line 416, column 88: " + [ v.value0.constructor.name ]);-                  };-                  throw new Error("Failed pattern match at Data.Map.Internal line 408, column 1 - line 408, column 80: " + [ v.constructor.name, tree.constructor.name ]);-              };-              while (!$tco_done) {-                  $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);-              };-              return $tco_result;-          };-      };-  };-  var insert = function (dictOrd) {-      return function (k) {-          return function (v) {-              var up = function ($copy_v1) {-                  return function ($copy_v2) {-                      var $tco_var_v1 = $copy_v1;-                      var $tco_done = false;-                      var $tco_result;-                      function $tco_loop(v1, v2) {-                          if (v1 instanceof Data_List_Types.Nil) {-                              $tco_done = true;-                              return new Two(v2.value0, v2.value1, v2.value2, v2.value3);-                          };-                          if (v1 instanceof Data_List_Types.Cons) {-                              if (v1.value0 instanceof TwoLeft) {-                                  $tco_done = true;-                                  return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));-                              };-                              if (v1.value0 instanceof TwoRight) {-                                  $tco_done = true;-                                  return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));-                              };-                              if (v1.value0 instanceof ThreeLeft) {-                                  $tco_var_v1 = v1.value1;-                                  $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));-                                  return;-                              };-                              if (v1.value0 instanceof ThreeMiddle) {-                                  $tco_var_v1 = v1.value1;-                                  $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));-                                  return;-                              };-                              if (v1.value0 instanceof ThreeRight) {-                                  $tco_var_v1 = v1.value1;-                                  $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));-                                  return;-                              };-                              throw new Error("Failed pattern match at Data.Map.Internal line 447, column 5 - line 452, column 108: " + [ v1.value0.constructor.name, v2.constructor.name ]);-                          };-                          throw new Error("Failed pattern match at Data.Map.Internal line 444, column 3 - line 444, column 56: " + [ v1.constructor.name, v2.constructor.name ]);-                      };-                      while (!$tco_done) {-                          $tco_result = $tco_loop($tco_var_v1, $copy_v2);-                      };-                      return $tco_result;-                  };-              };-              var comp = Data_Ord.compare(dictOrd);-              var down = function ($copy_ctx) {-                  return function ($copy_v1) {-                      var $tco_var_ctx = $copy_ctx;-                      var $tco_done = false;-                      var $tco_result;-                      function $tco_loop(ctx, v1) {-                          if (v1 instanceof Leaf) {-                              $tco_done = true;-                              return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));-                          };-                          if (v1 instanceof Two) {-                              var v2 = comp(k)(v1.value1);-                              if (v2 instanceof Data_Ordering.EQ) {-                                  $tco_done = true;-                                  return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));-                              };-                              if (v2 instanceof Data_Ordering.LT) {-                                  $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);-                                  $copy_v1 = v1.value0;-                                  return;-                              };-                              $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);-                              $copy_v1 = v1.value3;-                              return;-                          };-                          if (v1 instanceof Three) {-                              var v3 = comp(k)(v1.value1);-                              if (v3 instanceof Data_Ordering.EQ) {-                                  $tco_done = true;-                                  return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));-                              };-                              var v4 = comp(k)(v1.value4);-                              if (v4 instanceof Data_Ordering.EQ) {-                                  $tco_done = true;-                                  return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));-                              };-                              if (v3 instanceof Data_Ordering.LT) {-                                  $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);-                                  $copy_v1 = v1.value0;-                                  return;-                              };-                              if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {-                                  $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);-                                  $copy_v1 = v1.value3;-                                  return;-                              };-                              $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);-                              $copy_v1 = v1.value6;-                              return;-                          };-                          throw new Error("Failed pattern match at Data.Map.Internal line 427, column 3 - line 427, column 55: " + [ ctx.constructor.name, v1.constructor.name ]);-                      };-                      while (!$tco_done) {-                          $tco_result = $tco_loop($tco_var_ctx, $copy_v1);-                      };-                      return $tco_result;-                  };-              };-              return down(Data_List_Types.Nil.value);-          };-      };-  };-  var pop = function (dictOrd) {-      return function (k) {-          var up = function (ctxs) {-              return function (tree) {-                  if (ctxs instanceof Data_List_Types.Nil) {-                      return tree;-                  };-                  if (ctxs instanceof Data_List_Types.Cons) {-                      var $__unused = function (dictPartial1) {-                          return function ($dollar55) {-                              return $dollar55;-                          };-                      };-                      return $__unused()((function () {-                          if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));-                          };-                          if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));-                          };-                          if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {-                              return up(ctxs.value1)(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3));-                          };-                          if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {-                              return up(ctxs.value1)(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree));-                          };-                          if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));-                          };-                          if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));-                          };-                          if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));-                          };-                          if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));-                          };-                          if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));-                          };-                          if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));-                          };-                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));-                          };-                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));-                          };-                          if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));-                          };-                          if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));-                          };-                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));-                          };-                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));-                          };-                          if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {-                              return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));-                          };-                          throw new Error("Failed pattern match at Data.Map.Internal line 497, column 9 - line 514, column 136: " + [ ctxs.value0.constructor.name, tree.constructor.name ]);-                      })());-                  };-                  throw new Error("Failed pattern match at Data.Map.Internal line 494, column 5 - line 514, column 136: " + [ ctxs.constructor.name ]);-              };-          };-          var removeMaxNode = function (ctx) {-              return function (m) {-                  var $__unused = function (dictPartial1) {-                      return function ($dollar57) {-                          return $dollar57;-                      };-                  };-                  return $__unused()((function () {-                      if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {-                          return up(ctx)(Leaf.value);-                      };-                      if (m instanceof Two) {-                          return removeMaxNode(new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx))(m.value3);-                      };-                      if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {-                          return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);-                      };-                      if (m instanceof Three) {-                          return removeMaxNode(new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx))(m.value6);-                      };-                      throw new Error("Failed pattern match at Data.Map.Internal line 526, column 5 - line 530, column 107: " + [ m.constructor.name ]);-                  })());-              };-          };-          var maxNode = function (m) {-              var $__unused = function (dictPartial1) {-                  return function ($dollar59) {-                      return $dollar59;-                  };-              };-              return $__unused()((function () {-                  if (m instanceof Two && m.value3 instanceof Leaf) {-                      return {-                          key: m.value1,-                          value: m.value2-                      };-                  };-                  if (m instanceof Two) {-                      return maxNode(m.value3);-                  };-                  if (m instanceof Three && m.value6 instanceof Leaf) {-                      return {-                          key: m.value4,-                          value: m.value5-                      };-                  };-                  if (m instanceof Three) {-                      return maxNode(m.value6);-                  };-                  throw new Error("Failed pattern match at Data.Map.Internal line 517, column 33 - line 521, column 45: " + [ m.constructor.name ]);-              })());-          };-          var comp = Data_Ord.compare(dictOrd);-          var down = function ($copy_ctx) {-              return function ($copy_m) {-                  var $tco_var_ctx = $copy_ctx;-                  var $tco_done = false;-                  var $tco_result;-                  function $tco_loop(ctx, m) {-                      if (m instanceof Leaf) {-                          $tco_done = true;-                          return Data_Maybe.Nothing.value;-                      };-                      if (m instanceof Two) {-                          var v = comp(k)(m.value1);-                          if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {-                              $tco_done = true;-                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));-                          };-                          if (v instanceof Data_Ordering.EQ) {-                              var max = maxNode(m.value0);-                              $tco_done = true;-                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));-                          };-                          if (v instanceof Data_Ordering.LT) {-                              $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);-                              $copy_m = m.value0;-                              return;-                          };-                          $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);-                          $copy_m = m.value3;-                          return;-                      };-                      if (m instanceof Three) {-                          var leaves = (function () {-                              if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {-                                  return true;-                              };-                              return false;-                          })();-                          var v = comp(k)(m.value4);-                          var v3 = comp(k)(m.value1);-                          if (leaves && v3 instanceof Data_Ordering.EQ) {-                              $tco_done = true;-                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));-                          };-                          if (leaves && v instanceof Data_Ordering.EQ) {-                              $tco_done = true;-                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));-                          };-                          if (v3 instanceof Data_Ordering.EQ) {-                              var max = maxNode(m.value0);-                              $tco_done = true;-                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));-                          };-                          if (v instanceof Data_Ordering.EQ) {-                              var max = maxNode(m.value3);-                              $tco_done = true;-                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));-                          };-                          if (v3 instanceof Data_Ordering.LT) {-                              $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);-                              $copy_m = m.value0;-                              return;-                          };-                          if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {-                              $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);-                              $copy_m = m.value3;-                              return;-                          };-                          $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);-                          $copy_m = m.value6;-                          return;-                      };-                      throw new Error("Failed pattern match at Data.Map.Internal line 467, column 34 - line 490, column 80: " + [ m.constructor.name ]);-                  };-                  while (!$tco_done) {-                      $tco_result = $tco_loop($tco_var_ctx, $copy_m);-                  };-                  return $tco_result;-              };-          };-          return down(Data_List_Types.Nil.value);-      };-  };-  var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {-      return function (f) {-          return function (m) {-              return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));-          };-      };-  }, function (f) {-      return function (z) {-          return function (m) {-              return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));-          };-      };-  }, function (f) {-      return function (z) {-          return function (m) {-              return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));-          };-      };-  });-  var empty = Leaf.value;-  var $$delete = function (dictOrd) {-      return function (k) {-          return function (m) {-              return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));-          };-      };-  }; -  var alter = function (dictOrd) {-      return function (f) {-          return function (k) {-              return function (m) {-                  var v = f(lookup(dictOrd)(k)(m));-                  if (v instanceof Data_Maybe.Nothing) {-                      return $$delete(dictOrd)(k)(m);-                  };-                  if (v instanceof Data_Maybe.Just) {-                      return insert(dictOrd)(k)(v.value0)(m);-                  };-                  throw new Error("Failed pattern match at Data.Map.Internal line 535, column 15 - line 537, column 25: " + [ v.constructor.name ]);-              };-          };-      };-  };-  exports["empty"] = empty;-  exports["insert"] = insert;-  exports["lookup"] = lookup;-  exports["delete"] = $$delete;-  exports["pop"] = pop;-  exports["member"] = member;-  exports["alter"] = alter;-  exports["keys"] = keys;-  exports["values"] = values;-  exports["functorMap"] = functorMap;-  exports["foldableMap"] = foldableMap;-})(PS["Data.Map.Internal"] = PS["Data.Map.Internal"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Monad_ST = PS["Control.Monad.ST"];-  var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Array = PS["Data.Array"];-  var Data_Array_ST = PS["Data.Array.ST"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_List = PS["Data.List"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Map_Internal = PS["Data.Map.Internal"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ordering = PS["Data.Ordering"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Show = PS["Data.Show"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Data_Unit = PS["Data.Unit"];-  var Partial_Unsafe = PS["Partial.Unsafe"];-  var Prelude = PS["Prelude"];-  var toList = function (v) {-      return Data_Map_Internal.keys(v);-  };-  var foldableSet = new Data_Foldable.Foldable(function (dictMonoid) {-      return function (f) {-          return function ($59) {-              return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(toList($59));-          };-      };-  }, function (f) {-      return function (x) {-          return function ($60) {-              return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(x)(toList($60));-          };-      };-  }, function (f) {-      return function (x) {-          return function ($61) {-              return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(x)(toList($61));-          };-      };-  });-  exports["foldableSet"] = foldableSet;-})(PS["Data.Set"] = PS["Data.Set"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Map_Internal = PS["Data.Map.Internal"];-  var Data_Set = PS["Data.Set"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 -  var keys = function ($0) {-      return Data_Functor["void"](Data_Map_Internal.functorMap)($0);-  };-  exports["keys"] = keys;-})(PS["Data.Map"] = PS["Data.Map"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_Parallel = PS["Control.Parallel"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Functor = PS["Data.Functor"];-  var Data_List = PS["Data.List"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Map = PS["Data.Map"];-  var Data_Map_Internal = PS["Data.Map.Internal"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unit = PS["Data.Unit"];-  var Effect_Aff_Class = PS["Effect.Aff.Class"];-  var Effect_Class = PS["Effect.Class"];-  var Halogen_Component_ChildPath = PS["Halogen.Component.ChildPath"];-  var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"];-  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];-  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];-  var Prelude = PS["Prelude"];-  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];-  var action = function (act) {-      return act(Data_Unit.unit);-  };-  exports["action"] = action;-})(PS["Halogen.Query"] = PS["Halogen.Query"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Web_Event_Event = PS["Web.Event.Event"];-  var change = "change";-  exports["change"] = change;-})(PS["Web.HTML.Event.EventTypes"] = PS["Web.HTML.Event.EventTypes"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Web_Event_Event = PS["Web.Event.Event"];-  var click = "click";-  exports["click"] = click;-})(PS["Web.UIEvent.MouseEvent.EventTypes"] = PS["Web.UIEvent.MouseEvent.EventTypes"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad_Except = PS["Control.Monad.Except"];-  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Either = PS["Data.Either"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Identity = PS["Data.Identity"];-  var Data_Maybe = PS["Data.Maybe"];-  var Foreign = PS["Foreign"];-  var Foreign_Index = PS["Foreign.Index"];-  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];-  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];-  var Halogen_Query = PS["Halogen.Query"];-  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_Clipboard_ClipboardEvent = PS["Web.Clipboard.ClipboardEvent"];-  var Web_Clipboard_ClipboardEvent_EventTypes = PS["Web.Clipboard.ClipboardEvent.EventTypes"];-  var Web_Event_Event = PS["Web.Event.Event"];-  var Web_HTML_Event_DragEvent = PS["Web.HTML.Event.DragEvent"];-  var Web_HTML_Event_DragEvent_EventTypes = PS["Web.HTML.Event.DragEvent.EventTypes"];-  var Web_HTML_Event_EventTypes = PS["Web.HTML.Event.EventTypes"];-  var Web_TouchEvent_TouchEvent = PS["Web.TouchEvent.TouchEvent"];-  var Web_UIEvent_FocusEvent = PS["Web.UIEvent.FocusEvent"];-  var Web_UIEvent_FocusEvent_EventTypes = PS["Web.UIEvent.FocusEvent.EventTypes"];-  var Web_UIEvent_KeyboardEvent = PS["Web.UIEvent.KeyboardEvent"];-  var Web_UIEvent_KeyboardEvent_EventTypes = PS["Web.UIEvent.KeyboardEvent.EventTypes"];-  var Web_UIEvent_MouseEvent = PS["Web.UIEvent.MouseEvent"];-  var Web_UIEvent_MouseEvent_EventTypes = PS["Web.UIEvent.MouseEvent.EventTypes"];-  var Web_UIEvent_WheelEvent = PS["Web.UIEvent.WheelEvent"];-  var Web_UIEvent_WheelEvent_EventTypes = PS["Web.UIEvent.WheelEvent.EventTypes"];-  var mouseHandler = Unsafe_Coerce.unsafeCoerce;-  var input_ = function (f) {-      return function (v) {-          return Data_Maybe.Just.create(Halogen_Query.action(f));-      };-  };-  var input = function (f) {-      return function (x) {-          return Data_Maybe.Just.create(Halogen_Query.action(f(x)));-      };-  };-  var handler = function (et) {-      return function ($1) {-          return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_InputF.Query.create))($1));-      };-  };                                                       -  var onClick = function ($2) {-      return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($2));-  };                                                       -  var onSubmit = handler("submit");-  var addForeignPropHandler = function (key) {-      return function (prop) {-          return function (reader) {-              return function (f) {-                  var go = function (a) {-                      return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));-                  };-                  return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {-                      return Data_Either.either(Data_Function["const"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));-                  }));-              };-          };-      };-  };-  var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)("checked")(Foreign.readBoolean);              -  var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)("value")(Foreign.readString);-  exports["input"] = input;-  exports["input_"] = input_;-  exports["handler"] = handler;-  exports["onSubmit"] = onSubmit;-  exports["onClick"] = onClick;-  exports["onValueChange"] = onValueChange;-  exports["onChecked"] = onChecked;-})(PS["Halogen.HTML.Events"] = PS["Halogen.HTML.Events"] || {});-(function(exports) {-    "use strict";-  /* global Symbol */--  var hasArrayFrom = typeof Array.from === "function";-  var hasStringIterator =-    typeof Symbol !== "undefined" &&-    Symbol != null &&-    typeof Symbol.iterator !== "undefined" &&-    typeof String.prototype[Symbol.iterator] === "function";-  var hasFromCodePoint = typeof String.prototype.fromCodePoint === "function";-  var hasCodePointAt = typeof String.prototype.codePointAt === "function";--  exports._unsafeCodePointAt0 = function (fallback) {-    return hasCodePointAt-      ? function (str) { return str.codePointAt(0); }-      : fallback;-  };--  exports._singleton = function (fallback) {-    return hasFromCodePoint ? String.fromCodePoint : fallback;-  };--  exports._take = function (fallback) {-    return function (n) {-      if (hasStringIterator) {-        return function (str) {-          var accum = "";-          var iter = str[Symbol.iterator]();-          for (var i = 0; i < n; ++i) {-            var o = iter.next();-            if (o.done) return accum;-            accum += o.value;-          }-          return accum;-        };-      }-      return fallback(n);-    };-  };--  exports._toCodePointArray = function (fallback) {-    return function (unsafeCodePointAt0) {-      if (hasArrayFrom) {-        return function (str) {-          return Array.from(str, unsafeCodePointAt0);-        };-      }-      return fallback;-    };-  };-})(PS["Data.String.CodePoints"] = PS["Data.String.CodePoints"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Data.String.CodePoints"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Array = PS["Data.Array"];-  var Data_Boolean = PS["Data.Boolean"];-  var Data_Bounded = PS["Data.Bounded"];-  var Data_Enum = PS["Data.Enum"];-  var Data_Eq = PS["Data.Eq"];-  var Data_EuclideanRing = PS["Data.EuclideanRing"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Int = PS["Data.Int"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Ring = PS["Data.Ring"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Show = PS["Data.Show"];-  var Data_String_CodeUnits = PS["Data.String.CodeUnits"];-  var Data_String_Common = PS["Data.String.Common"];-  var Data_String_Pattern = PS["Data.String.Pattern"];-  var Data_String_Unsafe = PS["Data.String.Unsafe"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unfoldable = PS["Data.Unfoldable"];-  var Prelude = PS["Prelude"];-  var unsurrogate = function (lead) {-      return function (trail) {-          return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;-      };-  }; -  var isTrail = function (cu) {-      return 56320 <= cu && cu <= 57343;-  };-  var isLead = function (cu) {-      return 55296 <= cu && cu <= 56319;-  };-  var uncons = function (s) {-      var v = Data_String_CodeUnits.length(s);-      if (v === 0) {-          return Data_Maybe.Nothing.value;-      };-      if (v === 1) {-          return new Data_Maybe.Just({-              head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),-              tail: ""-          });-      };-      var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));-      var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));-      var $21 = isLead(cu0) && isTrail(cu1);-      if ($21) {-          return new Data_Maybe.Just({-              head: unsurrogate(cu0)(cu1),-              tail: Data_String_CodeUnits.drop(2)(s)-          });-      };-      return new Data_Maybe.Just({-          head: cu0,-          tail: Data_String_CodeUnits.drop(1)(s)-      });-  };-  var unconsButWithTuple = function (s) {-      return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {-          return new Data_Tuple.Tuple(v.head, v.tail);-      })(uncons(s));-  };-  var toCodePointArrayFallback = function (s) {-      return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);-  };-  var unsafeCodePointAt0Fallback = function (s) {-      var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));-      var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));-      var $25 = isLead(cu0) && isTrail(cu1);-      if ($25) {-          return unsurrogate(cu0)(cu1);-      };-      return cu0;-  };-  var unsafeCodePointAt0 = $foreign._unsafeCodePointAt0(unsafeCodePointAt0Fallback);-  var toCodePointArray = $foreign._toCodePointArray(toCodePointArrayFallback)(unsafeCodePointAt0);-  var length = function ($51) {-      return Data_Array.length(toCodePointArray($51));-  };-  var fromCharCode = function ($52) {-      return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($52));-  };-  var singletonFallback = function (v) {-      if (v <= 65535) {-          return fromCharCode(v);-      };-      var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;-      var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;-      return fromCharCode(lead) + fromCharCode(trail);-  };                                                                       -  var singleton = $foreign._singleton(singletonFallback);-  var takeFallback = function (n) {-      return function (v) {-          if (n < 1) {-              return "";-          };-          var v1 = uncons(v);-          if (v1 instanceof Data_Maybe.Just) {-              return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);-          };-          return v;-      };-  };-  var take = $foreign._take(takeFallback);-  var drop = function (n) {-      return function (s) {-          return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);-      };-  };-  exports["singleton"] = singleton;-  exports["toCodePointArray"] = toCodePointArray;-  exports["uncons"] = uncons;-  exports["length"] = length;-  exports["take"] = take;-  exports["drop"] = drop;-})(PS["Data.String.CodePoints"] = PS["Data.String.CodePoints"] || {});-(function(exports) {-    "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Array = PS["Data.Array"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_String = PS["Data.String"];-  var Data_String_CodePoints = PS["Data.String.CodePoints"];-  var Data_String_Common = PS["Data.String.Common"];-  var Data_String_Pattern = PS["Data.String.Pattern"];-  var Data_Tuple = PS["Data.Tuple"];-  var Effect = PS["Effect"];-  var Global_Unsafe = PS["Global.Unsafe"];-  var Halogen_HTML = PS["Halogen.HTML"];-  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];-  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];-  var Partial_Unsafe = PS["Partial.Unsafe"];-  var Prelude = PS["Prelude"];-  var Web_DOM = PS["Web.DOM"];-  var Web_DOM_Document = PS["Web.DOM.Document"];-  var Web_DOM_Element = PS["Web.DOM.Element"];-  var Web_DOM_NodeList = PS["Web.DOM.NodeList"];-  var Web_DOM_NonElementParentNode = PS["Web.DOM.NonElementParentNode"];-  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];-  var Web_HTML = PS["Web.HTML"];-  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];-  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];-  var Web_HTML_Location = PS["Web.HTML.Location"];-  var Web_HTML_Window = PS["Web.HTML.Window"];                 --  // Halogen-  var class_ = function ($54) {-      return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($54));-  };-  var attr = function (a) {-      return Halogen_HTML_Properties.attr(a);-  };-  var _querySelectorAll = function (s) {-      return function (n) {-          return Control_Bind.bindFlipped(Effect.bindEffect)(Web_DOM_NodeList.toArray)(Web_DOM_ParentNode.querySelectorAll(s)(Web_DOM_Element.toParentNode(n)));-      };-  };-  var _querySelector = function (s) {-      return function (n) {-          return Web_DOM_ParentNode.querySelector(s)(Web_DOM_Element.toParentNode(n));-      };-  };-  var _queryBoth$prime$prime = function (v) {-      return function (v1) {-          return function (f) {-              return function __do() {-                  var v2 = _querySelectorAll(v.value0)(v.value1)();-                  var v3 = _querySelectorAll(v1.value0)(v1.value1)();-                  return f(v2)(v3)();-              };-          };-      };-  };-  var _queryBoth$prime = function (v) {-      return function (v1) {-          return function (f) {-              return function __do() {-                  var v2 = _querySelector(v.value0)(v.value1)();-                  var v3 = _querySelectorAll(v1.value0)(v1.value1)();-                  return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v2)(function (a) {-                      return f(a)(v3);-                  })();-              };-          };-      };-  };--  // Util-  var _queryBoth = function (v) {-      return function (v1) {-          return function (f) {-              return function __do() {-                  var v2 = _querySelector(v.value0)(v.value1)();-                  var v3 = _querySelector(v1.value0)(v1.value1)();-                  return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v2)(function (a) {-                      return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v3)(function (b) {-                          return f(a)(b);-                      });-                  })();-              };-          };-      };-  };-  var _parseQueryString = function (srh) {-      var decode = function ($55) {-          return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll("+")(" ")($55));-      };-      var go = function (kv) {-          var v = Data_String_Common.split("=")(kv);-          if (v.length === 1) {-              return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));-          };-          if (v.length === 2) {-              return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));-          };-          return Data_Maybe.Nothing.value;-      };-      var qs = (function () {-          var srh$prime = Data_String_CodePoints.take(1)(srh);-          var $51 = srh$prime === "#" || srh$prime === "?";-          if ($51) {-              return Data_String_CodePoints.drop(1)(srh);-          };-          return srh;-      })();-      return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {-          return v !== "";-      })(Data_String_Common.split("&")(qs)));-  };-  var _mt_pure = function ($56) {-      return Control_Monad_Maybe_Trans.MaybeT(Control_Applicative.pure(Effect.applicativeEffect)($56));-  };-  var _mt = Control_Monad_Maybe_Trans.MaybeT;-  var _lookupQueryStringValue = function (qs) {-      return function (k) {-          return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($57) {-              return (function (v) {-                  return v === k;-              })(Data_Tuple.fst($57));-          })(qs)));-      };-  };-  var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);-  var _getElementById = function (s) {-      return function ($58) {-          return Web_DOM_NonElementParentNode.getElementById(s)(Web_DOM_Document.toNonElementParentNode(Web_HTML_HTMLDocument.toDocument($58)));-      };-  };-  var _fromNode = function (e) {-      return Data_Maybe.fromJust()(Web_DOM_Element.fromNode(e));-  };-  var _fromElement = function (e) {-      return Data_Maybe.fromJust()(Web_HTML_HTMLElement.fromElement(e));-  };-  var _doc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window);-  var _curQuerystring = function __do() {-      var v = _loc();-      var v1 = Web_HTML_Location.search(v)();-      return _parseQueryString(v1);-  };-  var _body = Control_Bind.bindFlipped(Effect.bindEffect)(function ($59) {-      return Control_Applicative.pure(Effect.applicativeEffect)(Data_Maybe.fromJust()($59));-  })(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_HTMLDocument.body)(_doc));-  exports["class_"] = class_;-  exports["attr"] = attr;-  exports["_queryBoth"] = _queryBoth;-  exports["_queryBoth'"] = _queryBoth$prime;-  exports["_queryBoth''"] = _queryBoth$prime$prime;-  exports["_querySelector"] = _querySelector;-  exports["_querySelectorAll"] = _querySelectorAll;-  exports["_fromNode"] = _fromNode;-  exports["_fromElement"] = _fromElement;-  exports["_getElementById"] = _getElementById;-  exports["_doc"] = _doc;-  exports["_loc"] = _loc;-  exports["_curQuerystring"] = _curQuerystring;-  exports["_parseQueryString"] = _parseQueryString;-  exports["_lookupQueryStringValue"] = _lookupQueryStringValue;-  exports["_body"] = _body;-  exports["_mt"] = _mt;-  exports["_mt_pure"] = _mt_pure;-})(PS["Util"] = PS["Util"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var App = PS["App"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];-  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];-  var Data_Array = PS["Data.Array"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_String = PS["Data.String"];-  var Data_String_Common = PS["Data.String.Common"];-  var Data_String_Pattern = PS["Data.String.Pattern"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unit = PS["Data.Unit"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Aff_Class = PS["Effect.Aff.Class"];-  var Effect_Class = PS["Effect.Class"];-  var Globals = PS["Globals"];-  var Halogen = PS["Halogen"];-  var Halogen_Component = PS["Halogen.Component"];-  var Halogen_HTML = PS["Halogen.HTML"];-  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];-  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];-  var Halogen_HTML_Events = PS["Halogen.HTML.Events"];-  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];-  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];-  var Model = PS["Model"];-  var Prelude = PS["Prelude"];-  var Util = PS["Util"];-  var Web_Event_Event = PS["Web.Event.Event"];-  var Web_HTML = PS["Web.HTML"];-  var Web_HTML_Location = PS["Web.HTML.Location"];                 -  var Eurl = (function () {-      function Eurl(value0) {-          this.value0 = value0;-      };-      Eurl.create = function (value0) {-          return new Eurl(value0);-      };-      return Eurl;-  })();-  var Etitle = (function () {-      function Etitle(value0) {-          this.value0 = value0;-      };-      Etitle.create = function (value0) {-          return new Etitle(value0);-      };-      return Etitle;-  })();-  var Edescription = (function () {-      function Edescription(value0) {-          this.value0 = value0;-      };-      Edescription.create = function (value0) {-          return new Edescription(value0);-      };-      return Edescription;-  })();-  var Etags = (function () {-      function Etags(value0) {-          this.value0 = value0;-      };-      Etags.create = function (value0) {-          return new Etags(value0);-      };-      return Etags;-  })();-  var Eprivate = (function () {-      function Eprivate(value0) {-          this.value0 = value0;-      };-      Eprivate.create = function (value0) {-          return new Eprivate(value0);-      };-      return Eprivate;-  })();-  var Etoread = (function () {-      function Etoread(value0) {-          this.value0 = value0;-      };-      Etoread.create = function (value0) {-          return new Etoread(value0);-      };-      return Etoread;-  })();-  var BEditField = (function () {-      function BEditField(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      BEditField.create = function (value0) {-          return function (value1) {-              return new BEditField(value0, value1);-          };-      };-      return BEditField;-  })();-  var BEditSubmit = (function () {-      function BEditSubmit(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      BEditSubmit.create = function (value0) {-          return function (value1) {-              return new BEditSubmit(value0, value1);-          };-      };-      return BEditSubmit;-  })();-  var BDeleteAsk = (function () {-      function BDeleteAsk(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      BDeleteAsk.create = function (value0) {-          return function (value1) {-              return new BDeleteAsk(value0, value1);-          };-      };-      return BDeleteAsk;-  })();-  var BDestroy = (function () {-      function BDestroy(value0) {-          this.value0 = value0;-      };-      BDestroy.create = function (value0) {-          return new BDestroy(value0);-      };-      return BDestroy;-  })();-  var addbmark = function (b$prime) {-      var render = function (v) {-          var toTextarea = function ($98) {-              return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {-                  return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];-              })(Data_String_Common.split("\x0a")($98)));-          };-          var mmoment = Globals.mmoment8601(v.bm.time);-          var display_exists = Halogen_HTML_Elements.div([ Util.class_("alert") ])([ Halogen_HTML_Core.text("previously saved\xa0"), Halogen_HTML_Elements.span([ Util.class_("when js-moment"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Util.attr("data-iso8601")(v.bm.time) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_("edit_links"), Util.attr("style")("display: inline-block; margin-left: 5px;") ])([ Halogen_HTML_Elements.div([ Util.class_("delete_link") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_("delete") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Core.text("delete") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_("confirm") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text("cancel\xa0/\xa0") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_("destroy") ])([ Halogen_HTML_Core.text("destroy") ]) ]) ]) ]) ]);-          var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.table_([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([  ]), Halogen_HTML_Elements.td_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("url") ])([ Halogen_HTML_Core.text("URL") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_("url"), Util.class_("url"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name("url"), Util.attr("size")("70"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(function ($99) {-              return Halogen_HTML_Events.input(BEditField.create)(Eurl.create($99));-          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("title") ])([ Halogen_HTML_Core.text("title") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_("title"), Util.class_("title"), Halogen_HTML_Properties.name("title"), Util.attr("size")("70"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(function ($100) {-              return Halogen_HTML_Events.input(BEditField.create)(Etitle.create($100));-          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("description") ])([ Halogen_HTML_Core.text("description") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_("description"), Halogen_HTML_Properties.id_("description"), Halogen_HTML_Properties.name("description"), Util.attr("cols")("70"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(function ($101) {-              return Halogen_HTML_Events.input(BEditField.create)(Edescription.create($101));-          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("tags") ])([ Halogen_HTML_Core.text("tags") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_("tags"), Util.class_("tags"), Halogen_HTML_Properties.name("tags"), Util.attr("size")("70"), Halogen_HTML_Properties.autocomplete(false), Util.attr("autocapitalize")("off"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(function ($102) {-              return Halogen_HTML_Events.input(BEditField.create)(Etags.create($102));-          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("private") ])([ Halogen_HTML_Core.text("private") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_("private"), Util.class_("private"), Halogen_HTML_Properties.name("private"), Halogen_HTML_Properties.checked(v["edit_bm"]["private"]), Halogen_HTML_Events.onChecked(function ($103) {-              return Halogen_HTML_Events.input(BEditField.create)(Eprivate.create($103));-          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("toread") ])([ Halogen_HTML_Core.text("read later") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_("toread"), Util.class_("toread"), Halogen_HTML_Properties.name("toread"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(function ($104) {-              return Halogen_HTML_Events.input(BEditField.create)(Etoread.create($104));-          }) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([  ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_("submit"), Halogen_HTML_Properties.value((function () {-              var $26 = v.bm.bid > 0;-              if ($26) {-                  return "update bookmark";-              };-              return "add bookmark";-          })()) ]) ]) ]) ]) ]) ]);-          var display_destroyed = Halogen_HTML_Elements.p([ Util.class_("error") ])([ Halogen_HTML_Core.text("you killed this bookmark") ]);-          return Halogen_HTML_Elements.div_([ (function () {-              var $27 = !v.destroyed;-              if ($27) {-                  return display_edit;-              };-              return display_destroyed;-          })() ]);-      };-      var mkState = function (b) {-          return {-              bm: b,-              edit_bm: b,-              deleteAsk: false,-              destroyed: false-          };-      };-      var $$eval = function (v) {-          if (v instanceof BDeleteAsk) {-              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {-                  var $31 = {};-                  for (var $32 in v1) {-                      if ({}.hasOwnProperty.call(v1, $32)) {-                          $31[$32] = v1[$32];-                      };-                  };-                  $31.deleteAsk = v.value0;-                  return $31;-              }))(function () {-                  return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);-              });-          };-          if (v instanceof BDestroy) {-              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {-                  return v1.bm.bid;-              }))(function (v1) {-                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {-                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {-                          var $37 = {};-                          for (var $38 in v2) {-                              if ({}.hasOwnProperty.call(v2, $38)) {-                                  $37[$38] = v2[$38];-                              };-                          };-                          $37.destroyed = true;-                          return $37;-                      }))(function () {-                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);-                      });-                  });-              });-          };-          if (v instanceof BEditField) {-              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {-                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {-                      if (v.value0 instanceof Eurl) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $46 = {};-                              for (var $47 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $47)) {-                                      $46[$47] = v1[$47];-                                  };-                              };-                              $46.edit_bm = (function () {-                                  var $43 = {};-                                  for (var $44 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $44)) {-                                          $43[$44] = v1["edit_bm"][$44];-                                      };-                                  };-                                  $43.url = v.value0.value0;-                                  return $43;-                              })();-                              return $46;-                          })());-                      };-                      if (v.value0 instanceof Etitle) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $53 = {};-                              for (var $54 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $54)) {-                                      $53[$54] = v1[$54];-                                  };-                              };-                              $53.edit_bm = (function () {-                                  var $50 = {};-                                  for (var $51 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $51)) {-                                          $50[$51] = v1["edit_bm"][$51];-                                      };-                                  };-                                  $50.title = v.value0.value0;-                                  return $50;-                              })();-                              return $53;-                          })());-                      };-                      if (v.value0 instanceof Edescription) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $60 = {};-                              for (var $61 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $61)) {-                                      $60[$61] = v1[$61];-                                  };-                              };-                              $60.edit_bm = (function () {-                                  var $57 = {};-                                  for (var $58 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $58)) {-                                          $57[$58] = v1["edit_bm"][$58];-                                      };-                                  };-                                  $57.description = v.value0.value0;-                                  return $57;-                              })();-                              return $60;-                          })());-                      };-                      if (v.value0 instanceof Etags) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $67 = {};-                              for (var $68 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $68)) {-                                      $67[$68] = v1[$68];-                                  };-                              };-                              $67.edit_bm = (function () {-                                  var $64 = {};-                                  for (var $65 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $65)) {-                                          $64[$65] = v1["edit_bm"][$65];-                                      };-                                  };-                                  $64.tags = v.value0.value0;-                                  return $64;-                              })();-                              return $67;-                          })());-                      };-                      if (v.value0 instanceof Eprivate) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $74 = {};-                              for (var $75 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $75)) {-                                      $74[$75] = v1[$75];-                                  };-                              };-                              $74.edit_bm = (function () {-                                  var $71 = {};-                                  for (var $72 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $72)) {-                                          $71[$72] = v1["edit_bm"][$72];-                                      };-                                  };-                                  $71["private"] = v.value0.value0;-                                  return $71;-                              })();-                              return $74;-                          })());-                      };-                      if (v.value0 instanceof Etoread) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $81 = {};-                              for (var $82 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $82)) {-                                      $81[$82] = v1[$82];-                                  };-                              };-                              $81.edit_bm = (function () {-                                  var $78 = {};-                                  for (var $79 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $79)) {-                                          $78[$79] = v1["edit_bm"][$79];-                                      };-                                  };-                                  $78.toread = v.value0.value0;-                                  return $78;-                              })();-                              return $81;-                          })());-                      };-                      throw new Error("Failed pattern match at Component.Add line 153, column 5 - line 159, column 68: " + [ v.value0.constructor.name ]);-                  })())(function () {-                      return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);-                  });-              });-          };-          if (v instanceof BEditSubmit) {-              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {-                  return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {-                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1.edit_bm))))(function () {-                          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $88 = {};-                              for (var $89 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $89)) {-                                      $88[$89] = v1[$89];-                                  };-                              };-                              $88.bm = v1.edit_bm;-                              return $88;-                          })()))(function () {-                              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util._loc))(function (v2) {-                                  return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {-                                      return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util._curQuerystring))(function (v4) {-                                          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {-                                              var v5 = Util._lookupQueryStringValue(v4)("next");-                                              if (v5 instanceof Data_Maybe.Just) {-                                                  return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));-                                              };-                                              return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));-                                          })())(function () {-                                              return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);-                                          });-                                      });-                                  });-                              });-                          });-                      });-                  });-              });-          };-          throw new Error("Failed pattern match at Component.Add line 142, column 3 - line 142, column 58: " + [ v.constructor.name ]);-      };-      var app = Globals["app'"](Data_Unit.unit);-      return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({-          initialState: Data_Function["const"](mkState(b$prime)),-          render: render,-          "eval": $$eval,-          receiver: Data_Function["const"](Data_Maybe.Nothing.value)-      });-  };-  exports["BEditField"] = BEditField;-  exports["BEditSubmit"] = BEditSubmit;-  exports["BDeleteAsk"] = BDeleteAsk;-  exports["BDestroy"] = BDestroy;-  exports["Eurl"] = Eurl;-  exports["Etitle"] = Etitle;-  exports["Edescription"] = Edescription;-  exports["Etags"] = Etags;-  exports["Eprivate"] = Eprivate;-  exports["Etoread"] = Etoread;-  exports["addbmark"] = addbmark;-})(PS["Component.Add"] = PS["Component.Add"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var App = PS["App"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];-  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];-  var Data_Array = PS["Data.Array"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Monoid = PS["Data.Monoid"];-  var Data_Semigroup = PS["Data.Semigroup"];-  var Data_Show = PS["Data.Show"];-  var Data_String = PS["Data.String"];-  var Data_String_CodePoints = PS["Data.String.CodePoints"];-  var Data_String_Common = PS["Data.String.Common"];-  var Data_String_Pattern = PS["Data.String.Pattern"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unit = PS["Data.Unit"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Aff_Class = PS["Effect.Aff.Class"];-  var Effect_Class = PS["Effect.Class"];-  var Globals = PS["Globals"];-  var Halogen = PS["Halogen"];-  var Halogen_Component = PS["Halogen.Component"];-  var Halogen_HTML = PS["Halogen.HTML"];-  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];-  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];-  var Halogen_HTML_Events = PS["Halogen.HTML.Events"];-  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];-  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];-  var Model = PS["Model"];-  var Prelude = PS["Prelude"];-  var Util = PS["Util"];-  var Web_Event_Event = PS["Web.Event.Event"];                 -  var Eurl = (function () {-      function Eurl(value0) {-          this.value0 = value0;-      };-      Eurl.create = function (value0) {-          return new Eurl(value0);-      };-      return Eurl;-  })();-  var Etitle = (function () {-      function Etitle(value0) {-          this.value0 = value0;-      };-      Etitle.create = function (value0) {-          return new Etitle(value0);-      };-      return Etitle;-  })();-  var Edescription = (function () {-      function Edescription(value0) {-          this.value0 = value0;-      };-      Edescription.create = function (value0) {-          return new Edescription(value0);-      };-      return Edescription;-  })();-  var Etags = (function () {-      function Etags(value0) {-          this.value0 = value0;-      };-      Etags.create = function (value0) {-          return new Etags(value0);-      };-      return Etags;-  })();-  var Eprivate = (function () {-      function Eprivate(value0) {-          this.value0 = value0;-      };-      Eprivate.create = function (value0) {-          return new Eprivate(value0);-      };-      return Eprivate;-  })();-  var Etoread = (function () {-      function Etoread(value0) {-          this.value0 = value0;-      };-      Etoread.create = function (value0) {-          return new Etoread(value0);-      };-      return Etoread;-  })();-  var BStar = (function () {-      function BStar(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      BStar.create = function (value0) {-          return function (value1) {-              return new BStar(value0, value1);-          };-      };-      return BStar;-  })();-  var BDeleteAsk = (function () {-      function BDeleteAsk(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      BDeleteAsk.create = function (value0) {-          return function (value1) {-              return new BDeleteAsk(value0, value1);-          };-      };-      return BDeleteAsk;-  })();-  var BDestroy = (function () {-      function BDestroy(value0) {-          this.value0 = value0;-      };-      BDestroy.create = function (value0) {-          return new BDestroy(value0);-      };-      return BDestroy;-  })();-  var BEdit = (function () {-      function BEdit(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      BEdit.create = function (value0) {-          return function (value1) {-              return new BEdit(value0, value1);-          };-      };-      return BEdit;-  })();-  var BEditField = (function () {-      function BEditField(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      BEditField.create = function (value0) {-          return function (value1) {-              return new BEditField(value0, value1);-          };-      };-      return BEditField;-  })();-  var BEditSubmit = (function () {-      function BEditSubmit(value0, value1) {-          this.value0 = value0;-          this.value1 = value1;-      };-      BEditSubmit.create = function (value0) {-          return function (value1) {-              return new BEditSubmit(value0, value1);-          };-      };-      return BEditSubmit;-  })();-  var BMarkRead = (function () {-      function BMarkRead(value0) {-          this.value0 = value0;-      };-      BMarkRead.create = function (value0) {-          return new BMarkRead(value0);-      };-      return BMarkRead;-  })();-  var BNotifyRemove = (function () {-      function BNotifyRemove() {--      };-      BNotifyRemove.value = new BNotifyRemove();-      return BNotifyRemove;-  })();-  var bmark = function (b$prime) {-      var mkState = function (b) {-          return {-              bm: b,-              edit_bm: b,-              deleteAsk: false,-              edit: false-          };-      };-      var $$eval = function (v) {-          if (v instanceof BStar) {-              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {-                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(v1.bm.bid)((function () {-                      if (v.value0) {-                          return App.Star.value;-                      };-                      return App.UnStar.value;-                  })())))(function () {-                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                          var $38 = {};-                          for (var $39 in v1) {-                              if ({}.hasOwnProperty.call(v1, $39)) {-                                  $38[$39] = v1[$39];-                              };-                          };-                          $38.bm = (function () {-                              var $32 = {};-                              for (var $33 in v1.bm) {-                                  if ({}.hasOwnProperty.call(v1.bm, $33)) {-                                      $32[$33] = v1["bm"][$33];-                                  };-                              };-                              $32.selected = v.value0;-                              return $32;-                          })();-                          $38.edit_bm = (function () {-                              var $35 = {};-                              for (var $36 in v1.edit_bm) {-                                  if ({}.hasOwnProperty.call(v1.edit_bm, $36)) {-                                      $35[$36] = v1["edit_bm"][$36];-                                  };-                              };-                              $35.selected = v.value0;-                              return $35;-                          })();-                          return $38;-                      })()))(function () {-                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);-                      });-                  });-              });-          };-          if (v instanceof BDeleteAsk) {-              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {-                  var $43 = {};-                  for (var $44 in v1) {-                      if ({}.hasOwnProperty.call(v1, $44)) {-                          $43[$44] = v1[$44];-                      };-                  };-                  $43.deleteAsk = v.value0;-                  return $43;-              }))(function () {-                  return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);-              });-          };-          if (v instanceof BDestroy) {-              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {-                  return v1.bm.bid;-              }))(function (v1) {-                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {-                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query_HalogenM.raise(BNotifyRemove.value))(function () {-                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);-                      });-                  });-              });-          };-          if (v instanceof BMarkRead) {-              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {-                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(v1.bm.bid))))(function () {-                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                          var $54 = {};-                          for (var $55 in v1) {-                              if ({}.hasOwnProperty.call(v1, $55)) {-                                  $54[$55] = v1[$55];-                              };-                          };-                          $54.bm = (function () {-                              var $51 = {};-                              for (var $52 in v1.bm) {-                                  if ({}.hasOwnProperty.call(v1.bm, $52)) {-                                      $51[$52] = v1["bm"][$52];-                                  };-                              };-                              $51.toread = false;-                              return $51;-                          })();-                          return $54;-                      })()))(function () {-                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);-                      });-                  });-              });-          };-          if (v instanceof BEdit) {-              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {-                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                      var $59 = {};-                      for (var $60 in v1) {-                          if ({}.hasOwnProperty.call(v1, $60)) {-                              $59[$60] = v1[$60];-                          };-                      };-                      $59.edit = v.value0;-                      $59.edit_bm = v1.bm;-                      return $59;-                  })()))(function () {-                      return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);-                  });-              });-          };-          if (v instanceof BEditField) {-              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {-                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {-                      if (v.value0 instanceof Eurl) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $69 = {};-                              for (var $70 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $70)) {-                                      $69[$70] = v1[$70];-                                  };-                              };-                              $69.edit_bm = (function () {-                                  var $66 = {};-                                  for (var $67 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $67)) {-                                          $66[$67] = v1["edit_bm"][$67];-                                      };-                                  };-                                  $66.url = v.value0.value0;-                                  return $66;-                              })();-                              return $69;-                          })());-                      };-                      if (v.value0 instanceof Etitle) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $76 = {};-                              for (var $77 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $77)) {-                                      $76[$77] = v1[$77];-                                  };-                              };-                              $76.edit_bm = (function () {-                                  var $73 = {};-                                  for (var $74 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $74)) {-                                          $73[$74] = v1["edit_bm"][$74];-                                      };-                                  };-                                  $73.title = v.value0.value0;-                                  return $73;-                              })();-                              return $76;-                          })());-                      };-                      if (v.value0 instanceof Edescription) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $83 = {};-                              for (var $84 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $84)) {-                                      $83[$84] = v1[$84];-                                  };-                              };-                              $83.edit_bm = (function () {-                                  var $80 = {};-                                  for (var $81 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $81)) {-                                          $80[$81] = v1["edit_bm"][$81];-                                      };-                                  };-                                  $80.description = v.value0.value0;-                                  return $80;-                              })();-                              return $83;-                          })());-                      };-                      if (v.value0 instanceof Etags) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $90 = {};-                              for (var $91 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $91)) {-                                      $90[$91] = v1[$91];-                                  };-                              };-                              $90.edit_bm = (function () {-                                  var $87 = {};-                                  for (var $88 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $88)) {-                                          $87[$88] = v1["edit_bm"][$88];-                                      };-                                  };-                                  $87.tags = v.value0.value0;-                                  return $87;-                              })();-                              return $90;-                          })());-                      };-                      if (v.value0 instanceof Eprivate) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $97 = {};-                              for (var $98 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $98)) {-                                      $97[$98] = v1[$98];-                                  };-                              };-                              $97.edit_bm = (function () {-                                  var $94 = {};-                                  for (var $95 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $95)) {-                                          $94[$95] = v1["edit_bm"][$95];-                                      };-                                  };-                                  $94["private"] = v.value0.value0;-                                  return $94;-                              })();-                              return $97;-                          })());-                      };-                      if (v.value0 instanceof Etoread) {-                          return Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $104 = {};-                              for (var $105 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $105)) {-                                      $104[$105] = v1[$105];-                                  };-                              };-                              $104.edit_bm = (function () {-                                  var $101 = {};-                                  for (var $102 in v1.edit_bm) {-                                      if ({}.hasOwnProperty.call(v1.edit_bm, $102)) {-                                          $101[$102] = v1["edit_bm"][$102];-                                      };-                                  };-                                  $101.toread = v.value0.value0;-                                  return $101;-                              })();-                              return $104;-                          })());-                      };-                      throw new Error("Failed pattern match at Component.BMark line 212, column 5 - line 218, column 68: " + [ v.value0.constructor.name ]);-                  })())(function () {-                      return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);-                  });-              });-          };-          if (v instanceof BEditSubmit) {-              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {-                  return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {-                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1.edit_bm))))(function () {-                          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {-                              var $111 = {};-                              for (var $112 in v1) {-                                  if ({}.hasOwnProperty.call(v1, $112)) {-                                      $111[$112] = v1[$112];-                                  };-                              };-                              $111.edit = false;-                              $111.bm = v1.edit_bm;-                              return $111;-                          })()))(function () {-                              return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);-                          });-                      });-                  });-              });-          };-          throw new Error("Failed pattern match at Component.BMark line 187, column 3 - line 187, column 62: " + [ v.constructor.name ]);-      };-      var app = Globals["app'"](Data_Unit.unit);-      var render = function (v) {-          var toTextarea = function ($121) {-              return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {-                  return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];-              })(Data_String_Common.split("\x0a")($121)));-          };-          var star = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_("star" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(" selected_star")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BStar.create(!v.bm.selected))) ])([ Halogen_HTML_Core.text("\u272d") ]) ]) ]);-          var mmoment = Globals.mmoment8601(v.bm.time);-          var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_("edit_links") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(true))), Util.class_("edit") ])([ Halogen_HTML_Core.text("edit\xa0\xa0") ]), Halogen_HTML_Elements.div([ Util.class_("delete_link") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_("delete") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Core.text("delete") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_("confirm") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text("cancel\xa0/\xa0") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_("destroy") ])([ Halogen_HTML_Core.text("destroy") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_("read") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text("\xa0\xa0"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BMarkRead.create)), Util.class_("mark_read") ])([ Halogen_HTML_Core.text("mark as read") ]) ])) ]);-          var linkToFilterTag = function (tag) {-              return app.userR + ("/t:" + tag);-          };-          var linkToFilterSingle = function (bid) {-              return app.userR + ("/b:" + Data_Show.show(Data_Show.showInt)(bid));-          };-          var display_edit = [ Halogen_HTML_Elements.div([ Util.class_("edit_bookmark_form active") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_("url edit_form_input"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name("url"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(function ($122) {-              return Halogen_HTML_Events.input(BEditField.create)(Eurl.create($122));-          }) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_("title edit_form_input"), Halogen_HTML_Properties.name("title"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(function ($123) {-              return Halogen_HTML_Events.input(BEditField.create)(Etitle.create($123));-          }) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.attr("style")("margin-top:10px;margin-bottom:5px;") ])([ Halogen_HTML_Core.text(" description:") ]), Halogen_HTML_Elements.textarea([ Util.class_("description edit_form_input"), Halogen_HTML_Properties.name("description"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(function ($124) {-              return Halogen_HTML_Events.input(BEditField.create)(Edescription.create($124));-          }) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_("tags_input_box") ])([ Halogen_HTML_Elements.p([ Util.attr("style")("margin-top:10px") ])([ Halogen_HTML_Core.text(" tags:"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_("tags edit_form_input"), Halogen_HTML_Properties.name("tags"), Halogen_HTML_Properties.autocomplete(false), Util.attr("autocapitalize")("off"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(function ($125) {-              return Halogen_HTML_Events.input(BEditField.create)(Etags.create($125));-          }) ]), Halogen_HTML_Elements.br_ ]) ]), Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_("edit_form_checkboxes") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_("private"), Halogen_HTML_Properties.id_("edit_private"), Halogen_HTML_Properties.name("private"), Halogen_HTML_Properties.checked(v["edit_bm"]["private"]), Halogen_HTML_Events.onChecked(function ($126) {-              return Halogen_HTML_Events.input(BEditField.create)(Eprivate.create($126));-          }) ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("edit_private") ])([ Halogen_HTML_Core.text("private") ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_("toread"), Halogen_HTML_Properties.id_("edit_toread"), Halogen_HTML_Properties.name("toread"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(function ($127) {-              return Halogen_HTML_Events.input(BEditField.create)(Etoread.create($127));-          }) ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("edit_toread") ])([ Halogen_HTML_Core.text("toread") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_("submit edit-button"), Halogen_HTML_Properties.value("save") ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_("reset edit-button"), Halogen_HTML_Properties.value("cancel"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(false))) ]) ]) ]) ];-          var display = [ Halogen_HTML_Elements.div([ Util.class_("display") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target("_blank"), Util.class_("bookmark_title" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(" unread")) ])([ Halogen_HTML_Core.text((function () {-              var $117 = Data_String_Common["null"](v.bm.title);-              if ($117) {-                  return "[no title]";-              };-              return v.bm.title;-          })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_("url_display") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_("description") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_("tags") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common["null"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {-              return Halogen_HTML_Elements.a([ Util.class_("tag" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === ".")(" private")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);-          })(Data_String_Common.split(" ")(v.bm.tags))), Halogen_HTML_Elements.a([ Util.class_("when js-moment"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Util.attr("data-iso8601")(v.bm.time), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.bid)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment)) ]) ])(links)) ];-          var clearBoth = [ Halogen_HTML_Elements.div([ Util.attr("style")("clear:both") ])([  ]) ];-          var bookmark = Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_("bookmark" + Data_Monoid.guard(Data_Monoid.monoidString)(v["bm"]["private"])(" private")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {-              if (v.edit) {-                  return display_edit;-              };-              return Data_Semigroup.append(Data_Semigroup.semigroupArray)(display)(clearBoth);-          })()));-          return Halogen_HTML_Elements.div_(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ bookmark ])(clearBoth));-      };-      return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({-          initialState: Data_Function["const"](mkState(b$prime)),-          render: render,-          "eval": $$eval,-          receiver: Data_Function["const"](Data_Maybe.Nothing.value)-      });-  };-  exports["BStar"] = BStar;-  exports["BDeleteAsk"] = BDeleteAsk;-  exports["BDestroy"] = BDestroy;-  exports["BEdit"] = BEdit;-  exports["BEditField"] = BEditField;-  exports["BEditSubmit"] = BEditSubmit;-  exports["BMarkRead"] = BMarkRead;-  exports["Eurl"] = Eurl;-  exports["Etitle"] = Etitle;-  exports["Edescription"] = Edescription;-  exports["Etags"] = Etags;-  exports["Eprivate"] = Eprivate;-  exports["Etoread"] = Etoread;-  exports["BNotifyRemove"] = BNotifyRemove;-  exports["bmark"] = bmark;-})(PS["Component.BMark"] = PS["Component.BMark"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Component_BMark = PS["Component.BMark"];-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];-  var Data_Array = PS["Data.Array"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Unit = PS["Data.Unit"];-  var Effect_Aff = PS["Effect.Aff"];-  var Halogen = PS["Halogen"];-  var Halogen_Component = PS["Halogen.Component"];-  var Halogen_HTML = PS["Halogen.HTML"];-  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];-  var Halogen_HTML_Events = PS["Halogen.HTML.Events"];-  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];-  var Model = PS["Model"];-  var Prelude = PS["Prelude"];                 -  var HandleBMessage = (function () {-      function HandleBMessage(value0, value1, value2) {-          this.value0 = value0;-          this.value1 = value1;-          this.value2 = value2;-      };-      HandleBMessage.create = function (value0) {-          return function (value1) {-              return function (value2) {-                  return new HandleBMessage(value0, value1, value2);-              };-          };-      };-      return HandleBMessage;-  })();-  var removeBookmark = function (bookmarkId) {-      return function (st) {-          return Data_Array.filter(function (b) {-              return b.bid !== bookmarkId;-          })(st);-      };-  };-  var blist = function (st) {-      var renderBookmark = function (b) {-          return Halogen_HTML.slot(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(Halogen_HTML_Events.input(HandleBMessage.create(b.bid)));-      };-      var render = function (bms) {-          return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderBookmark)(bms));-      };-      var $$eval = function (v) {-          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(removeBookmark(v.value0)))(function () {-              return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value2);-          });-      };-      return Halogen_Component.parentComponent(Data_Ord.ordInt)({-          initialState: Data_Function["const"](st),-          render: render,-          "eval": $$eval,-          receiver: Data_Function["const"](Data_Maybe.Nothing.value)-      });-  };-  exports["HandleBMessage"] = HandleBMessage;-  exports["blist"] = blist;-  exports["removeBookmark"] = removeBookmark;-})(PS["Component.BList"] = PS["Component.BList"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];-  var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Effect_Aff = PS["Effect.Aff"];-  var Prelude = PS["Prelude"];-  var MonadFork = function (Functor1, Monad0, fork, join, suspend) {-      this.Functor1 = Functor1;-      this.Monad0 = Monad0;-      this.fork = fork;-      this.join = join;-      this.suspend = suspend;-  };-  var suspend = function (dict) {-      return dict.suspend;-  };-  var monadForkAff = new MonadFork(function () {-      return Effect_Aff.functorFiber;-  }, function () {-      return Effect_Aff.monadAff;-  }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);-  var join = function (dict) {-      return dict.join;-  };-  var fork = function (dict) {-      return dict.fork;-  };-  exports["fork"] = fork;-  exports["join"] = join;-  exports["suspend"] = suspend;-  exports["MonadFork"] = MonadFork;-  exports["monadForkAff"] = monadForkAff;-})(PS["Control.Monad.Fork.Class"] = PS["Control.Monad.Fork.Class"] || {});-(function(exports) {-    "use strict";--  exports.warn = function (s) {-    return function () {-      console.warn(s);-      return {};-    };-  };-})(PS["Effect.Console"] = PS["Effect.Console"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Effect.Console"];-  var Data_Show = PS["Data.Show"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  exports["warn"] = $foreign.warn;-})(PS["Effect.Console"] = PS["Effect.Console"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_List = PS["Data.List"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Map = PS["Data.Map"];-  var Data_Map_Internal = PS["Data.Map.Internal"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Traversable = PS["Data.Traversable"];-  var Effect = PS["Effect"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Ref = PS["Effect.Ref"];-  var Halogen_Component = PS["Halogen.Component"];-  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];-  var Prelude = PS["Prelude"];-  var Unsafe_Coerce = PS["Unsafe.Coerce"];-  var Web_DOM = PS["Web.DOM"];-  var unRenderStateX = Unsafe_Coerce.unsafeCoerce;-  var unDriverStateX = Unsafe_Coerce.unsafeCoerce;-  var renderStateX_ = function (dictApplicative) {-      return function (f) {-          return unDriverStateX(function (st) {-              return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);-          });-      };-  };-  var mkRenderStateX = function (v) {-      return Unsafe_Coerce.unsafeCoerce;-  };-  var renderStateX = function (dictFunctor) {-      return function (f) {-          return unDriverStateX(function (st) {-              return mkRenderStateX(st.prjQuery)(f(st.rendering));-          });-      };-  };-  var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;-  var initDriverState = function (component) {-      return function (input) {-          return function (handler) {-              return function (prjQuery) {-                  return function (lchs) {-                      return function __do() {-                          var v = Effect_Ref["new"]({})();-                          var v1 = Effect_Ref["new"](Data_Map_Internal.empty)();-                          var v2 = Effect_Ref["new"](Data_Map_Internal.empty)();-                          var v3 = Effect_Ref["new"](Data_Functor.voidLeft(Data_Maybe.functorMaybe)(component.initializer)(Data_List_Types.Nil.value))();-                          var v4 = Effect_Ref["new"](new Data_Maybe.Just(Data_List_Types.Nil.value))();-                          var v5 = Effect_Ref["new"](Data_Maybe.Nothing.value)();-                          var v6 = Effect_Ref["new"](0)();-                          var v7 = Effect_Ref["new"](new Data_Maybe.Just(Data_Map_Internal.empty))();-                          var ds = {-                              component: component,-                              state: component.initialState(input),-                              refs: Data_Map_Internal.empty,-                              children: Data_Map_Internal.empty,-                              childrenIn: v1,-                              childrenOut: v2,-                              selfRef: v,-                              handler: handler,-                              pendingQueries: v3,-                              pendingOuts: v4,-                              pendingHandlers: v5,-                              rendering: Data_Maybe.Nothing.value,-                              prjQuery: prjQuery,-                              fresh: v6,-                              subscriptions: v7,-                              lifecycleHandlers: lchs-                          };-                          Effect_Ref.write(ds)(v)();-                          return mkDriverStateXRef(v);-                      };-                  };-              };-          };-      };-  };-  exports["unDriverStateX"] = unDriverStateX;-  exports["mkDriverStateXRef"] = mkDriverStateXRef;-  exports["renderStateX"] = renderStateX;-  exports["renderStateX_"] = renderStateX_;-  exports["unRenderStateX"] = unRenderStateX;-  exports["initDriverState"] = initDriverState;-})(PS["Halogen.Aff.Driver.State"] = PS["Halogen.Aff.Driver.State"] || {});-(function(exports) {-    "use strict";--  exports.reallyUnsafeRefEq = function (a) {-    return function (b) {-      return a === b;-    };-  };-})(PS["Unsafe.Reference"] = PS["Unsafe.Reference"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var $foreign = PS["Unsafe.Reference"]; -  var unsafeRefEq = $foreign.reallyUnsafeRefEq;-  exports["unsafeRefEq"] = unsafeRefEq;-})(PS["Unsafe.Reference"] = PS["Unsafe.Reference"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Applicative_Free = PS["Control.Applicative.Free"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Coroutine = PS["Control.Coroutine"];-  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];-  var Control_Monad_Fork_Class = PS["Control.Monad.Fork.Class"];-  var Control_Monad_Free = PS["Control.Monad.Free"];-  var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"];-  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];-  var Control_Parallel = PS["Control.Parallel"];-  var Control_Parallel_Class = PS["Control.Parallel.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Boolean = PS["Data.Boolean"];-  var Data_Coyoneda = PS["Data.Coyoneda"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_List = PS["Data.List"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Map = PS["Data.Map"];-  var Data_Map_Internal = PS["Data.Map.Internal"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Set = PS["Data.Set"];-  var Data_Tuple = PS["Data.Tuple"];-  var Effect = PS["Effect"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Class = PS["Effect.Class"];-  var Effect_Exception = PS["Effect.Exception"];-  var Effect_Ref = PS["Effect.Ref"];-  var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"];-  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];-  var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"];-  var Halogen_Query_ForkF = PS["Halogen.Query.ForkF"];-  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];-  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];-  var Prelude = PS["Prelude"];-  var Unsafe_Reference = PS["Unsafe.Reference"];                 -  var queuingHandler = function (handler) {-      return function (ref) {-          return function (message) {-              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {-                  if (v instanceof Data_Maybe.Nothing) {-                      return handler(message);-                  };-                  if (v instanceof Data_Maybe.Just) {-                      return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(handler(message), v.value0)))(ref));-                  };-                  throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 171, column 3 - line 175, column 59: " + [ v.constructor.name ]);-              });-          };-      };-  };-  var handleLifecycle = function (lchs) {-      return function (f) {-          return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({-              initializers: Data_List_Types.Nil.value,-              finalizers: Data_List_Types.Nil.value-          })(lchs)))(function () {-              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (v) {-                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {-                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v1.finalizers))(function () {-                          return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {-                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);-                          });-                      });-                  });-              });-          });-      };-  };-  var $$eval = function (render) {-      return function (r) {-          var go = function (ref) {-              return function (v) {-                  if (v instanceof Halogen_Query_HalogenM.State) {-                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {-                          var v2 = v.value0(v1.state);-                          if (Unsafe_Reference.unsafeRefEq(v1.state)(v2.value1)) {-                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);-                          };-                          if (Data_Boolean.otherwise) {-                              return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({-                                  component: v1.component,-                                  state: v2.value1,-                                  refs: v1.refs,-                                  children: v1.children,-                                  childrenIn: v1.childrenIn,-                                  childrenOut: v1.childrenOut,-                                  selfRef: v1.selfRef,-                                  handler: v1.handler,-                                  pendingQueries: v1.pendingQueries,-                                  pendingOuts: v1.pendingOuts,-                                  pendingHandlers: v1.pendingHandlers,-                                  rendering: v1.rendering,-                                  prjQuery: v1.prjQuery,-                                  fresh: v1.fresh,-                                  subscriptions: v1.subscriptions,-                                  lifecycleHandlers: v1.lifecycleHandlers-                              })(ref)))(function () {-                                  return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v1.lifecycleHandlers)(render(v1.lifecycleHandlers)(ref)))(function () {-                                      return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);-                                  });-                              });-                          };-                          throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 76, column 7 - line 82, column 21: " + [ v2.constructor.name ]);-                      });-                  };-                  if (v instanceof Halogen_Query_HalogenM.Subscribe) {-                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {-                          return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Query_EventSource.unEventSource(v.value0))(function (v2) {-                              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref["modify'"](function (i) {-                                  return {-                                      state: i + 1 | 0,-                                      value: i-                                  };-                              })(v1.fresh)))(function (v3) {-                                  var done$prime = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions)))(function (v4) {-                                      return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Data_Ord.ordInt)(v3))(v4))(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal["delete"](Data_Ord.ordInt)(v3)))(v1.subscriptions)));-                                  });-                                  return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Data_Ord.ordInt)(v3)(done$prime)))(v1.subscriptions)))(function () {-                                      var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine["await"](Effect_Aff.monadAff))(function (v4) {-                                          return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions))))(function (v5) {-                                              return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Maybe.isJust(v5))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(evalF(ref)(v4)))(function (v6) {-                                                  return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Halogen_Query_EventSource.eqSubscribeStatus)(v6)(Halogen_Query_EventSource.Listening.value))(consumer);-                                              }));-                                          });-                                      });-                                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v2.producer)))(function () {-                                          return done$prime;-                                      });-                                  });-                              });-                          })))(function (v2) {-                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);-                          });-                      });-                  };-                  if (v instanceof Halogen_Query_HalogenM.Lift) {-                      return v.value0;-                  };-                  if (v instanceof Halogen_Query_HalogenM.Halt) {-                      return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(v.value0));-                  };-                  if (v instanceof Halogen_Query_HalogenM.GetSlots) {-                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {-                          return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value0(Data_Functor.map(Data_List_Types.functorList)(Halogen_Data_OrdBox.unOrdBox)(Data_List.fromFoldable(Data_Set.foldableSet)(Data_Map.keys(v1.children)))));-                      });-                  };-                  if (v instanceof Halogen_Query_HalogenM.CheckSlot) {-                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {-                          return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(v1.component.mkOrdBox(v.value0))(v1.children)));-                      });-                  };-                  if (v instanceof Halogen_Query_HalogenM.ChildQuery) {-                      return evalChildQuery(ref)(v.value0)(v.value1);-                  };-                  if (v instanceof Halogen_Query_HalogenM.Raise) {-                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {-                          return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queuingHandler(v1.handler)(v1.pendingOuts)(v.value0))(function () {-                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);-                          });-                      });-                  };-                  if (v instanceof Halogen_Query_HalogenM.Par) {-                      return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp(function ($103) {-                          return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(ref)($103));-                      })(v.value0)));-                  };-                  if (v instanceof Halogen_Query_HalogenM.Fork) {-                      return Halogen_Query_ForkF.unFork(function (v1) {-                          return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalM(ref)(v1.value0)))(function (v2) {-                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Function.flip(Effect_Aff.killFiber)(v2)));-                          });-                      })(v.value0);-                  };-                  if (v instanceof Halogen_Query_HalogenM.GetRef) {-                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {-                          return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v.value0)(v1.refs)));-                      });-                  };-                  throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 73, column 12 - line 128, column 33: " + [ v.constructor.name ]);-              };-          };-          var evalM = function (ref) {-              return function (v) {-                  return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v);-              };-          };-          var evalF = function (ref) {-              return function (q) {-                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {-                      var v1 = v["component"]["eval"](q);-                      return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v1);-                  });-              };-          };-          var evalChildQuery = function (ref) {-              return function (p) {-                  return Data_Coyoneda.unCoyoneda(function (k) {-                      return function (q) {-                          return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {-                              var v1 = Data_Map_Internal.lookup(Halogen_Data_OrdBox.ordOrdBox)(v.component.mkOrdBox(p))(v.children);-                              if (v1 instanceof Data_Maybe.Just) {-                                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.value0)))(function (v2) {-                                      return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {-                                          var v3 = ds.prjQuery(q);-                                          if (v3 instanceof Data_Maybe.Just) {-                                              return Data_Functor.map(Effect_Aff.functorAff)(k)(evalF(ds.selfRef)(v3.value0));-                                          };-                                          if (v3 instanceof Data_Maybe.Nothing) {-                                              return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error("Query projection failed for child query"));-                                          };-                                          throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 141, column 32 - line 143, column 82: " + [ v3.constructor.name ]);-                                      })(v2);-                                  });-                              };-                              if (v1 instanceof Data_Maybe.Nothing) {-                                  return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error("Slot lookup failed for child query"));-                              };-                              throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 138, column 5 - line 144, column 73: " + [ v1.constructor.name ]);-                          });-                      };-                  });-              };-          };-          return function (v) {-              if (v instanceof Halogen_Query_InputF.RefUpdate) {-                  return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(function (v1) {-                      return {-                          component: v1.component,-                          state: v1.state,-                          refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function["const"](v.value1))(v.value0)(v1.refs),-                          children: v1.children,-                          childrenIn: v1.childrenIn,-                          childrenOut: v1.childrenOut,-                          selfRef: v1.selfRef,-                          handler: v1.handler,-                          pendingQueries: v1.pendingQueries,-                          pendingOuts: v1.pendingOuts,-                          pendingHandlers: v1.pendingHandlers,-                          rendering: v1.rendering,-                          prjQuery: v1.prjQuery,-                          fresh: v1.fresh,-                          subscriptions: v1.subscriptions,-                          lifecycleHandlers: v1.lifecycleHandlers-                      };-                  })(r)))(function () {-                      return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value2);-                  });-              };-              if (v instanceof Halogen_Query_InputF.Query) {-                  return evalF(r)(v.value0);-              };-              throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 59, column 3 - line 64, column 25: " + [ v.constructor.name ]);-          };-      };-  };-  exports["handleLifecycle"] = handleLifecycle;-  exports["eval"] = $$eval;-  exports["queuingHandler"] = queuingHandler;-})(PS["Halogen.Aff.Driver.Eval"] = PS["Halogen.Aff.Driver.Eval"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Coroutine = PS["Control.Coroutine"];-  var Control_Monad_Fork_Class = PS["Control.Monad.Fork.Class"];-  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];-  var Control_Parallel = PS["Control.Parallel"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Either = PS["Data.Either"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_List = PS["Data.List"];-  var Data_List_Types = PS["Data.List.Types"];-  var Data_Map = PS["Data.Map"];-  var Data_Map_Internal = PS["Data.Map.Internal"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Ord = PS["Data.Ord"];-  var Data_Semiring = PS["Data.Semiring"];-  var Data_Traversable = PS["Data.Traversable"];-  var Data_Tuple = PS["Data.Tuple"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Aff_AVar = PS["Effect.Aff.AVar"];-  var Effect_Class = PS["Effect.Class"];-  var Effect_Console = PS["Effect.Console"];-  var Effect_Exception = PS["Effect.Exception"];-  var Effect_Ref = PS["Effect.Ref"];-  var Halogen = PS["Halogen"];-  var Halogen_Aff_Driver_Eval = PS["Halogen.Aff.Driver.Eval"];-  var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"];-  var Halogen_Component = PS["Halogen.Component"];-  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];-  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];-  var Prelude = PS["Prelude"];                 -  var newLifecycleHandlers = Effect_Ref["new"]({-      initializers: Data_List_Types.Nil.value,-      finalizers: Data_List_Types.Nil.value-  });-  var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));-  var runUI = function (renderSpec) {-      return function (component) {-          return function (i) {-              var subscribe = function (fresh) {-                  return function (ref) {-                      return function (consumer) {-                          return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (v) {-                              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {-                                  var v1 = Effect_Ref.read(fresh)();-                                  Effect_Ref.modify_(function (v2) {-                                      return v2 + 1 | 0;-                                  })(fresh)();-                                  Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();-                                  return v1;-                              }))(function (v1) {-                                  var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.Left.create)(Effect_Aff_AVar.take(v)));-                                  return Data_Functor["void"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {-                                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal["delete"](Data_Ord.ordInt)(v1))(ref)))(function () {-                                          return Effect_Aff_AVar.kill(Effect_Exception.error("ended"))(v);-                                      });-                                  })));-                              });-                          });-                      };-                  };-              };-              var rootHandler = function (ref) {-                  return function (message) {-                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {-                          return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(v));-                      });-                  };-              };-              var handlePending = function (ref) {-                  return function __do() {-                      var v = Effect_Ref.read(ref)();-                      Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();-                      return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function ($63) {-                          return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($63)));-                      })();-                  };-              };-              var cleanupSubscriptions = function (v) {-                  return function __do() {-                      Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($64) {-                          return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))($64));-                      }))(Effect_Ref.read(v.subscriptions))();-                      return Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();-                  };-              };-              var squashChildInitializers = function (lchs) {-                  return function (preInits) {-                      return Halogen_Aff_Driver_State.unDriverStateX(function (st) {-                          var parentInitializer = Data_Functor.map(Data_Maybe.functorMaybe)(function ($65) {-                              return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($65));-                          })(st.component.initializer);-                          return Effect_Ref.modify_(function (handlers) {-                              return {-                                  initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () {-                                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.sequence_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(parentInitializer))(function () {-                                          return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {-                                              handlePending(st.pendingQueries)();-                                              return handlePending(st.pendingOuts)();-                                          });-                                      });-                                  }), preInits),-                                  finalizers: handlers.finalizers-                              };-                          })(lchs);-                      });-                  };-              };-              var runComponent = function (lchs) {-                  return function (handler) {-                      return function (j) {-                          return function (prjQuery) {-                              return Halogen_Component.unComponent(function (c) {-                                  return function __do() {-                                      var v = newLifecycleHandlers();-                                      var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(prjQuery)(v)();-                                      var v2 = Effect_Ref.read(lchs)();-                                      Effect_Ref.write({-                                          initializers: Data_List_Types.Nil.value,-                                          finalizers: v2.finalizers-                                      })(lchs)();-                                      Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX(function ($66) {-                                          return render(lchs)((function (v3) {-                                              return v3.selfRef;-                                          })($66));-                                      }))(Effect_Ref.read(v1))();-                                      Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();-                                      return v1;-                                  };-                              });-                          };-                      };-                  };-              };-              var renderChild = function (lchs) {-                  return function (handler) {-                      return function (mkOrdBox) {-                          return function (childrenInRef) {-                              return function (childrenOutRef) {-                                  return Halogen_Component.unComponentSlot(function (p) {-                                      return function (ctor) {-                                          return function (input) {-                                              return function (inputQuery) {-                                                  return function (outputQuery) {-                                                      return function (prjQuery) {-                                                          var ordP = mkOrdBox(p);-                                                          return function __do() {-                                                              var v = Effect_Ref.read(childrenInRef)();-                                                              var v1 = (function () {-                                                                  var v1 = Data_Map_Internal.pop(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v);-                                                                  if (v1 instanceof Data_Maybe.Just) {-                                                                      Effect_Ref.write(v1.value0.value1)(childrenInRef)();-                                                                      Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(inputQuery(input))(function (q) {-                                                                          return function __do() {-                                                                              var v2 = Effect_Ref.read(v1.value0.value0)();-                                                                              return Halogen_Aff_Driver_State.unDriverStateX(function (st) {-                                                                                  return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(st.prjQuery(q))(function ($67) {-                                                                                      return handleAff(evalF(st.selfRef)(Halogen_Query_InputF.Query.create($67)));-                                                                                  });-                                                                              })(v2)();-                                                                          };-                                                                      })();-                                                                      return v1.value0.value0;-                                                                  };-                                                                  if (v1 instanceof Data_Maybe.Nothing) {-                                                                      return runComponent(lchs)(function ($68) {-                                                                          return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(outputQuery($68));-                                                                      })(input)(prjQuery)(ctor)();-                                                                  };-                                                                  throw new Error("Failed pattern match at Halogen.Aff.Driver line 258, column 14 - line 266, column 92: " + [ v1.constructor.name ]);-                                                              })();-                                                              var v2 = Data_Functor.map(Effect.functorEffect)(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(ordP))(Effect_Ref.read(childrenOutRef))();-                                                              Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))();-                                                              Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v1))(childrenOutRef)();-                                                              return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {-                                                                  if (v3 instanceof Data_Maybe.Nothing) {-                                                                      return Effect_Exception["throw"]("Halogen internal error: child was not initialized in renderChild");-                                                                  };-                                                                  if (v3 instanceof Data_Maybe.Just) {-                                                                      return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));-                                                                  };-                                                                  throw new Error("Failed pattern match at Halogen.Aff.Driver line 271, column 37 - line 273, column 50: " + [ v3.constructor.name ]);-                                                              }))();-                                                          };-                                                      };-                                                  };-                                              };-                                          };-                                      };-                                  });-                              };-                          };-                      };-                  };-              };-              var render = function (lchs) {-                  return function ($$var) {-                      return function __do() {-                          var v = Effect_Ref.read($$var)();-                          var v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();-                          Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();-                          Effect_Ref.write(Data_Map_Internal.empty)(v.childrenOut)();-                          Effect_Ref.write(v.children)(v.childrenIn)();-                          var handler = Halogen_Aff_Driver_Eval.queuingHandler(function ($69) {-                              return Data_Functor["void"](Effect_Aff.functorAff)(evalF(v.selfRef)($69));-                          })(v.pendingHandlers);-                          var childHandler = Halogen_Aff_Driver_Eval.queuingHandler(function ($70) {-                              return handler(Halogen_Query_InputF.Query.create($70));-                          })(v.pendingQueries);-                          var v2 = renderSpec.render(function ($71) {-                              return handleAff(handler($71));-                          })(renderChild(lchs)(childHandler)(v.component.mkOrdBox)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();-                          var v3 = Effect_Ref.read(v.childrenOut)();-                          Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v.childrenIn))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function (childVar) {-                              return function __do() {-                                  var v4 = Effect_Ref.read(childVar)();-                                  Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v4)();-                                  return finalize(lchs)(v4)();-                              };-                          }))();-                          Effect_Ref.modify_(function (v4) {-                              return {-                                  rendering: new Data_Maybe.Just(v2),-                                  children: v3,-                                  component: v4.component,-                                  state: v4.state,-                                  refs: v4.refs,-                                  childrenIn: v4.childrenIn,-                                  childrenOut: v4.childrenOut,-                                  selfRef: v4.selfRef,-                                  handler: v4.handler,-                                  pendingQueries: v4.pendingQueries,-                                  pendingOuts: v4.pendingOuts,-                                  pendingHandlers: v4.pendingHandlers,-                                  prjQuery: v4.prjQuery,-                                  fresh: v4.fresh,-                                  subscriptions: v4.subscriptions,-                                  lifecycleHandlers: v4.lifecycleHandlers-                              };-                          })(v.selfRef)();-                          return Control_Applicative.when(Effect.applicativeEffect)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v4) {-                              return function __do() {-                                  var v5 = Effect_Ref.read(v.pendingHandlers)();-                                  Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();-                                  Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($72) {-                                      return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($72)));-                                  })(v5)();-                                  var v6 = Effect_Ref.read(v.pendingHandlers)();-                                  var $57 = Data_Maybe.maybe(false)(Data_List["null"])(v6);-                                  if ($57) {-                                      return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();-                                  };-                                  return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);-                              };-                          }))();-                      };-                  };-              };-              var finalize = function (lchs) {-                  return Halogen_Aff_Driver_State.unDriverStateX(function (st) {-                      return function __do() {-                          cleanupSubscriptions(st)();-                          Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function ($73) {-                              return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($73));-                          })(st.component.finalizer))(function (f) {-                              return Effect_Ref.modify_(function (handlers) {-                                  return {-                                      initializers: handlers.initializers,-                                      finalizers: new Data_List_Types.Cons(f, handlers.finalizers)-                                  };-                              })(lchs);-                          })();-                          return Data_Foldable.for_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(st.children)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(finalize(lchs))(Effect_Ref.read))();-                      };-                  });-              };-              var evalF = function (ref) {-                  return Halogen_Aff_Driver_Eval["eval"](render)(ref);-              };-              var evalDriver = function (ref) {-                  return function (prjQuery) {-                      return function (q) {-                          var v = prjQuery(q);-                          if (v instanceof Data_Maybe.Just) {-                              return evalF(ref)(new Halogen_Query_InputF.Query(v.value0));-                          };-                          if (v instanceof Data_Maybe.Nothing) {-                              return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Exception.throwException(Effect_Exception.error("Halogen internal error: query projection failed in runUI'")));-                          };-                          throw new Error("Failed pattern match at Halogen.Aff.Driver line 136, column 5 - line 138, column 113: " + [ v.constructor.name ]);-                      };-                  };-              };-              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {-                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref["new"](0)))(function (v1) {-                      return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {-                          var v2 = Effect_Ref["new"](Data_Map_Internal.empty)();-                          return Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(runComponent(v)(rootHandler(v2))(i)(Data_Maybe.Just.create)(component))(Effect_Ref.read))(Halogen_Aff_Driver_State.unDriverStateX(function (st) {-                              return Control_Applicative.pure(Effect.applicativeEffect)({-                                  query: evalDriver(st.selfRef)(st.prjQuery),-                                  subscribe: subscribe(v1)(v2)-                              });-                          }))();-                      });-                  });-              });-          };-      };-  };-  exports["runUI"] = runUI;-})(PS["Halogen.Aff.Driver"] = PS["Halogen.Aff.Driver"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];-  var Control_Semigroupoid = PS["Control.Semigroupoid"];-  var Data_Either = PS["Data.Either"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Class = PS["Effect.Class"];-  var Effect_Exception = PS["Effect.Exception"];-  var Prelude = PS["Prelude"];-  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];-  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];-  var Web_HTML = PS["Web.HTML"];-  var Web_HTML_Event_EventTypes = PS["Web.HTML.Event.EventTypes"];-  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];-  var Web_HTML_HTMLDocument_ReadyState = PS["Web.HTML.HTMLDocument.ReadyState"];-  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];-  var Web_HTML_Window = PS["Web.HTML.Window"];                 -  var selectElement = function (query) {-      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(function ($12) {-          return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));-      })(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {-          return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));-      });-  };-  var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));-  exports["selectElement"] = selectElement;-  exports["runHalogenAff"] = runHalogenAff;-})(PS["Halogen.Aff.Util"] = PS["Halogen.Aff.Util"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Data_Array = PS["Data.Array"];-  var Data_Eq = PS["Data.Eq"];-  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Nullable = PS["Data.Nullable"];-  var Data_Tuple = PS["Data.Tuple"];-  var Effect = PS["Effect"];-  var Effect_Uncurried = PS["Effect.Uncurried"];-  var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"];-  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];-  var Halogen_VDom_Util = PS["Halogen.VDom.Util"];-  var Prelude = PS["Prelude"];-  var Web_DOM_Document = PS["Web.DOM.Document"];-  var Web_DOM_Element = PS["Web.DOM.Element"];-  var Web_DOM_Node = PS["Web.DOM.Node"];-  var eqElemSpec = function (a, b) {-      if (a.value1 === b.value1) {-          if (a.value0 instanceof Data_Maybe.Just && (b.value0 instanceof Data_Maybe.Just && a.value0.value0 === b.value0.value0)) {-              return true;-          };-          if (a.value0 instanceof Data_Maybe.Nothing && b.value0 instanceof Data_Maybe.Nothing) {-              return true;-          };-          return false;-      };-      return false;-  };-  var buildWidget = (function () {-      var patch = function (build, v) {-          return function (v1) {-              if (v1 instanceof Halogen_VDom_Types.Grafted) {-                  return patch(build, v)(Halogen_VDom_Types.runGraft(v1.value0));-              };-              if (v1 instanceof Halogen_VDom_Types.Widget) {-                  var v2 = v.value1(v1.value0);-                  return new Halogen_VDom_Machine.Step(v2.value0, patch(build, v2), v2.value2);-              };-              v.value2();-              return build(v1);-          };-      };-      var render = function (v, build, w) {-          var v1 = v.buildWidget(v)(w);-          return new Halogen_VDom_Machine.Step(v1.value0, patch(build, v1), v1.value2);-      };-      return render;-  })();-  var buildText = (function () {-      var patch = function (build, halt, node, s1) {-          return function (v) {-              if (v instanceof Halogen_VDom_Types.Grafted) {-                  return patch(build, halt, node, s1)(Halogen_VDom_Types.runGraft(v.value0));-              };-              if (v instanceof Halogen_VDom_Types.Text) {-                  var res = new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v.value0), halt);-                  var $84 = s1 === v.value0;-                  if ($84) {-                      return res;-                  };-                  Halogen_VDom_Util.setTextContent(v.value0, node);-                  return res;-              };-              halt();-              return build(v);-          };-      };-      var done = function (node) {-          return function __do() {-              var v = Halogen_VDom_Util.parentNode(node);-              return Halogen_VDom_Util.removeChild(node, v);-          };-      };-      var render = function (v, build, s) {-          var v1 = Halogen_VDom_Util.createTextNode(s, v.document);-          var halt = done(v1);-          return new Halogen_VDom_Machine.Step(v1, patch(build, halt, v1, s), halt);-      };-      return render;-  })();-  var buildKeyed = (function () {-      var done = function (node, attrs, steps) {-          return function __do() {-              var v = Halogen_VDom_Util.parentNode(node);-              Halogen_VDom_Util.removeChild(node, v);-              Halogen_VDom_Util.forInE(steps, function (v1, v2) {-                  return v2.value2();-              });-              return Halogen_VDom_Machine.halt(attrs)();-          };-      };-      var patch = function (build, halt, node, attrs, v, ch1, len1) {-          return function (v1) {-              if (v1 instanceof Halogen_VDom_Types.Grafted) {-                  return patch(build, halt, node, attrs, v, ch1, len1)(Halogen_VDom_Types.runGraft(v1.value0));-              };-              if (v1 instanceof Halogen_VDom_Types.Keyed && eqElemSpec(v, v1.value0)) {-                  var v2 = Data_Array.length(v1.value1);-                  if (len1 === 0 && v2 === 0) {-                      var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);-                      var halt$prime = done(node, v4, ch1);-                      return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1, 0), halt$prime);-                  };-                  var onThis = function (v4, v5) {-                      return v5.value2();-                  };-                  var onThese = function (v4, ix$prime, v5, v6) {-                      var v7 = v5.value1(v6.value1);-                      Halogen_VDom_Util.insertChildIx(ix$prime, v7.value0, node);-                      return v7;-                  };-                  var onThat = function (v4, ix, v5) {-                      var v6 = build(v5.value1);-                      Halogen_VDom_Util.insertChildIx(ix, v6.value0, node);-                      return v6;-                  };-                  var v4 = Halogen_VDom_Util.diffWithKeyAndIxE(ch1, v1.value1, Data_Tuple.fst, onThese, onThis, onThat);-                  var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);-                  var halt$prime = done(node, v5, v4);-                  return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4, v2), halt$prime);-              };-              halt();-              return build(v1);-          };-      };-      var render = function (v, build, v1, ch1) {-          var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);-          var node = Web_DOM_Element.toNode(v2);-          var onChild = function (k, ix, v3) {-              var v4 = build(v3.value1);-              Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);-              return v4;-          };-          var v3 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);-          var v4 = v.buildAttributes(v2)(v1.value2);-          var halt = done(node, v4, v3);-          return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3, Data_Array.length(ch1)), halt);-      };-      return render;-  })();-  var buildElem = (function () {-      var done = function (node, attrs, steps) {-          return function __do() {-              var v = Halogen_VDom_Util.parentNode(node);-              Halogen_VDom_Util.removeChild(node, v);-              Effect.foreachE(steps)(Halogen_VDom_Machine.halt)();-              return Halogen_VDom_Machine.halt(attrs)();-          };-      };-      var patch = function (build, halt, node, attrs, v, ch1) {-          return function (v1) {-              if (v1 instanceof Halogen_VDom_Types.Grafted) {-                  return patch(build, halt, node, attrs, v, ch1)(Halogen_VDom_Types.runGraft(v1.value0));-              };-              if (v1 instanceof Halogen_VDom_Types.Elem && eqElemSpec(v, v1.value0)) {-                  var v2 = Data_Array.length(v1.value1);-                  var v3 = Data_Array.length(ch1);-                  if (v3 === 0 && v2 === 0) {-                      var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);-                      var halt$prime = done(node, v4, ch1);-                      return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1), halt$prime);-                  };-                  var onThis = function (ix, v4) {-                      return v4.value2();-                  };-                  var onThese = function (ix, v4, vdom) {-                      var v5 = v4.value1(vdom);-                      Halogen_VDom_Util.insertChildIx(ix, v5.value0, node);-                      return v5;-                  };-                  var onThat = function (ix, vdom) {-                      var v4 = build(vdom);-                      Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);-                      return v4;-                  };-                  var v4 = Halogen_VDom_Util.diffWithIxE(ch1, v1.value1, onThese, onThis, onThat);-                  var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);-                  var halt$prime = done(node, v5, v4);-                  return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4), halt$prime);-              };-              halt();-              return build(v1);-          };-      };-      var render = function (v, build, v1, ch1) {-          var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);-          var node = Web_DOM_Element.toNode(v2);-          var onChild = function (ix, child) {-              var v3 = build(child);-              Halogen_VDom_Util.insertChildIx(ix, v3.value0, node);-              return v3;-          };-          var v3 = Halogen_VDom_Util.forE(ch1, onChild);-          var v4 = v.buildAttributes(v2)(v1.value2);-          var halt = done(node, v4, v3);-          return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3), halt);-      };-      return render;-  })();-  var buildVDom = function (spec) {-      var build = function (v) {-          if (v instanceof Halogen_VDom_Types.Text) {-              return buildText(spec, build, v.value0);-          };-          if (v instanceof Halogen_VDom_Types.Elem) {-              return buildElem(spec, build, v.value0, v.value1);-          };-          if (v instanceof Halogen_VDom_Types.Keyed) {-              return buildKeyed(spec, build, v.value0, v.value1);-          };-          if (v instanceof Halogen_VDom_Types.Widget) {-              return buildWidget(spec, build, v.value0);-          };-          if (v instanceof Halogen_VDom_Types.Grafted) {-              return build(Halogen_VDom_Types.runGraft(v.value0));-          };-          throw new Error("Failed pattern match at Halogen.VDom.DOM line 58, column 27 - line 63, column 52: " + [ v.constructor.name ]);-      };-      return build;-  };-  exports["buildVDom"] = buildVDom;-  exports["buildText"] = buildText;-  exports["buildElem"] = buildElem;-  exports["buildKeyed"] = buildKeyed;-  exports["buildWidget"] = buildWidget;-})(PS["Halogen.VDom.DOM"] = PS["Halogen.VDom.DOM"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Control_Bind = PS["Control.Bind"];-  var Control_Category = PS["Control.Category"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];-  var Data_Maybe = PS["Data.Maybe"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Class = PS["Effect.Class"];-  var Effect_Ref = PS["Effect.Ref"];-  var Effect_Uncurried = PS["Effect.Uncurried"];-  var Halogen_Aff_Driver = PS["Halogen.Aff.Driver"];-  var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"];-  var Halogen_Component = PS["Halogen.Component"];-  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];-  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];-  var Halogen_VDom = PS["Halogen.VDom"];-  var Halogen_VDom_DOM = PS["Halogen.VDom.DOM"];-  var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"];-  var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"];-  var Prelude = PS["Prelude"];-  var Unsafe_Reference = PS["Unsafe.Reference"];-  var Web_DOM_Document = PS["Web.DOM.Document"];-  var Web_DOM_Element = PS["Web.DOM.Element"];-  var Web_DOM_Node = PS["Web.DOM.Node"];-  var Web_HTML = PS["Web.HTML"];-  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];-  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];-  var Web_HTML_Window = PS["Web.HTML.Window"];-  var substInParent = function (v) {-      return function (v1) {-          return function (v2) {-              if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {-                  return Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));-              };-              if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {-                  return Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));-              };-              return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);-          };-      };-  };-  var removeChild = function (v) {-      return function __do() {-          var v1 = Web_DOM_Node.parentNode(v.node)();-          return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {-              return Web_DOM_Node.removeChild(v.node)(pn);-          })(v1)();-      };-  };-  var mkSpec = function (handler) {-      return function (renderChildRef) {-          return function (document) {-              var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {-                  return v.node;-              });-              var done = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);-              var patch = function (slot) {-                  var v = Effect_Ref.read(renderChildRef)();-                  var v1 = v(slot)();-                  var node = getNode(v1);-                  return new Halogen_VDom_Machine.Step(node, patch, done);-              };-              var buildWidget = function (spec) {-                  return function (slot) {-                      var v = Effect_Ref.read(renderChildRef)();-                      var v1 = v(slot)();-                      var node = getNode(v1);-                      return new Halogen_VDom_Machine.Step(node, patch, done);-                  };-              };-              var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);-              return {-                  buildWidget: buildWidget,-                  buildAttributes: buildAttributes,-                  document: document-              };-          };-      };-  };-  var renderSpec = function (document) {-      return function (container) {-          var render = function (handler) {-              return function (child) {-                  return function (v) {-                      return function (v1) {-                          if (v1 instanceof Data_Maybe.Nothing) {-                              return function __do() {-                                  var v2 = Effect_Ref["new"](child)();-                                  var spec = mkSpec(handler)(v2)(document);-                                  var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);-                                  var node = Halogen_VDom_Machine.extract(v3);-                                  Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();-                                  return {-                                      machine: v3,-                                      node: node,-                                      renderChildRef: v2-                                  };-                              };-                          };-                          if (v1 instanceof Data_Maybe.Just) {-                              return function __do() {-                                  Effect_Ref.write(child)(v1.value0.renderChildRef)();-                                  var v2 = Web_DOM_Node.parentNode(v1.value0.node)();-                                  var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();-                                  var v4 = Halogen_VDom_Machine.step(v1.value0.machine)(v);-                                  var newNode = Halogen_VDom_Machine.extract(v4);-                                  Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))();-                                  return {-                                      machine: v4,-                                      node: newNode,-                                      renderChildRef: v1.value0.renderChildRef-                                  };-                              };-                          };-                          throw new Error("Failed pattern match at Halogen.VDom.Driver line 118, column 5 - line 134, column 80: " + [ v1.constructor.name ]);-                      };-                  };-              };-          };-          return {-              render: render,-              renderChild: Control_Category.identity(Control_Category.categoryFn),-              removeChild: removeChild-          };-      };-  };-  var runUI = function (component) {-      return function (i) {-          return function (element) {-              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (v) {-                  return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);-              });-          };-      };-  };-  exports["runUI"] = runUI;-})(PS["Halogen.VDom.Driver"] = PS["Halogen.VDom.Driver"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Control_Applicative = PS["Control.Applicative"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  var Prelude = PS["Prelude"];                 -  var main = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);-  exports["main"] = main;-})(PS["Main"] = PS["Main"] || {});-(function(exports) {-  // Generated by purs version 0.12.0-  "use strict";-  var Component_Add = PS["Component.Add"];-  var Component_BList = PS["Component.BList"];-  var Control_Bind = PS["Control.Bind"];-  var Data_Foldable = PS["Data.Foldable"];-  var Data_Function = PS["Data.Function"];-  var Data_Functor = PS["Data.Functor"];-  var Data_Unit = PS["Data.Unit"];-  var Effect = PS["Effect"];-  var Effect_Aff = PS["Effect.Aff"];-  var Effect_Class = PS["Effect.Class"];-  var Halogen_Aff = PS["Halogen.Aff"];-  var Halogen_Aff_Util = PS["Halogen.Aff.Util"];-  var Halogen_VDom_Driver = PS["Halogen.VDom.Driver"];-  var Model = PS["Model"];-  var Prelude = PS["Prelude"];-  var Web_DOM_Element = PS["Web.DOM.Element"];-  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];-  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];                 -  var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(".user_footer"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {-      return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute("hidden")(Web_HTML_HTMLElement.toElement(el)));-  }));-  var renderBookmarks = function (renderElSelector) {-      return function (bmarks) {-          return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {-              return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {-                  return showFooter;-              });-          })));-      };-  };-  var renderAddForm = function (renderElSelector) {-      return function (bmark) {-          return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {-              return Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);-          })));-      };-  };-  exports["renderBookmarks"] = renderBookmarks;-  exports["renderAddForm"] = renderAddForm;+  var fromMaybe = function (a) {+      return maybe(a)(Control_Category.identity(Control_Category.categoryFn));+  };+  var fromJust = function (dictPartial) {+      return function (v) {+          var $__unused = function (dictPartial1) {+              return function ($dollar35) {+                  return $dollar35;+              };+          };+          return $__unused(dictPartial)((function () {+              if (v instanceof Just) {+                  return v.value0;+              };+              throw new Error("Failed pattern match at Data.Maybe line 269, column 1 - line 269, column 46: " + [ v.constructor.name ]);+          })());+      };+  };+  var applyMaybe = new Control_Apply.Apply(function () {+      return functorMaybe;+  }, function (v) {+      return function (v1) {+          if (v instanceof Just) {+              return Data_Functor.map(functorMaybe)(v.value0)(v1);+          };+          if (v instanceof Nothing) {+              return Nothing.value;+          };+          throw new Error("Failed pattern match at Data.Maybe line 67, column 1 - line 67, column 35: " + [ v.constructor.name, v1.constructor.name ]);+      };+  });+  var bindMaybe = new Control_Bind.Bind(function () {+      return applyMaybe;+  }, function (v) {+      return function (v1) {+          if (v instanceof Just) {+              return v1(v.value0);+          };+          if (v instanceof Nothing) {+              return Nothing.value;+          };+          throw new Error("Failed pattern match at Data.Maybe line 126, column 1 - line 126, column 33: " + [ v.constructor.name, v1.constructor.name ]);+      };+  });+  exports["Nothing"] = Nothing;+  exports["Just"] = Just;+  exports["maybe"] = maybe;+  exports["fromMaybe"] = fromMaybe;+  exports["isJust"] = isJust;+  exports["isNothing"] = isNothing;+  exports["fromJust"] = fromJust;+  exports["functorMaybe"] = functorMaybe;+  exports["applyMaybe"] = applyMaybe;+  exports["bindMaybe"] = bindMaybe;+})(PS["Data.Maybe"] = PS["Data.Maybe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad = PS["Control.Monad"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Prelude = PS["Prelude"];                 +  var Disj = function (x) {+      return x;+  };+  var semigroupDisj = function (dictHeytingAlgebra) {+      return new Data_Semigroup.Semigroup(function (v) {+          return function (v1) {+              return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);+          };+      });+  };+  var monoidDisj = function (dictHeytingAlgebra) {+      return new Data_Monoid.Monoid(function () {+          return semigroupDisj(dictHeytingAlgebra);+      }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));+  };+  exports["Disj"] = Disj;+  exports["semigroupDisj"] = semigroupDisj;+  exports["monoidDisj"] = monoidDisj;+})(PS["Data.Monoid.Disj"] = PS["Data.Monoid.Disj"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Monoid_Additive = PS["Data.Monoid.Additive"];+  var Data_Monoid_Conj = PS["Data.Monoid.Conj"];+  var Data_Monoid_Disj = PS["Data.Monoid.Disj"];+  var Data_Monoid_Dual = PS["Data.Monoid.Dual"];+  var Data_Monoid_Endo = PS["Data.Monoid.Endo"];+  var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"];+  var Data_Semigroup_First = PS["Data.Semigroup.First"];+  var Data_Semigroup_Last = PS["Data.Semigroup.Last"];+  var Prelude = PS["Prelude"];                 +  var Newtype = function (unwrap, wrap) {+      this.unwrap = unwrap;+      this.wrap = wrap;+  };+  var wrap = function (dict) {+      return dict.wrap;+  };+  var unwrap = function (dict) {+      return dict.unwrap;+  };                        +  var newtypeDisj = new Newtype(function (v) {+      return v;+  }, Data_Monoid_Disj.Disj);+  var alaF = function (dictFunctor) {+      return function (dictFunctor1) {+          return function (dictNewtype) {+              return function (dictNewtype1) {+                  return function (v) {+                      return function (f) {+                          return function ($80) {+                              return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));+                          };+                      };+                  };+              };+          };+      };+  };+  exports["unwrap"] = unwrap;+  exports["wrap"] = wrap;+  exports["Newtype"] = Newtype;+  exports["alaF"] = alaF;+  exports["newtypeDisj"] = newtypeDisj;+})(PS["Data.Newtype"] = PS["Data.Newtype"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Foldable"];+  var Control_Alt = PS["Control.Alt"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Maybe_First = PS["Data.Maybe.First"];+  var Data_Maybe_Last = PS["Data.Maybe.Last"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Monoid_Additive = PS["Data.Monoid.Additive"];+  var Data_Monoid_Conj = PS["Data.Monoid.Conj"];+  var Data_Monoid_Disj = PS["Data.Monoid.Disj"];+  var Data_Monoid_Dual = PS["Data.Monoid.Dual"];+  var Data_Monoid_Endo = PS["Data.Monoid.Endo"];+  var Data_Monoid_Multiplicative = PS["Data.Monoid.Multiplicative"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];                 +  var Foldable = function (foldMap, foldl, foldr) {+      this.foldMap = foldMap;+      this.foldl = foldl;+      this.foldr = foldr;+  };+  var foldr = function (dict) {+      return dict.foldr;+  };+  var traverse_ = function (dictApplicative) {+      return function (dictFoldable) {+          return function (f) {+              return foldr(dictFoldable)(function ($195) {+                  return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));+              })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));+          };+      };+  };+  var for_ = function (dictApplicative) {+      return function (dictFoldable) {+          return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));+      };+  };+  var sequence_ = function (dictApplicative) {+      return function (dictFoldable) {+          return traverse_(dictApplicative)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));+      };+  };+  var foldl = function (dict) {+      return dict.foldl;+  };+  var intercalate = function (dictFoldable) {+      return function (dictMonoid) {+          return function (sep) {+              return function (xs) {+                  var go = function (v) {+                      return function (x) {+                          if (v.init) {+                              return {+                                  init: false,+                                  acc: x+                              };+                          };+                          return {+                              init: false,+                              acc: Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x))+                          };+                      };+                  };+                  return (foldl(dictFoldable)(go)({+                      init: true,+                      acc: Data_Monoid.mempty(dictMonoid)+                  })(xs)).acc;+              };+          };+      };+  }; +  var foldableMaybe = new Foldable(function (dictMonoid) {+      return function (f) {+          return function (v) {+              if (v instanceof Data_Maybe.Nothing) {+                  return Data_Monoid.mempty(dictMonoid);+              };+              if (v instanceof Data_Maybe.Just) {+                  return f(v.value0);+              };+              throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: " + [ f.constructor.name, v.constructor.name ]);+          };+      };+  }, function (v) {+      return function (z) {+          return function (v1) {+              if (v1 instanceof Data_Maybe.Nothing) {+                  return z;+              };+              if (v1 instanceof Data_Maybe.Just) {+                  return v(z)(v1.value0);+              };+              throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);+          };+      };+  }, function (v) {+      return function (z) {+          return function (v1) {+              if (v1 instanceof Data_Maybe.Nothing) {+                  return z;+              };+              if (v1 instanceof Data_Maybe.Just) {+                  return v(v1.value0)(z);+              };+              throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: " + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);+          };+      };+  });+  var foldMapDefaultR = function (dictFoldable) {+      return function (dictMonoid) {+          return function (f) {+              return foldr(dictFoldable)(function (x) {+                  return function (acc) {+                      return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);+                  };+              })(Data_Monoid.mempty(dictMonoid));+          };+      };+  };+  var foldableArray = new Foldable(function (dictMonoid) {+      return foldMapDefaultR(foldableArray)(dictMonoid);+  }, $foreign.foldlArray, $foreign.foldrArray);+  var foldMap = function (dict) {+      return dict.foldMap;+  };+  var find = function (dictFoldable) {+      return function (p) {+          var go = function (v) {+              return function (v1) {+                  if (v instanceof Data_Maybe.Nothing && p(v1)) {+                      return new Data_Maybe.Just(v1);+                  };+                  return v;+              };+          };+          return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);+      };+  };+  var any = function (dictFoldable) {+      return function (dictHeytingAlgebra) {+          return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));+      };+  };+  exports["Foldable"] = Foldable;+  exports["foldr"] = foldr;+  exports["foldl"] = foldl;+  exports["foldMap"] = foldMap;+  exports["foldMapDefaultR"] = foldMapDefaultR;+  exports["traverse_"] = traverse_;+  exports["for_"] = for_;+  exports["sequence_"] = sequence_;+  exports["intercalate"] = intercalate;+  exports["any"] = any;+  exports["find"] = find;+  exports["foldableArray"] = foldableArray;+  exports["foldableMaybe"] = foldableMaybe;+})(PS["Data.Foldable"] = PS["Data.Foldable"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Extend = PS["Control.Extend"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifoldable = PS["Data.Bifoldable"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Bitraversable = PS["Data.Bitraversable"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Prelude = PS["Prelude"];                 +  var Left = (function () {+      function Left(value0) {+          this.value0 = value0;+      };+      Left.create = function (value0) {+          return new Left(value0);+      };+      return Left;+  })();+  var Right = (function () {+      function Right(value0) {+          this.value0 = value0;+      };+      Right.create = function (value0) {+          return new Right(value0);+      };+      return Right;+  })();+  var functorEither = new Data_Functor.Functor(function (f) {+      return function (m) {+          if (m instanceof Left) {+              return new Left(m.value0);+          };+          if (m instanceof Right) {+              return new Right(f(m.value0));+          };+          throw new Error("Failed pattern match at Data.Either line 35, column 8 - line 35, column 52: " + [ m.constructor.name ]);+      };+  });+  var either = function (v) {+      return function (v1) {+          return function (v2) {+              if (v2 instanceof Left) {+                  return v(v2.value0);+              };+              if (v2 instanceof Right) {+                  return v1(v2.value0);+              };+              throw new Error("Failed pattern match at Data.Either line 220, column 1 - line 220, column 64: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);+          };+      };+  };+  var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {+      return function (v1) {+          return function (v2) {+              if (v2 instanceof Left) {+                  return new Left(v(v2.value0));+              };+              if (v2 instanceof Right) {+                  return new Right(v1(v2.value0));+              };+              throw new Error("Failed pattern match at Data.Either line 40, column 1 - line 40, column 45: " + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);+          };+      };+  });+  var applyEither = new Control_Apply.Apply(function () {+      return functorEither;+  }, function (v) {+      return function (v1) {+          if (v instanceof Left) {+              return new Left(v.value0);+          };+          if (v instanceof Right) {+              return Data_Functor.map(functorEither)(v.value0)(v1);+          };+          throw new Error("Failed pattern match at Data.Either line 76, column 1 - line 76, column 41: " + [ v.constructor.name, v1.constructor.name ]);+      };+  });+  exports["Left"] = Left;+  exports["Right"] = Right;+  exports["either"] = either;+  exports["functorEither"] = functorEither;+  exports["bifunctorEither"] = bifunctorEither;+  exports["applyEither"] = applyEither;+})(PS["Data.Either"] = PS["Data.Either"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Comonad = PS["Control.Comonad"];+  var Control_Extend = PS["Control.Extend"];+  var Control_Lazy = PS["Control.Lazy"];+  var Control_Monad = PS["Control.Monad"];+  var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_CommutativeRing = PS["Data.CommutativeRing"];+  var Data_Eq = PS["Data.Eq"];+  var Data_EuclideanRing = PS["Data.EuclideanRing"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Prelude = PS["Prelude"];                 +  var Identity = function (x) {+      return x;+  };+  var newtypeIdentity = new Data_Newtype.Newtype(function (n) {+      return n;+  }, Identity);+  var functorIdentity = new Data_Functor.Functor(function (f) {+      return function (m) {+          return f(m);+      };+  });+  var applyIdentity = new Control_Apply.Apply(function () {+      return functorIdentity;+  }, function (v) {+      return function (v1) {+          return v(v1);+      };+  });+  var bindIdentity = new Control_Bind.Bind(function () {+      return applyIdentity;+  }, function (v) {+      return function (f) {+          return f(v);+      };+  });+  var applicativeIdentity = new Control_Applicative.Applicative(function () {+      return applyIdentity;+  }, Identity);+  var monadIdentity = new Control_Monad.Monad(function () {+      return applicativeIdentity;+  }, function () {+      return bindIdentity;+  });+  exports["Identity"] = Identity;+  exports["newtypeIdentity"] = newtypeIdentity;+  exports["functorIdentity"] = functorIdentity;+  exports["applyIdentity"] = applyIdentity;+  exports["applicativeIdentity"] = applicativeIdentity;+  exports["bindIdentity"] = bindIdentity;+  exports["monadIdentity"] = monadIdentity;+})(PS["Data.Identity"] = PS["Data.Identity"] || {});+(function(exports) {+    "use strict";++  exports.pureE = function (a) {+    return function () {+      return a;+    };+  };++  exports.bindE = function (a) {+    return function (f) {+      return function () {+        return f(a())();+      };+    };+  };++  exports.foreachE = function (as) {+    return function (f) {+      return function () {+        for (var i = 0, l = as.length; i < l; i++) {+          f(as[i])();+        }+      };+    };+  };+})(PS["Effect"] = PS["Effect"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad = PS["Control.Monad"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Prelude = PS["Prelude"];                 +  var monadEffect = new Control_Monad.Monad(function () {+      return applicativeEffect;+  }, function () {+      return bindEffect;+  });+  var bindEffect = new Control_Bind.Bind(function () {+      return applyEffect;+  }, $foreign.bindE);+  var applyEffect = new Control_Apply.Apply(function () {+      return functorEffect;+  }, Control_Monad.ap(monadEffect));+  var applicativeEffect = new Control_Applicative.Applicative(function () {+      return applyEffect;+  }, $foreign.pureE);+  var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));+  exports["functorEffect"] = functorEffect;+  exports["applyEffect"] = applyEffect;+  exports["applicativeEffect"] = applicativeEffect;+  exports["bindEffect"] = bindEffect;+  exports["monadEffect"] = monadEffect;+  exports["foreachE"] = $foreign.foreachE;+})(PS["Effect"] = PS["Effect"] || {});+(function(exports) {+    "use strict";++  exports.new = function (val) {+    return function () {+      return { value: val };+    };+  };++  exports.read = function (ref) {+    return function () {+      return ref.value;+    };+  };++  exports["modify'"] = function (f) {+    return function (ref) {+      return function () {+        var t = f(ref.value);+        ref.value = t.state;+        return t.value;+      };+    };+  };++  exports.write = function (val) {+    return function (ref) {+      return function () {+        ref.value = val;+        return {};+      };+    };+  };+})(PS["Effect.Ref"] = PS["Effect.Ref"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.Ref"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];                 +  var modify = function (f) {+      return $foreign["modify'"](function (s) {+          var s$prime = f(s);+          return {+              state: s$prime,+              value: s$prime+          };+      });+  };+  var modify_ = function (f) {+      return function (s) {+          return Data_Functor["void"](Effect.functorEffect)(modify(f)(s));+      };+  };+  exports["modify"] = modify;+  exports["modify_"] = modify_;+  exports["new"] = $foreign["new"];+  exports["read"] = $foreign.read;+  exports["modify'"] = $foreign["modify'"];+  exports["write"] = $foreign.write;+})(PS["Effect.Ref"] = PS["Effect.Ref"] || {});+(function(exports) {+    "use strict";++  // module Partial.Unsafe++  exports.unsafePartial = function (f) {+    return f();+  };+})(PS["Partial.Unsafe"] = PS["Partial.Unsafe"] || {});+(function(exports) {+    "use strict";++  // module Partial++  exports.crashWith = function () {+    return function (msg) {+      throw new Error(msg);+    };+  };+})(PS["Partial"] = PS["Partial"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Partial"];+  exports["crashWith"] = $foreign.crashWith;+})(PS["Partial"] = PS["Partial"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Partial.Unsafe"];+  var Partial = PS["Partial"];+  var unsafeCrashWith = function (msg) {+      return $foreign.unsafePartial(function (dictPartial) {+          return Partial.crashWith(dictPartial)(msg);+      });+  };+  exports["unsafeCrashWith"] = unsafeCrashWith;+})(PS["Partial.Unsafe"] = PS["Partial.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Either = PS["Data.Either"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Ref = PS["Effect.Ref"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];                 +  var Loop = (function () {+      function Loop(value0) {+          this.value0 = value0;+      };+      Loop.create = function (value0) {+          return new Loop(value0);+      };+      return Loop;+  })();+  var Done = (function () {+      function Done(value0) {+          this.value0 = value0;+      };+      Done.create = function (value0) {+          return new Done(value0);+      };+      return Done;+  })();+  var MonadRec = function (Monad0, tailRecM) {+      this.Monad0 = Monad0;+      this.tailRecM = tailRecM;+  };+  var tailRecM = function (dict) {+      return dict.tailRecM;+  }; +  var monadRecEffect = new MonadRec(function () {+      return Effect.monadEffect;+  }, function (f) {+      return function (a) {+          var fromDone = function (v) {+              var $__unused = function (dictPartial1) {+                  return function ($dollar19) {+                      return $dollar19;+                  };+              };+              return $__unused()((function () {+                  if (v instanceof Done) {+                      return v.value0;+                  };+                  throw new Error("Failed pattern match at Control.Monad.Rec.Class line 111, column 30 - line 111, column 44: " + [ v.constructor.name ]);+              })());+          };+          return function __do() {+              var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref["new"])(f(a))();+              (function () {+                  while (!(function __do() {+                      var v1 = Effect_Ref.read(v)();+                      if (v1 instanceof Loop) {+                          var v2 = f(v1.value0)();+                          var v3 = Effect_Ref.write(v2)(v)();+                          return false;+                      };+                      if (v1 instanceof Done) {+                          return true;+                      };+                      throw new Error("Failed pattern match at Control.Monad.Rec.Class line 102, column 22 - line 107, column 28: " + [ v1.constructor.name ]);+                  })()) {++                  };+                  return {};+              })();+              return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();+          };+      };+  });+  exports["Loop"] = Loop;+  exports["Done"] = Done;+  exports["MonadRec"] = MonadRec;+  exports["tailRecM"] = tailRecM;+  exports["monadRecEffect"] = monadRecEffect;+})(PS["Control.Monad.Rec.Class"] = PS["Control.Monad.Rec.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Biapplicative = PS["Control.Biapplicative"];+  var Control_Biapply = PS["Control.Biapply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Comonad = PS["Control.Comonad"];+  var Control_Extend = PS["Control.Extend"];+  var Control_Lazy = PS["Control.Lazy"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifoldable = PS["Data.Bifoldable"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Bitraversable = PS["Data.Bitraversable"];+  var Data_BooleanAlgebra = PS["Data.BooleanAlgebra"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_CommutativeRing = PS["Data.CommutativeRing"];+  var Data_Distributive = PS["Data.Distributive"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Maybe_First = PS["Data.Maybe.First"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];+  var Type_Equality = PS["Type.Equality"];                 +  var Tuple = (function () {+      function Tuple(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Tuple.create = function (value0) {+          return function (value1) {+              return new Tuple(value0, value1);+          };+      };+      return Tuple;+  })();+  var snd = function (v) {+      return v.value1;+  };+  var functorTuple = new Data_Functor.Functor(function (f) {+      return function (m) {+          return new Tuple(m.value0, f(m.value1));+      };+  });                                                                                                   +  var fst = function (v) {+      return v.value0;+  };+  exports["Tuple"] = Tuple;+  exports["fst"] = fst;+  exports["snd"] = snd;+  exports["functorTuple"] = functorTuple;+})(PS["Data.Tuple"] = PS["Data.Tuple"] || {});+(function(exports) {+    "use strict";++  exports.unfoldrArrayImpl = function (isNothing) {+    return function (fromJust) {+      return function (fst) {+        return function (snd) {+          return function (f) {+            return function (b) {+              var result = [];+              var value = b;+              while (true) { // eslint-disable-line no-constant-condition+                var maybe = f(value);+                if (isNothing(maybe)) return result;+                var tuple = fromJust(maybe);+                result.push(fst(tuple));+                value = snd(tuple);+              }+            };+          };+        };+      };+    };+  };+})(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {});+(function(exports) {+    "use strict";++  exports.unfoldr1ArrayImpl = function (isNothing) {+    return function (fromJust) {+      return function (fst) {+        return function (snd) {+          return function (f) {+            return function (b) {+              var result = [];+              var value = b;+              while (true) { // eslint-disable-line no-constant-condition+                var tuple = f(value);+                result.push(fst(tuple));+                var maybe = snd(tuple);+                if (isNothing(maybe)) return result;+                value = fromJust(maybe);+              }+            };+          };+        };+      };+    };+  };+})(PS["Data.Unfoldable1"] = PS["Data.Unfoldable1"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Unfoldable1"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Tuple = PS["Data.Tuple"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];                 +  var Unfoldable1 = function (unfoldr1) {+      this.unfoldr1 = unfoldr1;+  };+  var unfoldr1 = function (dict) {+      return dict.unfoldr1;+  };+  var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));+  exports["Unfoldable1"] = Unfoldable1;+  exports["unfoldr1"] = unfoldr1;+  exports["unfoldable1Array"] = unfoldable1Array;+})(PS["Data.Unfoldable1"] = PS["Data.Unfoldable1"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Unfoldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Data_Unit = PS["Data.Unit"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];                 +  var Unfoldable = function (Unfoldable10, unfoldr) {+      this.Unfoldable10 = Unfoldable10;+      this.unfoldr = unfoldr;+  };+  var unfoldr = function (dict) {+      return dict.unfoldr;+  };+  var unfoldableArray = new Unfoldable(function () {+      return Data_Unfoldable1.unfoldable1Array;+  }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));+  exports["Unfoldable"] = Unfoldable;+  exports["unfoldr"] = unfoldr;+  exports["unfoldableArray"] = unfoldableArray;+})(PS["Data.Unfoldable"] = PS["Data.Unfoldable"] || {});+(function(exports) {+    "use strict";++  // module Unsafe.Coerce++  exports.unsafeCoerce = function (x) {+    return x;+  };+})(PS["Unsafe.Coerce"] = PS["Unsafe.Coerce"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Unsafe.Coerce"];+  exports["unsafeCoerce"] = $foreign.unsafeCoerce;+})(PS["Unsafe.Coerce"] = PS["Unsafe.Coerce"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Array"];+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Lazy = PS["Control.Lazy"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_ST = PS["Control.Monad.ST"];+  var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Array_NonEmpty_Internal = PS["Data.Array.NonEmpty.Internal"];+  var Data_Array_ST = PS["Data.Array.ST"];+  var Data_Array_ST_Iterator = PS["Data.Array.ST.Iterator"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var singleton = function (a) {+      return [ a ];+  };+  var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));+  var mapMaybe = function (f) {+      return concatMap(function ($114) {+          return Data_Maybe.maybe([  ])(singleton)(f($114));+      });+  };+  exports["singleton"] = singleton;+  exports["concatMap"] = concatMap;+  exports["mapMaybe"] = mapMaybe;+  exports["length"] = $foreign.length;+  exports["cons"] = $foreign.cons;+  exports["snoc"] = $foreign.snoc;+  exports["filter"] = $foreign.filter;+  exports["drop"] = $foreign.drop;+})(PS["Data.Array"] = PS["Data.Array"] || {});+(function(exports) {+    "use strict";++  exports.replace = function (s1) {+    return function (s2) {+      return function (s3) {+        return s3.replace(s1, s2);+      };+    };+  };++  exports.replaceAll = function (s1) {+    return function (s2) {+      return function (s3) {+        return s3.replace(new RegExp(s1.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"), "g"), s2); // eslint-disable-line no-useless-escape+      };+    };+  };++  exports.split = function (sep) {+    return function (s) {+      return s.split(sep);+    };+  };++  exports.joinWith = function (s) {+    return function (xs) {+      return xs.join(s);+    };+  };+})(PS["Data.String.Common"] = PS["Data.String.Common"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.String.Common"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Prelude = PS["Prelude"];                 +  var $$null = function (s) {+      return s === "";+  };+  exports["null"] = $$null;+  exports["replaceAll"] = $foreign.replaceAll;+  exports["split"] = $foreign.split;+  exports["joinWith"] = $foreign.joinWith;+})(PS["Data.String.Common"] = PS["Data.String.Common"] || {});+(function(exports) {+  /* globals exports, JSON */+  "use strict";++  exports.unsafeStringify = function (x) {+    return JSON.stringify(x);+  };                                  +  exports.unsafeDecodeURIComponent = decodeURIComponent;+  exports.unsafeEncodeURIComponent = encodeURIComponent;+})(PS["Global.Unsafe"] = PS["Global.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Global.Unsafe"];+  exports["unsafeStringify"] = $foreign.unsafeStringify;+  exports["unsafeDecodeURIComponent"] = $foreign.unsafeDecodeURIComponent;+  exports["unsafeEncodeURIComponent"] = $foreign.unsafeEncodeURIComponent;+})(PS["Global.Unsafe"] = PS["Global.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_String = PS["Data.String"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_Tuple = PS["Data.Tuple"];+  var Global_Unsafe = PS["Global.Unsafe"];+  var Prelude = PS["Prelude"];+  var toArray = function (v) {+      return v;+  };                                                                                                                 +  var encode = (function () {+      var encodePart = function (v) {+          if (v.value1 instanceof Data_Maybe.Nothing) {+              return Global_Unsafe.unsafeEncodeURIComponent(v.value0);+          };+          if (v.value1 instanceof Data_Maybe.Just) {+              return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + ("=" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));+          };+          throw new Error("Failed pattern match at Data.FormURLEncoded line 35, column 18 - line 37, column 89: " + [ v.constructor.name ]);+      };+      return function ($14) {+          return Data_String_Common.joinWith("&")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));+      };+  })();+  exports["toArray"] = toArray;+  exports["encode"] = encode;+})(PS["Data.FormURLEncoded"] = PS["Data.FormURLEncoded"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_String = PS["Data.String"];+  var Data_String_Common = PS["Data.String.Common"];+  var Prelude = PS["Prelude"];                 +  var OPTIONS = (function () {+      function OPTIONS() {++      };+      OPTIONS.value = new OPTIONS();+      return OPTIONS;+  })();+  var GET = (function () {+      function GET() {++      };+      GET.value = new GET();+      return GET;+  })();+  var HEAD = (function () {+      function HEAD() {++      };+      HEAD.value = new HEAD();+      return HEAD;+  })();+  var POST = (function () {+      function POST() {++      };+      POST.value = new POST();+      return POST;+  })();+  var PUT = (function () {+      function PUT() {++      };+      PUT.value = new PUT();+      return PUT;+  })();+  var DELETE = (function () {+      function DELETE() {++      };+      DELETE.value = new DELETE();+      return DELETE;+  })();+  var TRACE = (function () {+      function TRACE() {++      };+      TRACE.value = new TRACE();+      return TRACE;+  })();+  var CONNECT = (function () {+      function CONNECT() {++      };+      CONNECT.value = new CONNECT();+      return CONNECT;+  })();+  var PROPFIND = (function () {+      function PROPFIND() {++      };+      PROPFIND.value = new PROPFIND();+      return PROPFIND;+  })();+  var PROPPATCH = (function () {+      function PROPPATCH() {++      };+      PROPPATCH.value = new PROPPATCH();+      return PROPPATCH;+  })();+  var MKCOL = (function () {+      function MKCOL() {++      };+      MKCOL.value = new MKCOL();+      return MKCOL;+  })();+  var COPY = (function () {+      function COPY() {++      };+      COPY.value = new COPY();+      return COPY;+  })();+  var MOVE = (function () {+      function MOVE() {++      };+      MOVE.value = new MOVE();+      return MOVE;+  })();+  var LOCK = (function () {+      function LOCK() {++      };+      LOCK.value = new LOCK();+      return LOCK;+  })();+  var UNLOCK = (function () {+      function UNLOCK() {++      };+      UNLOCK.value = new UNLOCK();+      return UNLOCK;+  })();+  var PATCH = (function () {+      function PATCH() {++      };+      PATCH.value = new PATCH();+      return PATCH;+  })();+  var unCustomMethod = function (v) {+      return v;+  };+  var showMethod = new Data_Show.Show(function (v) {+      if (v instanceof OPTIONS) {+          return "OPTIONS";+      };+      if (v instanceof GET) {+          return "GET";+      };+      if (v instanceof HEAD) {+          return "HEAD";+      };+      if (v instanceof POST) {+          return "POST";+      };+      if (v instanceof PUT) {+          return "PUT";+      };+      if (v instanceof DELETE) {+          return "DELETE";+      };+      if (v instanceof TRACE) {+          return "TRACE";+      };+      if (v instanceof CONNECT) {+          return "CONNECT";+      };+      if (v instanceof PROPFIND) {+          return "PROPFIND";+      };+      if (v instanceof PROPPATCH) {+          return "PROPPATCH";+      };+      if (v instanceof MKCOL) {+          return "MKCOL";+      };+      if (v instanceof COPY) {+          return "COPY";+      };+      if (v instanceof MOVE) {+          return "MOVE";+      };+      if (v instanceof LOCK) {+          return "LOCK";+      };+      if (v instanceof UNLOCK) {+          return "UNLOCK";+      };+      if (v instanceof PATCH) {+          return "PATCH";+      };+      throw new Error("Failed pattern match at Data.HTTP.Method line 40, column 1 - line 40, column 35: " + [ v.constructor.name ]);+  });+  var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);+  exports["OPTIONS"] = OPTIONS;+  exports["GET"] = GET;+  exports["HEAD"] = HEAD;+  exports["POST"] = POST;+  exports["PUT"] = PUT;+  exports["DELETE"] = DELETE;+  exports["TRACE"] = TRACE;+  exports["CONNECT"] = CONNECT;+  exports["PROPFIND"] = PROPFIND;+  exports["PROPPATCH"] = PROPPATCH;+  exports["MKCOL"] = MKCOL;+  exports["COPY"] = COPY;+  exports["MOVE"] = MOVE;+  exports["LOCK"] = LOCK;+  exports["UNLOCK"] = UNLOCK;+  exports["PATCH"] = PATCH;+  exports["unCustomMethod"] = unCustomMethod;+  exports["print"] = print;+  exports["showMethod"] = showMethod;+})(PS["Data.HTTP.Method"] = PS["Data.HTTP.Method"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Eq = PS["Data.Eq"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Prelude = PS["Prelude"];                 +  var MediaType = function (x) {+      return x;+  }; +  var newtypeMediaType = new Data_Newtype.Newtype(function (n) {+      return n;+  }, MediaType);+  exports["MediaType"] = MediaType;+  exports["newtypeMediaType"] = newtypeMediaType;+})(PS["Data.MediaType"] = PS["Data.MediaType"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_MediaType = PS["Data.MediaType"];           +  var applicationJSON = "application/json";+  var applicationFormURLEncoded = "application/x-www-form-urlencoded";+  exports["applicationFormURLEncoded"] = applicationFormURLEncoded;+  exports["applicationJSON"] = applicationJSON;+})(PS["Data.MediaType.Common"] = PS["Data.MediaType.Common"] || {});+(function(exports) {+  /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */+  /* jshint -W083, -W098, -W003 */+  "use strict";++  var Aff = function () {+    // A unique value for empty.+    var EMPTY = {};++    /*++  An awkward approximation. We elide evidence we would otherwise need in PS for+  efficiency sake.++  data Aff eff a+    = Pure a+    | Throw Error+    | Catch (Aff eff a) (Error -> Aff eff a)+    | Sync (Eff eff a)+    | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))+    | forall b. Bind (Aff eff b) (b -> Aff eff a)+    | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)+    | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)+    | Sequential (ParAff aff a)++  */  +    var PURE    = "Pure";+    var THROW   = "Throw";+    var CATCH   = "Catch";+    var SYNC    = "Sync";+    var ASYNC   = "Async";+    var BIND    = "Bind";+    var BRACKET = "Bracket";+    var FORK    = "Fork";+    var SEQ     = "Sequential";++    /*++  data ParAff eff a+    = forall b. Map (b -> a) (ParAff eff b)+    | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)+    | Alt (ParAff eff a) (ParAff eff a)+    | ?Par (Aff eff a)++  */  +    var MAP   = "Map";+    var APPLY = "Apply";+    var ALT   = "Alt";++    // Various constructors used in interpretation+    var CONS      = "Cons";      // Cons-list, for stacks+    var RESUME    = "Resume";    // Continue indiscriminately+    var RELEASE   = "Release";   // Continue with bracket finalizers+    var FINALIZER = "Finalizer"; // A non-interruptible effect+    var FINALIZED = "Finalized"; // Marker for finalization+    var FORKED    = "Forked";    // Reference to a forked fiber, with resumption stack+    var FIBER     = "Fiber";     // Actual fiber reference+    var THUNK     = "Thunk";     // Primed effect, ready to invoke++    function Aff(tag, _1, _2, _3) {+      this.tag = tag;+      this._1  = _1;+      this._2  = _2;+      this._3  = _3;+    }++    function AffCtr(tag) {+      var fn = function (_1, _2, _3) {+        return new Aff(tag, _1, _2, _3);+      };+      fn.tag = tag;+      return fn;+    }++    function nonCanceler(error) {+      return new Aff(PURE, void 0);+    }++    function runEff(eff) {+      try {+        eff();+      } catch (error) {+        setTimeout(function () {+          throw error;+        }, 0);+      }+    }++    function runSync(left, right, eff) {+      try {+        return right(eff());+      } catch (error) {+        return left(error);+      }+    }++    function runAsync(left, eff, k) {+      try {+        return eff(k)();+      } catch (error) {+        k(left(error))();+        return nonCanceler;+      }+    }++    var Scheduler = function () {+      var limit    = 1024;+      var size     = 0;+      var ix       = 0;+      var queue    = new Array(limit);+      var draining = false;++      function drain() {+        var thunk;+        draining = true;+        while (size !== 0) {+          size--;+          thunk     = queue[ix];+          queue[ix] = void 0;+          ix        = (ix + 1) % limit;+          thunk();+        }+        draining = false;+      }++      return {+        isDraining: function () {+          return draining;+        },+        enqueue: function (cb) {+          var i, tmp;+          if (size === limit) {+            tmp = draining;+            drain();+            draining = tmp;+          }++          queue[(ix + size) % limit] = cb;+          size++;++          if (!draining) {+            drain();+          }+        }+      };+    }();++    function Supervisor(util) {+      var fibers  = {};+      var fiberId = 0;+      var count   = 0;++      return {+        register: function (fiber) {+          var fid = fiberId++;+          fiber.onComplete({+            rethrow: true,+            handler: function (result) {+              return function () {+                count--;+                delete fibers[fid];+              };+            }+          });+          fibers[fid] = fiber;+          count++;+        },+        isEmpty: function () {+          return count === 0;+        },+        killAll: function (killError, cb) {+          return function () {+            var killCount = 0;+            var kills     = {};++            function kill(fid) {+              kills[fid] = fibers[fid].kill(killError, function (result) {+                return function () {+                  delete kills[fid];+                  killCount--;+                  if (util.isLeft(result) && util.fromLeft(result)) {+                    setTimeout(function () {+                      throw util.fromLeft(result);+                    }, 0);+                  }+                  if (killCount === 0) {+                    cb();+                  }+                };+              })();+            }++            for (var k in fibers) {+              if (fibers.hasOwnProperty(k)) {+                killCount++;+                kill(k);+              }+            }++            fibers  = {};+            fiberId = 0;+            count   = 0;++            return function (error) {+              return new Aff(SYNC, function () {+                for (var k in kills) {+                  if (kills.hasOwnProperty(k)) {+                    kills[k]();+                  }+                }+              });+            };+          };+        }+      };+    }++    // Fiber state machine+    var SUSPENDED   = 0; // Suspended, pending a join.+    var CONTINUE    = 1; // Interpret the next instruction.+    var STEP_BIND   = 2; // Apply the next bind.+    var STEP_RESULT = 3; // Handle potential failure from a result.+    var PENDING     = 4; // An async effect is running.+    var RETURN      = 5; // The current stack has returned.+    var COMPLETED   = 6; // The entire fiber has completed.++    function Fiber(util, supervisor, aff) {+      // Monotonically increasing tick, increased on each asynchronous turn.+      var runTick = 0;++      // The current branch of the state machine.+      var status = SUSPENDED;++      // The current point of interest for the state machine branch.+      var step      = aff;  // Successful step+      var fail      = null; // Failure step+      var interrupt = null; // Asynchronous interrupt++      // Stack of continuations for the current fiber.+      var bhead = null;+      var btail = null;++      // Stack of attempts and finalizers for error recovery. Every `Cons` is also+      // tagged with current `interrupt` state. We use this to track which items+      // should be ignored or evaluated as a result of a kill.+      var attempts = null;++      // A special state is needed for Bracket, because it cannot be killed. When+      // we enter a bracket acquisition or finalizer, we increment the counter,+      // and then decrement once complete.+      var bracketCount = 0;++      // Each join gets a new id so they can be revoked.+      var joinId  = 0;+      var joins   = null;+      var rethrow = true;++      // Each invocation of `run` requires a tick. When an asynchronous effect is+      // resolved, we must check that the local tick coincides with the fiber+      // tick before resuming. This prevents multiple async continuations from+      // accidentally resuming the same fiber. A common example may be invoking+      // the provided callback in `makeAff` more than once, but it may also be an+      // async effect resuming after the fiber was already cancelled.+      function run(localRunTick) {+        var tmp, result, attempt, canceler;+        while (true) {+          tmp       = null;+          result    = null;+          attempt   = null;+          canceler  = null;++          switch (status) {+          case STEP_BIND:+            status = CONTINUE;+            step   = bhead(step);+            if (btail === null) {+              bhead = null;+            } else {+              bhead = btail._1;+              btail = btail._2;+            }+            break;++          case STEP_RESULT:+            if (util.isLeft(step)) {+              status = RETURN;+              fail   = step;+              step   = null;+            } else if (bhead === null) {+              status = RETURN;+            } else {+              status = STEP_BIND;+              step   = util.fromRight(step);+            }+            break;++          case CONTINUE:+            switch (step.tag) {+            case BIND:+              if (bhead) {+                btail = new Aff(CONS, bhead, btail);+              }+              bhead  = step._2;+              status = CONTINUE;+              step   = step._1;+              break;++            case PURE:+              if (bhead === null) {+                status = RETURN;+                step   = util.right(step._1);+              } else {+                status = STEP_BIND;+                step   = step._1;+              }+              break;++            case SYNC:+              status = STEP_RESULT;+              step   = runSync(util.left, util.right, step._1);+              break;++            case ASYNC:+              status = PENDING;+              step   = runAsync(util.left, step._1, function (result) {+                return function () {+                  if (runTick !== localRunTick) {+                    return;+                  }+                  runTick++;+                  Scheduler.enqueue(function () {+                    status = STEP_RESULT;+                    step   = result;+                    run(runTick);+                  });+                };+              });+              return;++            case THROW:+              status = RETURN;+              fail   = util.left(step._1);+              step   = null;+              break;++            // Enqueue the Catch so that we can call the error handler later on+            // in case of an exception.+            case CATCH:+              if (bhead === null) {+                attempts = new Aff(CONS, step, attempts, interrupt);+              } else {+                attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);+              }+              bhead    = null;+              btail    = null;+              status   = CONTINUE;+              step     = step._1;+              break;++            // Enqueue the Bracket so that we can call the appropriate handlers+            // after resource acquisition.+            case BRACKET:+              bracketCount++;+              if (bhead === null) {+                attempts = new Aff(CONS, step, attempts, interrupt);+              } else {+                attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);+              }+              bhead  = null;+              btail  = null;+              status = CONTINUE;+              step   = step._1;+              break;++            case FORK:+              status = STEP_RESULT;+              tmp    = Fiber(util, supervisor, step._2);+              if (supervisor) {+                supervisor.register(tmp);+              }+              if (step._1) {+                tmp.run();+              }+              step = util.right(tmp);+              break;++            case SEQ:+              status = CONTINUE;+              step   = sequential(util, supervisor, step._1);+              break;+            }+            break;++          case RETURN:+            bhead = null;+            btail = null;+            // If the current stack has returned, and we have no other stacks to+            // resume or finalizers to run, the fiber has halted and we can+            // invoke all join callbacks. Otherwise we need to resume.+            if (attempts === null) {+              status = COMPLETED;+              step   = interrupt || fail || step;+            } else {+              // The interrupt status for the enqueued item.+              tmp      = attempts._3;+              attempt  = attempts._1;+              attempts = attempts._2;++              switch (attempt.tag) {+              // We cannot recover from an interrupt. Otherwise we should+              // continue stepping, or run the exception handler if an exception+              // was raised.+              case CATCH:+                // We should compare the interrupt status as well because we+                // only want it to apply if there has been an interrupt since+                // enqueuing the catch.+                if (interrupt && interrupt !== tmp) {+                  status = RETURN;+                } else if (fail) {+                  status = CONTINUE;+                  step   = attempt._2(util.fromLeft(fail));+                  fail   = null;+                }+                break;++              // We cannot resume from an interrupt or exception.+              case RESUME:+                // As with Catch, we only want to ignore in the case of an+                // interrupt since enqueing the item.+                if (interrupt && interrupt !== tmp || fail) {+                  status = RETURN;+                } else {+                  bhead  = attempt._1;+                  btail  = attempt._2;+                  status = STEP_BIND;+                  step   = util.fromRight(step);+                }+                break;++              // If we have a bracket, we should enqueue the handlers,+              // and continue with the success branch only if the fiber has+              // not been interrupted. If the bracket acquisition failed, we+              // should not run either.+              case BRACKET:+                bracketCount--;+                if (fail === null) {+                  result   = util.fromRight(step);+                  // We need to enqueue the Release with the same interrupt+                  // status as the Bracket that is initiating it.+                  attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);+                  // We should only coninue as long as the interrupt status has not changed or+                  // we are currently within a non-interruptable finalizer.+                  if (interrupt === tmp || bracketCount > 0) {+                    status = CONTINUE;+                    step   = attempt._3(result);+                  }+                }+                break;++              // Enqueue the appropriate handler. We increase the bracket count+              // because it should not be cancelled.+              case RELEASE:+                bracketCount++;+                attempts = new Aff(CONS, new Aff(FINALIZED, step), attempts, interrupt);+                status   = CONTINUE;+                // It has only been killed if the interrupt status has changed+                // since we enqueued the item.+                if (interrupt && interrupt !== tmp) {+                  step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);+                } else if (fail) {+                  step = attempt._1.failed(util.fromLeft(fail))(attempt._2);+                } else {+                  step = attempt._1.completed(util.fromRight(step))(attempt._2);+                }+                break;++              case FINALIZER:+                bracketCount++;+                attempts = new Aff(CONS, new Aff(FINALIZED, step), attempts, interrupt);+                status   = CONTINUE;+                step     = attempt._1;+                break;++              case FINALIZED:+                bracketCount--;+                status = RETURN;+                step   = attempt._1;+                break;+              }+            }+            break;++          case COMPLETED:+            for (var k in joins) {+              if (joins.hasOwnProperty(k)) {+                rethrow = rethrow && joins[k].rethrow;+                runEff(joins[k].handler(step));+              }+            }+            joins = null;+            // If we have an interrupt and a fail, then the thread threw while+            // running finalizers. This should always rethrow in a fresh stack.+            if (interrupt && fail) {+              setTimeout(function () {+                throw util.fromLeft(fail);+              }, 0);+            // If we have an unhandled exception, and no other fiber has joined+            // then we need to throw the exception in a fresh stack.+            } else if (util.isLeft(step) && rethrow) {+              setTimeout(function () {+                // Guard on reathrow because a completely synchronous fiber can+                // still have an observer which was added after-the-fact.+                if (rethrow) {+                  throw util.fromLeft(step);+                }+              }, 0);+            }+            return;+          case SUSPENDED:+            status = CONTINUE;+            break;+          case PENDING: return;+          }+        }+      }++      function onComplete(join) {+        return function () {+          if (status === COMPLETED) {+            rethrow = rethrow && join.rethrow;+            join.handler(step)();+            return function () {};+          }++          var jid    = joinId++;+          joins      = joins || {};+          joins[jid] = join;++          return function() {+            if (joins !== null) {+              delete joins[jid];+            }+          };+        };+      }++      function kill(error, cb) {+        return function () {+          if (status === COMPLETED) {+            cb(util.right(void 0))();+            return function () {};+          }++          var canceler = onComplete({+            rethrow: false,+            handler: function (/* unused */) {+              return cb(util.right(void 0));+            }+          })();++          switch (status) {+          case SUSPENDED:+            interrupt = util.left(error);+            status    = COMPLETED;+            step      = interrupt;+            run(runTick);+            break;+          case PENDING:+            if (interrupt === null) {+              interrupt = util.left(error);+            }+            if (bracketCount === 0) {+              if (status === PENDING) {+                attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);+              }+              status   = RETURN;+              step     = null;+              fail     = null;+              run(++runTick);+            }+            break;+          default:+            if (interrupt === null) {+              interrupt = util.left(error);+            }+            if (bracketCount === 0) {+              status = RETURN;+              step   = null;+              fail   = null;+            }+          }++          return canceler;+        };+      }++      function join(cb) {+        return function () {+          var canceler = onComplete({+            rethrow: false,+            handler: cb+          })();+          if (status === SUSPENDED) {+            run(runTick);+          }+          return canceler;+        };+      }++      return {+        kill: kill,+        join: join,+        onComplete: onComplete,+        isSuspended: function () {+          return status === SUSPENDED;+        },+        run: function () {+          if (status === SUSPENDED) {+            if (!Scheduler.isDraining()) {+              Scheduler.enqueue(function () {+                run(runTick);+              });+            } else {+              run(runTick);+            }+          }+        }+      };+    }++    function runPar(util, supervisor, par, cb) {+      // Table of all forked fibers.+      var fiberId   = 0;+      var fibers    = {};++      // Table of currently running cancelers, as a product of `Alt` behavior.+      var killId    = 0;+      var kills     = {};++      // Error used for early cancelation on Alt branches.+      var early     = new Error("[ParAff] Early exit");++      // Error used to kill the entire tree.+      var interrupt = null;++      // The root pointer of the tree.+      var root      = EMPTY;++      // Walks a tree, invoking all the cancelers. Returns the table of pending+      // cancellation fibers.+      function kill(error, par, cb) {+        var step  = par;+        var head  = null;+        var tail  = null;+        var count = 0;+        var kills = {};+        var tmp, kid;++        loop: while (true) {+          tmp = null;++          switch (step.tag) {+          case FORKED:+            if (step._3 === EMPTY) {+              tmp = fibers[step._1];+              kills[count++] = tmp.kill(error, function (result) {+                return function () {+                  count--;+                  if (count === 0) {+                    cb(result)();+                  }+                };+              });+            }+            // Terminal case.+            if (head === null) {+              break loop;+            }+            // Go down the right side of the tree.+            step = head._2;+            if (tail === null) {+              head = null;+            } else {+              head = tail._1;+              tail = tail._2;+            }+            break;+          case MAP:+            step = step._2;+            break;+          case APPLY:+          case ALT:+            if (head) {+              tail = new Aff(CONS, head, tail);+            }+            head = step;+            step = step._1;+            break;+          }+        }++        if (count === 0) {+          cb(util.right(void 0))();+        } else {+          // Run the cancelation effects. We alias `count` because it's mutable.+          kid = 0;+          tmp = count;+          for (; kid < tmp; kid++) {+            kills[kid] = kills[kid]();+          }+        }++        return kills;+      }++      // When a fiber resolves, we need to bubble back up the tree with the+      // result, computing the applicative nodes.+      function join(result, head, tail) {+        var fail, step, lhs, rhs, tmp, kid;++        if (util.isLeft(result)) {+          fail = result;+          step = null;+        } else {+          step = result;+          fail = null;+        }++        loop: while (true) {+          lhs = null;+          rhs = null;+          tmp = null;+          kid = null;++          // We should never continue if the entire tree has been interrupted.+          if (interrupt !== null) {+            return;+          }++          // We've made it all the way to the root of the tree, which means+          // the tree has fully evaluated.+          if (head === null) {+            cb(fail || step)();+            return;+          }++          // The tree has already been computed, so we shouldn't try to do it+          // again. This should never happen.+          // TODO: Remove this?+          if (head._3 !== EMPTY) {+            return;+          }++          switch (head.tag) {+          case MAP:+            if (fail === null) {+              head._3 = util.right(head._1(util.fromRight(step)));+              step    = head._3;+            } else {+              head._3 = fail;+            }+            break;+          case APPLY:+            lhs = head._1._3;+            rhs = head._2._3;+            // If we have a failure we should kill the other side because we+            // can't possible yield a result anymore.+            if (fail) {+              head._3 = fail;+              tmp     = true;+              kid     = killId++;++              kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {+                return function () {+                  delete kills[kid];+                  if (tmp) {+                    tmp = false;+                  } else if (tail === null) {+                    join(step, null, null);+                  } else {+                    join(step, tail._1, tail._2);+                  }+                };+              });++              if (tmp) {+                tmp = false;+                return;+              }+            } else if (lhs === EMPTY || rhs === EMPTY) {+              // We can only proceed if both sides have resolved.+              return;+            } else {+              step    = util.right(util.fromRight(lhs)(util.fromRight(rhs)));+              head._3 = step;+            }+            break;+          case ALT:+            lhs = head._1._3;+            rhs = head._2._3;+            // We can only proceed if both have resolved or we have a success+            if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {+              return;+            }+            // If both sides resolve with an error, we should continue with the+            // first error+            if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {+              fail    = step === lhs ? rhs : lhs;+              step    = null;+              head._3 = fail;+            } else {+              head._3 = step;+              tmp     = true;+              kid     = killId++;+              // Once a side has resolved, we need to cancel the side that is still+              // pending before we can continue.+              kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {+                return function () {+                  delete kills[kid];+                  if (tmp) {+                    tmp = false;+                  } else if (tail === null) {+                    join(step, null, null);+                  } else {+                    join(step, tail._1, tail._2);+                  }+                };+              });++              if (tmp) {+                tmp = false;+                return;+              }+            }+            break;+          }++          if (tail === null) {+            head = null;+          } else {+            head = tail._1;+            tail = tail._2;+          }+        }+      }++      function resolve(fiber) {+        return function (result) {+          return function () {+            delete fibers[fiber._1];+            fiber._3 = result;+            join(result, fiber._2._1, fiber._2._2);+          };+        };+      }++      // Walks the applicative tree, substituting non-applicative nodes with+      // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot+      // as a mutable slot for memoization. In an unresolved state, the `_3`+      // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk+      // the left side first, because both operations are left-associative. As+      // we `RETURN` from those branches, we then walk the right side.+      function run() {+        var status = CONTINUE;+        var step   = par;+        var head   = null;+        var tail   = null;+        var tmp, fid;++        loop: while (true) {+          tmp = null;+          fid = null;++          switch (status) {+          case CONTINUE:+            switch (step.tag) {+            case MAP:+              if (head) {+                tail = new Aff(CONS, head, tail);+              }+              head = new Aff(MAP, step._1, EMPTY, EMPTY);+              step = step._2;+              break;+            case APPLY:+              if (head) {+                tail = new Aff(CONS, head, tail);+              }+              head = new Aff(APPLY, EMPTY, step._2, EMPTY);+              step = step._1;+              break;+            case ALT:+              if (head) {+                tail = new Aff(CONS, head, tail);+              }+              head = new Aff(ALT, EMPTY, step._2, EMPTY);+              step = step._1;+              break;+            default:+              // When we hit a leaf value, we suspend the stack in the `FORKED`.+              // When the fiber resolves, it can bubble back up the tree.+              fid    = fiberId++;+              status = RETURN;+              tmp    = step;+              step   = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);+              tmp    = Fiber(util, supervisor, tmp);+              tmp.onComplete({+                rethrow: false,+                handler: resolve(step)+              })();+              fibers[fid] = tmp;+              if (supervisor) {+                supervisor.register(tmp);+              }+            }+            break;+          case RETURN:+            // Terminal case, we are back at the root.+            if (head === null) {+              break loop;+            }+            // If we are done with the right side, we need to continue down the+            // left. Otherwise we should continue up the stack.+            if (head._1 === EMPTY) {+              head._1 = step;+              status  = CONTINUE;+              step    = head._2;+              head._2 = EMPTY;+            } else {+              head._2 = step;+              step    = head;+              if (tail === null) {+                head  = null;+              } else {+                head  = tail._1;+                tail  = tail._2;+              }+            }+          }+        }++        // Keep a reference to the tree root so it can be cancelled.+        root = step;++        for (fid = 0; fid < fiberId; fid++) {+          fibers[fid].run();+        }+      }++      // Cancels the entire tree. If there are already subtrees being canceled,+      // we need to first cancel those joins. We will then add fresh joins for+      // all pending branches including those that were in the process of being+      // canceled.+      function cancel(error, cb) {+        interrupt = util.left(error);+        var innerKills;+        for (var kid in kills) {+          if (kills.hasOwnProperty(kid)) {+            innerKills = kills[kid];+            for (kid in innerKills) {+              if (innerKills.hasOwnProperty(kid)) {+                innerKills[kid]();+              }+            }+          }+        }++        kills = null;+        var newKills = kill(error, root, cb);++        return function (killError) {+          return new Aff(ASYNC, function (killCb) {+            return function () {+              for (var kid in newKills) {+                if (newKills.hasOwnProperty(kid)) {+                  newKills[kid]();+                }+              }+              return nonCanceler;+            };+          });+        };+      }++      run();++      return function (killError) {+        return new Aff(ASYNC, function (killCb) {+          return function () {+            return cancel(killError, killCb);+          };+        });+      };+    }++    function sequential(util, supervisor, par) {+      return new Aff(ASYNC, function (cb) {+        return function () {+          return runPar(util, supervisor, par, cb);+        };+      });+    }++    Aff.EMPTY       = EMPTY;+    Aff.Pure        = AffCtr(PURE);+    Aff.Throw       = AffCtr(THROW);+    Aff.Catch       = AffCtr(CATCH);+    Aff.Sync        = AffCtr(SYNC);+    Aff.Async       = AffCtr(ASYNC);+    Aff.Bind        = AffCtr(BIND);+    Aff.Bracket     = AffCtr(BRACKET);+    Aff.Fork        = AffCtr(FORK);+    Aff.Seq         = AffCtr(SEQ);+    Aff.ParMap      = AffCtr(MAP);+    Aff.ParApply    = AffCtr(APPLY);+    Aff.ParAlt      = AffCtr(ALT);+    Aff.Fiber       = Fiber;+    Aff.Supervisor  = Supervisor;+    Aff.Scheduler   = Scheduler;+    Aff.nonCanceler = nonCanceler;++    return Aff;+  }();++  exports._pure = Aff.Pure;++  exports._throwError = Aff.Throw;++  exports._catchError = function (aff) {+    return function (k) {+      return Aff.Catch(aff, k);+    };+  };++  exports._map = function (f) {+    return function (aff) {+      if (aff.tag === Aff.Pure.tag) {+        return Aff.Pure(f(aff._1));+      } else {+        return Aff.Bind(aff, function (value) {+          return Aff.Pure(f(value));+        });+      }+    };+  };++  exports._bind = function (aff) {+    return function (k) {+      return Aff.Bind(aff, k);+    };+  };++  exports._fork = function (immediate) {+    return function (aff) {+      return Aff.Fork(immediate, aff);+    };+  };++  exports._liftEffect = Aff.Sync;++  exports._parAffMap = function (f) {+    return function (aff) {+      return Aff.ParMap(f, aff);+    };+  };++  exports._parAffApply = function (aff1) {+    return function (aff2) {+      return Aff.ParApply(aff1, aff2);+    };+  };++  exports.makeAff = Aff.Async;++  exports._makeFiber = function (util, aff) {+    return function () {+      return Aff.Fiber(util, null, aff);+    };+  };  ++  exports._sequential = Aff.Seq;+})(PS["Effect.Aff"] = PS["Effect.Aff"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];                 +  var MonadThrow = function (Monad0, throwError) {+      this.Monad0 = Monad0;+      this.throwError = throwError;+  };+  var MonadError = function (MonadThrow0, catchError) {+      this.MonadThrow0 = MonadThrow0;+      this.catchError = catchError;+  };+  var throwError = function (dict) {+      return dict.throwError;+  }; +  var catchError = function (dict) {+      return dict.catchError;+  };+  var $$try = function (dictMonadError) {+      return function (a) {+          return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) {+              return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));+          });+      };+  };+  exports["catchError"] = catchError;+  exports["throwError"] = throwError;+  exports["MonadThrow"] = MonadThrow;+  exports["MonadError"] = MonadError;+  exports["try"] = $$try;+})(PS["Control.Monad.Error.Class"] = PS["Control.Monad.Error.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];                 +  var MonadState = function (Monad0, state) {+      this.Monad0 = Monad0;+      this.state = state;+  };+  var state = function (dict) {+      return dict.state;+  };+  var put = function (dictMonadState) {+      return function (s) {+          return state(dictMonadState)(function (v) {+              return new Data_Tuple.Tuple(Data_Unit.unit, s);+          });+      };+  };+  var modify_ = function (dictMonadState) {+      return function (f) {+          return state(dictMonadState)(function (s) {+              return new Data_Tuple.Tuple(Data_Unit.unit, f(s));+          });+      };+  };+  var gets = function (dictMonadState) {+      return function (f) {+          return state(dictMonadState)(function (s) {+              return new Data_Tuple.Tuple(f(s), s);+          });+      };+  };+  var get = function (dictMonadState) {+      return state(dictMonadState)(function (s) {+          return new Data_Tuple.Tuple(s, s);+      });+  };+  exports["state"] = state;+  exports["MonadState"] = MonadState;+  exports["get"] = get;+  exports["gets"] = gets;+  exports["put"] = put;+  exports["modify_"] = modify_;+})(PS["Control.Monad.State.Class"] = PS["Control.Monad.State.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Prelude = PS["Prelude"];                 +  var MonadTrans = function (lift) {+      this.lift = lift;+  };+  var lift = function (dict) {+      return dict.lift;+  };+  exports["lift"] = lift;+  exports["MonadTrans"] = MonadTrans;+})(PS["Control.Monad.Trans.Class"] = PS["Control.Monad.Trans.Class"] || {});+(function(exports) {+    "use strict";+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Effect = PS["Effect"];                 ++  // | The `MonadEffect` class captures those monads which support native effects.+  // |+  // | Instances are provided for `Effect` itself, and the standard monad+  // | transformers.+  // |+  // | `liftEffect` can be used in any appropriate monad transformer stack to lift an+  // | action of type `Effect a` into the monad.+  // |+  var MonadEffect = function (Monad0, liftEffect) {+      this.Monad0 = Monad0;+      this.liftEffect = liftEffect;+  };                                                         +  var liftEffect = function (dict) {+      return dict.liftEffect;+  };+  exports["liftEffect"] = liftEffect;+  exports["MonadEffect"] = MonadEffect;+})(PS["Effect.Class"] = PS["Effect.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect_Class = PS["Effect.Class"];+  var Prelude = PS["Prelude"];                 +  var ExceptT = function (x) {+      return x;+  };+  var runExceptT = function (v) {+      return v;+  }; +  var mapExceptT = function (f) {+      return function (v) {+          return f(v);+      };+  };+  var functorExceptT = function (dictFunctor) {+      return new Data_Functor.Functor(function (f) {+          return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));+      });+  };+  var monadExceptT = function (dictMonad) {+      return new Control_Monad.Monad(function () {+          return applicativeExceptT(dictMonad);+      }, function () {+          return bindExceptT(dictMonad);+      });+  };+  var bindExceptT = function (dictMonad) {+      return new Control_Bind.Bind(function () {+          return applyExceptT(dictMonad);+      }, function (v) {+          return function (k) {+              return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) {+                  return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));+              })(function (a) {+                  var v1 = k(a);+                  return v1;+              }));+          };+      });+  };+  var applyExceptT = function (dictMonad) {+      return new Control_Apply.Apply(function () {+          return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());+      }, Control_Monad.ap(monadExceptT(dictMonad)));+  };+  var applicativeExceptT = function (dictMonad) {+      return new Control_Applicative.Applicative(function () {+          return applyExceptT(dictMonad);+      }, function ($98) {+          return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));+      });+  };+  var monadThrowExceptT = function (dictMonad) {+      return new Control_Monad_Error_Class.MonadThrow(function () {+          return monadExceptT(dictMonad);+      }, function ($102) {+          return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));+      });+  };+  exports["ExceptT"] = ExceptT;+  exports["runExceptT"] = runExceptT;+  exports["mapExceptT"] = mapExceptT;+  exports["functorExceptT"] = functorExceptT;+  exports["applyExceptT"] = applyExceptT;+  exports["applicativeExceptT"] = applicativeExceptT;+  exports["bindExceptT"] = bindExceptT;+  exports["monadExceptT"] = monadExceptT;+  exports["monadThrowExceptT"] = monadThrowExceptT;+})(PS["Control.Monad.Except.Trans"] = PS["Control.Monad.Except.Trans"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Cont_Class = PS["Control.Monad.Cont.Class"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect_Class = PS["Effect.Class"];+  var Prelude = PS["Prelude"];                 +  var MaybeT = function (x) {+      return x;+  };+  exports["MaybeT"] = MaybeT;+})(PS["Control.Monad.Maybe.Trans"] = PS["Control.Monad.Maybe.Trans"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Cont_Trans = PS["Control.Monad.Cont.Trans"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"];+  var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"];+  var Control_Monad_Writer_Trans = PS["Control.Monad.Writer.Trans"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Functor_Compose = PS["Data.Functor.Compose"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Ref = PS["Effect.Ref"];+  var Prelude = PS["Prelude"];+  var Parallel = function (Applicative1, Monad0, parallel, sequential) {+      this.Applicative1 = Applicative1;+      this.Monad0 = Monad0;+      this.parallel = parallel;+      this.sequential = sequential;+  };+  var sequential = function (dict) {+      return dict.sequential;+  };+  var parallel = function (dict) {+      return dict.parallel;+  };+  exports["parallel"] = parallel;+  exports["sequential"] = sequential;+  exports["Parallel"] = Parallel;+})(PS["Control.Parallel.Class"] = PS["Control.Parallel.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Category = PS["Control.Category"];+  var Control_Parallel_Class = PS["Control.Parallel.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Traversable = PS["Data.Traversable"];+  var Prelude = PS["Prelude"];                 +  var parTraverse_ = function (dictParallel) {+      return function (dictFoldable) {+          return function (f) {+              return function ($17) {+                  return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {+                      return Control_Parallel_Class.parallel(dictParallel)(f($18));+                  })($17));+              };+          };+      };+  };+  var parSequence_ = function (dictParallel) {+      return function (dictFoldable) {+          return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));+      };+  };+  exports["parTraverse_"] = parTraverse_;+  exports["parSequence_"] = parSequence_;+})(PS["Control.Parallel"] = PS["Control.Parallel"] || {});+(function(exports) {+    "use strict";++  exports.runFn4 = function (fn) {+    return function (a) {+      return function (b) {+        return function (c) {+          return function (d) {+            return fn(a, b, c, d);+          };+        };+      };+    };+  };+})(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Function.Uncurried"];+  var Data_Unit = PS["Data.Unit"];+  exports["runFn4"] = $foreign.runFn4;+})(PS["Data.Function.Uncurried"] = PS["Data.Function.Uncurried"] || {});+(function(exports) {+    "use strict";++  exports.error = function (msg) {+    return new Error(msg);+  };++  exports.throwException = function (e) {+    return function () {+      throw e;+    };+  };+})(PS["Effect.Exception"] = PS["Effect.Exception"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.Exception"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Show = PS["Data.Show"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var $$throw = function ($1) {+      return $foreign.throwException($foreign.error($1));+  };+  exports["throw"] = $$throw;+  exports["error"] = $foreign.error;+  exports["throwException"] = $foreign.throwException;+})(PS["Effect.Exception"] = PS["Effect.Exception"] || {});+(function(exports) {+    "use strict";++  exports.unsafePerformEffect = function (f) {+    return f();+  };+})(PS["Effect.Unsafe"] = PS["Effect.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.Unsafe"];+  var Effect = PS["Effect"];+  exports["unsafePerformEffect"] = $foreign.unsafePerformEffect;+})(PS["Effect.Unsafe"] = PS["Effect.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.Aff"];+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Lazy = PS["Control.Lazy"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Parallel_Class = PS["Control.Parallel.Class"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Time_Duration = PS["Data.Time.Duration"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Unsafe = PS["Effect.Unsafe"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Canceler = function (x) {+      return x;+  };+  var suspendAff = $foreign._fork(false);+  var functorParAff = new Data_Functor.Functor($foreign._parAffMap);+  var functorAff = new Data_Functor.Functor($foreign._map);+  var forkAff = $foreign._fork(true);+  var ffiUtil = (function () {+      var unsafeFromRight = function (v) {+          if (v instanceof Data_Either.Right) {+              return v.value0;+          };+          if (v instanceof Data_Either.Left) {+              return Partial_Unsafe.unsafeCrashWith("unsafeFromRight: Left");+          };+          throw new Error("Failed pattern match at Effect.Aff line 395, column 21 - line 397, column 31: " + [ v.constructor.name ]);+      };+      var unsafeFromLeft = function (v) {+          if (v instanceof Data_Either.Left) {+              return v.value0;+          };+          if (v instanceof Data_Either.Right) {+              return Partial_Unsafe.unsafeCrashWith("unsafeFromLeft: Right");+          };+          throw new Error("Failed pattern match at Effect.Aff line 390, column 20 - line 394, column 3: " + [ v.constructor.name ]);+      };+      var isLeft = function (v) {+          if (v instanceof Data_Either.Left) {+              return true;+          };+          if (v instanceof Data_Either.Right) {+              return false;+          };+          throw new Error("Failed pattern match at Effect.Aff line 385, column 12 - line 387, column 20: " + [ v.constructor.name ]);+      };+      return {+          isLeft: isLeft,+          fromLeft: unsafeFromLeft,+          fromRight: unsafeFromRight,+          left: Data_Either.Left.create,+          right: Data_Either.Right.create+      };+  })();+  var makeFiber = function (aff) {+      return $foreign._makeFiber(ffiUtil, aff);+  };+  var launchAff = function (aff) {+      return function __do() {+          var v = makeFiber(aff)();+          v.run();+          return v;+      };+  };+  var applyParAff = new Control_Apply.Apply(function () {+      return functorParAff;+  }, $foreign._parAffApply);+  var monadAff = new Control_Monad.Monad(function () {+      return applicativeAff;+  }, function () {+      return bindAff;+  });+  var bindAff = new Control_Bind.Bind(function () {+      return applyAff;+  }, $foreign._bind);+  var applyAff = new Control_Apply.Apply(function () {+      return functorAff;+  }, Control_Monad.ap(monadAff));+  var applicativeAff = new Control_Applicative.Applicative(function () {+      return applyAff;+  }, $foreign._pure);+  var monadEffectAff = new Effect_Class.MonadEffect(function () {+      return monadAff;+  }, $foreign._liftEffect);+  var effectCanceler = function ($50) {+      return Canceler(Data_Function["const"](Effect_Class.liftEffect(monadEffectAff)($50)));+  };+  var joinFiber = function (v) {+      return $foreign.makeAff(function (k) {+          return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));+      });+  };+  var functorFiber = new Data_Functor.Functor(function (f) {+      return function (t) {+          return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));+      };+  });+  var killFiber = function (e) {+      return function (v) {+          return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {+              if (v1) {+                  return Effect_Class.liftEffect(monadEffectAff)(Data_Functor["void"](Effect.functorEffect)(v.kill(e, Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));+              };+              return $foreign.makeAff(function (k) {+                  return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));+              });+          });+      };+  };+  var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {+      return monadAff;+  }, $foreign._throwError);+  var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {+      return monadThrowAff;+  }, $foreign._catchError);                                     +  var runAff = function (k) {+      return function (aff) {+          return launchAff(Control_Bind.bindFlipped(bindAff)(function ($51) {+              return Effect_Class.liftEffect(monadEffectAff)(k($51));+          })(Control_Monad_Error_Class["try"](monadErrorAff)(aff)));+      };+  };+  var runAff_ = function (k) {+      return function (aff) {+          return Data_Functor["void"](Effect.functorEffect)(runAff(k)(aff));+      };+  };+  var parallelAff = new Control_Parallel_Class.Parallel(function () {+      return applicativeParAff;+  }, function () {+      return monadAff;+  }, Unsafe_Coerce.unsafeCoerce, $foreign._sequential);+  var applicativeParAff = new Control_Applicative.Applicative(function () {+      return applyParAff;+  }, function ($53) {+      return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($53));+  });+  var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {+      return monadAff;+  }, function (k) {+      var go = function (a) {+          return Control_Bind.bind(bindAff)(k(a))(function (v) {+              if (v instanceof Control_Monad_Rec_Class.Done) {+                  return Control_Applicative.pure(applicativeAff)(v.value0);+              };+              if (v instanceof Control_Monad_Rec_Class.Loop) {+                  return go(v.value0);+              };+              throw new Error("Failed pattern match at Effect.Aff line 99, column 7 - line 101, column 22: " + [ v.constructor.name ]);+          });+      };+      return go;+  });+  var nonCanceler = Data_Function["const"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));+  exports["Canceler"] = Canceler;+  exports["launchAff"] = launchAff;+  exports["runAff"] = runAff;+  exports["runAff_"] = runAff_;+  exports["forkAff"] = forkAff;+  exports["suspendAff"] = suspendAff;+  exports["killFiber"] = killFiber;+  exports["joinFiber"] = joinFiber;+  exports["nonCanceler"] = nonCanceler;+  exports["effectCanceler"] = effectCanceler;+  exports["functorAff"] = functorAff;+  exports["applyAff"] = applyAff;+  exports["applicativeAff"] = applicativeAff;+  exports["bindAff"] = bindAff;+  exports["monadAff"] = monadAff;+  exports["monadRecAff"] = monadRecAff;+  exports["monadThrowAff"] = monadThrowAff;+  exports["monadErrorAff"] = monadErrorAff;+  exports["monadEffectAff"] = monadEffectAff;+  exports["functorParAff"] = functorParAff;+  exports["applyParAff"] = applyParAff;+  exports["applicativeParAff"] = applicativeParAff;+  exports["parallelAff"] = parallelAff;+  exports["functorFiber"] = functorFiber;+  exports["makeAff"] = $foreign.makeAff;+})(PS["Effect.Aff"] = PS["Effect.Aff"] || {});+(function(exports) {+    "use strict";++  exports._app = function() {+    return app;+  }++  exports._closest = function(just, nothing, selector, el) {+    var node = el.closest(selector);+    if(node) {+      return just(node);+    } else {+      return nothing;+    }+  }++  exports._innerHtml = function(el) {+    return el.innerHTML;+  }++  exports._setInnerHtml = function(content, el) {+    el.innerHTML = content;+    return el;+  }++  exports._createFormData = function(formElement) {+    return new FormData(formElement);+  }++  exports._createFormString = function(formElement) {+    return new URLSearchParams(new FormData(formElement)).toString()+  }++  exports._createFormArray = function(formElement) {+    return Array.from(new FormData(formElement));+  }++  exports._getDataAttribute = function(name, el) {+    return el.dataset[name];+  }++  exports._setDataAttribute = function(name, value, el) {+    return el.dataset[name] = value;+  }++  exports._moment8601 = function(tuple, s) {+    var m = moment(s, moment.ISO_8601);+    var s1 = m.fromNow();+    var s2 = m.format('MMMM D YYYY, h:mm a') + " (" + m.format() + ") ";+    return tuple(s1)(s2);+  }++  exports._mmoment8601 = function(just, nothing, tuple, s) {+    try {+      var m = moment(s, moment.ISO_8601);+      var s1 = m.fromNow();+      var s2 = m.format('MMMM D YYYY, h:mm a') + " (" + m.format() + ") ";+      return just(tuple(s1)(s2));+    } catch (error) {+      return nothing+    }+  }++  exports._closeWindow = function (window) {+    window.close();+  };+})(PS["Globals"] = PS["Globals"] || {});+(function(exports) {+    "use strict";++  exports["null"] = null;++  exports.nullable = function (a, r, f) {+    return a == null ? r : f(a);+  };++  exports.notNull = function (x) {+    return x;+  };+})(PS["Data.Nullable"] = PS["Data.Nullable"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Nullable"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Show = PS["Data.Show"];+  var Prelude = PS["Prelude"];                 +  var toNullable = Data_Maybe.maybe($foreign["null"])($foreign.notNull);+  var toMaybe = function (n) {+      return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);+  };+  exports["toMaybe"] = toMaybe;+  exports["toNullable"] = toNullable;+})(PS["Data.Nullable"] = PS["Data.Nullable"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Newtype = PS["Data.Newtype"];+  var Prelude = PS["Prelude"];                                                           +  var runExcept = function ($0) {+      return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));+  };+  exports["runExcept"] = runExcept;+})(PS["Control.Monad.Except"] = PS["Control.Monad.Except"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Category = PS["Control.Category"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Prelude = PS["Prelude"];                 +  var NonEmpty = (function () {+      function NonEmpty(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      NonEmpty.create = function (value0) {+          return function (value1) {+              return new NonEmpty(value0, value1);+          };+      };+      return NonEmpty;+  })();+  var singleton = function (dictPlus) {+      return function (a) {+          return new NonEmpty(a, Control_Plus.empty(dictPlus));+      };+  };+  var functorNonEmpty = function (dictFunctor) {+      return new Data_Functor.Functor(function (f) {+          return function (m) {+              return new NonEmpty(f(m.value0), Data_Functor.map(dictFunctor)(f)(m.value1));+          };+      });+  };+  var foldableNonEmpty = function (dictFoldable) {+      return new Data_Foldable.Foldable(function (dictMonoid) {+          return function (f) {+              return function (v) {+                  return Data_Semigroup.append(dictMonoid.Semigroup0())(f(v.value0))(Data_Foldable.foldMap(dictFoldable)(dictMonoid)(f)(v.value1));+              };+          };+      }, function (f) {+          return function (b) {+              return function (v) {+                  return Data_Foldable.foldl(dictFoldable)(f)(f(b)(v.value0))(v.value1);+              };+          };+      }, function (f) {+          return function (b) {+              return function (v) {+                  return f(v.value0)(Data_Foldable.foldr(dictFoldable)(f)(b)(v.value1));+              };+          };+      });+  };+  exports["NonEmpty"] = NonEmpty;+  exports["singleton"] = singleton;+  exports["functorNonEmpty"] = functorNonEmpty;+  exports["foldableNonEmpty"] = foldableNonEmpty;+})(PS["Data.NonEmpty"] = PS["Data.NonEmpty"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Comonad = PS["Control.Comonad"];+  var Control_Extend = PS["Control.Extend"];+  var Control_Monad = PS["Control.Monad"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_NonEmpty = PS["Data.NonEmpty"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];+  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Prelude = PS["Prelude"];                 +  var Nil = (function () {+      function Nil() {++      };+      Nil.value = new Nil();+      return Nil;+  })();+  var Cons = (function () {+      function Cons(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Cons.create = function (value0) {+          return function (value1) {+              return new Cons(value0, value1);+          };+      };+      return Cons;+  })();+  var NonEmptyList = function (x) {+      return x;+  };+  var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {+      return function (f) {+          return Data_Foldable.foldl(foldableList)(function (acc) {+              return function ($155) {+                  return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($155));+              };+          })(Data_Monoid.mempty(dictMonoid));+      };+  }, function (f) {+      var go = function ($copy_b) {+          return function ($copy_v) {+              var $tco_var_b = $copy_b;+              var $tco_done = false;+              var $tco_result;+              function $tco_loop(b, v) {+                  if (v instanceof Nil) {+                      $tco_done = true;+                      return b;+                  };+                  if (v instanceof Cons) {+                      $tco_var_b = f(b)(v.value0);+                      $copy_v = v.value1;+                      return;+                  };+                  throw new Error("Failed pattern match at Data.List.Types line 81, column 12 - line 83, column 30: " + [ v.constructor.name ]);+              };+              while (!$tco_done) {+                  $tco_result = $tco_loop($tco_var_b, $copy_v);+              };+              return $tco_result;+          };+      };+      return go;+  }, function (f) {+      return function (b) {+          var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);+          return function ($156) {+              return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($156));+          };+      };+  });+  var foldableNonEmptyList = Data_NonEmpty.foldableNonEmpty(foldableList);+  var functorList = new Data_Functor.Functor(function (f) {+      return Data_Foldable.foldr(foldableList)(function (x) {+          return function (acc) {+              return new Cons(f(x), acc);+          };+      })(Nil.value);+  });+  var functorNonEmptyList = Data_NonEmpty.functorNonEmpty(functorList);+  var semigroupList = new Data_Semigroup.Semigroup(function (xs) {+      return function (ys) {+          return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);+      };+  });+  var applyList = new Control_Apply.Apply(function () {+      return functorList;+  }, function (v) {+      return function (v1) {+          if (v instanceof Nil) {+              return Nil.value;+          };+          if (v instanceof Cons) {+              return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));+          };+          throw new Error("Failed pattern match at Data.List.Types line 127, column 1 - line 127, column 33: " + [ v.constructor.name, v1.constructor.name ]);+      };+  });+  var applicativeList = new Control_Applicative.Applicative(function () {+      return applyList;+  }, function (a) {+      return new Cons(a, Nil.value);+  });                                              +  var altList = new Control_Alt.Alt(function () {+      return functorList;+  }, Data_Semigroup.append(semigroupList));+  var plusList = new Control_Plus.Plus(function () {+      return altList;+  }, Nil.value);+  exports["Nil"] = Nil;+  exports["Cons"] = Cons;+  exports["NonEmptyList"] = NonEmptyList;+  exports["semigroupList"] = semigroupList;+  exports["functorList"] = functorList;+  exports["foldableList"] = foldableList;+  exports["applyList"] = applyList;+  exports["applicativeList"] = applicativeList;+  exports["altList"] = altList;+  exports["plusList"] = plusList;+  exports["functorNonEmptyList"] = functorNonEmptyList;+  exports["foldableNonEmptyList"] = foldableNonEmptyList;+})(PS["Data.List.Types"] = PS["Data.List.Types"] || {});+(function(exports) {+    "use strict";++  exports.unsafeToForeign = function (value) {+    return value;+  };++  exports.unsafeFromForeign = function (value) {+    return value;+  };++  exports.typeOf = function (value) {+    return typeof value;+  };++  exports.tagOf = function (value) {+    return Object.prototype.toString.call(value).slice(8, -1);+  };+})(PS["Foreign"] = PS["Foreign"] || {});+(function(exports) {+    "use strict";++  exports.fromNumberImpl = function (just) {+    return function (nothing) {+      return function (n) {+        /* jshint bitwise: false */+        return (n | 0) === n ? just(n) : nothing;+      };+    };+  };+})(PS["Data.Int"] = PS["Data.Int"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Int"];+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_CommutativeRing = PS["Data.CommutativeRing"];+  var Data_DivisionRing = PS["Data.DivisionRing"];+  var Data_Eq = PS["Data.Eq"];+  var Data_EuclideanRing = PS["Data.EuclideanRing"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Int_Bits = PS["Data.Int.Bits"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Global = PS["Global"];+  var $$Math = PS["Math"];+  var Prelude = PS["Prelude"];      +  var fromNumber = $foreign.fromNumberImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);+  exports["fromNumber"] = fromNumber;+})(PS["Data.Int"] = PS["Data.Int"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Lazy = PS["Control.Lazy"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_NonEmpty = PS["Data.NonEmpty"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];+  var reverse = (function () {+      var go = function ($copy_acc) {+          return function ($copy_v) {+              var $tco_var_acc = $copy_acc;+              var $tco_done = false;+              var $tco_result;+              function $tco_loop(acc, v) {+                  if (v instanceof Data_List_Types.Nil) {+                      $tco_done = true;+                      return acc;+                  };+                  if (v instanceof Data_List_Types.Cons) {+                      $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);+                      $copy_v = v.value1;+                      return;+                  };+                  throw new Error("Failed pattern match at Data.List line 368, column 3 - line 368, column 19: " + [ acc.constructor.name, v.constructor.name ]);+              };+              while (!$tco_done) {+                  $tco_result = $tco_loop($tco_var_acc, $copy_v);+              };+              return $tco_result;+          };+      };+      return go(Data_List_Types.Nil.value);+  })();+  var $$null = function (v) {+      if (v instanceof Data_List_Types.Nil) {+          return true;+      };+      return false;+  };+  var fromFoldable = function (dictFoldable) {+      return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value);+  };+  exports["fromFoldable"] = fromFoldable;+  exports["null"] = $$null;+  exports["reverse"] = reverse;+})(PS["Data.List"] = PS["Data.List"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_NonEmpty = PS["Data.NonEmpty"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];+  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var singleton = function ($160) {+      return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($160));+  };+  var cons = function (y) {+      return function (v) {+          return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));+      };+  };+  exports["singleton"] = singleton;+  exports["cons"] = cons;+})(PS["Data.List.NonEmpty"] = PS["Data.List.NonEmpty"] || {});+(function(exports) {+    "use strict";++  exports.singleton = function (c) {+    return c;+  };++  exports.length = function (s) {+    return s.length;+  };++  exports.drop = function (n) {+    return function (s) {+      return s.substring(n);+    };+  };+})(PS["Data.String.CodeUnits"] = PS["Data.String.CodeUnits"] || {});+(function(exports) {+    "use strict";++  exports.charAt = function (i) {+    return function (s) {+      if (i >= 0 && i < s.length) return s.charAt(i);+      throw new Error("Data.String.Unsafe.charAt: Invalid index.");+    };+  };+})(PS["Data.String.Unsafe"] = PS["Data.String.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.String.Unsafe"];+  exports["charAt"] = $foreign.charAt;+})(PS["Data.String.Unsafe"] = PS["Data.String.Unsafe"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.String.CodeUnits"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Data_String_Unsafe = PS["Data.String.Unsafe"];+  var Prelude = PS["Prelude"];+  exports["singleton"] = $foreign.singleton;+  exports["length"] = $foreign.length;+  exports["drop"] = $foreign.drop;+})(PS["Data.String.CodeUnits"] = PS["Data.String.CodeUnits"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Foreign"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Except = PS["Control.Monad.Except"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Int = PS["Data.Int"];+  var Data_List_NonEmpty = PS["Data.List.NonEmpty"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_String_CodeUnits = PS["Data.String.CodeUnits"];+  var Prelude = PS["Prelude"];                 +  var ForeignError = (function () {+      function ForeignError(value0) {+          this.value0 = value0;+      };+      ForeignError.create = function (value0) {+          return new ForeignError(value0);+      };+      return ForeignError;+  })();+  var TypeMismatch = (function () {+      function TypeMismatch(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      TypeMismatch.create = function (value0) {+          return function (value1) {+              return new TypeMismatch(value0, value1);+          };+      };+      return TypeMismatch;+  })();+  var ErrorAtIndex = (function () {+      function ErrorAtIndex(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      ErrorAtIndex.create = function (value0) {+          return function (value1) {+              return new ErrorAtIndex(value0, value1);+          };+      };+      return ErrorAtIndex;+  })();+  var ErrorAtProperty = (function () {+      function ErrorAtProperty(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      ErrorAtProperty.create = function (value0) {+          return function (value1) {+              return new ErrorAtProperty(value0, value1);+          };+      };+      return ErrorAtProperty;+  })();+  var renderForeignError = function (v) {+      if (v instanceof ForeignError) {+          return v.value0;+      };+      if (v instanceof ErrorAtIndex) {+          return "Error at array index " + (Data_Show.show(Data_Show.showInt)(v.value0) + (": " + renderForeignError(v.value1)));+      };+      if (v instanceof ErrorAtProperty) {+          return "Error at property " + (Data_Show.show(Data_Show.showString)(v.value0) + (": " + renderForeignError(v.value1)));+      };+      if (v instanceof TypeMismatch) {+          return "Type mismatch: expected " + (v.value0 + (", found " + v.value1));+      };+      throw new Error("Failed pattern match at Foreign line 72, column 1 - line 72, column 45: " + [ v.constructor.name ]);+  };+  var fail = function ($107) {+      return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));+  };+  var unsafeReadTagged = function (tag) {+      return function (value) {+          if ($foreign.tagOf(value) === tag) {+              return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));+          };+          if (Data_Boolean.otherwise) {+              return fail(new TypeMismatch(tag, $foreign.tagOf(value)));+          };+          throw new Error("Failed pattern match at Foreign line 106, column 1 - line 106, column 55: " + [ tag.constructor.name, value.constructor.name ]);+      };+  };+  var readBoolean = unsafeReadTagged("Boolean");+  var readString = unsafeReadTagged("String");+  exports["ForeignError"] = ForeignError;+  exports["TypeMismatch"] = TypeMismatch;+  exports["ErrorAtIndex"] = ErrorAtIndex;+  exports["ErrorAtProperty"] = ErrorAtProperty;+  exports["renderForeignError"] = renderForeignError;+  exports["unsafeReadTagged"] = unsafeReadTagged;+  exports["readString"] = readString;+  exports["readBoolean"] = readBoolean;+  exports["fail"] = fail;+  exports["unsafeToForeign"] = $foreign.unsafeToForeign;+  exports["typeOf"] = $foreign.typeOf;+})(PS["Foreign"] = PS["Foreign"] || {});+(function(exports) {+    "use strict";++  exports.unsafeReadPropImpl = function (f, s, key, value) {+    return value == null ? f : s(value[key]);+  };+})(PS["Foreign.Index"] = PS["Foreign.Index"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Foreign.Index"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Identity = PS["Data.Identity"];+  var Data_List_NonEmpty = PS["Data.List.NonEmpty"];+  var Foreign = PS["Foreign"];+  var Prelude = PS["Prelude"];+  var unsafeReadProp = function (k) {+      return function (value) {+          return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch("object", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);+      };+  };+  var readProp = unsafeReadProp;+  exports["readProp"] = readProp;+})(PS["Foreign.Index"] = PS["Foreign.Index"] || {});+(function(exports) {+    "use strict";++  exports.empty = {};++  exports._lookup = function (no, yes, k, m) {+    return k in m ? yes(m[k]) : no;+  };++  function toArrayWithKey(f) {+    return function (m) {+      var r = [];+      for (var k in m) {+        if (hasOwnProperty.call(m, k)) {+          r.push(f(k)(m[k]));+        }+      }+      return r;+    };+  }+})(PS["Foreign.Object"] = PS["Foreign.Object"] || {});+(function(exports) {+    "use strict";++  exports["new"] = function () {+    return {};+  };+})(PS["Foreign.Object.ST"] = PS["Foreign.Object.ST"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Foreign.Object.ST"];+  var Control_Monad_ST = PS["Control.Monad.ST"];+  var Data_Maybe = PS["Data.Maybe"];+  exports["new"] = $foreign["new"];+})(PS["Foreign.Object.ST"] = PS["Foreign.Object.ST"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Foreign.Object"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad_ST = PS["Control.Monad.ST"];+  var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Array = PS["Data.Array"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Functor = PS["Data.Functor"];+  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Foreign_Object_ST = PS["Foreign.Object.ST"];+  var Prelude = PS["Prelude"];+  var lookup = Data_Function_Uncurried.runFn4($foreign._lookup)(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);+  exports["lookup"] = lookup;+  exports["empty"] = $foreign.empty;+})(PS["Foreign.Object"] = PS["Foreign.Object"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Type_Data_Boolean = PS["Type.Data.Boolean"];+  var Type_Data_Symbol = PS["Type.Data.Symbol"];+  var Type_Equality = PS["Type.Equality"];+  var RLProxy = (function () {+      function RLProxy() {++      };+      RLProxy.value = new RLProxy();+      return RLProxy;+  })();+  exports["RLProxy"] = RLProxy;+})(PS["Type.Row"] = PS["Type.Row"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Eq = PS["Data.Eq"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Symbol = PS["Data.Symbol"];+  var Prelude = PS["Prelude"];+  var Record_Unsafe = PS["Record.Unsafe"];+  var Record_Unsafe_Union = PS["Record.Unsafe.Union"];+  var Type_Row = PS["Type.Row"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var get = function (dictIsSymbol) {+      return function (dictCons) {+          return function (l) {+              return function (r) {+                  return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);+              };+          };+      };+  };+  exports["get"] = get;+})(PS["Record"] = PS["Record"] || {});+(function(exports) {+    "use strict";++  exports.copyRecord = function(rec) {+    var copy = {};+    for (var key in rec) {+      if ({}.hasOwnProperty.call(rec, key)) {+        copy[key] = rec[key];+      }+    }+    return copy;+  };++  exports.unsafeInsert = function(l) {+    return function(a) {+      return function(rec) {+        rec[l] = a;+        return rec;+      };+    };+  };+})(PS["Record.Builder"] = PS["Record.Builder"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Record.Builder"];+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Symbol = PS["Data.Symbol"];+  var Prelude = PS["Prelude"];+  var Record_Unsafe_Union = PS["Record.Unsafe.Union"];+  var Type_Row = PS["Type.Row"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;+  var insert = function (dictCons) {+      return function (dictLacks) {+          return function (dictIsSymbol) {+              return function (l) {+                  return function (a) {+                      return function (r1) {+                          return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);+                      };+                  };+              };+          };+      };+  };+  var categoryBuilder = Control_Category.categoryFn;+  var build = function (v) {+      return function (r1) {+          return v($foreign.copyRecord(r1));+      };+  };+  exports["build"] = build;+  exports["insert"] = insert;+  exports["semigroupoidBuilder"] = semigroupoidBuilder;+  exports["categoryBuilder"] = categoryBuilder;+})(PS["Record.Builder"] = PS["Record.Builder"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Simple.JSON"];+  var Control_Alt = PS["Control.Alt"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad_Except = PS["Control.Monad.Except"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Identity = PS["Data.Identity"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Symbol = PS["Data.Symbol"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Variant = PS["Data.Variant"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Effect_Unsafe = PS["Effect.Unsafe"];+  var Foreign = PS["Foreign"];+  var Foreign_Index = PS["Foreign.Index"];+  var Foreign_Object = PS["Foreign.Object"];+  var Global_Unsafe = PS["Global.Unsafe"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var Record = PS["Record"];+  var Record_Builder = PS["Record.Builder"];+  var Type_Prelude = PS["Type.Prelude"];+  var Type_Row = PS["Type.Row"];+  var WriteForeign = function (writeImpl) {+      this.writeImpl = writeImpl;+  };+  var WriteForeignFields = function (writeImplFields) {+      this.writeImplFields = writeImplFields;+  };+  var writeImplFields = function (dict) {+      return dict.writeImplFields;+  };+  var writeImpl = function (dict) {+      return dict.writeImpl;+  };+  var writeJSON = function (dictWriteForeign) {+      return function ($71) {+          return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($71));+      };+  };+  var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);+  var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); +  var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);+  var recordWriteForeign = function (dictRowToList) {+      return function (dictWriteForeignFields) {+          return new WriteForeign(function (rec) {+              var steps = writeImplFields(dictWriteForeignFields)(Type_Row.RLProxy.value)(rec);+              return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));+          });+      };+  }; +  var nilWriteForeignFields = new WriteForeignFields(function (v) {+      return function (v1) {+          return Control_Category.identity(Record_Builder.categoryBuilder);+      };+  });+  var consWriteForeignFields = function (dictIsSymbol) {+      return function (dictWriteForeign) {+          return function (dictWriteForeignFields) {+              return function (dictCons) {+                  return function (dictLacks) {+                      return function (dictCons1) {+                          return new WriteForeignFields(function (v) {+                              return function (rec) {+                                  var rest = writeImplFields(dictWriteForeignFields)(Type_Row.RLProxy.value)(rec);+                                  var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)(dictCons)(Data_Symbol.SProxy.value)(rec));+                                  var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);+                                  return result;+                              };+                          });+                      };+                  };+              };+          };+      };+  };+  exports["writeJSON"] = writeJSON;+  exports["WriteForeign"] = WriteForeign;+  exports["writeImpl"] = writeImpl;+  exports["WriteForeignFields"] = WriteForeignFields;+  exports["writeImplFields"] = writeImplFields;+  exports["writeForeignString"] = writeForeignString;+  exports["writeForeignInt"] = writeForeignInt;+  exports["writeForeignBoolean"] = writeForeignBoolean;+  exports["recordWriteForeign"] = recordWriteForeign;+  exports["consWriteForeignFields"] = consWriteForeignFields;+  exports["nilWriteForeignFields"] = nilWriteForeignFields;+})(PS["Simple.JSON"] = PS["Simple.JSON"] || {});+(function(exports) {+    "use strict";+  var Data_Symbol = PS["Data.Symbol"];+  var Simple_JSON = PS["Simple.JSON"];+  var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "created";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "id";+  }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "length";+  }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "text";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "title";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "updated";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()());+  var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "bid";+  }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "description";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "private";+  }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "selected";+  }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "tags";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "time";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "title";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "toread";+  }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {+      return "url";+  }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());+  exports["bookmark_wfI"] = bookmark_wfI;+  exports["note_wfI"] = note_wfI;+})(PS["Model"] = PS["Model"] || {});+(function(exports) {+  /* global window */+  "use strict";++  exports.window = function () {+    return window;+  };+})(PS["Web.HTML"] = PS["Web.HTML"] || {});+(function(exports) {+    "use strict";++  exports._body = function (doc) {+    return function () {+      return doc.body;+    };+  };+})(PS["Web.HTML.HTMLDocument"] = PS["Web.HTML.HTMLDocument"] || {});+(function(exports) {+    "use strict";++  exports.removeAttribute = function (name) {+    return function (element) {+      return function () {+        element.removeAttribute(name);+        return {};+      };+    };+  };+})(PS["Web.DOM.Element"] = PS["Web.DOM.Element"] || {});+(function(exports) {+    "use strict";                                             ++  exports._querySelector = function (selector) {+    return function (node) {+      return function () {+        return node.querySelector(selector);+      };+    };+  };++  exports.querySelectorAll = function (selector) {+    return function (node) {+      return function () {+        return node.querySelectorAll(selector);+      };+    };+  };+})(PS["Web.DOM.ParentNode"] = PS["Web.DOM.ParentNode"] || {});+(function(exports) {+    "use strict";++  exports.toArray = function (list) {+    return function () {+      return [].slice.call(list);+    };+  };+})(PS["Web.DOM.NodeList"] = PS["Web.DOM.NodeList"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.NodeList"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  exports["toArray"] = $foreign.toArray;+})(PS["Web.DOM.NodeList"] = PS["Web.DOM.NodeList"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.ParentNode"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Ord = PS["Data.Ord"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Web_DOM_HTMLCollection = PS["Web.DOM.HTMLCollection"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NodeList = PS["Web.DOM.NodeList"];+  var querySelector = function (qs) {+      return function ($3) {+          return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._querySelector(qs)($3));+      };+  };+  exports["querySelector"] = querySelector;+  exports["querySelectorAll"] = $foreign.querySelectorAll;+})(PS["Web.DOM.ParentNode"] = PS["Web.DOM.ParentNode"] || {});+(function(exports) {+    "use strict";++  exports.eventListener = function (fn) {+    return function () {+      return function (event) {+        return fn(event)();+      };+    };+  };+})(PS["Web.Event.EventTarget"] = PS["Web.Event.EventTarget"] || {});+(function(exports) {+    "use strict";++  exports._currentTarget = function (e) {+    return e.currentTarget;+  };++  exports.preventDefault = function (e) {+    return function () {+      return e.preventDefault();+    };+  };+})(PS["Web.Event.Event"] = PS["Web.Event.Event"] || {});+(function(exports) {+    "use strict";++  exports.toCharCode = function (c) {+    return c.charCodeAt(0);+  };++  exports.fromCharCode = function (c) {+    return String.fromCharCode(c);+  };+})(PS["Data.Enum"] = PS["Data.Enum"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Enum"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Data_Unit = PS["Data.Unit"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var Enum = function (Ord0, pred, succ) {+      this.Ord0 = Ord0;+      this.pred = pred;+      this.succ = succ;+  };+  var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {+      this.Bounded0 = Bounded0;+      this.Enum1 = Enum1;+      this.cardinality = cardinality;+      this.fromEnum = fromEnum;+      this.toEnum = toEnum;+  };+  var toEnum = function (dict) {+      return dict.toEnum;+  };+  var succ = function (dict) {+      return dict.succ;+  }; +  var pred = function (dict) {+      return dict.pred;+  };              +  var fromEnum = function (dict) {+      return dict.fromEnum;+  };+  var toEnumWithDefaults = function (dictBoundedEnum) {+      return function (low) {+          return function (high) {+              return function (x) {+                  var v = toEnum(dictBoundedEnum)(x);+                  if (v instanceof Data_Maybe.Just) {+                      return v.value0;+                  };+                  if (v instanceof Data_Maybe.Nothing) {+                      var $51 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));+                      if ($51) {+                          return low;+                      };+                      return high;+                  };+                  throw new Error("Failed pattern match at Data.Enum line 158, column 33 - line 160, column 62: " + [ v.constructor.name ]);+              };+          };+      };+  };+  var defaultSucc = function (toEnum$prime) {+      return function (fromEnum$prime) {+          return function (a) {+              return toEnum$prime(fromEnum$prime(a) + 1 | 0);+          };+      };+  };+  var defaultPred = function (toEnum$prime) {+      return function (fromEnum$prime) {+          return function (a) {+              return toEnum$prime(fromEnum$prime(a) - 1 | 0);+          };+      };+  };+  var charToEnum = function (v) {+      if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {+          return new Data_Maybe.Just($foreign.fromCharCode(v));+      };+      return Data_Maybe.Nothing.value;+  };+  var enumChar = new Enum(function () {+      return Data_Ord.ordChar;+  }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));+  var cardinality = function (dict) {+      return dict.cardinality;+  }; +  var boundedEnumChar = new BoundedEnum(function () {+      return Data_Bounded.boundedChar;+  }, function () {+      return enumChar;+  }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);+  exports["Enum"] = Enum;+  exports["succ"] = succ;+  exports["pred"] = pred;+  exports["BoundedEnum"] = BoundedEnum;+  exports["cardinality"] = cardinality;+  exports["toEnum"] = toEnum;+  exports["fromEnum"] = fromEnum;+  exports["toEnumWithDefaults"] = toEnumWithDefaults;+  exports["defaultSucc"] = defaultSucc;+  exports["defaultPred"] = defaultPred;+  exports["enumChar"] = enumChar;+  exports["boundedEnumChar"] = boundedEnumChar;+})(PS["Data.Enum"] = PS["Data.Enum"] || {});+(function(exports) {+    "use strict";+  var $foreign = PS["Web.Event.Event"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_DateTime_Instant = PS["Data.DateTime.Instant"];+  var Data_Enum = PS["Data.Enum"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Ord = PS["Data.Ord"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Web_Event_EventPhase = PS["Web.Event.EventPhase"];+  var Web_Event_Internal_Types = PS["Web.Event.Internal.Types"];++  // | The element that the event listener was added to.+  var currentTarget = function ($6) {+      return Data_Nullable.toMaybe($foreign._currentTarget($6));+  };+  exports["currentTarget"] = currentTarget;+  exports["preventDefault"] = $foreign.preventDefault;+})(PS["Web.Event.Event"] = PS["Web.Event.Event"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.Event.EventTarget"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var Web_Event_Internal_Types = PS["Web.Event.Internal.Types"];+  exports["eventListener"] = $foreign.eventListener;+})(PS["Web.Event.EventTarget"] = PS["Web.Event.EventTarget"] || {});+(function(exports) {+    "use strict";++  exports._unsafeReadProtoTagged = function (nothing, just, name, value) {+    var obj = value;+    while (obj != null) {+      var proto = Object.getPrototypeOf(obj);+      var ctor = proto.constructor.name;+      if (ctor === name) {+        return just(value);+      } else if (ctor === "Object") {+        return nothing;+      }+      obj = proto;+    }+    return nothing;+  };+})(PS["Web.Internal.FFI"] = PS["Web.Internal.FFI"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.Internal.FFI"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];                 +  var unsafeReadProtoTagged = function (name) {+      return function (value) {+          return $foreign._unsafeReadProtoTagged(Data_Maybe.Nothing.value, Data_Maybe.Just.create, name, value);+      };+  };+  exports["unsafeReadProtoTagged"] = unsafeReadProtoTagged;+})(PS["Web.Internal.FFI"] = PS["Web.Internal.FFI"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.Element"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_ChildNode = PS["Web.DOM.ChildNode"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NonDocumentTypeChildNode = PS["Web.DOM.NonDocumentTypeChildNode"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_Internal_FFI = PS["Web.Internal.FFI"];                 +  var toParentNode = Unsafe_Coerce.unsafeCoerce;              +  var toNode = Unsafe_Coerce.unsafeCoerce;                                             +  var fromNode = Web_Internal_FFI.unsafeReadProtoTagged("Element");+  exports["fromNode"] = fromNode;+  exports["toNode"] = toNode;+  exports["toParentNode"] = toParentNode;+  exports["removeAttribute"] = $foreign.removeAttribute;+})(PS["Web.DOM.Element"] = PS["Web.DOM.Element"] || {});+(function(exports) {+    "use strict";++  exports._getElementById = function (id) {+    return function (node) {+      return function () {+        return node.getElementById(id);+      };+    };+  };+})(PS["Web.DOM.NonElementParentNode"] = PS["Web.DOM.NonElementParentNode"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.NonElementParentNode"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Web_DOM_Element = PS["Web.DOM.Element"];                 +  var getElementById = function (eid) {+      return function ($0) {+          return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._getElementById(eid)($0));+      };+  };+  exports["getElementById"] = getElementById;+})(PS["Web.DOM.NonElementParentNode"] = PS["Web.DOM.NonElementParentNode"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.Document"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Comment = PS["Web.DOM.Comment"];+  var Web_DOM_DocumentFragment = PS["Web.DOM.DocumentFragment"];+  var Web_DOM_DocumentType = PS["Web.DOM.DocumentType"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_HTMLCollection = PS["Web.DOM.HTMLCollection"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NonElementParentNode = PS["Web.DOM.NonElementParentNode"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_DOM_ProcessingInstruction = PS["Web.DOM.ProcessingInstruction"];+  var Web_DOM_Text = PS["Web.DOM.Text"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_Internal_FFI = PS["Web.Internal.FFI"];+  var toNonElementParentNode = Unsafe_Coerce.unsafeCoerce;+  exports["toNonElementParentNode"] = toNonElementParentNode;+})(PS["Web.DOM.Document"] = PS["Web.DOM.Document"] || {});+(function(exports) {+    "use strict";++  exports._read = function (nothing, just, value) {+    var tag = Object.prototype.toString.call(value);+    if (tag.indexOf("[object HTML") === 0 && tag.indexOf("Element]") === tag.length - 8) {+      return just(value);+    } else {+      return nothing;+    }+  };+})(PS["Web.HTML.HTMLElement"] = PS["Web.HTML.HTMLElement"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.HTML.HTMLElement"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM = PS["Web.DOM"];+  var Web_DOM_DOMTokenList = PS["Web.DOM.DOMTokenList"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NonDocumentTypeChildNode = PS["Web.DOM.NonDocumentTypeChildNode"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];    +  var toNode = Unsafe_Coerce.unsafeCoerce;       +  var toElement = Unsafe_Coerce.unsafeCoerce;+  var fromElement = function (x) {+      return $foreign._read(Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);+  };+  exports["fromElement"] = fromElement;+  exports["toElement"] = toElement;+  exports["toNode"] = toNode;+})(PS["Web.HTML.HTMLElement"] = PS["Web.HTML.HTMLElement"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.HTML.HTMLDocument"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NonElementParentNode = PS["Web.DOM.NonElementParentNode"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_HTML_HTMLDocument_ReadyState = PS["Web.HTML.HTMLDocument.ReadyState"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var Web_Internal_FFI = PS["Web.Internal.FFI"];                 +  var toParentNode = Unsafe_Coerce.unsafeCoerce; +  var toDocument = Unsafe_Coerce.unsafeCoerce;                              +  var body = function ($2) {+      return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._body($2));+  };+  exports["toDocument"] = toDocument;+  exports["toParentNode"] = toParentNode;+  exports["body"] = body;+})(PS["Web.HTML.HTMLDocument"] = PS["Web.HTML.HTMLDocument"] || {});+(function(exports) {+    "use strict";++  // ----------------------------------------------------------------------------++  exports.href = function (location) {+    return function () {+      return location.href;+    };+  };++  exports.setHref = function (href) {+    return function (location) {+      return function () {+        location.href = href;+      };+    };+  };++  // ----------------------------------------------------------------------------++  exports.search = function (location) {+    return function () {+      return location.search;+    };+  };++  // ----------------------------------------------------------------------------++  exports.reload = function (location) {+    return function () {+      location.reload();+    };+  };+})(PS["Web.HTML.Location"] = PS["Web.HTML.Location"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.HTML.Location"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  exports["setHref"] = $foreign.setHref;+  exports["search"] = $foreign.search;+  exports["reload"] = $foreign.reload;+})(PS["Web.HTML.Location"] = PS["Web.HTML.Location"] || {});+(function(exports) {+    "use strict";++  exports.document = function (window) {+    return function () {+      return window.document;+    };+  };++  exports.location = function (window) {+    return function () {+      return window.location;+    };+  };+})(PS["Web.HTML.Window"] = PS["Web.HTML.Window"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.HTML.Window"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Ord = PS["Data.Ord"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];+  var Web_HTML_History = PS["Web.HTML.History"];+  var Web_HTML_Location = PS["Web.HTML.Location"];+  var Web_HTML_Navigator = PS["Web.HTML.Navigator"];+  var Web_Storage_Storage = PS["Web.Storage.Storage"];+  exports["document"] = $foreign.document;+  exports["location"] = $foreign.location;+})(PS["Web.HTML.Window"] = PS["Web.HTML.Window"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.HTML"];+  var Effect = PS["Effect"];+  var Web_HTML_HTMLAnchorElement = PS["Web.HTML.HTMLAnchorElement"];+  var Web_HTML_HTMLAreaElement = PS["Web.HTML.HTMLAreaElement"];+  var Web_HTML_HTMLAudioElement = PS["Web.HTML.HTMLAudioElement"];+  var Web_HTML_HTMLBRElement = PS["Web.HTML.HTMLBRElement"];+  var Web_HTML_HTMLBaseElement = PS["Web.HTML.HTMLBaseElement"];+  var Web_HTML_HTMLBodyElement = PS["Web.HTML.HTMLBodyElement"];+  var Web_HTML_HTMLButtonElement = PS["Web.HTML.HTMLButtonElement"];+  var Web_HTML_HTMLCanvasElement = PS["Web.HTML.HTMLCanvasElement"];+  var Web_HTML_HTMLDListElement = PS["Web.HTML.HTMLDListElement"];+  var Web_HTML_HTMLDataElement = PS["Web.HTML.HTMLDataElement"];+  var Web_HTML_HTMLDataListElement = PS["Web.HTML.HTMLDataListElement"];+  var Web_HTML_HTMLDivElement = PS["Web.HTML.HTMLDivElement"];+  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var Web_HTML_HTMLEmbedElement = PS["Web.HTML.HTMLEmbedElement"];+  var Web_HTML_HTMLFieldSetElement = PS["Web.HTML.HTMLFieldSetElement"];+  var Web_HTML_HTMLFormElement = PS["Web.HTML.HTMLFormElement"];+  var Web_HTML_HTMLHRElement = PS["Web.HTML.HTMLHRElement"];+  var Web_HTML_HTMLHeadElement = PS["Web.HTML.HTMLHeadElement"];+  var Web_HTML_HTMLHeadingElement = PS["Web.HTML.HTMLHeadingElement"];+  var Web_HTML_HTMLIFrameElement = PS["Web.HTML.HTMLIFrameElement"];+  var Web_HTML_HTMLImageElement = PS["Web.HTML.HTMLImageElement"];+  var Web_HTML_HTMLInputElement = PS["Web.HTML.HTMLInputElement"];+  var Web_HTML_HTMLKeygenElement = PS["Web.HTML.HTMLKeygenElement"];+  var Web_HTML_HTMLLIElement = PS["Web.HTML.HTMLLIElement"];+  var Web_HTML_HTMLLabelElement = PS["Web.HTML.HTMLLabelElement"];+  var Web_HTML_HTMLLegendElement = PS["Web.HTML.HTMLLegendElement"];+  var Web_HTML_HTMLLinkElement = PS["Web.HTML.HTMLLinkElement"];+  var Web_HTML_HTMLMapElement = PS["Web.HTML.HTMLMapElement"];+  var Web_HTML_HTMLMediaElement = PS["Web.HTML.HTMLMediaElement"];+  var Web_HTML_HTMLMetaElement = PS["Web.HTML.HTMLMetaElement"];+  var Web_HTML_HTMLMeterElement = PS["Web.HTML.HTMLMeterElement"];+  var Web_HTML_HTMLModElement = PS["Web.HTML.HTMLModElement"];+  var Web_HTML_HTMLOListElement = PS["Web.HTML.HTMLOListElement"];+  var Web_HTML_HTMLObjectElement = PS["Web.HTML.HTMLObjectElement"];+  var Web_HTML_HTMLOptGroupElement = PS["Web.HTML.HTMLOptGroupElement"];+  var Web_HTML_HTMLOptionElement = PS["Web.HTML.HTMLOptionElement"];+  var Web_HTML_HTMLOutputElement = PS["Web.HTML.HTMLOutputElement"];+  var Web_HTML_HTMLParagraphElement = PS["Web.HTML.HTMLParagraphElement"];+  var Web_HTML_HTMLParamElement = PS["Web.HTML.HTMLParamElement"];+  var Web_HTML_HTMLPreElement = PS["Web.HTML.HTMLPreElement"];+  var Web_HTML_HTMLProgressElement = PS["Web.HTML.HTMLProgressElement"];+  var Web_HTML_HTMLQuoteElement = PS["Web.HTML.HTMLQuoteElement"];+  var Web_HTML_HTMLScriptElement = PS["Web.HTML.HTMLScriptElement"];+  var Web_HTML_HTMLSelectElement = PS["Web.HTML.HTMLSelectElement"];+  var Web_HTML_HTMLSourceElement = PS["Web.HTML.HTMLSourceElement"];+  var Web_HTML_HTMLSpanElement = PS["Web.HTML.HTMLSpanElement"];+  var Web_HTML_HTMLStyleElement = PS["Web.HTML.HTMLStyleElement"];+  var Web_HTML_HTMLTableCaptionElement = PS["Web.HTML.HTMLTableCaptionElement"];+  var Web_HTML_HTMLTableCellElement = PS["Web.HTML.HTMLTableCellElement"];+  var Web_HTML_HTMLTableColElement = PS["Web.HTML.HTMLTableColElement"];+  var Web_HTML_HTMLTableDataCellElement = PS["Web.HTML.HTMLTableDataCellElement"];+  var Web_HTML_HTMLTableElement = PS["Web.HTML.HTMLTableElement"];+  var Web_HTML_HTMLTableHeaderCellElement = PS["Web.HTML.HTMLTableHeaderCellElement"];+  var Web_HTML_HTMLTableRowElement = PS["Web.HTML.HTMLTableRowElement"];+  var Web_HTML_HTMLTableSectionElement = PS["Web.HTML.HTMLTableSectionElement"];+  var Web_HTML_HTMLTemplateElement = PS["Web.HTML.HTMLTemplateElement"];+  var Web_HTML_HTMLTextAreaElement = PS["Web.HTML.HTMLTextAreaElement"];+  var Web_HTML_HTMLTimeElement = PS["Web.HTML.HTMLTimeElement"];+  var Web_HTML_HTMLTitleElement = PS["Web.HTML.HTMLTitleElement"];+  var Web_HTML_HTMLTrackElement = PS["Web.HTML.HTMLTrackElement"];+  var Web_HTML_HTMLUListElement = PS["Web.HTML.HTMLUListElement"];+  var Web_HTML_HTMLVideoElement = PS["Web.HTML.HTMLVideoElement"];+  var Web_HTML_History = PS["Web.HTML.History"];+  var Web_HTML_Location = PS["Web.HTML.Location"];+  var Web_HTML_Navigator = PS["Web.HTML.Navigator"];+  var Web_HTML_Window = PS["Web.HTML.Window"];+  exports["window"] = $foreign.window;+})(PS["Web.HTML"] = PS["Web.HTML"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Globals"];+  var Control_Applicative = PS["Control.Applicative"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect = PS["Effect"];+  var Model = PS["Model"];+  var Prelude = PS["Prelude"];+  var Web_DOM = PS["Web.DOM"];+  var Web_HTML = PS["Web.HTML"];+  var Web_XHR_FormData = PS["Web.XHR.FormData"];                 +  var setInnerHtml = function (c) {+      return function (n) {+          return Control_Applicative.pure(Effect.applicativeEffect)($foreign._setInnerHtml(c, n));+      };+  };+  var setDataAttribute = function (k) {+      return function (v) {+          return function (n) {+              return Control_Applicative.pure(Effect.applicativeEffect)($foreign._setDataAttribute(k, v, n));+          };+      };+  };+  var moment8601 = function (s) {+      return Control_Applicative.pure(Effect.applicativeEffect)($foreign._moment8601(Data_Tuple.Tuple.create, s));+  };+  var mmoment8601 = function (s) {+      return $foreign._mmoment8601(Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);+  };+  var innerHtml = function (n) {+      return Control_Applicative.pure(Effect.applicativeEffect)($foreign._innerHtml(n));+  };+  var getDataAttribute = function (k) {+      return function (n) {+          return Control_Applicative.pure(Effect.applicativeEffect)(Data_Nullable.toMaybe($foreign._getDataAttribute(k, n)));+      };+  };+  var createFormString = function (f) {+      return $foreign._createFormString(f);+  };+  var createFormData = function (f) {+      return $foreign._createFormData(f);+  };+  var createFormArray = function (f) {+      return $foreign._createFormArray(f);+  };+  var closest = function (selector) {+      return function (node) {+          return Control_Applicative.pure(Effect.applicativeEffect)($foreign._closest(Data_Maybe.Just.create, Data_Maybe.Nothing.value, selector, node));+      };+  };+  var closeWindow = function (win) {+      return Control_Applicative.pure(Effect.applicativeEffect)($foreign._closeWindow(win));+  };+  var app$prime = function (v) {+      return $foreign._app();+  };+  exports["app'"] = app$prime;+  exports["closest"] = closest;+  exports["moment8601"] = moment8601;+  exports["mmoment8601"] = mmoment8601;+  exports["innerHtml"] = innerHtml;+  exports["setInnerHtml"] = setInnerHtml;+  exports["createFormData"] = createFormData;+  exports["createFormString"] = createFormString;+  exports["createFormArray"] = createFormArray;+  exports["getDataAttribute"] = getDataAttribute;+  exports["setDataAttribute"] = setDataAttribute;+  exports["closeWindow"] = closeWindow;+  exports["_app"] = $foreign._app;+  exports["_closest"] = $foreign._closest;+  exports["_moment8601"] = $foreign._moment8601;+  exports["_mmoment8601"] = $foreign._mmoment8601;+  exports["_innerHtml"] = $foreign._innerHtml;+  exports["_setInnerHtml"] = $foreign._setInnerHtml;+  exports["_createFormData"] = $foreign._createFormData;+  exports["_createFormString"] = $foreign._createFormString;+  exports["_createFormArray"] = $foreign._createFormArray;+  exports["_getDataAttribute"] = $foreign._getDataAttribute;+  exports["_setDataAttribute"] = $foreign._setDataAttribute;+  exports["_closeWindow"] = $foreign._closeWindow;+})(PS["Globals"] = PS["Globals"] || {});+(function(exports) {+  /* global exports */+  /* global XMLHttpRequest */+  /* global module */+  /* global process */+  "use strict";++  exports._ajax = function () {+    var platformSpecific = { };+    if (typeof module !== "undefined" && module.require && !(typeof process !== "undefined" && process.versions["electron"])) {+      // We are on node.js+      platformSpecific.newXHR = function () {+        var XHR = module.require("xhr2");+        return new XHR();+      };++      platformSpecific.fixupUrl = function (url) {+        var urllib = module.require("url");+        var u = urllib.parse(url);+        u.protocol = u.protocol || "http:";+        u.hostname = u.hostname || "localhost";+        return urllib.format(u);+      };++      platformSpecific.getResponse = function (xhr) {+        return xhr.response;+      };+    } else {+      // We are in the browser+      platformSpecific.newXHR = function () {+        return new XMLHttpRequest();+      };++      platformSpecific.fixupUrl = function (url) {+        return url || "/";+      };++      platformSpecific.getResponse = function (xhr) {+        return xhr.response;+      };+    }++    return function (mkHeader, options) {+      return function (errback, callback) {+        var xhr = platformSpecific.newXHR();+        var fixedUrl = platformSpecific.fixupUrl(options.url);+        xhr.open(options.method || "GET", fixedUrl, true, options.username, options.password);+        if (options.headers) {+          try {+            for (var i = 0, header; (header = options.headers[i]) != null; i++) {+              xhr.setRequestHeader(header.field, header.value);+            }+          } catch (e) {+            errback(e);+          }+        }+        xhr.onerror = function () {+          errback(new Error("AJAX request failed: " + options.method + " " + options.url));+        };+        xhr.onload = function () {+          callback({+            status: xhr.status,+            statusText: xhr.statusText,+            headers: xhr.getAllResponseHeaders().split("\r\n")+              .filter(function (header) {+                return header.length > 0;+              })+              .map(function (header) {+                var i = header.indexOf(":");+                return mkHeader(header.substring(0, i))(header.substring(i + 2));+              }),+            response: platformSpecific.getResponse(xhr)+          });+        };+        xhr.responseType = options.responseType;+        xhr.withCredentials = options.withCredentials;+        xhr.send(options.content);++        return function (error, cancelErrback, cancelCallback) {+          try {+            xhr.abort();+          } catch (e) {+            return cancelErrback(e);+          }+          return cancelCallback();+        };+      };+    };+  }();+})(PS["Network.HTTP.Affjax"] = PS["Network.HTTP.Affjax"] || {});+(function(exports) {+    "use strict";++  function id(x) {+    return x;+  }                      +  exports.fromObject = id;++  exports.stringify = function (j) {+    return JSON.stringify(j);+  };++  var objToString = Object.prototype.toString;++  function isArray(a) {+    return objToString.call(a) === "[object Array]";+  }++  exports._caseJson = function (isNull, isBool, isNum, isStr, isArr, isObj, j) {+    if (j == null) return isNull();+    else if (typeof j === "boolean") return isBool(j);+    else if (typeof j === "number") return isNum(j);+    else if (typeof j === "string") return isStr(j);+    else if (objToString.call(j) === "[object Array]")+      return isArr(j);+    else return isObj(j);+  };+})(PS["Data.Argonaut.Core"] = PS["Data.Argonaut.Core"] || {});+(function(exports) {+  +  // | This module defines a data type and various functions for creating and+  // | manipulating JSON values. The README contains additional documentation+  // | for this module.+  "use strict";+  var $foreign = PS["Data.Argonaut.Core"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Foreign_Object = PS["Foreign.Object"];+  var Prelude = PS["Prelude"];                 +  var verbJsonType = function (def) {+      return function (f) {+          return function (g) {+              return g(def)(f);+          };+      };+  };++  // Decoding+  var toJsonType = verbJsonType(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);+  var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);++  // | A simpler version of `caseJson` which accepts a callback for when the+  // | `Json` argument was a `Number`, and a default value for all other cases.+  var caseJsonNumber = function (d) {+      return function (f) {+          return function (j) {+              return $foreign._caseJson(Data_Function["const"](d), Data_Function["const"](d), f, Data_Function["const"](d), Data_Function["const"](d), Data_Function["const"](d), j);+          };+      };+  };                                        +  var toNumber = toJsonType(caseJsonNumber);+  exports["caseJsonNumber"] = caseJsonNumber;+  exports["toNumber"] = toNumber;+  exports["jsonEmptyObject"] = jsonEmptyObject;+  exports["stringify"] = $foreign.stringify;+})(PS["Data.Argonaut.Core"] = PS["Data.Argonaut.Core"] || {});+(function(exports) {+    "use strict";++  exports._jsonParser = function (fail, succ, s) {+    try {+      return succ(JSON.parse(s));+    }+    catch (e) {+      return fail(e.message);+    }+  };+})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.Argonaut.Parser"];+  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];+  var Data_Either = PS["Data.Either"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];                 +  var jsonParser = function (j) {+      return $foreign._jsonParser(Data_Either.Left.create, Data_Either.Right.create, j);+  };+  exports["jsonParser"] = jsonParser;+})(PS["Data.Argonaut.Parser"] = PS["Data.Argonaut.Parser"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Prelude = PS["Prelude"];+  var fromEffectFnAff = function (v) {+      return Effect_Aff.makeAff(function (k) {+          return function __do() {+              var v1 = v(function ($4) {+                  return k(Data_Either.Left.create($4))();+              }, function ($5) {+                  return k(Data_Either.Right.create($5))();+              });+              return function (e) {+                  return Effect_Aff.makeAff(function (k2) {+                      return function __do() {+                          v1(e, function ($6) {+                              return k2(Data_Either.Left.create($6))();+                          }, function ($7) {+                              return k2(Data_Either.Right.create($7))();+                          });+                          return Effect_Aff.nonCanceler;+                      };+                  });+              };+          };+      });+  };+  exports["fromEffectFnAff"] = fromEffectFnAff;+})(PS["Effect.Aff.Compat"] = PS["Effect.Aff.Compat"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];+  var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"];+  var Data_FormURLEncoded = PS["Data.FormURLEncoded"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_MediaType = PS["Data.MediaType"];+  var Data_MediaType_Common = PS["Data.MediaType.Common"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_File_Blob = PS["Web.File.Blob"];+  var Web_XHR_FormData = PS["Web.XHR.FormData"];                 +  var ArrayView = (function () {+      function ArrayView(value0) {+          this.value0 = value0;+      };+      ArrayView.create = function (value0) {+          return new ArrayView(value0);+      };+      return ArrayView;+  })();+  var Blob = (function () {+      function Blob(value0) {+          this.value0 = value0;+      };+      Blob.create = function (value0) {+          return new Blob(value0);+      };+      return Blob;+  })();+  var Document = (function () {+      function Document(value0) {+          this.value0 = value0;+      };+      Document.create = function (value0) {+          return new Document(value0);+      };+      return Document;+  })();+  var $$String = (function () {+      function $$String(value0) {+          this.value0 = value0;+      };+      $$String.create = function (value0) {+          return new $$String(value0);+      };+      return $$String;+  })();+  var FormData = (function () {+      function FormData(value0) {+          this.value0 = value0;+      };+      FormData.create = function (value0) {+          return new FormData(value0);+      };+      return FormData;+  })();+  var FormURLEncoded = (function () {+      function FormURLEncoded(value0) {+          this.value0 = value0;+      };+      FormURLEncoded.create = function (value0) {+          return new FormURLEncoded(value0);+      };+      return FormURLEncoded;+  })();+  var Json = (function () {+      function Json(value0) {+          this.value0 = value0;+      };+      Json.create = function (value0) {+          return new Json(value0);+      };+      return Json;+  })();+  var toMediaType = function (v) {+      if (v instanceof FormURLEncoded) {+          return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);+      };+      if (v instanceof Json) {+          return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);+      };+      return Data_Maybe.Nothing.value;+  };+  var string = $$String.create;+  exports["ArrayView"] = ArrayView;+  exports["Blob"] = Blob;+  exports["Document"] = Document;+  exports["String"] = $$String;+  exports["FormData"] = FormData;+  exports["FormURLEncoded"] = FormURLEncoded;+  exports["Json"] = Json;+  exports["string"] = string;+  exports["toMediaType"] = toMediaType;+})(PS["Network.HTTP.Affjax.Request"] = PS["Network.HTTP.Affjax.Request"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];+  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];+  var Data_ArrayBuffer_Types = PS["Data.ArrayBuffer.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_MediaType = PS["Data.MediaType"];+  var Data_MediaType_Common = PS["Data.MediaType.Common"];+  var Prelude = PS["Prelude"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_File_Blob = PS["Web.File.Blob"];                 +  var $$ArrayBuffer = (function () {+      function $$ArrayBuffer(value0) {+          this.value0 = value0;+      };+      $$ArrayBuffer.create = function (value0) {+          return new $$ArrayBuffer(value0);+      };+      return $$ArrayBuffer;+  })();+  var Blob = (function () {+      function Blob(value0) {+          this.value0 = value0;+      };+      Blob.create = function (value0) {+          return new Blob(value0);+      };+      return Blob;+  })();+  var Document = (function () {+      function Document(value0) {+          this.value0 = value0;+      };+      Document.create = function (value0) {+          return new Document(value0);+      };+      return Document;+  })();+  var Json = (function () {+      function Json(value0) {+          this.value0 = value0;+      };+      Json.create = function (value0) {+          return new Json(value0);+      };+      return Json;+  })();+  var $$String = (function () {+      function $$String(value0) {+          this.value0 = value0;+      };+      $$String.create = function (value0) {+          return new $$String(value0);+      };+      return $$String;+  })();+  var Ignore = (function () {+      function Ignore(value0) {+          this.value0 = value0;+      };+      Ignore.create = function (value0) {+          return new Ignore(value0);+      };+      return Ignore;+  })();+  var toResponseType = function (v) {+      if (v instanceof $$ArrayBuffer) {+          return "arraybuffer";+      };+      if (v instanceof Blob) {+          return "blob";+      };+      if (v instanceof Document) {+          return "document";+      };+      if (v instanceof Json) {+          return "text";+      };+      if (v instanceof $$String) {+          return "text";+      };+      if (v instanceof Ignore) {+          return "";+      };+      throw new Error("Failed pattern match at Network.HTTP.Affjax.Response line 41, column 3 - line 49, column 1: " + [ v.constructor.name ]);+  };+  var toMediaType = function (v) {+      if (v instanceof Json) {+          return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);+      };+      return Data_Maybe.Nothing.value;+  };                                                                                +  var json = new Json(Control_Category.identity(Control_Category.categoryFn));+  var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));+  exports["ArrayBuffer"] = $$ArrayBuffer;+  exports["Blob"] = Blob;+  exports["Document"] = Document;+  exports["Json"] = Json;+  exports["String"] = $$String;+  exports["Ignore"] = Ignore;+  exports["json"] = json;+  exports["ignore"] = ignore;+  exports["toResponseType"] = toResponseType;+  exports["toMediaType"] = toMediaType;+})(PS["Network.HTTP.Affjax.Response"] = PS["Network.HTTP.Affjax.Response"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Eq = PS["Data.Eq"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_MediaType = PS["Data.MediaType"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Prelude = PS["Prelude"];                 +  var Accept = (function () {+      function Accept(value0) {+          this.value0 = value0;+      };+      Accept.create = function (value0) {+          return new Accept(value0);+      };+      return Accept;+  })();+  var ContentType = (function () {+      function ContentType(value0) {+          this.value0 = value0;+      };+      ContentType.create = function (value0) {+          return new ContentType(value0);+      };+      return ContentType;+  })();+  var RequestHeader = (function () {+      function RequestHeader(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      RequestHeader.create = function (value0) {+          return function (value1) {+              return new RequestHeader(value0, value1);+          };+      };+      return RequestHeader;+  })();+  var requestHeaderValue = function (v) {+      if (v instanceof Accept) {+          return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);+      };+      if (v instanceof ContentType) {+          return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);+      };+      if (v instanceof RequestHeader) {+          return v.value1;+      };+      throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 29, column 1 - line 29, column 46: " + [ v.constructor.name ]);+  };+  var requestHeaderName = function (v) {+      if (v instanceof Accept) {+          return "Accept";+      };+      if (v instanceof ContentType) {+          return "Content-Type";+      };+      if (v instanceof RequestHeader) {+          return v.value0;+      };+      throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 24, column 1 - line 24, column 45: " + [ v.constructor.name ]);+  };+  exports["Accept"] = Accept;+  exports["ContentType"] = ContentType;+  exports["RequestHeader"] = RequestHeader;+  exports["requestHeaderName"] = requestHeaderName;+  exports["requestHeaderValue"] = requestHeaderValue;+})(PS["Network.HTTP.RequestHeader"] = PS["Network.HTTP.RequestHeader"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Eq = PS["Data.Eq"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Prelude = PS["Prelude"];                 +  var ResponseHeader = (function () {+      function ResponseHeader(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      ResponseHeader.create = function (value0) {+          return function (value1) {+              return new ResponseHeader(value0, value1);+          };+      };+      return ResponseHeader;+  })();+  var responseHeader = function (field) {+      return function (value) {+          return new ResponseHeader(field, value);+      };+  };+  exports["responseHeader"] = responseHeader;+})(PS["Network.HTTP.ResponseHeader"] = PS["Network.HTTP.ResponseHeader"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Network.HTTP.Affjax"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Except = PS["Control.Monad.Except"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];+  var Data_Argonaut_Parser = PS["Data.Argonaut.Parser"];+  var Data_Array = PS["Data.Array"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_FormURLEncoded = PS["Data.FormURLEncoded"];+  var Data_Function = PS["Data.Function"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HTTP_Method = PS["Data.HTTP.Method"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Int = PS["Data.Int"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Time_Duration = PS["Data.Time.Duration"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Aff_Compat = PS["Effect.Aff.Compat"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Ref = PS["Effect.Ref"];+  var Foreign = PS["Foreign"];+  var $$Math = PS["Math"];+  var Network_HTTP_Affjax_Request = PS["Network.HTTP.Affjax.Request"];+  var Network_HTTP_Affjax_Response = PS["Network.HTTP.Affjax.Response"];+  var Network_HTTP_RequestHeader = PS["Network.HTTP.RequestHeader"];+  var Network_HTTP_ResponseHeader = PS["Network.HTTP.ResponseHeader"];+  var Network_HTTP_StatusCode = PS["Network.HTTP.StatusCode"];+  var Prelude = PS["Prelude"];+  var defaultRequest = {+      method: new Data_Either.Left(Data_HTTP_Method.GET.value),+      url: "/",+      headers: [  ],+      content: Data_Maybe.Nothing.value,+      username: Data_Maybe.Nothing.value,+      password: Data_Maybe.Nothing.value,+      withCredentials: false+  };+  var affjax = function (rt) {+      return function (req) {+          var parseJSON = function (v) {+              if (v === "") {+                  return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);+              };+              return Data_Either.either(function ($58) {+                  return Foreign.fail(Foreign.ForeignError.create($58));+              })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));+          };+          var fromResponse$prime = (function () {+              if (rt instanceof Network_HTTP_Affjax_Response["ArrayBuffer"]) {+                  return Foreign.unsafeReadTagged("ArrayBuffer");+              };+              if (rt instanceof Network_HTTP_Affjax_Response.Blob) {+                  return Foreign.unsafeReadTagged("Blob");+              };+              if (rt instanceof Network_HTTP_Affjax_Response.Document) {+                  return Foreign.unsafeReadTagged("Document");+              };+              if (rt instanceof Network_HTTP_Affjax_Response.Json) {+                  return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($59) {+                      return rt.value0(parseJSON($59));+                  })(Foreign.unsafeReadTagged("String"));+              };+              if (rt instanceof Network_HTTP_Affjax_Response["String"]) {+                  return Foreign.unsafeReadTagged("String");+              };+              if (rt instanceof Network_HTTP_Affjax_Response.Ignore) {+                  return Data_Function["const"](rt.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));+              };+              throw new Error("Failed pattern match at Network.HTTP.Affjax line 261, column 19 - line 267, column 51: " + [ rt.constructor.name ]);+          })();+          var extractContent = function (v) {+              if (v instanceof Network_HTTP_Affjax_Request.ArrayView) {+                  return v.value0(Foreign.unsafeToForeign);+              };+              if (v instanceof Network_HTTP_Affjax_Request.Blob) {+                  return Foreign.unsafeToForeign(v.value0);+              };+              if (v instanceof Network_HTTP_Affjax_Request.Document) {+                  return Foreign.unsafeToForeign(v.value0);+              };+              if (v instanceof Network_HTTP_Affjax_Request["String"]) {+                  return Foreign.unsafeToForeign(v.value0);+              };+              if (v instanceof Network_HTTP_Affjax_Request.FormData) {+                  return Foreign.unsafeToForeign(v.value0);+              };+              if (v instanceof Network_HTTP_Affjax_Request.FormURLEncoded) {+                  return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));+              };+              if (v instanceof Network_HTTP_Affjax_Request.Json) {+                  return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));+              };+              throw new Error("Failed pattern match at Network.HTTP.Affjax line 235, column 20 - line 242, column 53: " + [ v.constructor.name ]);+          };+          var addHeader = function (mh) {+              return function (hs) {+                  if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Network_HTTP_RequestHeader.requestHeaderName)(mh.value0))(hs)) {+                      return Data_Array.snoc(hs)(mh.value0);+                  };+                  return hs;+              };+          };+          var headers = function (reqContent) {+              return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Network_HTTP_Affjax_Request.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_RequestHeader.Accept.create)(Network_HTTP_Affjax_Response.toMediaType(rt)))(req.headers));+          };+          var req$prime = {+              method: Data_HTTP_Method.print(req.method),+              url: req.url,+              headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {+                  return {+                      field: Network_HTTP_RequestHeader.requestHeaderName(h),+                      value: Network_HTTP_RequestHeader.requestHeaderValue(h)+                  };+              })(headers(req.content)),+              content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),+              responseType: Network_HTTP_Affjax_Response.toResponseType(rt),+              username: Data_Nullable.toNullable(req.username),+              password: Data_Nullable.toNullable(req.password),+              withCredentials: req.withCredentials+          };+          return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign._ajax(Network_HTTP_ResponseHeader.responseHeader, req$prime)))(function (v) {+              var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.response));+              if (v1 instanceof Data_Either.Left) {+                  return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(Data_Foldable.intercalate(Data_List_Types.foldableNonEmptyList)(Data_Monoid.monoidString)("\x0a")(Data_Functor.map(Data_List_Types.functorNonEmptyList)(Foreign.renderForeignError)(v1.value0))));+              };+              if (v1 instanceof Data_Either.Right) {+                  return Control_Applicative.pure(Effect_Aff.applicativeAff)({+                      response: v1.value0,+                      headers: v.headers,+                      status: v.status,+                      statusText: v.statusText+                  });+              };+              throw new Error("Failed pattern match at Network.HTTP.Affjax line 217, column 3 - line 219, column 49: " + [ v1.constructor.name ]);+          });+      };+  };+  exports["defaultRequest"] = defaultRequest;+  exports["affjax"] = affjax;+})(PS["Network.HTTP.Affjax"] = PS["Network.HTTP.Affjax"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Bind = PS["Control.Bind"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Argonaut = PS["Data.Argonaut"];+  var Data_Array = PS["Data.Array"];+  var Data_Either = PS["Data.Either"];+  var Data_FormURLEncoded = PS["Data.FormURLEncoded"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HTTP_Method = PS["Data.HTTP.Method"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_MediaType_Common = PS["Data.MediaType.Common"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Globals = PS["Globals"];+  var Model = PS["Model"];+  var Network_HTTP_Affjax = PS["Network.HTTP.Affjax"];+  var Network_HTTP_Affjax_Request = PS["Network.HTTP.Affjax.Request"];+  var Network_HTTP_Affjax_Response = PS["Network.HTTP.Affjax.Response"];+  var Network_HTTP_RequestHeader = PS["Network.HTTP.RequestHeader"];+  var Prelude = PS["Prelude"];+  var Simple_JSON = PS["Simple.JSON"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var Web_HTML = PS["Web.HTML"];+  var Web_HTML_Location = PS["Web.HTML.Location"];+  var Web_HTML_Window = PS["Web.HTML.Window"];                 +  var Star = (function () {+      function Star() {++      };+      Star.value = new Star();+      return Star;+  })();+  var UnStar = (function () {+      function UnStar() {++      };+      UnStar.value = new UnStar();+      return UnStar;+  })();+  var showStar = new Data_Show.Show(function (v) {+      if (v instanceof Star) {+          return "star";+      };+      if (v instanceof UnStar) {+          return "unstar";+      };+      throw new Error("Failed pattern match at App line 31, column 1 - line 31, column 37: " + [ v.constructor.name ]);+  });+  var fetchUrl = function (method) {+      return function (url) {+          return function (headers) {+              return function (content) {+                  return function (rt) {+                      var app = Globals["app'"](Data_Unit.unit);+                      return Network_HTTP_Affjax.affjax(rt)({+                          method: new Data_Either.Left(method),+                          url: url,+                          headers: Data_Array.cons(new Network_HTTP_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),+                          content: content,+                          username: Network_HTTP_Affjax.defaultRequest.username,+                          password: Network_HTTP_Affjax.defaultRequest.password,+                          withCredentials: Network_HTTP_Affjax.defaultRequest.withCredentials+                      });+                  };+              };+          };+      };+  };+  var logout = function (u) {+      var app = Globals["app'"](u);+      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([  ])(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore)))(function () {+          return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));+      });+  };+  var logoutE = function (e) {+      return Control_Bind.bindFlipped(Effect.bindEffect)(function ($4) {+          return Data_Functor["void"](Effect.functorEffect)(Effect_Aff.launchAff(logout($4)));+      })(Web_Event_Event.preventDefault(e));+  };+  var fetchPath = function (method) {+      return function (path) {+          return function (headers) {+              return function (content) {+                  return function (rt) {+                      return fetchUrl(method)((Globals["app'"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);+                  };+              };+          };+      };+  };+  var fetchUrlEnc = function (method) {+      return function (path) {+          return function (content) {+              return function (rt) {+                  return fetchPath(method)(path)([ new Network_HTTP_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Network_HTTP_Affjax_Request.FormURLEncoded.create)(content))(rt);+              };+          };+      };+  };+  var markRead = function (bid) {+      var path = "bm/" + (Data_Show.show(Data_Show.showInt)(bid) + "/read");+      return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore);+  };+  var toggleStar = function (bid) {+      return function (action) {+          var path = "bm/" + (Data_Show.show(Data_Show.showInt)(bid) + ("/" + Data_Show.show(showStar)(action)));+          return Data_Functor["void"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore));+      };+  };+  var fetchJson = function (dictWriteForeign) {+      return function (method) {+          return function (path) {+              return function (content) {+                  return function (rt) {+                      return fetchPath(method)(path)([ new Network_HTTP_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)(function ($5) {+                          return Network_HTTP_Affjax_Request.string(Simple_JSON.writeJSON(dictWriteForeign)($5));+                      })(content))(rt);+                  };+              };+          };+      };+  };+  var editNote = function (bm) {+      return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)("api/note/add")(new Data_Maybe.Just(bm))(Network_HTTP_Affjax_Response.json);+  };+  var editBookmark = function (bm) {+      return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)("api/add")(new Data_Maybe.Just(bm))(Network_HTTP_Affjax_Response.ignore);+  };+  var destroyNote = function (nid) {+      return fetchUrlEnc(Data_HTTP_Method.DELETE.value)("api/note/" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore);+  };+  var destroy = function (bid) {+      return fetchUrlEnc(Data_HTTP_Method.DELETE.value)("bm/" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Network_HTTP_Affjax_Response.ignore);+  };+  exports["Star"] = Star;+  exports["UnStar"] = UnStar;+  exports["toggleStar"] = toggleStar;+  exports["destroy"] = destroy;+  exports["markRead"] = markRead;+  exports["editBookmark"] = editBookmark;+  exports["editNote"] = editNote;+  exports["destroyNote"] = destroyNote;+  exports["logoutE"] = logoutE;+  exports["logout"] = logout;+  exports["fetchJson"] = fetchJson;+  exports["fetchUrlEnc"] = fetchUrlEnc;+  exports["fetchPath"] = fetchPath;+  exports["fetchUrl"] = fetchUrl;+  exports["showStar"] = showStar;+})(PS["App"] = PS["App"] || {});+(function(exports) {+    "use strict";+  var ButtonButton = (function () {+      function ButtonButton() {++      };+      ButtonButton.value = new ButtonButton();+      return ButtonButton;+  })();+  var ButtonSubmit = (function () {+      function ButtonSubmit() {++      };+      ButtonSubmit.value = new ButtonSubmit();+      return ButtonSubmit;+  })();+  var ButtonReset = (function () {+      function ButtonReset() {++      };+      ButtonReset.value = new ButtonReset();+      return ButtonReset;+  })();+  var renderButtonType = function (v) {+      if (v instanceof ButtonButton) {+          return "button";+      };+      if (v instanceof ButtonSubmit) {+          return "submit";+      };+      if (v instanceof ButtonReset) {+          return "reset";+      };+      throw new Error("Failed pattern match at DOM.HTML.Indexed.ButtonType line 9, column 20 - line 12, column 18: " + [ v.constructor.name ]);+  };+  exports["ButtonButton"] = ButtonButton;+  exports["ButtonSubmit"] = ButtonSubmit;+  exports["ButtonReset"] = ButtonReset;+  exports["renderButtonType"] = renderButtonType;+})(PS["DOM.HTML.Indexed.ButtonType"] = PS["DOM.HTML.Indexed.ButtonType"] || {});+(function(exports) {+    "use strict";+  var InputButton = (function () {+      function InputButton() {++      };+      InputButton.value = new InputButton();+      return InputButton;+  })();+  var InputCheckbox = (function () {+      function InputCheckbox() {++      };+      InputCheckbox.value = new InputCheckbox();+      return InputCheckbox;+  })();+  var InputColor = (function () {+      function InputColor() {++      };+      InputColor.value = new InputColor();+      return InputColor;+  })();+  var InputDate = (function () {+      function InputDate() {++      };+      InputDate.value = new InputDate();+      return InputDate;+  })();+  var InputDatetimeLocal = (function () {+      function InputDatetimeLocal() {++      };+      InputDatetimeLocal.value = new InputDatetimeLocal();+      return InputDatetimeLocal;+  })();+  var InputEmail = (function () {+      function InputEmail() {++      };+      InputEmail.value = new InputEmail();+      return InputEmail;+  })();+  var InputFile = (function () {+      function InputFile() {++      };+      InputFile.value = new InputFile();+      return InputFile;+  })();+  var InputHidden = (function () {+      function InputHidden() {++      };+      InputHidden.value = new InputHidden();+      return InputHidden;+  })();+  var InputImage = (function () {+      function InputImage() {++      };+      InputImage.value = new InputImage();+      return InputImage;+  })();+  var InputMonth = (function () {+      function InputMonth() {++      };+      InputMonth.value = new InputMonth();+      return InputMonth;+  })();+  var InputNumber = (function () {+      function InputNumber() {++      };+      InputNumber.value = new InputNumber();+      return InputNumber;+  })();+  var InputPassword = (function () {+      function InputPassword() {++      };+      InputPassword.value = new InputPassword();+      return InputPassword;+  })();+  var InputRadio = (function () {+      function InputRadio() {++      };+      InputRadio.value = new InputRadio();+      return InputRadio;+  })();+  var InputRange = (function () {+      function InputRange() {++      };+      InputRange.value = new InputRange();+      return InputRange;+  })();+  var InputReset = (function () {+      function InputReset() {++      };+      InputReset.value = new InputReset();+      return InputReset;+  })();+  var InputSearch = (function () {+      function InputSearch() {++      };+      InputSearch.value = new InputSearch();+      return InputSearch;+  })();+  var InputSubmit = (function () {+      function InputSubmit() {++      };+      InputSubmit.value = new InputSubmit();+      return InputSubmit;+  })();+  var InputTel = (function () {+      function InputTel() {++      };+      InputTel.value = new InputTel();+      return InputTel;+  })();+  var InputText = (function () {+      function InputText() {++      };+      InputText.value = new InputText();+      return InputText;+  })();+  var InputTime = (function () {+      function InputTime() {++      };+      InputTime.value = new InputTime();+      return InputTime;+  })();+  var InputUrl = (function () {+      function InputUrl() {++      };+      InputUrl.value = new InputUrl();+      return InputUrl;+  })();+  var InputWeek = (function () {+      function InputWeek() {++      };+      InputWeek.value = new InputWeek();+      return InputWeek;+  })();+  var renderInputType = function (v) {+      if (v instanceof InputButton) {+          return "button";+      };+      if (v instanceof InputCheckbox) {+          return "checkbox";+      };+      if (v instanceof InputColor) {+          return "color";+      };+      if (v instanceof InputDate) {+          return "date";+      };+      if (v instanceof InputDatetimeLocal) {+          return "datetime-local";+      };+      if (v instanceof InputEmail) {+          return "email";+      };+      if (v instanceof InputFile) {+          return "file";+      };+      if (v instanceof InputHidden) {+          return "hidden";+      };+      if (v instanceof InputImage) {+          return "image";+      };+      if (v instanceof InputMonth) {+          return "month";+      };+      if (v instanceof InputNumber) {+          return "number";+      };+      if (v instanceof InputPassword) {+          return "password";+      };+      if (v instanceof InputRadio) {+          return "radio";+      };+      if (v instanceof InputRange) {+          return "range";+      };+      if (v instanceof InputReset) {+          return "reset";+      };+      if (v instanceof InputSearch) {+          return "search";+      };+      if (v instanceof InputSubmit) {+          return "submit";+      };+      if (v instanceof InputTel) {+          return "tel";+      };+      if (v instanceof InputText) {+          return "text";+      };+      if (v instanceof InputTime) {+          return "time";+      };+      if (v instanceof InputUrl) {+          return "url";+      };+      if (v instanceof InputWeek) {+          return "week";+      };+      throw new Error("Failed pattern match at DOM.HTML.Indexed.InputType line 28, column 19 - line 50, column 16: " + [ v.constructor.name ]);+  };+  exports["InputButton"] = InputButton;+  exports["InputCheckbox"] = InputCheckbox;+  exports["InputColor"] = InputColor;+  exports["InputDate"] = InputDate;+  exports["InputDatetimeLocal"] = InputDatetimeLocal;+  exports["InputEmail"] = InputEmail;+  exports["InputFile"] = InputFile;+  exports["InputHidden"] = InputHidden;+  exports["InputImage"] = InputImage;+  exports["InputMonth"] = InputMonth;+  exports["InputNumber"] = InputNumber;+  exports["InputPassword"] = InputPassword;+  exports["InputRadio"] = InputRadio;+  exports["InputRange"] = InputRange;+  exports["InputReset"] = InputReset;+  exports["InputSearch"] = InputSearch;+  exports["InputSubmit"] = InputSubmit;+  exports["InputTel"] = InputTel;+  exports["InputText"] = InputText;+  exports["InputTime"] = InputTime;+  exports["InputUrl"] = InputUrl;+  exports["InputWeek"] = InputWeek;+  exports["renderInputType"] = renderInputType;+})(PS["DOM.HTML.Indexed.InputType"] = PS["DOM.HTML.Indexed.InputType"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];+  var Control_Monad_Cont_Trans = PS["Control.Monad.Cont.Trans"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Monad_List_Trans = PS["Control.Monad.List.Trans"];+  var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"];+  var Control_Monad_RWS_Trans = PS["Control.Monad.RWS.Trans"];+  var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"];+  var Control_Monad_State_Trans = PS["Control.Monad.State.Trans"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Monad_Writer_Trans = PS["Control.Monad.Writer.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Prelude = PS["Prelude"];                 +  var MonadAff = function (MonadEffect0, liftAff) {+      this.MonadEffect0 = MonadEffect0;+      this.liftAff = liftAff;+  };+  var monadAffAff = new MonadAff(function () {+      return Effect_Aff.monadEffectAff;+  }, Control_Category.identity(Control_Category.categoryFn));+  var liftAff = function (dict) {+      return dict.liftAff;+  };+  exports["liftAff"] = liftAff;+  exports["MonadAff"] = MonadAff;+  exports["monadAffAff"] = monadAffAff;+})(PS["Effect.Aff.Class"] = PS["Effect.Aff.Class"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Eq = PS["Data.Eq"];+  var Data_Ord = PS["Data.Ord"];+  var Prelude = PS["Prelude"];                 +  var OrdBox = (function () {+      function OrdBox(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      OrdBox.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new OrdBox(value0, value1, value2);+              };+          };+      };+      return OrdBox;+  })();+  var unOrdBox = function (v) {+      return v.value2;+  };+  var mkOrdBox = function (dictOrd) {+      return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));+  };+  var eqOrdBox = new Data_Eq.Eq(function (v) {+      return function (v1) {+          return v.value0(v.value2)(v1.value2);+      };+  });+  var ordOrdBox = new Data_Ord.Ord(function () {+      return eqOrdBox;+  }, function (v) {+      return function (v1) {+          return v.value1(v.value2)(v1.value2);+      };+  });+  exports["mkOrdBox"] = mkOrdBox;+  exports["unOrdBox"] = unOrdBox;+  exports["eqOrdBox"] = eqOrdBox;+  exports["ordOrdBox"] = ordOrdBox;+})(PS["Halogen.Data.OrdBox"] = PS["Halogen.Data.OrdBox"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var On = (function () {+      function On() {++      };+      On.value = new On();+      return On;+  })();+  var Off = (function () {+      function Off() {++      };+      Off.value = new Off();+      return Off;+  })();+  var renderOnOff = function (v) {+      if (v instanceof On) {+          return "on";+      };+      if (v instanceof Off) {+          return "off";+      };+      throw new Error("Failed pattern match at DOM.HTML.Indexed.OnOff line 8, column 15 - line 10, column 10: " + [ v.constructor.name ]);+  };+  exports["On"] = On;+  exports["Off"] = Off;+  exports["renderOnOff"] = renderOnOff;+})(PS["DOM.HTML.Indexed.OnOff"] = PS["DOM.HTML.Indexed.OnOff"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Prelude = PS["Prelude"];+  var Web_DOM = PS["Web.DOM"];+  var RefUpdate = (function () {+      function RefUpdate(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      RefUpdate.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new RefUpdate(value0, value1, value2);+              };+          };+      };+      return RefUpdate;+  })();+  var Query = (function () {+      function Query(value0) {+          this.value0 = value0;+      };+      Query.create = function (value0) {+          return new Query(value0);+      };+      return Query;+  })();                             +  var bifunctorInputF = new Data_Bifunctor.Bifunctor(function (f) {+      return function (g) {+          return function (v) {+              if (v instanceof RefUpdate) {+                  return new RefUpdate(v.value0, v.value1, f(v.value2));+              };+              if (v instanceof Query) {+                  return new Query(g(v.value0));+              };+              throw new Error("Failed pattern match at Halogen.Query.InputF line 21, column 15 - line 23, column 27: " + [ v.constructor.name ]);+          };+      };+  });+  var functorInputF = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorInputF));+  exports["RefUpdate"] = RefUpdate;+  exports["Query"] = Query;+  exports["bifunctorInputF"] = bifunctorInputF;+  exports["functorInputF"] = functorInputF;+})(PS["Halogen.Query.InputF"] = PS["Halogen.Query.InputF"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Effect = PS["Effect"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Prelude = PS["Prelude"];                 +  var Step = (function () {+      function Step(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      Step.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new Step(value0, value1, value2);+              };+          };+      };+      return Step;+  })();+  var step = function (v) {+      return v.value1;+  };+  var halt = function (v) {+      return v.value2;+  };+  var extract = function (v) {+      return v.value0;+  };+  exports["Step"] = Step;+  exports["extract"] = extract;+  exports["step"] = step;+  exports["halt"] = halt;+})(PS["Halogen.VDom.Machine"] = PS["Halogen.VDom.Machine"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Tuple = PS["Data.Tuple"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var ElemSpec = (function () {+      function ElemSpec(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      ElemSpec.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new ElemSpec(value0, value1, value2);+              };+          };+      };+      return ElemSpec;+  })();+  var Text = (function () {+      function Text(value0) {+          this.value0 = value0;+      };+      Text.create = function (value0) {+          return new Text(value0);+      };+      return Text;+  })();+  var Elem = (function () {+      function Elem(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Elem.create = function (value0) {+          return function (value1) {+              return new Elem(value0, value1);+          };+      };+      return Elem;+  })();+  var Keyed = (function () {+      function Keyed(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Keyed.create = function (value0) {+          return function (value1) {+              return new Keyed(value0, value1);+          };+      };+      return Keyed;+  })();+  var Widget = (function () {+      function Widget(value0) {+          this.value0 = value0;+      };+      Widget.create = function (value0) {+          return new Widget(value0);+      };+      return Widget;+  })();+  var Grafted = (function () {+      function Grafted(value0) {+          this.value0 = value0;+      };+      Grafted.create = function (value0) {+          return new Grafted(value0);+      };+      return Grafted;+  })();+  var Graft = (function () {+      function Graft(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      Graft.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new Graft(value0, value1, value2);+              };+          };+      };+      return Graft;+  })();+  var unGraft = function (f) {+      return function ($90) {+          return f($90);+      };+  };           +  var graft = Unsafe_Coerce.unsafeCoerce;+  var functorElemSpec = new Data_Functor.Functor(function (f) {+      return function (m) {+          return new ElemSpec(m.value0, m.value1, f(m.value2));+      };+  });+  var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {+      return function (g) {+          return unGraft(function (v) {+              return graft(new Graft(function ($92) {+                  return f(v.value0($92));+              }, function ($93) {+                  return g(v.value1($93));+              }, v.value2));+          });+      };+  });+  var bifunctorVDom = new Data_Bifunctor.Bifunctor(function (f) {+      return function (g) {+          return function (v) {+              if (v instanceof Text) {+                  return new Text(v.value0);+              };+              if (v instanceof Grafted) {+                  return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(f)(g)(v.value0));+              };+              return new Grafted(graft(new Graft(f, g, v)));+          };+      };+  });+  var runGraft = unGraft(function (v) {+      var go = function (v2) {+          if (v2 instanceof Text) {+              return new Text(v2.value0);+          };+          if (v2 instanceof Elem) {+              return new Elem(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value1));+          };+          if (v2 instanceof Keyed) {+              return new Keyed(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value1));+          };+          if (v2 instanceof Widget) {+              return new Widget(v.value1(v2.value0));+          };+          if (v2 instanceof Grafted) {+              return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));+          };+          throw new Error("Failed pattern match at Halogen.VDom.Types line 74, column 7 - line 74, column 27: " + [ v2.constructor.name ]);+      };+      return go(v.value2);+  });+  exports["Text"] = Text;+  exports["Elem"] = Elem;+  exports["Keyed"] = Keyed;+  exports["Widget"] = Widget;+  exports["Grafted"] = Grafted;+  exports["Graft"] = Graft;+  exports["graft"] = graft;+  exports["unGraft"] = unGraft;+  exports["runGraft"] = runGraft;+  exports["ElemSpec"] = ElemSpec;+  exports["bifunctorVDom"] = bifunctorVDom;+  exports["bifunctorGraft"] = bifunctorGraft;+  exports["functorElemSpec"] = functorElemSpec;+})(PS["Halogen.VDom.Types"] = PS["Halogen.VDom.Types"] || {});+(function(exports) {+    "use strict";++  exports.unsafeGetAny = function (key, obj) {+    return obj[key];+  };++  exports.unsafeHasAny = function (key, obj) {+    return obj.hasOwnProperty(key);+  };++  exports.unsafeSetAny = function (key, val, obj) {+      obj[key] = val;+  };++  exports.forE = function (a, f) {+      var b = [];+      for (var i = 0; i < a.length; i++) {+        b.push(f(i, a[i]));+      }+      return b;+  };++  exports.forInE = function (o, f) {+    var ks = Object.keys(o);+    for (var i = 0; i < ks.length; i++) {+      var k = ks[i];+      f(k, o[k]);+    }+  };++  exports.diffWithIxE = function (a1, a2, f1, f2, f3) {+    var a3 = [];+    var l1 = a1.length;+    var l2 = a2.length;+    var i  = 0;+    while (1) {+      if (i < l1) {+        if (i < l2) {+          a3.push(f1(i, a1[i], a2[i]));+        } else {+          f2(i, a1[i]);+        }+      } else if (i < l2) {+        a3.push(f3(i, a2[i]));+      } else {+        break;+      }+      i++;+    }+    return a3;+  };++  exports.strMapWithIxE = function (as, fk, f) {+    var o = {};+    for (var i = 0; i < as.length; i++) {+      var a = as[i];+      var k = fk(a);+      o[k] = f(k, i, a);+    }+    return o;+  };++  exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {+    var o2 = {};+    for (var i = 0; i < as.length; i++) {+      var a = as[i];+      var k = fk(a);+      if (o1.hasOwnProperty(k)) {+        o2[k] = f1(k, i, o1[k], a);+      } else {+        o2[k] = f3(k, i, a);+      }+    }+    for (var k in o1) {+      if (k in o2) {+        continue;+      }+      f2(k, o1[k]);+    }+    return o2;+  };++  exports.refEq = function (a, b) {+    return a === b;+  };++  exports.createTextNode = function (s, doc) {+    return doc.createTextNode(s);+  };++  exports.setTextContent = function (s, n) {+    n.textContent = s;+  };++  exports.createElement = function (ns, name, doc) {+    if (ns != null) {+      return doc.createElementNS(ns, name);+    } else {+      return doc.createElement(name)+    }+  };++  exports.insertChildIx = function (i, a, b) {+    var n = b.childNodes.item(i) || null;+    if (n !== a) {+      b.insertBefore(a, n);+    }+  };++  exports.removeChild = function (a, b) {+    if (b && a.parentNode === b) {+      b.removeChild(a);+    }+  };++  exports.parentNode = function (a) {+    return a.parentNode;+  };++  exports.setAttribute = function (ns, attr, val, el) {+    if (ns != null) {+      el.setAttributeNS(ns, attr, val);+    } else {+      el.setAttribute(attr, val);+    }+  };++  exports.removeAttribute = function (ns, attr, el) {+    if (ns != null) {+      el.removeAttributeNS(ns, attr);+    } else {+      el.removeAttribute(attr);+    }+  };++  exports.addEventListener = function (ev, listener, el) {+    el.addEventListener(ev, listener, false);+  };++  exports.removeEventListener = function (ev, listener, el) {+    el.removeEventListener(ev, listener, false);+  };++  exports.jsUndefined = void 0;+})(PS["Halogen.VDom.Util"] = PS["Halogen.VDom.Util"] || {});+(function(exports) {+    "use strict";++  var getEffProp = function (name) {+    return function (node) {+      return function () {+        return node[name];+      };+    };+  };                                                   ++  exports._parentNode = getEffProp("parentNode");          ++  exports._nextSibling = getEffProp("nextSibling");++  exports.insertBefore = function (node1) {+    return function (node2) {+      return function (parent) {+        return function () {+          return parent.insertBefore(node1, node2);+        };+      };+    };+  };++  exports.appendChild = function (node) {+    return function (parent) {+      return function () {+        return parent.appendChild(node);+      };+    };+  };++  exports.removeChild = function (node) {+    return function (parent) {+      return function () {+        return parent.removeChild(node);+      };+    };+  };+})(PS["Web.DOM.Node"] = PS["Web.DOM.Node"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Web.DOM.Node"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Enum = PS["Data.Enum"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_Internal_Types = PS["Web.DOM.Internal.Types"];+  var Web_DOM_NodeType = PS["Web.DOM.NodeType"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_Internal_FFI = PS["Web.Internal.FFI"];+  var parentNode = function ($2) {+      return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._parentNode($2));+  };+  var nextSibling = function ($6) {+      return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign._nextSibling($6));+  };+  exports["parentNode"] = parentNode;+  exports["nextSibling"] = nextSibling;+  exports["insertBefore"] = $foreign.insertBefore;+  exports["appendChild"] = $foreign.appendChild;+  exports["removeChild"] = $foreign.removeChild;+})(PS["Web.DOM.Node"] = PS["Web.DOM.Node"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Halogen.VDom.Util"];+  var Control_Applicative = PS["Control.Applicative"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Foreign_Object = PS["Foreign.Object"];+  var Foreign_Object_ST = PS["Foreign.Object.ST"];+  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_Node = PS["Web.DOM.Node"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];                 +  var unsafeLookup = $foreign.unsafeGetAny;+  var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;+  var pokeMutMap = $foreign.unsafeSetAny;+  var newMutMap = Foreign_Object_ST["new"];+  var effectUnit = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);+  exports["effectUnit"] = effectUnit;+  exports["newMutMap"] = newMutMap;+  exports["pokeMutMap"] = pokeMutMap;+  exports["unsafeFreeze"] = unsafeFreeze;+  exports["unsafeLookup"] = unsafeLookup;+  exports["unsafeGetAny"] = $foreign.unsafeGetAny;+  exports["unsafeHasAny"] = $foreign.unsafeHasAny;+  exports["unsafeSetAny"] = $foreign.unsafeSetAny;+  exports["forE"] = $foreign.forE;+  exports["forInE"] = $foreign.forInE;+  exports["diffWithIxE"] = $foreign.diffWithIxE;+  exports["diffWithKeyAndIxE"] = $foreign.diffWithKeyAndIxE;+  exports["strMapWithIxE"] = $foreign.strMapWithIxE;+  exports["refEq"] = $foreign.refEq;+  exports["createTextNode"] = $foreign.createTextNode;+  exports["setTextContent"] = $foreign.setTextContent;+  exports["createElement"] = $foreign.createElement;+  exports["insertChildIx"] = $foreign.insertChildIx;+  exports["removeChild"] = $foreign.removeChild;+  exports["parentNode"] = $foreign.parentNode;+  exports["setAttribute"] = $foreign.setAttribute;+  exports["removeAttribute"] = $foreign.removeAttribute;+  exports["addEventListener"] = $foreign.addEventListener;+  exports["removeEventListener"] = $foreign.removeEventListener;+  exports["jsUndefined"] = $foreign.jsUndefined;+})(PS["Halogen.VDom.Util"] = PS["Halogen.VDom.Util"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Ref = PS["Effect.Ref"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Foreign = PS["Foreign"];+  var Foreign_Object = PS["Foreign.Object"];+  var Halogen_VDom = PS["Halogen.VDom"];+  var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"];+  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];+  var Halogen_VDom_Util = PS["Halogen.VDom.Util"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];                 +  var Created = (function () {+      function Created(value0) {+          this.value0 = value0;+      };+      Created.create = function (value0) {+          return new Created(value0);+      };+      return Created;+  })();+  var Removed = (function () {+      function Removed(value0) {+          this.value0 = value0;+      };+      Removed.create = function (value0) {+          return new Removed(value0);+      };+      return Removed;+  })();+  var Attribute = (function () {+      function Attribute(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      Attribute.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new Attribute(value0, value1, value2);+              };+          };+      };+      return Attribute;+  })();+  var Property = (function () {+      function Property(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Property.create = function (value0) {+          return function (value1) {+              return new Property(value0, value1);+          };+      };+      return Property;+  })();+  var Handler = (function () {+      function Handler(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Handler.create = function (value0) {+          return function (value1) {+              return new Handler(value0, value1);+          };+      };+      return Handler;+  })();+  var Ref = (function () {+      function Ref(value0) {+          this.value0 = value0;+      };+      Ref.create = function (value0) {+          return new Ref(value0);+      };+      return Ref;+  })();+  var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;+  var setProperty = Halogen_VDom_Util.unsafeSetAny;+  var removeProperty = function (key, el) {+      var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));+      if (v === "string") {+          return Halogen_VDom_Util.unsafeSetAny(key, "", el);+      };+      if (key === "rowSpan") {+          return Halogen_VDom_Util.unsafeSetAny(key, 1, el);+      };+      if (key === "colSpan") {+          return Halogen_VDom_Util.unsafeSetAny(key, 1, el);+      };+      return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);+  };+  var propToStrKey = function (v) {+      if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {+          return "attr/" + (v.value0.value0 + (":" + v.value1));+      };+      if (v instanceof Attribute) {+          return "attr/:" + v.value1;+      };+      if (v instanceof Property) {+          return "prop/" + v.value0;+      };+      if (v instanceof Handler) {+          return "handler/" + v.value0;+      };+      if (v instanceof Ref) {+          return "ref";+      };+      throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 178, column 16 - line 185, column 1: " + [ v.constructor.name ]);+  };+  var propFromString = Unsafe_Coerce.unsafeCoerce;+  var propFromInt = Unsafe_Coerce.unsafeCoerce;+  var propFromBoolean = Unsafe_Coerce.unsafeCoerce;+  var functorProp = new Data_Functor.Functor(function (f) {+      return function (v) {+          if (v instanceof Handler) {+              return new Handler(v.value0, Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value1));+          };+          if (v instanceof Ref) {+              return new Ref(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value0));+          };+          return v;+      };+  });+  var buildProp = function (emit) {+      return function (el) {+          var removeProp = function (prevEvents) {+              return function (v, v1) {+                  if (v1 instanceof Attribute) {+                      return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);+                  };+                  if (v1 instanceof Property) {+                      return removeProperty(v1.value0, el);+                  };+                  if (v1 instanceof Handler) {+                      var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);+                      return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);+                  };+                  if (v1 instanceof Ref) {+                      return Data_Unit.unit;+                  };+                  throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 165, column 5 - line 175, column 18: " + [ v1.constructor.name ]);+              };+          };+          var mbEmit = function (v) {+              if (v instanceof Data_Maybe.Just) {+                  return emit(v.value0)();+              };+              return Data_Unit.unit;+          };+          var done = function (ps) {+              var v = Foreign_Object.lookup("ref")(ps);+              if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {+                  return function () {+                      return mbEmit(v.value0.value0(new Removed(el)));+                  };+              };+              return Halogen_VDom_Util.effectUnit;+          };+          var diffProp = function (prevEvents, events) {+              return function (v, v1, v11, v2) {+                  if (v11 instanceof Attribute && v2 instanceof Attribute) {+                      var $61 = v11.value2 === v2.value2;+                      if ($61) {+                          return v2;+                      };+                      Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);+                      return v2;+                  };+                  if (v11 instanceof Property && v2 instanceof Property) {+                      var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);+                      if (v4) {+                          return v2;+                      };+                      if (v2.value0 === "value") {+                          var elVal = unsafeGetProperty("value", el);+                          var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);+                          if ($70) {+                              return v2;+                          };+                          setProperty(v2.value0, v2.value1, el);+                          return v2;+                      };+                      setProperty(v2.value0, v2.value1, el);+                      return v2;+                  };+                  if (v11 instanceof Handler && v2 instanceof Handler) {+                      var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);+                      Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();+                      Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);+                      return v2;+                  };+                  return v2;+              };+          };+          var applyProp = function (events) {+              return function (v, v1, v2) {+                  if (v2 instanceof Attribute) {+                      Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);+                      return v2;+                  };+                  if (v2 instanceof Property) {+                      setProperty(v2.value0, v2.value1, el);+                      return v2;+                  };+                  if (v2 instanceof Handler) {+                      var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);+                      if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {+                          Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();+                          return v2;+                      };+                      var v4 = Effect_Ref["new"](v2.value1)();+                      var v5 = Web_Event_EventTarget.eventListener(function (ev) {+                          return function __do() {+                              var v5 = Effect_Ref.read(v4)();+                              return mbEmit(v5(ev));+                          };+                      })();+                      Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);+                      Halogen_VDom_Util.addEventListener(v2.value0, v5, el);+                      return v2;+                  };+                  if (v2 instanceof Ref) {+                      mbEmit(v2.value0(new Created(el)));+                      return v2;+                  };+                  throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 109, column 5 - line 131, column 15: " + [ v2.constructor.name ]);+              };+          };+          var patch = function (prevEvents, ps1) {+              return function (ps2) {+                  var v = Halogen_VDom_Util.newMutMap();+                  var onThis = removeProp(prevEvents);+                  var onThese = diffProp(prevEvents, v);+                  var onThat = applyProp(v);+                  var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(ps1, ps2, propToStrKey, onThese, onThis, onThat);+                  return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));+              };+          };+          var render = function (ps1) {+              var v = Halogen_VDom_Util.newMutMap();+              var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));+              return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));+          };+          return render;+      };+  };+  exports["Attribute"] = Attribute;+  exports["Property"] = Property;+  exports["Handler"] = Handler;+  exports["Ref"] = Ref;+  exports["Created"] = Created;+  exports["Removed"] = Removed;+  exports["propFromString"] = propFromString;+  exports["propFromBoolean"] = propFromBoolean;+  exports["propFromInt"] = propFromInt;+  exports["buildProp"] = buildProp;+  exports["functorProp"] = functorProp;+})(PS["Halogen.VDom.DOM.Prop"] = PS["Halogen.VDom.DOM.Prop"] || {});+(function(exports) {+    "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];+  var DOM_HTML_Indexed_CrossOriginValue = PS["DOM.HTML.Indexed.CrossOriginValue"];+  var DOM_HTML_Indexed_DirValue = PS["DOM.HTML.Indexed.DirValue"];+  var DOM_HTML_Indexed_FormMethod = PS["DOM.HTML.Indexed.FormMethod"];+  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];+  var DOM_HTML_Indexed_KindValue = PS["DOM.HTML.Indexed.KindValue"];+  var DOM_HTML_Indexed_MenuType = PS["DOM.HTML.Indexed.MenuType"];+  var DOM_HTML_Indexed_MenuitemType = PS["DOM.HTML.Indexed.MenuitemType"];+  var DOM_HTML_Indexed_OnOff = PS["DOM.HTML.Indexed.OnOff"];+  var DOM_HTML_Indexed_OrderedListType = PS["DOM.HTML.Indexed.OrderedListType"];+  var DOM_HTML_Indexed_PreloadValue = PS["DOM.HTML.Indexed.PreloadValue"];+  var DOM_HTML_Indexed_ScopeValue = PS["DOM.HTML.Indexed.ScopeValue"];+  var DOM_HTML_Indexed_StepValue = PS["DOM.HTML.Indexed.StepValue"];+  var DOM_HTML_Indexed_WrapValue = PS["DOM.HTML.Indexed.WrapValue"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_MediaType = PS["Data.MediaType"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Tuple = PS["Data.Tuple"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Halogen_VDom = PS["Halogen.VDom"];+  var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"];+  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var HTML = function (x) {+      return x;+  };++  // | A wrapper for strings which are used as CSS classes.+  var ClassName = function (x) {+      return x;+  };+  var IsProp = function (toPropValue) {+      this.toPropValue = toPropValue;+  }; +  var toPropValue = function (dict) {+      return dict.toPropValue;+  };++  // | Constructs a text node `HTML` value.+  var text = function ($27) {+      return HTML(Halogen_VDom_Types.Text.create($27));+  };+  var stringIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromString);++  // | A smart constructor for widget slots in the HTML.+  var slot = function ($29) {+      return HTML(Halogen_VDom_Types.Widget.create($29));+  };++  // | Create a HTML property.+  var prop = function (dictIsProp) {+      return function (v) {+          return function ($32) {+              return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($32));+          };+      };+  };                                   +  var onOffIsProp = new IsProp(function ($35) {+      return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));+  });      +  var newtypeClassName = new Data_Newtype.Newtype(function (n) {+      return n;+  }, ClassName);+  var intIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);+  var inputTypeIsProp = new IsProp(function ($40) {+      return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));+  });++  // | Create an event handler.+  var handler = Halogen_VDom_DOM_Prop.Handler.create;++  // | A smart constructor for HTML elements.+  var element = function (ns) {+      return function (name) {+          return function (props) {+              return function (children) {+                  return new Halogen_VDom_Types.Elem(new Halogen_VDom_Types.ElemSpec(ns, name, props), children);+              };+          };+      };+  }; +  var buttonTypeIsProp = new IsProp(function ($44) {+      return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($44));+  });+  var booleanIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);+  var bifunctorHTML = new Data_Bifunctor.Bifunctor(function (f) {+      return function (g) {+          return function (v) {+              return Data_Bifunctor.bimap(Halogen_VDom_Types.bifunctorVDom)(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_InputF.functorInputF)(g))))(f)(v);+          };+      };+  });                                                                            ++  // | Create a HTML attribute.+  var attr = function (ns) {+      return function (v) {+          return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);+      };+  };+  exports["HTML"] = HTML;+  exports["slot"] = slot;+  exports["text"] = text;+  exports["element"] = element;+  exports["prop"] = prop;+  exports["attr"] = attr;+  exports["handler"] = handler;+  exports["IsProp"] = IsProp;+  exports["toPropValue"] = toPropValue;+  exports["ClassName"] = ClassName;+  exports["bifunctorHTML"] = bifunctorHTML;+  exports["stringIsProp"] = stringIsProp;+  exports["intIsProp"] = intIsProp;+  exports["booleanIsProp"] = booleanIsProp;+  exports["buttonTypeIsProp"] = buttonTypeIsProp;+  exports["inputTypeIsProp"] = inputTypeIsProp;+  exports["onOffIsProp"] = onOffIsProp;+  exports["newtypeClassName"] = newtypeClassName;+})(PS["Halogen.HTML.Core"] = PS["Halogen.HTML.Core"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Const = PS["Data.Const"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_NonEmpty = PS["Data.List.NonEmpty"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_NonEmpty = PS["Data.NonEmpty"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Tuple = PS["Data.Tuple"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 +  var Pure = (function () {+      function Pure(value0) {+          this.value0 = value0;+      };+      Pure.create = function (value0) {+          return new Pure(value0);+      };+      return Pure;+  })();+  var Lift = (function () {+      function Lift(value0) {+          this.value0 = value0;+      };+      Lift.create = function (value0) {+          return new Lift(value0);+      };+      return Lift;+  })();+  var Ap = (function () {+      function Ap(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Ap.create = function (value0) {+          return function (value1) {+              return new Ap(value0, value1);+          };+      };+      return Ap;+  })();+  var mkAp = function (fba) {+      return function (fb) {+          return new Ap(fba, fb);+      };+  };+  var liftFreeAp = Lift.create;+  var goLeft = function ($copy_dictApplicative) {+      return function ($copy_fStack) {+          return function ($copy_valStack) {+              return function ($copy_nat) {+                  return function ($copy_func) {+                      return function ($copy_count) {+                          var $tco_var_dictApplicative = $copy_dictApplicative;+                          var $tco_var_fStack = $copy_fStack;+                          var $tco_var_valStack = $copy_valStack;+                          var $tco_var_nat = $copy_nat;+                          var $tco_var_func = $copy_func;+                          var $tco_done = false;+                          var $tco_result;+                          function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {+                              if (func instanceof Pure) {+                                  $tco_done = true;+                                  return new Data_Tuple.Tuple(new Data_List_Types.Cons({+                                      func: Control_Applicative.pure(dictApplicative)(func.value0),+                                      count: count+                                  }, fStack), valStack);+                              };+                              if (func instanceof Lift) {+                                  $tco_done = true;+                                  return new Data_Tuple.Tuple(new Data_List_Types.Cons({+                                      func: nat(func.value0),+                                      count: count+                                  }, fStack), valStack);+                              };+                              if (func instanceof Ap) {+                                  $tco_var_dictApplicative = dictApplicative;+                                  $tco_var_fStack = fStack;+                                  $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);+                                  $tco_var_nat = nat;+                                  $tco_var_func = func.value0;+                                  $copy_count = count + 1 | 0;+                                  return;+                              };+                              throw new Error("Failed pattern match at Control.Applicative.Free line 102, column 41 - line 105, column 81: " + [ func.constructor.name ]);+                          };+                          while (!$tco_done) {+                              $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);+                          };+                          return $tco_result;+                      };+                  };+              };+          };+      };+  };+  var goApply = function ($copy_dictApplicative) {+      return function ($copy_fStack) {+          return function ($copy_vals) {+              return function ($copy_gVal) {+                  var $tco_var_dictApplicative = $copy_dictApplicative;+                  var $tco_var_fStack = $copy_fStack;+                  var $tco_var_vals = $copy_vals;+                  var $tco_done = false;+                  var $tco_result;+                  function $tco_loop(dictApplicative, fStack, vals, gVal) {+                      if (fStack instanceof Data_List_Types.Nil) {+                          $tco_done = true;+                          return new Data_Either.Left(gVal);+                      };+                      if (fStack instanceof Data_List_Types.Cons) {+                          var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);+                          var $14 = fStack.value0.count === 1;+                          if ($14) {+                              if (fStack.value1 instanceof Data_List_Types.Nil) {+                                  $tco_done = true;+                                  return new Data_Either.Left(gRes);+                              };+                              $tco_var_dictApplicative = dictApplicative;+                              $tco_var_fStack = fStack.value1;+                              $tco_var_vals = vals;+                              $copy_gVal = gRes;+                              return;+                          };+                          if (vals instanceof Data_List_Types.Nil) {+                              $tco_done = true;+                              return new Data_Either.Left(gRes);+                          };+                          if (vals instanceof Data_List_Types.Cons) {+                              $tco_done = true;+                              return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({+                                  func: gRes,+                                  count: fStack.value0.count - 1 | 0+                              }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));+                          };+                          throw new Error("Failed pattern match at Control.Applicative.Free line 83, column 11 - line 88, column 50: " + [ vals.constructor.name ]);+                      };+                      throw new Error("Failed pattern match at Control.Applicative.Free line 72, column 3 - line 88, column 50: " + [ fStack.constructor.name ]);+                  };+                  while (!$tco_done) {+                      $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);+                  };+                  return $tco_result;+              };+          };+      };+  };+  var functorFreeAp = new Data_Functor.Functor(function (f) {+      return function (x) {+          return mkAp(new Pure(f))(x);+      };+  });+  var foldFreeAp = function (dictApplicative) {+      return function (nat) {+          return function (z) {+              var go = function ($copy_v) {+                  var $tco_done = false;+                  var $tco_result;+                  function $tco_loop(v) {+                      if (v.value1.value0 instanceof Pure) {+                          var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));+                          if (v1 instanceof Data_Either.Left) {+                              $tco_done = true;+                              return v1.value0;+                          };+                          if (v1 instanceof Data_Either.Right) {+                              $copy_v = v1.value0;+                              return;+                          };+                          throw new Error("Failed pattern match at Control.Applicative.Free line 54, column 17 - line 56, column 24: " + [ v1.constructor.name ]);+                      };+                      if (v.value1.value0 instanceof Lift) {+                          var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));+                          if (v1 instanceof Data_Either.Left) {+                              $tco_done = true;+                              return v1.value0;+                          };+                          if (v1 instanceof Data_Either.Right) {+                              $copy_v = v1.value0;+                              return;+                          };+                          throw new Error("Failed pattern match at Control.Applicative.Free line 57, column 17 - line 59, column 24: " + [ v1.constructor.name ]);+                      };+                      if (v.value1.value0 instanceof Ap) {+                          var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);+                          $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);+                          return;+                      };+                      throw new Error("Failed pattern match at Control.Applicative.Free line 53, column 5 - line 64, column 1: " + [ v.value1.value0.constructor.name ]);+                  };+                  while (!$tco_done) {+                      $tco_result = $tco_loop($copy_v);+                  };+                  return $tco_result;+              };+              return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));+          };+      };+  };+  var retractFreeAp = function (dictApplicative) {+      return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));+  };+  var applyFreeAp = new Control_Apply.Apply(function () {+      return functorFreeAp;+  }, function (fba) {+      return function (fb) {+          return mkAp(fba)(fb);+      };+  });+  var applicativeFreeAp = new Control_Applicative.Applicative(function () {+      return applyFreeAp;+  }, Pure.create);+  var hoistFreeAp = function (f) {+      return foldFreeAp(applicativeFreeAp)(function ($37) {+          return liftFreeAp(f($37));+      });+  };+  exports["liftFreeAp"] = liftFreeAp;+  exports["retractFreeAp"] = retractFreeAp;+  exports["foldFreeAp"] = foldFreeAp;+  exports["hoistFreeAp"] = hoistFreeAp;+  exports["functorFreeAp"] = functorFreeAp;+  exports["applyFreeAp"] = applyFreeAp;+  exports["applicativeFreeAp"] = applicativeFreeAp;+})(PS["Control.Applicative.Free"] = PS["Control.Applicative.Free"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad = PS["Control.Monad"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Prelude = PS["Prelude"];                 +  var CatQueue = (function () {+      function CatQueue(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      CatQueue.create = function (value0) {+          return function (value1) {+              return new CatQueue(value0, value1);+          };+      };+      return CatQueue;+  })();+  var uncons = function ($copy_v) {+      var $tco_done = false;+      var $tco_result;+      function $tco_loop(v) {+          if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {+              $tco_done = true;+              return Data_Maybe.Nothing.value;+          };+          if (v.value0 instanceof Data_List_Types.Nil) {+              $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);+              return;+          };+          if (v.value0 instanceof Data_List_Types.Cons) {+              $tco_done = true;+              return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));+          };+          throw new Error("Failed pattern match at Data.CatQueue line 83, column 1 - line 83, column 63: " + [ v.constructor.name ]);+      };+      while (!$tco_done) {+          $tco_result = $tco_loop($copy_v);+      };+      return $tco_result;+  };+  var snoc = function (v) {+      return function (a) {+          return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));+      };+  };+  var $$null = function (v) {+      if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {+          return true;+      };+      return false;+  };                                                                                                +  var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);+  exports["CatQueue"] = CatQueue;+  exports["empty"] = empty;+  exports["null"] = $$null;+  exports["snoc"] = snoc;+  exports["uncons"] = uncons;+})(PS["Data.CatQueue"] = PS["Data.CatQueue"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad = PS["Control.Monad"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Data_CatQueue = PS["Data.CatQueue"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unfoldable1 = PS["Data.Unfoldable1"];+  var Prelude = PS["Prelude"];                 +  var CatNil = (function () {+      function CatNil() {++      };+      CatNil.value = new CatNil();+      return CatNil;+  })();+  var CatCons = (function () {+      function CatCons(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      CatCons.create = function (value0) {+          return function (value1) {+              return new CatCons(value0, value1);+          };+      };+      return CatCons;+  })();+  var link = function (v) {+      return function (cat) {+          if (v instanceof CatNil) {+              return cat;+          };+          if (v instanceof CatCons) {+              return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(cat));+          };+          throw new Error("Failed pattern match at Data.CatList line 111, column 1 - line 111, column 54: " + [ v.constructor.name, cat.constructor.name ]);+      };+  };+  var foldr = function (k) {+      return function (b) {+          return function (q) {+              var foldl = function ($copy_v) {+                  return function ($copy_c) {+                      return function ($copy_v1) {+                          var $tco_var_v = $copy_v;+                          var $tco_var_c = $copy_c;+                          var $tco_done = false;+                          var $tco_result;+                          function $tco_loop(v, c, v1) {+                              if (v1 instanceof Data_List_Types.Nil) {+                                  $tco_done = true;+                                  return c;+                              };+                              if (v1 instanceof Data_List_Types.Cons) {+                                  $tco_var_v = v;+                                  $tco_var_c = v(c)(v1.value0);+                                  $copy_v1 = v1.value1;+                                  return;+                              };+                              throw new Error("Failed pattern match at Data.CatList line 126, column 3 - line 126, column 59: " + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);+                          };+                          while (!$tco_done) {+                              $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);+                          };+                          return $tco_result;+                      };+                  };+              };+              var go = function ($copy_xs) {+                  return function ($copy_ys) {+                      var $tco_var_xs = $copy_xs;+                      var $tco_done = false;+                      var $tco_result;+                      function $tco_loop(xs, ys) {+                          var v = Data_CatQueue.uncons(xs);+                          if (v instanceof Data_Maybe.Nothing) {+                              $tco_done = true;+                              return foldl(function (x) {+                                  return function (i) {+                                      return i(x);+                                  };+                              })(b)(ys);+                          };+                          if (v instanceof Data_Maybe.Just) {+                              $tco_var_xs = v.value0.value1;+                              $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);+                              return;+                          };+                          throw new Error("Failed pattern match at Data.CatList line 122, column 14 - line 124, column 67: " + [ v.constructor.name ]);+                      };+                      while (!$tco_done) {+                          $tco_result = $tco_loop($tco_var_xs, $copy_ys);+                      };+                      return $tco_result;+                  };+              };+              return go(q)(Data_List_Types.Nil.value);+          };+      };+  };+  var uncons = function (v) {+      if (v instanceof CatNil) {+          return Data_Maybe.Nothing.value;+      };+      if (v instanceof CatCons) {+          return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {+              var $45 = Data_CatQueue["null"](v.value1);+              if ($45) {+                  return CatNil.value;+              };+              return foldr(link)(CatNil.value)(v.value1);+          })()));+      };+      throw new Error("Failed pattern match at Data.CatList line 102, column 1 - line 102, column 61: " + [ v.constructor.name ]);+  };+  var empty = CatNil.value;+  var append = function (v) {+      return function (v1) {+          if (v1 instanceof CatNil) {+              return v;+          };+          if (v instanceof CatNil) {+              return v1;+          };+          return link(v)(v1);+      };+  }; +  var semigroupCatList = new Data_Semigroup.Semigroup(append);+  var snoc = function (cat) {+      return function (a) {+          return append(cat)(new CatCons(a, Data_CatQueue.empty));+      };+  };+  exports["CatNil"] = CatNil;+  exports["CatCons"] = CatCons;+  exports["empty"] = empty;+  exports["append"] = append;+  exports["snoc"] = snoc;+  exports["uncons"] = uncons;+  exports["semigroupCatList"] = semigroupCatList;+})(PS["Data.CatList"] = PS["Data.CatList"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_CatList = PS["Data.CatList"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Free = (function () {+      function Free(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Free.create = function (value0) {+          return function (value1) {+              return new Free(value0, value1);+          };+      };+      return Free;+  })();+  var Return = (function () {+      function Return(value0) {+          this.value0 = value0;+      };+      Return.create = function (value0) {+          return new Return(value0);+      };+      return Return;+  })();+  var Bind = (function () {+      function Bind(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Bind.create = function (value0) {+          return function (value1) {+              return new Bind(value0, value1);+          };+      };+      return Bind;+  })();+  var toView = function ($copy_v) {+      var $tco_done = false;+      var $tco_result;+      function $tco_loop(v) {+          var runExpF = function (v2) {+              return v2;+          };+          var concatF = function (v2) {+              return function (r) {+                  return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));+              };+          };+          if (v.value0 instanceof Return) {+              var v2 = Data_CatList.uncons(v.value1);+              if (v2 instanceof Data_Maybe.Nothing) {+                  $tco_done = true;+                  return new Return(v.value0.value0);+              };+              if (v2 instanceof Data_Maybe.Just) {+                  $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);+                  return;+              };+              throw new Error("Failed pattern match at Control.Monad.Free line 220, column 7 - line 224, column 64: " + [ v2.constructor.name ]);+          };+          if (v.value0 instanceof Bind) {+              $tco_done = true;+              return new Bind(v.value0.value0, function (a) {+                  return concatF(v.value0.value1(a))(v.value1);+              });+          };+          throw new Error("Failed pattern match at Control.Monad.Free line 218, column 3 - line 226, column 56: " + [ v.value0.constructor.name ]);+      };+      while (!$tco_done) {+          $tco_result = $tco_loop($copy_v);+      };+      return $tco_result;+  };+  var fromView = function (f) {+      return new Free(f, Data_CatList.empty);+  };+  var freeMonad = new Control_Monad.Monad(function () {+      return freeApplicative;+  }, function () {+      return freeBind;+  });+  var freeFunctor = new Data_Functor.Functor(function (k) {+      return function (f) {+          return Control_Bind.bindFlipped(freeBind)(function ($118) {+              return Control_Applicative.pure(freeApplicative)(k($118));+          })(f);+      };+  });+  var freeBind = new Control_Bind.Bind(function () {+      return freeApply;+  }, function (v) {+      return function (k) {+          return new Free(v.value0, Data_CatList.snoc(v.value1)(k));+      };+  });+  var freeApply = new Control_Apply.Apply(function () {+      return freeFunctor;+  }, Control_Monad.ap(freeMonad));+  var freeApplicative = new Control_Applicative.Applicative(function () {+      return freeApply;+  }, function ($119) {+      return fromView(Return.create($119));+  });+  var liftF = function (f) {+      return fromView(new Bind(f, function ($120) {+          return Control_Applicative.pure(freeApplicative)($120);+      }));+  };+  var foldFree = function (dictMonadRec) {+      return function (k) {+          var go = function (f) {+              var v = toView(f);+              if (v instanceof Return) {+                  return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));+              };+              if (v instanceof Bind) {+                  return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) {+                      return Control_Monad_Rec_Class.Loop.create(v.value1($127));+                  })(k(v.value0));+              };+              throw new Error("Failed pattern match at Control.Monad.Free line 151, column 10 - line 153, column 37: " + [ v.constructor.name ]);+          };+          return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);+      };+  };+  exports["liftF"] = liftF;+  exports["foldFree"] = foldFree;+  exports["freeFunctor"] = freeFunctor;+  exports["freeBind"] = freeBind;+  exports["freeApplicative"] = freeApplicative;+  exports["freeApply"] = freeApply;+  exports["freeMonad"] = freeMonad;+})(PS["Control.Monad.Free"] = PS["Control.Monad.Free"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 +  var runExists = Unsafe_Coerce.unsafeCoerce;+  var mkExists = Unsafe_Coerce.unsafeCoerce;+  exports["mkExists"] = mkExists;+  exports["runExists"] = runExists;+})(PS["Data.Exists"] = PS["Data.Exists"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Alt = PS["Control.Alt"];+  var Control_Alternative = PS["Control.Alternative"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Comonad = PS["Control.Comonad"];+  var Control_Extend = PS["Control.Extend"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_MonadPlus = PS["Control.MonadPlus"];+  var Control_MonadZero = PS["Control.MonadZero"];+  var Control_Plus = PS["Control.Plus"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Distributive = PS["Data.Distributive"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Exists = PS["Data.Exists"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Functor_Invariant = PS["Data.Functor.Invariant"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup_Foldable = PS["Data.Semigroup.Foldable"];+  var Data_Semigroup_Traversable = PS["Data.Semigroup.Traversable"];+  var Data_Traversable = PS["Data.Traversable"];+  var Prelude = PS["Prelude"];+  var unCoyoneda = function (f) {+      return function (v) {+          return Data_Exists.runExists(function (v1) {+              return f(v1.value0)(v1.value1);+          })(v);+      };+  };+  exports["unCoyoneda"] = unCoyoneda;+})(PS["Data.Coyoneda"] = PS["Data.Coyoneda"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Either = PS["Data.Either"];+  var Data_Exists = PS["Data.Exists"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Class = PS["Effect.Class"];+  var Prelude = PS["Prelude"];                 +  var Bound = (function () {+      function Bound(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Bound.create = function (value0) {+          return function (value1) {+              return new Bound(value0, value1);+          };+      };+      return Bound;+  })();+  var FreeT = (function () {+      function FreeT(value0) {+          this.value0 = value0;+      };+      FreeT.create = function (value0) {+          return new FreeT(value0);+      };+      return FreeT;+  })();+  var Bind = (function () {+      function Bind(value0) {+          this.value0 = value0;+      };+      Bind.create = function (value0) {+          return new Bind(value0);+      };+      return Bind;+  })();+  var monadTransFreeT = function (dictFunctor) {+      return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {+          return function (ma) {+              return new FreeT(function (v) {+                  return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);+              });+          };+      });+  };+  var freeT = FreeT.create;+  var bound = function (m) {+      return function (f) {+          return new Bind(Data_Exists.mkExists(new Bound(m, f)));+      };+  };+  var functorFreeT = function (dictFunctor) {+      return function (dictFunctor1) {+          return new Data_Functor.Functor(function (f) {+              return function (v) {+                  if (v instanceof FreeT) {+                      return new FreeT(function (v1) {+                          return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));+                      });+                  };+                  if (v instanceof Bind) {+                      return Data_Exists.runExists(function (v1) {+                          return bound(v1.value0)(function ($104) {+                              return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));+                          });+                      })(v.value0);+                  };+                  throw new Error("Failed pattern match at Control.Monad.Free.Trans line 57, column 1 - line 57, column 71: " + [ f.constructor.name, v.constructor.name ]);+              };+          });+      };+  };+  var monadFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return new Control_Monad.Monad(function () {+              return applicativeFreeT(dictFunctor)(dictMonad);+          }, function () {+              return bindFreeT(dictFunctor)(dictMonad);+          });+      };+  };+  var bindFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return new Control_Bind.Bind(function () {+              return applyFreeT(dictFunctor)(dictMonad);+          }, function (v) {+              return function (f) {+                  if (v instanceof Bind) {+                      return Data_Exists.runExists(function (v1) {+                          return bound(v1.value0)(function (x) {+                              return bound(function (v2) {+                                  return v1.value1(x);+                              })(f);+                          });+                      })(v.value0);+                  };+                  return bound(function (v1) {+                      return v;+                  })(f);+              };+          });+      };+  };+  var applyFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return new Control_Apply.Apply(function () {+              return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());+          }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));+      };+  };+  var applicativeFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return new Control_Applicative.Applicative(function () {+              return applyFreeT(dictFunctor)(dictMonad);+          }, function (a) {+              return new FreeT(function (v) {+                  return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));+              });+          });+      };+  };+  var liftFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return function (fa) {+              return new FreeT(function (v) {+                  return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));+              });+          };+      };+  };+  var resume = function (dictFunctor) {+      return function (dictMonadRec) {+          var go = function (v) {+              if (v instanceof FreeT) {+                  return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));+              };+              if (v instanceof Bind) {+                  return Data_Exists.runExists(function (v1) {+                      var v2 = v1.value0(Data_Unit.unit);+                      if (v2 instanceof FreeT) {+                          return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {+                              if (v3 instanceof Data_Either.Left) {+                                  return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));+                              };+                              if (v3 instanceof Data_Either.Right) {+                                  return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {+                                      return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);+                                  })(v3.value0))));+                              };+                              throw new Error("Failed pattern match at Control.Monad.Free.Trans line 52, column 20 - line 54, column 67: " + [ v3.constructor.name ]);+                          });+                      };+                      if (v2 instanceof Bind) {+                          return Data_Exists.runExists(function (v3) {+                              return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {+                                  return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);+                              })));+                          })(v2.value0);+                      };+                      throw new Error("Failed pattern match at Control.Monad.Free.Trans line 50, column 5 - line 55, column 98: " + [ v2.constructor.name ]);+                  })(v.value0);+              };+              throw new Error("Failed pattern match at Control.Monad.Free.Trans line 47, column 3 - line 47, column 75: " + [ v.constructor.name ]);+          };+          return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);+      };+  };+  var runFreeT = function (dictFunctor) {+      return function (dictMonadRec) {+          return function (interp) {+              var go = function (v) {+                  if (v instanceof Data_Either.Left) {+                      return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));+                  };+                  if (v instanceof Data_Either.Right) {+                      return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));+                  };+                  throw new Error("Failed pattern match at Control.Monad.Free.Trans line 126, column 3 - line 126, column 63: " + [ v.constructor.name ]);+              };+              return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));+          };+      };+  };+  var monadRecFreeT = function (dictFunctor) {+      return function (dictMonad) {+          return new Control_Monad_Rec_Class.MonadRec(function () {+              return monadFreeT(dictFunctor)(dictMonad);+          }, function (f) {+              var go = function (s) {+                  return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {+                      if (v instanceof Control_Monad_Rec_Class.Loop) {+                          return go(v.value0);+                      };+                      if (v instanceof Control_Monad_Rec_Class.Done) {+                          return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);+                      };+                      throw new Error("Failed pattern match at Control.Monad.Free.Trans line 80, column 15 - line 82, column 25: " + [ v.constructor.name ]);+                  });+              };+              return go;+          });+      };+  };+  exports["freeT"] = freeT;+  exports["liftFreeT"] = liftFreeT;+  exports["resume"] = resume;+  exports["runFreeT"] = runFreeT;+  exports["functorFreeT"] = functorFreeT;+  exports["applyFreeT"] = applyFreeT;+  exports["applicativeFreeT"] = applicativeFreeT;+  exports["bindFreeT"] = bindFreeT;+  exports["monadFreeT"] = monadFreeT;+  exports["monadTransFreeT"] = monadTransFreeT;+  exports["monadRecFreeT"] = monadRecFreeT;+})(PS["Control.Monad.Free.Trans"] = PS["Control.Monad.Free.Trans"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Newtype = PS["Data.Newtype"];+  var Prelude = PS["Prelude"];                 +  var Profunctor = function (dimap) {+      this.dimap = dimap;+  };+  var profunctorFn = new Profunctor(function (a2b) {+      return function (c2d) {+          return function (b2c) {+              return function ($9) {+                  return c2d(b2c(a2b($9)));+              };+          };+      };+  });+  var dimap = function (dict) {+      return dict.dimap;+  };+  var rmap = function (dictProfunctor) {+      return function (b2c) {+          return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);+      };+  };+  exports["dimap"] = dimap;+  exports["Profunctor"] = Profunctor;+  exports["rmap"] = rmap;+  exports["profunctorFn"] = profunctorFn;+})(PS["Data.Profunctor"] = PS["Data.Profunctor"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad_Except = PS["Control.Monad.Except"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Parallel_Class = PS["Control.Parallel.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Profunctor = PS["Data.Profunctor"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Prelude = PS["Prelude"];+  var Emit = (function () {+      function Emit(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Emit.create = function (value0) {+          return function (value1) {+              return new Emit(value0, value1);+          };+      };+      return Emit;+  })();+  var runProcess = function (dictMonadRec) {+      return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) {+          return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));+      });+  };+  var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {+      return function (g) {+          return function (v) {+              return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);+          };+      };+  });+  var loop = function (dictFunctor) {+      return function (dictMonad) {+          return function (me) {+              return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {+                  return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);+              })(Data_Unit.unit);+          };+      };+  };+  var fuseWithL = function (dictFunctor) {+      return function (dictFunctor1) {+          return function (dictFunctor2) {+              return function (dictMonadRec) {+                  return function (zap) {+                      return function (fs) {+                          return function (gs) {+                              var go = function (v) {+                                  return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) {+                                      return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) {+                                          return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {+                                              return Control_Monad_Free_Trans.freeT(function (v3) {+                                                  return go(t);+                                              });+                                          })(zap(Data_Tuple.Tuple.create)(v1)(v2)));+                                      });+                                  }));+                              };+                              return Control_Monad_Free_Trans.freeT(function (v) {+                                  return go(new Data_Tuple.Tuple(fs, gs));+                              });+                          };+                      };+                  };+              };+          };+      };+  };+  var fuseWith = function (dictFunctor) {+      return function (dictFunctor1) {+          return function (dictFunctor2) {+              return function (dictMonadRec) {+                  return function (dictParallel) {+                      return function (zap) {+                          return function (fs) {+                              return function (gs) {+                                  var go = function (v) {+                                      return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) {+                                          if (v1 instanceof Data_Either.Left) {+                                              return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));+                                          };+                                          if (v1 instanceof Data_Either.Right) {+                                              return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {+                                                  return Control_Monad_Free_Trans.freeT(function (v2) {+                                                      return go(t);+                                                  });+                                              })(v1.value0)));+                                          };+                                          throw new Error("Failed pattern match at Control.Coroutine line 79, column 5 - line 81, column 63: " + [ v1.constructor.name ]);+                                      });+                                  };+                                  return Control_Monad_Free_Trans.freeT(function (v) {+                                      return go(new Data_Tuple.Tuple(fs, gs));+                                  });+                              };+                          };+                      };+                  };+              };+          };+      };+  };+  var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));+  var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {+      return function (g) {+          return function (v) {+              return new Emit(f(v.value0), g(v.value1));+          };+      };+  });+  var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));+  var connect = function (dictMonadRec) {+      return function (dictParallel) {+          return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {+              return function (v) {+                  return function (v1) {+                      return f(v.value1)(v1(v.value0));+                  };+              };+          });+      };+  };+  var emit = function (dictMonad) {+      return function (o) {+          return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));+      };+  };+  var producer = function (dictMonad) {+      return function (recv) {+          return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) {+              if (v instanceof Data_Either.Left) {+                  return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);+              };+              if (v instanceof Data_Either.Right) {+                  return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));+              };+              throw new Error("Failed pattern match at Control.Coroutine line 125, column 3 - line 127, column 29: " + [ v.constructor.name ]);+          }));+      };+  };+  var pullFrom = function (dictMonadRec) {+      return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {+          return function (v) {+              return function (v1) {+                  return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));+              };+          };+      });+  };+  var $$await = function (dictMonad) {+      return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));+  };+  exports["loop"] = loop;+  exports["runProcess"] = runProcess;+  exports["fuseWith"] = fuseWith;+  exports["fuseWithL"] = fuseWithL;+  exports["Emit"] = Emit;+  exports["emit"] = emit;+  exports["producer"] = producer;+  exports["await"] = $$await;+  exports["connect"] = connect;+  exports["pullFrom"] = pullFrom;+  exports["bifunctorEmit"] = bifunctorEmit;+  exports["functorEmit"] = functorEmit;+  exports["profunctorAwait"] = profunctorAwait;+  exports["functorAwait"] = functorAwait;+})(PS["Control.Coroutine"] = PS["Control.Coroutine"] || {});+(function(exports) {+  /* globals exports, setTimeout */+  "use strict";++  var AVar = function () {++    function MutableQueue () {+      this.head = null;+      this.last = null;+      this.size = 0;+    }++    function MutableCell (queue, value) {+      this.queue = queue;+      this.value = value;+      this.next  = null;+      this.prev  = null;+    }++    function AVar (value) {+      this.draining = false;+      this.error    = null;+      this.value    = value;+      this.takes    = new MutableQueue();+      this.reads    = new MutableQueue();+      this.puts     = new MutableQueue();+    }++    var EMPTY = {};++    function runEff(eff) {+      try {+        eff();+      } catch (error) {+        setTimeout(function () {+          throw error;+        }, 0);+      }+    }++    function putLast (queue, value) {+      var cell = new MutableCell(queue, value);+      switch (queue.size) {+      case 0:+        queue.head = cell;+        break;+      case 1:+        cell.prev = queue.head;+        queue.head.next = cell;+        queue.last = cell;+        break;+      default:+        cell.prev = queue.last;+        queue.last.next = cell;+        queue.last = cell;+      }+      queue.size++;+      return cell;+    }++    function takeLast (queue) {+      var cell;+      switch (queue.size) {+      case 0:+        return null;+      case 1:+        cell = queue.head;+        queue.head = null;+        break;+      case 2:+        cell = queue.last;+        queue.head.next = null;+        queue.last = null;+        break;+      default:+        cell = queue.last;+        queue.last = cell.prev;+        queue.last.next = null;+      }+      cell.prev = null;+      cell.queue = null;+      queue.size--;+      return cell.value;+    }++    function takeHead (queue) {+      var cell;+      switch (queue.size) {+      case 0:+        return null;+      case 1:+        cell = queue.head;+        queue.head = null;+        break;+      case 2:+        cell = queue.head;+        queue.last.prev = null;+        queue.head = queue.last;+        queue.last = null;+        break;+      default:+        cell = queue.head;+        queue.head = cell.next;+        queue.head.prev = null;+      }+      cell.next = null;+      cell.queue = null;+      queue.size--;+      return cell.value;+    }++    function deleteCell (cell) {+      if (cell.queue === null) {+        return;+      }+      if (cell.queue.last === cell) {+        takeLast(cell.queue);+        return;+      }+      if (cell.queue.head === cell) {+        takeHead(cell.queue);+        return;+      }+      if (cell.prev) {+        cell.prev.next = cell.next;+      }+      if (cell.next) {+        cell.next.prev = cell.prev;+      }+      cell.queue.size--;+      cell.queue = null;+      cell.value = null;+      cell.next  = null;+      cell.prev  = null;+    }++    function drainVar (util, avar) {+      if (avar.draining) {+        return;+      }++      var ps = avar.puts;+      var ts = avar.takes;+      var rs = avar.reads;+      var p, r, t, value, rsize;++      avar.draining = true;++      while (1) { // eslint-disable-line no-constant-condition+        p = null;+        r = null;+        t = null;+        value = avar.value;+        rsize = rs.size;++        if (avar.error !== null) {+          value = util.left(avar.error);+          while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign+            runEff(p.cb(value));+          }+          while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign+            runEff(r(value));+          }+          while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign+            runEff(t(value));+          }+          break;+        }++        // Process the next put. We do not immediately invoke the callback+        // because we want to preserve ordering. If there are takes/reads+        // we want to run those first.+        if (value === EMPTY && (p = takeHead(ps))) {+          avar.value = value = p.value;+        }++        if (value !== EMPTY) {+          // We go ahead and queue up the next take for the same reasons as+          // above. Invoking the read callbacks can affect the mutable queue.+          t = takeHead(ts);+          // We only want to process the reads queued up before running these+          // callbacks so we guard on rsize.+          while (rsize-- && (r = takeHead(rs))) {+            runEff(r(util.right(value)));+          }+          if (t !== null) {+            avar.value = EMPTY;+            runEff(t(util.right(value)));+          }+        }++        if (p !== null) {+          runEff(p.cb(util.right(void 0)));+        }++        // Callbacks could have queued up more items so we need to guard on the+        // actual mutable properties.+        if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {+          break;+        }+      }+      avar.draining = false;+    }++    AVar.EMPTY      = EMPTY;+    AVar.putLast    = putLast;+    AVar.takeLast   = takeLast;+    AVar.takeHead   = takeHead;+    AVar.deleteCell = deleteCell;+    AVar.drainVar   = drainVar;++    return AVar;+  }();++  exports.empty = function () {+    return new AVar(AVar.EMPTY);+  };++  exports._killVar = function (util, error, avar) {+    return function () {+      if (avar.error === null) {+        avar.error = error;+        avar.value = AVar.EMPTY;+        AVar.drainVar(util, avar);+      }+    };+  };++  exports._putVar = function (util, value, avar, cb) {+    return function () {+      var cell = AVar.putLast(avar.puts, { cb: cb, value: value });+      AVar.drainVar(util, avar);+      return function () {+        AVar.deleteCell(cell);+      };+    };+  };++  exports._takeVar = function (util, avar, cb) {+    return function () {+      var cell = AVar.putLast(avar.takes, cb);+      AVar.drainVar(util, avar);+      return function () {+        AVar.deleteCell(cell);+      };+    };+  };+})(PS["Effect.AVar"] = PS["Effect.AVar"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.AVar"];+  var Data_Either = PS["Data.Either"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];+  var Effect = PS["Effect"];+  var Effect_Exception = PS["Effect.Exception"];+  var Prelude = PS["Prelude"];                 +  var Killed = (function () {+      function Killed(value0) {+          this.value0 = value0;+      };+      Killed.create = function (value0) {+          return new Killed(value0);+      };+      return Killed;+  })();+  var Filled = (function () {+      function Filled(value0) {+          this.value0 = value0;+      };+      Filled.create = function (value0) {+          return new Filled(value0);+      };+      return Filled;+  })();+  var Empty = (function () {+      function Empty() {++      };+      Empty.value = new Empty();+      return Empty;+  })();+  var ffiUtil = {+      left: Data_Either.Left.create,+      right: Data_Either.Right.create,+      nothing: Data_Maybe.Nothing.value,+      just: Data_Maybe.Just.create,+      killed: Killed.create,+      filled: Filled.create,+      empty: Empty.value+  };+  var kill = function (err) {+      return function (avar) {+          return $foreign._killVar(ffiUtil, err, avar);+      };+  };+  var put = function (value) {+      return function (avar) {+          return function (cb) {+              return $foreign._putVar(ffiUtil, value, avar, cb);+          };+      };+  };+  var take = function (avar) {+      return function (cb) {+          return $foreign._takeVar(ffiUtil, avar, cb);+      };+  };+  exports["Killed"] = Killed;+  exports["Filled"] = Filled;+  exports["Empty"] = Empty;+  exports["take"] = take;+  exports["put"] = put;+  exports["kill"] = kill;+  exports["empty"] = $foreign.empty;+})(PS["Effect.AVar"] = PS["Effect.AVar"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Maybe = PS["Data.Maybe"];+  var Effect = PS["Effect"];+  var Effect_AVar = PS["Effect.AVar"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Prelude = PS["Prelude"];+  var take = function (avar) {+      return Effect_Aff.makeAff(function (k) {+          return function __do() {+              var v = Effect_AVar.take(avar)(k)();+              return Effect_Aff.effectCanceler(v);+          };+      });+  };+  var put = function (value) {+      return function (avar) {+          return Effect_Aff.makeAff(function (k) {+              return function __do() {+                  var v = Effect_AVar.put(value)(avar)(k)();+                  return Effect_Aff.effectCanceler(v);+              };+          });+      };+  };+  var kill = function (error) {+      return function ($11) {+          return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));+      };+  };+  var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);+  exports["empty"] = empty;+  exports["take"] = take;+  exports["put"] = put;+  exports["kill"] = kill;+})(PS["Effect.Aff.AVar"] = PS["Effect.Aff.AVar"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Coroutine = PS["Control.Coroutine"];+  var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Either = PS["Data.Either"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Aff_AVar = PS["Effect.Aff.AVar"];+  var Effect_Aff_Class = PS["Effect.Aff.Class"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Prelude = PS["Prelude"];                 +  var Listening = (function () {+      function Listening() {++      };+      Listening.value = new Listening();+      return Listening;+  })();+  var Done = (function () {+      function Done() {++      };+      Done.value = new Done();+      return Done;+  })();+  var unEventSource = function (v) {+      return v;+  };+  var eqSubscribeStatus = new Data_Eq.Eq(function (x) {+      return function (y) {+          if (x instanceof Listening && y instanceof Listening) {+              return true;+          };+          if (x instanceof Done && y instanceof Done) {+              return true;+          };+          return false;+      };+  });+  exports["Listening"] = Listening;+  exports["Done"] = Done;+  exports["unEventSource"] = unEventSource;+  exports["eqSubscribeStatus"] = eqSubscribeStatus;+})(PS["Halogen.Query.EventSource"] = PS["Halogen.Query.EventSource"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Category = PS["Control.Category"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Exception = PS["Effect.Exception"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var unFork = Unsafe_Coerce.unsafeCoerce;+  exports["unFork"] = unFork;+})(PS["Halogen.Query.ForkF"] = PS["Halogen.Query.ForkF"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Applicative_Free = PS["Control.Applicative.Free"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad = PS["Control.Monad"];+  var Control_Monad_Free = PS["Control.Monad.Free"];+  var Control_Monad_Reader_Class = PS["Control.Monad.Reader.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Monad_Writer_Class = PS["Control.Monad.Writer.Class"];+  var Control_Parallel_Class = PS["Control.Parallel.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Coyoneda = PS["Data.Coyoneda"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff_Class = PS["Effect.Aff.Class"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"];+  var Halogen_Query_ForkF = PS["Halogen.Query.ForkF"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Prelude = PS["Prelude"];+  var Web_DOM = PS["Web.DOM"];+  var HalogenM = function (x) {+      return x;+  };+  var State = (function () {+      function State(value0) {+          this.value0 = value0;+      };+      State.create = function (value0) {+          return new State(value0);+      };+      return State;+  })();+  var Subscribe = (function () {+      function Subscribe(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Subscribe.create = function (value0) {+          return function (value1) {+              return new Subscribe(value0, value1);+          };+      };+      return Subscribe;+  })();+  var Lift = (function () {+      function Lift(value0) {+          this.value0 = value0;+      };+      Lift.create = function (value0) {+          return new Lift(value0);+      };+      return Lift;+  })();+  var Halt = (function () {+      function Halt(value0) {+          this.value0 = value0;+      };+      Halt.create = function (value0) {+          return new Halt(value0);+      };+      return Halt;+  })();+  var GetSlots = (function () {+      function GetSlots(value0) {+          this.value0 = value0;+      };+      GetSlots.create = function (value0) {+          return new GetSlots(value0);+      };+      return GetSlots;+  })();+  var CheckSlot = (function () {+      function CheckSlot(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      CheckSlot.create = function (value0) {+          return function (value1) {+              return new CheckSlot(value0, value1);+          };+      };+      return CheckSlot;+  })();+  var ChildQuery = (function () {+      function ChildQuery(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      ChildQuery.create = function (value0) {+          return function (value1) {+              return new ChildQuery(value0, value1);+          };+      };+      return ChildQuery;+  })();+  var Raise = (function () {+      function Raise(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      Raise.create = function (value0) {+          return function (value1) {+              return new Raise(value0, value1);+          };+      };+      return Raise;+  })();+  var Par = (function () {+      function Par(value0) {+          this.value0 = value0;+      };+      Par.create = function (value0) {+          return new Par(value0);+      };+      return Par;+  })();+  var Fork = (function () {+      function Fork(value0) {+          this.value0 = value0;+      };+      Fork.create = function (value0) {+          return new Fork(value0);+      };+      return Fork;+  })();+  var GetRef = (function () {+      function GetRef(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      GetRef.create = function (value0) {+          return function (value1) {+              return new GetRef(value0, value1);+          };+      };+      return GetRef;+  })();+  var raise = function (o) {+      return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));+  };+  var functorHalogenM = new Data_Functor.Functor(function (f) {+      return function (v) {+          return Data_Functor.map(Control_Monad_Free.freeFunctor)(f)(v);+      };+  });+  var applyHalogenM = new Control_Apply.Apply(function () {+      return functorHalogenM;+  }, function (v) {+      return function (v1) {+          return Control_Apply.apply(Control_Monad_Free.freeApply)(v)(v1);+      };+  });+  var bindHalogenM = new Control_Bind.Bind(function () {+      return applyHalogenM;+  }, function (v) {+      return function (f) {+          return Control_Bind.bind(Control_Monad_Free.freeBind)(v)(function (x) {+              var v1 = f(x);+              return v1;+          });+      };+  });                                                       +  var applicativeHalogenM = new Control_Applicative.Applicative(function () {+      return applyHalogenM;+  }, function (a) {+      return Control_Applicative.pure(Control_Monad_Free.freeApplicative)(a);+  });+  var monadHalogenM = new Control_Monad.Monad(function () {+      return applicativeHalogenM;+  }, function () {+      return bindHalogenM;+  });+  var monadEffectHalogenM = function (dictMonadEffect) {+      return new Effect_Class.MonadEffect(function () {+          return monadHalogenM;+      }, function (eff) {+          return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)(eff))));+      });+  };+  var monadAffHalogenM = function (dictMonadAff) {+      return new Effect_Aff_Class.MonadAff(function () {+          return monadEffectHalogenM(dictMonadAff.MonadEffect0());+      }, function (aff) {+          return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)(aff))));+      });+  };+  var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {+      return monadHalogenM;+  }, function ($180) {+      return HalogenM(Control_Monad_Free.liftF(State.create($180)));+  });+  exports["State"] = State;+  exports["Subscribe"] = Subscribe;+  exports["Lift"] = Lift;+  exports["Halt"] = Halt;+  exports["GetSlots"] = GetSlots;+  exports["CheckSlot"] = CheckSlot;+  exports["ChildQuery"] = ChildQuery;+  exports["Raise"] = Raise;+  exports["Par"] = Par;+  exports["Fork"] = Fork;+  exports["GetRef"] = GetRef;+  exports["HalogenM"] = HalogenM;+  exports["raise"] = raise;+  exports["functorHalogenM"] = functorHalogenM;+  exports["applyHalogenM"] = applyHalogenM;+  exports["applicativeHalogenM"] = applicativeHalogenM;+  exports["bindHalogenM"] = bindHalogenM;+  exports["monadHalogenM"] = monadHalogenM;+  exports["monadEffectHalogenM"] = monadEffectHalogenM;+  exports["monadAffHalogenM"] = monadAffHalogenM;+  exports["monadStateHalogenM"] = monadStateHalogenM;+})(PS["Halogen.Query.HalogenM"] = PS["Halogen.Query.HalogenM"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Bifunctor = PS["Data.Bifunctor"];+  var Data_Const = PS["Data.Const"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 +  var ComponentSlot = (function () {+      function ComponentSlot(value0, value1, value2, value3, value4, value5) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+          this.value4 = value4;+          this.value5 = value5;+      };+      ComponentSlot.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return function (value4) {+                          return function (value5) {+                              return new ComponentSlot(value0, value1, value2, value3, value4, value5);+                          };+                      };+                  };+              };+          };+      };+      return ComponentSlot;+  })();+  var unComponentSlot = function (f) {+      return function (cs) {+          return f(cs.value0)(cs.value1)(cs.value2)(cs.value3)(cs.value4)(cs.value5);+      };+  };+  var unComponent = Unsafe_Coerce.unsafeCoerce;+  var mkComponentSlot = ComponentSlot.create;+  var mkComponent = Unsafe_Coerce.unsafeCoerce;+  var parentComponent = function (dictOrd) {+      return function (spec) {+          return mkComponent({+              initialState: spec.initialState,+              render: spec.render,+              "eval": spec["eval"],+              receiver: spec.receiver,+              initializer: Data_Maybe.Nothing.value,+              finalizer: Data_Maybe.Nothing.value,+              mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(dictOrd)+          });+      };+  };+  var lifecycleComponent = function (dictBifunctor) {+      return function (spec) {+          return mkComponent({+              initialState: spec.initialState,+              render: spec.render,+              "eval": spec["eval"],+              receiver: spec.receiver,+              initializer: spec.initializer,+              finalizer: spec.finalizer,+              mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(Data_Ord.ordVoid)+          });+      };+  }; +  var component = function (dictBifunctor) {+      return function (spec) {+          return lifecycleComponent(dictBifunctor)({+              initialState: spec.initialState,+              render: spec.render,+              "eval": spec["eval"],+              receiver: spec.receiver,+              initializer: Data_Maybe.Nothing.value,+              finalizer: Data_Maybe.Nothing.value+          });+      };+  };+  exports["mkComponent"] = mkComponent;+  exports["unComponent"] = unComponent;+  exports["component"] = component;+  exports["lifecycleComponent"] = lifecycleComponent;+  exports["parentComponent"] = parentComponent;+  exports["mkComponentSlot"] = mkComponentSlot;+  exports["unComponentSlot"] = unComponentSlot;+})(PS["Halogen.Component"] = PS["Halogen.Component"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var DOM_HTML_Indexed = PS["DOM.HTML.Indexed"];+  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];+  var DOM_HTML_Indexed_FormMethod = PS["DOM.HTML.Indexed.FormMethod"];+  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];+  var DOM_HTML_Indexed_MenuType = PS["DOM.HTML.Indexed.MenuType"];+  var DOM_HTML_Indexed_MenuitemType = PS["DOM.HTML.Indexed.MenuitemType"];+  var DOM_HTML_Indexed_OnOff = PS["DOM.HTML.Indexed.OnOff"];+  var DOM_HTML_Indexed_OrderedListType = PS["DOM.HTML.Indexed.OrderedListType"];+  var DOM_HTML_Indexed_PreloadValue = PS["DOM.HTML.Indexed.PreloadValue"];+  var DOM_HTML_Indexed_StepValue = PS["DOM.HTML.Indexed.StepValue"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_MediaType = PS["Data.MediaType"];+  var Data_Newtype = PS["Data.Newtype"];+  var Data_String = PS["Data.String"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_Unit = PS["Data.Unit"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var prop = function (dictIsProp) {+      return Halogen_HTML_Core.prop(dictIsProp);+  };                                                    +  var required = prop(Halogen_HTML_Core.booleanIsProp)("required");+  var rows = prop(Halogen_HTML_Core.intIsProp)("rows");        +  var target = prop(Halogen_HTML_Core.stringIsProp)("target");+  var title = prop(Halogen_HTML_Core.stringIsProp)("title");+  var type_ = function (dictIsProp) {+      return prop(dictIsProp)("type");+  };+  var value = prop(Halogen_HTML_Core.stringIsProp)("value");+  var name = prop(Halogen_HTML_Core.stringIsProp)("name"); +  var id_ = prop(Halogen_HTML_Core.stringIsProp)("id");+  var href = prop(Halogen_HTML_Core.stringIsProp)("href");+  var $$for = prop(Halogen_HTML_Core.stringIsProp)("htmlFor");+  var class_ = function ($13) {+      return prop(Halogen_HTML_Core.stringIsProp)("className")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));+  };+  var checked = prop(Halogen_HTML_Core.booleanIsProp)("checked");  +  var autofocus = prop(Halogen_HTML_Core.booleanIsProp)("autofocus");+  var autocomplete = function ($14) {+      return prop(Halogen_HTML_Core.onOffIsProp)("autocomplete")((function (b) {+          if (b) {+              return DOM_HTML_Indexed_OnOff.On.value;+          };+          return DOM_HTML_Indexed_OnOff.Off.value;+      })($14));+  };+  var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);+  exports["prop"] = prop;+  exports["attr"] = attr;+  exports["class_"] = class_;+  exports["rows"] = rows;+  exports["for"] = $$for;+  exports["href"] = href;+  exports["id_"] = id_;+  exports["name"] = name;+  exports["target"] = target;+  exports["title"] = title;+  exports["type_"] = type_;+  exports["value"] = value;+  exports["required"] = required;+  exports["checked"] = checked;+  exports["autocomplete"] = autocomplete;+  exports["autofocus"] = autofocus;+})(PS["Halogen.HTML.Properties"] = PS["Halogen.HTML.Properties"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var DOM_HTML_Indexed = PS["DOM.HTML.Indexed"];+  var Data_Function = PS["Data.Function"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Tuple = PS["Data.Tuple"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Halogen_VDom = PS["Halogen.VDom"];+  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);+  var form = element("form");+  var input = function (props) {+      return element("input")(props)([  ]);+  };                   +  var label = element("label");+  var p = element("p");+  var p_ = p([  ]);+  var span = element("span");+  var table = element("table");+  var tbody = element("tbody");+  var tbody_ = tbody([  ]);+  var td = element("td");+  var td_ = td([  ]);+  var textarea = function (es) {+      return element("textarea")(es)([  ]);+  };                       +  var tr = element("tr");+  var tr_ = tr([  ]);+  var div = element("div");+  var div_ = div([  ]);+  var button = element("button");+  var br = function (props) {+      return element("br")(props)([  ]);+  };+  var br_ = br([  ]);    +  var a = element("a");+  exports["element"] = element;+  exports["a"] = a;+  exports["br"] = br;+  exports["br_"] = br_;+  exports["button"] = button;+  exports["div"] = div;+  exports["div_"] = div_;+  exports["form"] = form;+  exports["input"] = input;+  exports["label"] = label;+  exports["p"] = p;+  exports["p_"] = p_;+  exports["span"] = span;+  exports["table"] = table;+  exports["tbody"] = tbody;+  exports["tbody_"] = tbody_;+  exports["td"] = td;+  exports["td_"] = td_;+  exports["textarea"] = textarea;+  exports["tr"] = tr;+  exports["tr_"] = tr_;+})(PS["Halogen.HTML.Elements"] = PS["Halogen.HTML.Elements"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_Component_ChildPath = PS["Halogen.Component.ChildPath"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var slot = function (p) {+      return function (component) {+          return function (input) {+              return function (outputQuery) {+                  var f = Halogen_Component.unComponent(function (v) {+                      return v.receiver;+                  })(component);+                  return Halogen_HTML_Core.slot(Halogen_Component.mkComponentSlot(p)(component)(input)(f)(outputQuery)(Data_Maybe.Just.create));+              };+          };+      };+  };+  exports["slot"] = slot;+})(PS["Halogen.HTML"] = PS["Halogen.HTML"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Apply = PS["Control.Apply"];+  var Control_Category = PS["Control.Category"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_FoldableWithIndex = PS["Data.FoldableWithIndex"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_FunctorWithIndex = PS["Data.FunctorWithIndex"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_List = PS["Data.List"];+  var Data_List_Lazy = PS["Data.List.Lazy"];+  var Data_List_Lazy_Types = PS["Data.List.Lazy.Types"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_TraversableWithIndex = PS["Data.TraversableWithIndex"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];                 +  var Leaf = (function () {+      function Leaf() {++      };+      Leaf.value = new Leaf();+      return Leaf;+  })();+  var Two = (function () {+      function Two(value0, value1, value2, value3) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+      };+      Two.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return new Two(value0, value1, value2, value3);+                  };+              };+          };+      };+      return Two;+  })();+  var Three = (function () {+      function Three(value0, value1, value2, value3, value4, value5, value6) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+          this.value4 = value4;+          this.value5 = value5;+          this.value6 = value6;+      };+      Three.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return function (value4) {+                          return function (value5) {+                              return function (value6) {+                                  return new Three(value0, value1, value2, value3, value4, value5, value6);+                              };+                          };+                      };+                  };+              };+          };+      };+      return Three;+  })();+  var TwoLeft = (function () {+      function TwoLeft(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      TwoLeft.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new TwoLeft(value0, value1, value2);+              };+          };+      };+      return TwoLeft;+  })();+  var TwoRight = (function () {+      function TwoRight(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      TwoRight.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new TwoRight(value0, value1, value2);+              };+          };+      };+      return TwoRight;+  })();+  var ThreeLeft = (function () {+      function ThreeLeft(value0, value1, value2, value3, value4, value5) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+          this.value4 = value4;+          this.value5 = value5;+      };+      ThreeLeft.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return function (value4) {+                          return function (value5) {+                              return new ThreeLeft(value0, value1, value2, value3, value4, value5);+                          };+                      };+                  };+              };+          };+      };+      return ThreeLeft;+  })();+  var ThreeMiddle = (function () {+      function ThreeMiddle(value0, value1, value2, value3, value4, value5) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+          this.value4 = value4;+          this.value5 = value5;+      };+      ThreeMiddle.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return function (value4) {+                          return function (value5) {+                              return new ThreeMiddle(value0, value1, value2, value3, value4, value5);+                          };+                      };+                  };+              };+          };+      };+      return ThreeMiddle;+  })();+  var ThreeRight = (function () {+      function ThreeRight(value0, value1, value2, value3, value4, value5) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+          this.value4 = value4;+          this.value5 = value5;+      };+      ThreeRight.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return function (value4) {+                          return function (value5) {+                              return new ThreeRight(value0, value1, value2, value3, value4, value5);+                          };+                      };+                  };+              };+          };+      };+      return ThreeRight;+  })();+  var KickUp = (function () {+      function KickUp(value0, value1, value2, value3) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+          this.value3 = value3;+      };+      KickUp.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return function (value3) {+                      return new KickUp(value0, value1, value2, value3);+                  };+              };+          };+      };+      return KickUp;+  })();+  var values = function (v) {+      if (v instanceof Leaf) {+          return Data_List_Types.Nil.value;+      };+      if (v instanceof Two) {+          return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));+      };+      if (v instanceof Three) {+          return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));+      };+      throw new Error("Failed pattern match at Data.Map.Internal line 594, column 1 - line 594, column 40: " + [ v.constructor.name ]);+  };+  var lookup = function (dictOrd) {+      return function (k) {+          var comp = Data_Ord.compare(dictOrd);+          var go = function ($copy_v) {+              var $tco_done = false;+              var $tco_result;+              function $tco_loop(v) {+                  if (v instanceof Leaf) {+                      $tco_done = true;+                      return Data_Maybe.Nothing.value;+                  };+                  if (v instanceof Two) {+                      var v2 = comp(k)(v.value1);+                      if (v2 instanceof Data_Ordering.EQ) {+                          $tco_done = true;+                          return new Data_Maybe.Just(v.value2);+                      };+                      if (v2 instanceof Data_Ordering.LT) {+                          $copy_v = v.value0;+                          return;+                      };+                      $copy_v = v.value3;+                      return;+                  };+                  if (v instanceof Three) {+                      var v3 = comp(k)(v.value1);+                      if (v3 instanceof Data_Ordering.EQ) {+                          $tco_done = true;+                          return new Data_Maybe.Just(v.value2);+                      };+                      var v4 = comp(k)(v.value4);+                      if (v4 instanceof Data_Ordering.EQ) {+                          $tco_done = true;+                          return new Data_Maybe.Just(v.value5);+                      };+                      if (v3 instanceof Data_Ordering.LT) {+                          $copy_v = v.value0;+                          return;+                      };+                      if (v4 instanceof Data_Ordering.GT) {+                          $copy_v = v.value6;+                          return;+                      };+                      $copy_v = v.value3;+                      return;+                  };+                  throw new Error("Failed pattern match at Data.Map.Internal line 193, column 5 - line 193, column 22: " + [ v.constructor.name ]);+              };+              while (!$tco_done) {+                  $tco_result = $tco_loop($copy_v);+              };+              return $tco_result;+          };+          return go;+      };+  };+  var member = function (dictOrd) {+      return function (k) {+          return function (m) {+              return Data_Maybe.isJust(lookup(dictOrd)(k)(m));+          };+      };+  };+  var keys = function (v) {+      if (v instanceof Leaf) {+          return Data_List_Types.Nil.value;+      };+      if (v instanceof Two) {+          return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(keys(v.value3)));+      };+      if (v instanceof Three) {+          return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value4))(keys(v.value6)))));+      };+      throw new Error("Failed pattern match at Data.Map.Internal line 588, column 1 - line 588, column 38: " + [ v.constructor.name ]);+  };+  var functorMap = new Data_Functor.Functor(function (v) {+      return function (v1) {+          if (v1 instanceof Leaf) {+              return Leaf.value;+          };+          if (v1 instanceof Two) {+              return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));+          };+          if (v1 instanceof Three) {+              return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));+          };+          throw new Error("Failed pattern match at Data.Map.Internal line 89, column 1 - line 89, column 39: " + [ v.constructor.name, v1.constructor.name ]);+      };+  });+  var fromZipper = function ($copy_dictOrd) {+      return function ($copy_v) {+          return function ($copy_tree) {+              var $tco_var_dictOrd = $copy_dictOrd;+              var $tco_var_v = $copy_v;+              var $tco_done = false;+              var $tco_result;+              function $tco_loop(dictOrd, v, tree) {+                  if (v instanceof Data_List_Types.Nil) {+                      $tco_done = true;+                      return tree;+                  };+                  if (v instanceof Data_List_Types.Cons) {+                      if (v.value0 instanceof TwoLeft) {+                          $tco_var_dictOrd = dictOrd;+                          $tco_var_v = v.value1;+                          $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);+                          return;+                      };+                      if (v.value0 instanceof TwoRight) {+                          $tco_var_dictOrd = dictOrd;+                          $tco_var_v = v.value1;+                          $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);+                          return;+                      };+                      if (v.value0 instanceof ThreeLeft) {+                          $tco_var_dictOrd = dictOrd;+                          $tco_var_v = v.value1;+                          $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);+                          return;+                      };+                      if (v.value0 instanceof ThreeMiddle) {+                          $tco_var_dictOrd = dictOrd;+                          $tco_var_v = v.value1;+                          $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);+                          return;+                      };+                      if (v.value0 instanceof ThreeRight) {+                          $tco_var_dictOrd = dictOrd;+                          $tco_var_v = v.value1;+                          $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);+                          return;+                      };+                      throw new Error("Failed pattern match at Data.Map.Internal line 411, column 3 - line 416, column 88: " + [ v.value0.constructor.name ]);+                  };+                  throw new Error("Failed pattern match at Data.Map.Internal line 408, column 1 - line 408, column 80: " + [ v.constructor.name, tree.constructor.name ]);+              };+              while (!$tco_done) {+                  $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);+              };+              return $tco_result;+          };+      };+  };+  var insert = function (dictOrd) {+      return function (k) {+          return function (v) {+              var up = function ($copy_v1) {+                  return function ($copy_v2) {+                      var $tco_var_v1 = $copy_v1;+                      var $tco_done = false;+                      var $tco_result;+                      function $tco_loop(v1, v2) {+                          if (v1 instanceof Data_List_Types.Nil) {+                              $tco_done = true;+                              return new Two(v2.value0, v2.value1, v2.value2, v2.value3);+                          };+                          if (v1 instanceof Data_List_Types.Cons) {+                              if (v1.value0 instanceof TwoLeft) {+                                  $tco_done = true;+                                  return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));+                              };+                              if (v1.value0 instanceof TwoRight) {+                                  $tco_done = true;+                                  return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));+                              };+                              if (v1.value0 instanceof ThreeLeft) {+                                  $tco_var_v1 = v1.value1;+                                  $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));+                                  return;+                              };+                              if (v1.value0 instanceof ThreeMiddle) {+                                  $tco_var_v1 = v1.value1;+                                  $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));+                                  return;+                              };+                              if (v1.value0 instanceof ThreeRight) {+                                  $tco_var_v1 = v1.value1;+                                  $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));+                                  return;+                              };+                              throw new Error("Failed pattern match at Data.Map.Internal line 447, column 5 - line 452, column 108: " + [ v1.value0.constructor.name, v2.constructor.name ]);+                          };+                          throw new Error("Failed pattern match at Data.Map.Internal line 444, column 3 - line 444, column 56: " + [ v1.constructor.name, v2.constructor.name ]);+                      };+                      while (!$tco_done) {+                          $tco_result = $tco_loop($tco_var_v1, $copy_v2);+                      };+                      return $tco_result;+                  };+              };+              var comp = Data_Ord.compare(dictOrd);+              var down = function ($copy_ctx) {+                  return function ($copy_v1) {+                      var $tco_var_ctx = $copy_ctx;+                      var $tco_done = false;+                      var $tco_result;+                      function $tco_loop(ctx, v1) {+                          if (v1 instanceof Leaf) {+                              $tco_done = true;+                              return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));+                          };+                          if (v1 instanceof Two) {+                              var v2 = comp(k)(v1.value1);+                              if (v2 instanceof Data_Ordering.EQ) {+                                  $tco_done = true;+                                  return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));+                              };+                              if (v2 instanceof Data_Ordering.LT) {+                                  $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);+                                  $copy_v1 = v1.value0;+                                  return;+                              };+                              $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);+                              $copy_v1 = v1.value3;+                              return;+                          };+                          if (v1 instanceof Three) {+                              var v3 = comp(k)(v1.value1);+                              if (v3 instanceof Data_Ordering.EQ) {+                                  $tco_done = true;+                                  return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));+                              };+                              var v4 = comp(k)(v1.value4);+                              if (v4 instanceof Data_Ordering.EQ) {+                                  $tco_done = true;+                                  return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));+                              };+                              if (v3 instanceof Data_Ordering.LT) {+                                  $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);+                                  $copy_v1 = v1.value0;+                                  return;+                              };+                              if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {+                                  $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);+                                  $copy_v1 = v1.value3;+                                  return;+                              };+                              $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);+                              $copy_v1 = v1.value6;+                              return;+                          };+                          throw new Error("Failed pattern match at Data.Map.Internal line 427, column 3 - line 427, column 55: " + [ ctx.constructor.name, v1.constructor.name ]);+                      };+                      while (!$tco_done) {+                          $tco_result = $tco_loop($tco_var_ctx, $copy_v1);+                      };+                      return $tco_result;+                  };+              };+              return down(Data_List_Types.Nil.value);+          };+      };+  };+  var pop = function (dictOrd) {+      return function (k) {+          var up = function (ctxs) {+              return function (tree) {+                  if (ctxs instanceof Data_List_Types.Nil) {+                      return tree;+                  };+                  if (ctxs instanceof Data_List_Types.Cons) {+                      var $__unused = function (dictPartial1) {+                          return function ($dollar55) {+                              return $dollar55;+                          };+                      };+                      return $__unused()((function () {+                          if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));+                          };+                          if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));+                          };+                          if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {+                              return up(ctxs.value1)(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3));+                          };+                          if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {+                              return up(ctxs.value1)(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree));+                          };+                          if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));+                          };+                          if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));+                          };+                          if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));+                          };+                          if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));+                          };+                          if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));+                          };+                          if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));+                          };+                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));+                          };+                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));+                          };+                          if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));+                          };+                          if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));+                          };+                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));+                          };+                          if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));+                          };+                          if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {+                              return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));+                          };+                          throw new Error("Failed pattern match at Data.Map.Internal line 497, column 9 - line 514, column 136: " + [ ctxs.value0.constructor.name, tree.constructor.name ]);+                      })());+                  };+                  throw new Error("Failed pattern match at Data.Map.Internal line 494, column 5 - line 514, column 136: " + [ ctxs.constructor.name ]);+              };+          };+          var removeMaxNode = function (ctx) {+              return function (m) {+                  var $__unused = function (dictPartial1) {+                      return function ($dollar57) {+                          return $dollar57;+                      };+                  };+                  return $__unused()((function () {+                      if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {+                          return up(ctx)(Leaf.value);+                      };+                      if (m instanceof Two) {+                          return removeMaxNode(new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx))(m.value3);+                      };+                      if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {+                          return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);+                      };+                      if (m instanceof Three) {+                          return removeMaxNode(new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx))(m.value6);+                      };+                      throw new Error("Failed pattern match at Data.Map.Internal line 526, column 5 - line 530, column 107: " + [ m.constructor.name ]);+                  })());+              };+          };+          var maxNode = function (m) {+              var $__unused = function (dictPartial1) {+                  return function ($dollar59) {+                      return $dollar59;+                  };+              };+              return $__unused()((function () {+                  if (m instanceof Two && m.value3 instanceof Leaf) {+                      return {+                          key: m.value1,+                          value: m.value2+                      };+                  };+                  if (m instanceof Two) {+                      return maxNode(m.value3);+                  };+                  if (m instanceof Three && m.value6 instanceof Leaf) {+                      return {+                          key: m.value4,+                          value: m.value5+                      };+                  };+                  if (m instanceof Three) {+                      return maxNode(m.value6);+                  };+                  throw new Error("Failed pattern match at Data.Map.Internal line 517, column 33 - line 521, column 45: " + [ m.constructor.name ]);+              })());+          };+          var comp = Data_Ord.compare(dictOrd);+          var down = function ($copy_ctx) {+              return function ($copy_m) {+                  var $tco_var_ctx = $copy_ctx;+                  var $tco_done = false;+                  var $tco_result;+                  function $tco_loop(ctx, m) {+                      if (m instanceof Leaf) {+                          $tco_done = true;+                          return Data_Maybe.Nothing.value;+                      };+                      if (m instanceof Two) {+                          var v = comp(k)(m.value1);+                          if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));+                          };+                          if (v instanceof Data_Ordering.EQ) {+                              var max = maxNode(m.value0);+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));+                          };+                          if (v instanceof Data_Ordering.LT) {+                              $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);+                              $copy_m = m.value0;+                              return;+                          };+                          $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);+                          $copy_m = m.value3;+                          return;+                      };+                      if (m instanceof Three) {+                          var leaves = (function () {+                              if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {+                                  return true;+                              };+                              return false;+                          })();+                          var v = comp(k)(m.value4);+                          var v3 = comp(k)(m.value1);+                          if (leaves && v3 instanceof Data_Ordering.EQ) {+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));+                          };+                          if (leaves && v instanceof Data_Ordering.EQ) {+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));+                          };+                          if (v3 instanceof Data_Ordering.EQ) {+                              var max = maxNode(m.value0);+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));+                          };+                          if (v instanceof Data_Ordering.EQ) {+                              var max = maxNode(m.value3);+                              $tco_done = true;+                              return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));+                          };+                          if (v3 instanceof Data_Ordering.LT) {+                              $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);+                              $copy_m = m.value0;+                              return;+                          };+                          if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {+                              $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);+                              $copy_m = m.value3;+                              return;+                          };+                          $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);+                          $copy_m = m.value6;+                          return;+                      };+                      throw new Error("Failed pattern match at Data.Map.Internal line 467, column 34 - line 490, column 80: " + [ m.constructor.name ]);+                  };+                  while (!$tco_done) {+                      $tco_result = $tco_loop($tco_var_ctx, $copy_m);+                  };+                  return $tco_result;+              };+          };+          return down(Data_List_Types.Nil.value);+      };+  };+  var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {+      return function (f) {+          return function (m) {+              return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));+          };+      };+  }, function (f) {+      return function (z) {+          return function (m) {+              return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));+          };+      };+  }, function (f) {+      return function (z) {+          return function (m) {+              return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));+          };+      };+  });+  var empty = Leaf.value;+  var $$delete = function (dictOrd) {+      return function (k) {+          return function (m) {+              return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));+          };+      };+  }; +  var alter = function (dictOrd) {+      return function (f) {+          return function (k) {+              return function (m) {+                  var v = f(lookup(dictOrd)(k)(m));+                  if (v instanceof Data_Maybe.Nothing) {+                      return $$delete(dictOrd)(k)(m);+                  };+                  if (v instanceof Data_Maybe.Just) {+                      return insert(dictOrd)(k)(v.value0)(m);+                  };+                  throw new Error("Failed pattern match at Data.Map.Internal line 535, column 15 - line 537, column 25: " + [ v.constructor.name ]);+              };+          };+      };+  };+  exports["empty"] = empty;+  exports["insert"] = insert;+  exports["lookup"] = lookup;+  exports["delete"] = $$delete;+  exports["pop"] = pop;+  exports["member"] = member;+  exports["alter"] = alter;+  exports["keys"] = keys;+  exports["values"] = values;+  exports["functorMap"] = functorMap;+  exports["foldableMap"] = foldableMap;+})(PS["Data.Map.Internal"] = PS["Data.Map.Internal"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Monad_ST = PS["Control.Monad.ST"];+  var Control_Monad_ST_Internal = PS["Control.Monad.ST.Internal"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Array = PS["Data.Array"];+  var Data_Array_ST = PS["Data.Array.ST"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ordering = PS["Data.Ordering"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Data_Unit = PS["Data.Unit"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var toList = function (v) {+      return Data_Map_Internal.keys(v);+  };+  var foldableSet = new Data_Foldable.Foldable(function (dictMonoid) {+      return function (f) {+          return function ($59) {+              return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(toList($59));+          };+      };+  }, function (f) {+      return function (x) {+          return function ($60) {+              return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(x)(toList($60));+          };+      };+  }, function (f) {+      return function (x) {+          return function ($61) {+              return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(x)(toList($61));+          };+      };+  });+  exports["foldableSet"] = foldableSet;+})(PS["Data.Set"] = PS["Data.Set"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Set = PS["Data.Set"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];                 +  var keys = function ($0) {+      return Data_Functor["void"](Data_Map_Internal.functorMap)($0);+  };+  exports["keys"] = keys;+})(PS["Data.Map"] = PS["Data.Map"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Map = PS["Data.Map"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff_Class = PS["Effect.Aff.Class"];+  var Effect_Class = PS["Effect.Class"];+  var Halogen_Component_ChildPath = PS["Halogen.Component.ChildPath"];+  var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Prelude = PS["Prelude"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var action = function (act) {+      return act(Data_Unit.unit);+  };+  exports["action"] = action;+})(PS["Halogen.Query"] = PS["Halogen.Query"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Web_Event_Event = PS["Web.Event.Event"];+  var change = "change";+  exports["change"] = change;+})(PS["Web.HTML.Event.EventTypes"] = PS["Web.HTML.Event.EventTypes"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Web_Event_Event = PS["Web.Event.Event"];+  var click = "click";+  exports["click"] = click;+})(PS["Web.UIEvent.MouseEvent.EventTypes"] = PS["Web.UIEvent.MouseEvent.EventTypes"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Except = PS["Control.Monad.Except"];+  var Control_Monad_Except_Trans = PS["Control.Monad.Except.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Identity = PS["Data.Identity"];+  var Data_Maybe = PS["Data.Maybe"];+  var Foreign = PS["Foreign"];+  var Foreign_Index = PS["Foreign.Index"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Halogen_Query = PS["Halogen.Query"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_Clipboard_ClipboardEvent = PS["Web.Clipboard.ClipboardEvent"];+  var Web_Clipboard_ClipboardEvent_EventTypes = PS["Web.Clipboard.ClipboardEvent.EventTypes"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var Web_HTML_Event_DragEvent = PS["Web.HTML.Event.DragEvent"];+  var Web_HTML_Event_DragEvent_EventTypes = PS["Web.HTML.Event.DragEvent.EventTypes"];+  var Web_HTML_Event_EventTypes = PS["Web.HTML.Event.EventTypes"];+  var Web_TouchEvent_TouchEvent = PS["Web.TouchEvent.TouchEvent"];+  var Web_UIEvent_FocusEvent = PS["Web.UIEvent.FocusEvent"];+  var Web_UIEvent_FocusEvent_EventTypes = PS["Web.UIEvent.FocusEvent.EventTypes"];+  var Web_UIEvent_KeyboardEvent = PS["Web.UIEvent.KeyboardEvent"];+  var Web_UIEvent_KeyboardEvent_EventTypes = PS["Web.UIEvent.KeyboardEvent.EventTypes"];+  var Web_UIEvent_MouseEvent = PS["Web.UIEvent.MouseEvent"];+  var Web_UIEvent_MouseEvent_EventTypes = PS["Web.UIEvent.MouseEvent.EventTypes"];+  var Web_UIEvent_WheelEvent = PS["Web.UIEvent.WheelEvent"];+  var Web_UIEvent_WheelEvent_EventTypes = PS["Web.UIEvent.WheelEvent.EventTypes"];+  var mouseHandler = Unsafe_Coerce.unsafeCoerce;+  var input_ = function (f) {+      return function (v) {+          return Data_Maybe.Just.create(Halogen_Query.action(f));+      };+  };+  var input = function (f) {+      return function (x) {+          return Data_Maybe.Just.create(Halogen_Query.action(f(x)));+      };+  };+  var handler = function (et) {+      return function ($1) {+          return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_InputF.Query.create))($1));+      };+  };                                                       +  var onClick = function ($2) {+      return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($2));+  };                                                       +  var onSubmit = handler("submit");+  var addForeignPropHandler = function (key) {+      return function (prop) {+          return function (reader) {+              return function (f) {+                  var go = function (a) {+                      return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));+                  };+                  return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {+                      return Data_Either.either(Data_Function["const"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));+                  }));+              };+          };+      };+  };+  var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)("checked")(Foreign.readBoolean);              +  var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)("value")(Foreign.readString);+  exports["input"] = input;+  exports["input_"] = input_;+  exports["handler"] = handler;+  exports["onSubmit"] = onSubmit;+  exports["onClick"] = onClick;+  exports["onValueChange"] = onValueChange;+  exports["onChecked"] = onChecked;+})(PS["Halogen.HTML.Events"] = PS["Halogen.HTML.Events"] || {});+(function(exports) {+    "use strict";+  /* global Symbol */++  var hasArrayFrom = typeof Array.from === "function";+  var hasStringIterator =+    typeof Symbol !== "undefined" &&+    Symbol != null &&+    typeof Symbol.iterator !== "undefined" &&+    typeof String.prototype[Symbol.iterator] === "function";+  var hasFromCodePoint = typeof String.prototype.fromCodePoint === "function";+  var hasCodePointAt = typeof String.prototype.codePointAt === "function";++  exports._unsafeCodePointAt0 = function (fallback) {+    return hasCodePointAt+      ? function (str) { return str.codePointAt(0); }+      : fallback;+  };++  exports._singleton = function (fallback) {+    return hasFromCodePoint ? String.fromCodePoint : fallback;+  };++  exports._take = function (fallback) {+    return function (n) {+      if (hasStringIterator) {+        return function (str) {+          var accum = "";+          var iter = str[Symbol.iterator]();+          for (var i = 0; i < n; ++i) {+            var o = iter.next();+            if (o.done) return accum;+            accum += o.value;+          }+          return accum;+        };+      }+      return fallback(n);+    };+  };++  exports._toCodePointArray = function (fallback) {+    return function (unsafeCodePointAt0) {+      if (hasArrayFrom) {+        return function (str) {+          return Array.from(str, unsafeCodePointAt0);+        };+      }+      return fallback;+    };+  };+})(PS["Data.String.CodePoints"] = PS["Data.String.CodePoints"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Data.String.CodePoints"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Array = PS["Data.Array"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Bounded = PS["Data.Bounded"];+  var Data_Enum = PS["Data.Enum"];+  var Data_Eq = PS["Data.Eq"];+  var Data_EuclideanRing = PS["Data.EuclideanRing"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Int = PS["Data.Int"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Ring = PS["Data.Ring"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Show = PS["Data.Show"];+  var Data_String_CodeUnits = PS["Data.String.CodeUnits"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Data_String_Unsafe = PS["Data.String.Unsafe"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unfoldable = PS["Data.Unfoldable"];+  var Prelude = PS["Prelude"];+  var unsurrogate = function (lead) {+      return function (trail) {+          return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;+      };+  }; +  var isTrail = function (cu) {+      return 56320 <= cu && cu <= 57343;+  };+  var isLead = function (cu) {+      return 55296 <= cu && cu <= 56319;+  };+  var uncons = function (s) {+      var v = Data_String_CodeUnits.length(s);+      if (v === 0) {+          return Data_Maybe.Nothing.value;+      };+      if (v === 1) {+          return new Data_Maybe.Just({+              head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),+              tail: ""+          });+      };+      var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));+      var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));+      var $21 = isLead(cu0) && isTrail(cu1);+      if ($21) {+          return new Data_Maybe.Just({+              head: unsurrogate(cu0)(cu1),+              tail: Data_String_CodeUnits.drop(2)(s)+          });+      };+      return new Data_Maybe.Just({+          head: cu0,+          tail: Data_String_CodeUnits.drop(1)(s)+      });+  };+  var unconsButWithTuple = function (s) {+      return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {+          return new Data_Tuple.Tuple(v.head, v.tail);+      })(uncons(s));+  };+  var toCodePointArrayFallback = function (s) {+      return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);+  };+  var unsafeCodePointAt0Fallback = function (s) {+      var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));+      var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));+      var $25 = isLead(cu0) && isTrail(cu1);+      if ($25) {+          return unsurrogate(cu0)(cu1);+      };+      return cu0;+  };+  var unsafeCodePointAt0 = $foreign._unsafeCodePointAt0(unsafeCodePointAt0Fallback);+  var toCodePointArray = $foreign._toCodePointArray(toCodePointArrayFallback)(unsafeCodePointAt0);+  var length = function ($51) {+      return Data_Array.length(toCodePointArray($51));+  };+  var fromCharCode = function ($52) {+      return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($52));+  };+  var singletonFallback = function (v) {+      if (v <= 65535) {+          return fromCharCode(v);+      };+      var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;+      var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;+      return fromCharCode(lead) + fromCharCode(trail);+  };                                                                       +  var singleton = $foreign._singleton(singletonFallback);+  var takeFallback = function (n) {+      return function (v) {+          if (n < 1) {+              return "";+          };+          var v1 = uncons(v);+          if (v1 instanceof Data_Maybe.Just) {+              return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);+          };+          return v;+      };+  };+  var take = $foreign._take(takeFallback);+  var drop = function (n) {+      return function (s) {+          return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);+      };+  };+  exports["singleton"] = singleton;+  exports["toCodePointArray"] = toCodePointArray;+  exports["uncons"] = uncons;+  exports["length"] = length;+  exports["take"] = take;+  exports["drop"] = drop;+})(PS["Data.String.CodePoints"] = PS["Data.String.CodePoints"] || {});+(function(exports) {+    "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Maybe_Trans = PS["Control.Monad.Maybe.Trans"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Array = PS["Data.Array"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_String = PS["Data.String"];+  var Data_String_CodePoints = PS["Data.String.CodePoints"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect = PS["Effect"];+  var Global_Unsafe = PS["Global.Unsafe"];+  var Halogen_HTML = PS["Halogen.HTML"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Partial_Unsafe = PS["Partial.Unsafe"];+  var Prelude = PS["Prelude"];+  var Web_DOM = PS["Web.DOM"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_NodeList = PS["Web.DOM.NodeList"];+  var Web_DOM_NonElementParentNode = PS["Web.DOM.NonElementParentNode"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_HTML = PS["Web.HTML"];+  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var Web_HTML_Location = PS["Web.HTML.Location"];+  var Web_HTML_Window = PS["Web.HTML.Window"];                 ++  // Halogen+  var class_ = function ($54) {+      return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($54));+  };+  var attr = function (a) {+      return Halogen_HTML_Properties.attr(a);+  };+  var _querySelectorAll = function (s) {+      return function (n) {+          return Control_Bind.bindFlipped(Effect.bindEffect)(Web_DOM_NodeList.toArray)(Web_DOM_ParentNode.querySelectorAll(s)(Web_DOM_Element.toParentNode(n)));+      };+  };+  var _querySelector = function (s) {+      return function (n) {+          return Web_DOM_ParentNode.querySelector(s)(Web_DOM_Element.toParentNode(n));+      };+  };+  var _queryBoth$prime$prime = function (v) {+      return function (v1) {+          return function (f) {+              return function __do() {+                  var v2 = _querySelectorAll(v.value0)(v.value1)();+                  var v3 = _querySelectorAll(v1.value0)(v1.value1)();+                  return f(v2)(v3)();+              };+          };+      };+  };+  var _queryBoth$prime = function (v) {+      return function (v1) {+          return function (f) {+              return function __do() {+                  var v2 = _querySelector(v.value0)(v.value1)();+                  var v3 = _querySelectorAll(v1.value0)(v1.value1)();+                  return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v2)(function (a) {+                      return f(a)(v3);+                  })();+              };+          };+      };+  };++  // Util+  var _queryBoth = function (v) {+      return function (v1) {+          return function (f) {+              return function __do() {+                  var v2 = _querySelector(v.value0)(v.value1)();+                  var v3 = _querySelector(v1.value0)(v1.value1)();+                  return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v2)(function (a) {+                      return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v3)(function (b) {+                          return f(a)(b);+                      });+                  })();+              };+          };+      };+  };+  var _parseQueryString = function (srh) {+      var decode = function ($55) {+          return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll("+")(" ")($55));+      };+      var go = function (kv) {+          var v = Data_String_Common.split("=")(kv);+          if (v.length === 1) {+              return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));+          };+          if (v.length === 2) {+              return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));+          };+          return Data_Maybe.Nothing.value;+      };+      var qs = (function () {+          var srh$prime = Data_String_CodePoints.take(1)(srh);+          var $51 = srh$prime === "#" || srh$prime === "?";+          if ($51) {+              return Data_String_CodePoints.drop(1)(srh);+          };+          return srh;+      })();+      return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {+          return v !== "";+      })(Data_String_Common.split("&")(qs)));+  };+  var _mt_pure = function ($56) {+      return Control_Monad_Maybe_Trans.MaybeT(Control_Applicative.pure(Effect.applicativeEffect)($56));+  };+  var _mt = Control_Monad_Maybe_Trans.MaybeT;+  var _lookupQueryStringValue = function (qs) {+      return function (k) {+          return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($57) {+              return (function (v) {+                  return v === k;+              })(Data_Tuple.fst($57));+          })(qs)));+      };+  };+  var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);+  var _getElementById = function (s) {+      return function ($58) {+          return Web_DOM_NonElementParentNode.getElementById(s)(Web_DOM_Document.toNonElementParentNode(Web_HTML_HTMLDocument.toDocument($58)));+      };+  };+  var _fromNode = function (e) {+      return Data_Maybe.fromJust()(Web_DOM_Element.fromNode(e));+  };+  var _fromElement = function (e) {+      return Data_Maybe.fromJust()(Web_HTML_HTMLElement.fromElement(e));+  };+  var _doc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window);+  var _curQuerystring = function __do() {+      var v = _loc();+      var v1 = Web_HTML_Location.search(v)();+      return _parseQueryString(v1);+  };+  var _body = Control_Bind.bindFlipped(Effect.bindEffect)(function ($59) {+      return Control_Applicative.pure(Effect.applicativeEffect)(Data_Maybe.fromJust()($59));+  })(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_HTMLDocument.body)(_doc));+  exports["class_"] = class_;+  exports["attr"] = attr;+  exports["_queryBoth"] = _queryBoth;+  exports["_queryBoth'"] = _queryBoth$prime;+  exports["_queryBoth''"] = _queryBoth$prime$prime;+  exports["_querySelector"] = _querySelector;+  exports["_querySelectorAll"] = _querySelectorAll;+  exports["_fromNode"] = _fromNode;+  exports["_fromElement"] = _fromElement;+  exports["_getElementById"] = _getElementById;+  exports["_doc"] = _doc;+  exports["_loc"] = _loc;+  exports["_curQuerystring"] = _curQuerystring;+  exports["_parseQueryString"] = _parseQueryString;+  exports["_lookupQueryStringValue"] = _lookupQueryStringValue;+  exports["_body"] = _body;+  exports["_mt"] = _mt;+  exports["_mt_pure"] = _mt_pure;+})(PS["Util"] = PS["Util"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var App = PS["App"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];+  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];+  var Data_Array = PS["Data.Array"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_String = PS["Data.String"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Aff_Class = PS["Effect.Aff.Class"];+  var Effect_Class = PS["Effect.Class"];+  var Globals = PS["Globals"];+  var Halogen = PS["Halogen"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_HTML = PS["Halogen.HTML"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];+  var Halogen_HTML_Events = PS["Halogen.HTML.Events"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Model = PS["Model"];+  var Prelude = PS["Prelude"];+  var Util = PS["Util"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var Web_HTML = PS["Web.HTML"];+  var Web_HTML_Location = PS["Web.HTML.Location"];                 +  var Eurl = (function () {+      function Eurl(value0) {+          this.value0 = value0;+      };+      Eurl.create = function (value0) {+          return new Eurl(value0);+      };+      return Eurl;+  })();+  var Etitle = (function () {+      function Etitle(value0) {+          this.value0 = value0;+      };+      Etitle.create = function (value0) {+          return new Etitle(value0);+      };+      return Etitle;+  })();+  var Edescription = (function () {+      function Edescription(value0) {+          this.value0 = value0;+      };+      Edescription.create = function (value0) {+          return new Edescription(value0);+      };+      return Edescription;+  })();+  var Etags = (function () {+      function Etags(value0) {+          this.value0 = value0;+      };+      Etags.create = function (value0) {+          return new Etags(value0);+      };+      return Etags;+  })();+  var Eprivate = (function () {+      function Eprivate(value0) {+          this.value0 = value0;+      };+      Eprivate.create = function (value0) {+          return new Eprivate(value0);+      };+      return Eprivate;+  })();+  var Etoread = (function () {+      function Etoread(value0) {+          this.value0 = value0;+      };+      Etoread.create = function (value0) {+          return new Etoread(value0);+      };+      return Etoread;+  })();+  var BEditField = (function () {+      function BEditField(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BEditField.create = function (value0) {+          return function (value1) {+              return new BEditField(value0, value1);+          };+      };+      return BEditField;+  })();+  var BEditSubmit = (function () {+      function BEditSubmit(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BEditSubmit.create = function (value0) {+          return function (value1) {+              return new BEditSubmit(value0, value1);+          };+      };+      return BEditSubmit;+  })();+  var BDeleteAsk = (function () {+      function BDeleteAsk(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BDeleteAsk.create = function (value0) {+          return function (value1) {+              return new BDeleteAsk(value0, value1);+          };+      };+      return BDeleteAsk;+  })();+  var BDestroy = (function () {+      function BDestroy(value0) {+          this.value0 = value0;+      };+      BDestroy.create = function (value0) {+          return new BDestroy(value0);+      };+      return BDestroy;+  })();+  var addbmark = function (b$prime) {+      var render = function (v) {+          var toTextarea = function ($59) {+              return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {+                  return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];+              })(Data_String_Common.split("\x0a")($59)));+          };+          var mmoment = Globals.mmoment8601(v.bm.time);+          var editField = function (f) {+              return function ($60) {+                  return Halogen_HTML_Events.input(BEditField.create)(f($60));+              };+          };+          var display_exists = Halogen_HTML_Elements.div([ Util.class_("alert") ])([ Halogen_HTML_Core.text("previously saved\xa0"), Halogen_HTML_Elements.span([ Util.class_("link f7 dib gray pr3"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_("edit_links dib ml1") ])([ Halogen_HTML_Elements.div([ Util.class_("delete_link di") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_("delete") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Core.text("delete") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_("confirm red") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr("hidden")("hidden") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text("cancel\xa0/\xa0") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_("red") ])([ Halogen_HTML_Core.text("destroy") ]) ]) ]) ]) ]);+          var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.table([ Util.class_("w-100") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_("w1") ])([  ]), Halogen_HTML_Elements.td_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("url") ])([ Halogen_HTML_Core.text("URL") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_("url"), Util.class_("w-100 mv1"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name("url"), Halogen_HTML_Properties.autofocus(Data_String_Common["null"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("title") ])([ Halogen_HTML_Core.text("title") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_("title"), Util.class_("w-100 mv1"), Halogen_HTML_Properties.name("title"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("description") ])([ Halogen_HTML_Core.text("description") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_("w-100 mt1 mid-gray"), Halogen_HTML_Properties.id_("description"), Halogen_HTML_Properties.name("description"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("tags") ])([ Halogen_HTML_Core.text("tags") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_("tags"), Util.class_("w-100 mv1"), Halogen_HTML_Properties.name("tags"), Halogen_HTML_Properties.autocomplete(false), Util.attr("autocapitalize")("off"), Halogen_HTML_Properties.autofocus(!Data_String_Common["null"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("private") ])([ Halogen_HTML_Core.text("private") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_("private"), Util.class_("private pointer"), Halogen_HTML_Properties.name("private"), Halogen_HTML_Properties.checked(v["edit_bm"]["private"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("toread") ])([ Halogen_HTML_Core.text("read later") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_("toread"), Util.class_("toread pointer"), Halogen_HTML_Properties.name("toread"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([  ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"), Halogen_HTML_Properties.value((function () {+              var $21 = v.bm.bid > 0;+              if ($21) {+                  return "update bookmark";+              };+              return "add bookmark";+          })()) ]) ]) ]) ]) ]) ]);+          var display_destroyed = Halogen_HTML_Elements.p([ Util.class_("red") ])([ Halogen_HTML_Core.text("you killed this bookmark") ]);+          return Halogen_HTML_Elements.div_([ (function () {+              var $22 = !v.destroyed;+              if ($22) {+                  return display_edit;+              };+              return display_destroyed;+          })() ]);+      };+      var mkState = function (b) {+          return {+              bm: b,+              edit_bm: b,+              deleteAsk: false,+              destroyed: false+          };+      };+      var $$eval = function (v) {+          if (v instanceof BDeleteAsk) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {+                  var $26 = {};+                  for (var $27 in v1) {+                      if ({}.hasOwnProperty.call(v1, $27)) {+                          $26[$27] = v1[$27];+                      };+                  };+                  $26.deleteAsk = v.value0;+                  return $26;+              }))(function () {+                  return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+              });+          };+          if (v instanceof BDestroy) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {+                  return v1.bm.bid;+              }))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {+                          var $32 = {};+                          for (var $33 in v2) {+                              if ({}.hasOwnProperty.call(v2, $33)) {+                                  $32[$33] = v2[$33];+                              };+                          };+                          $32.destroyed = true;+                          return $32;+                      }))(function () {+                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);+                      });+                  });+              });+          };+          if (v instanceof BEditField) {+              var modifyEdit = function (dictMonadState) {+                  return function (g) {+                      return Control_Monad_State_Class.modify_(dictMonadState)(function (s) {+                          var $36 = {};+                          for (var $37 in s) {+                              if ({}.hasOwnProperty.call(s, $37)) {+                                  $36[$37] = s[$37];+                              };+                          };+                          $36.edit_bm = g(s.edit_bm);+                          return $36;+                      });+                  };+              };+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(modifyEdit(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                  if (v.value0 instanceof Eurl) {+                      return function (v1) {+                          return {+                              url: v.value0.value0,+                              title: v1.title,+                              description: v1.description,+                              tags: v1.tags,+                              "private": v1["private"],+                              toread: v1.toread,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  if (v.value0 instanceof Etitle) {+                      return function (v1) {+                          return {+                              url: v1.url,+                              title: v.value0.value0,+                              description: v1.description,+                              tags: v1.tags,+                              "private": v1["private"],+                              toread: v1.toread,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  if (v.value0 instanceof Edescription) {+                      return function (v1) {+                          return {+                              url: v1.url,+                              title: v1.title,+                              description: v.value0.value0,+                              tags: v1.tags,+                              "private": v1["private"],+                              toread: v1.toread,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  if (v.value0 instanceof Etags) {+                      return function (v1) {+                          return {+                              url: v1.url,+                              title: v1.title,+                              description: v1.description,+                              tags: v.value0.value0,+                              "private": v1["private"],+                              toread: v1.toread,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  if (v.value0 instanceof Eprivate) {+                      return function (v1) {+                          return {+                              url: v1.url,+                              title: v1.title,+                              description: v1.description,+                              tags: v1.tags,+                              "private": v.value0.value0,+                              toread: v1.toread,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  if (v.value0 instanceof Etoread) {+                      return function (v1) {+                          return {+                              url: v1.url,+                              title: v1.title,+                              description: v1.description,+                              tags: v1.tags,+                              "private": v1["private"],+                              toread: v.value0.value0,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  throw new Error("Failed pattern match at Component.Add line 156, column 18 - line 162, column 36: " + [ v.value0.constructor.name ]);+              })()))(function () {+                  return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+              });+          };+          if (v instanceof BEditSubmit) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {+                  return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1.edit_bm))))(function () {+                          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $49 = {};+                              for (var $50 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $50)) {+                                      $49[$50] = v1[$50];+                                  };+                              };+                              $49.bm = v1.edit_bm;+                              return $49;+                          })()))(function () {+                              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util._loc))(function (v2) {+                                  return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {+                                      return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util._curQuerystring))(function (v4) {+                                          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {+                                              var v5 = Util._lookupQueryStringValue(v4)("next");+                                              if (v5 instanceof Data_Maybe.Just) {+                                                  return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));+                                              };+                                              return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));+                                          })())(function () {+                                              return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                                          });+                                      });+                                  });+                              });+                          });+                      });+                  });+              });+          };+          throw new Error("Failed pattern match at Component.Add line 146, column 3 - line 146, column 58: " + [ v.constructor.name ]);+      };+      var app = Globals["app'"](Data_Unit.unit);+      return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({+          initialState: Data_Function["const"](mkState(b$prime)),+          render: render,+          "eval": $$eval,+          receiver: Data_Function["const"](Data_Maybe.Nothing.value)+      });+  };+  exports["BEditField"] = BEditField;+  exports["BEditSubmit"] = BEditSubmit;+  exports["BDeleteAsk"] = BDeleteAsk;+  exports["BDestroy"] = BDestroy;+  exports["Eurl"] = Eurl;+  exports["Etitle"] = Etitle;+  exports["Edescription"] = Edescription;+  exports["Etags"] = Etags;+  exports["Eprivate"] = Eprivate;+  exports["Etoread"] = Etoread;+  exports["addbmark"] = addbmark;+})(PS["Component.Add"] = PS["Component.Add"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var App = PS["App"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];+  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];+  var Data_Array = PS["Data.Array"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_String = PS["Data.String"];+  var Data_String_CodePoints = PS["Data.String.CodePoints"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Aff_Class = PS["Effect.Aff.Class"];+  var Effect_Class = PS["Effect.Class"];+  var Globals = PS["Globals"];+  var Halogen = PS["Halogen"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_HTML = PS["Halogen.HTML"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];+  var Halogen_HTML_Events = PS["Halogen.HTML.Events"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Model = PS["Model"];+  var Prelude = PS["Prelude"];+  var Util = PS["Util"];+  var Web_Event_Event = PS["Web.Event.Event"];                 +  var Eurl = (function () {+      function Eurl(value0) {+          this.value0 = value0;+      };+      Eurl.create = function (value0) {+          return new Eurl(value0);+      };+      return Eurl;+  })();+  var Etitle = (function () {+      function Etitle(value0) {+          this.value0 = value0;+      };+      Etitle.create = function (value0) {+          return new Etitle(value0);+      };+      return Etitle;+  })();+  var Edescription = (function () {+      function Edescription(value0) {+          this.value0 = value0;+      };+      Edescription.create = function (value0) {+          return new Edescription(value0);+      };+      return Edescription;+  })();+  var Etags = (function () {+      function Etags(value0) {+          this.value0 = value0;+      };+      Etags.create = function (value0) {+          return new Etags(value0);+      };+      return Etags;+  })();+  var Eprivate = (function () {+      function Eprivate(value0) {+          this.value0 = value0;+      };+      Eprivate.create = function (value0) {+          return new Eprivate(value0);+      };+      return Eprivate;+  })();+  var Etoread = (function () {+      function Etoread(value0) {+          this.value0 = value0;+      };+      Etoread.create = function (value0) {+          return new Etoread(value0);+      };+      return Etoread;+  })();+  var BStar = (function () {+      function BStar(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BStar.create = function (value0) {+          return function (value1) {+              return new BStar(value0, value1);+          };+      };+      return BStar;+  })();+  var BDeleteAsk = (function () {+      function BDeleteAsk(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BDeleteAsk.create = function (value0) {+          return function (value1) {+              return new BDeleteAsk(value0, value1);+          };+      };+      return BDeleteAsk;+  })();+  var BDestroy = (function () {+      function BDestroy(value0) {+          this.value0 = value0;+      };+      BDestroy.create = function (value0) {+          return new BDestroy(value0);+      };+      return BDestroy;+  })();+  var BEdit = (function () {+      function BEdit(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BEdit.create = function (value0) {+          return function (value1) {+              return new BEdit(value0, value1);+          };+      };+      return BEdit;+  })();+  var BEditField = (function () {+      function BEditField(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BEditField.create = function (value0) {+          return function (value1) {+              return new BEditField(value0, value1);+          };+      };+      return BEditField;+  })();+  var BEditSubmit = (function () {+      function BEditSubmit(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      BEditSubmit.create = function (value0) {+          return function (value1) {+              return new BEditSubmit(value0, value1);+          };+      };+      return BEditSubmit;+  })();+  var BMarkRead = (function () {+      function BMarkRead(value0) {+          this.value0 = value0;+      };+      BMarkRead.create = function (value0) {+          return new BMarkRead(value0);+      };+      return BMarkRead;+  })();+  var BNotifyRemove = (function () {+      function BNotifyRemove() {++      };+      BNotifyRemove.value = new BNotifyRemove();+      return BNotifyRemove;+  })();+  var bmark = function (b$prime) {+      var onEvent = function (v) {+          if (v instanceof BStar) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(v1.bm.bid)((function () {+                      if (v.value0) {+                          return App.Star.value;+                      };+                      return App.UnStar.value;+                  })())))(function () {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                          var $33 = {};+                          for (var $34 in v1) {+                              if ({}.hasOwnProperty.call(v1, $34)) {+                                  $33[$34] = v1[$34];+                              };+                          };+                          $33.bm = (function () {+                              var $27 = {};+                              for (var $28 in v1.bm) {+                                  if ({}.hasOwnProperty.call(v1.bm, $28)) {+                                      $27[$28] = v1["bm"][$28];+                                  };+                              };+                              $27.selected = v.value0;+                              return $27;+                          })();+                          $33.edit_bm = (function () {+                              var $30 = {};+                              for (var $31 in v1.edit_bm) {+                                  if ({}.hasOwnProperty.call(v1.edit_bm, $31)) {+                                      $30[$31] = v1["edit_bm"][$31];+                                  };+                              };+                              $30.selected = v.value0;+                              return $30;+                          })();+                          return $33;+                      })()))(function () {+                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                      });+                  });+              });+          };+          if (v instanceof BDeleteAsk) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {+                  var $38 = {};+                  for (var $39 in v1) {+                      if ({}.hasOwnProperty.call(v1, $39)) {+                          $38[$39] = v1[$39];+                      };+                  };+                  $38.deleteAsk = v.value0;+                  return $38;+              }))(function () {+                  return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+              });+          };+          if (v instanceof BDestroy) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {+                  return v1.bm.bid;+              }))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query_HalogenM.raise(BNotifyRemove.value))(function () {+                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);+                      });+                  });+              });+          };+          if (v instanceof BMarkRead) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(v1.bm.bid))))(function () {+                      var newState = (function () {+                          var $49 = {};+                          for (var $50 in v1) {+                              if ({}.hasOwnProperty.call(v1, $50)) {+                                  $49[$50] = v1[$50];+                              };+                          };+                          $49.bm = (function () {+                              var $46 = {};+                              for (var $47 in v1.bm) {+                                  if ({}.hasOwnProperty.call(v1.bm, $47)) {+                                      $46[$47] = v1["bm"][$47];+                                  };+                              };+                              $46.toread = false;+                              return $46;+                          })();+                          return $49;+                      })();+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)(newState))(function () {+                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);+                      });+                  });+              });+          };+          if (v instanceof BEdit) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                  var newState = (function () {+                      var $54 = {};+                      for (var $55 in v1) {+                          if ({}.hasOwnProperty.call(v1, $55)) {+                              $54[$55] = v1[$55];+                          };+                      };+                      $54.edit = v.value0;+                      $54.edit_bm = v1.bm;+                      return $54;+                  })();+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)(newState))(function () {+                      return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                  });+              });+          };+          if (v instanceof BEditField) {+              var modifyEdit = function (dictMonadState) {+                  return function (g) {+                      return Control_Monad_State_Class.modify_(dictMonadState)(function (s) {+                          var $59 = {};+                          for (var $60 in s) {+                              if ({}.hasOwnProperty.call(s, $60)) {+                                  $59[$60] = s[$60];+                              };+                          };+                          $59.edit_bm = g(s.edit_bm);+                          return $59;+                      });+                  };+              };+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(modifyEdit(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                  if (v.value0 instanceof Eurl) {+                      return function (v1) {+                          return {+                              url: v.value0.value0,+                              title: v1.title,+                              description: v1.description,+                              tags: v1.tags,+                              "private": v1["private"],+                              toread: v1.toread,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  if (v.value0 instanceof Etitle) {+                      return function (v1) {+                          return {+                              url: v1.url,+                              title: v.value0.value0,+                              description: v1.description,+                              tags: v1.tags,+                              "private": v1["private"],+                              toread: v1.toread,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  if (v.value0 instanceof Edescription) {+                      return function (v1) {+                          return {+                              url: v1.url,+                              title: v1.title,+                              description: v.value0.value0,+                              tags: v1.tags,+                              "private": v1["private"],+                              toread: v1.toread,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  if (v.value0 instanceof Etags) {+                      return function (v1) {+                          return {+                              url: v1.url,+                              title: v1.title,+                              description: v1.description,+                              tags: v.value0.value0,+                              "private": v1["private"],+                              toread: v1.toread,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  if (v.value0 instanceof Eprivate) {+                      return function (v1) {+                          return {+                              url: v1.url,+                              title: v1.title,+                              description: v1.description,+                              tags: v1.tags,+                              "private": v.value0.value0,+                              toread: v1.toread,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  if (v.value0 instanceof Etoread) {+                      return function (v1) {+                          return {+                              url: v1.url,+                              title: v1.title,+                              description: v1.description,+                              tags: v1.tags,+                              "private": v1["private"],+                              toread: v.value0.value0,+                              bid: v1.bid,+                              selected: v1.selected,+                              time: v1.time+                          };+                      };+                  };+                  throw new Error("Failed pattern match at Component.BMark line 229, column 18 - line 235, column 36: " + [ v.value0.constructor.name ]);+              })()))(function () {+                  return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+              });+          };+          if (v instanceof BEditSubmit) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {+                  return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1.edit_bm))))(function () {+                          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $72 = {};+                              for (var $73 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $73)) {+                                      $72[$73] = v1[$73];+                                  };+                              };+                              $72.edit = false;+                              $72.bm = v1.edit_bm;+                              return $72;+                          })()))(function () {+                              return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                          });+                      });+                  });+              });+          };+          throw new Error("Failed pattern match at Component.BMark line 191, column 3 - line 191, column 65: " + [ v.constructor.name ]);+      };+      var mkState = function (b) {+          return {+              bm: b,+              edit_bm: b,+              deleteAsk: false,+              edit: false+          };+      };+      var app = Globals["app'"](Data_Unit.unit);+      var render = function (v) {+          var toTextarea = function (input) {+              return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {+                  return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];+              })(Data_String_Common.split("\x0a")(input)));+          };+          var star = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_("star fl pointer" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(" selected")) ])([ Halogen_HTML_Elements.button([ Util.class_("moon-gray"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BStar.create(!v.bm.selected))) ])([ Halogen_HTML_Core.text("\u272d") ]) ]) ]);+          var mmoment = Globals.mmoment8601(v.bm.time);+          var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_("edit_links di") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(true))), Util.class_("edit light-silver hover-blue") ])([ Halogen_HTML_Core.text("edit\xa0\xa0") ]), Halogen_HTML_Elements.div([ Util.class_("delete_link di") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_("delete light-silver hover-blue" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(" dn")) ])([ Halogen_HTML_Core.text("delete") ]), Halogen_HTML_Elements.span([ Util.class_("confirm red" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(" dn")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text("cancel\xa0/\xa0") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_("red") ])([ Halogen_HTML_Core.text("destroy") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_("read di") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text("\xa0\xa0"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BMarkRead.create)), Util.class_("mark_read") ])([ Halogen_HTML_Core.text("mark as read") ]) ])) ]);+          var linkToFilterTag = function (tag) {+              return app.userR + ("/t:" + tag);+          };+          var linkToFilterSingle = function (bid) {+              return app.userR + ("/b:" + Data_Show.show(Data_Show.showInt)(bid));+          };+          var editField = function (f) {+              return function ($82) {+                  return Halogen_HTML_Events.input(BEditField.create)(f($82));+              };+          };+          var display_edit = [ Halogen_HTML_Elements.div([ Util.class_("edit_bookmark_form pa2 bg-white") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_("url w-100 mt2 mb1 pt1 f7 edit_form_input"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name("url"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_("title w-100 mt2 mb1 pt1 f7 edit_form_input"), Halogen_HTML_Properties.name("title"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_("mt2 mb1") ])([ Halogen_HTML_Core.text(" description:") ]), Halogen_HTML_Elements.textarea([ Util.class_("description w-100 mt2 mb1 pt1 f7 edit_form_input"), Halogen_HTML_Properties.name("description"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_("tags_input_box") ])([ Halogen_HTML_Elements.p_([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(" tags:") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_("tags w-100 mt2 mb1 pt1 f7 edit_form_input"), Halogen_HTML_Properties.name("tags"), Halogen_HTML_Properties.autocomplete(false), Util.attr("autocapitalize")("off"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]), Halogen_HTML_Elements.br_ ]) ]), Halogen_HTML_Elements.div([ Util.class_("edit_form_checkboxes mv3") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_("private pointer"), Halogen_HTML_Properties.id_("edit_private"), Halogen_HTML_Properties.name("private"), Halogen_HTML_Properties.checked(v["edit_bm"]["private"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("edit_private"), Util.class_("mr2") ])([ Halogen_HTML_Core.text("private") ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_("toread pointer"), Halogen_HTML_Properties.id_("edit_toread"), Halogen_HTML_Properties.name("toread"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.label([ Halogen_HTML_Properties["for"]("edit_toread") ])([ Halogen_HTML_Core.text("toread") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"), Halogen_HTML_Properties.value("save") ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"), Halogen_HTML_Properties.value("cancel"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(false))) ]) ]) ]) ];+          var display = [ Halogen_HTML_Elements.div([ Util.class_("display") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target("_blank"), Util.class_("link f5 lh-title" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(" unread")) ])([ Halogen_HTML_Core.text((function () {+              var $78 = Data_String_Common["null"](v.bm.title);+              if ($78) {+                  return "[no title]";+              };+              return v.bm.title;+          })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_("link f7 gray hover-blue") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_("description mt1 mid-gray") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_("tags") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common["null"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {+              return Halogen_HTML_Elements.a([ Util.class_("link tag mr1" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === ".")(" private")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);+          })(Data_String_Common.split(" ")(v.bm.tags))), Halogen_HTML_Elements.a([ Util.class_("link f7 dib gray w4"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.bid)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment)) ]) ])(links)) ];+          return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_("bookmark w-100 mw7 pa1 mb3" + Data_Monoid.guard(Data_Monoid.monoidString)(v["bm"]["private"])(" private")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {+              if (v.edit) {+                  return display_edit;+              };+              return display;+          })()));+      };+      return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({+          initialState: Data_Function["const"](mkState(b$prime)),+          render: render,+          "eval": onEvent,+          receiver: Data_Function["const"](Data_Maybe.Nothing.value)+      });+  };+  exports["BStar"] = BStar;+  exports["BDeleteAsk"] = BDeleteAsk;+  exports["BDestroy"] = BDestroy;+  exports["BEdit"] = BEdit;+  exports["BEditField"] = BEditField;+  exports["BEditSubmit"] = BEditSubmit;+  exports["BMarkRead"] = BMarkRead;+  exports["Eurl"] = Eurl;+  exports["Etitle"] = Etitle;+  exports["Edescription"] = Edescription;+  exports["Etags"] = Etags;+  exports["Eprivate"] = Eprivate;+  exports["Etoread"] = Etoread;+  exports["BNotifyRemove"] = BNotifyRemove;+  exports["bmark"] = bmark;+})(PS["Component.BMark"] = PS["Component.BMark"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Component_BMark = PS["Component.BMark"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Data_Array = PS["Data.Array"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff = PS["Effect.Aff"];+  var Halogen = PS["Halogen"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_HTML = PS["Halogen.HTML"];+  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];+  var Halogen_HTML_Events = PS["Halogen.HTML.Events"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Model = PS["Model"];+  var Prelude = PS["Prelude"];                 +  var HandleBMessage = (function () {+      function HandleBMessage(value0, value1, value2) {+          this.value0 = value0;+          this.value1 = value1;+          this.value2 = value2;+      };+      HandleBMessage.create = function (value0) {+          return function (value1) {+              return function (value2) {+                  return new HandleBMessage(value0, value1, value2);+              };+          };+      };+      return HandleBMessage;+  })();+  var blist = function (st) {+      var render = function (bms) {+          var renderBookmark = function (b) {+              return Halogen_HTML.slot(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(Halogen_HTML_Events.input(HandleBMessage.create(b.bid)));+          };+          return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderBookmark)(bms));+      };+      var $$eval = function (v) {+          var removeBookmark = function (bookmarkId) {+              return Data_Array.filter(function (b) {+                  return b.bid !== bookmarkId;+              });+          };+          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(removeBookmark(v.value0)))(function () {+              return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value2);+          });+      };+      return Halogen_Component.parentComponent(Data_Ord.ordInt)({+          initialState: Data_Function["const"](st),+          render: render,+          "eval": $$eval,+          receiver: Data_Function["const"](Data_Maybe.Nothing.value)+      });+  };+  exports["HandleBMessage"] = HandleBMessage;+  exports["blist"] = blist;+})(PS["Component.BList"] = PS["Component.BList"] || {});+(function(exports) {+    "use strict";+  var App = PS["App"];+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_State_Class = PS["Control.Monad.State.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var DOM_HTML_Indexed_ButtonType = PS["DOM.HTML.Indexed.ButtonType"];+  var DOM_HTML_Indexed_InputType = PS["DOM.HTML.Indexed.InputType"];+  var Data_Argonaut = PS["Data.Argonaut"];+  var Data_Argonaut_Core = PS["Data.Argonaut.Core"];+  var Data_Array = PS["Data.Array"];+  var Data_Either = PS["Data.Either"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Int = PS["Data.Int"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Monoid = PS["Data.Monoid"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semigroup = PS["Data.Semigroup"];+  var Data_Show = PS["Data.Show"];+  var Data_String = PS["Data.String"];+  var Data_String_CodePoints = PS["Data.String.CodePoints"];+  var Data_String_Common = PS["Data.String.Common"];+  var Data_String_Pattern = PS["Data.String.Pattern"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Aff_Class = PS["Effect.Aff.Class"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Globals = PS["Globals"];+  var Halogen = PS["Halogen"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_HTML = PS["Halogen.HTML"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_HTML_Elements = PS["Halogen.HTML.Elements"];+  var Halogen_HTML_Events = PS["Halogen.HTML.Events"];+  var Halogen_HTML_Properties = PS["Halogen.HTML.Properties"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Model = PS["Model"];+  var Prelude = PS["Prelude"];+  var Util = PS["Util"];+  var Web_Event_Event = PS["Web.Event.Event"];+  var Web_HTML = PS["Web.HTML"];+  var Web_HTML_Location = PS["Web.HTML.Location"];++  // | FormField Edits+  var Etitle = (function () {+      function Etitle(value0) {+          this.value0 = value0;+      };+      Etitle.create = function (value0) {+          return new Etitle(value0);+      };+      return Etitle;+  })();++  // | FormField Edits+  var Etext = (function () {+      function Etext(value0) {+          this.value0 = value0;+      };+      Etext.create = function (value0) {+          return new Etext(value0);+      };+      return Etext;+  })();+  var NNop = (function () {+      function NNop(value0) {+          this.value0 = value0;+      };+      NNop.create = function (value0) {+          return new NNop(value0);+      };+      return NNop;+  })();+  var NEditField = (function () {+      function NEditField(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      NEditField.create = function (value0) {+          return function (value1) {+              return new NEditField(value0, value1);+          };+      };+      return NEditField;+  })();+  var NEditSubmit = (function () {+      function NEditSubmit(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      NEditSubmit.create = function (value0) {+          return function (value1) {+              return new NEditSubmit(value0, value1);+          };+      };+      return NEditSubmit;+  })();+  var NEdit = (function () {+      function NEdit(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      NEdit.create = function (value0) {+          return function (value1) {+              return new NEdit(value0, value1);+          };+      };+      return NEdit;+  })();+  var NDeleteAsk = (function () {+      function NDeleteAsk(value0, value1) {+          this.value0 = value0;+          this.value1 = value1;+      };+      NDeleteAsk.create = function (value0) {+          return function (value1) {+              return new NDeleteAsk(value0, value1);+          };+      };+      return NDeleteAsk;+  })();+  var NDestroy = (function () {+      function NDestroy(value0) {+          this.value0 = value0;+      };+      NDestroy.create = function (value0) {+          return new NDestroy(value0);+      };+      return NDestroy;+  })();+  var nnote = function (st$prime) {+      var render = function (v) {+          var toTextarea = function (input) {+              return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {+                  return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];+              })(Data_String_Common.split("\x0a")(input)));+          };+          var mmoment = function (n) {+              return Globals.mmoment8601(n.created);+          };+          var renderNote = Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_("note w-100 mw7 pa1 mb2") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.div([ Util.class_("display") ])([ Halogen_HTML_Elements.div([ Util.class_("link f5 lh-title") ])([ Halogen_HTML_Core.text((function () {+              var $18 = Data_String_Common["null"](v.note.title);+              if ($18) {+                  return "[no title]";+              };+              return v.note.title;+          })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_("description mt1 mid-gray") ])(toTextarea(v.note.text)), Halogen_HTML_Elements.div([ Util.class_("link f7 dib gray w4"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment(v.note))) ]) ]) ])([ Halogen_HTML_Elements.div([ Util.class_("edit_links db mt3") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(true))), Util.class_("edit light-silver hover-blue") ])([ Halogen_HTML_Core.text("edit\xa0\xa0") ]), Halogen_HTML_Elements.div([ Util.class_("delete_link di") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(true))), Util.class_("delete light-silver hover-blue" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(" dn")) ])([ Halogen_HTML_Core.text("delete") ]), Halogen_HTML_Elements.span([ Util.class_("confirm red" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(" dn")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text("cancel\xa0/\xa0") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDestroy.create)), Util.class_("red") ])([ Halogen_HTML_Core.text("destroy") ]) ]) ]) ]) ]));+          var editField = function (f) {+              return function ($61) {+                  return Halogen_HTML_Events.input(NEditField.create)(f($61));+              };+          };+          var renderNote_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(NEditSubmit.create)) ])([ Halogen_HTML_Elements.p([ Util.class_("mt2 mb1") ])([ Halogen_HTML_Core.text("Title:") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_("title w-100 mt2 mb1 pt1 f7 edit_form_input"), Halogen_HTML_Properties.name("title"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_("mt2 mb1") ])([ Halogen_HTML_Core.text("Description:") ]), Halogen_HTML_Elements.textarea([ Util.class_("description w-100 mt2 mb1 pt1 f7 edit_form_input"), Halogen_HTML_Properties.name("text"), Halogen_HTML_Properties.rows(30), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_("edit_form_checkboxes mv3") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"), Halogen_HTML_Properties.value("save") ]), Halogen_HTML_Core.text(" "), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"), Halogen_HTML_Properties.value("cancel"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(false))) ]) ]) ]);+          var display_destroyed = Halogen_HTML_Elements.p([ Util.class_("red") ])([ Halogen_HTML_Core.text("you killed this note") ]);+          if (v.destroyed) {+              return display_destroyed;+          };+          if (v.edit) {+              return renderNote_edit;+          };+          return renderNote;+      };+    +      // | Handle UI Events+  var onEvent = function (v) {+          if (v instanceof NNop) {+              return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);+          };+          if (v instanceof NEditField) {+              var modifyEdit = function (dictMonadState) {+                  return function (g) {+                      return Control_Monad_State_Class.modify_(dictMonadState)(function (s) {+                          var $25 = {};+                          for (var $26 in s) {+                              if ({}.hasOwnProperty.call(s, $26)) {+                                  $25[$26] = s[$26];+                              };+                          };+                          $25.edit_note = g(s.edit_note);+                          return $25;+                      });+                  };+              };+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(modifyEdit(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                  if (v.value0 instanceof Etitle) {+                      return function (v1) {+                          return {+                              id: v1.id,+                              title: v.value0.value0,+                              text: v1.text,+                              length: v1.length,+                              created: v1.created,+                              updated: v1.updated+                          };+                      };+                  };+                  if (v.value0 instanceof Etext) {+                      return function (v1) {+                          return {+                              id: v1.id,+                              title: v1.title,+                              text: v.value0.value0,+                              length: v1.length,+                              created: v1.created,+                              updated: v1.updated+                          };+                      };+                  };+                  throw new Error("Failed pattern match at Component.NList line 210, column 18 - line 212, column 32: " + [ v.value0.constructor.name ]);+              })()))(function () {+                  return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+              });+          };+          if (v instanceof NDeleteAsk) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {+                  var $33 = {};+                  for (var $34 in v1) {+                      if ({}.hasOwnProperty.call(v1, $34)) {+                          $33[$34] = v1[$34];+                      };+                  };+                  $33.deleteAsk = v.value0;+                  return $33;+              }))(function () {+                  return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+              });+          };+          if (v instanceof NDestroy) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor["void"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(v1.note.id))))(function () {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                          var $39 = {};+                          for (var $40 in v1) {+                              if ({}.hasOwnProperty.call(v1, $40)) {+                                  $39[$40] = v1[$40];+                              };+                          };+                          $39.destroyed = true;+                          return $39;+                      })()))(function () {+                          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);+                      });+                  });+              });+          };+          if (v instanceof NEdit) {+              return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                  var newState = (function () {+                      var $44 = {};+                      for (var $45 in v1) {+                          if ({}.hasOwnProperty.call(v1, $45)) {+                              $44[$45] = v1[$45];+                          };+                      };+                      $44.edit = v.value0;+                      $44.edit_note = v1.note;+                      return $44;+                  })();+                  return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)(newState))(function () {+                      return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                  });+              });+          };+          if (v instanceof NEditSubmit) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {+                  return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {+                      return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(v1.edit_note)))(function (v2) {+                          var nt$prime = Data_Maybe.fromMaybe(v1.edit_note)(Control_Bind.bind(Data_Maybe.bindMaybe)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Argonaut_Core.toNumber(v2.response))(Data_Int.fromNumber))(function (n) {+                              return new Data_Maybe.Just({+                                  id: n,+                                  created: v1.edit_note.created,+                                  length: v1.edit_note.length,+                                  text: v1.edit_note.text,+                                  title: v1.edit_note.title,+                                  updated: v1.edit_note.updated+                              });+                          }));+                          return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.put(Halogen_Query_HalogenM.monadStateHalogenM)((function () {+                              var $51 = {};+                              for (var $52 in v1) {+                                  if ({}.hasOwnProperty.call(v1, $52)) {+                                      $51[$52] = v1[$52];+                                  };+                              };+                              $51.edit = false;+                              $51.note = nt$prime;+                              $51.edit_note = nt$prime;+                              return $51;+                          })()))(function () {+                              return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);+                          });+                      });+                  });+              });+          };+          throw new Error("Failed pattern match at Component.NList line 205, column 3 - line 205, column 61: " + [ v.constructor.name ]);+      };+    +      // | Initialize Component State+  var mkState = function (note$prime) {+          return {+              note: note$prime,+              edit_note: note$prime,+              deleteAsk: false,+              edit: note$prime.id <= 0,+              destroyed: false+          };+      };+      var app = Globals["app'"](Data_Unit.unit);+      return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({+          initialState: Data_Function["const"](mkState(st$prime)),+          render: render,+          "eval": onEvent,+          receiver: Data_Function["const"](Data_Maybe.Nothing.value)+      });+  };+  var nlist = function (st$prime) {+      var toTextarea = function (input) {+          return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {+              return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];+          })(Data_String_Common.split("\x0a")(input)));+      };+    +      // | Handle UI Events+  var onEvent = function (v) {+          return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);+      };+      var mmoment = function (bm) {+          return Globals.mmoment8601(bm.created);+      };+    +      // | Initialize Component State+  var mkState = function (notes$prime) {+          return {+              notes: notes$prime,+              cur: Data_Maybe.Nothing.value,+              deleteAsk: false,+              edit: false+          };+      };+      var app = Globals["app'"](Data_Unit.unit);+      var linkToFilterSingle = function (nid) {+          return app.userR + ("/notes/" + Data_Show.show(Data_Show.showInt)(nid));+      };+      var render = function (v) {+          var renderNote = function (bm) {+              return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(bm.id)), Util.class_("note w-100 mw7 pa1 mb2") ])([ Halogen_HTML_Elements.div([ Util.class_("display") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(bm.id)), Halogen_HTML_Properties.target("_blank"), Util.class_("link f5 lh-title") ])([ Halogen_HTML_Core.text((function () {+                  var $59 = Data_String_Common["null"](bm.title);+                  if ($59) {+                      return "[no title]";+                  };+                  return bm.title;+              })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_("description mt1 mid-gray") ])(toTextarea(Data_String_CodePoints.take(200)(bm.text))), Halogen_HTML_Elements.a([ Util.class_("link f7 dib gray w4"), Halogen_HTML_Properties.title(Data_Maybe.maybe(bm.created)(Data_Tuple.snd)(mmoment(bm))), Halogen_HTML_Properties.href(linkToFilterSingle(bm.id)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe("\xa0")(Data_Tuple.fst)(mmoment(bm))) ]) ]) ]);+          };+          return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));+      };+      return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({+          initialState: Data_Function["const"](mkState(st$prime)),+          render: render,+          "eval": onEvent,+          receiver: Data_Function["const"](Data_Maybe.Nothing.value)+      });+  };+  exports["nlist"] = nlist;+  exports["NNop"] = NNop;+  exports["NEditField"] = NEditField;+  exports["NEditSubmit"] = NEditSubmit;+  exports["NEdit"] = NEdit;+  exports["NDeleteAsk"] = NDeleteAsk;+  exports["NDestroy"] = NDestroy;+  exports["Etitle"] = Etitle;+  exports["Etext"] = Etext;+  exports["nnote"] = nnote;+})(PS["Component.NList"] = PS["Component.NList"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Reader_Trans = PS["Control.Monad.Reader.Trans"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Effect_Aff = PS["Effect.Aff"];+  var Prelude = PS["Prelude"];+  var MonadFork = function (Functor1, Monad0, fork, join, suspend) {+      this.Functor1 = Functor1;+      this.Monad0 = Monad0;+      this.fork = fork;+      this.join = join;+      this.suspend = suspend;+  };+  var suspend = function (dict) {+      return dict.suspend;+  };+  var monadForkAff = new MonadFork(function () {+      return Effect_Aff.functorFiber;+  }, function () {+      return Effect_Aff.monadAff;+  }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);+  var join = function (dict) {+      return dict.join;+  };+  var fork = function (dict) {+      return dict.fork;+  };+  exports["fork"] = fork;+  exports["join"] = join;+  exports["suspend"] = suspend;+  exports["MonadFork"] = MonadFork;+  exports["monadForkAff"] = monadForkAff;+})(PS["Control.Monad.Fork.Class"] = PS["Control.Monad.Fork.Class"] || {});+(function(exports) {+    "use strict";++  exports.warn = function (s) {+    return function () {+      console.warn(s);+      return {};+    };+  };+})(PS["Effect.Console"] = PS["Effect.Console"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Effect.Console"];+  var Data_Show = PS["Data.Show"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  exports["warn"] = $foreign.warn;+})(PS["Effect.Console"] = PS["Effect.Console"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Map = PS["Data.Map"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Traversable = PS["Data.Traversable"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Ref = PS["Effect.Ref"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];+  var Prelude = PS["Prelude"];+  var Unsafe_Coerce = PS["Unsafe.Coerce"];+  var Web_DOM = PS["Web.DOM"];+  var unRenderStateX = Unsafe_Coerce.unsafeCoerce;+  var unDriverStateX = Unsafe_Coerce.unsafeCoerce;+  var renderStateX_ = function (dictApplicative) {+      return function (f) {+          return unDriverStateX(function (st) {+              return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);+          });+      };+  };+  var mkRenderStateX = function (v) {+      return Unsafe_Coerce.unsafeCoerce;+  };+  var renderStateX = function (dictFunctor) {+      return function (f) {+          return unDriverStateX(function (st) {+              return mkRenderStateX(st.prjQuery)(f(st.rendering));+          });+      };+  };+  var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;+  var initDriverState = function (component) {+      return function (input) {+          return function (handler) {+              return function (prjQuery) {+                  return function (lchs) {+                      return function __do() {+                          var v = Effect_Ref["new"]({})();+                          var v1 = Effect_Ref["new"](Data_Map_Internal.empty)();+                          var v2 = Effect_Ref["new"](Data_Map_Internal.empty)();+                          var v3 = Effect_Ref["new"](Data_Functor.voidLeft(Data_Maybe.functorMaybe)(component.initializer)(Data_List_Types.Nil.value))();+                          var v4 = Effect_Ref["new"](new Data_Maybe.Just(Data_List_Types.Nil.value))();+                          var v5 = Effect_Ref["new"](Data_Maybe.Nothing.value)();+                          var v6 = Effect_Ref["new"](0)();+                          var v7 = Effect_Ref["new"](new Data_Maybe.Just(Data_Map_Internal.empty))();+                          var ds = {+                              component: component,+                              state: component.initialState(input),+                              refs: Data_Map_Internal.empty,+                              children: Data_Map_Internal.empty,+                              childrenIn: v1,+                              childrenOut: v2,+                              selfRef: v,+                              handler: handler,+                              pendingQueries: v3,+                              pendingOuts: v4,+                              pendingHandlers: v5,+                              rendering: Data_Maybe.Nothing.value,+                              prjQuery: prjQuery,+                              fresh: v6,+                              subscriptions: v7,+                              lifecycleHandlers: lchs+                          };+                          Effect_Ref.write(ds)(v)();+                          return mkDriverStateXRef(v);+                      };+                  };+              };+          };+      };+  };+  exports["unDriverStateX"] = unDriverStateX;+  exports["mkDriverStateXRef"] = mkDriverStateXRef;+  exports["renderStateX"] = renderStateX;+  exports["renderStateX_"] = renderStateX_;+  exports["unRenderStateX"] = unRenderStateX;+  exports["initDriverState"] = initDriverState;+})(PS["Halogen.Aff.Driver.State"] = PS["Halogen.Aff.Driver.State"] || {});+(function(exports) {+    "use strict";++  exports.reallyUnsafeRefEq = function (a) {+    return function (b) {+      return a === b;+    };+  };+})(PS["Unsafe.Reference"] = PS["Unsafe.Reference"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var $foreign = PS["Unsafe.Reference"]; +  var unsafeRefEq = $foreign.reallyUnsafeRefEq;+  exports["unsafeRefEq"] = unsafeRefEq;+})(PS["Unsafe.Reference"] = PS["Unsafe.Reference"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Applicative_Free = PS["Control.Applicative.Free"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Coroutine = PS["Control.Coroutine"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Monad_Fork_Class = PS["Control.Monad.Fork.Class"];+  var Control_Monad_Free = PS["Control.Monad.Free"];+  var Control_Monad_Free_Trans = PS["Control.Monad.Free.Trans"];+  var Control_Monad_Trans_Class = PS["Control.Monad.Trans.Class"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Parallel_Class = PS["Control.Parallel.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Boolean = PS["Data.Boolean"];+  var Data_Coyoneda = PS["Data.Coyoneda"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Map = PS["Data.Map"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Set = PS["Data.Set"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Ref = PS["Effect.Ref"];+  var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"];+  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];+  var Halogen_Query_EventSource = PS["Halogen.Query.EventSource"];+  var Halogen_Query_ForkF = PS["Halogen.Query.ForkF"];+  var Halogen_Query_HalogenM = PS["Halogen.Query.HalogenM"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Prelude = PS["Prelude"];+  var Unsafe_Reference = PS["Unsafe.Reference"];                 +  var queuingHandler = function (handler) {+      return function (ref) {+          return function (message) {+              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {+                  if (v instanceof Data_Maybe.Nothing) {+                      return handler(message);+                  };+                  if (v instanceof Data_Maybe.Just) {+                      return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(handler(message), v.value0)))(ref));+                  };+                  throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 171, column 3 - line 175, column 59: " + [ v.constructor.name ]);+              });+          };+      };+  };+  var handleLifecycle = function (lchs) {+      return function (f) {+          return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({+              initializers: Data_List_Types.Nil.value,+              finalizers: Data_List_Types.Nil.value+          })(lchs)))(function () {+              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (v) {+                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {+                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v1.finalizers))(function () {+                          return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {+                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);+                          });+                      });+                  });+              });+          });+      };+  };+  var $$eval = function (render) {+      return function (r) {+          var go = function (ref) {+              return function (v) {+                  if (v instanceof Halogen_Query_HalogenM.State) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          var v2 = v.value0(v1.state);+                          if (Unsafe_Reference.unsafeRefEq(v1.state)(v2.value1)) {+                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);+                          };+                          if (Data_Boolean.otherwise) {+                              return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({+                                  component: v1.component,+                                  state: v2.value1,+                                  refs: v1.refs,+                                  children: v1.children,+                                  childrenIn: v1.childrenIn,+                                  childrenOut: v1.childrenOut,+                                  selfRef: v1.selfRef,+                                  handler: v1.handler,+                                  pendingQueries: v1.pendingQueries,+                                  pendingOuts: v1.pendingOuts,+                                  pendingHandlers: v1.pendingHandlers,+                                  rendering: v1.rendering,+                                  prjQuery: v1.prjQuery,+                                  fresh: v1.fresh,+                                  subscriptions: v1.subscriptions,+                                  lifecycleHandlers: v1.lifecycleHandlers+                              })(ref)))(function () {+                                  return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v1.lifecycleHandlers)(render(v1.lifecycleHandlers)(ref)))(function () {+                                      return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);+                                  });+                              });+                          };+                          throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 76, column 7 - line 82, column 21: " + [ v2.constructor.name ]);+                      });+                  };+                  if (v instanceof Halogen_Query_HalogenM.Subscribe) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Query_EventSource.unEventSource(v.value0))(function (v2) {+                              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref["modify'"](function (i) {+                                  return {+                                      state: i + 1 | 0,+                                      value: i+                                  };+                              })(v1.fresh)))(function (v3) {+                                  var done$prime = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions)))(function (v4) {+                                      return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Data_Ord.ordInt)(v3))(v4))(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal["delete"](Data_Ord.ordInt)(v3)))(v1.subscriptions)));+                                  });+                                  return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Data_Ord.ordInt)(v3)(done$prime)))(v1.subscriptions)))(function () {+                                      var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine["await"](Effect_Aff.monadAff))(function (v4) {+                                          return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions))))(function (v5) {+                                              return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Maybe.isJust(v5))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(evalF(ref)(v4)))(function (v6) {+                                                  return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Halogen_Query_EventSource.eqSubscribeStatus)(v6)(Halogen_Query_EventSource.Listening.value))(consumer);+                                              }));+                                          });+                                      });+                                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v2.producer)))(function () {+                                          return done$prime;+                                      });+                                  });+                              });+                          })))(function (v2) {+                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);+                          });+                      });+                  };+                  if (v instanceof Halogen_Query_HalogenM.Lift) {+                      return v.value0;+                  };+                  if (v instanceof Halogen_Query_HalogenM.Halt) {+                      return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(v.value0));+                  };+                  if (v instanceof Halogen_Query_HalogenM.GetSlots) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value0(Data_Functor.map(Data_List_Types.functorList)(Halogen_Data_OrdBox.unOrdBox)(Data_List.fromFoldable(Data_Set.foldableSet)(Data_Map.keys(v1.children)))));+                      });+                  };+                  if (v instanceof Halogen_Query_HalogenM.CheckSlot) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(v1.component.mkOrdBox(v.value0))(v1.children)));+                      });+                  };+                  if (v instanceof Halogen_Query_HalogenM.ChildQuery) {+                      return evalChildQuery(ref)(v.value0)(v.value1);+                  };+                  if (v instanceof Halogen_Query_HalogenM.Raise) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queuingHandler(v1.handler)(v1.pendingOuts)(v.value0))(function () {+                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);+                          });+                      });+                  };+                  if (v instanceof Halogen_Query_HalogenM.Par) {+                      return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp(function ($103) {+                          return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(ref)($103));+                      })(v.value0)));+                  };+                  if (v instanceof Halogen_Query_HalogenM.Fork) {+                      return Halogen_Query_ForkF.unFork(function (v1) {+                          return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalM(ref)(v1.value0)))(function (v2) {+                              return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Function.flip(Effect_Aff.killFiber)(v2)));+                          });+                      })(v.value0);+                  };+                  if (v instanceof Halogen_Query_HalogenM.GetRef) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {+                          return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v.value0)(v1.refs)));+                      });+                  };+                  throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 73, column 12 - line 128, column 33: " + [ v.constructor.name ]);+              };+          };+          var evalM = function (ref) {+              return function (v) {+                  return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v);+              };+          };+          var evalF = function (ref) {+              return function (q) {+                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {+                      var v1 = v["component"]["eval"](q);+                      return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v1);+                  });+              };+          };+          var evalChildQuery = function (ref) {+              return function (p) {+                  return Data_Coyoneda.unCoyoneda(function (k) {+                      return function (q) {+                          return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {+                              var v1 = Data_Map_Internal.lookup(Halogen_Data_OrdBox.ordOrdBox)(v.component.mkOrdBox(p))(v.children);+                              if (v1 instanceof Data_Maybe.Just) {+                                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.value0)))(function (v2) {+                                      return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {+                                          var v3 = ds.prjQuery(q);+                                          if (v3 instanceof Data_Maybe.Just) {+                                              return Data_Functor.map(Effect_Aff.functorAff)(k)(evalF(ds.selfRef)(v3.value0));+                                          };+                                          if (v3 instanceof Data_Maybe.Nothing) {+                                              return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error("Query projection failed for child query"));+                                          };+                                          throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 141, column 32 - line 143, column 82: " + [ v3.constructor.name ]);+                                      })(v2);+                                  });+                              };+                              if (v1 instanceof Data_Maybe.Nothing) {+                                  return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error("Slot lookup failed for child query"));+                              };+                              throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 138, column 5 - line 144, column 73: " + [ v1.constructor.name ]);+                          });+                      };+                  });+              };+          };+          return function (v) {+              if (v instanceof Halogen_Query_InputF.RefUpdate) {+                  return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(function (v1) {+                      return {+                          component: v1.component,+                          state: v1.state,+                          refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function["const"](v.value1))(v.value0)(v1.refs),+                          children: v1.children,+                          childrenIn: v1.childrenIn,+                          childrenOut: v1.childrenOut,+                          selfRef: v1.selfRef,+                          handler: v1.handler,+                          pendingQueries: v1.pendingQueries,+                          pendingOuts: v1.pendingOuts,+                          pendingHandlers: v1.pendingHandlers,+                          rendering: v1.rendering,+                          prjQuery: v1.prjQuery,+                          fresh: v1.fresh,+                          subscriptions: v1.subscriptions,+                          lifecycleHandlers: v1.lifecycleHandlers+                      };+                  })(r)))(function () {+                      return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value2);+                  });+              };+              if (v instanceof Halogen_Query_InputF.Query) {+                  return evalF(r)(v.value0);+              };+              throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 59, column 3 - line 64, column 25: " + [ v.constructor.name ]);+          };+      };+  };+  exports["handleLifecycle"] = handleLifecycle;+  exports["eval"] = $$eval;+  exports["queuingHandler"] = queuingHandler;+})(PS["Halogen.Aff.Driver.Eval"] = PS["Halogen.Aff.Driver.Eval"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Coroutine = PS["Control.Coroutine"];+  var Control_Monad_Fork_Class = PS["Control.Monad.Fork.Class"];+  var Control_Monad_Rec_Class = PS["Control.Monad.Rec.Class"];+  var Control_Parallel = PS["Control.Parallel"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_List = PS["Data.List"];+  var Data_List_Types = PS["Data.List.Types"];+  var Data_Map = PS["Data.Map"];+  var Data_Map_Internal = PS["Data.Map.Internal"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Ord = PS["Data.Ord"];+  var Data_Semiring = PS["Data.Semiring"];+  var Data_Traversable = PS["Data.Traversable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Aff_AVar = PS["Effect.Aff.AVar"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Console = PS["Effect.Console"];+  var Effect_Exception = PS["Effect.Exception"];+  var Effect_Ref = PS["Effect.Ref"];+  var Halogen = PS["Halogen"];+  var Halogen_Aff_Driver_Eval = PS["Halogen.Aff.Driver.Eval"];+  var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_Data_OrdBox = PS["Halogen.Data.OrdBox"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Prelude = PS["Prelude"];                 +  var newLifecycleHandlers = Effect_Ref["new"]({+      initializers: Data_List_Types.Nil.value,+      finalizers: Data_List_Types.Nil.value+  });+  var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));+  var runUI = function (renderSpec) {+      return function (component) {+          return function (i) {+              var subscribe = function (fresh) {+                  return function (ref) {+                      return function (consumer) {+                          return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (v) {+                              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {+                                  var v1 = Effect_Ref.read(fresh)();+                                  Effect_Ref.modify_(function (v2) {+                                      return v2 + 1 | 0;+                                  })(fresh)();+                                  Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();+                                  return v1;+                              }))(function (v1) {+                                  var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.Left.create)(Effect_Aff_AVar.take(v)));+                                  return Data_Functor["void"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {+                                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal["delete"](Data_Ord.ordInt)(v1))(ref)))(function () {+                                          return Effect_Aff_AVar.kill(Effect_Exception.error("ended"))(v);+                                      });+                                  })));+                              });+                          });+                      };+                  };+              };+              var rootHandler = function (ref) {+                  return function (message) {+                      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {+                          return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(v));+                      });+                  };+              };+              var handlePending = function (ref) {+                  return function __do() {+                      var v = Effect_Ref.read(ref)();+                      Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();+                      return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function ($63) {+                          return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($63)));+                      })();+                  };+              };+              var cleanupSubscriptions = function (v) {+                  return function __do() {+                      Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($64) {+                          return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))($64));+                      }))(Effect_Ref.read(v.subscriptions))();+                      return Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();+                  };+              };+              var squashChildInitializers = function (lchs) {+                  return function (preInits) {+                      return Halogen_Aff_Driver_State.unDriverStateX(function (st) {+                          var parentInitializer = Data_Functor.map(Data_Maybe.functorMaybe)(function ($65) {+                              return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($65));+                          })(st.component.initializer);+                          return Effect_Ref.modify_(function (handlers) {+                              return {+                                  initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () {+                                      return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.sequence_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(parentInitializer))(function () {+                                          return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {+                                              handlePending(st.pendingQueries)();+                                              return handlePending(st.pendingOuts)();+                                          });+                                      });+                                  }), preInits),+                                  finalizers: handlers.finalizers+                              };+                          })(lchs);+                      });+                  };+              };+              var runComponent = function (lchs) {+                  return function (handler) {+                      return function (j) {+                          return function (prjQuery) {+                              return Halogen_Component.unComponent(function (c) {+                                  return function __do() {+                                      var v = newLifecycleHandlers();+                                      var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(prjQuery)(v)();+                                      var v2 = Effect_Ref.read(lchs)();+                                      Effect_Ref.write({+                                          initializers: Data_List_Types.Nil.value,+                                          finalizers: v2.finalizers+                                      })(lchs)();+                                      Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX(function ($66) {+                                          return render(lchs)((function (v3) {+                                              return v3.selfRef;+                                          })($66));+                                      }))(Effect_Ref.read(v1))();+                                      Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();+                                      return v1;+                                  };+                              });+                          };+                      };+                  };+              };+              var renderChild = function (lchs) {+                  return function (handler) {+                      return function (mkOrdBox) {+                          return function (childrenInRef) {+                              return function (childrenOutRef) {+                                  return Halogen_Component.unComponentSlot(function (p) {+                                      return function (ctor) {+                                          return function (input) {+                                              return function (inputQuery) {+                                                  return function (outputQuery) {+                                                      return function (prjQuery) {+                                                          var ordP = mkOrdBox(p);+                                                          return function __do() {+                                                              var v = Effect_Ref.read(childrenInRef)();+                                                              var v1 = (function () {+                                                                  var v1 = Data_Map_Internal.pop(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v);+                                                                  if (v1 instanceof Data_Maybe.Just) {+                                                                      Effect_Ref.write(v1.value0.value1)(childrenInRef)();+                                                                      Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(inputQuery(input))(function (q) {+                                                                          return function __do() {+                                                                              var v2 = Effect_Ref.read(v1.value0.value0)();+                                                                              return Halogen_Aff_Driver_State.unDriverStateX(function (st) {+                                                                                  return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(st.prjQuery(q))(function ($67) {+                                                                                      return handleAff(evalF(st.selfRef)(Halogen_Query_InputF.Query.create($67)));+                                                                                  });+                                                                              })(v2)();+                                                                          };+                                                                      })();+                                                                      return v1.value0.value0;+                                                                  };+                                                                  if (v1 instanceof Data_Maybe.Nothing) {+                                                                      return runComponent(lchs)(function ($68) {+                                                                          return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(outputQuery($68));+                                                                      })(input)(prjQuery)(ctor)();+                                                                  };+                                                                  throw new Error("Failed pattern match at Halogen.Aff.Driver line 258, column 14 - line 266, column 92: " + [ v1.constructor.name ]);+                                                              })();+                                                              var v2 = Data_Functor.map(Effect.functorEffect)(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(ordP))(Effect_Ref.read(childrenOutRef))();+                                                              Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))();+                                                              Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v1))(childrenOutRef)();+                                                              return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {+                                                                  if (v3 instanceof Data_Maybe.Nothing) {+                                                                      return Effect_Exception["throw"]("Halogen internal error: child was not initialized in renderChild");+                                                                  };+                                                                  if (v3 instanceof Data_Maybe.Just) {+                                                                      return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));+                                                                  };+                                                                  throw new Error("Failed pattern match at Halogen.Aff.Driver line 271, column 37 - line 273, column 50: " + [ v3.constructor.name ]);+                                                              }))();+                                                          };+                                                      };+                                                  };+                                              };+                                          };+                                      };+                                  });+                              };+                          };+                      };+                  };+              };+              var render = function (lchs) {+                  return function ($$var) {+                      return function __do() {+                          var v = Effect_Ref.read($$var)();+                          var v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();+                          Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();+                          Effect_Ref.write(Data_Map_Internal.empty)(v.childrenOut)();+                          Effect_Ref.write(v.children)(v.childrenIn)();+                          var handler = Halogen_Aff_Driver_Eval.queuingHandler(function ($69) {+                              return Data_Functor["void"](Effect_Aff.functorAff)(evalF(v.selfRef)($69));+                          })(v.pendingHandlers);+                          var childHandler = Halogen_Aff_Driver_Eval.queuingHandler(function ($70) {+                              return handler(Halogen_Query_InputF.Query.create($70));+                          })(v.pendingQueries);+                          var v2 = renderSpec.render(function ($71) {+                              return handleAff(handler($71));+                          })(renderChild(lchs)(childHandler)(v.component.mkOrdBox)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();+                          var v3 = Effect_Ref.read(v.childrenOut)();+                          Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v.childrenIn))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function (childVar) {+                              return function __do() {+                                  var v4 = Effect_Ref.read(childVar)();+                                  Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v4)();+                                  return finalize(lchs)(v4)();+                              };+                          }))();+                          Effect_Ref.modify_(function (v4) {+                              return {+                                  rendering: new Data_Maybe.Just(v2),+                                  children: v3,+                                  component: v4.component,+                                  state: v4.state,+                                  refs: v4.refs,+                                  childrenIn: v4.childrenIn,+                                  childrenOut: v4.childrenOut,+                                  selfRef: v4.selfRef,+                                  handler: v4.handler,+                                  pendingQueries: v4.pendingQueries,+                                  pendingOuts: v4.pendingOuts,+                                  pendingHandlers: v4.pendingHandlers,+                                  prjQuery: v4.prjQuery,+                                  fresh: v4.fresh,+                                  subscriptions: v4.subscriptions,+                                  lifecycleHandlers: v4.lifecycleHandlers+                              };+                          })(v.selfRef)();+                          return Control_Applicative.when(Effect.applicativeEffect)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v4) {+                              return function __do() {+                                  var v5 = Effect_Ref.read(v.pendingHandlers)();+                                  Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();+                                  Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($72) {+                                      return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($72)));+                                  })(v5)();+                                  var v6 = Effect_Ref.read(v.pendingHandlers)();+                                  var $57 = Data_Maybe.maybe(false)(Data_List["null"])(v6);+                                  if ($57) {+                                      return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();+                                  };+                                  return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);+                              };+                          }))();+                      };+                  };+              };+              var finalize = function (lchs) {+                  return Halogen_Aff_Driver_State.unDriverStateX(function (st) {+                      return function __do() {+                          cleanupSubscriptions(st)();+                          Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function ($73) {+                              return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($73));+                          })(st.component.finalizer))(function (f) {+                              return Effect_Ref.modify_(function (handlers) {+                                  return {+                                      initializers: handlers.initializers,+                                      finalizers: new Data_List_Types.Cons(f, handlers.finalizers)+                                  };+                              })(lchs);+                          })();+                          return Data_Foldable.for_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(st.children)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(finalize(lchs))(Effect_Ref.read))();+                      };+                  });+              };+              var evalF = function (ref) {+                  return Halogen_Aff_Driver_Eval["eval"](render)(ref);+              };+              var evalDriver = function (ref) {+                  return function (prjQuery) {+                      return function (q) {+                          var v = prjQuery(q);+                          if (v instanceof Data_Maybe.Just) {+                              return evalF(ref)(new Halogen_Query_InputF.Query(v.value0));+                          };+                          if (v instanceof Data_Maybe.Nothing) {+                              return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Exception.throwException(Effect_Exception.error("Halogen internal error: query projection failed in runUI'")));+                          };+                          throw new Error("Failed pattern match at Halogen.Aff.Driver line 136, column 5 - line 138, column 113: " + [ v.constructor.name ]);+                      };+                  };+              };+              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {+                  return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref["new"](0)))(function (v1) {+                      return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {+                          var v2 = Effect_Ref["new"](Data_Map_Internal.empty)();+                          return Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(runComponent(v)(rootHandler(v2))(i)(Data_Maybe.Just.create)(component))(Effect_Ref.read))(Halogen_Aff_Driver_State.unDriverStateX(function (st) {+                              return Control_Applicative.pure(Effect.applicativeEffect)({+                                  query: evalDriver(st.selfRef)(st.prjQuery),+                                  subscribe: subscribe(v1)(v2)+                              });+                          }))();+                      });+                  });+              });+          };+      };+  };+  exports["runUI"] = runUI;+})(PS["Halogen.Aff.Driver"] = PS["Halogen.Aff.Driver"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Monad_Error_Class = PS["Control.Monad.Error.Class"];+  var Control_Semigroupoid = PS["Control.Semigroupoid"];+  var Data_Either = PS["Data.Either"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Exception = PS["Effect.Exception"];+  var Prelude = PS["Prelude"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_Event_EventTarget = PS["Web.Event.EventTarget"];+  var Web_HTML = PS["Web.HTML"];+  var Web_HTML_Event_EventTypes = PS["Web.HTML.Event.EventTypes"];+  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];+  var Web_HTML_HTMLDocument_ReadyState = PS["Web.HTML.HTMLDocument.ReadyState"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var Web_HTML_Window = PS["Web.HTML.Window"];                 +  var selectElement = function (query) {+      return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(function ($12) {+          return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));+      })(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {+          return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));+      });+  };+  var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function["const"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));+  exports["selectElement"] = selectElement;+  exports["runHalogenAff"] = runHalogenAff;+})(PS["Halogen.Aff.Util"] = PS["Halogen.Aff.Util"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Data_Array = PS["Data.Array"];+  var Data_Eq = PS["Data.Eq"];+  var Data_Function_Uncurried = PS["Data.Function.Uncurried"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Nullable = PS["Data.Nullable"];+  var Data_Tuple = PS["Data.Tuple"];+  var Effect = PS["Effect"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"];+  var Halogen_VDom_Types = PS["Halogen.VDom.Types"];+  var Halogen_VDom_Util = PS["Halogen.VDom.Util"];+  var Prelude = PS["Prelude"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_Node = PS["Web.DOM.Node"];+  var eqElemSpec = function (a, b) {+      if (a.value1 === b.value1) {+          if (a.value0 instanceof Data_Maybe.Just && (b.value0 instanceof Data_Maybe.Just && a.value0.value0 === b.value0.value0)) {+              return true;+          };+          if (a.value0 instanceof Data_Maybe.Nothing && b.value0 instanceof Data_Maybe.Nothing) {+              return true;+          };+          return false;+      };+      return false;+  };+  var buildWidget = (function () {+      var patch = function (build, v) {+          return function (v1) {+              if (v1 instanceof Halogen_VDom_Types.Grafted) {+                  return patch(build, v)(Halogen_VDom_Types.runGraft(v1.value0));+              };+              if (v1 instanceof Halogen_VDom_Types.Widget) {+                  var v2 = v.value1(v1.value0);+                  return new Halogen_VDom_Machine.Step(v2.value0, patch(build, v2), v2.value2);+              };+              v.value2();+              return build(v1);+          };+      };+      var render = function (v, build, w) {+          var v1 = v.buildWidget(v)(w);+          return new Halogen_VDom_Machine.Step(v1.value0, patch(build, v1), v1.value2);+      };+      return render;+  })();+  var buildText = (function () {+      var patch = function (build, halt, node, s1) {+          return function (v) {+              if (v instanceof Halogen_VDom_Types.Grafted) {+                  return patch(build, halt, node, s1)(Halogen_VDom_Types.runGraft(v.value0));+              };+              if (v instanceof Halogen_VDom_Types.Text) {+                  var res = new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v.value0), halt);+                  var $84 = s1 === v.value0;+                  if ($84) {+                      return res;+                  };+                  Halogen_VDom_Util.setTextContent(v.value0, node);+                  return res;+              };+              halt();+              return build(v);+          };+      };+      var done = function (node) {+          return function __do() {+              var v = Halogen_VDom_Util.parentNode(node);+              return Halogen_VDom_Util.removeChild(node, v);+          };+      };+      var render = function (v, build, s) {+          var v1 = Halogen_VDom_Util.createTextNode(s, v.document);+          var halt = done(v1);+          return new Halogen_VDom_Machine.Step(v1, patch(build, halt, v1, s), halt);+      };+      return render;+  })();+  var buildKeyed = (function () {+      var done = function (node, attrs, steps) {+          return function __do() {+              var v = Halogen_VDom_Util.parentNode(node);+              Halogen_VDom_Util.removeChild(node, v);+              Halogen_VDom_Util.forInE(steps, function (v1, v2) {+                  return v2.value2();+              });+              return Halogen_VDom_Machine.halt(attrs)();+          };+      };+      var patch = function (build, halt, node, attrs, v, ch1, len1) {+          return function (v1) {+              if (v1 instanceof Halogen_VDom_Types.Grafted) {+                  return patch(build, halt, node, attrs, v, ch1, len1)(Halogen_VDom_Types.runGraft(v1.value0));+              };+              if (v1 instanceof Halogen_VDom_Types.Keyed && eqElemSpec(v, v1.value0)) {+                  var v2 = Data_Array.length(v1.value1);+                  if (len1 === 0 && v2 === 0) {+                      var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);+                      var halt$prime = done(node, v4, ch1);+                      return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1, 0), halt$prime);+                  };+                  var onThis = function (v4, v5) {+                      return v5.value2();+                  };+                  var onThese = function (v4, ix$prime, v5, v6) {+                      var v7 = v5.value1(v6.value1);+                      Halogen_VDom_Util.insertChildIx(ix$prime, v7.value0, node);+                      return v7;+                  };+                  var onThat = function (v4, ix, v5) {+                      var v6 = build(v5.value1);+                      Halogen_VDom_Util.insertChildIx(ix, v6.value0, node);+                      return v6;+                  };+                  var v4 = Halogen_VDom_Util.diffWithKeyAndIxE(ch1, v1.value1, Data_Tuple.fst, onThese, onThis, onThat);+                  var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);+                  var halt$prime = done(node, v5, v4);+                  return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4, v2), halt$prime);+              };+              halt();+              return build(v1);+          };+      };+      var render = function (v, build, v1, ch1) {+          var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);+          var node = Web_DOM_Element.toNode(v2);+          var onChild = function (k, ix, v3) {+              var v4 = build(v3.value1);+              Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);+              return v4;+          };+          var v3 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);+          var v4 = v.buildAttributes(v2)(v1.value2);+          var halt = done(node, v4, v3);+          return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3, Data_Array.length(ch1)), halt);+      };+      return render;+  })();+  var buildElem = (function () {+      var done = function (node, attrs, steps) {+          return function __do() {+              var v = Halogen_VDom_Util.parentNode(node);+              Halogen_VDom_Util.removeChild(node, v);+              Effect.foreachE(steps)(Halogen_VDom_Machine.halt)();+              return Halogen_VDom_Machine.halt(attrs)();+          };+      };+      var patch = function (build, halt, node, attrs, v, ch1) {+          return function (v1) {+              if (v1 instanceof Halogen_VDom_Types.Grafted) {+                  return patch(build, halt, node, attrs, v, ch1)(Halogen_VDom_Types.runGraft(v1.value0));+              };+              if (v1 instanceof Halogen_VDom_Types.Elem && eqElemSpec(v, v1.value0)) {+                  var v2 = Data_Array.length(v1.value1);+                  var v3 = Data_Array.length(ch1);+                  if (v3 === 0 && v2 === 0) {+                      var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);+                      var halt$prime = done(node, v4, ch1);+                      return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1), halt$prime);+                  };+                  var onThis = function (ix, v4) {+                      return v4.value2();+                  };+                  var onThese = function (ix, v4, vdom) {+                      var v5 = v4.value1(vdom);+                      Halogen_VDom_Util.insertChildIx(ix, v5.value0, node);+                      return v5;+                  };+                  var onThat = function (ix, vdom) {+                      var v4 = build(vdom);+                      Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);+                      return v4;+                  };+                  var v4 = Halogen_VDom_Util.diffWithIxE(ch1, v1.value1, onThese, onThis, onThat);+                  var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);+                  var halt$prime = done(node, v5, v4);+                  return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4), halt$prime);+              };+              halt();+              return build(v1);+          };+      };+      var render = function (v, build, v1, ch1) {+          var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);+          var node = Web_DOM_Element.toNode(v2);+          var onChild = function (ix, child) {+              var v3 = build(child);+              Halogen_VDom_Util.insertChildIx(ix, v3.value0, node);+              return v3;+          };+          var v3 = Halogen_VDom_Util.forE(ch1, onChild);+          var v4 = v.buildAttributes(v2)(v1.value2);+          var halt = done(node, v4, v3);+          return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3), halt);+      };+      return render;+  })();+  var buildVDom = function (spec) {+      var build = function (v) {+          if (v instanceof Halogen_VDom_Types.Text) {+              return buildText(spec, build, v.value0);+          };+          if (v instanceof Halogen_VDom_Types.Elem) {+              return buildElem(spec, build, v.value0, v.value1);+          };+          if (v instanceof Halogen_VDom_Types.Keyed) {+              return buildKeyed(spec, build, v.value0, v.value1);+          };+          if (v instanceof Halogen_VDom_Types.Widget) {+              return buildWidget(spec, build, v.value0);+          };+          if (v instanceof Halogen_VDom_Types.Grafted) {+              return build(Halogen_VDom_Types.runGraft(v.value0));+          };+          throw new Error("Failed pattern match at Halogen.VDom.DOM line 58, column 27 - line 63, column 52: " + [ v.constructor.name ]);+      };+      return build;+  };+  exports["buildVDom"] = buildVDom;+  exports["buildText"] = buildText;+  exports["buildElem"] = buildElem;+  exports["buildKeyed"] = buildKeyed;+  exports["buildWidget"] = buildWidget;+})(PS["Halogen.VDom.DOM"] = PS["Halogen.VDom.DOM"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Control_Bind = PS["Control.Bind"];+  var Control_Category = PS["Control.Category"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_HeytingAlgebra = PS["Data.HeytingAlgebra"];+  var Data_Maybe = PS["Data.Maybe"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Effect_Ref = PS["Effect.Ref"];+  var Effect_Uncurried = PS["Effect.Uncurried"];+  var Halogen_Aff_Driver = PS["Halogen.Aff.Driver"];+  var Halogen_Aff_Driver_State = PS["Halogen.Aff.Driver.State"];+  var Halogen_Component = PS["Halogen.Component"];+  var Halogen_HTML_Core = PS["Halogen.HTML.Core"];+  var Halogen_Query_InputF = PS["Halogen.Query.InputF"];+  var Halogen_VDom = PS["Halogen.VDom"];+  var Halogen_VDom_DOM = PS["Halogen.VDom.DOM"];+  var Halogen_VDom_DOM_Prop = PS["Halogen.VDom.DOM.Prop"];+  var Halogen_VDom_Machine = PS["Halogen.VDom.Machine"];+  var Prelude = PS["Prelude"];+  var Unsafe_Reference = PS["Unsafe.Reference"];+  var Web_DOM_Document = PS["Web.DOM.Document"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_Node = PS["Web.DOM.Node"];+  var Web_HTML = PS["Web.HTML"];+  var Web_HTML_HTMLDocument = PS["Web.HTML.HTMLDocument"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];+  var Web_HTML_Window = PS["Web.HTML.Window"];+  var substInParent = function (v) {+      return function (v1) {+          return function (v2) {+              if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {+                  return Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));+              };+              if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {+                  return Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));+              };+              return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);+          };+      };+  };+  var removeChild = function (v) {+      return function __do() {+          var v1 = Web_DOM_Node.parentNode(v.node)();+          return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {+              return Web_DOM_Node.removeChild(v.node)(pn);+          })(v1)();+      };+  };+  var mkSpec = function (handler) {+      return function (renderChildRef) {+          return function (document) {+              var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {+                  return v.node;+              });+              var done = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);+              var patch = function (slot) {+                  var v = Effect_Ref.read(renderChildRef)();+                  var v1 = v(slot)();+                  var node = getNode(v1);+                  return new Halogen_VDom_Machine.Step(node, patch, done);+              };+              var buildWidget = function (spec) {+                  return function (slot) {+                      var v = Effect_Ref.read(renderChildRef)();+                      var v1 = v(slot)();+                      var node = getNode(v1);+                      return new Halogen_VDom_Machine.Step(node, patch, done);+                  };+              };+              var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);+              return {+                  buildWidget: buildWidget,+                  buildAttributes: buildAttributes,+                  document: document+              };+          };+      };+  };+  var renderSpec = function (document) {+      return function (container) {+          var render = function (handler) {+              return function (child) {+                  return function (v) {+                      return function (v1) {+                          if (v1 instanceof Data_Maybe.Nothing) {+                              return function __do() {+                                  var v2 = Effect_Ref["new"](child)();+                                  var spec = mkSpec(handler)(v2)(document);+                                  var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);+                                  var node = Halogen_VDom_Machine.extract(v3);+                                  Data_Functor["void"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();+                                  return {+                                      machine: v3,+                                      node: node,+                                      renderChildRef: v2+                                  };+                              };+                          };+                          if (v1 instanceof Data_Maybe.Just) {+                              return function __do() {+                                  Effect_Ref.write(child)(v1.value0.renderChildRef)();+                                  var v2 = Web_DOM_Node.parentNode(v1.value0.node)();+                                  var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();+                                  var v4 = Halogen_VDom_Machine.step(v1.value0.machine)(v);+                                  var newNode = Halogen_VDom_Machine.extract(v4);+                                  Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))();+                                  return {+                                      machine: v4,+                                      node: newNode,+                                      renderChildRef: v1.value0.renderChildRef+                                  };+                              };+                          };+                          throw new Error("Failed pattern match at Halogen.VDom.Driver line 118, column 5 - line 134, column 80: " + [ v1.constructor.name ]);+                      };+                  };+              };+          };+          return {+              render: render,+              renderChild: Control_Category.identity(Control_Category.categoryFn),+              removeChild: removeChild+          };+      };+  };+  var runUI = function (component) {+      return function (i) {+          return function (element) {+              return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (v) {+                  return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);+              });+          };+      };+  };+  exports["runUI"] = runUI;+})(PS["Halogen.VDom.Driver"] = PS["Halogen.VDom.Driver"] || {});+(function(exports) {+    "use strict";+  var Control_Applicative = PS["Control.Applicative"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Prelude = PS["Prelude"];                 +  var main = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);+  exports["main"] = main;+})(PS["Main"] = PS["Main"] || {});+(function(exports) {+  // Generated by purs version 0.12.0+  "use strict";+  var Component_Add = PS["Component.Add"];+  var Component_BList = PS["Component.BList"];+  var Component_NList = PS["Component.NList"];+  var Control_Bind = PS["Control.Bind"];+  var Data_Foldable = PS["Data.Foldable"];+  var Data_Function = PS["Data.Function"];+  var Data_Functor = PS["Data.Functor"];+  var Data_Unit = PS["Data.Unit"];+  var Effect = PS["Effect"];+  var Effect_Aff = PS["Effect.Aff"];+  var Effect_Class = PS["Effect.Class"];+  var Halogen_Aff = PS["Halogen.Aff"];+  var Halogen_Aff_Util = PS["Halogen.Aff.Util"];+  var Halogen_VDom_Driver = PS["Halogen.VDom.Driver"];+  var Model = PS["Model"];+  var Prelude = PS["Prelude"];+  var Web_DOM_Element = PS["Web.DOM.Element"];+  var Web_DOM_ParentNode = PS["Web.DOM.ParentNode"];+  var Web_HTML_HTMLElement = PS["Web.HTML.HTMLElement"];                 +  var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(".user_footer"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {+      return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute("hidden")(Web_HTML_HTMLElement.toElement(el)));+  }));+  var renderNotes = function (renderElSelector) {+      return function (notes) {+          return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {+                  return showFooter;+              });+          })));+      };+  };+  var renderNote = function (renderElSelector) {+      return function (note) {+          return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {+              return Data_Functor["void"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nnote(note))(Data_Unit.unit)(el));+          })));+      };+  };+  var renderBookmarks = function (renderElSelector) {+      return function (bmarks) {+          return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {+              return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor["void"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {+                  return showFooter;+              });+          })));+      };+  };+  var renderAddForm = function (renderElSelector) {+      return function (bmark) {+          return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {+              return Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);+          })));+      };+  };+  exports["renderBookmarks"] = renderBookmarks;+  exports["renderAddForm"] = renderAddForm;+  exports["renderNotes"] = renderNotes;+  exports["renderNote"] = renderNote;   exports["showFooter"] = showFooter; })(PS["User"] = PS["User"] || {});
static/js/app.js.gz view

binary file changed (74463 → 76576 bytes)

static/js/app.min.js view
@@ -1,1 +1,1 @@-var PS={};!function(n){"use strict";(PS["Control.Bind"]=PS["Control.Bind"]||{}).arrayBind=function(n){return function(e){for(var t=[],r=0,a=n.length;r<a;r++)Array.prototype.push.apply(t,e(n[r]));return t}}}(),function(n){"use strict";(PS["Control.Apply"]=PS["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,a=new Array(t*r),u=0,o=0;o<t;o++)for(var i=n[o],l=0;l<r;l++)a[u++]=i(e[l]);return a}}}(),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(PS["Control.Semigroupoid"]=PS["Control.Semigroupoid"]||{}),function(n){"use strict";var e=PS["Control.Semigroupoid"],t=function(n,e){this.Semigroupoid0=n,this.identity=e},r=new t(function(){return e.semigroupoidFn},function(n){return n});n.Category=t,n.identity=function(n){return n.identity},n.categoryFn=r}(PS["Control.Category"]=PS["Control.Category"]||{}),function(n){"use strict";(PS["Data.Boolean"]=PS["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(PS["Data.Eq"]=PS["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(PS["Data.HeytingAlgebra"]=PS["Data.HeytingAlgebra"]||{}),function(n){"use strict";PS["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(PS["Data.Symbol"]=PS["Data.Symbol"]||{}),function(n){"use strict";(PS["Data.Unit"]=PS["Data.Unit"]||{}).unit={}}(),function(n){"use strict";n.showIntImpl=function(n){return n.toString()},n.showStringImpl=function(n){var e=n.length;return'"'+n.replace(/[\0-\x1F\x7F"\\]/g,function(t,r){switch(t){case'"':case"\\":return"\\"+t;case"":return"\\a";case"\b":return"\\b";case"\f":return"\\f";case"\n":return"\\n";case"\r":return"\\r";case"\t":return"\\t";case"\v":return"\\v"}var a=r+1,u=a<e&&n[a]>="0"&&n[a]<="9"?"\\&":"";return"\\"+t.charCodeAt(0).toString(10)+u})+'"'}}(PS["Data.Show"]=PS["Data.Show"]||{}),function(n){"use strict";(PS["Record.Unsafe"]=PS["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=PS["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(PS["Record.Unsafe"]=PS["Record.Unsafe"]||{}),function(n){"use strict";var e=PS["Data.Show"],t=(PS["Data.Symbol"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n){this.show=n}),r=new t(e.showStringImpl),a=new t(e.showIntImpl);n.Show=t,n.show=function(n){return n.show},n.showInt=a,n.showString=r}(PS["Data.Show"]=PS["Data.Show"]||{}),function(n){"use strict";var e=PS["Data.Unit"];PS["Data.Show"];n.unit=e.unit}(PS["Data.Unit"]=PS["Data.Unit"]||{}),function(n){"use strict";var e=PS["Data.HeytingAlgebra"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.Row"],PS["Type.Data.RowList"],function(n,e,t,r,a,u){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=u}),r=function(n){return n.tt},a=function(n){return n.not},u=function(n){return n.implies},o=function(n){return n.ff},i=function(n){return n.disj},l=new t(e.boolConj,e.boolDisj,!1,function(n){return function(e){return i(l)(a(l)(n))(e)}},e.boolNot,!0),c=function(n){return n.conj};n.HeytingAlgebra=t,n.tt=r,n.ff=o,n.implies=u,n.conj=c,n.disj=i,n.not=a,n.heytingAlgebraBoolean=l,n.heytingAlgebraFunction=function(n){return new t(function(e){return function(t){return function(r){return c(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return i(n)(e(r))(t(r))}}},function(e){return o(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return a(n)(e(t))}},function(e){return r(n)})}}(PS["Data.HeytingAlgebra"]=PS["Data.HeytingAlgebra"]||{}),function(n){"use strict";var e=PS["Data.Eq"],t=(PS["Data.HeytingAlgebra"],PS["Data.Symbol"],PS["Data.Unit"],PS["Data.Void"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n){this.eq=n}),r=new t(function(n){return function(n){return!0}}),a=new t(e.refEq),u=new t(e.refEq),o=new t(e.refEq);n.Eq=t,n.eq=function(n){return n.eq},n.eqInt=u,n.eqChar=o,n.eqString=a,n.eqVoid=r}(PS["Data.Eq"]=PS["Data.Eq"]||{}),function(n){"use strict";(PS["Data.Ord.Unsafe"]=PS["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){return r<a?n:r===a?e:t}}}}}}(),function(n){"use strict";n.concatString=function(n){return function(e){return n+e}},n.concatArray=function(n){return function(e){return 0===n.length?e:0===e.length?n:n.concat(e)}}}(PS["Data.Semigroup"]=PS["Data.Semigroup"]||{}),function(n){"use strict";var e=PS["Data.Semigroup"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Data.Void"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n){this.append=n}),r=new t(e.concatString),a=new t(e.concatArray),u=function(n){return n.append};n.Semigroup=t,n.append=u,n.semigroupString=r,n.semigroupFn=function(n){return new t(function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}})},n.semigroupArray=a}(PS["Data.Semigroup"]=PS["Data.Semigroup"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.Semigroup"],PS["Data.Show"];var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}(),r=function(){function n(){}return n.value=new n,n}();n.LT=e,n.GT=t,n.EQ=r}(PS["Data.Ordering"]=PS["Data.Ordering"]||{}),function(n){"use strict";var e=PS["Data.Ord.Unsafe"],t=PS["Data.Ordering"],r=e.unsafeCompareImpl(t.LT.value)(t.EQ.value)(t.GT.value);n.unsafeCompare=r}(PS["Data.Ord.Unsafe"]=PS["Data.Ord.Unsafe"]||{}),function(n){"use strict";(PS["Data.Ring"]=PS["Data.Ring"]||{}).intSub=function(n){return function(e){return n-e|0}}}(),function(n){"use strict";n.intAdd=function(n){return function(e){return n+e|0}},n.intMul=function(n){return function(e){return n*e|0}}}(PS["Data.Semiring"]=PS["Data.Semiring"]||{}),function(n){"use strict";var e=PS["Data.Semiring"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.Row"],PS["Type.Data.RowList"],function(n,e,t,r){this.add=n,this.mul=e,this.one=t,this.zero=r}),r=new t(e.intAdd,e.intMul,1,0);n.Semiring=t,n.add=function(n){return n.add},n.zero=function(n){return n.zero},n.mul=function(n){return n.mul},n.one=function(n){return n.one},n.semiringInt=r}(PS["Data.Semiring"]=PS["Data.Semiring"]||{}),function(n){"use strict";var e=PS["Data.Ring"],t=PS["Data.Semiring"],r=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n,e){this.Semiring0=n,this.sub=e}),a=new r(function(){return t.semiringInt},e.intSub);n.Ring=r,n.sub=function(n){return n.sub},n.ringInt=a}(PS["Data.Ring"]=PS["Data.Ring"]||{}),function(n){"use strict";PS["Data.Ord"];var e=PS["Data.Eq"],t=PS["Data.Ord.Unsafe"],r=PS["Data.Ordering"],a=(PS["Data.Ring"],PS["Data.Semiring"],PS["Data.Unit"],PS["Data.Void"],function(n,e){this.Eq0=n,this.compare=e}),u=new a(function(){return e.eqVoid},function(n){return function(n){return r.EQ.value}}),o=new a(function(){return e.eqString},t.unsafeCompare),i=new a(function(){return e.eqInt},t.unsafeCompare),l=new a(function(){return e.eqChar},t.unsafeCompare);n.Ord=a,n.compare=function(n){return n.compare},n.ordInt=i,n.ordString=o,n.ordChar=l,n.ordVoid=u}(PS["Data.Ord"]=PS["Data.Ord"]||{}),function(n){"use strict";PS["Control.Category"],PS["Data.Boolean"],PS["Data.Ord"],PS["Data.Ring"];n.flip=function(n){return function(e){return function(t){return n(t)(e)}}},n.const=function(n){return function(e){return n}},n.on=function(n){return function(e){return function(t){return function(r){return n(e(t))(e(r))}}}}}(PS["Data.Function"]=PS["Data.Function"]||{}),function(n){"use strict";(PS["Data.Functor"]=PS["Data.Functor"]||{}).arrayMap=function(n){return function(e){for(var t=e.length,r=new Array(t),a=0;a<t;a++)r[a]=n(e[a]);return r}}}(),function(n){"use strict";var e=PS["Data.Functor"],t=PS["Control.Semigroupoid"],r=PS["Data.Function"],a=PS["Data.Unit"],u=function(n){this.map=n},o=function(n){return n.map},i=new u(t.compose(t.semigroupoidFn)),l=new u(e.arrayMap);n.Functor=u,n.map=o,n.void=function(n){return o(n)(r.const(a.unit))},n.voidLeft=function(n){return function(e){return function(t){return o(n)(r.const(t))(e)}}},n.functorFn=i,n.functorArray=l}(PS["Data.Functor"]=PS["Data.Functor"]||{}),function(n){"use strict";var e=PS["Control.Apply"],t=PS["Control.Category"],r=PS["Data.Function"],a=PS["Data.Functor"],u=function(n,e){this.Functor0=n,this.apply=e},o=new u(function(){return a.functorArray},e.arrayApply),i=function(n){return n.apply};n.Apply=u,n.apply=i,n.applySecond=function(n){return function(e){return function(u){return i(n)(a.map(n.Functor0())(r.const(t.identity(t.categoryFn)))(e))(u)}}},n.lift2=function(n){return function(e){return function(t){return function(r){return i(n)(a.map(n.Functor0())(e)(t))(r)}}}},n.applyArray=o}(PS["Control.Apply"]=PS["Control.Apply"]||{}),function(n){"use strict";var e=PS["Control.Apply"],t=(PS["Data.Functor"],PS["Data.Unit"]),r=function(n){return n.pure};n.Applicative=function(n,e){this.Apply0=n,this.pure=e},n.pure=r,n.liftA1=function(n){return function(t){return function(a){return e.apply(n.Apply0())(r(n)(t))(a)}}},n.when=function(n){return function(e){return function(a){if(e)return a;if(!e)return r(n)(t.unit);throw new Error("Failed pattern match at Control.Applicative line 57, column 1 - line 57, column 63: "+[e.constructor.name,a.constructor.name])}}}}(PS["Control.Applicative"]=PS["Control.Applicative"]||{}),function(n){"use strict";var e=PS["Control.Bind"],t=(PS["Control.Applicative"],PS["Control.Apply"]),r=PS["Control.Category"],a=PS["Data.Function"],u=(PS["Data.Functor"],PS["Data.Unit"],function(n,e){this.Apply0=n,this.bind=e}),o=function(n){this.discard=n},i=new u(function(){return t.applyArray},e.arrayBind),l=function(n){return n.bind},c=function(n){return a.flip(l(n))},f=new o(function(n){return l(n)});n.Bind=u,n.bind=l,n.bindFlipped=c,n.Discard=o,n.discard=function(n){return n.discard},n.join=function(n){return function(e){return l(n)(e)(r.identity(r.categoryFn))}},n.composeKleisli=function(n){return function(e){return function(t){return function(r){return l(n)(e(r))(t)}}}},n.composeKleisliFlipped=function(n){return function(e){return function(t){return function(r){return c(n)(e)(t(r))}}}},n.bindArray=i,n.discardUnit=f}(PS["Control.Bind"]=PS["Control.Bind"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t<r;t++)for(var a=n[t],u=0,o=a.length;u<o;u++)e.push(a[u]);return e},n.filter=function(n){return function(e){return e.filter(n)}},n.slice=function(n){return function(e){return function(t){return t.slice(n,e)}}},n.drop=function(n){return function(e){return n<1?e:e.slice(n)}}}(PS["Data.Array"]=PS["Data.Array"]||{}),function(n){"use strict";PS["Data.Functor"],PS["Data.Semigroup"];n.Alt=function(n,e){this.Functor0=n,this.alt=e},n.alt=function(n){return n.alt}}(PS["Control.Alt"]=PS["Control.Alt"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Apply"],PS["Control.Bind"]);PS["Data.Functor"],PS["Data.Unit"];n.Monad=function(n,e){this.Applicative0=n,this.Bind1=e},n.ap=function(n){return function(r){return function(a){return t.bind(n.Bind1())(r)(function(r){return t.bind(n.Bind1())(a)(function(t){return e.pure(n.Applicative0())(r(t))})})}}}}(PS["Control.Monad"]=PS["Control.Monad"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=function(n){return n.bimap};n.bimap=t,n.Bifunctor=function(n){this.bimap=n},n.rmap=function(n){return t(n)(e.identity(e.categoryFn))}}(PS["Data.Bifunctor"]=PS["Data.Bifunctor"]||{}),function(n){"use strict";n.topInt=2147483647,n.bottomInt=-2147483648,n.topChar=String.fromCharCode(65535),n.bottomChar=String.fromCharCode(0)}(PS["Data.Bounded"]=PS["Data.Bounded"]||{}),function(n){"use strict";var e=PS["Data.Bounded"],t=PS["Data.Ord"],r=(PS["Data.Ordering"],PS["Data.Unit"],function(n,e,t){this.Ord0=n,this.bottom=e,this.top=t}),a=new r(function(){return t.ordInt},e.bottomInt,e.topInt),u=new r(function(){return t.ordChar},e.bottomChar,e.topChar);n.Bounded=r,n.bottom=function(n){return n.bottom},n.top=function(n){return n.top},n.boundedInt=a,n.boundedChar=u}(PS["Data.Bounded"]=PS["Data.Bounded"]||{}),function(n){"use strict";n.foldrArray=function(n){return function(e){return function(t){for(var r=e,a=t.length-1;a>=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,u=0;u<a;u++)r=n(r)(t[u]);return r}}}}(PS["Data.Foldable"]=PS["Data.Foldable"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Data.Functor"];n.Plus=function(n,e){this.Alt0=n,this.empty=e},n.empty=function(n){return n.empty}}(PS["Control.Plus"]=PS["Control.Plus"]||{}),function(n){"use strict";n.intDegree=function(n){return Math.min(Math.abs(n),2147483647)},n.intDiv=function(n){return function(e){return 0===e?0:e>0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(PS["Data.EuclideanRing"]=PS["Data.EuclideanRing"]||{}),function(n){"use strict";var e=PS["Data.Ring"],t=(PS["Data.Semiring"],PS["Data.Symbol"],PS["Data.Unit"],function(n){this.Ring0=n}),r=new t(function(){return e.ringInt});n.CommutativeRing=t,n.commutativeRingInt=r}(PS["Data.CommutativeRing"]=PS["Data.CommutativeRing"]||{}),function(n){"use strict";var e=PS["Data.EuclideanRing"],t=(PS["Data.BooleanAlgebra"],PS["Data.CommutativeRing"]),r=(PS["Data.Eq"],PS["Data.HeytingAlgebra"],PS["Data.Ring"],PS["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),a=new r(function(){return t.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=r,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=a}(PS["Data.EuclideanRing"]=PS["Data.EuclideanRing"]||{}),function(n){"use strict";PS["Data.Boolean"],PS["Data.Eq"],PS["Data.EuclideanRing"],PS["Data.Ord"],PS["Data.Ordering"];var e=PS["Data.Semigroup"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),r=new t(function(){return e.semigroupString},""),a=new t(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=t,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid line 74, column 1 - line 74, column 49: "+[e.constructor.name,t.constructor.name])}}},n.monoidFn=function(n){return new t(function(){return e.semigroupFn(n.Semigroup0())},function(e){return u(n)})},n.monoidString=r,n.monoidArray=a}(PS["Data.Monoid"]=PS["Data.Monoid"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"];var e=PS["Control.Apply"],t=PS["Control.Bind"],r=(PS["Control.Category"],PS["Control.Extend"],PS["Control.Monad"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Data.Bounded"],PS["Data.Eq"],PS["Data.Function"]),a=PS["Data.Functor"],u=(PS["Data.Functor.Invariant"],PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.Unit"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(n){return function(e){return function(t){if(t instanceof u)return n;if(t instanceof o)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe line 218, column 1 - line 218, column 51: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},l=i(!0)(r.const(!1)),c=i(!1)(r.const(!0)),f=new a.Functor(function(n){return function(e){return e instanceof o?new o(n(e.value0)):u.value}}),s=new e.Apply(function(){return f},function(n){return function(e){if(n instanceof o)return a.map(f)(n.value0)(e);if(n instanceof u)return u.value;throw new Error("Failed pattern match at Data.Maybe line 67, column 1 - line 67, column 35: "+[n.constructor.name,e.constructor.name])}}),d=new t.Bind(function(){return s},function(n){return function(e){if(n instanceof o)return e(n.value0);if(n instanceof u)return u.value;throw new Error("Failed pattern match at Data.Maybe line 126, column 1 - line 126, column 33: "+[n.constructor.name,e.constructor.name])}});n.Nothing=u,n.Just=o,n.maybe=i,n.isJust=c,n.isNothing=l,n.fromJust=function(n){return function(n){return function(){if(n instanceof o)return n.value0;throw new Error("Failed pattern match at Data.Maybe line 269, column 1 - line 269, column 46: "+[n.constructor.name])}()}},n.functorMaybe=f,n.applyMaybe=s,n.bindMaybe=d}(PS["Data.Maybe"]=PS["Data.Maybe"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad"],PS["Data.Bounded"],PS["Data.Eq"],PS["Data.Functor"];var e=PS["Data.HeytingAlgebra"],t=PS["Data.Monoid"],r=(PS["Data.Ord"],PS["Data.Semigroup"]),a=(PS["Data.Semiring"],PS["Data.Show"],PS.Prelude,function(n){return new r.Semigroup(function(t){return function(r){return e.disj(n)(t)(r)}})});n.Disj=function(n){return n},n.semigroupDisj=a,n.monoidDisj=function(n){return new t.Monoid(function(){return a(n)},e.ff(n))}}(PS["Data.Monoid.Disj"]=PS["Data.Monoid.Disj"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Function"];var e=PS["Data.Functor"],t=(PS["Data.Monoid.Additive"],PS["Data.Monoid.Conj"],PS["Data.Monoid.Disj"]),r=(PS["Data.Monoid.Dual"],PS["Data.Monoid.Endo"],PS["Data.Monoid.Multiplicative"],PS["Data.Semigroup.First"],PS["Data.Semigroup.Last"],PS.Prelude,function(n,e){this.unwrap=n,this.wrap=e}),a=function(n){return n.wrap},u=function(n){return n.unwrap},o=new r(function(n){return n},t.Disj);n.unwrap=u,n.wrap=a,n.Newtype=r,n.alaF=function(n){return function(t){return function(r){return function(o){return function(i){return function(i){return function(l){return e.map(t)(u(o))(i(e.map(n)(a(r))(l)))}}}}}}},n.newtypeDisj=o}(PS["Data.Newtype"]=PS["Data.Newtype"]||{}),function(n){"use strict";var e=PS["Data.Foldable"],t=(PS["Control.Alt"],PS["Control.Applicative"]),r=PS["Control.Apply"],a=(PS["Control.Bind"],PS["Control.Category"]),u=(PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Function"]),o=PS["Data.Functor"],i=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),l=(PS["Data.Maybe.First"],PS["Data.Maybe.Last"],PS["Data.Monoid"]),c=(PS["Data.Monoid.Additive"],PS["Data.Monoid.Conj"],PS["Data.Monoid.Disj"]),f=(PS["Data.Monoid.Dual"],PS["Data.Monoid.Endo"],PS["Data.Monoid.Multiplicative"],PS["Data.Newtype"]),s=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"]),d=(PS["Data.Semiring"],PS["Data.Unit"]),S=(PS.Prelude,function(n,e,t){this.foldMap=n,this.foldl=e,this.foldr=t}),P=function(n){return n.foldr},v=function(n){return function(e){return function(a){return P(e)(function(e){return r.applySecond(n.Apply0())(a(e))})(t.pure(n)(d.unit))}}},p=function(n){return n.foldl},m=new S(function(n){return function(e){return function(t){if(t instanceof i.Nothing)return l.mempty(n);if(t instanceof i.Just)return e(t.value0);throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[e.constructor.name,t.constructor.name])}}},function(n){return function(e){return function(t){if(t instanceof i.Nothing)return e;if(t instanceof i.Just)return n(e)(t.value0);throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},function(n){return function(e){return function(t){if(t instanceof i.Nothing)return e;if(t instanceof i.Just)return n(t.value0)(e);throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}}),D=function(n){return function(e){return function(t){return P(n)(function(n){return function(r){return s.append(e.Semigroup0())(t(n))(r)}})(l.mempty(e))}}},b=new S(function(n){return D(b)(n)},e.foldlArray,e.foldrArray),g=function(n){return n.foldMap};n.Foldable=S,n.foldr=P,n.foldl=p,n.foldMap=g,n.foldMapDefaultR=D,n.traverse_=v,n.for_=function(n){return function(e){return u.flip(v(n)(e))}},n.sequence_=function(n){return function(e){return v(n)(e)(a.identity(a.categoryFn))}},n.intercalate=function(n){return function(e){return function(t){return function(r){return p(n)(function(n){return function(r){return n.init?{init:!1,acc:r}:{init:!1,acc:s.append(e.Semigroup0())(n.acc)(s.append(e.Semigroup0())(t)(r))}}})({init:!0,acc:l.mempty(e)})(r).acc}}}},n.any=function(n){return function(e){return f.alaF(o.functorFn)(o.functorFn)(f.newtypeDisj)(f.newtypeDisj)(c.Disj)(g(n)(c.monoidDisj(e)))}},n.find=function(n){return function(e){return p(n)(function(n){return function(t){return n instanceof i.Nothing&&e(t)?new i.Just(t):n}})(i.Nothing.value)}},n.foldableArray=b,n.foldableMaybe=m}(PS["Data.Foldable"]=PS["Data.Foldable"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Applicative"];var e=PS["Control.Apply"],t=(PS["Control.Bind"],PS["Control.Extend"],PS["Control.Monad"],PS["Control.Semigroupoid"],PS["Data.Bifoldable"],PS["Data.Bifunctor"]),r=(PS["Data.Bitraversable"],PS["Data.Bounded"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.Functor.Invariant"],PS["Data.Maybe"],PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.Traversable"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=new r.Functor(function(n){return function(e){if(e instanceof a)return new a(e.value0);if(e instanceof u)return new u(n(e.value0));throw new Error("Failed pattern match at Data.Either line 35, column 8 - line 35, column 52: "+[e.constructor.name])}}),i=new t.Bifunctor(function(n){return function(e){return function(t){if(t instanceof a)return new a(n(t.value0));if(t instanceof u)return new u(e(t.value0));throw new Error("Failed pattern match at Data.Either line 40, column 1 - line 40, column 45: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}}),l=new e.Apply(function(){return o},function(n){return function(e){if(n instanceof a)return new a(n.value0);if(n instanceof u)return r.map(o)(n.value0)(e);throw new Error("Failed pattern match at Data.Either line 76, column 1 - line 76, column 41: "+[n.constructor.name,e.constructor.name])}});n.Left=a,n.Right=u,n.either=function(n){return function(e){return function(t){if(t instanceof a)return n(t.value0);if(t instanceof u)return e(t.value0);throw new Error("Failed pattern match at Data.Either line 220, column 1 - line 220, column 64: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},n.functorEither=o,n.bifunctorEither=i,n.applyEither=l}(PS["Data.Either"]=PS["Data.Either"]||{}),function(n){"use strict";PS["Control.Alt"];var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Lazy"],PS["Control.Monad"]),u=(PS["Data.BooleanAlgebra"],PS["Data.Bounded"],PS["Data.CommutativeRing"],PS["Data.Eq"],PS["Data.EuclideanRing"],PS["Data.Foldable"],PS["Data.Functor"]),o=(PS["Data.Functor.Invariant"],PS["Data.HeytingAlgebra"],PS["Data.Monoid"],PS["Data.Newtype"]),i=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS.Prelude,function(n){return n}),l=new o.Newtype(function(n){return n},i),c=new u.Functor(function(n){return function(e){return n(e)}}),f=new t.Apply(function(){return c},function(n){return function(e){return n(e)}}),s=new r.Bind(function(){return f},function(n){return function(e){return e(n)}}),d=new e.Applicative(function(){return f},i),S=new a.Monad(function(){return d},function(){return s});n.Identity=i,n.newtypeIdentity=l,n.functorIdentity=c,n.applyIdentity=f,n.applicativeIdentity=d,n.bindIdentity=s,n.monadIdentity=S}(PS["Data.Identity"]=PS["Data.Identity"]||{}),function(n){"use strict";n.pureE=function(n){return function(){return n}},n.bindE=function(n){return function(e){return function(){return e(n())()}}},n.foreachE=function(n){return function(e){return function(){for(var t=0,r=n.length;t<r;t++)e(n[t])()}}}}(PS.Effect=PS.Effect||{}),function(n){"use strict";var e=PS.Effect,t=PS["Control.Applicative"],r=PS["Control.Apply"],a=PS["Control.Bind"],u=PS["Control.Monad"],o=PS["Data.Functor"],i=(PS["Data.Monoid"],PS["Data.Semigroup"],PS.Prelude,new u.Monad(function(){return f},function(){return l})),l=new a.Bind(function(){return c},e.bindE),c=new r.Apply(function(){return s},u.ap(i)),f=new t.Applicative(function(){return c},e.pureE),s=new o.Functor(t.liftA1(f));n.functorEffect=s,n.applyEffect=c,n.applicativeEffect=f,n.bindEffect=l,n.monadEffect=i,n.foreachE=e.foreachE}(PS.Effect=PS.Effect||{}),function(n){"use strict";n.new=function(n){return function(){return{value:n}}},n.read=function(n){return function(){return n.value}},n["modify'"]=function(n){return function(e){return function(){var t=n(e.value);return e.value=t.state,t.value}}},n.write=function(n){return function(e){return function(){return e.value=n,{}}}}}(PS["Effect.Ref"]=PS["Effect.Ref"]||{}),function(n){"use strict";var e=PS["Effect.Ref"],t=(PS["Data.Function"],PS["Data.Functor"]),r=PS.Effect,a=(PS.Prelude,function(n){return e["modify'"](function(e){var t=n(e);return{state:t,value:t}})});n.modify=a,n.modify_=function(n){return function(e){return t.void(r.functorEffect)(a(n)(e))}},n.new=e.new,n.read=e.read,n["modify'"]=e["modify'"],n.write=e.write}(PS["Effect.Ref"]=PS["Effect.Ref"]||{}),function(n){"use strict";(PS["Partial.Unsafe"]=PS["Partial.Unsafe"]||{}).unsafePartial=function(n){return n()}}(),function(n){"use strict";(PS["Partial"]=PS["Partial"]||{}).crashWith=function(){return function(n){throw new Error(n)}}}(),function(n){"use strict";var e=PS.Partial;n.crashWith=e.crashWith}(PS.Partial=PS.Partial||{}),function(n){"use strict";var e=PS["Partial.Unsafe"],t=PS.Partial;n.unsafeCrashWith=function(n){return e.unsafePartial(function(e){return t.crashWith(e)(n)})}}(PS["Partial.Unsafe"]=PS["Partial.Unsafe"]||{}),function(n){"use strict";PS["Control.Applicative"];var e=PS["Control.Bind"],t=(PS["Control.Monad"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Either"],PS["Data.Functor"]),r=(PS["Data.Identity"],PS["Data.Maybe"],PS["Data.Unit"],PS.Effect),a=PS["Effect.Ref"],u=(PS["Partial.Unsafe"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(n,e){this.Monad0=n,this.tailRecM=e},l=new i(function(){return r.monadEffect},function(n){return function(i){var l=function(n){return function(){if(n instanceof o)return n.value0;throw new Error("Failed pattern match at Control.Monad.Rec.Class line 111, column 30 - line 111, column 44: "+[n.constructor.name])}()};return function(){var c=e.bindFlipped(r.bindEffect)(a.new)(n(i))();return function(){for(;!function(){var e=a.read(c)();if(e instanceof u){var t=n(e.value0)();a.write(t)(c)();return!1}if(e instanceof o)return!0;throw new Error("Failed pattern match at Control.Monad.Rec.Class line 102, column 22 - line 107, column 28: "+[e.constructor.name])}(););}(),t.map(r.functorEffect)(l)(a.read(c))()}}});n.Loop=u,n.Done=o,n.MonadRec=i,n.tailRecM=function(n){return n.tailRecM},n.monadRecEffect=l}(PS["Control.Monad.Rec.Class"]=PS["Control.Monad.Rec.Class"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Biapplicative"],PS["Control.Biapply"],PS["Control.Bind"],PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Lazy"],PS["Control.Monad"],PS["Control.Semigroupoid"],PS["Data.Bifoldable"],PS["Data.Bifunctor"],PS["Data.Bitraversable"],PS["Data.BooleanAlgebra"],PS["Data.Bounded"],PS["Data.CommutativeRing"],PS["Data.Distributive"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"];var e=PS["Data.Functor"],t=(PS["Data.Functor.Invariant"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Maybe.First"],PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Unit"],PS.Prelude,PS["Type.Equality"],function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),r=new e.Functor(function(n){return function(e){return new t(e.value0,n(e.value1))}});n.Tuple=t,n.fst=function(n){return n.value0},n.snd=function(n){return n.value1},n.functorTuple=r}(PS["Data.Tuple"]=PS["Data.Tuple"]||{}),function(n){"use strict";(PS["Data.Unfoldable"]=PS["Data.Unfoldable"]||{}).unfoldrArrayImpl=function(n){return function(e){return function(t){return function(r){return function(a){return function(u){for(var o=[],i=u;;){var l=a(i);if(n(l))return o;var c=e(l);o.push(t(c)),i=r(c)}}}}}}}}(),function(n){"use strict";(PS["Data.Unfoldable1"]=PS["Data.Unfoldable1"]||{}).unfoldr1ArrayImpl=function(n){return function(e){return function(t){return function(r){return function(a){return function(u){for(var o=[],i=u;;){var l=a(i);o.push(t(l));var c=r(l);if(n(c))return o;i=e(c)}}}}}}}}(),function(n){"use strict";var e=PS["Data.Unfoldable1"],t=(PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Maybe"]),r=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup.Traversable"],PS["Data.Semiring"],PS["Data.Tuple"]),a=(PS["Partial.Unsafe"],PS.Prelude,function(n){this.unfoldr1=n}),u=new a(e.unfoldr1ArrayImpl(t.isNothing)(t.fromJust())(r.fst)(r.snd));n.Unfoldable1=a,n.unfoldr1=function(n){return n.unfoldr1},n.unfoldable1Array=u}(PS["Data.Unfoldable1"]=PS["Data.Unfoldable1"]||{}),function(n){"use strict";var e=PS["Data.Unfoldable"],t=(PS["Data.Function"],PS["Data.Functor"],PS["Data.Maybe"]),r=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Traversable"],PS["Data.Tuple"]),a=PS["Data.Unfoldable1"],u=(PS["Data.Unit"],PS["Partial.Unsafe"],PS.Prelude,function(n,e){this.Unfoldable10=n,this.unfoldr=e}),o=new u(function(){return a.unfoldable1Array},e.unfoldrArrayImpl(t.isNothing)(t.fromJust())(r.fst)(r.snd));n.Unfoldable=u,n.unfoldr=function(n){return n.unfoldr},n.unfoldableArray=o}(PS["Data.Unfoldable"]=PS["Data.Unfoldable"]||{}),function(n){"use strict";(PS["Unsafe.Coerce"]=PS["Unsafe.Coerce"]||{}).unsafeCoerce=function(n){return n}}(),function(n){"use strict";var e=PS["Unsafe.Coerce"];n.unsafeCoerce=e.unsafeCoerce}(PS["Unsafe.Coerce"]=PS["Unsafe.Coerce"]||{}),function(n){"use strict";var e=PS["Data.Array"],t=(PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"]),r=(PS["Control.Category"],PS["Control.Lazy"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.ST"],PS["Control.Monad.ST.Internal"],PS["Control.Semigroupoid"],PS["Data.Array.NonEmpty.Internal"],PS["Data.Array.ST"],PS["Data.Array.ST.Iterator"],PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"]),a=(PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),u=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Partial.Unsafe"],PS.Prelude,PS["Unsafe.Coerce"],function(n){return[n]}),o=r.flip(t.bind(t.bindArray));n.singleton=u,n.concatMap=o,n.mapMaybe=function(n){return o(function(e){return a.maybe([])(u)(n(e))})},n.length=e.length,n.cons=e.cons,n.snoc=e.snoc,n.filter=e.filter,n.drop=e.drop}(PS["Data.Array"]=PS["Data.Array"]||{}),function(n){"use strict";n.replace=function(n){return function(e){return function(t){return t.replace(n,e)}}},n.replaceAll=function(n){return function(e){return function(t){return t.replace(new RegExp(n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),e)}}},n.split=function(n){return function(e){return e.split(n)}},n.joinWith=function(n){return function(e){return e.join(n)}}}(PS["Data.String.Common"]=PS["Data.String.Common"]||{}),function(n){"use strict";var e=PS["Data.String.Common"];PS["Data.Eq"],PS["Data.Ordering"],PS["Data.String.Pattern"],PS.Prelude;n.null=function(n){return""===n},n.replaceAll=e.replaceAll,n.split=e.split,n.joinWith=e.joinWith}(PS["Data.String.Common"]=PS["Data.String.Common"]||{}),function(n){"use strict";n.unsafeStringify=function(n){return JSON.stringify(n)},n.unsafeDecodeURIComponent=decodeURIComponent,n.unsafeEncodeURIComponent=encodeURIComponent}(PS["Global.Unsafe"]=PS["Global.Unsafe"]||{}),function(n){"use strict";var e=PS["Global.Unsafe"];n.unsafeStringify=e.unsafeStringify,n.unsafeDecodeURIComponent=e.unsafeDecodeURIComponent,n.unsafeEncodeURIComponent=e.unsafeEncodeURIComponent}(PS["Global.Unsafe"]=PS["Global.Unsafe"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Eq"];var e,t=PS["Data.Functor"],r=PS["Data.Maybe"],a=(PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.String"],PS["Data.String.Common"]),u=(PS["Data.Tuple"],PS["Global.Unsafe"]),o=(PS.Prelude,function(n){return n}),i=(e=function(n){if(n.value1 instanceof r.Nothing)return u.unsafeEncodeURIComponent(n.value0);if(n.value1 instanceof r.Just)return u.unsafeEncodeURIComponent(n.value0)+"="+u.unsafeEncodeURIComponent(n.value1.value0);throw new Error("Failed pattern match at Data.FormURLEncoded line 35, column 18 - line 37, column 89: "+[n.constructor.name])},function(n){return a.joinWith("&")(t.map(t.functorArray)(e)(o(n)))});n.toArray=o,n.encode=i}(PS["Data.FormURLEncoded"]=PS["Data.FormURLEncoded"]||{}),function(n){"use strict";var e=PS["Data.Either"],t=(PS["Data.Eq"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"]),r=(PS["Data.String"],PS["Data.String.Common"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),a=function(){function n(){}return n.value=new n,n}(),u=function(){function n(){}return n.value=new n,n}(),o=function(){function n(){}return n.value=new n,n}(),i=function(){function n(){}return n.value=new n,n}(),l=function(){function n(){}return n.value=new n,n}(),c=function(){function n(){}return n.value=new n,n}(),f=function(){function n(){}return n.value=new n,n}(),s=function(){function n(){}return n.value=new n,n}(),d=function(){function n(){}return n.value=new n,n}(),S=function(){function n(){}return n.value=new n,n}(),P=function(){function n(){}return n.value=new n,n}(),v=function(){function n(){}return n.value=new n,n}(),p=function(){function n(){}return n.value=new n,n}(),m=function(){function n(){}return n.value=new n,n}(),D=function(){function n(){}return n.value=new n,n}(),b=function(n){return n},g=new t.Show(function(n){if(n instanceof r)return"OPTIONS";if(n instanceof a)return"GET";if(n instanceof u)return"HEAD";if(n instanceof o)return"POST";if(n instanceof i)return"PUT";if(n instanceof l)return"DELETE";if(n instanceof c)return"TRACE";if(n instanceof f)return"CONNECT";if(n instanceof s)return"PROPFIND";if(n instanceof d)return"PROPPATCH";if(n instanceof S)return"MKCOL";if(n instanceof P)return"COPY";if(n instanceof v)return"MOVE";if(n instanceof p)return"LOCK";if(n instanceof m)return"UNLOCK";if(n instanceof D)return"PATCH";throw new Error("Failed pattern match at Data.HTTP.Method line 40, column 1 - line 40, column 35: "+[n.constructor.name])}),h=e.either(t.show(g))(b);n.OPTIONS=r,n.GET=a,n.HEAD=u,n.POST=o,n.PUT=i,n.DELETE=l,n.TRACE=c,n.CONNECT=f,n.PROPFIND=s,n.PROPPATCH=d,n.MKCOL=S,n.COPY=P,n.MOVE=v,n.LOCK=p,n.UNLOCK=m,n.PATCH=D,n.unCustomMethod=b,n.print=h,n.showMethod=g}(PS["Data.HTTP.Method"]=PS["Data.HTTP.Method"]||{}),function(n){"use strict";PS["Data.Eq"];var e=PS["Data.Newtype"],t=(PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Show"],PS.Prelude,function(n){return n}),r=new e.Newtype(function(n){return n},t);n.MediaType=t,n.newtypeMediaType=r}(PS["Data.MediaType"]=PS["Data.MediaType"]||{}),function(n){"use strict";PS["Data.MediaType"];n.applicationFormURLEncoded="application/x-www-form-urlencoded",n.applicationJSON="application/json"}(PS["Data.MediaType.Common"]=PS["Data.MediaType.Common"]||{}),function(n){"use strict";var e=function(){var n={},e="Pure",t="Throw",r="Catch",a="Sync",u="Async",o="Bind",i="Bracket",l="Fork",c="Sequential",f="Map",s="Apply",d="Alt",S="Cons",P="Resume",v="Release",p="Finalizer",m="Finalized",D="Forked";function b(n,e,t,r){this.tag=n,this._1=e,this._2=t,this._3=r}function g(n){var e=function(e,t,r){return new b(n,e,t,r)};return e.tag=n,e}function h(n){return new b(e,void 0)}function w(n){try{n()}catch(n){setTimeout(function(){throw n},0)}}function E(n,e,t){try{return e(t())}catch(e){return n(e)}}function y(n,e,t){try{return e(t)()}catch(e){return t(n(e))(),h}}var M=function(){var n=1024,e=0,t=0,r=new Array(n),a=!1;function u(){var u;for(a=!0;0!==e;)e--,u=r[t],r[t]=void 0,t=(t+1)%n,u();a=!1}return{isDraining:function(){return a},enqueue:function(o){var i;e===n&&(i=a,u(),a=i),r[(t+e)%n]=o,e++,a||u()}}}();var C=0,T=1,A=2,F=3,H=4,L=5,_=6;function O(n,f,s){var d=0,D=C,g=s,h=null,I=null,N=null,x=null,U=null,R=0,k=0,B=null,q=!0;function j(s){for(var k,V,J;;)switch(k=null,V=null,J=null,null,D){case A:D=T,g=N(g),null===x?N=null:(N=x._1,x=x._2);break;case F:n.isLeft(g)?(D=L,h=g,g=null):null===N?D=L:(D=A,g=n.fromRight(g));break;case T:switch(g.tag){case o:N&&(x=new b(S,N,x)),N=g._2,D=T,g=g._1;break;case e:null===N?(D=L,g=n.right(g._1)):(D=A,g=g._1);break;case a:D=F,g=E(n.left,n.right,g._1);break;case u:return D=H,void(g=y(n.left,g._1,function(n){return function(){d===s&&(d++,M.enqueue(function(){D=F,g=n,j(d)}))}}));case t:D=L,h=n.left(g._1),g=null;break;case r:U=new b(S,g,null===N?U:new b(S,new b(P,N,x),U,I),I),N=null,x=null,D=T,g=g._1;break;case i:R++,U=new b(S,g,null===N?U:new b(S,new b(P,N,x),U,I),I),N=null,x=null,D=T,g=g._1;break;case l:D=F,k=O(n,f,g._2),f&&f.register(k),g._1&&k.run(),g=n.right(k);break;case c:D=T,g=W(n,f,g._1)}break;case L:if(N=null,x=null,null===U)D=_,g=I||h||g;else switch(k=U._3,J=U._1,U=U._2,J.tag){case r:I&&I!==k?D=L:h&&(D=T,g=J._2(n.fromLeft(h)),h=null);break;case P:I&&I!==k||h?D=L:(N=J._1,x=J._2,D=A,g=n.fromRight(g));break;case i:R--,null===h&&(V=n.fromRight(g),U=new b(S,new b(v,J._2,V),U,k),(I===k||R>0)&&(D=T,g=J._3(V)));break;case v:R++,U=new b(S,new b(m,g),U,I),D=T,g=I&&I!==k?J._1.killed(n.fromLeft(I))(J._2):h?J._1.failed(n.fromLeft(h))(J._2):J._1.completed(n.fromRight(g))(J._2);break;case p:R++,U=new b(S,new b(m,g),U,I),D=T,g=J._1;break;case m:R--,D=L,g=J._1}break;case _:for(var Q in B)B.hasOwnProperty(Q)&&(q=q&&B[Q].rethrow,w(B[Q].handler(g)));return B=null,void(I&&h?setTimeout(function(){throw n.fromLeft(h)},0):n.isLeft(g)&&q&&setTimeout(function(){if(q)throw n.fromLeft(g)},0));case C:D=T;break;case H:return}}function V(n){return function(){if(D===_)return q=q&&n.rethrow,n.handler(g)(),function(){};var e=k++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(D===_)return t(n.right(void 0))(),function(){};var r=V({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(D){case C:I=n.left(e),D=_,g=I,j(d);break;case H:null===I&&(I=n.left(e)),0===R&&(D===H&&(U=new b(S,new b(p,g(e)),U,I)),D=L,g=null,h=null,j(++d));break;default:null===I&&(I=n.left(e)),0===R&&(D=L,g=null,h=null)}return r}},join:function(n){return function(){var e=V({rethrow:!1,handler:n})();return D===C&&j(d),e}},onComplete:V,isSuspended:function(){return D===C},run:function(){D===C&&(M.isDraining()?j(d):M.enqueue(function(){j(d)}))}}}function I(e,t,r,a){var o=0,i={},l=0,c={},P=new Error("[ParAff] Early exit"),v=null,p=n;function m(t,r,a){var u,o,l=r,c=null,P=null,v=0,p={};n:for(;;)switch(u=null,l.tag){case D:if(l._3===n&&(u=i[l._1],p[v++]=u.kill(t,function(n){return function(){0===--v&&a(n)()}})),null===c)break n;l=c._2,null===P?c=null:(c=P._1,P=P._2);break;case f:l=l._2;break;case s:case d:c&&(P=new b(S,c,P)),c=l,l=l._1}if(0===v)a(e.right(void 0))();else for(o=0,u=v;o<u;o++)p[o]=p[o]();return p}function g(t){return function(r){return function(){delete i[t._1],t._3=r,function t(r,u,o){var i,S,p,D,b,g;for(e.isLeft(r)?(i=r,S=null):(S=r,i=null);;){if(p=null,D=null,b=null,g=null,null!==v)return;if(null===u)return void a(i||S)();if(u._3!==n)return;switch(u.tag){case f:null===i?(u._3=e.right(u._1(e.fromRight(S))),S=u._3):u._3=i;break;case s:if(p=u._1._3,D=u._2._3,i){if(u._3=i,b=!0,g=l++,c[g]=m(P,i===p?u._2:u._1,function(){return function(){delete c[g],b?b=!1:null===o?t(S,null,null):t(S,o._1,o._2)}}),b)return void(b=!1)}else{if(p===n||D===n)return;S=e.right(e.fromRight(p)(e.fromRight(D))),u._3=S}break;case d:if(p=u._1._3,D=u._2._3,p===n&&e.isLeft(D)||D===n&&e.isLeft(p))return;if(p!==n&&e.isLeft(p)&&D!==n&&e.isLeft(D))i=S===p?D:p,S=null,u._3=i;else if(u._3=S,b=!0,g=l++,c[g]=m(P,S===p?u._2:u._1,function(){return function(){delete c[g],b?b=!1:null===o?t(S,null,null):t(S,o._1,o._2)}}),b)return void(b=!1)}null===o?u=null:(u=o._1,o=o._2)}}(r,t._2._1,t._2._2)}}}return function(){var a,u,l=T,c=r,P=null,v=null;n:for(;;)switch(a=null,u=null,l){case T:switch(c.tag){case f:P&&(v=new b(S,P,v)),P=new b(f,c._1,n,n),c=c._2;break;case s:P&&(v=new b(S,P,v)),P=new b(s,n,c._2,n),c=c._1;break;case d:P&&(v=new b(S,P,v)),P=new b(d,n,c._2,n),c=c._1;break;default:u=o++,l=L,a=c,c=new b(D,u,new b(S,P,v),n),(a=O(e,t,a)).onComplete({rethrow:!1,handler:g(c)})(),i[u]=a,t&&t.register(a)}break;case L:if(null===P)break n;P._1===n?(P._1=c,l=T,c=P._2,P._2=n):(P._2=c,c=P,null===v?P=null:(P=v._1,v=v._2))}for(p=c,u=0;u<o;u++)i[u].run()}(),function(n){return new b(u,function(t){return function(){return function(n,t){var r;for(var a in v=e.left(n),c)if(c.hasOwnProperty(a))for(a in r=c[a])r.hasOwnProperty(a)&&r[a]();c=null;var o=m(n,p,t);return function(n){return new b(u,function(n){return function(){for(var n in o)o.hasOwnProperty(n)&&o[n]();return h}})}}(n,t)}})}}function W(n,e,t){return new b(u,function(r){return function(){return I(n,e,t,r)}})}return b.EMPTY=n,b.Pure=g(e),b.Throw=g(t),b.Catch=g(r),b.Sync=g(a),b.Async=g(u),b.Bind=g(o),b.Bracket=g(i),b.Fork=g(l),b.Seq=g(c),b.ParMap=g(f),b.ParApply=g(s),b.ParAlt=g(d),b.Fiber=O,b.Supervisor=function(n){var e={},t=0,r=0;return{register:function(n){var a=t++;n.onComplete({rethrow:!0,handler:function(n){return function(){r--,delete e[a]}}}),e[a]=n,r++},isEmpty:function(){return 0===r},killAll:function(u,o){return function(){var i=0,l={};function c(t){l[t]=e[t].kill(u,function(e){return function(){delete l[t],i--,n.isLeft(e)&&n.fromLeft(e)&&setTimeout(function(){throw n.fromLeft(e)},0),0===i&&o()}})()}for(var f in e)e.hasOwnProperty(f)&&(i++,c(f));return e={},t=0,r=0,function(n){return new b(a,function(){for(var n in l)l.hasOwnProperty(n)&&l[n]()})}}}}},b.Scheduler=M,b.nonCanceler=h,b}();n._pure=e.Pure,n._throwError=e.Throw,n._catchError=function(n){return function(t){return e.Catch(n,t)}},n._map=function(n){return function(t){return t.tag===e.Pure.tag?e.Pure(n(t._1)):e.Bind(t,function(t){return e.Pure(n(t))})}},n._bind=function(n){return function(t){return e.Bind(n,t)}},n._fork=function(n){return function(t){return e.Fork(n,t)}},n._liftEffect=e.Sync,n._parAffMap=function(n){return function(t){return e.ParMap(n,t)}},n._parAffApply=function(n){return function(t){return e.ParApply(n,t)}},n.makeAff=e.Async,n._makeFiber=function(n,t){return function(){return e.Fiber(n,null,t)}},n._sequential=e.Seq}(PS["Effect.Aff"]=PS["Effect.Aff"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Bind"],PS["Control.Semigroupoid"],PS["Data.Either"]),r=(PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.Maybe"],PS["Data.Unit"],PS.Prelude,function(n){return n.catchError});n.catchError=a,n.throwError=function(n){return n.throwError},n.MonadThrow=function(n,e){this.Monad0=n,this.throwError=e},n.MonadError=function(n,e){this.MonadThrow0=n,this.catchError=e},n.try=function(n){return function(u){return a(n)(r.map(n.MonadThrow0().Monad0().Bind1().Apply0().Functor0())(t.Right.create)(u))(function(r){return e.pure(n.MonadThrow0().Monad0().Applicative0())(t.Left.create(r))})}}}(PS["Control.Monad.Error.Class"]=PS["Control.Monad.Error.Class"]||{}),function(n){"use strict";var e=PS["Data.Tuple"],t=PS["Data.Unit"],r=(PS.Prelude,function(n){return n.state});n.state=r,n.MonadState=function(n,e){this.Monad0=n,this.state=e},n.get=function(n){return r(n)(function(n){return new e.Tuple(n,n)})},n.gets=function(n){return function(t){return r(n)(function(n){return new e.Tuple(t(n),n)})}},n.put=function(n){return function(a){return r(n)(function(n){return new e.Tuple(t.unit,a)})}},n.modify_=function(n){return function(a){return r(n)(function(n){return new e.Tuple(t.unit,a(n))})}}}(PS["Control.Monad.State.Class"]=PS["Control.Monad.State.Class"]||{}),function(n){"use strict";PS.Prelude;n.lift=function(n){return n.lift},n.MonadTrans=function(n){this.lift=n}}(PS["Control.Monad.Trans.Class"]=PS["Control.Monad.Trans.Class"]||{}),function(n){"use strict";PS["Control.Category"],PS["Control.Monad"],PS.Effect;n.liftEffect=function(n){return n.liftEffect},n.MonadEffect=function(n,e){this.Monad0=n,this.liftEffect=e}}(PS["Effect.Class"]=PS["Effect.Class"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"];var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=(PS["Control.Monad.Cont.Class"],PS["Control.Monad.Error.Class"]),o=(PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Class"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Either"]),i=(PS["Data.Function"],PS["Data.Functor"]),l=(PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Semigroup"],PS["Data.Tuple"],PS["Effect.Class"],PS.Prelude,function(n){return n}),c=function(n){return function(e){return n(e)}},f=function(n){return new i.Functor(function(e){return c(i.map(n)(i.map(o.functorEither)(e)))})},s=function(n){return new a.Monad(function(){return P(n)},function(){return d(n)})},d=function(n){return new r.Bind(function(){return S(n)},function(t){return function(a){return r.bind(n.Bind1())(t)(o.either(function(t){return e.pure(n.Applicative0())(o.Left.create(t))})(function(n){return a(n)}))}})},S=function(n){return new t.Apply(function(){return f(n.Bind1().Apply0().Functor0())},a.ap(s(n)))},P=function(n){return new e.Applicative(function(){return S(n)},function(t){return l(e.pure(n.Applicative0())(o.Right.create(t)))})};n.ExceptT=l,n.runExceptT=function(n){return n},n.mapExceptT=c,n.functorExceptT=f,n.applyExceptT=S,n.applicativeExceptT=P,n.bindExceptT=d,n.monadExceptT=s,n.monadThrowExceptT=function(n){return new u.MonadThrow(function(){return s(n)},function(t){return l(e.pure(n.Applicative0())(o.Left.create(t)))})}}(PS["Control.Monad.Except.Trans"]=PS["Control.Monad.Except.Trans"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Monad"],PS["Control.Monad.Cont.Class"],PS["Control.Monad.Error.Class"],PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Class"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Tuple"],PS["Effect.Class"],PS.Prelude;n.MaybeT=function(n){return n}}(PS["Control.Monad.Maybe.Trans"]=PS["Control.Monad.Maybe.Trans"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad.Cont.Trans"],PS["Control.Monad.Except.Trans"],PS["Control.Monad.Maybe.Trans"],PS["Control.Monad.Reader.Trans"],PS["Control.Monad.Writer.Trans"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Either"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Functor.Compose"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Unit"],PS["Effect.Class"],PS["Effect.Ref"],PS.Prelude;n.parallel=function(n){return n.parallel},n.sequential=function(n){return n.sequential},n.Parallel=function(n,e,t,r){this.Applicative1=n,this.Monad0=e,this.parallel=t,this.sequential=r}}(PS["Control.Parallel.Class"]=PS["Control.Parallel.Class"]||{}),function(n){"use strict";PS["Control.Alternative"],PS["Control.Apply"];var e=PS["Control.Category"],t=PS["Control.Parallel.Class"],r=(PS["Control.Semigroupoid"],PS["Data.Foldable"]),a=(PS["Data.Traversable"],PS.Prelude,function(n){return function(e){return function(a){return function(u){return t.sequential(n)(r.traverse_(n.Applicative1())(e)(function(e){return t.parallel(n)(a(e))})(u))}}}});n.parTraverse_=a,n.parSequence_=function(n){return function(t){return a(n)(t)(e.identity(e.categoryFn))}}}(PS["Control.Parallel"]=PS["Control.Parallel"]||{}),function(n){"use strict";(PS["Data.Function.Uncurried"]=PS["Data.Function.Uncurried"]||{}).runFn4=function(n){return function(e){return function(t){return function(r){return function(a){return n(e,t,r,a)}}}}}}(),function(n){"use strict";var e=PS["Data.Function.Uncurried"];PS["Data.Unit"];n.runFn4=e.runFn4}(PS["Data.Function.Uncurried"]=PS["Data.Function.Uncurried"]||{}),function(n){"use strict";n.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(PS["Effect.Exception"]=PS["Effect.Exception"]||{}),function(n){"use strict";var e=PS["Effect.Exception"];PS["Control.Applicative"],PS["Control.Semigroupoid"],PS["Data.Either"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Show"],PS.Effect,PS.Prelude;n.throw=function(n){return e.throwException(e.error(n))},n.error=e.error,n.throwException=e.throwException}(PS["Effect.Exception"]=PS["Effect.Exception"]||{}),function(n){"use strict";(PS["Effect.Unsafe"]=PS["Effect.Unsafe"]||{}).unsafePerformEffect=function(n){return n()}}(),function(n){"use strict";var e=PS["Effect.Unsafe"];PS.Effect;n.unsafePerformEffect=e.unsafePerformEffect}(PS["Effect.Unsafe"]=PS["Effect.Unsafe"]||{}),function(n){"use strict";var e=PS["Effect.Aff"],t=(PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"]),r=PS["Control.Apply"],a=PS["Control.Bind"],u=(PS["Control.Lazy"],PS["Control.Monad"]),o=PS["Control.Monad.Error.Class"],i=PS["Control.Monad.Rec.Class"],l=(PS["Control.Parallel"],PS["Control.Parallel.Class"]),c=(PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Either"]),f=(PS["Data.Foldable"],PS["Data.Function"]),s=(PS["Data.Function.Uncurried"],PS["Data.Functor"]),d=(PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Semigroup"],PS["Data.Time.Duration"],PS["Data.Unit"]),S=PS.Effect,P=PS["Effect.Class"],v=(PS["Effect.Exception"],PS["Effect.Unsafe"]),p=PS["Partial.Unsafe"],m=(PS.Prelude,PS["Unsafe.Coerce"]),D=function(n){return n},b=e._fork(!1),g=new s.Functor(e._parAffMap),h=new s.Functor(e._map),w=e._fork(!0),E={isLeft:function(n){if(n instanceof c.Left)return!0;if(n instanceof c.Right)return!1;throw new Error("Failed pattern match at Effect.Aff line 385, column 12 - line 387, column 20: "+[n.constructor.name])},fromLeft:function(n){if(n instanceof c.Left)return n.value0;if(n instanceof c.Right)return p.unsafeCrashWith("unsafeFromLeft: Right");throw new Error("Failed pattern match at Effect.Aff line 390, column 20 - line 394, column 3: "+[n.constructor.name])},fromRight:function(n){if(n instanceof c.Right)return n.value0;if(n instanceof c.Left)return p.unsafeCrashWith("unsafeFromRight: Left");throw new Error("Failed pattern match at Effect.Aff line 395, column 21 - line 397, column 31: "+[n.constructor.name])},left:c.Left.create,right:c.Right.create},y=function(n){return e._makeFiber(E,n)},M=function(n){return function(){var e=y(n)();return e.run(),e}},C=new r.Apply(function(){return g},e._parAffApply),T=new u.Monad(function(){return H},function(){return A}),A=new a.Bind(function(){return F},e._bind),F=new r.Apply(function(){return h},u.ap(T)),H=new t.Applicative(function(){return F},e._pure),L=new P.MonadEffect(function(){return T},e._liftEffect),_=function(n){return D(f.const(P.liftEffect(L)(n)))},O=function(n){return e.makeAff(function(e){return s.map(S.functorEffect)(_)(n.join(e))})},I=new s.Functor(function(n){return function(e){return v.unsafePerformEffect(y(s.map(h)(n)(O(e))))}}),W=new o.MonadThrow(function(){return T},e._throwError),N=new o.MonadError(function(){return W},e._catchError),x=function(n){return function(e){return M(a.bindFlipped(A)(function(e){return P.liftEffect(L)(n(e))})(o.try(N)(e)))}},U=new l.Parallel(function(){return R},function(){return T},m.unsafeCoerce,e._sequential),R=new t.Applicative(function(){return C},function(n){return l.parallel(U)(t.pure(H)(n))}),k=new i.MonadRec(function(){return T},function(n){var e=function(r){return a.bind(A)(n(r))(function(n){if(n instanceof i.Done)return t.pure(H)(n.value0);if(n instanceof i.Loop)return e(n.value0);throw new Error("Failed pattern match at Effect.Aff line 99, column 7 - line 101, column 22: "+[n.constructor.name])})};return e}),B=f.const(t.pure(H)(d.unit));n.Canceler=D,n.launchAff=M,n.runAff=x,n.runAff_=function(n){return function(e){return s.void(S.functorEffect)(x(n)(e))}},n.forkAff=w,n.suspendAff=b,n.killFiber=function(n){return function(r){return a.bind(A)(P.liftEffect(L)(r.isSuspended))(function(a){return a?P.liftEffect(L)(s.void(S.functorEffect)(r.kill(n,f.const(t.pure(S.applicativeEffect)(d.unit))))):e.makeAff(function(e){return s.map(S.functorEffect)(_)(r.kill(n,e))})})}},n.joinFiber=O,n.nonCanceler=B,n.effectCanceler=_,n.functorAff=h,n.applyAff=F,n.applicativeAff=H,n.bindAff=A,n.monadAff=T,n.monadRecAff=k,n.monadThrowAff=W,n.monadErrorAff=N,n.monadEffectAff=L,n.functorParAff=g,n.applyParAff=C,n.applicativeParAff=R,n.parallelAff=U,n.functorFiber=I,n.makeAff=e.makeAff}(PS["Effect.Aff"]=PS["Effect.Aff"]||{}),function(n){"use strict";n._app=function(){return app},n._closest=function(n,e,t,r){var a=r.closest(t);return a?n(a):e},n._innerHtml=function(n){return n.innerHTML},n._setInnerHtml=function(n,e){return e.innerHTML=n,e},n._createFormData=function(n){return new FormData(n)},n._createFormString=function(n){return new URLSearchParams(new FormData(n)).toString()},n._createFormArray=function(n){return Array.from(new FormData(n))},n._getDataAttribute=function(n,e){return e.dataset[n]},n._setDataAttribute=function(n,e,t){return t.dataset[n]=e},n._moment8601=function(n,e){var t=moment(e,moment.ISO_8601),r=t.fromNow(),a=t.format("MMMM D YYYY, h:mm a")+" ("+t.format()+") ";return n(r)(a)},n._mmoment8601=function(n,e,t,r){try{var a=moment(r,moment.ISO_8601),u=a.fromNow(),o=a.format("MMMM D YYYY, h:mm a")+" ("+a.format()+") ";return n(t(u)(o))}catch(n){return e}},n._closeWindow=function(n){n.close()}}(PS.Globals=PS.Globals||{}),function(n){"use strict";n.null=null,n.nullable=function(n,e,t){return null==n?e:t(n)},n.notNull=function(n){return n}}(PS["Data.Nullable"]=PS["Data.Nullable"]||{}),function(n){"use strict";var e=PS["Data.Nullable"],t=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Function"],PS["Data.Function.Uncurried"],PS["Data.Maybe"]),r=(PS["Data.Ord"],PS["Data.Show"],PS.Prelude,t.maybe(e.null)(e.notNull));n.toMaybe=function(n){return e.nullable(n,t.Nothing.value,t.Just.create)},n.toNullable=r}(PS["Data.Nullable"]=PS["Data.Nullable"]||{}),function(n){"use strict";PS["Control.Monad.Error.Class"];var e=PS["Control.Monad.Except.Trans"],t=(PS["Control.Semigroupoid"],PS["Data.Either"],PS["Data.Identity"]),r=PS["Data.Newtype"];PS.Prelude;n.runExcept=function(n){return r.unwrap(t.newtypeIdentity)(e.runExceptT(n))}}(PS["Control.Monad.Except"]=PS["Control.Monad.Except"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Category"];var e=PS["Control.Plus"],t=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"]),r=(PS["Data.FoldableWithIndex"],PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"]),u=(PS["Data.Semigroup.Foldable"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}());n.NonEmpty=u,n.singleton=function(n){return function(t){return new u(t,e.empty(n))}},n.functorNonEmpty=function(n){return new r.Functor(function(e){return function(t){return new u(e(t.value0),r.map(n)(e)(t.value1))}})},n.foldableNonEmpty=function(n){return new t.Foldable(function(e){return function(r){return function(u){return a.append(e.Semigroup0())(r(u.value0))(t.foldMap(n)(e)(r)(u.value1))}}},function(e){return function(r){return function(a){return t.foldl(n)(e)(e(r)(a.value0))(a.value1)}}},function(e){return function(r){return function(a){return e(a.value0)(t.foldr(n)(e)(r)(a.value1))}}})}}(PS["Data.NonEmpty"]=PS["Data.NonEmpty"]||{}),function(n){"use strict";var e=PS["Control.Alt"],t=(PS["Control.Alternative"],PS["Control.Applicative"]),r=PS["Control.Apply"],a=(PS["Control.Bind"],PS["Control.Category"],PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Monad"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"]),u=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"]),o=(PS["Data.FoldableWithIndex"],PS["Data.Function"]),i=PS["Data.Functor"],l=(PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Monoid"]),c=(PS["Data.Newtype"],PS["Data.NonEmpty"]),f=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"]),s=(PS["Data.Semigroup.Foldable"],PS["Data.Semigroup.Traversable"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=new u.Foldable(function(n){return function(e){return u.foldl(S)(function(t){return function(r){return f.append(n.Semigroup0())(t)(e(r))}})(l.mempty(n))}},function(n){return function(e){return function(t){var r,a=e,u=!1;function o(e,r){if(r instanceof s)return u=!0,e;if(r instanceof d)return a=n(e)(r.value0),void(t=r.value1);throw new Error("Failed pattern match at Data.List.Types line 81, column 12 - line 83, column 30: "+[r.constructor.name])}for(;!u;)r=o(a,t);return r}}},function(n){return function(e){var t=u.foldl(S)(o.flip(d.create))(s.value);return function(r){return u.foldl(S)(o.flip(n))(e)(t(r))}}}),P=c.foldableNonEmpty(S),v=new i.Functor(function(n){return u.foldr(S)(function(e){return function(t){return new d(n(e),t)}})(s.value)}),p=c.functorNonEmpty(v),m=new f.Semigroup(function(n){return function(e){return u.foldr(S)(d.create)(e)(n)}}),D=new r.Apply(function(){return v},function(n){return function(e){if(n instanceof s)return s.value;if(n instanceof d)return f.append(m)(i.map(v)(n.value0)(e))(r.apply(D)(n.value1)(e));throw new Error("Failed pattern match at Data.List.Types line 127, column 1 - line 127, column 33: "+[n.constructor.name,e.constructor.name])}}),b=new t.Applicative(function(){return D},function(n){return new d(n,s.value)}),g=new e.Alt(function(){return v},f.append(m)),h=new a.Plus(function(){return g},s.value);n.Nil=s,n.Cons=d,n.NonEmptyList=function(n){return n},n.semigroupList=m,n.functorList=v,n.foldableList=S,n.applyList=D,n.applicativeList=b,n.altList=g,n.plusList=h,n.functorNonEmptyList=p,n.foldableNonEmptyList=P}(PS["Data.List.Types"]=PS["Data.List.Types"]||{}),function(n){"use strict";n.unsafeToForeign=function(n){return n},n.unsafeFromForeign=function(n){return n},n.typeOf=function(n){return typeof n},n.tagOf=function(n){return Object.prototype.toString.call(n).slice(8,-1)}}(PS.Foreign=PS.Foreign||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Lazy"],PS["Control.Monad.Rec.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Boolean"],PS["Data.Eq"];var e,t=PS["Data.Foldable"],r=(PS["Data.Function"],PS["Data.Functor"],PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.List.Types"]),a=(PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.NonEmpty"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unit"],PS.Prelude,e=r.Nil.value,function(n){var t,a=e,u=!1;function o(e,t){if(t instanceof r.Nil)return u=!0,e;if(t instanceof r.Cons)return a=new r.Cons(t.value0,e),void(n=t.value1);throw new Error("Failed pattern match at Data.List line 368, column 3 - line 368, column 19: "+[e.constructor.name,t.constructor.name])}for(;!u;)t=o(a,n);return t});n.fromFoldable=function(n){return t.foldr(n)(r.Cons.create)(r.Nil.value)},n.null=function(n){return n instanceof r.Nil},n.reverse=a}(PS["Data.List"]=PS["Data.List"]||{}),function(n){"use strict";PS["Control.Bind"],PS["Control.Category"],PS["Control.Semigroupoid"],PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.List"];var e=PS["Data.List.Types"],t=(PS["Data.Maybe"],PS["Data.NonEmpty"]);PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semigroup.Foldable"],PS["Data.Semigroup.Traversable"],PS["Data.Semiring"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Partial.Unsafe"],PS.Prelude;n.singleton=function(n){return e.NonEmptyList(t.singleton(e.plusList)(n))},n.cons=function(n){return function(r){return new t.NonEmpty(n,new e.Cons(r.value0,r.value1))}}}(PS["Data.List.NonEmpty"]=PS["Data.List.NonEmpty"]||{}),function(n){"use strict";n.singleton=function(n){return n},n.length=function(n){return n.length},n.drop=function(n){return function(e){return e.substring(n)}}}(PS["Data.String.CodeUnits"]=PS["Data.String.CodeUnits"]||{}),function(n){"use strict";(PS["Data.String.Unsafe"]=PS["Data.String.Unsafe"]||{}).charAt=function(n){return function(e){if(n>=0&&n<e.length)return e.charAt(n);throw new Error("Data.String.Unsafe.charAt: Invalid index.")}}}(),function(n){"use strict";var e=PS["Data.String.Unsafe"];n.charAt=e.charAt}(PS["Data.String.Unsafe"]=PS["Data.String.Unsafe"]||{}),function(n){"use strict";var e=PS["Data.String.CodeUnits"];PS["Control.Semigroupoid"],PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Function"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semiring"],PS["Data.String.Pattern"],PS["Data.String.Unsafe"],PS.Prelude;n.singleton=e.singleton,n.length=e.length,n.drop=e.drop}(PS["Data.String.CodeUnits"]=PS["Data.String.CodeUnits"]||{}),function(n){"use strict";var e=PS.Foreign,t=PS["Control.Applicative"],r=PS["Control.Monad.Error.Class"],a=(PS["Control.Monad.Except"],PS["Control.Monad.Except.Trans"]),u=(PS["Control.Semigroupoid"],PS["Data.Boolean"]),o=(PS["Data.Either"],PS["Data.Eq"],PS["Data.Function"],PS["Data.HeytingAlgebra"],PS["Data.Identity"]),i=(PS["Data.Int"],PS["Data.List.NonEmpty"]),l=(PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"]),c=(PS["Data.String.CodeUnits"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),f=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),s=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){if(n instanceof c)return n.value0;if(n instanceof s)return"Error at array index "+l.show(l.showInt)(n.value0)+": "+S(n.value1);if(n instanceof d)return"Error at property "+l.show(l.showString)(n.value0)+": "+S(n.value1);if(n instanceof f)return"Type mismatch: expected "+n.value0+", found "+n.value1;throw new Error("Failed pattern match at Foreign line 72, column 1 - line 72, column 45: "+[n.constructor.name])},P=function(n){return r.throwError(a.monadThrowExceptT(o.monadIdentity))(i.singleton(n))},v=function(n){return function(r){if(e.tagOf(r)===n)return t.pure(a.applicativeExceptT(o.monadIdentity))(e.unsafeFromForeign(r));if(u.otherwise)return P(new f(n,e.tagOf(r)));throw new Error("Failed pattern match at Foreign line 106, column 1 - line 106, column 55: "+[n.constructor.name,r.constructor.name])}},p=v("Boolean"),m=v("String");n.ForeignError=c,n.TypeMismatch=f,n.ErrorAtIndex=s,n.ErrorAtProperty=d,n.renderForeignError=S,n.unsafeReadTagged=v,n.readString=m,n.readBoolean=p,n.fail=P,n.unsafeToForeign=e.unsafeToForeign,n.typeOf=e.typeOf}(PS.Foreign=PS.Foreign||{}),function(n){"use strict";(PS["Foreign.Index"]=PS["Foreign.Index"]||{}).unsafeReadPropImpl=function(n,e,t,r){return null==r?n:e(r[t])}}(),function(n){"use strict";var e=PS["Foreign.Index"],t=PS["Control.Applicative"],r=(PS["Control.Bind"],PS["Control.Monad.Except.Trans"]),a=(PS["Data.Eq"],PS["Data.Function"],PS["Data.Function.Uncurried"],PS["Data.HeytingAlgebra"],PS["Data.Identity"]),u=(PS["Data.List.NonEmpty"],PS.Foreign),o=(PS.Prelude,function(n){return function(o){return e.unsafeReadPropImpl(u.fail(new u.TypeMismatch("object",u.typeOf(o))),t.pure(r.applicativeExceptT(a.monadIdentity)),n,o)}});n.readProp=o}(PS["Foreign.Index"]=PS["Foreign.Index"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(PS["Foreign.Object"]=PS["Foreign.Object"]||{}),function(n){"use strict";(PS["Foreign.Object.ST"]=PS["Foreign.Object.ST"]||{}).new=function(){return{}}}(),function(n){"use strict";var e=PS["Foreign.Object.ST"];PS["Control.Monad.ST"],PS["Data.Maybe"];n.new=e.new}(PS["Foreign.Object.ST"]=PS["Foreign.Object.ST"]||{}),function(n){"use strict";var e=PS["Foreign.Object"],t=(PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Monad.ST"],PS["Control.Monad.ST.Internal"],PS["Control.Semigroupoid"],PS["Data.Array"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.FoldableWithIndex"],PS["Data.Function"],PS["Data.Function.Uncurried"]),r=(PS["Data.Functor"],PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),a=(PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Foreign.Object.ST"],PS.Prelude,t.runFn4(e._lookup)(r.Nothing.value)(r.Just.create));n.lookup=a,n.empty=e.empty}(PS["Foreign.Object"]=PS["Foreign.Object"]||{}),function(n){"use strict";PS["Type.Data.Boolean"],PS["Type.Data.Symbol"],PS["Type.Equality"];var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(PS["Type.Row"]=PS["Type.Row"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.Function.Uncurried"],PS["Data.HeytingAlgebra"];var e=PS["Data.Symbol"],t=(PS.Prelude,PS["Record.Unsafe"]);PS["Record.Unsafe.Union"],PS["Type.Row"],PS["Unsafe.Coerce"];n.get=function(n){return function(r){return function(r){return function(a){return t.unsafeGet(e.reflectSymbol(n)(r))(a)}}}}}(PS.Record=PS.Record||{}),function(n){"use strict";n.copyRecord=function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e},n.unsafeInsert=function(n){return function(e){return function(t){return t[n]=e,t}}}}(PS["Record.Builder"]=PS["Record.Builder"]||{}),function(n){"use strict";var e=PS["Record.Builder"],t=PS["Control.Category"],r=PS["Control.Semigroupoid"],a=(PS["Data.Function.Uncurried"],PS["Data.Symbol"]),u=(PS.Prelude,PS["Record.Unsafe.Union"],PS["Type.Row"],PS["Unsafe.Coerce"],r.semigroupoidFn),o=t.categoryFn;n.build=function(n){return function(t){return n(e.copyRecord(t))}},n.insert=function(n){return function(n){return function(n){return function(t){return function(r){return function(u){return e.unsafeInsert(a.reflectSymbol(n)(t))(r)(u)}}}}}},n.semigroupoidBuilder=u,n.categoryBuilder=o}(PS["Record.Builder"]=PS["Record.Builder"]||{}),function(n){"use strict";PS["Simple.JSON"],PS["Control.Alt"],PS["Control.Applicative"],PS["Control.Bind"];var e=PS["Control.Category"],t=(PS["Control.Monad.Except"],PS["Control.Monad.Except.Trans"],PS["Control.Semigroupoid"]),r=(PS["Data.Bifunctor"],PS["Data.Boolean"],PS["Data.Either"],PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Identity"],PS["Data.List.Types"],PS["Data.Maybe"],PS["Data.Nullable"],PS["Data.Semigroup"],PS["Data.Symbol"]),a=(PS["Data.Traversable"],PS["Data.Variant"],PS["Effect.Exception"],PS["Effect.Uncurried"],PS["Effect.Unsafe"],PS.Foreign),u=(PS["Foreign.Index"],PS["Foreign.Object"],PS["Global.Unsafe"]),o=(PS["Partial.Unsafe"],PS.Prelude,PS.Record),i=PS["Record.Builder"],l=(PS["Type.Prelude"],PS["Type.Row"]),c=function(n){this.writeImpl=n},f=function(n){this.writeImplFields=n},s=function(n){return n.writeImplFields},d=function(n){return n.writeImpl},S=new c(a.unsafeToForeign),P=new c(a.unsafeToForeign),v=new c(a.unsafeToForeign),p=new f(function(n){return function(n){return e.identity(i.categoryBuilder)}});n.writeJSON=function(n){return function(e){return u.unsafeStringify(d(n)(e))}},n.WriteForeign=c,n.writeImpl=d,n.WriteForeignFields=f,n.writeImplFields=s,n.writeForeignString=S,n.writeForeignInt=P,n.writeForeignBoolean=v,n.recordWriteForeign=function(n){return function(n){return new c(function(e){var t=s(n)(l.RLProxy.value)(e);return a.unsafeToForeign(i.build(t)({}))})}},n.consWriteForeignFields=function(n){return function(e){return function(a){return function(u){return function(c){return function(S){return new f(function(f){return function(f){var P=s(a)(l.RLProxy.value)(f),v=d(e)(o.get(n)(u)(r.SProxy.value)(f));return t.compose(i.semigroupoidBuilder)(i.insert(S)(c)(n)(r.SProxy.value)(v))(P)}})}}}}}},n.nilWriteForeignFields=p}(PS["Simple.JSON"]=PS["Simple.JSON"]||{}),function(n){"use strict";var e=PS["Data.Symbol"],t=PS["Simple.JSON"],r=t.recordWriteForeign()(t.consWriteForeignFields(new e.IsSymbol(function(){return"bid"}))(t.writeForeignInt)(t.consWriteForeignFields(new e.IsSymbol(function(){return"description"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"private"}))(t.writeForeignBoolean)(t.consWriteForeignFields(new e.IsSymbol(function(){return"selected"}))(t.writeForeignBoolean)(t.consWriteForeignFields(new e.IsSymbol(function(){return"tags"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"time"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"title"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"toread"}))(t.writeForeignBoolean)(t.consWriteForeignFields(new e.IsSymbol(function(){return"url"}))(t.writeForeignString)(t.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());n.wfI=r}(PS.Model=PS.Model||{}),function(n){"use strict";(PS["Web.HTML"]=PS["Web.HTML"]||{}).window=function(){return window}}(),function(n){"use strict";(PS["Web.HTML.HTMLDocument"]=PS["Web.HTML.HTMLDocument"]||{})._body=function(n){return function(){return n.body}}}(),function(n){"use strict";(PS["Web.DOM.Element"]=PS["Web.DOM.Element"]||{}).removeAttribute=function(n){return function(e){return function(){return e.removeAttribute(n),{}}}}}(),function(n){"use strict";n._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}},n.querySelectorAll=function(n){return function(e){return function(){return e.querySelectorAll(n)}}}}(PS["Web.DOM.ParentNode"]=PS["Web.DOM.ParentNode"]||{}),function(n){"use strict";(PS["Web.DOM.NodeList"]=PS["Web.DOM.NodeList"]||{}).toArray=function(n){return function(){return[].slice.call(n)}}}(),function(n){"use strict";var e=PS["Web.DOM.NodeList"];PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Nullable"],PS.Effect,PS.Prelude,PS["Web.DOM.Internal.Types"];n.toArray=e.toArray}(PS["Web.DOM.NodeList"]=PS["Web.DOM.NodeList"]||{}),function(n){"use strict";var e=PS["Web.DOM.ParentNode"],t=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Nullable"]),a=(PS["Data.Ord"],PS.Effect);PS.Prelude,PS["Web.DOM.HTMLCollection"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NodeList"];n.querySelector=function(n){return function(u){return t.map(a.functorEffect)(r.toMaybe)(e._querySelector(n)(u))}},n.querySelectorAll=e.querySelectorAll}(PS["Web.DOM.ParentNode"]=PS["Web.DOM.ParentNode"]||{}),function(n){"use strict";(PS["Web.Event.EventTarget"]=PS["Web.Event.EventTarget"]||{}).eventListener=function(n){return function(){return function(e){return n(e)()}}}}(),function(n){"use strict";n._currentTarget=function(n){return n.currentTarget},n.preventDefault=function(n){return function(){return n.preventDefault()}}}(PS["Web.Event.Event"]=PS["Web.Event.Event"]||{}),function(n){"use strict";n.toCharCode=function(n){return n.charCodeAt(0)},n.fromCharCode=function(n){return String.fromCharCode(n)}}(PS["Data.Enum"]=PS["Data.Enum"]||{}),function(n){"use strict";var e=PS["Data.Enum"],t=(PS["Control.Apply"],PS["Control.Bind"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Semigroupoid"],PS["Data.Boolean"],PS["Data.Bounded"]),r=(PS["Data.Either"],PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),a=(PS["Data.Newtype"],PS["Data.Ord"]),u=(PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS["Data.Unit"],PS["Partial.Unsafe"],PS.Prelude,function(n,e,t){this.Ord0=n,this.pred=e,this.succ=t}),o=function(n,e,t,r,a){this.Bounded0=n,this.Enum1=e,this.cardinality=t,this.fromEnum=r,this.toEnum=a},i=function(n){return n.toEnum},l=function(n){return n.fromEnum},c=function(n){return function(e){return function(t){return n(e(t)+1|0)}}},f=function(n){return function(e){return function(t){return n(e(t)-1|0)}}},s=function(n){return n>=t.bottom(t.boundedInt)&&n<=t.top(t.boundedInt)?new r.Just(e.fromCharCode(n)):r.Nothing.value},d=new u(function(){return a.ordChar},f(s)(e.toCharCode),c(s)(e.toCharCode)),S=new o(function(){return t.boundedChar},function(){return d},e.toCharCode(t.top(t.boundedChar))-e.toCharCode(t.bottom(t.boundedChar))|0,e.toCharCode,s);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=o,n.cardinality=function(n){return n.cardinality},n.toEnum=i,n.fromEnum=l,n.toEnumWithDefaults=function(n){return function(e){return function(a){return function(u){var o=i(n)(u);if(o instanceof r.Just)return o.value0;if(o instanceof r.Nothing)return u<l(n)(t.bottom(n.Bounded0()))?e:a;throw new Error("Failed pattern match at Data.Enum line 158, column 33 - line 160, column 62: "+[o.constructor.name])}}}},n.defaultSucc=c,n.defaultPred=f,n.enumChar=d,n.boundedEnumChar=S}(PS["Data.Enum"]=PS["Data.Enum"]||{}),function(n){"use strict";var e=PS["Web.Event.Event"],t=(PS["Control.Semigroupoid"],PS["Data.DateTime.Instant"],PS["Data.Enum"],PS["Data.Eq"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Nullable"]);PS["Data.Ord"],PS.Effect,PS.Prelude,PS["Web.Event.EventPhase"],PS["Web.Event.Internal.Types"];n.currentTarget=function(n){return t.toMaybe(e._currentTarget(n))},n.preventDefault=e.preventDefault}(PS["Web.Event.Event"]=PS["Web.Event.Event"]||{}),function(n){"use strict";var e=PS["Web.Event.EventTarget"];PS.Effect,PS.Prelude,PS["Web.Event.Event"],PS["Web.Event.Internal.Types"];n.eventListener=e.eventListener}(PS["Web.Event.EventTarget"]=PS["Web.Event.EventTarget"]||{}),function(n){"use strict";(PS["Web.Internal.FFI"]=PS["Web.Internal.FFI"]||{})._unsafeReadProtoTagged=function(n,e,t,r){for(var a=r;null!=a;){var u=Object.getPrototypeOf(a),o=u.constructor.name;if(o===t)return e(r);if("Object"===o)return n;a=u}return n}}(),function(n){"use strict";var e=PS["Web.Internal.FFI"],t=(PS["Data.Function.Uncurried"],PS["Data.Maybe"]);n.unsafeReadProtoTagged=function(n){return function(r){return e._unsafeReadProtoTagged(t.Nothing.value,t.Just.create,n,r)}}}(PS["Web.Internal.FFI"]=PS["Web.Internal.FFI"]||{}),function(n){"use strict";var e=PS["Web.DOM.Element"],t=(PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Nullable"],PS.Effect,PS.Prelude,PS["Unsafe.Coerce"]),r=(PS["Web.DOM.ChildNode"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonDocumentTypeChildNode"],PS["Web.DOM.ParentNode"],PS["Web.Event.EventTarget"],PS["Web.Internal.FFI"]),a=t.unsafeCoerce,u=t.unsafeCoerce,o=r.unsafeReadProtoTagged("Element");n.fromNode=o,n.toNode=u,n.toParentNode=a,n.removeAttribute=e.removeAttribute}(PS["Web.DOM.Element"]=PS["Web.DOM.Element"]||{}),function(n){"use strict";(PS["Web.DOM.NonElementParentNode"]=PS["Web.DOM.NonElementParentNode"]||{})._getElementById=function(n){return function(e){return function(){return e.getElementById(n)}}}}(),function(n){"use strict";var e=PS["Web.DOM.NonElementParentNode"],t=(PS["Control.Semigroupoid"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Nullable"]),a=PS.Effect;PS.Prelude,PS["Web.DOM.Element"];n.getElementById=function(n){return function(u){return t.map(a.functorEffect)(r.toMaybe)(e._getElementById(n)(u))}}}(PS["Web.DOM.NonElementParentNode"]=PS["Web.DOM.NonElementParentNode"]||{}),function(n){"use strict";PS["Web.DOM.Document"],PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Nullable"],PS.Effect,PS.Prelude;var e=PS["Unsafe.Coerce"],t=(PS["Web.DOM.Comment"],PS["Web.DOM.DocumentFragment"],PS["Web.DOM.DocumentType"],PS["Web.DOM.Element"],PS["Web.DOM.HTMLCollection"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonElementParentNode"],PS["Web.DOM.ParentNode"],PS["Web.DOM.ProcessingInstruction"],PS["Web.DOM.Text"],PS["Web.Event.EventTarget"],PS["Web.Internal.FFI"],e.unsafeCoerce);n.toNonElementParentNode=t}(PS["Web.DOM.Document"]=PS["Web.DOM.Document"]||{}),function(n){"use strict";(PS["Web.HTML.HTMLElement"]=PS["Web.HTML.HTMLElement"]||{})._read=function(n,e,t){var r=Object.prototype.toString.call(t);return 0===r.indexOf("[object HTML")&&r.indexOf("Element]")===r.length-8?e(t):n}}(),function(n){"use strict";var e=PS["Web.HTML.HTMLElement"],t=(PS["Control.Semigroupoid"],PS["Data.Function.Uncurried"],PS["Data.Functor"],PS["Data.Maybe"]),r=(PS["Data.Nullable"],PS.Effect,PS.Prelude,PS["Unsafe.Coerce"]),a=(PS["Web.DOM"],PS["Web.DOM.DOMTokenList"],PS["Web.DOM.Element"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonDocumentTypeChildNode"],PS["Web.DOM.ParentNode"],PS["Web.Event.EventTarget"],r.unsafeCoerce),u=r.unsafeCoerce;n.fromElement=function(n){return e._read(t.Nothing.value,t.Just.create,n)},n.toElement=u,n.toNode=a}(PS["Web.HTML.HTMLElement"]=PS["Web.HTML.HTMLElement"]||{}),function(n){"use strict";var e=PS["Web.HTML.HTMLDocument"],t=(PS["Control.Semigroupoid"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Nullable"]),a=PS.Effect,u=(PS.Prelude,PS["Unsafe.Coerce"]),o=(PS["Web.DOM.Document"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonElementParentNode"],PS["Web.DOM.ParentNode"],PS["Web.Event.EventTarget"],PS["Web.HTML.HTMLDocument.ReadyState"],PS["Web.HTML.HTMLElement"],PS["Web.Internal.FFI"],u.unsafeCoerce),i=u.unsafeCoerce;n.toDocument=i,n.toParentNode=o,n.body=function(n){return t.map(a.functorEffect)(r.toMaybe)(e._body(n))}}(PS["Web.HTML.HTMLDocument"]=PS["Web.HTML.HTMLDocument"]||{}),function(n){"use strict";n.href=function(n){return function(){return n.href}},n.setHref=function(n){return function(e){return function(){e.href=n}}},n.search=function(n){return function(){return n.search}},n.reload=function(n){return function(){n.reload()}}}(PS["Web.HTML.Location"]=PS["Web.HTML.Location"]||{}),function(n){"use strict";var e=PS["Web.HTML.Location"];PS.Effect,PS.Prelude;n.setHref=e.setHref,n.search=e.search,n.reload=e.reload}(PS["Web.HTML.Location"]=PS["Web.HTML.Location"]||{}),function(n){"use strict";n.document=function(n){return function(){return n.document}},n.location=function(n){return function(){return n.location}}}(PS["Web.HTML.Window"]=PS["Web.HTML.Window"]||{}),function(n){"use strict";var e=PS["Web.HTML.Window"];PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Nullable"],PS["Data.Ord"],PS.Effect,PS.Prelude,PS["Unsafe.Coerce"],PS["Web.Event.EventTarget"],PS["Web.HTML.HTMLDocument"],PS["Web.HTML.History"],PS["Web.HTML.Location"],PS["Web.HTML.Navigator"],PS["Web.Storage.Storage"];n.document=e.document,n.location=e.location}(PS["Web.HTML.Window"]=PS["Web.HTML.Window"]||{}),function(n){"use strict";var e=PS["Web.HTML"];PS.Effect,PS["Web.HTML.HTMLAnchorElement"],PS["Web.HTML.HTMLAreaElement"],PS["Web.HTML.HTMLAudioElement"],PS["Web.HTML.HTMLBRElement"],PS["Web.HTML.HTMLBaseElement"],PS["Web.HTML.HTMLBodyElement"],PS["Web.HTML.HTMLButtonElement"],PS["Web.HTML.HTMLCanvasElement"],PS["Web.HTML.HTMLDListElement"],PS["Web.HTML.HTMLDataElement"],PS["Web.HTML.HTMLDataListElement"],PS["Web.HTML.HTMLDivElement"],PS["Web.HTML.HTMLDocument"],PS["Web.HTML.HTMLElement"],PS["Web.HTML.HTMLEmbedElement"],PS["Web.HTML.HTMLFieldSetElement"],PS["Web.HTML.HTMLFormElement"],PS["Web.HTML.HTMLHRElement"],PS["Web.HTML.HTMLHeadElement"],PS["Web.HTML.HTMLHeadingElement"],PS["Web.HTML.HTMLIFrameElement"],PS["Web.HTML.HTMLImageElement"],PS["Web.HTML.HTMLInputElement"],PS["Web.HTML.HTMLKeygenElement"],PS["Web.HTML.HTMLLIElement"],PS["Web.HTML.HTMLLabelElement"],PS["Web.HTML.HTMLLegendElement"],PS["Web.HTML.HTMLLinkElement"],PS["Web.HTML.HTMLMapElement"],PS["Web.HTML.HTMLMediaElement"],PS["Web.HTML.HTMLMetaElement"],PS["Web.HTML.HTMLMeterElement"],PS["Web.HTML.HTMLModElement"],PS["Web.HTML.HTMLOListElement"],PS["Web.HTML.HTMLObjectElement"],PS["Web.HTML.HTMLOptGroupElement"],PS["Web.HTML.HTMLOptionElement"],PS["Web.HTML.HTMLOutputElement"],PS["Web.HTML.HTMLParagraphElement"],PS["Web.HTML.HTMLParamElement"],PS["Web.HTML.HTMLPreElement"],PS["Web.HTML.HTMLProgressElement"],PS["Web.HTML.HTMLQuoteElement"],PS["Web.HTML.HTMLScriptElement"],PS["Web.HTML.HTMLSelectElement"],PS["Web.HTML.HTMLSourceElement"],PS["Web.HTML.HTMLSpanElement"],PS["Web.HTML.HTMLStyleElement"],PS["Web.HTML.HTMLTableCaptionElement"],PS["Web.HTML.HTMLTableCellElement"],PS["Web.HTML.HTMLTableColElement"],PS["Web.HTML.HTMLTableDataCellElement"],PS["Web.HTML.HTMLTableElement"],PS["Web.HTML.HTMLTableHeaderCellElement"],PS["Web.HTML.HTMLTableRowElement"],PS["Web.HTML.HTMLTableSectionElement"],PS["Web.HTML.HTMLTemplateElement"],PS["Web.HTML.HTMLTextAreaElement"],PS["Web.HTML.HTMLTimeElement"],PS["Web.HTML.HTMLTitleElement"],PS["Web.HTML.HTMLTrackElement"],PS["Web.HTML.HTMLUListElement"],PS["Web.HTML.HTMLVideoElement"],PS["Web.HTML.History"],PS["Web.HTML.Location"],PS["Web.HTML.Navigator"],PS["Web.HTML.Window"];n.window=e.window}(PS["Web.HTML"]=PS["Web.HTML"]||{}),function(n){"use strict";var e=PS.Globals,t=PS["Control.Applicative"],r=(PS["Data.Function"],PS["Data.Function.Uncurried"],PS["Data.Maybe"]),a=PS["Data.Nullable"],u=PS["Data.Tuple"],o=PS.Effect;PS.Model,PS.Prelude,PS["Web.DOM"],PS["Web.HTML"],PS["Web.XHR.FormData"];n["app'"]=function(n){return e._app()},n.closest=function(n){return function(a){return t.pure(o.applicativeEffect)(e._closest(r.Just.create,r.Nothing.value,n,a))}},n.moment8601=function(n){return t.pure(o.applicativeEffect)(e._moment8601(u.Tuple.create,n))},n.mmoment8601=function(n){return e._mmoment8601(r.Just.create,r.Nothing.value,u.Tuple.create,n)},n.innerHtml=function(n){return t.pure(o.applicativeEffect)(e._innerHtml(n))},n.setInnerHtml=function(n){return function(r){return t.pure(o.applicativeEffect)(e._setInnerHtml(n,r))}},n.createFormData=function(n){return e._createFormData(n)},n.createFormString=function(n){return e._createFormString(n)},n.createFormArray=function(n){return e._createFormArray(n)},n.getDataAttribute=function(n){return function(r){return t.pure(o.applicativeEffect)(a.toMaybe(e._getDataAttribute(n,r)))}},n.setDataAttribute=function(n){return function(r){return function(a){return t.pure(o.applicativeEffect)(e._setDataAttribute(n,r,a))}}},n.closeWindow=function(n){return t.pure(o.applicativeEffect)(e._closeWindow(n))},n._app=e._app,n._closest=e._closest,n._moment8601=e._moment8601,n._mmoment8601=e._mmoment8601,n._innerHtml=e._innerHtml,n._setInnerHtml=e._setInnerHtml,n._createFormData=e._createFormData,n._createFormString=e._createFormString,n._createFormArray=e._createFormArray,n._getDataAttribute=e._getDataAttribute,n._setDataAttribute=e._setDataAttribute,n._closeWindow=e._closeWindow}(PS.Globals=PS.Globals||{}),function(n){"use strict";var e;(PS["Network.HTTP.Affjax"]=PS["Network.HTTP.Affjax"]||{})._ajax=(e={},"undefined"==typeof module||!module.require||"undefined"!=typeof process&&process.versions.electron?(e.newXHR=function(){return new XMLHttpRequest},e.fixupUrl=function(n){return n||"/"},e.getResponse=function(n){return n.response}):(e.newXHR=function(){return new(module.require("xhr2"))},e.fixupUrl=function(n){var e=module.require("url"),t=e.parse(n);return t.protocol=t.protocol||"http:",t.hostname=t.hostname||"localhost",e.format(t)},e.getResponse=function(n){return n.response}),function(n,t){return function(r,a){var u=e.newXHR(),o=e.fixupUrl(t.url);if(u.open(t.method||"GET",o,!0,t.username,t.password),t.headers)try{for(var i,l=0;null!=(i=t.headers[l]);l++)u.setRequestHeader(i.field,i.value)}catch(n){r(n)}return u.onerror=function(){r(new Error("AJAX request failed: "+t.method+" "+t.url))},u.onload=function(){a({status:u.status,statusText:u.statusText,headers:u.getAllResponseHeaders().split("\r\n").filter(function(n){return n.length>0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),response:e.getResponse(u)})},u.responseType=t.responseType,u.withCredentials=t.withCredentials,u.send(t.content),function(n,e,t){try{u.abort()}catch(n){return e(n)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(PS["Data.Argonaut.Core"]=PS["Data.Argonaut.Core"]||{}),function(n){"use strict";var e=PS["Data.Argonaut.Core"],t=(PS["Data.Eq"],PS["Data.Function"],PS["Data.Function.Uncurried"],PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ordering"],PS["Foreign.Object"]),r=(PS.Prelude,e.fromObject(t.empty));n.jsonEmptyObject=r,n.stringify=e.stringify}(PS["Data.Argonaut.Core"]=PS["Data.Argonaut.Core"]||{}),function(n){"use strict";(PS["Data.Argonaut.Parser"]=PS["Data.Argonaut.Parser"]||{})._jsonParser=function(n,e,t){try{return e(JSON.parse(t))}catch(e){return n(e.message)}}}(),function(n){"use strict";var e=PS["Data.Argonaut.Parser"],t=(PS["Data.Argonaut.Core"],PS["Data.Either"]);PS["Data.Function.Uncurried"];n.jsonParser=function(n){return e._jsonParser(t.Left.create,t.Right.create,n)}}(PS["Data.Argonaut.Parser"]=PS["Data.Argonaut.Parser"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Semigroupoid"];var e=PS["Data.Either"],t=(PS["Data.Function"],PS.Effect,PS["Effect.Aff"]);PS["Effect.Exception"],PS["Effect.Uncurried"],PS.Prelude;n.fromEffectFnAff=function(n){return t.makeAff(function(r){return function(){var a=n(function(n){return r(e.Left.create(n))()},function(n){return r(e.Right.create(n))()});return function(n){return t.makeAff(function(r){return function(){return a(n,function(n){return r(e.Left.create(n))()},function(n){return r(e.Right.create(n))()}),t.nonCanceler}})}}})}}(PS["Effect.Aff.Compat"]=PS["Effect.Aff.Compat"]||{}),function(n){"use strict";PS["Data.Argonaut.Core"],PS["Data.ArrayBuffer.Types"],PS["Data.FormURLEncoded"];var e=PS["Data.Maybe"],t=(PS["Data.MediaType"],PS["Data.MediaType.Common"]),r=(PS["Web.DOM.Document"],PS["Web.File.Blob"],PS["Web.XHR.FormData"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),l=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=o.create;n.ArrayView=r,n.Blob=a,n.Document=u,n.String=o,n.FormData=i,n.FormURLEncoded=l,n.Json=c,n.string=f,n.toMediaType=function(n){return n instanceof l?new e.Just(t.applicationFormURLEncoded):n instanceof c?new e.Just(t.applicationJSON):e.Nothing.value}}(PS["Network.HTTP.Affjax.Request"]=PS["Network.HTTP.Affjax.Request"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=(PS["Data.Argonaut.Core"],PS["Data.ArrayBuffer.Types"],PS["Data.Maybe"]),r=(PS["Data.MediaType"],PS["Data.MediaType.Common"]),a=(PS.Prelude,PS["Web.DOM.Document"],PS["Web.File.Blob"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),l=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=new c(e.identity(e.categoryFn));n.ArrayBuffer=a,n.Blob=u,n.Document=o,n.Json=i,n.String=l,n.Ignore=c,n.ignore=f,n.toResponseType=function(n){if(n instanceof a)return"arraybuffer";if(n instanceof u)return"blob";if(n instanceof o)return"document";if(n instanceof i)return"text";if(n instanceof l)return"text";if(n instanceof c)return"";throw new Error("Failed pattern match at Network.HTTP.Affjax.Response line 41, column 3 - line 49, column 1: "+[n.constructor.name])},n.toMediaType=function(n){return n instanceof i?new t.Just(r.applicationJSON):t.Nothing.value}}(PS["Network.HTTP.Affjax.Response"]=PS["Network.HTTP.Affjax.Response"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.HeytingAlgebra"];var e=PS["Data.MediaType"],t=PS["Data.Newtype"],r=(PS["Data.Semigroup"],PS["Data.Show"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),u=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.Accept=r,n.ContentType=a,n.RequestHeader=u,n.requestHeaderName=function(n){if(n instanceof r)return"Accept";if(n instanceof a)return"Content-Type";if(n instanceof u)return n.value0;throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 24, column 1 - line 24, column 45: "+[n.constructor.name])},n.requestHeaderValue=function(n){if(n instanceof r)return t.unwrap(e.newtypeMediaType)(n.value0);if(n instanceof a)return t.unwrap(e.newtypeMediaType)(n.value0);if(n instanceof u)return n.value1;throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 29, column 1 - line 29, column 46: "+[n.constructor.name])}}(PS["Network.HTTP.RequestHeader"]=PS["Network.HTTP.RequestHeader"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.HeytingAlgebra"],PS["Data.Semigroup"],PS["Data.Show"],PS.Prelude;var e=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.responseHeader=function(n){return function(t){return new e(n,t)}}}(PS["Network.HTTP.ResponseHeader"]=PS["Network.HTTP.ResponseHeader"]||{}),function(n){"use strict";var e=PS["Network.HTTP.Affjax"],t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.Error.Class"],u=PS["Control.Monad.Except"],o=PS["Control.Monad.Except.Trans"],i=(PS["Control.Parallel"],PS["Control.Semigroupoid"],PS["Data.Argonaut.Core"]),l=PS["Data.Argonaut.Parser"],c=PS["Data.Array"],f=PS["Data.Either"],s=PS["Data.Eq"],d=PS["Data.Foldable"],S=PS["Data.FormURLEncoded"],P=PS["Data.Function"],v=(PS["Data.Function.Uncurried"],PS["Data.Functor"]),p=PS["Data.HTTP.Method"],m=PS["Data.HeytingAlgebra"],D=PS["Data.Identity"],b=(PS["Data.Int"],PS["Data.List.Types"]),g=PS["Data.Maybe"],h=PS["Data.Monoid"],w=PS["Data.Nullable"],E=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semiring"],PS["Data.Time.Duration"],PS["Data.Unit"]),y=PS["Effect.Aff"],M=PS["Effect.Aff.Compat"],C=(PS["Effect.Class"],PS["Effect.Exception"]),T=(PS["Effect.Ref"],PS.Foreign),A=(PS.Math,PS["Network.HTTP.Affjax.Request"]),F=PS["Network.HTTP.Affjax.Response"],H=PS["Network.HTTP.RequestHeader"],L=PS["Network.HTTP.ResponseHeader"],_=(PS["Network.HTTP.StatusCode"],PS.Prelude,{method:new f.Left(p.GET.value),url:"/",headers:[],content:g.Nothing.value,username:g.Nothing.value,password:g.Nothing.value,withCredentials:!1});n.defaultRequest=_,n.affjax=function(n){return function(_){var O,I=function(){if(n instanceof F.ArrayBuffer)return T.unsafeReadTagged("ArrayBuffer");if(n instanceof F.Blob)return T.unsafeReadTagged("Blob");if(n instanceof F.Document)return T.unsafeReadTagged("Document");if(n instanceof F.Json)return r.composeKleisliFlipped(o.bindExceptT(D.monadIdentity))(function(e){return n.value0(""===(r=e)?t.pure(o.applicativeExceptT(D.monadIdentity))(i.jsonEmptyObject):f.either(function(n){return T.fail(T.ForeignError.create(n))})(t.pure(o.applicativeExceptT(D.monadIdentity)))(l.jsonParser(r)));var r})(T.unsafeReadTagged("String"));if(n instanceof F.String)return T.unsafeReadTagged("String");if(n instanceof F.Ignore)return P.const(n.value0(t.pure(o.applicativeExceptT(D.monadIdentity))(E.unit)));throw new Error("Failed pattern match at Network.HTTP.Affjax line 261, column 19 - line 267, column 51: "+[n.constructor.name])}(),W=function(n){return function(e){return n instanceof g.Just&&!d.any(d.foldableArray)(m.heytingAlgebraBoolean)(P.on(s.eq(s.eqString))(H.requestHeaderName)(n.value0))(e)?c.snoc(e)(n.value0):e}},N={method:p.print(_.method),url:_.url,headers:v.map(v.functorArray)(function(n){return{field:H.requestHeaderName(n),value:H.requestHeaderValue(n)}})((O=_.content,W(v.map(g.functorMaybe)(H.ContentType.create)(r.bindFlipped(g.bindMaybe)(A.toMediaType)(O)))(W(v.map(g.functorMaybe)(H.Accept.create)(F.toMediaType(n)))(_.headers)))),content:w.toNullable(v.map(g.functorMaybe)(function(n){if(n instanceof A.ArrayView)return n.value0(T.unsafeToForeign);if(n instanceof A.Blob)return T.unsafeToForeign(n.value0);if(n instanceof A.Document)return T.unsafeToForeign(n.value0);if(n instanceof A.String)return T.unsafeToForeign(n.value0);if(n instanceof A.FormData)return T.unsafeToForeign(n.value0);if(n instanceof A.FormURLEncoded)return T.unsafeToForeign(S.encode(n.value0));if(n instanceof A.Json)return T.unsafeToForeign(i.stringify(n.value0));throw new Error("Failed pattern match at Network.HTTP.Affjax line 235, column 20 - line 242, column 53: "+[n.constructor.name])})(_.content)),responseType:F.toResponseType(n),username:w.toNullable(_.username),password:w.toNullable(_.password),withCredentials:_.withCredentials};return r.bind(y.bindAff)(M.fromEffectFnAff(e._ajax(L.responseHeader,N)))(function(n){var e=u.runExcept(I(n.response));if(e instanceof f.Left)return a.throwError(y.monadThrowAff)(C.error(d.intercalate(b.foldableNonEmptyList)(h.monoidString)("\n")(v.map(b.functorNonEmptyList)(T.renderForeignError)(e.value0))));if(e instanceof f.Right)return t.pure(y.applicativeAff)({response:e.value0,headers:n.headers,status:n.status,statusText:n.statusText});throw new Error("Failed pattern match at Network.HTTP.Affjax line 217, column 3 - line 219, column 49: "+[e.constructor.name])})}}}(PS["Network.HTTP.Affjax"]=PS["Network.HTTP.Affjax"]||{}),function(n){"use strict";var e=PS["Control.Bind"],t=(PS["Control.Semigroupoid"],PS["Data.Array"]),r=PS["Data.Either"],a=(PS["Data.FormURLEncoded"],PS["Data.Function"],PS["Data.Functor"]),u=PS["Data.HTTP.Method"],o=PS["Data.Maybe"],i=PS["Data.MediaType.Common"],l=(PS["Data.Semigroup"],PS["Data.Show"]),c=PS["Data.Unit"],f=PS.Effect,s=PS["Effect.Aff"],d=PS["Effect.Class"],S=PS.Globals,P=PS.Model,v=PS["Network.HTTP.Affjax"],p=PS["Network.HTTP.Affjax.Request"],m=PS["Network.HTTP.Affjax.Response"],D=PS["Network.HTTP.RequestHeader"],b=(PS.Prelude,PS["Simple.JSON"]),g=PS["Web.Event.Event"],h=PS["Web.HTML"],w=PS["Web.HTML.Location"],E=PS["Web.HTML.Window"],y=function(){function n(){}return n.value=new n,n}(),M=function(){function n(){}return n.value=new n,n}(),C=new l.Show(function(n){if(n instanceof y)return"star";if(n instanceof M)return"unstar";throw new Error("Failed pattern match at App line 28, column 1 - line 28, column 37: "+[n.constructor.name])}),T=function(n){return function(e){return function(a){return function(u){return function(o){var i=S["app'"](c.unit);return v.affjax(o)({method:new r.Left(n),url:e,headers:t.cons(new D.RequestHeader(i.csrfHeaderName,i.csrfToken))(a),content:u,username:v.defaultRequest.username,password:v.defaultRequest.password,withCredentials:v.defaultRequest.withCredentials})}}}}},A=function(n){var t=S["app'"](n);return e.discard(e.discardUnit)(s.bindAff)(a.void(s.functorAff)(T(u.POST.value)(t.authRlogoutR)([])(o.Nothing.value)(m.ignore)))(function(){return d.liftEffect(s.monadEffectAff)(e.bind(f.bindEffect)(e.bind(f.bindEffect)(h.window)(E.location))(w.reload))})},F=function(n){return function(e){return function(t){return function(r){return function(a){return T(n)(S["app'"](c.unit).homeR+e)(t)(r)(a)}}}}},H=function(n){return function(e){return function(t){return function(r){return F(n)(e)([new D.ContentType(i.applicationFormURLEncoded)])(a.map(o.functorMaybe)(p.FormURLEncoded.create)(t))(r)}}}},L=function(n){return function(e){return function(t){return function(r){return function(u){return F(e)(t)([new D.ContentType(i.applicationJSON)])(a.map(o.functorMaybe)(function(e){return p.string(b.writeJSON(n)(e))})(r))(u)}}}}};n.Star=y,n.UnStar=M,n.toggleStar=function(n){return function(e){var t="bm/"+l.show(l.showInt)(n)+"/"+l.show(C)(e);return a.void(s.functorAff)(H(u.POST.value)(t)(o.Nothing.value)(m.ignore))}},n.destroy=function(n){return H(u.DELETE.value)("bm/"+l.show(l.showInt)(n))(o.Nothing.value)(m.ignore)},n.markRead=function(n){var e="bm/"+l.show(l.showInt)(n)+"/read";return H(u.POST.value)(e)(o.Nothing.value)(m.ignore)},n.editBookmark=function(n){return L(P.wfI)(u.POST.value)("api/add")(o.Just.create(n))(m.ignore)},n.logoutE=function(n){return e.bindFlipped(f.bindEffect)(function(n){return a.void(f.functorEffect)(s.launchAff(A(n)))})(g.preventDefault(n))},n.logout=A,n.fetchJson=L,n.fetchUrlEnc=H,n.fetchPath=F,n.fetchUrl=T,n.showStar=C}(PS.App=PS.App||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}(),r=function(){function n(){}return n.value=new n,n}();n.ButtonButton=e,n.ButtonSubmit=t,n.ButtonReset=r,n.renderButtonType=function(n){if(n instanceof e)return"button";if(n instanceof t)return"submit";if(n instanceof r)return"reset";throw new Error("Failed pattern match at DOM.HTML.Indexed.ButtonType line 9, column 20 - line 12, column 18: "+[n.constructor.name])}}(PS["DOM.HTML.Indexed.ButtonType"]=PS["DOM.HTML.Indexed.ButtonType"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}(),r=function(){function n(){}return n.value=new n,n}(),a=function(){function n(){}return n.value=new n,n}(),u=function(){function n(){}return n.value=new n,n}(),o=function(){function n(){}return n.value=new n,n}(),i=function(){function n(){}return n.value=new n,n}(),l=function(){function n(){}return n.value=new n,n}(),c=function(){function n(){}return n.value=new n,n}(),f=function(){function n(){}return n.value=new n,n}(),s=function(){function n(){}return n.value=new n,n}(),d=function(){function n(){}return n.value=new n,n}(),S=function(){function n(){}return n.value=new n,n}(),P=function(){function n(){}return n.value=new n,n}(),v=function(){function n(){}return n.value=new n,n}(),p=function(){function n(){}return n.value=new n,n}(),m=function(){function n(){}return n.value=new n,n}(),D=function(){function n(){}return n.value=new n,n}(),b=function(){function n(){}return n.value=new n,n}(),g=function(){function n(){}return n.value=new n,n}(),h=function(){function n(){}return n.value=new n,n}(),w=function(){function n(){}return n.value=new n,n}();n.InputButton=e,n.InputCheckbox=t,n.InputColor=r,n.InputDate=a,n.InputDatetimeLocal=u,n.InputEmail=o,n.InputFile=i,n.InputHidden=l,n.InputImage=c,n.InputMonth=f,n.InputNumber=s,n.InputPassword=d,n.InputRadio=S,n.InputRange=P,n.InputReset=v,n.InputSearch=p,n.InputSubmit=m,n.InputTel=D,n.InputText=b,n.InputTime=g,n.InputUrl=h,n.InputWeek=w,n.renderInputType=function(n){if(n instanceof e)return"button";if(n instanceof t)return"checkbox";if(n instanceof r)return"color";if(n instanceof a)return"date";if(n instanceof u)return"datetime-local";if(n instanceof o)return"email";if(n instanceof i)return"file";if(n instanceof l)return"hidden";if(n instanceof c)return"image";if(n instanceof f)return"month";if(n instanceof s)return"number";if(n instanceof d)return"password";if(n instanceof S)return"radio";if(n instanceof P)return"range";if(n instanceof v)return"reset";if(n instanceof p)return"search";if(n instanceof m)return"submit";if(n instanceof D)return"tel";if(n instanceof b)return"text";if(n instanceof g)return"time";if(n instanceof h)return"url";if(n instanceof w)return"week";throw new Error("Failed pattern match at DOM.HTML.Indexed.InputType line 28, column 19 - line 50, column 16: "+[n.constructor.name])}}(PS["DOM.HTML.Indexed.InputType"]=PS["DOM.HTML.Indexed.InputType"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=(PS["Control.Monad.Cont.Trans"],PS["Control.Monad.Except.Trans"],PS["Control.Monad.List.Trans"],PS["Control.Monad.Maybe.Trans"],PS["Control.Monad.RWS.Trans"],PS["Control.Monad.Reader.Trans"],PS["Control.Monad.State.Trans"],PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Trans"],PS["Control.Semigroupoid"],PS["Effect.Aff"]),r=(PS["Effect.Class"],PS.Prelude,function(n,e){this.MonadEffect0=n,this.liftAff=e}),a=new r(function(){return t.monadEffectAff},e.identity(e.categoryFn));n.liftAff=function(n){return n.liftAff},n.MonadAff=r,n.monadAffAff=a}(PS["Effect.Aff.Class"]=PS["Effect.Aff.Class"]||{}),function(n){"use strict";var e=PS["Data.Eq"],t=PS["Data.Ord"],r=(PS.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}()),a=new e.Eq(function(n){return function(e){return n.value0(n.value2)(e.value2)}}),u=new t.Ord(function(){return a},function(n){return function(e){return n.value1(n.value2)(e.value2)}});n.mkOrdBox=function(n){return r.create(e.eq(n.Eq0()))(t.compare(n))},n.unOrdBox=function(n){return n.value2},n.eqOrdBox=a,n.ordOrdBox=u}(PS["Halogen.Data.OrdBox"]=PS["Halogen.Data.OrdBox"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}();n.On=e,n.Off=t,n.renderOnOff=function(n){if(n instanceof e)return"on";if(n instanceof t)return"off";throw new Error("Failed pattern match at DOM.HTML.Indexed.OnOff line 8, column 15 - line 10, column 10: "+[n.constructor.name])}}(PS["DOM.HTML.Indexed.OnOff"]=PS["DOM.HTML.Indexed.OnOff"]||{}),function(n){"use strict";var e=PS["Data.Bifunctor"],t=(PS["Data.Eq"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Ord"],PS.Prelude,PS["Web.DOM"],function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}()),a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),u=new e.Bifunctor(function(n){return function(e){return function(t){if(t instanceof r)return new r(t.value0,t.value1,n(t.value2));if(t instanceof a)return new a(e(t.value0));throw new Error("Failed pattern match at Halogen.Query.InputF line 21, column 15 - line 23, column 27: "+[t.constructor.name])}}}),o=new t.Functor(e.rmap(u));n.RefUpdate=r,n.Query=a,n.bifunctorInputF=u,n.functorInputF=o}(PS["Halogen.Query.InputF"]=PS["Halogen.Query.InputF"]||{}),function(n){"use strict";PS.Effect,PS["Effect.Uncurried"],PS.Prelude;var e=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}();n.Step=e,n.extract=function(n){return n.value0},n.step=function(n){return n.value1},n.halt=function(n){return n.value2}}(PS["Halogen.VDom.Machine"]=PS["Halogen.VDom.Machine"]||{}),function(n){"use strict";PS["Control.Category"],PS["Control.Semigroupoid"];var e=PS["Data.Bifunctor"],t=(PS["Data.Eq"],PS["Data.Functor"]),r=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Tuple"]),a=(PS.Prelude,PS["Unsafe.Coerce"]),u=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),l=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),s=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),d=function(n){return function(e){return n(e)}},S=a.unsafeCoerce,P=new t.Functor(function(n){return function(e){return new u(e.value0,e.value1,n(e.value2))}}),v=new e.Bifunctor(function(n){return function(e){return d(function(t){return S(new s(function(e){return n(t.value0(e))},function(n){return e(t.value1(n))},t.value2))})}}),p=new e.Bifunctor(function(n){return function(t){return function(r){return r instanceof o?new o(r.value0):new f(r instanceof f?e.bimap(v)(n)(t)(r.value0):S(new s(n,t,r)))}}}),m=d(function(n){var a=function(u){if(u instanceof o)return new o(u.value0);if(u instanceof i)return new i(t.map(P)(n.value0)(u.value0),t.map(t.functorArray)(a)(u.value1));if(u instanceof l)return new l(t.map(P)(n.value0)(u.value0),t.map(t.functorArray)(t.map(r.functorTuple)(a))(u.value1));if(u instanceof c)return new c(n.value1(u.value0));if(u instanceof f)return new f(e.bimap(v)(n.value0)(n.value1)(u.value0));throw new Error("Failed pattern match at Halogen.VDom.Types line 74, column 7 - line 74, column 27: "+[u.constructor.name])};return a(n.value2)});n.Text=o,n.Elem=i,n.Keyed=l,n.Widget=c,n.Grafted=f,n.Graft=s,n.graft=S,n.unGraft=d,n.runGraft=m,n.ElemSpec=u,n.bifunctorVDom=p,n.bifunctorGraft=v,n.functorElemSpec=P}(PS["Halogen.VDom.Types"]=PS["Halogen.VDom.Types"]||{}),function(n){"use strict";n.unsafeGetAny=function(n,e){return e[n]},n.unsafeHasAny=function(n,e){return e.hasOwnProperty(n)},n.unsafeSetAny=function(n,e,t){t[n]=e},n.forE=function(n,e){for(var t=[],r=0;r<n.length;r++)t.push(e(r,n[r]));return t},n.forInE=function(n,e){for(var t=Object.keys(n),r=0;r<t.length;r++){var a=t[r];e(a,n[a])}},n.diffWithIxE=function(n,e,t,r,a){for(var u=[],o=n.length,i=e.length,l=0;;){if(l<o)l<i?u.push(t(l,n[l],e[l])):r(l,n[l]);else{if(!(l<i))break;u.push(a(l,e[l]))}l++}return u},n.strMapWithIxE=function(n,e,t){for(var r={},a=0;a<n.length;a++){var u=n[a],o=e(u);r[o]=t(o,a,u)}return r},n.diffWithKeyAndIxE=function(n,e,t,r,a,u){for(var o={},i=0;i<e.length;i++){var l=e[i],c=t(l);n.hasOwnProperty(c)?o[c]=r(c,i,n[c],l):o[c]=u(c,i,l)}for(var c in n)c in o||a(c,n[c]);return o},n.refEq=function(n,e){return n===e},n.createTextNode=function(n,e){return e.createTextNode(n)},n.setTextContent=function(n,e){e.textContent=n},n.createElement=function(n,e,t){return null!=n?t.createElementNS(n,e):t.createElement(e)},n.insertChildIx=function(n,e,t){var r=t.childNodes.item(n)||null;r!==e&&t.insertBefore(e,r)},n.removeChild=function(n,e){e&&n.parentNode===e&&e.removeChild(n)},n.parentNode=function(n){return n.parentNode},n.setAttribute=function(n,e,t,r){null!=n?r.setAttributeNS(n,e,t):r.setAttribute(e,t)},n.removeAttribute=function(n,e,t){null!=n?t.removeAttributeNS(n,e):t.removeAttribute(e)},n.addEventListener=function(n,e,t){t.addEventListener(n,e,!1)},n.removeEventListener=function(n,e,t){t.removeEventListener(n,e,!1)},n.jsUndefined=void 0}(PS["Halogen.VDom.Util"]=PS["Halogen.VDom.Util"]||{}),function(n){"use strict";var e=function(n){return function(e){return function(){return e[n]}}};n._parentNode=e("parentNode"),n._nextSibling=e("nextSibling"),n.insertBefore=function(n){return function(e){return function(t){return function(){return t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){return e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){return e.removeChild(n)}}}}(PS["Web.DOM.Node"]=PS["Web.DOM.Node"]||{}),function(n){"use strict";var e=PS["Web.DOM.Node"],t=(PS["Control.Semigroupoid"],PS["Data.Enum"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Nullable"]),a=PS.Effect;PS.Prelude,PS["Unsafe.Coerce"],PS["Web.DOM.Document"],PS["Web.DOM.Element"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NodeType"],PS["Web.Event.EventTarget"],PS["Web.Internal.FFI"];n.parentNode=function(n){return t.map(a.functorEffect)(r.toMaybe)(e._parentNode(n))},n.nextSibling=function(n){return t.map(a.functorEffect)(r.toMaybe)(e._nextSibling(n))},n.insertBefore=e.insertBefore,n.appendChild=e.appendChild,n.removeChild=e.removeChild}(PS["Web.DOM.Node"]=PS["Web.DOM.Node"]||{}),function(n){"use strict";var e=PS["Halogen.VDom.Util"],t=PS["Control.Applicative"],r=(PS["Data.Function.Uncurried"],PS["Data.Nullable"],PS["Data.Unit"]),a=PS.Effect,u=(PS["Effect.Uncurried"],PS["Foreign.Object"],PS["Foreign.Object.ST"]),o=(PS["Halogen.VDom.Types"],PS.Prelude,PS["Unsafe.Coerce"]),i=(PS["Web.DOM.Document"],PS["Web.DOM.Element"],PS["Web.DOM.Node"],PS["Web.Event.EventTarget"],e.unsafeGetAny),l=o.unsafeCoerce,c=e.unsafeSetAny,f=u.new,s=t.pure(a.applicativeEffect)(r.unit);n.effectUnit=s,n.newMutMap=f,n.pokeMutMap=c,n.unsafeFreeze=l,n.unsafeLookup=i,n.unsafeGetAny=e.unsafeGetAny,n.unsafeHasAny=e.unsafeHasAny,n.unsafeSetAny=e.unsafeSetAny,n.forE=e.forE,n.forInE=e.forInE,n.diffWithIxE=e.diffWithIxE,n.diffWithKeyAndIxE=e.diffWithKeyAndIxE,n.strMapWithIxE=e.strMapWithIxE,n.refEq=e.refEq,n.createTextNode=e.createTextNode,n.setTextContent=e.setTextContent,n.createElement=e.createElement,n.insertChildIx=e.insertChildIx,n.removeChild=e.removeChild,n.parentNode=e.parentNode,n.setAttribute=e.setAttribute,n.removeAttribute=e.removeAttribute,n.addEventListener=e.addEventListener,n.removeEventListener=e.removeEventListener,n.jsUndefined=e.jsUndefined}(PS["Halogen.VDom.Util"]=PS["Halogen.VDom.Util"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Data.Eq"],PS["Data.Function.Uncurried"];var e=PS["Data.Functor"],t=PS["Data.Maybe"],r=PS["Data.Nullable"],a=(PS["Data.Semigroup"],PS["Data.Tuple"]),u=PS["Data.Unit"],o=(PS.Effect,PS["Effect.Ref"]),i=(PS["Effect.Uncurried"],PS.Foreign),l=PS["Foreign.Object"],c=(PS["Halogen.VDom"],PS["Halogen.VDom.Machine"]),f=(PS["Halogen.VDom.Types"],PS["Halogen.VDom.Util"]),s=(PS.Prelude,PS["Unsafe.Coerce"]),d=(PS["Web.DOM.Element"],PS["Web.Event.Event"],PS["Web.Event.EventTarget"]),S=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),p=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),m=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),D=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),b=f.unsafeGetAny,g=f.unsafeSetAny,h=function(n){if(n instanceof v&&n.value0 instanceof t.Just)return"attr/"+n.value0.value0+":"+n.value1;if(n instanceof v)return"attr/:"+n.value1;if(n instanceof p)return"prop/"+n.value0;if(n instanceof m)return"handler/"+n.value0;if(n instanceof D)return"ref";throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 178, column 16 - line 185, column 1: "+[n.constructor.name])},w=s.unsafeCoerce,E=s.unsafeCoerce,y=s.unsafeCoerce,M=new e.Functor(function(n){return function(r){return r instanceof m?new m(r.value0,e.map(e.functorFn)(e.map(t.functorMaybe)(n))(r.value1)):r instanceof D?new D(e.map(e.functorFn)(e.map(t.functorMaybe)(n))(r.value0)):r}});n.Attribute=v,n.Property=p,n.Handler=m,n.Ref=D,n.Created=S,n.Removed=P,n.propFromString=w,n.propFromBoolean=y,n.propFromInt=E,n.buildProp=function(n){return function(e){var s=function(n){return function(t,o){if(o instanceof v)return f.removeAttribute(r.toNullable(o.value0),o.value1,e);if(o instanceof p)return function(n,e){return"string"===i.typeOf(f.unsafeGetAny(n,e))?f.unsafeSetAny(n,"",e):"rowSpan"===n?f.unsafeSetAny(n,1,e):"colSpan"===n?f.unsafeSetAny(n,1,e):f.unsafeSetAny(n,f.jsUndefined,e)}(o.value0,e);if(o instanceof m){var l=f.unsafeLookup(o.value0,n);return f.removeEventListener(o.value0,a.fst(l),e)}if(o instanceof D)return u.unit;throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 165, column 5 - line 175, column 18: "+[o.constructor.name])}},w=function(e){return e instanceof t.Just?n(e.value0)():u.unit},E=function(n){var r=l.lookup("ref")(n);return r instanceof t.Just&&r.value0 instanceof D?function(){return w(r.value0.value0(new P(e)))}:f.effectUnit},y=function(n){return function(t,u,i){if(i instanceof v)return f.setAttribute(r.toNullable(i.value0),i.value1,i.value2,e),i;if(i instanceof p)return g(i.value0,i.value1,e),i;if(i instanceof m){var l=f.unsafeGetAny(i.value0,n);if(f.unsafeHasAny(i.value0,n))return o.write(i.value1)(a.snd(l))(),i;var c=o.new(i.value1)(),s=d.eventListener(function(n){return function(){var e=o.read(c)();return w(e(n))}})();return f.pokeMutMap(i.value0,new a.Tuple(s,c),n),f.addEventListener(i.value0,s,e),i}if(i instanceof D)return w(i.value0(new S(e))),i;throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 109, column 5 - line 131, column 15: "+[i.constructor.name])}},M=function(n,t){return function(i){var l=f.newMutMap(),d=s(n),S=function(n,t){return function(u,i,l,c){if(l instanceof v&&c instanceof v)return l.value2===c.value2?c:(f.setAttribute(r.toNullable(c.value0),c.value1,c.value2,e),c);if(l instanceof p&&c instanceof p){if(f.refEq(l.value1,c.value1))return c;if("value"===c.value0){var s=b("value",e);return f.refEq(s,c.value1)?c:(g(c.value0,c.value1,e),c)}return g(c.value0,c.value1,e),c}if(l instanceof m&&c instanceof m){var d=f.unsafeLookup(c.value0,n);return o.write(c.value1)(a.snd(d))(),f.pokeMutMap(c.value0,d,t),c}return c}}(n,l),P=y(l),D=f.diffWithKeyAndIxE(t,i,h,S,d,P);return new c.Step(u.unit,M(f.unsafeFreeze(l),D),E(D))}};return function(n){var e=f.newMutMap(),t=f.strMapWithIxE(n,h,y(e));return new c.Step(u.unit,M(f.unsafeFreeze(e),t),E(t))}}},n.functorProp=M}(PS["Halogen.VDom.DOM.Prop"]=PS["Halogen.VDom.DOM.Prop"]||{}),function(n){"use strict";PS["Control.Semigroupoid"];var e=PS["DOM.HTML.Indexed.ButtonType"],t=(PS["DOM.HTML.Indexed.CrossOriginValue"],PS["DOM.HTML.Indexed.DirValue"],PS["DOM.HTML.Indexed.FormMethod"],PS["DOM.HTML.Indexed.InputType"]),r=(PS["DOM.HTML.Indexed.KindValue"],PS["DOM.HTML.Indexed.MenuType"],PS["DOM.HTML.Indexed.MenuitemType"],PS["DOM.HTML.Indexed.OnOff"]),a=(PS["DOM.HTML.Indexed.OrderedListType"],PS["DOM.HTML.Indexed.PreloadValue"],PS["DOM.HTML.Indexed.ScopeValue"],PS["DOM.HTML.Indexed.StepValue"],PS["DOM.HTML.Indexed.WrapValue"],PS["Data.Bifunctor"]),u=(PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"]),o=(PS["Data.Maybe"],PS["Data.MediaType"],PS["Data.Newtype"]),i=(PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Tuple"],PS["Halogen.Query.InputF"]),l=(PS["Halogen.VDom"],PS["Halogen.VDom.DOM.Prop"]),c=PS["Halogen.VDom.Types"],f=(PS.Prelude,PS["Unsafe.Coerce"],PS["Web.DOM.Element"],PS["Web.Event.Event"],function(n){return n}),s=function(n){return n},d=function(n){this.toPropValue=n},S=function(n){return n.toPropValue},P=new d(l.propFromString),v=new d(function(n){return l.propFromString(r.renderOnOff(n))}),p=new o.Newtype(function(n){return n},s),m=new d(l.propFromInt),D=new d(function(n){return l.propFromString(t.renderInputType(n))}),b=l.Handler.create,g=new d(function(n){return l.propFromString(e.renderButtonType(n))}),h=new d(l.propFromBoolean),w=new a.Bifunctor(function(n){return function(e){return function(t){return a.bimap(c.bifunctorVDom)(u.map(u.functorArray)(u.map(l.functorProp)(u.map(i.functorInputF)(e))))(n)(t)}}});n.HTML=f,n.slot=function(n){return f(c.Widget.create(n))},n.text=function(n){return f(c.Text.create(n))},n.element=function(n){return function(e){return function(t){return function(r){return new c.Elem(new c.ElemSpec(n,e,t),r)}}}},n.prop=function(n){return function(e){return function(t){return l.Property.create(e)(S(n)(t))}}},n.attr=function(n){return function(e){return l.Attribute.create(n)(e)}},n.handler=b,n.IsProp=d,n.toPropValue=S,n.ClassName=s,n.bifunctorHTML=w,n.stringIsProp=P,n.intIsProp=m,n.booleanIsProp=h,n.buttonTypeIsProp=g,n.inputTypeIsProp=D,n.onOffIsProp=v,n.newtypeClassName=p}(PS["Halogen.HTML.Core"]=PS["Halogen.HTML.Core"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Category"],a=(PS["Control.Semigroupoid"],PS["Data.Const"],PS["Data.Either"]),u=(PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"]),o=(PS["Data.List"],PS["Data.List.NonEmpty"]),i=PS["Data.List.Types"],l=(PS["Data.Newtype"],PS["Data.NonEmpty"]),c=(PS["Data.Ring"],PS["Data.Semiring"],PS["Data.Tuple"]),f=(PS.Prelude,PS["Unsafe.Coerce"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return function(e){return new d(n,e)}},P=s.create,v=function(n){return function(t){return function(r){return function(a){return function(u){return function(l){var S,P=n,v=t,p=r,m=a,D=u,b=!1;function g(n,t,r,a,u,S){if(u instanceof f)return b=!0,new c.Tuple(new i.Cons({func:e.pure(n)(u.value0),count:S},t),r);if(u instanceof s)return b=!0,new c.Tuple(new i.Cons({func:a(u.value0),count:S},t),r);if(u instanceof d)return P=n,v=t,p=o.cons(u.value1)(r),m=a,D=u.value0,void(l=S+1|0);throw new Error("Failed pattern match at Control.Applicative.Free line 102, column 41 - line 105, column 81: "+[u.constructor.name])}for(;!b;)S=g(P,v,p,m,D,l);return S}}}}}},p=function(n){return function(e){return function(r){return function(u){var o,f=n,s=e,d=r,S=!1;function P(n,e,r,o){if(e instanceof i.Nil)return S=!0,new a.Left(o);if(e instanceof i.Cons){var P=t.apply(n.Apply0())(e.value0.func)(o);if(1===e.value0.count)return e.value1 instanceof i.Nil?(S=!0,new a.Left(P)):(f=n,s=e.value1,d=r,void(u=P));if(r instanceof i.Nil)return S=!0,new a.Left(P);if(r instanceof i.Cons)return S=!0,a.Right.create(new c.Tuple(new i.Cons({func:P,count:e.value0.count-1|0},e.value1),new l.NonEmpty(r.value0,r.value1)));throw new Error("Failed pattern match at Control.Applicative.Free line 83, column 11 - line 88, column 50: "+[r.constructor.name])}throw new Error("Failed pattern match at Control.Applicative.Free line 72, column 3 - line 88, column 50: "+[e.constructor.name])}for(;!S;)o=P(f,s,d,u);return o}}}},m=new u.Functor(function(n){return function(e){return S(new f(n))(e)}}),D=function(n){return function(t){return function(r){return function(r){var u,o=!1;function i(u){if(u.value1.value0 instanceof f){if((i=p(n)(u.value0)(u.value1.value1)(e.pure(n)(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free line 54, column 17 - line 56, column 24: "+[i.constructor.name])}if(u.value1.value0 instanceof s){var i;if((i=p(n)(u.value0)(u.value1.value1)(t(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free line 57, column 17 - line 59, column 24: "+[i.constructor.name])}if(!(u.value1.value0 instanceof d))throw new Error("Failed pattern match at Control.Applicative.Free line 53, column 5 - line 64, column 1: "+[u.value1.value0.constructor.name]);var c=new l.NonEmpty(u.value1.value0.value1,u.value1.value1);r=v(n)(u.value0)(c)(t)(u.value1.value0.value0)(1)}for(;!o;)u=i(r);return u}(new c.Tuple(i.Nil.value,o.singleton(r)))}}},b=new t.Apply(function(){return m},function(n){return function(e){return S(n)(e)}}),g=new e.Applicative(function(){return b},f.create);n.liftFreeAp=P,n.retractFreeAp=function(n){return D(n)(r.identity(r.categoryFn))},n.foldFreeAp=D,n.hoistFreeAp=function(n){return D(g)(function(e){return P(n(e))})},n.functorFreeAp=m,n.applyFreeAp=b,n.applicativeFreeAp=g}(PS["Control.Applicative.Free"]=PS["Control.Applicative.Free"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"];var e=PS["Data.List"],t=PS["Data.List.Types"],r=PS["Data.Maybe"],a=(PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Tuple"]),u=(PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),o=new u(t.Nil.value,t.Nil.value);n.CatQueue=u,n.empty=o,n.null=function(n){return n.value0 instanceof t.Nil&&n.value1 instanceof t.Nil},n.snoc=function(n){return function(e){return new u(n.value0,new t.Cons(e,n.value1))}},n.uncons=function(n){var o,i=!1;function l(o){if(o.value0 instanceof t.Nil&&o.value1 instanceof t.Nil)return i=!0,r.Nothing.value;if(!(o.value0 instanceof t.Nil)){if(o.value0 instanceof t.Cons)return i=!0,new r.Just(new a.Tuple(o.value0.value0,new u(o.value0.value1,o.value1)));throw new Error("Failed pattern match at Data.CatQueue line 83, column 1 - line 83, column 63: "+[o.constructor.name])}n=new u(e.reverse(o.value1),t.Nil.value)}for(;!i;)o=l(n);return o}}(PS["Data.CatQueue"]=PS["Data.CatQueue"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"];var e=PS["Data.CatQueue"],t=(PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.List"],PS["Data.List.Types"]),r=PS["Data.Maybe"],a=(PS["Data.Monoid"],PS["Data.Semigroup"]),u=(PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Tuple"]),o=(PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),i=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),l=function(n){return function(t){if(n instanceof o)return t;if(n instanceof i)return new i(n.value0,e.snoc(n.value1)(t));throw new Error("Failed pattern match at Data.CatList line 111, column 1 - line 111, column 54: "+[n.constructor.name,t.constructor.name])}},c=o.value,f=function(n){return function(e){return e instanceof o?n:n instanceof o?e:l(n)(e)}},s=new a.Semigroup(f);n.CatNil=o,n.CatCons=i,n.empty=c,n.append=f,n.snoc=function(n){return function(t){return f(n)(new i(t,e.empty))}},n.uncons=function(n){if(n instanceof o)return r.Nothing.value;if(n instanceof i)return new r.Just(new u.Tuple(n.value0,e.null(n.value1)?o.value:(a=l,function(n){return function(u){var o,i=function(n){return function(e){return function(r){var a,u=n,o=e,i=!1;function l(n,e,a){if(a instanceof t.Nil)return i=!0,e;if(a instanceof t.Cons)return u=n,o=n(e)(a.value0),void(r=a.value1);throw new Error("Failed pattern match at Data.CatList line 126, column 3 - line 126, column 59: "+[n.constructor.name,e.constructor.name,a.constructor.name])}for(;!i;)a=l(u,o,r);return a}}};return(o=u,function(u){var l,c=o,f=!1;function s(o,l){var s=e.uncons(o);if(s instanceof r.Nothing)return f=!0,i(function(n){return function(e){return e(n)}})(n)(l);if(s instanceof r.Just)return c=s.value0.value1,void(u=new t.Cons(a(s.value0.value0),l));throw new Error("Failed pattern match at Data.CatList line 122, column 14 - line 124, column 67: "+[s.constructor.name])}for(;!f;)l=s(c,u);return l})(t.Nil.value)}})(o.value)(n.value1)));var a;throw new Error("Failed pattern match at Data.CatList line 102, column 1 - line 102, column 61: "+[n.constructor.name])},n.semigroupCatList=s}(PS["Data.CatList"]=PS["Data.CatList"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=PS["Control.Monad.Rec.Class"],o=(PS["Control.Monad.Trans.Class"],PS["Control.Semigroupoid"],PS["Data.CatList"]),i=(PS["Data.Either"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"]),l=PS["Data.Maybe"],c=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"]),f=(PS["Data.Traversable"],PS["Data.Tuple"],PS.Prelude,PS["Unsafe.Coerce"],function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return new f(n,o.empty)},P=new a.Monad(function(){return D},function(){return p}),v=new i.Functor(function(n){return function(t){return r.bindFlipped(p)(function(t){return e.pure(D)(n(t))})(t)}}),p=new r.Bind(function(){return m},function(n){return function(e){return new f(n.value0,o.snoc(n.value1)(e))}}),m=new t.Apply(function(){return v},a.ap(P)),D=new e.Applicative(function(){return m},function(n){return S(s.create(n))});n.liftF=function(n){return S(new d(n,function(n){return e.pure(D)(n)}))},n.foldFree=function(n){return function(t){return u.tailRecM(n)(function(r){var a=function(n){var e,t=!1;function r(e){var r=function(n){return function(e){return new f(n.value0,c.append(o.semigroupCatList)(n.value1)(e))}};if(e.value0 instanceof s){var a=o.uncons(e.value1);if(a instanceof l.Nothing)return t=!0,new s(e.value0.value0);if(a instanceof l.Just)return void(n=r(function(n){return n}(a.value0.value0)(e.value0.value0))(a.value0.value1));throw new Error("Failed pattern match at Control.Monad.Free line 220, column 7 - line 224, column 64: "+[a.constructor.name])}if(e.value0 instanceof d)return t=!0,new d(e.value0.value0,function(n){return r(e.value0.value1(n))(e.value1)});throw new Error("Failed pattern match at Control.Monad.Free line 218, column 3 - line 226, column 56: "+[e.value0.constructor.name])}for(;!t;)e=r(n);return e}(r);if(a instanceof s)return i.map(n.Monad0().Bind1().Apply0().Functor0())(u.Done.create)(e.pure(n.Monad0().Applicative0())(a.value0));if(a instanceof d)return i.map(n.Monad0().Bind1().Apply0().Functor0())(function(n){return u.Loop.create(a.value1(n))})(t(a.value0));throw new Error("Failed pattern match at Control.Monad.Free line 151, column 10 - line 153, column 37: "+[a.constructor.name])})}},n.freeFunctor=v,n.freeBind=p,n.freeApplicative=D,n.freeApply=m,n.freeMonad=P}(PS["Control.Monad.Free"]=PS["Control.Monad.Free"]||{}),function(n){"use strict";var e=PS["Unsafe.Coerce"],t=e.unsafeCoerce,r=e.unsafeCoerce;n.mkExists=r,n.runExists=t}(PS["Data.Exists"]=PS["Data.Exists"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Monad"],PS["Control.Monad.Trans.Class"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Distributive"],PS["Data.Eq"];var e=PS["Data.Exists"];PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Functor.Invariant"],PS["Data.Ord"],PS["Data.Semigroup.Foldable"],PS["Data.Semigroup.Traversable"],PS["Data.Traversable"],PS.Prelude;n.unCoyoneda=function(n){return function(t){return e.runExists(function(e){return n(e.value0)(e.value1)})(t)}}}(PS["Data.Coyoneda"]=PS["Data.Coyoneda"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=(PS["Control.Monad.Error.Class"],PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"]),o=(PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"]),i=(PS["Control.Monad.Writer.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"]),l=PS["Data.Either"],c=PS["Data.Exists"],f=PS["Data.Functor"],s=(PS["Data.Monoid"],PS["Data.Semigroup"],PS["Data.Unit"]),d=(PS["Effect.Class"],PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),S=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=S.create,p=function(n){return function(e){return new P(c.mkExists(new d(n,e)))}},m=function(n){return function(e){return new f.Functor(function(t){return function(r){if(r instanceof S)return new S(function(a){return f.map(e)(i.bimap(l.bifunctorEither)(t)(f.map(n)(f.map(m(n)(e))(t))))(r.value0(s.unit))});if(r instanceof P)return c.runExists(function(r){return p(r.value0)(function(a){return f.map(m(n)(e))(t)(r.value1(a))})})(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 57, column 1 - line 57, column 71: "+[t.constructor.name,r.constructor.name])}})}},D=function(n){return function(e){return new a.Monad(function(){return h(n)(e)},function(){return b(n)(e)})}},b=function(n){return function(e){return new r.Bind(function(){return g(n)(e)},function(n){return function(e){return n instanceof P?c.runExists(function(n){return p(n.value0)(function(t){return p(function(e){return n.value1(t)})(e)})})(n.value0):p(function(e){return n})(e)}})}},g=function(n){return function(e){return new t.Apply(function(){return m(n)(e.Bind1().Apply0().Functor0())},a.ap(D(n)(e)))}},h=function(n){return function(t){return new e.Applicative(function(){return g(n)(t)},function(n){return new S(function(r){return e.pure(t.Applicative0())(new l.Left(n))})})}},w=function(n){return function(t){return u.tailRecM(t)(function(a){if(a instanceof S)return f.map(t.Monad0().Bind1().Apply0().Functor0())(u.Done.create)(a.value0(s.unit));if(a instanceof P)return c.runExists(function(a){var o=a.value0(s.unit);if(o instanceof S)return r.bind(t.Monad0().Bind1())(o.value0(s.unit))(function(o){if(o instanceof l.Left)return e.pure(t.Monad0().Applicative0())(new u.Loop(a.value1(o.value0)));if(o instanceof l.Right)return e.pure(t.Monad0().Applicative0())(new u.Done(new l.Right(f.map(n)(function(e){return r.bind(b(n)(t.Monad0()))(e)(a.value1)})(o.value0))));throw new Error("Failed pattern match at Control.Monad.Free.Trans line 52, column 20 - line 54, column 67: "+[o.constructor.name])});if(o instanceof P)return c.runExists(function(o){return e.pure(t.Monad0().Applicative0())(new u.Loop(r.bind(b(n)(t.Monad0()))(o.value0(s.unit))(function(e){return r.bind(b(n)(t.Monad0()))(o.value1(e))(a.value1)})))})(o.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 50, column 5 - line 55, column 98: "+[o.constructor.name])})(a.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 47, column 3 - line 47, column 75: "+[a.constructor.name])})}};n.freeT=v,n.liftFreeT=function(n){return function(t){return function(r){return new S(function(a){return e.pure(t.Applicative0())(new l.Right(f.map(n)(e.pure(h(n)(t)))(r)))})}}},n.resume=w,n.runFreeT=function(n){return function(t){return function(a){return u.tailRecM(t)(r.composeKleisliFlipped(t.Monad0().Bind1())(function(n){if(n instanceof l.Left)return e.pure(t.Monad0().Applicative0())(new u.Done(n.value0));if(n instanceof l.Right)return f.map(t.Monad0().Bind1().Apply0().Functor0())(u.Loop.create)(a(n.value0));throw new Error("Failed pattern match at Control.Monad.Free.Trans line 126, column 3 - line 126, column 63: "+[n.constructor.name])})(w(n)(t)))}}},n.functorFreeT=m,n.applyFreeT=g,n.applicativeFreeT=h,n.bindFreeT=b,n.monadFreeT=D,n.monadTransFreeT=function(n){return new o.MonadTrans(function(n){return function(e){return new S(function(t){return f.map(n.Bind1().Apply0().Functor0())(l.Left.create)(e)})}})},n.monadRecFreeT=function(n){return function(t){return new u.MonadRec(function(){return D(n)(t)},function(a){var o=function(i){return r.bind(b(n)(t))(a(i))(function(r){if(r instanceof u.Loop)return o(r.value0);if(r instanceof u.Done)return e.pure(h(n)(t))(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 80, column 15 - line 82, column 25: "+[r.constructor.name])})};return o})}}}(PS["Control.Monad.Free.Trans"]=PS["Control.Monad.Free.Trans"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=(PS["Control.Semigroupoid"],PS["Data.Newtype"],PS.Prelude,function(n){this.dimap=n}),r=new t(function(n){return function(e){return function(t){return function(r){return e(t(n(r)))}}}}),a=function(n){return n.dimap};n.dimap=a,n.Profunctor=t,n.rmap=function(n){return function(t){return a(n)(e.identity(e.categoryFn))(t)}},n.profunctorFn=r}(PS["Data.Profunctor"]=PS["Data.Profunctor"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=PS["Control.Category"],u=(PS["Control.Monad.Except"],PS["Control.Monad.Except.Trans"]),o=PS["Control.Monad.Free.Trans"],i=PS["Control.Monad.Rec.Class"],l=PS["Control.Monad.Trans.Class"],c=(PS["Control.Parallel"],PS["Control.Parallel.Class"]),f=(PS["Control.Semigroupoid"],PS["Data.Bifunctor"]),s=PS["Data.Either"],d=(PS["Data.Function"],PS["Data.Functor"]),S=PS["Data.Identity"],P=PS["Data.Maybe"],v=PS["Data.Newtype"],p=PS["Data.Profunctor"],m=PS["Data.Tuple"],D=PS["Data.Unit"],b=(PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),g=new p.Profunctor(function(n){return function(e){return function(t){return p.dimap(p.profunctorFn)(n)(e)(t)}}}),h=function(n){return function(e){return function(t){return i.tailRecM(o.monadRecFreeT(n)(e))(function(r){return d.map(o.functorFreeT(n)(e.Bind1().Apply0().Functor0()))(P.maybe(new i.Loop(D.unit))(i.Done.create))(t)})(D.unit)}}},w=function(n){return function(t){return function(a){return function(i){return function(l){return function(c){return function(f){var s=function(c){return u.runExceptT(r.bind(u.bindExceptT(i.Monad0()))(u.ExceptT(o.resume(n)(i)(c.value0)))(function(n){return r.bind(u.bindExceptT(i.Monad0()))(u.ExceptT(o.resume(t)(i)(c.value1)))(function(t){return e.pure(u.applicativeExceptT(i.Monad0()))(d.map(a)(function(n){return o.freeT(function(e){return s(n)})})(l(m.Tuple.create)(n)(t)))})}))};return o.freeT(function(n){return s(new m.Tuple(c,f))})}}}}}}},E=function(n){return function(a){return function(u){return function(i){return function(l){return function(f){return function(S){return function(P){var v=function(S){return r.bind(i.Monad0().Bind1())(c.sequential(l)(t.apply(l.Applicative1().Apply0())(d.map(l.Applicative1().Apply0().Functor0())(t.lift2(s.applyEither)(f(m.Tuple.create)))(c.parallel(l)(o.resume(n)(i)(S.value0))))(c.parallel(l)(o.resume(a)(i)(S.value1)))))(function(n){if(n instanceof s.Left)return e.pure(i.Monad0().Applicative0())(new s.Left(n.value0));if(n instanceof s.Right)return e.pure(i.Monad0().Applicative0())(new s.Right(d.map(u)(function(n){return o.freeT(function(e){return v(n)})})(n.value0)));throw new Error("Failed pattern match at Control.Coroutine line 79, column 5 - line 81, column 63: "+[n.constructor.name])})};return o.freeT(function(n){return v(new m.Tuple(S,P))})}}}}}}}},y=new d.Functor(p.rmap(g)),M=new f.Bifunctor(function(n){return function(e){return function(t){return new b(n(t.value0),e(t.value1))}}}),C=new d.Functor(f.rmap(M)),T=function(n){return function(e){return o.liftFreeT(C)(n)(new b(e,D.unit))}};n.loop=h,n.runProcess=function(n){return o.runFreeT(S.functorIdentity)(n)(function(t){return e.pure(n.Monad0().Applicative0())(v.unwrap(S.newtypeIdentity)(t))})},n.fuseWith=E,n.fuseWithL=w,n.Emit=b,n.emit=T,n.producer=function(n){return function(t){return h(C)(n)(r.bind(o.bindFreeT(C)(n))(l.lift(o.monadTransFreeT(C))(n)(t))(function(t){if(t instanceof s.Left)return d.voidLeft(o.functorFreeT(C)(n.Bind1().Apply0().Functor0()))(T(n)(t.value0))(P.Nothing.value);if(t instanceof s.Right)return e.pure(o.applicativeFreeT(C)(n))(new P.Just(t.value0));throw new Error("Failed pattern match at Control.Coroutine line 125, column 3 - line 127, column 29: "+[t.constructor.name])}))}},n.await=function(n){return o.liftFreeT(y)(n)(a.identity(a.categoryFn))},n.connect=function(n){return function(e){return E(C)(y)(S.functorIdentity)(n)(e)(function(n){return function(e){return function(t){return n(e.value1)(t(e.value0))}}})}},n.pullFrom=function(n){return w(y)(C)(S.functorIdentity)(n)(function(n){return function(t){return function(r){return e.pure(S.applicativeIdentity)(n(t(r.value0))(r.value1))}}})},n.bifunctorEmit=M,n.functorEmit=C,n.profunctorAwait=g,n.functorAwait=y}(PS["Control.Coroutine"]=PS["Control.Coroutine"]||{}),function(n){"use strict";var e=function(){function n(){this.head=null,this.last=null,this.size=0}function e(n,e){this.queue=n,this.value=e,this.next=null,this.prev=null}function t(e){this.draining=!1,this.error=null,this.value=e,this.takes=new n,this.reads=new n,this.puts=new n}var r={};function a(n){try{n()}catch(n){setTimeout(function(){throw n},0)}}function u(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.last,n.head.next=null,n.last=null;break;default:e=n.last,n.last=e.prev,n.last.next=null}return e.prev=null,e.queue=null,n.size--,e.value}function o(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.head,n.last.prev=null,n.head=n.last,n.last=null;break;default:e=n.head,n.head=e.next,n.head.prev=null}return e.next=null,e.queue=null,n.size--,e.value}return t.EMPTY=r,t.putLast=function(n,t){var r=new e(n,t);switch(n.size){case 0:n.head=r;break;case 1:r.prev=n.head,n.head.next=r,n.last=r;break;default:r.prev=n.last,n.last.next=r,n.last=r}return n.size++,r},t.takeLast=u,t.takeHead=o,t.deleteCell=function(n){null!==n.queue&&(n.queue.last!==n?n.queue.head!==n?(n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),n.queue.size--,n.queue=null,n.value=null,n.next=null,n.prev=null):o(n.queue):u(n.queue))},t.drainVar=function(n,e){if(!e.draining){var t,u,i,l,c,f=e.puts,s=e.takes,d=e.reads;for(e.draining=!0;;){if(t=null,u=null,i=null,l=e.value,c=d.size,null!==e.error){for(l=n.left(e.error);t=o(f);)a(t.cb(l));for(;u=o(d);)a(u(l));for(;i=o(s);)a(i(l));break}if(l===r&&(t=o(f))&&(e.value=l=t.value),l!==r){for(i=o(s);c--&&(u=o(d));)a(u(n.right(l)));null!==i&&(e.value=r,a(i(n.right(l))))}if(null!==t&&a(t.cb(n.right(void 0))),e.value===r&&0===f.size||e.value!==r&&0===s.size)break}e.draining=!1}},t}();n.empty=function(){return new e(e.EMPTY)},n._killVar=function(n,t,r){return function(){null===r.error&&(r.error=t,r.value=e.EMPTY,e.drainVar(n,r))}},n._putVar=function(n,t,r,a){return function(){var u=e.putLast(r.puts,{cb:a,value:t});return e.drainVar(n,r),function(){e.deleteCell(u)}}},n._takeVar=function(n,t,r){return function(){var a=e.putLast(t.takes,r);return e.drainVar(n,t),function(){e.deleteCell(a)}}}}(PS["Effect.AVar"]=PS["Effect.AVar"]||{}),function(n){"use strict";var e=PS["Effect.AVar"],t=PS["Data.Either"],r=(PS["Data.Function.Uncurried"],PS["Data.Maybe"]),a=(PS.Effect,PS["Effect.Exception"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(){}return n.value=new n,n}(),i={left:t.Left.create,right:t.Right.create,nothing:r.Nothing.value,just:r.Just.create,killed:a.create,filled:u.create,empty:o.value};n.Killed=a,n.Filled=u,n.Empty=o,n.take=function(n){return function(t){return e._takeVar(i,n,t)}},n.put=function(n){return function(t){return function(r){return e._putVar(i,n,t,r)}}},n.kill=function(n){return function(t){return e._killVar(i,n,t)}},n.empty=e.empty}(PS["Effect.AVar"]=PS["Effect.AVar"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Semigroupoid"],PS["Data.Maybe"],PS.Effect;var e=PS["Effect.AVar"],t=PS["Effect.Aff"],r=PS["Effect.Class"],a=(PS["Effect.Exception"],PS.Prelude,r.liftEffect(t.monadEffectAff)(e.empty));n.empty=a,n.take=function(n){return t.makeAff(function(r){return function(){var a=e.take(n)(r)();return t.effectCanceler(a)}})},n.put=function(n){return function(r){return t.makeAff(function(a){return function(){var u=e.put(n)(r)(a)();return t.effectCanceler(u)}})}},n.kill=function(n){return function(a){return r.liftEffect(t.monadEffectAff)(e.kill(n)(a))}}}(PS["Effect.Aff.AVar"]=PS["Effect.Aff.AVar"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Coroutine"],PS["Control.Monad.Free.Trans"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Either"];var e=PS["Data.Eq"],t=(PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Unit"],PS.Effect,PS["Effect.Aff"],PS["Effect.Aff.AVar"],PS["Effect.Aff.Class"],PS["Effect.Class"],PS["Effect.Exception"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),r=function(){function n(){}return n.value=new n,n}(),a=new e.Eq(function(n){return function(e){return n instanceof t&&e instanceof t||n instanceof r&&e instanceof r}});n.Listening=t,n.Done=r,n.unEventSource=function(n){return n},n.eqSubscribeStatus=a}(PS["Halogen.Query.EventSource"]=PS["Halogen.Query.EventSource"]||{}),function(n){"use strict";PS["Control.Category"],PS["Data.Function"],PS["Data.Functor"],PS["Effect.Aff"],PS["Effect.Exception"],PS.Prelude;var e=PS["Unsafe.Coerce"].unsafeCoerce;n.unFork=e}(PS["Halogen.Query.ForkF"]=PS["Halogen.Query.ForkF"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Applicative.Free"],PS["Control.Apply"]),r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=PS["Control.Monad.Free"],o=(PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.State.Class"]),i=(PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Class"],PS["Control.Parallel.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Coyoneda"],PS["Data.Function"],PS["Data.Functor"]),l=(PS["Data.List"],PS["Data.List.Types"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Tuple"],PS["Data.Unit"]),c=PS["Effect.Aff.Class"],f=PS["Effect.Class"],s=(PS["Effect.Exception"],PS["Halogen.Query.EventSource"],PS["Halogen.Query.ForkF"],PS["Halogen.Query.InputF"],PS.Prelude,PS["Web.DOM"],function(n){return n}),d=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),S=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),p=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),m=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),D=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),b=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),g=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),h=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),w=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),E=new i.Functor(function(n){return function(e){return i.map(u.freeFunctor)(n)(e)}}),y=new t.Apply(function(){return E},function(n){return function(e){return t.apply(u.freeApply)(n)(e)}}),M=new r.Bind(function(){return y},function(n){return function(e){return r.bind(u.freeBind)(n)(function(n){return e(n)})}}),C=new e.Applicative(function(){return y},function(n){return e.pure(u.freeApplicative)(n)}),T=new a.Monad(function(){return C},function(){return M}),A=function(n){return new f.MonadEffect(function(){return T},function(e){return s(u.liftF(P.create(f.liftEffect(n)(e))))})},F=new o.MonadState(function(){return T},function(n){return s(u.liftF(d.create(n)))});n.State=d,n.Subscribe=S,n.Lift=P,n.Halt=v,n.GetSlots=p,n.CheckSlot=m,n.ChildQuery=D,n.Raise=b,n.Par=g,n.Fork=h,n.GetRef=w,n.HalogenM=s,n.raise=function(n){return s(u.liftF(new b(n,l.unit)))},n.functorHalogenM=E,n.applyHalogenM=y,n.applicativeHalogenM=C,n.bindHalogenM=M,n.monadHalogenM=T,n.monadEffectHalogenM=A,n.monadAffHalogenM=function(n){return new c.MonadAff(function(){return A(n.MonadEffect0())},function(e){return s(u.liftF(P.create(c.liftAff(n)(e))))})},n.monadStateHalogenM=F}(PS["Halogen.Query.HalogenM"]=PS["Halogen.Query.HalogenM"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Const"],PS["Data.Functor"];var e=PS["Data.Maybe"],t=PS["Data.Ord"],r=PS["Halogen.Data.OrdBox"],a=(PS["Halogen.HTML.Core"],PS["Halogen.Query.HalogenM"],PS.Prelude,PS["Unsafe.Coerce"]),u=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),o=a.unsafeCoerce,i=u.create,l=a.unsafeCoerce,c=function(n){return function(n){return l({initialState:n.initialState,render:n.render,eval:n.eval,receiver:n.receiver,initializer:n.initializer,finalizer:n.finalizer,mkOrdBox:r.mkOrdBox(t.ordVoid)})}};n.mkComponent=l,n.unComponent=o,n.component=function(n){return function(n){return c()({initialState:n.initialState,render:n.render,eval:n.eval,receiver:n.receiver,initializer:e.Nothing.value,finalizer:e.Nothing.value})}},n.lifecycleComponent=c,n.parentComponent=function(n){return function(t){return l({initialState:t.initialState,render:t.render,eval:t.eval,receiver:t.receiver,initializer:e.Nothing.value,finalizer:e.Nothing.value,mkOrdBox:r.mkOrdBox(n)})}},n.mkComponentSlot=i,n.unComponentSlot=function(n){return function(e){return n(e.value0)(e.value1)(e.value2)(e.value3)(e.value4)(e.value5)}}}(PS["Halogen.Component"]=PS["Halogen.Component"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed"],PS["DOM.HTML.Indexed.ButtonType"],PS["DOM.HTML.Indexed.FormMethod"],PS["DOM.HTML.Indexed.InputType"],PS["DOM.HTML.Indexed.MenuType"],PS["DOM.HTML.Indexed.MenuitemType"];var e=PS["DOM.HTML.Indexed.OnOff"],t=(PS["DOM.HTML.Indexed.OrderedListType"],PS["DOM.HTML.Indexed.PreloadValue"],PS["DOM.HTML.Indexed.StepValue"],PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),r=(PS["Data.MediaType"],PS["Data.Newtype"]),a=(PS["Data.String"],PS["Data.String.Common"],PS["Data.Unit"],PS["Halogen.HTML.Core"]),u=(PS["Halogen.Query.InputF"],PS["Halogen.VDom.DOM.Prop"],PS.Prelude,PS["Unsafe.Coerce"],PS["Web.DOM.Element"],function(n){return a.prop(n)}),o=u(a.booleanIsProp)("required"),i=u(a.intIsProp)("rows"),l=u(a.stringIsProp)("target"),c=u(a.stringIsProp)("title"),f=u(a.stringIsProp)("value"),s=u(a.stringIsProp)("name"),d=u(a.stringIsProp)("id"),S=u(a.stringIsProp)("href"),P=u(a.stringIsProp)("htmlFor"),v=u(a.booleanIsProp)("checked"),p=a.attr(t.Nothing.value);n.prop=u,n.attr=p,n.class_=function(n){return u(a.stringIsProp)("className")(r.unwrap(a.newtypeClassName)(n))},n.rows=i,n.for=P,n.href=S,n.id_=d,n.name=s,n.target=l,n.title=c,n.type_=function(n){return u(n)("type")},n.value=f,n.required=o,n.checked=v,n.autocomplete=function(n){return u(a.onOffIsProp)("autocomplete")(n?e.On.value:e.Off.value)}}(PS["Halogen.HTML.Properties"]=PS["Halogen.HTML.Properties"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed"],PS["Data.Function"];var e=PS["Data.Maybe"],t=(PS["Data.Tuple"],PS["Halogen.HTML.Core"]),r=(PS["Halogen.HTML.Properties"],PS["Halogen.Query.InputF"],PS["Halogen.VDom"],PS["Halogen.VDom.Types"],PS.Prelude,PS["Unsafe.Coerce"],t.element(e.Nothing.value)),a=r("form"),u=r("label"),o=r("p"),i=r("span"),l=r("table"),c=l([]),f=r("tbody"),s=f([]),d=r("td"),S=d([]),P=r("tr"),v=P([]),p=r("div"),m=p([]),D=r("button"),b=function(n){return r("br")(n)([])},g=b([]),h=r("a");n.element=r,n.a=h,n.br=b,n.br_=g,n.button=D,n.div=p,n.div_=m,n.form=a,n.input=function(n){return r("input")(n)([])},n.label=u,n.p=o,n.span=i,n.table=l,n.table_=c,n.tbody=f,n.tbody_=s,n.td=d,n.td_=S,n.textarea=function(n){return r("textarea")(n)([])},n.tr=P,n.tr_=v}(PS["Halogen.HTML.Elements"]=PS["Halogen.HTML.Elements"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Functor"];var e=PS["Data.Maybe"],t=PS["Halogen.Component"],r=(PS["Halogen.Component.ChildPath"],PS["Halogen.HTML.Core"]);PS["Halogen.HTML.Elements"],PS["Halogen.HTML.Properties"],PS.Prelude,PS["Unsafe.Coerce"];n.slot=function(n){return function(a){return function(u){return function(o){var i=t.unComponent(function(n){return n.receiver})(a);return r.slot(t.mkComponentSlot(n)(a)(u)(i)(o)(e.Just.create))}}}}}(PS["Halogen.HTML"]=PS["Halogen.HTML"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Apply"],PS["Control.Category"],PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"]),r=(PS["Data.FoldableWithIndex"],PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.List"],PS["Data.List.Lazy"],PS["Data.List.Lazy.Types"],PS["Data.List.Types"]),u=PS["Data.Maybe"],o=(PS["Data.Monoid"],PS["Data.Ord"]),i=PS["Data.Ordering"],l=PS["Data.Semigroup"],c=(PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"]),f=(PS["Data.Unfoldable"],PS["Partial.Unsafe"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),s=function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}return n.create=function(e){return function(t){return function(r){return function(a){return new n(e,t,r,a)}}}},n}(),d=function(){function n(n,e,t,r,a,u,o){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u,this.value6=o}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return function(i){return new n(e,t,r,a,u,o,i)}}}}}}},n}(),S=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),P=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),v=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),p=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),m=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),D=function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}return n.create=function(e){return function(t){return function(r){return function(a){return new n(e,t,r,a)}}}},n}(),b=function(n){if(n instanceof f)return a.Nil.value;if(n instanceof s)return l.append(a.semigroupList)(b(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value2))(b(n.value3)));if(n instanceof d)return l.append(a.semigroupList)(b(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value2))(l.append(a.semigroupList)(b(n.value3))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value5))(b(n.value6)))));throw new Error("Failed pattern match at Data.Map.Internal line 594, column 1 - line 594, column 40: "+[n.constructor.name])},g=function(n){return function(e){var t=o.compare(n);return function(n){var r,a=!1;function o(r){if(r instanceof f)return a=!0,u.Nothing.value;if(r instanceof s){var o=t(e)(r.value1);return o instanceof i.EQ?(a=!0,new u.Just(r.value2)):o instanceof i.LT?void(n=r.value0):void(n=r.value3)}if(r instanceof d){var l=t(e)(r.value1);if(l instanceof i.EQ)return a=!0,new u.Just(r.value2);var c=t(e)(r.value4);return c instanceof i.EQ?(a=!0,new u.Just(r.value5)):l instanceof i.LT?void(n=r.value0):c instanceof i.GT?void(n=r.value6):void(n=r.value3)}throw new Error("Failed pattern match at Data.Map.Internal line 193, column 5 - line 193, column 22: "+[r.constructor.name])}for(;!a;)r=o(n);return r}}},h=function(n){if(n instanceof f)return a.Nil.value;if(n instanceof s)return l.append(a.semigroupList)(h(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value1))(h(n.value3)));if(n instanceof d)return l.append(a.semigroupList)(h(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value1))(l.append(a.semigroupList)(h(n.value3))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value4))(h(n.value6)))));throw new Error("Failed pattern match at Data.Map.Internal line 588, column 1 - line 588, column 38: "+[n.constructor.name])},w=new r.Functor(function(n){return function(e){if(e instanceof f)return f.value;if(e instanceof s)return new s(r.map(w)(n)(e.value0),e.value1,n(e.value2),r.map(w)(n)(e.value3));if(e instanceof d)return new d(r.map(w)(n)(e.value0),e.value1,n(e.value2),r.map(w)(n)(e.value3),e.value4,n(e.value5),r.map(w)(n)(e.value6));throw new Error("Failed pattern match at Data.Map.Internal line 89, column 1 - line 89, column 39: "+[n.constructor.name,e.constructor.name])}}),E=function(n){return function(e){return function(t){var r,u=n,o=e,i=!1;function l(n,e,r){if(e instanceof a.Nil)return i=!0,r;if(e instanceof a.Cons){if(e.value0 instanceof S)return u=n,o=e.value1,void(t=new s(r,e.value0.value0,e.value0.value1,e.value0.value2));if(e.value0 instanceof P)return u=n,o=e.value1,void(t=new s(e.value0.value0,e.value0.value1,e.value0.value2,r));if(e.value0 instanceof v)return u=n,o=e.value1,void(t=new d(r,e.value0.value0,e.value0.value1,e.value0.value2,e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p)return u=n,o=e.value1,void(t=new d(e.value0.value0,e.value0.value1,e.value0.value2,r,e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof m)return u=n,o=e.value1,void(t=new d(e.value0.value0,e.value0.value1,e.value0.value2,e.value0.value3,e.value0.value4,e.value0.value5,r));throw new Error("Failed pattern match at Data.Map.Internal line 411, column 3 - line 416, column 88: "+[e.value0.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal line 408, column 1 - line 408, column 80: "+[e.constructor.name,r.constructor.name])}for(;!i;)r=l(u,o,t);return r}}},y=function(n){return function(e){return function(t){var r,u=function(e){return function(t){var r,u=e,o=!1;function i(e,r){if(e instanceof a.Nil)return o=!0,new s(r.value0,r.value1,r.value2,r.value3);if(e instanceof a.Cons){if(e.value0 instanceof S)return o=!0,E(n)(e.value1)(new d(r.value0,r.value1,r.value2,r.value3,e.value0.value0,e.value0.value1,e.value0.value2));if(e.value0 instanceof P)return o=!0,E(n)(e.value1)(new d(e.value0.value0,e.value0.value1,e.value0.value2,r.value0,r.value1,r.value2,r.value3));if(e.value0 instanceof v)return u=e.value1,void(t=new D(new s(r.value0,r.value1,r.value2,r.value3),e.value0.value0,e.value0.value1,new s(e.value0.value2,e.value0.value3,e.value0.value4,e.value0.value5)));if(e.value0 instanceof p)return u=e.value1,void(t=new D(new s(e.value0.value0,e.value0.value1,e.value0.value2,r.value0),r.value1,r.value2,new s(r.value3,e.value0.value3,e.value0.value4,e.value0.value5)));if(e.value0 instanceof m)return u=e.value1,void(t=new D(new s(e.value0.value0,e.value0.value1,e.value0.value2,e.value0.value3),e.value0.value4,e.value0.value5,new s(r.value0,r.value1,r.value2,r.value3)));throw new Error("Failed pattern match at Data.Map.Internal line 447, column 5 - line 452, column 108: "+[e.value0.constructor.name,r.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal line 444, column 3 - line 444, column 56: "+[e.constructor.name,r.constructor.name])}for(;!o;)r=i(u,t);return r}},l=o.compare(n);return r=a.Nil.value,function(o){var c,b=r,g=!1;function h(r,c){if(c instanceof f)return g=!0,u(r)(new D(f.value,e,t,f.value));if(c instanceof s){var h=l(e)(c.value1);return h instanceof i.EQ?(g=!0,E(n)(r)(new s(c.value0,e,t,c.value3))):h instanceof i.LT?(b=new a.Cons(new S(c.value1,c.value2,c.value3),r),void(o=c.value0)):(b=new a.Cons(new P(c.value0,c.value1,c.value2),r),void(o=c.value3))}if(c instanceof d){var w=l(e)(c.value1);if(w instanceof i.EQ)return g=!0,E(n)(r)(new d(c.value0,e,t,c.value3,c.value4,c.value5,c.value6));var y=l(e)(c.value4);return y instanceof i.EQ?(g=!0,E(n)(r)(new d(c.value0,c.value1,c.value2,c.value3,e,t,c.value6))):w instanceof i.LT?(b=new a.Cons(new v(c.value1,c.value2,c.value3,c.value4,c.value5,c.value6),r),void(o=c.value0)):w instanceof i.GT&&y instanceof i.LT?(b=new a.Cons(new p(c.value0,c.value1,c.value2,c.value4,c.value5,c.value6),r),void(o=c.value3)):(b=new a.Cons(new m(c.value0,c.value1,c.value2,c.value3,c.value4,c.value5),r),void(o=c.value6))}throw new Error("Failed pattern match at Data.Map.Internal line 427, column 3 - line 427, column 55: "+[r.constructor.name,c.constructor.name])}for(;!g;)c=h(b,o);return c}}}},M=function(n){return function(e){var t,r=function(e){return function(t){if(e instanceof a.Nil)return t;if(e instanceof a.Cons){return function(){if(e.value0 instanceof S&&e.value0.value2 instanceof f&&t instanceof f)return E(n)(e.value1)(new s(f.value,e.value0.value0,e.value0.value1,f.value));if(e.value0 instanceof P&&e.value0.value0 instanceof f&&t instanceof f)return E(n)(e.value1)(new s(f.value,e.value0.value1,e.value0.value2,f.value));if(e.value0 instanceof S&&e.value0.value2 instanceof s)return r(e.value1)(new d(t,e.value0.value0,e.value0.value1,e.value0.value2.value0,e.value0.value2.value1,e.value0.value2.value2,e.value0.value2.value3));if(e.value0 instanceof P&&e.value0.value0 instanceof s)return r(e.value1)(new d(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3,e.value0.value1,e.value0.value2,t));if(e.value0 instanceof S&&e.value0.value2 instanceof d)return E(n)(e.value1)(new s(new s(t,e.value0.value0,e.value0.value1,e.value0.value2.value0),e.value0.value2.value1,e.value0.value2.value2,new s(e.value0.value2.value3,e.value0.value2.value4,e.value0.value2.value5,e.value0.value2.value6)));if(e.value0 instanceof P&&e.value0.value0 instanceof d)return E(n)(e.value1)(new s(new s(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3),e.value0.value0.value4,e.value0.value0.value5,new s(e.value0.value0.value6,e.value0.value1,e.value0.value2,t)));if(e.value0 instanceof v&&e.value0.value2 instanceof f&&e.value0.value5 instanceof f&&t instanceof f)return E(n)(e.value1)(new d(f.value,e.value0.value0,e.value0.value1,f.value,e.value0.value3,e.value0.value4,f.value));if(e.value0 instanceof p&&e.value0.value0 instanceof f&&e.value0.value5 instanceof f&&t instanceof f)return E(n)(e.value1)(new d(f.value,e.value0.value1,e.value0.value2,f.value,e.value0.value3,e.value0.value4,f.value));if(e.value0 instanceof m&&e.value0.value0 instanceof f&&e.value0.value3 instanceof f&&t instanceof f)return E(n)(e.value1)(new d(f.value,e.value0.value1,e.value0.value2,f.value,e.value0.value4,e.value0.value5,f.value));if(e.value0 instanceof v&&e.value0.value2 instanceof s)return E(n)(e.value1)(new s(new d(t,e.value0.value0,e.value0.value1,e.value0.value2.value0,e.value0.value2.value1,e.value0.value2.value2,e.value0.value2.value3),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value0 instanceof s)return E(n)(e.value1)(new s(new d(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3,e.value0.value1,e.value0.value2,t),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value5 instanceof s)return E(n)(e.value1)(new s(e.value0.value0,e.value0.value1,e.value0.value2,new d(t,e.value0.value3,e.value0.value4,e.value0.value5.value0,e.value0.value5.value1,e.value0.value5.value2,e.value0.value5.value3)));if(e.value0 instanceof m&&e.value0.value3 instanceof s)return E(n)(e.value1)(new s(e.value0.value0,e.value0.value1,e.value0.value2,new d(e.value0.value3.value0,e.value0.value3.value1,e.value0.value3.value2,e.value0.value3.value3,e.value0.value4,e.value0.value5,t)));if(e.value0 instanceof v&&e.value0.value2 instanceof d)return E(n)(e.value1)(new d(new s(t,e.value0.value0,e.value0.value1,e.value0.value2.value0),e.value0.value2.value1,e.value0.value2.value2,new s(e.value0.value2.value3,e.value0.value2.value4,e.value0.value2.value5,e.value0.value2.value6),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value0 instanceof d)return E(n)(e.value1)(new d(new s(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3),e.value0.value0.value4,e.value0.value0.value5,new s(e.value0.value0.value6,e.value0.value1,e.value0.value2,t),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value5 instanceof d)return E(n)(e.value1)(new d(e.value0.value0,e.value0.value1,e.value0.value2,new s(t,e.value0.value3,e.value0.value4,e.value0.value5.value0),e.value0.value5.value1,e.value0.value5.value2,new s(e.value0.value5.value3,e.value0.value5.value4,e.value0.value5.value5,e.value0.value5.value6)));if(e.value0 instanceof m&&e.value0.value3 instanceof d)return E(n)(e.value1)(new d(e.value0.value0,e.value0.value1,e.value0.value2,new s(e.value0.value3.value0,e.value0.value3.value1,e.value0.value3.value2,e.value0.value3.value3),e.value0.value3.value4,e.value0.value3.value5,new s(e.value0.value3.value6,e.value0.value4,e.value0.value5,t)));throw new Error("Failed pattern match at Data.Map.Internal line 497, column 9 - line 514, column 136: "+[e.value0.constructor.name,t.constructor.name])}()}throw new Error("Failed pattern match at Data.Map.Internal line 494, column 5 - line 514, column 136: "+[e.constructor.name])}},l=function(n){return function(e){return function(){if(e instanceof s&&e.value0 instanceof f&&e.value3 instanceof f)return r(n)(f.value);if(e instanceof s)return l(new a.Cons(new P(e.value0,e.value1,e.value2),n))(e.value3);if(e instanceof d&&e.value0 instanceof f&&e.value3 instanceof f&&e.value6 instanceof f)return r(new a.Cons(new P(f.value,e.value1,e.value2),n))(f.value);if(e instanceof d)return l(new a.Cons(new m(e.value0,e.value1,e.value2,e.value3,e.value4,e.value5),n))(e.value6);throw new Error("Failed pattern match at Data.Map.Internal line 526, column 5 - line 530, column 107: "+[e.constructor.name])}()}},D=function(n){return function(){if(n instanceof s&&n.value3 instanceof f)return{key:n.value1,value:n.value2};if(n instanceof s)return D(n.value3);if(n instanceof d&&n.value6 instanceof f)return{key:n.value4,value:n.value5};if(n instanceof d)return D(n.value6);throw new Error("Failed pattern match at Data.Map.Internal line 517, column 33 - line 521, column 45: "+[n.constructor.name])}()},b=o.compare(n);return t=a.Nil.value,function(o){var g,h=t,w=!1;function y(t,g){if(g instanceof f)return w=!0,u.Nothing.value;if(g instanceof s){var y=b(e)(g.value1);if(g.value3 instanceof f&&y instanceof i.EQ)return w=!0,new u.Just(new c.Tuple(g.value2,r(t)(f.value)));if(y instanceof i.EQ){var M=D(g.value0);return w=!0,new u.Just(new c.Tuple(g.value2,l(new a.Cons(new S(M.key,M.value,g.value3),t))(g.value0)))}return y instanceof i.LT?(h=new a.Cons(new S(g.value1,g.value2,g.value3),t),void(o=g.value0)):(h=new a.Cons(new P(g.value0,g.value1,g.value2),t),void(o=g.value3))}if(g instanceof d){var C=g.value0 instanceof f&&g.value3 instanceof f&&g.value6 instanceof f,T=(y=b(e)(g.value4),b(e)(g.value1));return C&&T instanceof i.EQ?(w=!0,new u.Just(new c.Tuple(g.value2,E(n)(t)(new s(f.value,g.value4,g.value5,f.value))))):C&&y instanceof i.EQ?(w=!0,new u.Just(new c.Tuple(g.value5,E(n)(t)(new s(f.value,g.value1,g.value2,f.value))))):T instanceof i.EQ?(M=D(g.value0),w=!0,new u.Just(new c.Tuple(g.value2,l(new a.Cons(new v(M.key,M.value,g.value3,g.value4,g.value5,g.value6),t))(g.value0)))):y instanceof i.EQ?(M=D(g.value3),w=!0,new u.Just(new c.Tuple(g.value5,l(new a.Cons(new p(g.value0,g.value1,g.value2,M.key,M.value,g.value6),t))(g.value3)))):T instanceof i.LT?(h=new a.Cons(new v(g.value1,g.value2,g.value3,g.value4,g.value5,g.value6),t),void(o=g.value0)):T instanceof i.GT&&y instanceof i.LT?(h=new a.Cons(new p(g.value0,g.value1,g.value2,g.value4,g.value5,g.value6),t),void(o=g.value3)):(h=new a.Cons(new m(g.value0,g.value1,g.value2,g.value3,g.value4,g.value5),t),void(o=g.value6))}throw new Error("Failed pattern match at Data.Map.Internal line 467, column 34 - line 490, column 80: "+[g.constructor.name])}for(;!w;)g=y(h,o);return g}}},C=new t.Foldable(function(n){return function(e){return function(r){return t.foldMap(a.foldableList)(n)(e)(b(r))}}},function(n){return function(e){return function(r){return t.foldl(a.foldableList)(n)(e)(b(r))}}},function(n){return function(e){return function(r){return t.foldr(a.foldableList)(n)(e)(b(r))}}}),T=f.value,A=function(n){return function(e){return function(t){return u.maybe(t)(c.snd)(M(n)(e)(t))}}};n.empty=T,n.insert=y,n.lookup=g,n.delete=A,n.pop=M,n.member=function(n){return function(e){return function(t){return u.isJust(g(n)(e)(t))}}},n.alter=function(n){return function(e){return function(t){return function(r){var a=e(g(n)(t)(r));if(a instanceof u.Nothing)return A(n)(t)(r);if(a instanceof u.Just)return y(n)(t)(a.value0)(r);throw new Error("Failed pattern match at Data.Map.Internal line 535, column 15 - line 537, column 25: "+[a.constructor.name])}}}},n.keys=h,n.values=b,n.functorMap=w,n.foldableMap=C}(PS["Data.Map.Internal"]=PS["Data.Map.Internal"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.ST"],PS["Control.Monad.ST.Internal"],PS["Control.Semigroupoid"],PS["Data.Array"],PS["Data.Array.ST"],PS["Data.Eq"];var e=PS["Data.Foldable"],t=(PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.List"],PS["Data.List.Types"]),r=PS["Data.Map.Internal"],a=(PS["Data.Maybe"],PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Unfoldable"],PS["Data.Unit"],PS["Partial.Unsafe"],PS.Prelude,function(n){return r.keys(n)}),u=new e.Foldable(function(n){return function(r){return function(u){return e.foldMap(t.foldableList)(n)(r)(a(u))}}},function(n){return function(r){return function(u){return e.foldl(t.foldableList)(n)(r)(a(u))}}},function(n){return function(r){return function(u){return e.foldr(t.foldableList)(n)(r)(a(u))}}});n.foldableSet=u}(PS["Data.Set"]=PS["Data.Set"]||{}),function(n){"use strict";PS["Control.Semigroupoid"];var e=PS["Data.Functor"],t=PS["Data.Map.Internal"];PS["Data.Set"],PS.Prelude,PS["Unsafe.Coerce"];n.keys=function(n){return e.void(t.functorMap)(n)}}(PS["Data.Map"]=PS["Data.Map"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Parallel"],PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.List"],PS["Data.List.Types"],PS["Data.Map"],PS["Data.Map.Internal"],PS["Data.Maybe"],PS["Data.Tuple"];var e=PS["Data.Unit"];PS["Effect.Aff.Class"],PS["Effect.Class"],PS["Halogen.Component.ChildPath"],PS["Halogen.Query.EventSource"],PS["Halogen.Query.HalogenM"],PS["Halogen.Query.InputF"],PS.Prelude,PS["Web.HTML.HTMLElement"];n.action=function(n){return n(e.unit)}}(PS["Halogen.Query"]=PS["Halogen.Query"]||{}),function(n){"use strict";PS["Web.Event.Event"];n.change="change"}(PS["Web.HTML.Event.EventTypes"]=PS["Web.HTML.Event.EventTypes"]||{}),function(n){"use strict";PS["Web.Event.Event"];n.click="click"}(PS["Web.UIEvent.MouseEvent.EventTypes"]=PS["Web.UIEvent.MouseEvent.EventTypes"]||{}),function(n){"use strict";var e=PS["Control.Bind"],t=PS["Control.Monad.Except"],r=PS["Control.Monad.Except.Trans"],a=(PS["Control.Semigroupoid"],PS["Data.Either"]),u=PS["Data.Function"],o=PS["Data.Functor"],i=PS["Data.Identity"],l=PS["Data.Maybe"],c=PS.Foreign,f=PS["Foreign.Index"],s=PS["Halogen.HTML.Core"],d=(PS["Halogen.HTML.Properties"],PS["Halogen.Query"]),S=PS["Halogen.Query.InputF"],P=(PS.Prelude,PS["Unsafe.Coerce"]),v=(PS["Web.Clipboard.ClipboardEvent"],PS["Web.Clipboard.ClipboardEvent.EventTypes"],PS["Web.Event.Event"]),p=(PS["Web.HTML.Event.DragEvent"],PS["Web.HTML.Event.DragEvent.EventTypes"],PS["Web.HTML.Event.EventTypes"]),m=(PS["Web.TouchEvent.TouchEvent"],PS["Web.UIEvent.FocusEvent"],PS["Web.UIEvent.FocusEvent.EventTypes"],PS["Web.UIEvent.KeyboardEvent"],PS["Web.UIEvent.KeyboardEvent.EventTypes"],PS["Web.UIEvent.MouseEvent"],PS["Web.UIEvent.MouseEvent.EventTypes"]),D=(PS["Web.UIEvent.WheelEvent"],PS["Web.UIEvent.WheelEvent.EventTypes"],P.unsafeCoerce),b=function(n){return function(e){return s.handler(n)(o.map(o.functorFn)(o.map(l.functorMaybe)(S.Query.create))(e))}},g=b("submit"),h=function(n){return function(o){return function(s){return function(d){return b(n)(e.composeKleisli(l.bindMaybe)(v.currentTarget)(function(n){return a.either(u.const(l.Nothing.value))(d)(t.runExcept((S=n,e.composeKleisliFlipped(r.bindExceptT(i.monadIdentity))(s)(f.readProp(o))(c.unsafeToForeign(S)))));var S}))}}}},w=h(p.change)("checked")(c.readBoolean),E=h(p.change)("value")(c.readString);n.input=function(n){return function(e){return l.Just.create(d.action(n(e)))}},n.input_=function(n){return function(e){return l.Just.create(d.action(n))}},n.handler=b,n.onSubmit=g,n.onClick=function(n){return b(m.click)(D(n))},n.onValueChange=E,n.onChecked=w}(PS["Halogen.HTML.Events"]=PS["Halogen.HTML.Events"]||{}),function(n){"use strict";var e="function"==typeof Array.from,t="undefined"!=typeof Symbol&&null!=Symbol&&void 0!==Symbol.iterator&&"function"==typeof String.prototype[Symbol.iterator],r="function"==typeof String.prototype.fromCodePoint,a="function"==typeof String.prototype.codePointAt;n._unsafeCodePointAt0=function(n){return a?function(n){return n.codePointAt(0)}:n},n._singleton=function(n){return r?String.fromCodePoint:n},n._take=function(n){return function(e){return t?function(n){for(var t="",r=n[Symbol.iterator](),a=0;a<e;++a){var u=r.next();if(u.done)return t;t+=u.value}return t}:n(e)}},n._toCodePointArray=function(n){return function(t){return e?function(n){return Array.from(n,t)}:n}}}(PS["Data.String.CodePoints"]=PS["Data.String.CodePoints"]||{}),function(n){"use strict";var e=PS["Data.String.CodePoints"],t=(PS["Control.Semigroupoid"],PS["Data.Array"]),r=(PS["Data.Boolean"],PS["Data.Bounded"]),a=PS["Data.Enum"],u=(PS["Data.Eq"],PS["Data.EuclideanRing"]),o=PS["Data.Functor"],i=(PS["Data.HeytingAlgebra"],PS["Data.Int"],PS["Data.Maybe"]),l=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.String.CodeUnits"]),c=(PS["Data.String.Common"],PS["Data.String.Pattern"],PS["Data.String.Unsafe"]),f=PS["Data.Tuple"],s=PS["Data.Unfoldable"],d=(PS.Prelude,function(n){return function(e){return 65536+((1024*(n-55296|0)|0)+(e-56320|0)|0)|0}}),S=function(n){return 56320<=n&&n<=57343},P=function(n){return 55296<=n&&n<=56319},v=function(n){var e=l.length(n);if(0===e)return i.Nothing.value;if(1===e)return new i.Just({head:a.fromEnum(a.boundedEnumChar)(c.charAt(0)(n)),tail:""});var t=a.fromEnum(a.boundedEnumChar)(c.charAt(1)(n)),r=a.fromEnum(a.boundedEnumChar)(c.charAt(0)(n));return P(r)&&S(t)?new i.Just({head:d(r)(t),tail:l.drop(2)(n)}):new i.Just({head:r,tail:l.drop(1)(n)})},p=function(n){return o.map(i.functorMaybe)(function(n){return new f.Tuple(n.head,n.tail)})(v(n))},m=e._unsafeCodePointAt0(function(n){var e=a.fromEnum(a.boundedEnumChar)(c.charAt(1)(n)),t=a.fromEnum(a.boundedEnumChar)(c.charAt(0)(n));return P(t)&&S(e)?d(t)(e):t}),D=e._toCodePointArray(function(n){return s.unfoldr(s.unfoldableArray)(p)(n)})(m),b=function(n){return l.singleton(a.toEnumWithDefaults(a.boundedEnumChar)(r.bottom(r.boundedChar))(r.top(r.boundedChar))(n))},g=e._singleton(function(n){if(n<=65535)return b(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return b(e)+b(t)}),h=function(n){return function(e){if(n<1)return"";var t=v(e);return t instanceof i.Just?g(t.value0.head)+h(n-1|0)(t.value0.tail):e}},w=e._take(h);n.singleton=g,n.toCodePointArray=D,n.uncons=v,n.length=function(n){return t.length(D(n))},n.take=w,n.drop=function(n){return function(e){return l.drop(l.length(w(n)(e)))(e)}}}(PS["Data.String.CodePoints"]=PS["Data.String.CodePoints"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=PS["Control.Monad.Maybe.Trans"],a=(PS["Control.Semigroupoid"],PS["Data.Array"]),u=(PS["Data.Eq"],PS["Data.Foldable"]),o=(PS["Data.Function"],PS["Data.Functor"]),i=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),l=(PS["Data.String"],PS["Data.String.CodePoints"]),c=PS["Data.String.Common"],f=(PS["Data.String.Pattern"],PS["Data.Tuple"]),s=PS.Effect,d=PS["Global.Unsafe"],S=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),P=PS["Halogen.HTML.Properties"],v=(PS["Partial.Unsafe"],PS.Prelude,PS["Web.DOM"],PS["Web.DOM.Document"]),p=PS["Web.DOM.Element"],m=PS["Web.DOM.NodeList"],D=PS["Web.DOM.NonElementParentNode"],b=PS["Web.DOM.ParentNode"],g=PS["Web.HTML"],h=PS["Web.HTML.HTMLDocument"],w=PS["Web.HTML.HTMLElement"],E=PS["Web.HTML.Location"],y=PS["Web.HTML.Window"],M=function(n){return function(e){return t.bindFlipped(s.bindEffect)(m.toArray)(b.querySelectorAll(n)(p.toParentNode(e)))}},C=function(n){return function(e){return b.querySelector(n)(p.toParentNode(e))}},T=function(n){var e,t=function(n){return d.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},r="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return a.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new i.Just(new f.Tuple(t(e[0]),i.Nothing.value)):2===e.length?new i.Just(new f.Tuple(t(e[0]),new i.Just(t(e[1])))):i.Nothing.value})(a.filter(function(n){return""!==n})(c.split("&")(r)))},A=r.MaybeT,F=t.bindFlipped(s.bindEffect)(y.location)(g.window),H=t.bindFlipped(s.bindEffect)(y.document)(g.window),L=t.bindFlipped(s.bindEffect)(function(n){return e.pure(s.applicativeEffect)(i.fromJust()(n))})(t.bindFlipped(s.bindEffect)(h.body)(H));n.class_=function(n){return P.class_(S.ClassName(n))},n.attr=function(n){return P.attr(n)},n._queryBoth=function(n){return function(e){return function(t){return function(){var r=C(n.value0)(n.value1)(),a=C(e.value0)(e.value1)();return u.for_(s.applicativeEffect)(u.foldableMaybe)(r)(function(n){return u.for_(s.applicativeEffect)(u.foldableMaybe)(a)(function(e){return t(n)(e)})})()}}}},n["_queryBoth'"]=function(n){return function(e){return function(t){return function(){var r=C(n.value0)(n.value1)(),a=M(e.value0)(e.value1)();return u.for_(s.applicativeEffect)(u.foldableMaybe)(r)(function(n){return t(n)(a)})()}}}},n["_queryBoth''"]=function(n){return function(e){return function(t){return function(){var r=M(n.value0)(n.value1)(),a=M(e.value0)(e.value1)();return t(r)(a)()}}}},n._querySelector=C,n._querySelectorAll=M,n._fromNode=function(n){return i.fromJust()(p.fromNode(n))},n._fromElement=function(n){return i.fromJust()(w.fromElement(n))},n._getElementById=function(n){return function(e){return D.getElementById(n)(v.toNonElementParentNode(h.toDocument(e)))}},n._doc=H,n._loc=F,n._curQuerystring=function(){var n=F(),e=E.search(n)();return T(e)},n._parseQueryString=T,n._lookupQueryStringValue=function(n){return function(e){return t.join(i.bindMaybe)(o.map(i.functorMaybe)(f.snd)(u.find(u.foldableArray)(function(n){return f.fst(n)===e})(n)))}},n._body=L,n._mt=A,n._mt_pure=function(n){return r.MaybeT(e.pure(s.applicativeEffect)(n))}}(PS.Util=PS.Util||{}),function(n){"use strict";var e=PS.App,t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],u=(PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed.ButtonType"]),o=PS["DOM.HTML.Indexed.InputType"],i=(PS["Data.Array"],PS["Data.Foldable"],PS["Data.Function"]),l=PS["Data.Functor"],c=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),f=PS["Data.Monoid"],s=(PS["Data.Ord"],PS["Data.Semigroup"]),d=(PS["Data.String"],PS["Data.String.Common"],PS["Data.String.Pattern"],PS["Data.Tuple"]),S=PS["Data.Unit"],P=PS["Effect.Aff"],v=PS["Effect.Aff.Class"],p=PS["Effect.Class"],m=PS.Globals,D=(PS.Halogen,PS["Halogen.Component"]),b=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),g=PS["Halogen.HTML.Elements"],h=PS["Halogen.HTML.Events"],w=PS["Halogen.HTML.Properties"],E=PS["Halogen.Query.HalogenM"],y=(PS.Model,PS.Prelude,PS.Util),M=PS["Web.Event.Event"],C=PS["Web.HTML"],T=PS["Web.HTML.Location"],A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),L=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),_=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),I=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),W=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),N=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),x=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();n.BEditField=I,n.BEditSubmit=W,n.BDeleteAsk=N,n.BDestroy=x,n.Eurl=A,n.Etitle=F,n.Edescription=H,n.Etags=L,n.Eprivate=_,n.Etoread=O,n.addbmark=function(n){var U;m["app'"](S.unit);return D.component(b.bifunctorHTML)({initialState:i.const((U=n,{bm:U,edit_bm:U,deleteAsk:!1,destroyed:!1})),render:function(n){var e=m.mmoment8601(n.bm.time),t=g.div([y.class_("alert")])([b.text("previously saved "),g.span([y.class_("when js-moment"),w.title(c.maybe(n.bm.time)(d.snd)(e)),y.attr("data-iso8601")(n.bm.time)])([b.text(c.maybe(" ")(d.fst)(e))]),g.div([y.class_("edit_links"),y.attr("style")("display: inline-block; margin-left: 5px;")])([g.div([y.class_("delete_link")])([g.button(s.append(s.semigroupArray)([w.type_(b.buttonTypeIsProp)(u.ButtonButton.value),h.onClick(h.input_(N.create(!0))),y.class_("delete")])(f.guard(f.monoidArray)(n.deleteAsk)([y.attr("hidden")("hidden")])))([b.text("delete")]),g.span(s.append(s.semigroupArray)([y.class_("confirm")])(f.guard(f.monoidArray)(!n.deleteAsk)([y.attr("hidden")("hidden")])))([g.button([w.type_(b.buttonTypeIsProp)(u.ButtonButton.value),h.onClick(h.input_(N.create(!1)))])([b.text("cancel / ")]),g.button([w.type_(b.buttonTypeIsProp)(u.ButtonButton.value),h.onClick(h.input_(x.create)),y.class_("destroy")])([b.text("destroy")])])])])]),r=g.form([h.onSubmit(h.input(W.create))])([g.table_([g.tbody_([g.tr_([g.td_([]),g.td_(f.guard(f.monoidArray)(n.bm.bid>0)([t]))]),g.tr_([g.td_([g.label([w.for("url")])([b.text("URL")])]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputUrl.value),w.id_("url"),y.class_("url"),w.required(!0),w.name("url"),y.attr("size")("70"),w.value(n.edit_bm.url),h.onValueChange(function(n){return h.input(I.create)(A.create(n))})])])]),g.tr_([g.td_([g.label([w.for("title")])([b.text("title")])]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputText.value),w.id_("title"),y.class_("title"),w.name("title"),y.attr("size")("70"),w.value(n.edit_bm.title),h.onValueChange(function(n){return h.input(I.create)(F.create(n))})])])]),g.tr_([g.td_([g.label([w.for("description")])([b.text("description")])]),g.td_([g.textarea([y.class_("description"),w.id_("description"),w.name("description"),y.attr("cols")("70"),w.rows(4),w.value(n.edit_bm.description),h.onValueChange(function(n){return h.input(I.create)(H.create(n))})])])]),g.tr_([g.td_([g.label([w.for("tags")])([b.text("tags")])]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputText.value),w.id_("tags"),y.class_("tags"),w.name("tags"),y.attr("size")("70"),w.autocomplete(!1),y.attr("autocapitalize")("off"),w.value(n.edit_bm.tags),h.onValueChange(function(n){return h.input(I.create)(L.create(n))})])])]),g.tr_([g.td_([g.label([w.for("private")])([b.text("private")])]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputCheckbox.value),w.id_("private"),y.class_("private"),w.name("private"),w.checked(n.edit_bm.private),h.onChecked(function(n){return h.input(I.create)(_.create(n))})])])]),g.tr_([g.td_([g.label([w.for("toread")])([b.text("read later")])]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputCheckbox.value),w.id_("toread"),y.class_("toread"),w.name("toread"),w.checked(n.edit_bm.toread),h.onChecked(function(n){return h.input(I.create)(O.create(n))})])])]),g.tr_([g.td_([]),g.td_([g.input([w.type_(b.inputTypeIsProp)(o.InputSubmit.value),y.class_("submit"),w.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),a=g.p([y.class_("error")])([b.text("you killed this bookmark")]);return g.div_([n.destroyed?a:r])},eval:function(n){if(n instanceof N)return r.discard(r.discardUnit)(E.bindHalogenM)(a.modify_(E.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return t.pure(E.applicativeHalogenM)(n.value1)});if(n instanceof x)return r.bind(E.bindHalogenM)(a.gets(E.monadStateHalogenM)(function(n){return n.bm.bid}))(function(u){return r.discard(r.discardUnit)(E.bindHalogenM)(l.void(E.functorHalogenM)(v.liftAff(E.monadAffHalogenM(v.monadAffAff))(e.destroy(u))))(function(){return r.discard(r.discardUnit)(E.bindHalogenM)(a.modify_(E.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return t.pure(E.applicativeHalogenM)(n.value0)})})});if(n instanceof I)return r.bind(E.bindHalogenM)(a.get(E.monadStateHalogenM))(function(e){return r.discard(r.discardUnit)(E.bindHalogenM)(function(){if(n.value0 instanceof A)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.url=n.value0.value0,t}(),t}());if(n.value0 instanceof F)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.title=n.value0.value0,t}(),t}());if(n.value0 instanceof H)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.description=n.value0.value0,t}(),t}());if(n.value0 instanceof L)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.tags=n.value0.value0,t}(),t}());if(n.value0 instanceof _)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.private=n.value0.value0,t}(),t}());if(n.value0 instanceof O)return a.put(E.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.toread=n.value0.value0,t}(),t}());throw new Error("Failed pattern match at Component.Add line 153, column 5 - line 159, column 68: "+[n.value0.constructor.name])}())(function(){return t.pure(E.applicativeHalogenM)(n.value1)})});if(n instanceof W)return r.discard(r.discardUnit)(E.bindHalogenM)(p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(M.preventDefault(n.value0)))(function(){return r.bind(E.bindHalogenM)(a.get(E.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(E.bindHalogenM)(l.void(E.functorHalogenM)(v.liftAff(E.monadAffHalogenM(v.monadAffAff))(e.editBookmark(u.edit_bm))))(function(){return r.discard(r.discardUnit)(E.bindHalogenM)(a.put(E.monadStateHalogenM)(function(){var n={};for(var e in u)({}).hasOwnProperty.call(u,e)&&(n[e]=u[e]);return n.bm=u.edit_bm,n}()))(function(){return r.bind(E.bindHalogenM)(p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(y._loc))(function(e){return r.bind(E.bindHalogenM)(p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(C.window))(function(a){return r.bind(E.bindHalogenM)(p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(y._curQuerystring))(function(u){return r.discard(r.discardUnit)(E.bindHalogenM)((o=y._lookupQueryStringValue(u)("next"))instanceof c.Just?p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(T.setHref(o.value0)(e)):p.liftEffect(E.monadEffectHalogenM(P.monadEffectAff))(m.closeWindow(a)))(function(){return t.pure(E.applicativeHalogenM)(n.value1)});var o})})})})})})});throw new Error("Failed pattern match at Component.Add line 142, column 3 - line 142, column 58: "+[n.constructor.name])},receiver:i.const(c.Nothing.value)})}}(PS["Component.Add"]=PS["Component.Add"]||{}),function(n){"use strict";var e=PS.App,t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],u=(PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed.ButtonType"]),o=PS["DOM.HTML.Indexed.InputType"],i=PS["Data.Array"],l=(PS["Data.Eq"],PS["Data.Foldable"]),c=PS["Data.Function"],f=PS["Data.Functor"],s=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),d=PS["Data.Monoid"],S=PS["Data.Semigroup"],P=PS["Data.Show"],v=(PS["Data.String"],PS["Data.String.CodePoints"]),p=PS["Data.String.Common"],m=(PS["Data.String.Pattern"],PS["Data.Tuple"]),D=PS["Data.Unit"],b=PS["Effect.Aff"],g=PS["Effect.Aff.Class"],h=PS["Effect.Class"],w=PS.Globals,E=(PS.Halogen,PS["Halogen.Component"]),y=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),M=PS["Halogen.HTML.Elements"],C=PS["Halogen.HTML.Events"],T=PS["Halogen.HTML.Properties"],A=PS["Halogen.Query.HalogenM"],F=(PS.Model,PS.Prelude,PS.Util),H=PS["Web.Event.Event"],L=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),_=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),I=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),x=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),U=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),k=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),B=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),q=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(){}return n.value=new n,n}();n.BStar=x,n.BDeleteAsk=U,n.BDestroy=R,n.BEdit=k,n.BEditField=B,n.BEditSubmit=q,n.BMarkRead=j,n.Eurl=L,n.Etitle=_,n.Edescription=O,n.Etags=I,n.Eprivate=W,n.Etoread=N,n.BNotifyRemove=V,n.bmark=function(n){var J,Q=w["app'"](D.unit);return E.component(y.bifunctorHTML)({initialState:c.const((J=n,{bm:J,edit_bm:J,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=d.guard(d.monoidArray)(Q.dat.isowner)([M.div([F.class_("star"+d.guard(d.monoidString)(n.bm.selected)(" selected_star"))])([M.button([C.onClick(C.input_(x.create(!n.bm.selected)))])([y.text("✭")])])]),a=w.mmoment8601(n.bm.time),c=d.guard(d.monoidArray)(Q.dat.isowner)([M.div([F.class_("edit_links")])([M.button([T.type_(y.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(k.create(!0))),F.class_("edit")])([y.text("edit  ")]),M.div([F.class_("delete_link")])([M.button(S.append(S.semigroupArray)([T.type_(y.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(U.create(!0))),F.class_("delete")])(d.guard(d.monoidArray)(n.deleteAsk)([F.attr("hidden")("hidden")])))([y.text("delete")]),M.span(S.append(S.semigroupArray)([F.class_("confirm")])(d.guard(d.monoidArray)(!n.deleteAsk)([F.attr("hidden")("hidden")])))([M.button([T.type_(y.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(U.create(!1)))])([y.text("cancel / ")]),M.button([T.type_(y.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(R.create)),F.class_("destroy")])([y.text("destroy")])])])]),M.div([F.class_("read")])(d.guard(d.monoidArray)(n.bm.toread)([y.text("  "),M.button([C.onClick(C.input_(j.create)),F.class_("mark_read")])([y.text("mark as read")])]))]),D=[M.div([F.class_("edit_bookmark_form active")])([M.form([C.onSubmit(C.input(q.create))])([M.input([T.type_(y.inputTypeIsProp)(o.InputUrl.value),F.class_("url edit_form_input"),T.required(!0),T.name("url"),T.value(n.edit_bm.url),C.onValueChange(function(n){return C.input(B.create)(L.create(n))})]),M.br_,M.input([T.type_(y.inputTypeIsProp)(o.InputText.value),F.class_("title edit_form_input"),T.name("title"),T.value(n.edit_bm.title),C.onValueChange(function(n){return C.input(B.create)(_.create(n))})]),M.br_,M.p([F.attr("style")("margin-top:10px;margin-bottom:5px;")])([y.text(" description:")]),M.textarea([F.class_("description edit_form_input"),T.name("description"),T.rows(5),T.value(n.edit_bm.description),C.onValueChange(function(n){return C.input(B.create)(O.create(n))})]),M.br_,M.div([T.id_("tags_input_box")])([M.p([F.attr("style")("margin-top:10px")])([y.text(" tags:"),M.input([T.type_(y.inputTypeIsProp)(o.InputText.value),F.class_("tags edit_form_input"),T.name("tags"),T.autocomplete(!1),F.attr("autocapitalize")("off"),T.value(n.edit_bm.tags),C.onValueChange(function(n){return C.input(B.create)(I.create(n))})]),M.br_])]),M.div([T.id_("edit_form_checkboxes")])([M.input([T.type_(y.inputTypeIsProp)(o.InputCheckbox.value),F.class_("private"),T.id_("edit_private"),T.name("private"),T.checked(n.edit_bm.private),C.onChecked(function(n){return C.input(B.create)(W.create(n))})]),y.text(" "),M.label([T.for("edit_private")])([y.text("private")]),y.text(" "),M.input([T.type_(y.inputTypeIsProp)(o.InputCheckbox.value),F.class_("toread"),T.id_("edit_toread"),T.name("toread"),T.checked(n.edit_bm.toread),C.onChecked(function(n){return C.input(B.create)(N.create(n))})]),y.text(" "),M.label([T.for("edit_toread")])([y.text("toread")]),M.br_]),M.input([T.type_(y.inputTypeIsProp)(o.InputSubmit.value),F.class_("submit edit-button"),T.value("save")]),y.text(" "),M.input([T.type_(y.inputTypeIsProp)(o.InputReset.value),F.class_("reset edit-button"),T.value("cancel"),C.onClick(C.input_(k.create(!1)))])])])],b=[M.div([F.class_("display")])(S.append(S.semigroupArray)([M.a([T.href(n.bm.url),T.target("_blank"),F.class_("bookmark_title"+d.guard(d.monoidString)(n.bm.toread)(" unread"))])([y.text(p.null(n.bm.title)?"[no title]":n.bm.title)]),M.br_,M.a([T.href(n.bm.url),F.class_("url_display")])([y.text(n.bm.url)]),M.br_,M.div([F.class_("description")])((t=n.bm.description,i.drop(1)(l.foldMap(l.foldableArray)(d.monoidArray)(function(n){return[M.br_,y.text(n)]})(p.split("\n")(t))))),M.div([F.class_("tags")])(d.guard(d.monoidFn(d.monoidFn(d.monoidArray)))(!p.null(n.bm.tags))(f.map(f.functorArray))(function(n){return M.a([F.class_("tag"+d.guard(d.monoidString)("."===v.take(1)(n))(" private")),T.href(function(n){return Q.userR+"/t:"+n}(n))])([y.text(n)])})(p.split(" ")(n.bm.tags))),M.a([F.class_("when js-moment"),T.title(s.maybe(n.bm.time)(m.snd)(a)),F.attr("data-iso8601")(n.bm.time),T.href((e=n.bm.bid,Q.userR+"/b:"+P.show(P.showInt)(e)))])([y.text(s.maybe(" ")(m.fst)(a))])])(c))],g=[M.div([F.attr("style")("clear:both")])([])],h=M.div([T.id_(P.show(P.showInt)(n.bm.bid)),F.class_("bookmark"+d.guard(d.monoidString)(n.bm.private)(" private"))])(S.append(S.semigroupArray)(r)(n.edit?D:S.append(S.semigroupArray)(b)(g)));return M.div_(S.append(S.semigroupArray)([h])(g))},eval:function(n){if(n instanceof x)return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(A.bindHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.toggleStar(u.bm.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(function(){var e={};for(var t in u)({}).hasOwnProperty.call(u,t)&&(e[t]=u[t]);return e.bm=function(){var e={};for(var t in u.bm)({}).hasOwnProperty.call(u.bm,t)&&(e[t]=u.bm[t]);return e.selected=n.value0,e}(),e.edit_bm=function(){var e={};for(var t in u.edit_bm)({}).hasOwnProperty.call(u.edit_bm,t)&&(e[t]=u.edit_bm[t]);return e.selected=n.value0,e}(),e}()))(function(){return t.pure(A.applicativeHalogenM)(n.value1)})})});if(n instanceof U)return r.discard(r.discardUnit)(A.bindHalogenM)(a.modify_(A.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return t.pure(A.applicativeHalogenM)(n.value1)});if(n instanceof R)return r.bind(A.bindHalogenM)(a.gets(A.monadStateHalogenM)(function(n){return n.bm.bid}))(function(a){return r.discard(r.discardUnit)(A.bindHalogenM)(f.void(A.functorHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.destroy(a))))(function(){return r.discard(r.discardUnit)(A.bindHalogenM)(A.raise(V.value))(function(){return t.pure(A.applicativeHalogenM)(n.value0)})})});if(n instanceof j)return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(A.bindHalogenM)(f.void(A.functorHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.markRead(u.bm.bid))))(function(){return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(function(){var n={};for(var e in u)({}).hasOwnProperty.call(u,e)&&(n[e]=u[e]);return n.bm=function(){var n={};for(var e in u.bm)({}).hasOwnProperty.call(u.bm,e)&&(n[e]=u.bm[e]);return n.toread=!1,n}(),n}()))(function(){return t.pure(A.applicativeHalogenM)(n.value0)})})});if(n instanceof k)return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(e){return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit=n.value0,t.edit_bm=e.bm,t}()))(function(){return t.pure(A.applicativeHalogenM)(n.value1)})});if(n instanceof B)return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(e){return r.discard(r.discardUnit)(A.bindHalogenM)(function(){if(n.value0 instanceof L)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.url=n.value0.value0,t}(),t}());if(n.value0 instanceof _)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.title=n.value0.value0,t}(),t}());if(n.value0 instanceof O)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.description=n.value0.value0,t}(),t}());if(n.value0 instanceof I)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.tags=n.value0.value0,t}(),t}());if(n.value0 instanceof W)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.private=n.value0.value0,t}(),t}());if(n.value0 instanceof N)return a.put(A.monadStateHalogenM)(function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=function(){var t={};for(var r in e.edit_bm)({}).hasOwnProperty.call(e.edit_bm,r)&&(t[r]=e.edit_bm[r]);return t.toread=n.value0.value0,t}(),t}());throw new Error("Failed pattern match at Component.BMark line 212, column 5 - line 218, column 68: "+[n.value0.constructor.name])}())(function(){return t.pure(A.applicativeHalogenM)(n.value1)})});if(n instanceof q)return r.discard(r.discardUnit)(A.bindHalogenM)(h.liftEffect(A.monadEffectHalogenM(b.monadEffectAff))(H.preventDefault(n.value0)))(function(){return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(A.bindHalogenM)(f.void(A.functorHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.editBookmark(u.edit_bm))))(function(){return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(function(){var n={};for(var e in u)({}).hasOwnProperty.call(u,e)&&(n[e]=u[e]);return n.edit=!1,n.bm=u.edit_bm,n}()))(function(){return t.pure(A.applicativeHalogenM)(n.value1)})})})});throw new Error("Failed pattern match at Component.BMark line 187, column 3 - line 187, column 62: "+[n.constructor.name])},receiver:c.const(s.Nothing.value)})}}(PS["Component.BMark"]=PS["Component.BMark"]||{}),function(n){"use strict";var e=PS["Component.BMark"],t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],u=PS["Data.Array"],o=(PS["Data.Eq"],PS["Data.Function"]),i=PS["Data.Functor"],l=PS["Data.Maybe"],c=PS["Data.Ord"],f=PS["Data.Unit"],s=(PS["Effect.Aff"],PS.Halogen,PS["Halogen.Component"]),d=PS["Halogen.HTML"],S=PS["Halogen.HTML.Elements"],P=PS["Halogen.HTML.Events"],v=PS["Halogen.Query.HalogenM"],p=(PS.Model,PS.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}()),m=function(n){return function(e){return u.filter(function(e){return e.bid!==n})(e)}};n.HandleBMessage=p,n.blist=function(n){var u=function(n){return d.slot(n.bid)(e.bmark(n))(f.unit)(P.input(p.create(n.bid)))};return s.parentComponent(c.ordInt)({initialState:o.const(n),render:function(n){return S.div_(i.map(i.functorArray)(u)(n))},eval:function(n){return r.discard(r.discardUnit)(v.bindHalogenM)(a.modify_(v.monadStateHalogenM)(m(n.value0)))(function(){return t.pure(v.applicativeHalogenM)(n.value2)})},receiver:o.const(l.Nothing.value)})},n.removeBookmark=m}(PS["Component.BList"]=PS["Component.BList"]||{}),function(n){"use strict";PS["Control.Monad.Error.Class"],PS["Control.Monad.Reader.Trans"],PS["Control.Monad.Trans.Class"],PS["Control.Semigroupoid"];var e=PS["Effect.Aff"],t=(PS.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),r=new t(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=t,n.monadForkAff=r}(PS["Control.Monad.Fork.Class"]=PS["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(PS["Effect.Console"]=PS["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=PS["Effect.Console"];PS["Data.Show"],PS["Data.Unit"],PS.Effect;n.warn=e.warn}(PS["Effect.Console"]=PS["Effect.Console"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"];var e=PS["Data.Foldable"],t=(PS["Data.Function"],PS["Data.Functor"]),r=(PS["Data.List"],PS["Data.List.Types"]),a=(PS["Data.Map"],PS["Data.Map.Internal"]),u=PS["Data.Maybe"],o=(PS["Data.Traversable"],PS.Effect,PS["Effect.Aff"],PS["Effect.Ref"]),i=(PS["Halogen.Component"],PS["Halogen.Data.OrdBox"],PS.Prelude,PS["Unsafe.Coerce"]),l=(PS["Web.DOM"],i.unsafeCoerce),c=i.unsafeCoerce,f=i.unsafeCoerce;n.unDriverStateX=c,n.mkDriverStateXRef=f,n.renderStateX=function(n){return function(n){return c(function(e){return(e.prjQuery,i.unsafeCoerce)(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return c(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=l,n.initDriverState=function(n){return function(e){return function(i){return function(l){return function(c){return function(){var s=o.new({})(),d=o.new(a.empty)(),S=o.new(a.empty)(),P=o.new(t.voidLeft(u.functorMaybe)(n.initializer)(r.Nil.value))(),v=o.new(new u.Just(r.Nil.value))(),p=o.new(u.Nothing.value)(),m=o.new(0)(),D=o.new(new u.Just(a.empty))(),b={component:n,state:n.initialState(e),refs:a.empty,children:a.empty,childrenIn:d,childrenOut:S,selfRef:s,handler:i,pendingQueries:P,pendingOuts:v,pendingHandlers:p,rendering:u.Nothing.value,prjQuery:l,fresh:m,subscriptions:D,lifecycleHandlers:c};return o.write(b)(s)(),f(s)}}}}}}}(PS["Halogen.Aff.Driver.State"]=PS["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(PS["Unsafe.Reference"]=PS["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=PS["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(PS["Unsafe.Reference"]=PS["Unsafe.Reference"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Applicative.Free"],r=PS["Control.Bind"],a=PS["Control.Coroutine"],u=PS["Control.Monad.Error.Class"],o=PS["Control.Monad.Fork.Class"],i=PS["Control.Monad.Free"],l=PS["Control.Monad.Free.Trans"],c=PS["Control.Monad.Trans.Class"],f=PS["Control.Parallel"],s=PS["Control.Parallel.Class"],d=(PS["Control.Semigroupoid"],PS["Data.Boolean"]),S=PS["Data.Coyoneda"],P=PS["Data.Eq"],v=PS["Data.Foldable"],p=PS["Data.Function"],m=PS["Data.Functor"],D=PS["Data.List"],b=PS["Data.List.Types"],g=PS["Data.Map"],h=PS["Data.Map.Internal"],w=PS["Data.Maybe"],E=PS["Data.Ord"],y=(PS["Data.Semiring"],PS["Data.Set"]),M=(PS["Data.Tuple"],PS.Effect,PS["Effect.Aff"]),C=PS["Effect.Class"],T=PS["Effect.Exception"],A=PS["Effect.Ref"],F=PS["Halogen.Aff.Driver.State"],H=PS["Halogen.Data.OrdBox"],L=PS["Halogen.Query.EventSource"],_=PS["Halogen.Query.ForkF"],O=PS["Halogen.Query.HalogenM"],I=PS["Halogen.Query.InputF"],W=(PS.Prelude,PS["Unsafe.Reference"]),N=function(n){return function(e){return function(t){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(e)))(function(r){if(r instanceof w.Nothing)return n(t);if(r instanceof w.Just)return C.liftEffect(M.monadEffectAff)(A.write(new w.Just(new b.Cons(n(t),r.value0)))(e));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 171, column 3 - line 175, column 59: "+[r.constructor.name])})}}},x=function(n){return function(t){return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(t))(function(t){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n)))(function(n){return r.discard(r.discardUnit)(M.bindAff)(v.traverse_(M.applicativeAff)(b.foldableList)(o.fork(o.monadForkAff))(n.finalizers))(function(){return r.discard(r.discardUnit)(M.bindAff)(f.parSequence_(M.parallelAff)(b.foldableList)(n.initializers))(function(){return e.pure(M.applicativeAff)(t)})})})})})}};n.handleLifecycle=x,n.eval=function(n){return function(f){var v=function(i){return function(f){if(f instanceof O.State)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(t){var a=f.value0(t.state);if(W.unsafeRefEq(t.state)(a.value1))return e.pure(M.applicativeAff)(a.value0);if(d.otherwise)return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.write({component:t.component,state:a.value1,refs:t.refs,children:t.children,childrenIn:t.childrenIn,childrenOut:t.childrenOut,selfRef:t.selfRef,handler:t.handler,pendingQueries:t.pendingQueries,pendingOuts:t.pendingOuts,pendingHandlers:t.pendingHandlers,rendering:t.rendering,prjQuery:t.prjQuery,fresh:t.fresh,subscriptions:t.subscriptions,lifecycleHandlers:t.lifecycleHandlers})(i)))(function(){return r.discard(r.discardUnit)(M.bindAff)(x(t.lifecycleHandlers)(n(t.lifecycleHandlers)(i)))(function(){return e.pure(M.applicativeAff)(a.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 76, column 7 - line 82, column 21: "+[a.constructor.name])});if(f instanceof O.Subscribe)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return r.bind(M.bindAff)(o.fork(o.monadForkAff)(r.bind(M.bindAff)(L.unEventSource(f.value0))(function(t){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A["modify'"](function(n){return{state:n+1|0,value:n}})(n.fresh)))(function(u){var o=r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n.subscriptions)))(function(t){return e.when(M.applicativeAff)(w.maybe(!1)(h.member(E.ordInt)(u))(t))(C.liftEffect(M.monadEffectAff)(A.modify_(m.map(w.functorMaybe)(h.delete(E.ordInt)(u)))(n.subscriptions)))});return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.modify_(m.map(w.functorMaybe)(h.insert(E.ordInt)(u)(o)))(n.subscriptions)))(function(){var u=r.bind(l.bindFreeT(a.functorAwait)(M.monadAff))(a.await(M.monadAff))(function(t){return r.bind(l.bindFreeT(a.functorAwait)(M.monadAff))(c.lift(l.monadTransFreeT(a.functorAwait))(M.monadAff)(C.liftEffect(M.monadEffectAff)(A.read(n.subscriptions))))(function(n){return e.when(l.applicativeFreeT(a.functorAwait)(M.monadAff))(w.isJust(n))(r.bind(l.bindFreeT(a.functorAwait)(M.monadAff))(c.lift(l.monadTransFreeT(a.functorAwait))(M.monadAff)(R(i)(t)))(function(n){return e.when(l.applicativeFreeT(a.functorAwait)(M.monadAff))(P.eq(L.eqSubscribeStatus)(n)(L.Listening.value))(u)}))})});return r.discard(r.discardUnit)(M.bindAff)(a.runProcess(M.monadRecAff)(a.pullFrom(M.monadRecAff)(u)(t.producer)))(function(){return o})})})})))(function(n){return e.pure(M.applicativeAff)(f.value1)})});if(f instanceof O.Lift)return f.value0;if(f instanceof O.Halt)return u.throwError(M.monadThrowAff)(T.error(f.value0));if(f instanceof O.GetSlots)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return e.pure(M.applicativeAff)(f.value0(m.map(b.functorList)(H.unOrdBox)(D.fromFoldable(y.foldableSet)(g.keys(n.children)))))});if(f instanceof O.CheckSlot)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return e.pure(M.applicativeAff)(f.value1(h.member(H.ordOrdBox)(n.component.mkOrdBox(f.value0))(n.children)))});if(f instanceof O.ChildQuery)return k(i)(f.value0)(f.value1);if(f instanceof O.Raise)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return r.discard(r.discardUnit)(M.bindAff)(N(n.handler)(n.pendingOuts)(f.value0))(function(){return e.pure(M.applicativeAff)(f.value1)})});if(f instanceof O.Par)return s.sequential(M.parallelAff)(t.retractFreeAp(M.applicativeParAff)(t.hoistFreeAp(function(n){return s.parallel(M.parallelAff)(U(i)(n))})(f.value0)));if(f instanceof O.Fork)return _.unFork(function(n){return r.bind(M.bindAff)(o.fork(o.monadForkAff)(U(i)(n.value0)))(function(t){return e.pure(M.applicativeAff)(n.value1(p.flip(M.killFiber)(t)))})})(f.value0);if(f instanceof O.GetRef)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return e.pure(M.applicativeAff)(f.value1(h.lookup(E.ordString)(f.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 73, column 12 - line 128, column 33: "+[f.constructor.name])}},U=function(n){return function(e){return i.foldFree(M.monadRecAff)(v(n))(e)}},R=function(n){return function(e){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n)))(function(t){var r=t.component.eval(e);return i.foldFree(M.monadRecAff)(v(n))(r)})}},k=function(n){return function(e){return S.unCoyoneda(function(t){return function(a){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n)))(function(n){var o=h.lookup(H.ordOrdBox)(n.component.mkOrdBox(e))(n.children);if(o instanceof w.Just)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(o.value0)))(function(n){return F.unDriverStateX(function(n){var e=n.prjQuery(a);if(e instanceof w.Just)return m.map(M.functorAff)(t)(R(n.selfRef)(e.value0));if(e instanceof w.Nothing)return u.throwError(M.monadThrowAff)(T.error("Query projection failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 141, column 32 - line 143, column 82: "+[e.constructor.name])})(n)});if(o instanceof w.Nothing)return u.throwError(M.monadThrowAff)(T.error("Slot lookup failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 138, column 5 - line 144, column 73: "+[o.constructor.name])})}})}};return function(n){if(n instanceof I.RefUpdate)return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.modify_(function(e){return{component:e.component,state:e.state,refs:h.alter(E.ordString)(p.const(n.value1))(n.value0)(e.refs),children:e.children,childrenIn:e.childrenIn,childrenOut:e.childrenOut,selfRef:e.selfRef,handler:e.handler,pendingQueries:e.pendingQueries,pendingOuts:e.pendingOuts,pendingHandlers:e.pendingHandlers,rendering:e.rendering,prjQuery:e.prjQuery,fresh:e.fresh,subscriptions:e.subscriptions,lifecycleHandlers:e.lifecycleHandlers}})(f)))(function(){return e.pure(M.applicativeAff)(n.value2)});if(n instanceof I.Query)return R(f)(n.value0);throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 59, column 3 - line 64, column 25: "+[n.constructor.name])}}},n.queuingHandler=N}(PS["Halogen.Aff.Driver.Eval"]=PS["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=PS["Control.Coroutine"],a=PS["Control.Monad.Fork.Class"],u=PS["Control.Monad.Rec.Class"],o=PS["Control.Parallel"],i=(PS["Control.Semigroupoid"],PS["Data.Either"]),l=PS["Data.Foldable"],c=PS["Data.Function"],f=PS["Data.Functor"],s=PS["Data.List"],d=PS["Data.List.Types"],S=(PS["Data.Map"],PS["Data.Map.Internal"]),P=PS["Data.Maybe"],v=PS["Data.Ord"],p=(PS["Data.Semiring"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unit"]),m=PS.Effect,D=PS["Effect.Aff"],b=PS["Effect.Aff.AVar"],g=PS["Effect.Class"],h=PS["Effect.Console"],w=PS["Effect.Exception"],E=PS["Effect.Ref"],y=(PS.Halogen,PS["Halogen.Aff.Driver.Eval"]),M=PS["Halogen.Aff.Driver.State"],C=PS["Halogen.Component"],T=PS["Halogen.Data.OrdBox"],A=PS["Halogen.Query.InputF"],F=(PS.Prelude,E.new({initializers:d.Nil.value,finalizers:d.Nil.value})),H=D.runAff_(i.either(w.throwException)(c.const(e.pure(m.applicativeEffect)(p.unit))));n.runUI=function(n){return function(L){return function(_){var O=function(n){return function(){var e=E.read(n)();return E.write(P.Nothing.value)(n)(),l.for_(m.applicativeEffect)(l.foldableMaybe)(e)(function(n){return H(l.traverse_(D.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff))(s.reverse(n)))})()}},I=function(n){return function(e){return function(r){return function(a){return C.unComponent(function(u){return function(){var i=F(),c=M.initDriverState(u)(r)(e)(a)(i)(),S=E.read(n)();return E.write({initializers:d.Nil.value,finalizers:S.finalizers})(n)(),t.bindFlipped(m.bindEffect)(M.unDriverStateX(function(e){return W(n)(e.selfRef)}))(E.read(c))(),t.bindFlipped(m.bindEffect)(function(n){return function(e){return M.unDriverStateX(function(r){var a=f.map(P.functorMaybe)(function(n){return x(r.selfRef)(A.Query.create(n))})(r.component.initializer);return E.modify_(function(n){return{initializers:new d.Cons(t.discard(t.discardUnit)(D.bindAff)(o.parSequence_(D.parallelAff)(d.foldableList)(s.reverse(n.initializers)))(function(){return t.discard(t.discardUnit)(D.bindAff)(l.sequence_(D.applicativeAff)(l.foldableMaybe)(a))(function(){return g.liftEffect(D.monadEffectAff)(function(){return O(r.pendingQueries)(),O(r.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(S.initializers))(E.read(c))(),c}})}}}},W=function(r){return function(o){return function(){var i=E.read(o)(),v=f.map(m.functorEffect)(P.isNothing)(E.read(i.pendingHandlers))();e.when(m.applicativeEffect)(v)(E.write(new P.Just(d.Nil.value))(i.pendingHandlers))(),E.write(S.empty)(i.childrenOut)(),E.write(i.children)(i.childrenIn)();var b=y.queuingHandler(function(n){return f.void(D.functorAff)(x(i.selfRef)(n))})(i.pendingHandlers),g=y.queuingHandler(function(n){return b(A.Query.create(n))})(i.pendingQueries),F=n.render(function(n){return H(b(n))})(function(r){return function(a){return function(u){return function(o){return function(i){return C.unComponentSlot(function(c){return function(s){return function(d){return function(v){return function(b){return function(g){var y=u(c);return function(){var u=E.read(o)(),c=function(){var n=S.pop(T.ordOrdBox)(y)(u);if(n instanceof P.Just)return E.write(n.value0.value1)(o)(),l.for_(m.applicativeEffect)(l.foldableMaybe)(v(d))(function(e){return function(){var t=E.read(n.value0.value0)();return M.unDriverStateX(function(n){return l.for_(m.applicativeEffect)(l.foldableMaybe)(n.prjQuery(e))(function(e){return H(x(n.selfRef)(A.Query.create(e)))})})(t)()}})(),n.value0.value0;if(n instanceof P.Nothing)return I(r)(function(n){return P.maybe(e.pure(D.applicativeAff)(p.unit))(a)(b(n))})(d)(g)(s)();throw new Error("Failed pattern match at Halogen.Aff.Driver line 258, column 14 - line 266, column 92: "+[n.constructor.name])}(),C=f.map(m.functorEffect)(S.member(T.ordOrdBox)(y))(E.read(i))();return e.when(m.applicativeEffect)(C)(h.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),E.modify_(S.insert(T.ordOrdBox)(y)(c))(i)(),t.bind(m.bindEffect)(E.read(c))(M.renderStateX(m.functorEffect)(function(t){if(t instanceof P.Nothing)return w.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof P.Just)return e.pure(m.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver line 271, column 37 - line 273, column 50: "+[t.constructor.name])}))()}}}}}}})}}}}}(r)(g)(i.component.mkOrdBox)(i.childrenIn)(i.childrenOut))(i.component.render(i.state))(i.rendering)(),L=E.read(i.childrenOut)();return t.bind(m.bindEffect)(E.read(i.childrenIn))(l.traverse_(m.applicativeEffect)(S.foldableMap)(function(e){return function(){var t=E.read(e)();return M.renderStateX_(m.applicativeEffect)(n.removeChild)(t)(),N(r)(t)()}}))(),E.modify_(function(n){return{rendering:new P.Just(F),children:L,component:n.component,state:n.state,refs:n.refs,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handler:n.handler,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,prjQuery:n.prjQuery,fresh:n.fresh,subscriptions:n.subscriptions,lifecycleHandlers:n.lifecycleHandlers}})(i.selfRef)(),e.when(m.applicativeEffect)(v)(c.flip(u.tailRecM(u.monadRecEffect))(p.unit)(function(n){return function(){var n=E.read(i.pendingHandlers)();E.write(new P.Just(d.Nil.value))(i.pendingHandlers)(),l.traverse_(m.applicativeEffect)(l.foldableMaybe)(function(n){return H(l.traverse_(D.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff))(s.reverse(n)))})(n)();var e=E.read(i.pendingHandlers)();return P.maybe(!1)(s.null)(e)?f.voidLeft(m.functorEffect)(E.write(P.Nothing.value)(i.pendingHandlers))(new u.Done(p.unit))():new u.Loop(p.unit)}}))()}}},N=function(n){return M.unDriverStateX(function(e){return function(){var r;return(r=e,function(){return t.bindFlipped(m.bindEffect)(l.traverse_(m.applicativeEffect)(l.foldableMaybe)(function(n){return H(l.traverse_(D.applicativeAff)(S.foldableMap)(a.fork(a.monadForkAff))(n))}))(E.read(r.subscriptions))(),E.write(P.Nothing.value)(r.subscriptions)()})(),l.for_(m.applicativeEffect)(l.foldableMaybe)(f.map(P.functorMaybe)(function(n){return x(e.selfRef)(A.Query.create(n))})(e.component.finalizer))(function(e){return E.modify_(function(n){return{initializers:n.initializers,finalizers:new d.Cons(e,n.finalizers)}})(n)})(),l.for_(m.applicativeEffect)(S.foldableMap)(e.children)(t.composeKleisliFlipped(m.bindEffect)(N(n))(E.read))()}})},x=function(n){return y.eval(W)(n)};return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(F))(function(n){return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(E.new(0)))(function(u){return y.handleLifecycle(n)(function(){var o,c=E.new(S.empty)();return t.bind(m.bindEffect)(t.bind(m.bindEffect)(I(n)((o=c,function(n){return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(E.read(o)))(function(e){return l.traverse_(D.applicativeAff)(S.foldableMap)(a.fork(a.monadForkAff))(f.map(S.functorMap)(b.put(n))(e))})}))(_)(P.Just.create)(L))(E.read))(M.unDriverStateX(function(n){return e.pure(m.applicativeEffect)({query:(l=n.selfRef,function(n){return function(e){var t=n(e);if(t instanceof P.Just)return x(l)(new A.Query(t.value0));if(t instanceof P.Nothing)return g.liftEffect(D.monadEffectAff)(w.throwException(w.error("Halogen internal error: query projection failed in runUI'")));throw new Error("Failed pattern match at Halogen.Aff.Driver line 136, column 5 - line 138, column 113: "+[t.constructor.name])}})(n.prjQuery),subscribe:(o=u,function(n){return function(e){return t.bind(D.bindAff)(b.empty)(function(u){return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(function(){var e=E.read(o)();return E.modify_(function(n){return n+1|0})(o)(),E.modify_(S.insert(v.ordInt)(e)(u))(n)(),e}))(function(o){var l=r.producer(D.monadAff)(f.map(D.functorAff)(i.Left.create)(b.take(u)));return f.void(D.functorAff)(a.fork(a.monadForkAff)(t.discard(t.discardUnit)(D.bindAff)(r.runProcess(D.monadRecAff)(r.connect(D.monadRecAff)(D.parallelAff)(l)(e)))(function(){return t.discard(t.discardUnit)(D.bindAff)(g.liftEffect(D.monadEffectAff)(E.modify_(S.delete(v.ordInt)(o))(n)))(function(){return b.kill(w.error("ended"))(u)})})))})})}})(c)});var o,l}))()})})})}}}}(PS["Halogen.Aff.Driver"]=PS["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=(PS["Control.Monad.Error.Class"],PS["Control.Semigroupoid"],PS["Data.Either"]),a=PS["Data.Function"],u=(PS["Data.Functor"],PS["Data.Maybe"]),o=PS["Data.Unit"],i=PS.Effect,l=PS["Effect.Aff"],c=PS["Effect.Class"],f=PS["Effect.Exception"],s=(PS.Prelude,PS["Web.DOM.ParentNode"]),d=(PS["Web.Event.EventTarget"],PS["Web.HTML"]),S=(PS["Web.HTML.Event.EventTypes"],PS["Web.HTML.HTMLDocument"]),P=(PS["Web.HTML.HTMLDocument.ReadyState"],PS["Web.HTML.HTMLElement"]),v=PS["Web.HTML.Window"],p=l.runAff_(r.either(f.throwException)(a.const(e.pure(i.applicativeEffect)(o.unit))));n.selectElement=function(n){return t.bind(l.bindAff)(c.liftEffect(l.monadEffectAff)(t.bindFlipped(i.bindEffect)(t.composeKleisliFlipped(i.bindEffect)(function(e){return s.querySelector(n)(S.toParentNode(e))})(v.document))(d.window)))(function(n){return e.pure(l.applicativeAff)(t.bindFlipped(u.bindMaybe)(P.fromElement)(n))})},n.runHalogenAff=p}(PS["Halogen.Aff.Util"]=PS["Halogen.Aff.Util"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"];var e,t=PS["Data.Array"],r=(PS["Data.Eq"],PS["Data.Function.Uncurried"],PS["Data.Maybe"]),a=PS["Data.Nullable"],u=PS["Data.Tuple"],o=PS.Effect,i=(PS["Effect.Uncurried"],PS["Halogen.VDom.Machine"]),l=PS["Halogen.VDom.Types"],c=PS["Halogen.VDom.Util"],f=(PS.Prelude,PS["Web.DOM.Document"],PS["Web.DOM.Element"]),s=(PS["Web.DOM.Node"],function(n,e){return n.value1===e.value1&&(n.value0 instanceof r.Just&&e.value0 instanceof r.Just&&n.value0.value0===e.value0.value0||n.value0 instanceof r.Nothing&&e.value0 instanceof r.Nothing)}),d=(e=function(n,t){return function(r){if(r instanceof l.Grafted)return e(n,t)(l.runGraft(r.value0));if(r instanceof l.Widget){var a=t.value1(r.value0);return new i.Step(a.value0,e(n,a),a.value2)}return t.value2(),n(r)}},function(n,t,r){var a=n.buildWidget(n)(r);return new i.Step(a.value0,e(t,a),a.value2)}),S=function(){var n=function(e,t,r,a){return function(u){if(u instanceof l.Grafted)return n(e,t,r,a)(l.runGraft(u.value0));if(u instanceof l.Text){var o=new i.Step(r,n(e,t,r,u.value0),t);return a===u.value0?o:(c.setTextContent(u.value0,r),o)}return t(),e(u)}};return function(e,t,r){var a,u=c.createTextNode(r,e.document),o=(a=u,function(){var n=c.parentNode(a);return c.removeChild(a,n)});return new i.Step(u,n(t,o,u,r),o)}}(),P=function(){var n=function(n,e,t){return function(){var r=c.parentNode(n);return c.removeChild(n,r),c.forInE(t,function(n,e){return e.value2()}),i.halt(e)()}},e=function(r,a,o,f,d,S,P){return function(v){if(v instanceof l.Grafted)return e(r,a,o,f,d,S,P)(l.runGraft(v.value0));if(v instanceof l.Keyed&&s(d,v.value0)){var p=t.length(v.value1);if(0===P&&0===p){var m=i.step(f)(v.value0.value2),D=n(o,m,S);return new i.Step(o,e(r,D,o,m,v.value0,S,0),D)}m=c.diffWithKeyAndIxE(S,v.value1,u.fst,function(n,e,t,r){var a=t.value1(r.value1);return c.insertChildIx(e,a.value0,o),a},function(n,e){return e.value2()},function(n,e,t){var a=r(t.value1);return c.insertChildIx(e,a.value0,o),a});var b=i.step(f)(v.value0.value2);D=n(o,b,m);return new i.Step(o,e(r,D,o,b,v.value0,m,p),D)}return a(),r(v)}};return function(r,o,l,s){var d=c.createElement(a.toNullable(l.value0),l.value1,r.document),S=f.toNode(d),P=c.strMapWithIxE(s,u.fst,function(n,e,t){var r=o(t.value1);return c.insertChildIx(e,r.value0,S),r}),v=r.buildAttributes(d)(l.value2),p=n(S,v,P);return new i.Step(S,e(o,p,S,v,l,P,t.length(s)),p)}}(),v=function(){var n=function(n,e,t){return function(){var r=c.parentNode(n);return c.removeChild(n,r),o.foreachE(t)(i.halt)(),i.halt(e)()}},e=function(r,a,u,o,f,d){return function(S){if(S instanceof l.Grafted)return e(r,a,u,o,f,d)(l.runGraft(S.value0));if(S instanceof l.Elem&&s(f,S.value0)){var P=t.length(S.value1);if(0===t.length(d)&&0===P){var v=i.step(o)(S.value0.value2),p=n(u,v,d);return new i.Step(u,e(r,p,u,v,S.value0,d),p)}v=c.diffWithIxE(d,S.value1,function(n,e,t){var r=e.value1(t);return c.insertChildIx(n,r.value0,u),r},function(n,e){return e.value2()},function(n,e){var t=r(e);return c.insertChildIx(n,t.value0,u),t});var m=i.step(o)(S.value0.value2);p=n(u,m,v);return new i.Step(u,e(r,p,u,m,S.value0,v),p)}return a(),r(S)}};return function(t,r,u,o){var l=c.createElement(a.toNullable(u.value0),u.value1,t.document),s=f.toNode(l),d=c.forE(o,function(n,e){var t=r(e);return c.insertChildIx(n,t.value0,s),t}),S=t.buildAttributes(l)(u.value2),P=n(s,S,d);return new i.Step(s,e(r,P,s,S,u,d),P)}}();n.buildVDom=function(n){var e=function(t){if(t instanceof l.Text)return S(n,e,t.value0);if(t instanceof l.Elem)return v(n,e,t.value0,t.value1);if(t instanceof l.Keyed)return P(n,e,t.value0,t.value1);if(t instanceof l.Widget)return d(n,e,t.value0);if(t instanceof l.Grafted)return e(l.runGraft(t.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM line 58, column 27 - line 63, column 52: "+[t.constructor.name])};return e},n.buildText=S,n.buildElem=v,n.buildKeyed=P,n.buildWidget=d}(PS["Halogen.VDom.DOM"]=PS["Halogen.VDom.DOM"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=PS["Control.Category"],a=PS["Data.Foldable"],u=(PS["Data.Function"],PS["Data.Functor"]),o=PS["Data.HeytingAlgebra"],i=PS["Data.Maybe"],l=PS["Data.Unit"],c=PS.Effect,f=PS["Effect.Aff"],s=PS["Effect.Class"],d=PS["Effect.Ref"],S=(PS["Effect.Uncurried"],PS["Halogen.Aff.Driver"]),P=PS["Halogen.Aff.Driver.State"],v=(PS["Halogen.Component"],PS["Halogen.HTML.Core"],PS["Halogen.Query.InputF"],PS["Halogen.VDom"],PS["Halogen.VDom.DOM"]),p=PS["Halogen.VDom.DOM.Prop"],m=PS["Halogen.VDom.Machine"],D=(PS.Prelude,PS["Unsafe.Reference"]),b=(PS["Web.DOM.Document"],PS["Web.DOM.Element"],PS["Web.DOM.Node"]),g=PS["Web.HTML"],h=PS["Web.HTML.HTMLDocument"],w=PS["Web.HTML.HTMLElement"],E=PS["Web.HTML.Window"],y=function(n){return function(){var e=b.parentNode(n.node)();return a.traverse_(c.applicativeEffect)(a.foldableMaybe)(function(e){return b.removeChild(n.node)(e)})(e)()}},M=function(n){return function(t){return{render:function(r){return function(a){return function(f){return function(s){if(s instanceof i.Nothing)return function(){var o=d.new(a)(),i=function(n){return function(t){return function(r){var a=P.unRenderStateX(function(n){return n.node}),u=e.pure(c.applicativeEffect)(l.unit),o=function(n){var e=d.read(t)()(n)(),r=a(e);return new m.Step(r,o,u)};return{buildWidget:function(n){return function(n){var e=d.read(t)()(n)(),r=a(e);return new m.Step(r,o,u)}},buildAttributes:p.buildProp(n),document:r}}}}(r)(o)(n),s=v.buildVDom(i)(f),S=m.extract(s);return u.void(c.functorEffect)(b.appendChild(S)(w.toNode(t)))(),{machine:s,node:S,renderChildRef:o}};if(s instanceof i.Just)return function(){d.write(a)(s.value0.renderChildRef)();var n=b.parentNode(s.value0.node)(),t=b.nextSibling(s.value0.node)(),r=m.step(s.value0.machine)(f),S=m.extract(r);return e.when(c.applicativeEffect)(o.not(o.heytingAlgebraFunction(o.heytingAlgebraFunction(o.heytingAlgebraBoolean)))(D.unsafeRefEq)(s.value0.node)(S))(function(n){return function(t){return function(r){return t instanceof i.Just&&r instanceof i.Just?u.void(c.functorEffect)(b.insertBefore(n)(t.value0)(r.value0)):t instanceof i.Nothing&&r instanceof i.Just?u.void(c.functorEffect)(b.appendChild(n)(r.value0)):e.pure(c.applicativeEffect)(l.unit)}}}(S)(t)(n))(),{machine:r,node:S,renderChildRef:s.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver line 118, column 5 - line 134, column 80: "+[s.constructor.name])}}}},renderChild:r.identity(r.categoryFn),removeChild:y}}};n.runUI=function(n){return function(e){return function(r){return t.bind(f.bindAff)(s.liftEffect(f.monadEffectAff)(u.map(c.functorEffect)(h.toDocument)(t.bindFlipped(c.bindEffect)(E.document)(g.window))))(function(t){return S.runUI(M(t)(r))(n)(e)})}}}}(PS["Halogen.VDom.Driver"]=PS["Halogen.VDom.Driver"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Data.Unit"],r=PS.Effect,a=(PS.Prelude,e.pure(r.applicativeEffect)(t.unit));n.main=a}(PS.Main=PS.Main||{}),function(n){"use strict";var e=PS["Component.Add"],t=PS["Component.BList"],r=PS["Control.Bind"],a=PS["Data.Foldable"],u=(PS["Data.Function"],PS["Data.Functor"]),o=PS["Data.Unit"],i=(PS.Effect,PS["Effect.Aff"]),l=PS["Effect.Class"],c=(PS["Halogen.Aff"],PS["Halogen.Aff.Util"]),f=PS["Halogen.VDom.Driver"],s=(PS.Model,PS.Prelude,PS["Web.DOM.Element"]),d=(PS["Web.DOM.ParentNode"],PS["Web.HTML.HTMLElement"]),S=r.bind(i.bindAff)(c.selectElement(".user_footer"))(a.traverse_(i.applicativeAff)(a.foldableMaybe)(function(n){return l.liftEffect(i.monadEffectAff)(s.removeAttribute("hidden")(d.toElement(n)))}));n.renderBookmarks=function(n){return function(e){return c.runHalogenAff(r.bind(i.bindAff)(c.selectElement(n))(a.traverse_(i.applicativeAff)(a.foldableMaybe)(function(n){return r.discard(r.discardUnit)(i.bindAff)(u.void(i.functorAff)(f.runUI(t.blist(e))(o.unit)(n)))(function(){return S})})))}},n.renderAddForm=function(n){return function(t){return c.runHalogenAff(r.bind(i.bindAff)(c.selectElement(n))(a.traverse_(i.applicativeAff)(a.foldableMaybe)(function(n){return f.runUI(e.addbmark(t))(o.unit)(n)})))}},n.showFooter=S}(PS.User=PS.User||{});+var PS={};!function(n){"use strict";(PS["Control.Bind"]=PS["Control.Bind"]||{}).arrayBind=function(n){return function(e){for(var t=[],r=0,a=n.length;r<a;r++)Array.prototype.push.apply(t,e(n[r]));return t}}}(),function(n){"use strict";(PS["Control.Apply"]=PS["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,a=new Array(t*r),u=0,o=0;o<t;o++)for(var i=n[o],l=0;l<r;l++)a[u++]=i(e[l]);return a}}}(),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(PS["Control.Semigroupoid"]=PS["Control.Semigroupoid"]||{}),function(n){"use strict";var e=PS["Control.Semigroupoid"],t=function(n,e){this.Semigroupoid0=n,this.identity=e},r=new t(function(){return e.semigroupoidFn},function(n){return n});n.Category=t,n.identity=function(n){return n.identity},n.categoryFn=r}(PS["Control.Category"]=PS["Control.Category"]||{}),function(n){"use strict";(PS["Data.Boolean"]=PS["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(PS["Data.Eq"]=PS["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(PS["Data.HeytingAlgebra"]=PS["Data.HeytingAlgebra"]||{}),function(n){"use strict";PS["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(PS["Data.Symbol"]=PS["Data.Symbol"]||{}),function(n){"use strict";(PS["Data.Unit"]=PS["Data.Unit"]||{}).unit={}}(),function(n){"use strict";n.showIntImpl=function(n){return n.toString()},n.showStringImpl=function(n){var e=n.length;return'"'+n.replace(/[\0-\x1F\x7F"\\]/g,function(t,r){switch(t){case'"':case"\\":return"\\"+t;case"":return"\\a";case"\b":return"\\b";case"\f":return"\\f";case"\n":return"\\n";case"\r":return"\\r";case"\t":return"\\t";case"\v":return"\\v"}var a=r+1,u=a<e&&n[a]>="0"&&n[a]<="9"?"\\&":"";return"\\"+t.charCodeAt(0).toString(10)+u})+'"'}}(PS["Data.Show"]=PS["Data.Show"]||{}),function(n){"use strict";(PS["Record.Unsafe"]=PS["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=PS["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(PS["Record.Unsafe"]=PS["Record.Unsafe"]||{}),function(n){"use strict";var e=PS["Data.Show"],t=(PS["Data.Symbol"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n){this.show=n}),r=new t(e.showStringImpl),a=new t(e.showIntImpl);n.Show=t,n.show=function(n){return n.show},n.showInt=a,n.showString=r}(PS["Data.Show"]=PS["Data.Show"]||{}),function(n){"use strict";var e=PS["Data.Unit"];PS["Data.Show"];n.unit=e.unit}(PS["Data.Unit"]=PS["Data.Unit"]||{}),function(n){"use strict";var e=PS["Data.HeytingAlgebra"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.Row"],PS["Type.Data.RowList"],function(n,e,t,r,a,u){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=u}),r=function(n){return n.tt},a=function(n){return n.not},u=function(n){return n.implies},o=function(n){return n.ff},i=function(n){return n.disj},l=new t(e.boolConj,e.boolDisj,!1,function(n){return function(e){return i(l)(a(l)(n))(e)}},e.boolNot,!0),c=function(n){return n.conj};n.HeytingAlgebra=t,n.tt=r,n.ff=o,n.implies=u,n.conj=c,n.disj=i,n.not=a,n.heytingAlgebraBoolean=l,n.heytingAlgebraFunction=function(n){return new t(function(e){return function(t){return function(r){return c(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return i(n)(e(r))(t(r))}}},function(e){return o(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return a(n)(e(t))}},function(e){return r(n)})}}(PS["Data.HeytingAlgebra"]=PS["Data.HeytingAlgebra"]||{}),function(n){"use strict";var e=PS["Data.Eq"],t=(PS["Data.HeytingAlgebra"],PS["Data.Symbol"],PS["Data.Unit"],PS["Data.Void"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n){this.eq=n}),r=new t(function(n){return function(n){return!0}}),a=new t(e.refEq),u=new t(e.refEq),o=new t(e.refEq);n.Eq=t,n.eq=function(n){return n.eq},n.eqInt=u,n.eqChar=o,n.eqString=a,n.eqVoid=r}(PS["Data.Eq"]=PS["Data.Eq"]||{}),function(n){"use strict";(PS["Data.Ord.Unsafe"]=PS["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){return r<a?n:r===a?e:t}}}}}}(),function(n){"use strict";n.concatString=function(n){return function(e){return n+e}},n.concatArray=function(n){return function(e){return 0===n.length?e:0===e.length?n:n.concat(e)}}}(PS["Data.Semigroup"]=PS["Data.Semigroup"]||{}),function(n){"use strict";var e=PS["Data.Semigroup"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Data.Void"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n){this.append=n}),r=new t(e.concatString),a=new t(e.concatArray),u=function(n){return n.append};n.Semigroup=t,n.append=u,n.semigroupString=r,n.semigroupFn=function(n){return new t(function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}})},n.semigroupArray=a}(PS["Data.Semigroup"]=PS["Data.Semigroup"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.Semigroup"],PS["Data.Show"];var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}(),r=function(){function n(){}return n.value=new n,n}();n.LT=e,n.GT=t,n.EQ=r}(PS["Data.Ordering"]=PS["Data.Ordering"]||{}),function(n){"use strict";var e=PS["Data.Ord.Unsafe"],t=PS["Data.Ordering"],r=e.unsafeCompareImpl(t.LT.value)(t.EQ.value)(t.GT.value);n.unsafeCompare=r}(PS["Data.Ord.Unsafe"]=PS["Data.Ord.Unsafe"]||{}),function(n){"use strict";(PS["Data.Ring"]=PS["Data.Ring"]||{}).intSub=function(n){return function(e){return n-e|0}}}(),function(n){"use strict";n.intAdd=function(n){return function(e){return n+e|0}},n.intMul=function(n){return function(e){return n*e|0}}}(PS["Data.Semiring"]=PS["Data.Semiring"]||{}),function(n){"use strict";var e=PS["Data.Semiring"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.Row"],PS["Type.Data.RowList"],function(n,e,t,r){this.add=n,this.mul=e,this.one=t,this.zero=r}),r=new t(e.intAdd,e.intMul,1,0);n.Semiring=t,n.add=function(n){return n.add},n.zero=function(n){return n.zero},n.mul=function(n){return n.mul},n.one=function(n){return n.one},n.semiringInt=r}(PS["Data.Semiring"]=PS["Data.Semiring"]||{}),function(n){"use strict";var e=PS["Data.Ring"],t=PS["Data.Semiring"],r=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n,e){this.Semiring0=n,this.sub=e}),a=new r(function(){return t.semiringInt},e.intSub);n.Ring=r,n.sub=function(n){return n.sub},n.ringInt=a}(PS["Data.Ring"]=PS["Data.Ring"]||{}),function(n){"use strict";PS["Data.Ord"];var e=PS["Data.Eq"],t=PS["Data.Ord.Unsafe"],r=PS["Data.Ordering"],a=(PS["Data.Ring"],PS["Data.Semiring"],PS["Data.Unit"],PS["Data.Void"],function(n,e){this.Eq0=n,this.compare=e}),u=new a(function(){return e.eqVoid},function(n){return function(n){return r.EQ.value}}),o=new a(function(){return e.eqString},t.unsafeCompare),i=new a(function(){return e.eqInt},t.unsafeCompare),l=new a(function(){return e.eqChar},t.unsafeCompare);n.Ord=a,n.compare=function(n){return n.compare},n.ordInt=i,n.ordString=o,n.ordChar=l,n.ordVoid=u}(PS["Data.Ord"]=PS["Data.Ord"]||{}),function(n){"use strict";PS["Control.Category"],PS["Data.Boolean"],PS["Data.Ord"],PS["Data.Ring"];n.flip=function(n){return function(e){return function(t){return n(t)(e)}}},n.const=function(n){return function(e){return n}},n.on=function(n){return function(e){return function(t){return function(r){return n(e(t))(e(r))}}}}}(PS["Data.Function"]=PS["Data.Function"]||{}),function(n){"use strict";(PS["Data.Functor"]=PS["Data.Functor"]||{}).arrayMap=function(n){return function(e){for(var t=e.length,r=new Array(t),a=0;a<t;a++)r[a]=n(e[a]);return r}}}(),function(n){"use strict";var e=PS["Data.Functor"],t=PS["Control.Semigroupoid"],r=PS["Data.Function"],a=PS["Data.Unit"],u=function(n){this.map=n},o=function(n){return n.map},i=new u(t.compose(t.semigroupoidFn)),l=new u(e.arrayMap);n.Functor=u,n.map=o,n.void=function(n){return o(n)(r.const(a.unit))},n.voidLeft=function(n){return function(e){return function(t){return o(n)(r.const(t))(e)}}},n.functorFn=i,n.functorArray=l}(PS["Data.Functor"]=PS["Data.Functor"]||{}),function(n){"use strict";var e=PS["Control.Apply"],t=PS["Control.Category"],r=PS["Data.Function"],a=PS["Data.Functor"],u=function(n,e){this.Functor0=n,this.apply=e},o=new u(function(){return a.functorArray},e.arrayApply),i=function(n){return n.apply};n.Apply=u,n.apply=i,n.applySecond=function(n){return function(e){return function(u){return i(n)(a.map(n.Functor0())(r.const(t.identity(t.categoryFn)))(e))(u)}}},n.lift2=function(n){return function(e){return function(t){return function(r){return i(n)(a.map(n.Functor0())(e)(t))(r)}}}},n.applyArray=o}(PS["Control.Apply"]=PS["Control.Apply"]||{}),function(n){"use strict";var e=PS["Control.Apply"],t=(PS["Data.Functor"],PS["Data.Unit"]),r=function(n){return n.pure};n.Applicative=function(n,e){this.Apply0=n,this.pure=e},n.pure=r,n.liftA1=function(n){return function(t){return function(a){return e.apply(n.Apply0())(r(n)(t))(a)}}},n.when=function(n){return function(e){return function(a){if(e)return a;if(!e)return r(n)(t.unit);throw new Error("Failed pattern match at Control.Applicative line 57, column 1 - line 57, column 63: "+[e.constructor.name,a.constructor.name])}}}}(PS["Control.Applicative"]=PS["Control.Applicative"]||{}),function(n){"use strict";var e=PS["Control.Bind"],t=(PS["Control.Applicative"],PS["Control.Apply"]),r=PS["Control.Category"],a=PS["Data.Function"],u=(PS["Data.Functor"],PS["Data.Unit"],function(n,e){this.Apply0=n,this.bind=e}),o=function(n){this.discard=n},i=new u(function(){return t.applyArray},e.arrayBind),l=function(n){return n.bind},c=function(n){return a.flip(l(n))},f=new o(function(n){return l(n)});n.Bind=u,n.bind=l,n.bindFlipped=c,n.Discard=o,n.discard=function(n){return n.discard},n.join=function(n){return function(e){return l(n)(e)(r.identity(r.categoryFn))}},n.composeKleisli=function(n){return function(e){return function(t){return function(r){return l(n)(e(r))(t)}}}},n.composeKleisliFlipped=function(n){return function(e){return function(t){return function(r){return c(n)(e)(t(r))}}}},n.bindArray=i,n.discardUnit=f}(PS["Control.Bind"]=PS["Control.Bind"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t<r;t++)for(var a=n[t],u=0,o=a.length;u<o;u++)e.push(a[u]);return e},n.filter=function(n){return function(e){return e.filter(n)}},n.slice=function(n){return function(e){return function(t){return t.slice(n,e)}}},n.drop=function(n){return function(e){return n<1?e:e.slice(n)}}}(PS["Data.Array"]=PS["Data.Array"]||{}),function(n){"use strict";PS["Data.Functor"],PS["Data.Semigroup"];n.Alt=function(n,e){this.Functor0=n,this.alt=e},n.alt=function(n){return n.alt}}(PS["Control.Alt"]=PS["Control.Alt"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Apply"],PS["Control.Bind"]);PS["Data.Functor"],PS["Data.Unit"];n.Monad=function(n,e){this.Applicative0=n,this.Bind1=e},n.ap=function(n){return function(r){return function(a){return t.bind(n.Bind1())(r)(function(r){return t.bind(n.Bind1())(a)(function(t){return e.pure(n.Applicative0())(r(t))})})}}}}(PS["Control.Monad"]=PS["Control.Monad"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=function(n){return n.bimap};n.bimap=t,n.Bifunctor=function(n){this.bimap=n},n.rmap=function(n){return t(n)(e.identity(e.categoryFn))}}(PS["Data.Bifunctor"]=PS["Data.Bifunctor"]||{}),function(n){"use strict";n.topInt=2147483647,n.bottomInt=-2147483648,n.topChar=String.fromCharCode(65535),n.bottomChar=String.fromCharCode(0)}(PS["Data.Bounded"]=PS["Data.Bounded"]||{}),function(n){"use strict";var e=PS["Data.Bounded"],t=PS["Data.Ord"],r=(PS["Data.Ordering"],PS["Data.Unit"],function(n,e,t){this.Ord0=n,this.bottom=e,this.top=t}),a=new r(function(){return t.ordInt},e.bottomInt,e.topInt),u=new r(function(){return t.ordChar},e.bottomChar,e.topChar);n.Bounded=r,n.bottom=function(n){return n.bottom},n.top=function(n){return n.top},n.boundedInt=a,n.boundedChar=u}(PS["Data.Bounded"]=PS["Data.Bounded"]||{}),function(n){"use strict";n.foldrArray=function(n){return function(e){return function(t){for(var r=e,a=t.length-1;a>=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,u=0;u<a;u++)r=n(r)(t[u]);return r}}}}(PS["Data.Foldable"]=PS["Data.Foldable"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Data.Functor"];n.Plus=function(n,e){this.Alt0=n,this.empty=e},n.empty=function(n){return n.empty}}(PS["Control.Plus"]=PS["Control.Plus"]||{}),function(n){"use strict";n.intDegree=function(n){return Math.min(Math.abs(n),2147483647)},n.intDiv=function(n){return function(e){return 0===e?0:e>0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(PS["Data.EuclideanRing"]=PS["Data.EuclideanRing"]||{}),function(n){"use strict";var e=PS["Data.Ring"],t=(PS["Data.Semiring"],PS["Data.Symbol"],PS["Data.Unit"],function(n){this.Ring0=n}),r=new t(function(){return e.ringInt});n.CommutativeRing=t,n.commutativeRingInt=r}(PS["Data.CommutativeRing"]=PS["Data.CommutativeRing"]||{}),function(n){"use strict";var e=PS["Data.EuclideanRing"],t=(PS["Data.BooleanAlgebra"],PS["Data.CommutativeRing"]),r=(PS["Data.Eq"],PS["Data.HeytingAlgebra"],PS["Data.Ring"],PS["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),a=new r(function(){return t.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=r,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=a}(PS["Data.EuclideanRing"]=PS["Data.EuclideanRing"]||{}),function(n){"use strict";PS["Data.Boolean"],PS["Data.Eq"],PS["Data.EuclideanRing"],PS["Data.Ord"],PS["Data.Ordering"];var e=PS["Data.Semigroup"],t=(PS["Data.Symbol"],PS["Data.Unit"],PS["Record.Unsafe"],PS["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),r=new t(function(){return e.semigroupString},""),a=new t(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=t,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid line 74, column 1 - line 74, column 49: "+[e.constructor.name,t.constructor.name])}}},n.monoidFn=function(n){return new t(function(){return e.semigroupFn(n.Semigroup0())},function(e){return u(n)})},n.monoidString=r,n.monoidArray=a}(PS["Data.Monoid"]=PS["Data.Monoid"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"];var e=PS["Control.Apply"],t=PS["Control.Bind"],r=PS["Control.Category"],a=(PS["Control.Extend"],PS["Control.Monad"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Data.Bounded"],PS["Data.Eq"],PS["Data.Function"]),u=PS["Data.Functor"],o=(PS["Data.Functor.Invariant"],PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.Unit"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),i=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),l=function(n){return function(e){return function(t){if(t instanceof o)return n;if(t instanceof i)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe line 218, column 1 - line 218, column 51: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},c=l(!0)(a.const(!1)),f=l(!1)(a.const(!0)),s=new u.Functor(function(n){return function(e){return e instanceof i?new i(n(e.value0)):o.value}}),d=new e.Apply(function(){return s},function(n){return function(e){if(n instanceof i)return u.map(s)(n.value0)(e);if(n instanceof o)return o.value;throw new Error("Failed pattern match at Data.Maybe line 67, column 1 - line 67, column 35: "+[n.constructor.name,e.constructor.name])}}),S=new t.Bind(function(){return d},function(n){return function(e){if(n instanceof i)return e(n.value0);if(n instanceof o)return o.value;throw new Error("Failed pattern match at Data.Maybe line 126, column 1 - line 126, column 33: "+[n.constructor.name,e.constructor.name])}});n.Nothing=o,n.Just=i,n.maybe=l,n.fromMaybe=function(n){return l(n)(r.identity(r.categoryFn))},n.isJust=f,n.isNothing=c,n.fromJust=function(n){return function(n){return function(){if(n instanceof i)return n.value0;throw new Error("Failed pattern match at Data.Maybe line 269, column 1 - line 269, column 46: "+[n.constructor.name])}()}},n.functorMaybe=s,n.applyMaybe=d,n.bindMaybe=S}(PS["Data.Maybe"]=PS["Data.Maybe"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad"],PS["Data.Bounded"],PS["Data.Eq"],PS["Data.Functor"];var e=PS["Data.HeytingAlgebra"],t=PS["Data.Monoid"],r=(PS["Data.Ord"],PS["Data.Semigroup"]),a=(PS["Data.Semiring"],PS["Data.Show"],PS.Prelude,function(n){return new r.Semigroup(function(t){return function(r){return e.disj(n)(t)(r)}})});n.Disj=function(n){return n},n.semigroupDisj=a,n.monoidDisj=function(n){return new t.Monoid(function(){return a(n)},e.ff(n))}}(PS["Data.Monoid.Disj"]=PS["Data.Monoid.Disj"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Function"];var e=PS["Data.Functor"],t=(PS["Data.Monoid.Additive"],PS["Data.Monoid.Conj"],PS["Data.Monoid.Disj"]),r=(PS["Data.Monoid.Dual"],PS["Data.Monoid.Endo"],PS["Data.Monoid.Multiplicative"],PS["Data.Semigroup.First"],PS["Data.Semigroup.Last"],PS.Prelude,function(n,e){this.unwrap=n,this.wrap=e}),a=function(n){return n.wrap},u=function(n){return n.unwrap},o=new r(function(n){return n},t.Disj);n.unwrap=u,n.wrap=a,n.Newtype=r,n.alaF=function(n){return function(t){return function(r){return function(o){return function(i){return function(i){return function(l){return e.map(t)(u(o))(i(e.map(n)(a(r))(l)))}}}}}}},n.newtypeDisj=o}(PS["Data.Newtype"]=PS["Data.Newtype"]||{}),function(n){"use strict";var e=PS["Data.Foldable"],t=(PS["Control.Alt"],PS["Control.Applicative"]),r=PS["Control.Apply"],a=(PS["Control.Bind"],PS["Control.Category"]),u=(PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Function"]),o=PS["Data.Functor"],i=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),l=(PS["Data.Maybe.First"],PS["Data.Maybe.Last"],PS["Data.Monoid"]),c=(PS["Data.Monoid.Additive"],PS["Data.Monoid.Conj"],PS["Data.Monoid.Disj"]),f=(PS["Data.Monoid.Dual"],PS["Data.Monoid.Endo"],PS["Data.Monoid.Multiplicative"],PS["Data.Newtype"]),s=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"]),d=(PS["Data.Semiring"],PS["Data.Unit"]),S=(PS.Prelude,function(n,e,t){this.foldMap=n,this.foldl=e,this.foldr=t}),P=function(n){return n.foldr},v=function(n){return function(e){return function(a){return P(e)(function(e){return r.applySecond(n.Apply0())(a(e))})(t.pure(n)(d.unit))}}},p=function(n){return n.foldl},m=new S(function(n){return function(e){return function(t){if(t instanceof i.Nothing)return l.mempty(n);if(t instanceof i.Just)return e(t.value0);throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[e.constructor.name,t.constructor.name])}}},function(n){return function(e){return function(t){if(t instanceof i.Nothing)return e;if(t instanceof i.Just)return n(e)(t.value0);throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},function(n){return function(e){return function(t){if(t instanceof i.Nothing)return e;if(t instanceof i.Just)return n(t.value0)(e);throw new Error("Failed pattern match at Data.Foldable line 129, column 1 - line 129, column 41: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}}),D=function(n){return function(e){return function(t){return P(n)(function(n){return function(r){return s.append(e.Semigroup0())(t(n))(r)}})(l.mempty(e))}}},b=new S(function(n){return D(b)(n)},e.foldlArray,e.foldrArray),g=function(n){return n.foldMap};n.Foldable=S,n.foldr=P,n.foldl=p,n.foldMap=g,n.foldMapDefaultR=D,n.traverse_=v,n.for_=function(n){return function(e){return u.flip(v(n)(e))}},n.sequence_=function(n){return function(e){return v(n)(e)(a.identity(a.categoryFn))}},n.intercalate=function(n){return function(e){return function(t){return function(r){return p(n)(function(n){return function(r){return n.init?{init:!1,acc:r}:{init:!1,acc:s.append(e.Semigroup0())(n.acc)(s.append(e.Semigroup0())(t)(r))}}})({init:!0,acc:l.mempty(e)})(r).acc}}}},n.any=function(n){return function(e){return f.alaF(o.functorFn)(o.functorFn)(f.newtypeDisj)(f.newtypeDisj)(c.Disj)(g(n)(c.monoidDisj(e)))}},n.find=function(n){return function(e){return p(n)(function(n){return function(t){return n instanceof i.Nothing&&e(t)?new i.Just(t):n}})(i.Nothing.value)}},n.foldableArray=b,n.foldableMaybe=m}(PS["Data.Foldable"]=PS["Data.Foldable"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Applicative"];var e=PS["Control.Apply"],t=(PS["Control.Bind"],PS["Control.Extend"],PS["Control.Monad"],PS["Control.Semigroupoid"],PS["Data.Bifoldable"],PS["Data.Bifunctor"]),r=(PS["Data.Bitraversable"],PS["Data.Bounded"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.Functor.Invariant"],PS["Data.Maybe"],PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.Traversable"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=new r.Functor(function(n){return function(e){if(e instanceof a)return new a(e.value0);if(e instanceof u)return new u(n(e.value0));throw new Error("Failed pattern match at Data.Either line 35, column 8 - line 35, column 52: "+[e.constructor.name])}}),i=new t.Bifunctor(function(n){return function(e){return function(t){if(t instanceof a)return new a(n(t.value0));if(t instanceof u)return new u(e(t.value0));throw new Error("Failed pattern match at Data.Either line 40, column 1 - line 40, column 45: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}}),l=new e.Apply(function(){return o},function(n){return function(e){if(n instanceof a)return new a(n.value0);if(n instanceof u)return r.map(o)(n.value0)(e);throw new Error("Failed pattern match at Data.Either line 76, column 1 - line 76, column 41: "+[n.constructor.name,e.constructor.name])}});n.Left=a,n.Right=u,n.either=function(n){return function(e){return function(t){if(t instanceof a)return n(t.value0);if(t instanceof u)return e(t.value0);throw new Error("Failed pattern match at Data.Either line 220, column 1 - line 220, column 64: "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},n.functorEither=o,n.bifunctorEither=i,n.applyEither=l}(PS["Data.Either"]=PS["Data.Either"]||{}),function(n){"use strict";PS["Control.Alt"];var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Lazy"],PS["Control.Monad"]),u=(PS["Data.BooleanAlgebra"],PS["Data.Bounded"],PS["Data.CommutativeRing"],PS["Data.Eq"],PS["Data.EuclideanRing"],PS["Data.Foldable"],PS["Data.Functor"]),o=(PS["Data.Functor.Invariant"],PS["Data.HeytingAlgebra"],PS["Data.Monoid"],PS["Data.Newtype"]),i=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS.Prelude,function(n){return n}),l=new o.Newtype(function(n){return n},i),c=new u.Functor(function(n){return function(e){return n(e)}}),f=new t.Apply(function(){return c},function(n){return function(e){return n(e)}}),s=new r.Bind(function(){return f},function(n){return function(e){return e(n)}}),d=new e.Applicative(function(){return f},i),S=new a.Monad(function(){return d},function(){return s});n.Identity=i,n.newtypeIdentity=l,n.functorIdentity=c,n.applyIdentity=f,n.applicativeIdentity=d,n.bindIdentity=s,n.monadIdentity=S}(PS["Data.Identity"]=PS["Data.Identity"]||{}),function(n){"use strict";n.pureE=function(n){return function(){return n}},n.bindE=function(n){return function(e){return function(){return e(n())()}}},n.foreachE=function(n){return function(e){return function(){for(var t=0,r=n.length;t<r;t++)e(n[t])()}}}}(PS.Effect=PS.Effect||{}),function(n){"use strict";var e=PS.Effect,t=PS["Control.Applicative"],r=PS["Control.Apply"],a=PS["Control.Bind"],u=PS["Control.Monad"],o=PS["Data.Functor"],i=(PS["Data.Monoid"],PS["Data.Semigroup"],PS.Prelude,new u.Monad(function(){return f},function(){return l})),l=new a.Bind(function(){return c},e.bindE),c=new r.Apply(function(){return s},u.ap(i)),f=new t.Applicative(function(){return c},e.pureE),s=new o.Functor(t.liftA1(f));n.functorEffect=s,n.applyEffect=c,n.applicativeEffect=f,n.bindEffect=l,n.monadEffect=i,n.foreachE=e.foreachE}(PS.Effect=PS.Effect||{}),function(n){"use strict";n.new=function(n){return function(){return{value:n}}},n.read=function(n){return function(){return n.value}},n["modify'"]=function(n){return function(e){return function(){var t=n(e.value);return e.value=t.state,t.value}}},n.write=function(n){return function(e){return function(){return e.value=n,{}}}}}(PS["Effect.Ref"]=PS["Effect.Ref"]||{}),function(n){"use strict";var e=PS["Effect.Ref"],t=(PS["Data.Function"],PS["Data.Functor"]),r=PS.Effect,a=(PS.Prelude,function(n){return e["modify'"](function(e){var t=n(e);return{state:t,value:t}})});n.modify=a,n.modify_=function(n){return function(e){return t.void(r.functorEffect)(a(n)(e))}},n.new=e.new,n.read=e.read,n["modify'"]=e["modify'"],n.write=e.write}(PS["Effect.Ref"]=PS["Effect.Ref"]||{}),function(n){"use strict";(PS["Partial.Unsafe"]=PS["Partial.Unsafe"]||{}).unsafePartial=function(n){return n()}}(),function(n){"use strict";(PS["Partial"]=PS["Partial"]||{}).crashWith=function(){return function(n){throw new Error(n)}}}(),function(n){"use strict";var e=PS.Partial;n.crashWith=e.crashWith}(PS.Partial=PS.Partial||{}),function(n){"use strict";var e=PS["Partial.Unsafe"],t=PS.Partial;n.unsafeCrashWith=function(n){return e.unsafePartial(function(e){return t.crashWith(e)(n)})}}(PS["Partial.Unsafe"]=PS["Partial.Unsafe"]||{}),function(n){"use strict";PS["Control.Applicative"];var e=PS["Control.Bind"],t=(PS["Control.Monad"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Either"],PS["Data.Functor"]),r=(PS["Data.Identity"],PS["Data.Maybe"],PS["Data.Unit"],PS.Effect),a=PS["Effect.Ref"],u=(PS["Partial.Unsafe"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(n,e){this.Monad0=n,this.tailRecM=e},l=new i(function(){return r.monadEffect},function(n){return function(i){var l=function(n){return function(){if(n instanceof o)return n.value0;throw new Error("Failed pattern match at Control.Monad.Rec.Class line 111, column 30 - line 111, column 44: "+[n.constructor.name])}()};return function(){var c=e.bindFlipped(r.bindEffect)(a.new)(n(i))();return function(){for(;!function(){var e=a.read(c)();if(e instanceof u){var t=n(e.value0)();a.write(t)(c)();return!1}if(e instanceof o)return!0;throw new Error("Failed pattern match at Control.Monad.Rec.Class line 102, column 22 - line 107, column 28: "+[e.constructor.name])}(););}(),t.map(r.functorEffect)(l)(a.read(c))()}}});n.Loop=u,n.Done=o,n.MonadRec=i,n.tailRecM=function(n){return n.tailRecM},n.monadRecEffect=l}(PS["Control.Monad.Rec.Class"]=PS["Control.Monad.Rec.Class"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Biapplicative"],PS["Control.Biapply"],PS["Control.Bind"],PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Lazy"],PS["Control.Monad"],PS["Control.Semigroupoid"],PS["Data.Bifoldable"],PS["Data.Bifunctor"],PS["Data.Bitraversable"],PS["Data.BooleanAlgebra"],PS["Data.Bounded"],PS["Data.CommutativeRing"],PS["Data.Distributive"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"];var e=PS["Data.Functor"],t=(PS["Data.Functor.Invariant"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Maybe.First"],PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Unit"],PS.Prelude,PS["Type.Equality"],function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),r=new e.Functor(function(n){return function(e){return new t(e.value0,n(e.value1))}});n.Tuple=t,n.fst=function(n){return n.value0},n.snd=function(n){return n.value1},n.functorTuple=r}(PS["Data.Tuple"]=PS["Data.Tuple"]||{}),function(n){"use strict";(PS["Data.Unfoldable"]=PS["Data.Unfoldable"]||{}).unfoldrArrayImpl=function(n){return function(e){return function(t){return function(r){return function(a){return function(u){for(var o=[],i=u;;){var l=a(i);if(n(l))return o;var c=e(l);o.push(t(c)),i=r(c)}}}}}}}}(),function(n){"use strict";(PS["Data.Unfoldable1"]=PS["Data.Unfoldable1"]||{}).unfoldr1ArrayImpl=function(n){return function(e){return function(t){return function(r){return function(a){return function(u){for(var o=[],i=u;;){var l=a(i);o.push(t(l));var c=r(l);if(n(c))return o;i=e(c)}}}}}}}}(),function(n){"use strict";var e=PS["Data.Unfoldable1"],t=(PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Maybe"]),r=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup.Traversable"],PS["Data.Semiring"],PS["Data.Tuple"]),a=(PS["Partial.Unsafe"],PS.Prelude,function(n){this.unfoldr1=n}),u=new a(e.unfoldr1ArrayImpl(t.isNothing)(t.fromJust())(r.fst)(r.snd));n.Unfoldable1=a,n.unfoldr1=function(n){return n.unfoldr1},n.unfoldable1Array=u}(PS["Data.Unfoldable1"]=PS["Data.Unfoldable1"]||{}),function(n){"use strict";var e=PS["Data.Unfoldable"],t=(PS["Data.Function"],PS["Data.Functor"],PS["Data.Maybe"]),r=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Traversable"],PS["Data.Tuple"]),a=PS["Data.Unfoldable1"],u=(PS["Data.Unit"],PS["Partial.Unsafe"],PS.Prelude,function(n,e){this.Unfoldable10=n,this.unfoldr=e}),o=new u(function(){return a.unfoldable1Array},e.unfoldrArrayImpl(t.isNothing)(t.fromJust())(r.fst)(r.snd));n.Unfoldable=u,n.unfoldr=function(n){return n.unfoldr},n.unfoldableArray=o}(PS["Data.Unfoldable"]=PS["Data.Unfoldable"]||{}),function(n){"use strict";(PS["Unsafe.Coerce"]=PS["Unsafe.Coerce"]||{}).unsafeCoerce=function(n){return n}}(),function(n){"use strict";var e=PS["Unsafe.Coerce"];n.unsafeCoerce=e.unsafeCoerce}(PS["Unsafe.Coerce"]=PS["Unsafe.Coerce"]||{}),function(n){"use strict";var e=PS["Data.Array"],t=(PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"]),r=(PS["Control.Category"],PS["Control.Lazy"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.ST"],PS["Control.Monad.ST.Internal"],PS["Control.Semigroupoid"],PS["Data.Array.NonEmpty.Internal"],PS["Data.Array.ST"],PS["Data.Array.ST.Iterator"],PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"]),a=(PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),u=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Partial.Unsafe"],PS.Prelude,PS["Unsafe.Coerce"],function(n){return[n]}),o=r.flip(t.bind(t.bindArray));n.singleton=u,n.concatMap=o,n.mapMaybe=function(n){return o(function(e){return a.maybe([])(u)(n(e))})},n.length=e.length,n.cons=e.cons,n.snoc=e.snoc,n.filter=e.filter,n.drop=e.drop}(PS["Data.Array"]=PS["Data.Array"]||{}),function(n){"use strict";n.replace=function(n){return function(e){return function(t){return t.replace(n,e)}}},n.replaceAll=function(n){return function(e){return function(t){return t.replace(new RegExp(n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),e)}}},n.split=function(n){return function(e){return e.split(n)}},n.joinWith=function(n){return function(e){return e.join(n)}}}(PS["Data.String.Common"]=PS["Data.String.Common"]||{}),function(n){"use strict";var e=PS["Data.String.Common"];PS["Data.Eq"],PS["Data.Ordering"],PS["Data.String.Pattern"],PS.Prelude;n.null=function(n){return""===n},n.replaceAll=e.replaceAll,n.split=e.split,n.joinWith=e.joinWith}(PS["Data.String.Common"]=PS["Data.String.Common"]||{}),function(n){"use strict";n.unsafeStringify=function(n){return JSON.stringify(n)},n.unsafeDecodeURIComponent=decodeURIComponent,n.unsafeEncodeURIComponent=encodeURIComponent}(PS["Global.Unsafe"]=PS["Global.Unsafe"]||{}),function(n){"use strict";var e=PS["Global.Unsafe"];n.unsafeStringify=e.unsafeStringify,n.unsafeDecodeURIComponent=e.unsafeDecodeURIComponent,n.unsafeEncodeURIComponent=e.unsafeEncodeURIComponent}(PS["Global.Unsafe"]=PS["Global.Unsafe"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Eq"];var e,t=PS["Data.Functor"],r=PS["Data.Maybe"],a=(PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.String"],PS["Data.String.Common"]),u=(PS["Data.Tuple"],PS["Global.Unsafe"]),o=(PS.Prelude,function(n){return n}),i=(e=function(n){if(n.value1 instanceof r.Nothing)return u.unsafeEncodeURIComponent(n.value0);if(n.value1 instanceof r.Just)return u.unsafeEncodeURIComponent(n.value0)+"="+u.unsafeEncodeURIComponent(n.value1.value0);throw new Error("Failed pattern match at Data.FormURLEncoded line 35, column 18 - line 37, column 89: "+[n.constructor.name])},function(n){return a.joinWith("&")(t.map(t.functorArray)(e)(o(n)))});n.toArray=o,n.encode=i}(PS["Data.FormURLEncoded"]=PS["Data.FormURLEncoded"]||{}),function(n){"use strict";var e=PS["Data.Either"],t=(PS["Data.Eq"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"]),r=(PS["Data.String"],PS["Data.String.Common"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),a=function(){function n(){}return n.value=new n,n}(),u=function(){function n(){}return n.value=new n,n}(),o=function(){function n(){}return n.value=new n,n}(),i=function(){function n(){}return n.value=new n,n}(),l=function(){function n(){}return n.value=new n,n}(),c=function(){function n(){}return n.value=new n,n}(),f=function(){function n(){}return n.value=new n,n}(),s=function(){function n(){}return n.value=new n,n}(),d=function(){function n(){}return n.value=new n,n}(),S=function(){function n(){}return n.value=new n,n}(),P=function(){function n(){}return n.value=new n,n}(),v=function(){function n(){}return n.value=new n,n}(),p=function(){function n(){}return n.value=new n,n}(),m=function(){function n(){}return n.value=new n,n}(),D=function(){function n(){}return n.value=new n,n}(),b=function(n){return n},g=new t.Show(function(n){if(n instanceof r)return"OPTIONS";if(n instanceof a)return"GET";if(n instanceof u)return"HEAD";if(n instanceof o)return"POST";if(n instanceof i)return"PUT";if(n instanceof l)return"DELETE";if(n instanceof c)return"TRACE";if(n instanceof f)return"CONNECT";if(n instanceof s)return"PROPFIND";if(n instanceof d)return"PROPPATCH";if(n instanceof S)return"MKCOL";if(n instanceof P)return"COPY";if(n instanceof v)return"MOVE";if(n instanceof p)return"LOCK";if(n instanceof m)return"UNLOCK";if(n instanceof D)return"PATCH";throw new Error("Failed pattern match at Data.HTTP.Method line 40, column 1 - line 40, column 35: "+[n.constructor.name])}),h=e.either(t.show(g))(b);n.OPTIONS=r,n.GET=a,n.HEAD=u,n.POST=o,n.PUT=i,n.DELETE=l,n.TRACE=c,n.CONNECT=f,n.PROPFIND=s,n.PROPPATCH=d,n.MKCOL=S,n.COPY=P,n.MOVE=v,n.LOCK=p,n.UNLOCK=m,n.PATCH=D,n.unCustomMethod=b,n.print=h,n.showMethod=g}(PS["Data.HTTP.Method"]=PS["Data.HTTP.Method"]||{}),function(n){"use strict";PS["Data.Eq"];var e=PS["Data.Newtype"],t=(PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Show"],PS.Prelude,function(n){return n}),r=new e.Newtype(function(n){return n},t);n.MediaType=t,n.newtypeMediaType=r}(PS["Data.MediaType"]=PS["Data.MediaType"]||{}),function(n){"use strict";PS["Data.MediaType"];n.applicationFormURLEncoded="application/x-www-form-urlencoded",n.applicationJSON="application/json"}(PS["Data.MediaType.Common"]=PS["Data.MediaType.Common"]||{}),function(n){"use strict";var e=function(){var n={},e="Pure",t="Throw",r="Catch",a="Sync",u="Async",o="Bind",i="Bracket",l="Fork",c="Sequential",f="Map",s="Apply",d="Alt",S="Cons",P="Resume",v="Release",p="Finalizer",m="Finalized",D="Forked";function b(n,e,t,r){this.tag=n,this._1=e,this._2=t,this._3=r}function g(n){var e=function(e,t,r){return new b(n,e,t,r)};return e.tag=n,e}function h(n){return new b(e,void 0)}function w(n){try{n()}catch(n){setTimeout(function(){throw n},0)}}function y(n,e,t){try{return e(t())}catch(e){return n(e)}}function E(n,e,t){try{return e(t)()}catch(e){return t(n(e))(),h}}var M=function(){var n=1024,e=0,t=0,r=new Array(n),a=!1;function u(){var u;for(a=!0;0!==e;)e--,u=r[t],r[t]=void 0,t=(t+1)%n,u();a=!1}return{isDraining:function(){return a},enqueue:function(o){var i;e===n&&(i=a,u(),a=i),r[(t+e)%n]=o,e++,a||u()}}}();var C=0,T=1,A=2,F=3,H=4,L=5,_=6;function I(n,f,s){var d=0,D=C,g=s,h=null,O=null,W=null,x=null,U=null,R=0,k=0,B=null,q=!0;function j(s){for(var k,J,V;;)switch(k=null,J=null,V=null,null,D){case A:D=T,g=W(g),null===x?W=null:(W=x._1,x=x._2);break;case F:n.isLeft(g)?(D=L,h=g,g=null):null===W?D=L:(D=A,g=n.fromRight(g));break;case T:switch(g.tag){case o:W&&(x=new b(S,W,x)),W=g._2,D=T,g=g._1;break;case e:null===W?(D=L,g=n.right(g._1)):(D=A,g=g._1);break;case a:D=F,g=y(n.left,n.right,g._1);break;case u:return D=H,void(g=E(n.left,g._1,function(n){return function(){d===s&&(d++,M.enqueue(function(){D=F,g=n,j(d)}))}}));case t:D=L,h=n.left(g._1),g=null;break;case r:U=new b(S,g,null===W?U:new b(S,new b(P,W,x),U,O),O),W=null,x=null,D=T,g=g._1;break;case i:R++,U=new b(S,g,null===W?U:new b(S,new b(P,W,x),U,O),O),W=null,x=null,D=T,g=g._1;break;case l:D=F,k=I(n,f,g._2),f&&f.register(k),g._1&&k.run(),g=n.right(k);break;case c:D=T,g=N(n,f,g._1)}break;case L:if(W=null,x=null,null===U)D=_,g=O||h||g;else switch(k=U._3,V=U._1,U=U._2,V.tag){case r:O&&O!==k?D=L:h&&(D=T,g=V._2(n.fromLeft(h)),h=null);break;case P:O&&O!==k||h?D=L:(W=V._1,x=V._2,D=A,g=n.fromRight(g));break;case i:R--,null===h&&(J=n.fromRight(g),U=new b(S,new b(v,V._2,J),U,k),(O===k||R>0)&&(D=T,g=V._3(J)));break;case v:R++,U=new b(S,new b(m,g),U,O),D=T,g=O&&O!==k?V._1.killed(n.fromLeft(O))(V._2):h?V._1.failed(n.fromLeft(h))(V._2):V._1.completed(n.fromRight(g))(V._2);break;case p:R++,U=new b(S,new b(m,g),U,O),D=T,g=V._1;break;case m:R--,D=L,g=V._1}break;case _:for(var Q in B)B.hasOwnProperty(Q)&&(q=q&&B[Q].rethrow,w(B[Q].handler(g)));return B=null,void(O&&h?setTimeout(function(){throw n.fromLeft(h)},0):n.isLeft(g)&&q&&setTimeout(function(){if(q)throw n.fromLeft(g)},0));case C:D=T;break;case H:return}}function J(n){return function(){if(D===_)return q=q&&n.rethrow,n.handler(g)(),function(){};var e=k++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(D===_)return t(n.right(void 0))(),function(){};var r=J({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(D){case C:O=n.left(e),D=_,g=O,j(d);break;case H:null===O&&(O=n.left(e)),0===R&&(D===H&&(U=new b(S,new b(p,g(e)),U,O)),D=L,g=null,h=null,j(++d));break;default:null===O&&(O=n.left(e)),0===R&&(D=L,g=null,h=null)}return r}},join:function(n){return function(){var e=J({rethrow:!1,handler:n})();return D===C&&j(d),e}},onComplete:J,isSuspended:function(){return D===C},run:function(){D===C&&(M.isDraining()?j(d):M.enqueue(function(){j(d)}))}}}function O(e,t,r,a){var o=0,i={},l=0,c={},P=new Error("[ParAff] Early exit"),v=null,p=n;function m(t,r,a){var u,o,l=r,c=null,P=null,v=0,p={};n:for(;;)switch(u=null,l.tag){case D:if(l._3===n&&(u=i[l._1],p[v++]=u.kill(t,function(n){return function(){0===--v&&a(n)()}})),null===c)break n;l=c._2,null===P?c=null:(c=P._1,P=P._2);break;case f:l=l._2;break;case s:case d:c&&(P=new b(S,c,P)),c=l,l=l._1}if(0===v)a(e.right(void 0))();else for(o=0,u=v;o<u;o++)p[o]=p[o]();return p}function g(t){return function(r){return function(){delete i[t._1],t._3=r,function t(r,u,o){var i,S,p,D,b,g;for(e.isLeft(r)?(i=r,S=null):(S=r,i=null);;){if(p=null,D=null,b=null,g=null,null!==v)return;if(null===u)return void a(i||S)();if(u._3!==n)return;switch(u.tag){case f:null===i?(u._3=e.right(u._1(e.fromRight(S))),S=u._3):u._3=i;break;case s:if(p=u._1._3,D=u._2._3,i){if(u._3=i,b=!0,g=l++,c[g]=m(P,i===p?u._2:u._1,function(){return function(){delete c[g],b?b=!1:null===o?t(S,null,null):t(S,o._1,o._2)}}),b)return void(b=!1)}else{if(p===n||D===n)return;S=e.right(e.fromRight(p)(e.fromRight(D))),u._3=S}break;case d:if(p=u._1._3,D=u._2._3,p===n&&e.isLeft(D)||D===n&&e.isLeft(p))return;if(p!==n&&e.isLeft(p)&&D!==n&&e.isLeft(D))i=S===p?D:p,S=null,u._3=i;else if(u._3=S,b=!0,g=l++,c[g]=m(P,S===p?u._2:u._1,function(){return function(){delete c[g],b?b=!1:null===o?t(S,null,null):t(S,o._1,o._2)}}),b)return void(b=!1)}null===o?u=null:(u=o._1,o=o._2)}}(r,t._2._1,t._2._2)}}}return function(){var a,u,l=T,c=r,P=null,v=null;n:for(;;)switch(a=null,u=null,l){case T:switch(c.tag){case f:P&&(v=new b(S,P,v)),P=new b(f,c._1,n,n),c=c._2;break;case s:P&&(v=new b(S,P,v)),P=new b(s,n,c._2,n),c=c._1;break;case d:P&&(v=new b(S,P,v)),P=new b(d,n,c._2,n),c=c._1;break;default:u=o++,l=L,a=c,c=new b(D,u,new b(S,P,v),n),(a=I(e,t,a)).onComplete({rethrow:!1,handler:g(c)})(),i[u]=a,t&&t.register(a)}break;case L:if(null===P)break n;P._1===n?(P._1=c,l=T,c=P._2,P._2=n):(P._2=c,c=P,null===v?P=null:(P=v._1,v=v._2))}for(p=c,u=0;u<o;u++)i[u].run()}(),function(n){return new b(u,function(t){return function(){return function(n,t){var r;for(var a in v=e.left(n),c)if(c.hasOwnProperty(a))for(a in r=c[a])r.hasOwnProperty(a)&&r[a]();c=null;var o=m(n,p,t);return function(n){return new b(u,function(n){return function(){for(var n in o)o.hasOwnProperty(n)&&o[n]();return h}})}}(n,t)}})}}function N(n,e,t){return new b(u,function(r){return function(){return O(n,e,t,r)}})}return b.EMPTY=n,b.Pure=g(e),b.Throw=g(t),b.Catch=g(r),b.Sync=g(a),b.Async=g(u),b.Bind=g(o),b.Bracket=g(i),b.Fork=g(l),b.Seq=g(c),b.ParMap=g(f),b.ParApply=g(s),b.ParAlt=g(d),b.Fiber=I,b.Supervisor=function(n){var e={},t=0,r=0;return{register:function(n){var a=t++;n.onComplete({rethrow:!0,handler:function(n){return function(){r--,delete e[a]}}}),e[a]=n,r++},isEmpty:function(){return 0===r},killAll:function(u,o){return function(){var i=0,l={};function c(t){l[t]=e[t].kill(u,function(e){return function(){delete l[t],i--,n.isLeft(e)&&n.fromLeft(e)&&setTimeout(function(){throw n.fromLeft(e)},0),0===i&&o()}})()}for(var f in e)e.hasOwnProperty(f)&&(i++,c(f));return e={},t=0,r=0,function(n){return new b(a,function(){for(var n in l)l.hasOwnProperty(n)&&l[n]()})}}}}},b.Scheduler=M,b.nonCanceler=h,b}();n._pure=e.Pure,n._throwError=e.Throw,n._catchError=function(n){return function(t){return e.Catch(n,t)}},n._map=function(n){return function(t){return t.tag===e.Pure.tag?e.Pure(n(t._1)):e.Bind(t,function(t){return e.Pure(n(t))})}},n._bind=function(n){return function(t){return e.Bind(n,t)}},n._fork=function(n){return function(t){return e.Fork(n,t)}},n._liftEffect=e.Sync,n._parAffMap=function(n){return function(t){return e.ParMap(n,t)}},n._parAffApply=function(n){return function(t){return e.ParApply(n,t)}},n.makeAff=e.Async,n._makeFiber=function(n,t){return function(){return e.Fiber(n,null,t)}},n._sequential=e.Seq}(PS["Effect.Aff"]=PS["Effect.Aff"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Bind"],PS["Control.Semigroupoid"],PS["Data.Either"]),r=(PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.Maybe"],PS["Data.Unit"],PS.Prelude,function(n){return n.catchError});n.catchError=a,n.throwError=function(n){return n.throwError},n.MonadThrow=function(n,e){this.Monad0=n,this.throwError=e},n.MonadError=function(n,e){this.MonadThrow0=n,this.catchError=e},n.try=function(n){return function(u){return a(n)(r.map(n.MonadThrow0().Monad0().Bind1().Apply0().Functor0())(t.Right.create)(u))(function(r){return e.pure(n.MonadThrow0().Monad0().Applicative0())(t.Left.create(r))})}}}(PS["Control.Monad.Error.Class"]=PS["Control.Monad.Error.Class"]||{}),function(n){"use strict";var e=PS["Data.Tuple"],t=PS["Data.Unit"],r=(PS.Prelude,function(n){return n.state});n.state=r,n.MonadState=function(n,e){this.Monad0=n,this.state=e},n.get=function(n){return r(n)(function(n){return new e.Tuple(n,n)})},n.gets=function(n){return function(t){return r(n)(function(n){return new e.Tuple(t(n),n)})}},n.put=function(n){return function(a){return r(n)(function(n){return new e.Tuple(t.unit,a)})}},n.modify_=function(n){return function(a){return r(n)(function(n){return new e.Tuple(t.unit,a(n))})}}}(PS["Control.Monad.State.Class"]=PS["Control.Monad.State.Class"]||{}),function(n){"use strict";PS.Prelude;n.lift=function(n){return n.lift},n.MonadTrans=function(n){this.lift=n}}(PS["Control.Monad.Trans.Class"]=PS["Control.Monad.Trans.Class"]||{}),function(n){"use strict";PS["Control.Category"],PS["Control.Monad"],PS.Effect;n.liftEffect=function(n){return n.liftEffect},n.MonadEffect=function(n,e){this.Monad0=n,this.liftEffect=e}}(PS["Effect.Class"]=PS["Effect.Class"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"];var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=(PS["Control.Monad.Cont.Class"],PS["Control.Monad.Error.Class"]),o=(PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Class"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Either"]),i=(PS["Data.Function"],PS["Data.Functor"]),l=(PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Semigroup"],PS["Data.Tuple"],PS["Effect.Class"],PS.Prelude,function(n){return n}),c=function(n){return function(e){return n(e)}},f=function(n){return new i.Functor(function(e){return c(i.map(n)(i.map(o.functorEither)(e)))})},s=function(n){return new a.Monad(function(){return P(n)},function(){return d(n)})},d=function(n){return new r.Bind(function(){return S(n)},function(t){return function(a){return r.bind(n.Bind1())(t)(o.either(function(t){return e.pure(n.Applicative0())(o.Left.create(t))})(function(n){return a(n)}))}})},S=function(n){return new t.Apply(function(){return f(n.Bind1().Apply0().Functor0())},a.ap(s(n)))},P=function(n){return new e.Applicative(function(){return S(n)},function(t){return l(e.pure(n.Applicative0())(o.Right.create(t)))})};n.ExceptT=l,n.runExceptT=function(n){return n},n.mapExceptT=c,n.functorExceptT=f,n.applyExceptT=S,n.applicativeExceptT=P,n.bindExceptT=d,n.monadExceptT=s,n.monadThrowExceptT=function(n){return new u.MonadThrow(function(){return s(n)},function(t){return l(e.pure(n.Applicative0())(o.Left.create(t)))})}}(PS["Control.Monad.Except.Trans"]=PS["Control.Monad.Except.Trans"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Monad"],PS["Control.Monad.Cont.Class"],PS["Control.Monad.Error.Class"],PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Class"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Tuple"],PS["Effect.Class"],PS.Prelude;n.MaybeT=function(n){return n}}(PS["Control.Monad.Maybe.Trans"]=PS["Control.Monad.Maybe.Trans"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad.Cont.Trans"],PS["Control.Monad.Except.Trans"],PS["Control.Monad.Maybe.Trans"],PS["Control.Monad.Reader.Trans"],PS["Control.Monad.Writer.Trans"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Either"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Functor.Compose"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Unit"],PS["Effect.Class"],PS["Effect.Ref"],PS.Prelude;n.parallel=function(n){return n.parallel},n.sequential=function(n){return n.sequential},n.Parallel=function(n,e,t,r){this.Applicative1=n,this.Monad0=e,this.parallel=t,this.sequential=r}}(PS["Control.Parallel.Class"]=PS["Control.Parallel.Class"]||{}),function(n){"use strict";PS["Control.Alternative"],PS["Control.Apply"];var e=PS["Control.Category"],t=PS["Control.Parallel.Class"],r=(PS["Control.Semigroupoid"],PS["Data.Foldable"]),a=(PS["Data.Traversable"],PS.Prelude,function(n){return function(e){return function(a){return function(u){return t.sequential(n)(r.traverse_(n.Applicative1())(e)(function(e){return t.parallel(n)(a(e))})(u))}}}});n.parTraverse_=a,n.parSequence_=function(n){return function(t){return a(n)(t)(e.identity(e.categoryFn))}}}(PS["Control.Parallel"]=PS["Control.Parallel"]||{}),function(n){"use strict";(PS["Data.Function.Uncurried"]=PS["Data.Function.Uncurried"]||{}).runFn4=function(n){return function(e){return function(t){return function(r){return function(a){return n(e,t,r,a)}}}}}}(),function(n){"use strict";var e=PS["Data.Function.Uncurried"];PS["Data.Unit"];n.runFn4=e.runFn4}(PS["Data.Function.Uncurried"]=PS["Data.Function.Uncurried"]||{}),function(n){"use strict";n.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(PS["Effect.Exception"]=PS["Effect.Exception"]||{}),function(n){"use strict";var e=PS["Effect.Exception"];PS["Control.Applicative"],PS["Control.Semigroupoid"],PS["Data.Either"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Show"],PS.Effect,PS.Prelude;n.throw=function(n){return e.throwException(e.error(n))},n.error=e.error,n.throwException=e.throwException}(PS["Effect.Exception"]=PS["Effect.Exception"]||{}),function(n){"use strict";(PS["Effect.Unsafe"]=PS["Effect.Unsafe"]||{}).unsafePerformEffect=function(n){return n()}}(),function(n){"use strict";var e=PS["Effect.Unsafe"];PS.Effect;n.unsafePerformEffect=e.unsafePerformEffect}(PS["Effect.Unsafe"]=PS["Effect.Unsafe"]||{}),function(n){"use strict";var e=PS["Effect.Aff"],t=(PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"]),r=PS["Control.Apply"],a=PS["Control.Bind"],u=(PS["Control.Lazy"],PS["Control.Monad"]),o=PS["Control.Monad.Error.Class"],i=PS["Control.Monad.Rec.Class"],l=(PS["Control.Parallel"],PS["Control.Parallel.Class"]),c=(PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Either"]),f=(PS["Data.Foldable"],PS["Data.Function"]),s=(PS["Data.Function.Uncurried"],PS["Data.Functor"]),d=(PS["Data.Monoid"],PS["Data.Newtype"],PS["Data.Semigroup"],PS["Data.Time.Duration"],PS["Data.Unit"]),S=PS.Effect,P=PS["Effect.Class"],v=(PS["Effect.Exception"],PS["Effect.Unsafe"]),p=PS["Partial.Unsafe"],m=(PS.Prelude,PS["Unsafe.Coerce"]),D=function(n){return n},b=e._fork(!1),g=new s.Functor(e._parAffMap),h=new s.Functor(e._map),w=e._fork(!0),y={isLeft:function(n){if(n instanceof c.Left)return!0;if(n instanceof c.Right)return!1;throw new Error("Failed pattern match at Effect.Aff line 385, column 12 - line 387, column 20: "+[n.constructor.name])},fromLeft:function(n){if(n instanceof c.Left)return n.value0;if(n instanceof c.Right)return p.unsafeCrashWith("unsafeFromLeft: Right");throw new Error("Failed pattern match at Effect.Aff line 390, column 20 - line 394, column 3: "+[n.constructor.name])},fromRight:function(n){if(n instanceof c.Right)return n.value0;if(n instanceof c.Left)return p.unsafeCrashWith("unsafeFromRight: Left");throw new Error("Failed pattern match at Effect.Aff line 395, column 21 - line 397, column 31: "+[n.constructor.name])},left:c.Left.create,right:c.Right.create},E=function(n){return e._makeFiber(y,n)},M=function(n){return function(){var e=E(n)();return e.run(),e}},C=new r.Apply(function(){return g},e._parAffApply),T=new u.Monad(function(){return H},function(){return A}),A=new a.Bind(function(){return F},e._bind),F=new r.Apply(function(){return h},u.ap(T)),H=new t.Applicative(function(){return F},e._pure),L=new P.MonadEffect(function(){return T},e._liftEffect),_=function(n){return D(f.const(P.liftEffect(L)(n)))},I=function(n){return e.makeAff(function(e){return s.map(S.functorEffect)(_)(n.join(e))})},O=new s.Functor(function(n){return function(e){return v.unsafePerformEffect(E(s.map(h)(n)(I(e))))}}),N=new o.MonadThrow(function(){return T},e._throwError),W=new o.MonadError(function(){return N},e._catchError),x=function(n){return function(e){return M(a.bindFlipped(A)(function(e){return P.liftEffect(L)(n(e))})(o.try(W)(e)))}},U=new l.Parallel(function(){return R},function(){return T},m.unsafeCoerce,e._sequential),R=new t.Applicative(function(){return C},function(n){return l.parallel(U)(t.pure(H)(n))}),k=new i.MonadRec(function(){return T},function(n){var e=function(r){return a.bind(A)(n(r))(function(n){if(n instanceof i.Done)return t.pure(H)(n.value0);if(n instanceof i.Loop)return e(n.value0);throw new Error("Failed pattern match at Effect.Aff line 99, column 7 - line 101, column 22: "+[n.constructor.name])})};return e}),B=f.const(t.pure(H)(d.unit));n.Canceler=D,n.launchAff=M,n.runAff=x,n.runAff_=function(n){return function(e){return s.void(S.functorEffect)(x(n)(e))}},n.forkAff=w,n.suspendAff=b,n.killFiber=function(n){return function(r){return a.bind(A)(P.liftEffect(L)(r.isSuspended))(function(a){return a?P.liftEffect(L)(s.void(S.functorEffect)(r.kill(n,f.const(t.pure(S.applicativeEffect)(d.unit))))):e.makeAff(function(e){return s.map(S.functorEffect)(_)(r.kill(n,e))})})}},n.joinFiber=I,n.nonCanceler=B,n.effectCanceler=_,n.functorAff=h,n.applyAff=F,n.applicativeAff=H,n.bindAff=A,n.monadAff=T,n.monadRecAff=k,n.monadThrowAff=N,n.monadErrorAff=W,n.monadEffectAff=L,n.functorParAff=g,n.applyParAff=C,n.applicativeParAff=R,n.parallelAff=U,n.functorFiber=O,n.makeAff=e.makeAff}(PS["Effect.Aff"]=PS["Effect.Aff"]||{}),function(n){"use strict";n._app=function(){return app},n._closest=function(n,e,t,r){var a=r.closest(t);return a?n(a):e},n._innerHtml=function(n){return n.innerHTML},n._setInnerHtml=function(n,e){return e.innerHTML=n,e},n._createFormData=function(n){return new FormData(n)},n._createFormString=function(n){return new URLSearchParams(new FormData(n)).toString()},n._createFormArray=function(n){return Array.from(new FormData(n))},n._getDataAttribute=function(n,e){return e.dataset[n]},n._setDataAttribute=function(n,e,t){return t.dataset[n]=e},n._moment8601=function(n,e){var t=moment(e,moment.ISO_8601),r=t.fromNow(),a=t.format("MMMM D YYYY, h:mm a")+" ("+t.format()+") ";return n(r)(a)},n._mmoment8601=function(n,e,t,r){try{var a=moment(r,moment.ISO_8601),u=a.fromNow(),o=a.format("MMMM D YYYY, h:mm a")+" ("+a.format()+") ";return n(t(u)(o))}catch(n){return e}},n._closeWindow=function(n){n.close()}}(PS.Globals=PS.Globals||{}),function(n){"use strict";n.null=null,n.nullable=function(n,e,t){return null==n?e:t(n)},n.notNull=function(n){return n}}(PS["Data.Nullable"]=PS["Data.Nullable"]||{}),function(n){"use strict";var e=PS["Data.Nullable"],t=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Function"],PS["Data.Function.Uncurried"],PS["Data.Maybe"]),r=(PS["Data.Ord"],PS["Data.Show"],PS.Prelude,t.maybe(e.null)(e.notNull));n.toMaybe=function(n){return e.nullable(n,t.Nothing.value,t.Just.create)},n.toNullable=r}(PS["Data.Nullable"]=PS["Data.Nullable"]||{}),function(n){"use strict";PS["Control.Monad.Error.Class"];var e=PS["Control.Monad.Except.Trans"],t=(PS["Control.Semigroupoid"],PS["Data.Either"],PS["Data.Identity"]),r=PS["Data.Newtype"];PS.Prelude;n.runExcept=function(n){return r.unwrap(t.newtypeIdentity)(e.runExceptT(n))}}(PS["Control.Monad.Except"]=PS["Control.Monad.Except"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Category"];var e=PS["Control.Plus"],t=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"]),r=(PS["Data.FoldableWithIndex"],PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"]),u=(PS["Data.Semigroup.Foldable"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}());n.NonEmpty=u,n.singleton=function(n){return function(t){return new u(t,e.empty(n))}},n.functorNonEmpty=function(n){return new r.Functor(function(e){return function(t){return new u(e(t.value0),r.map(n)(e)(t.value1))}})},n.foldableNonEmpty=function(n){return new t.Foldable(function(e){return function(r){return function(u){return a.append(e.Semigroup0())(r(u.value0))(t.foldMap(n)(e)(r)(u.value1))}}},function(e){return function(r){return function(a){return t.foldl(n)(e)(e(r)(a.value0))(a.value1)}}},function(e){return function(r){return function(a){return e(a.value0)(t.foldr(n)(e)(r)(a.value1))}}})}}(PS["Data.NonEmpty"]=PS["Data.NonEmpty"]||{}),function(n){"use strict";var e=PS["Control.Alt"],t=(PS["Control.Alternative"],PS["Control.Applicative"]),r=PS["Control.Apply"],a=(PS["Control.Bind"],PS["Control.Category"],PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Monad"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"]),u=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"]),o=(PS["Data.FoldableWithIndex"],PS["Data.Function"]),i=PS["Data.Functor"],l=(PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Monoid"]),c=(PS["Data.Newtype"],PS["Data.NonEmpty"]),f=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"]),s=(PS["Data.Semigroup.Foldable"],PS["Data.Semigroup.Traversable"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=new u.Foldable(function(n){return function(e){return u.foldl(S)(function(t){return function(r){return f.append(n.Semigroup0())(t)(e(r))}})(l.mempty(n))}},function(n){return function(e){return function(t){var r,a=e,u=!1;function o(e,r){if(r instanceof s)return u=!0,e;if(r instanceof d)return a=n(e)(r.value0),void(t=r.value1);throw new Error("Failed pattern match at Data.List.Types line 81, column 12 - line 83, column 30: "+[r.constructor.name])}for(;!u;)r=o(a,t);return r}}},function(n){return function(e){var t=u.foldl(S)(o.flip(d.create))(s.value);return function(r){return u.foldl(S)(o.flip(n))(e)(t(r))}}}),P=c.foldableNonEmpty(S),v=new i.Functor(function(n){return u.foldr(S)(function(e){return function(t){return new d(n(e),t)}})(s.value)}),p=c.functorNonEmpty(v),m=new f.Semigroup(function(n){return function(e){return u.foldr(S)(d.create)(e)(n)}}),D=new r.Apply(function(){return v},function(n){return function(e){if(n instanceof s)return s.value;if(n instanceof d)return f.append(m)(i.map(v)(n.value0)(e))(r.apply(D)(n.value1)(e));throw new Error("Failed pattern match at Data.List.Types line 127, column 1 - line 127, column 33: "+[n.constructor.name,e.constructor.name])}}),b=new t.Applicative(function(){return D},function(n){return new d(n,s.value)}),g=new e.Alt(function(){return v},f.append(m)),h=new a.Plus(function(){return g},s.value);n.Nil=s,n.Cons=d,n.NonEmptyList=function(n){return n},n.semigroupList=m,n.functorList=v,n.foldableList=S,n.applyList=D,n.applicativeList=b,n.altList=g,n.plusList=h,n.functorNonEmptyList=p,n.foldableNonEmptyList=P}(PS["Data.List.Types"]=PS["Data.List.Types"]||{}),function(n){"use strict";n.unsafeToForeign=function(n){return n},n.unsafeFromForeign=function(n){return n},n.typeOf=function(n){return typeof n},n.tagOf=function(n){return Object.prototype.toString.call(n).slice(8,-1)}}(PS.Foreign=PS.Foreign||{}),function(n){"use strict";(PS["Data.Int"]=PS["Data.Int"]||{}).fromNumberImpl=function(n){return function(e){return function(t){return(0|t)===t?n(t):e}}}}(),function(n){"use strict";var e=PS["Data.Int"],t=(PS["Control.Category"],PS["Control.Semigroupoid"],PS["Data.Boolean"],PS["Data.Bounded"],PS["Data.CommutativeRing"],PS["Data.DivisionRing"],PS["Data.Eq"],PS["Data.EuclideanRing"],PS["Data.HeytingAlgebra"],PS["Data.Int.Bits"],PS["Data.Maybe"]),r=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semiring"],PS["Data.Show"],PS.Global,PS.Math,PS.Prelude,e.fromNumberImpl(t.Just.create)(t.Nothing.value));n.fromNumber=r}(PS["Data.Int"]=PS["Data.Int"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Lazy"],PS["Control.Monad.Rec.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Boolean"],PS["Data.Eq"];var e,t=PS["Data.Foldable"],r=(PS["Data.Function"],PS["Data.Functor"],PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.List.Types"]),a=(PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.NonEmpty"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unit"],PS.Prelude,e=r.Nil.value,function(n){var t,a=e,u=!1;function o(e,t){if(t instanceof r.Nil)return u=!0,e;if(t instanceof r.Cons)return a=new r.Cons(t.value0,e),void(n=t.value1);throw new Error("Failed pattern match at Data.List line 368, column 3 - line 368, column 19: "+[e.constructor.name,t.constructor.name])}for(;!u;)t=o(a,n);return t});n.fromFoldable=function(n){return t.foldr(n)(r.Cons.create)(r.Nil.value)},n.null=function(n){return n instanceof r.Nil},n.reverse=a}(PS["Data.List"]=PS["Data.List"]||{}),function(n){"use strict";PS["Control.Bind"],PS["Control.Category"],PS["Control.Semigroupoid"],PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.List"];var e=PS["Data.List.Types"],t=(PS["Data.Maybe"],PS["Data.NonEmpty"]);PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semigroup.Foldable"],PS["Data.Semigroup.Traversable"],PS["Data.Semiring"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Partial.Unsafe"],PS.Prelude;n.singleton=function(n){return e.NonEmptyList(t.singleton(e.plusList)(n))},n.cons=function(n){return function(r){return new t.NonEmpty(n,new e.Cons(r.value0,r.value1))}}}(PS["Data.List.NonEmpty"]=PS["Data.List.NonEmpty"]||{}),function(n){"use strict";n.singleton=function(n){return n},n.length=function(n){return n.length},n.drop=function(n){return function(e){return e.substring(n)}}}(PS["Data.String.CodeUnits"]=PS["Data.String.CodeUnits"]||{}),function(n){"use strict";(PS["Data.String.Unsafe"]=PS["Data.String.Unsafe"]||{}).charAt=function(n){return function(e){if(n>=0&&n<e.length)return e.charAt(n);throw new Error("Data.String.Unsafe.charAt: Invalid index.")}}}(),function(n){"use strict";var e=PS["Data.String.Unsafe"];n.charAt=e.charAt}(PS["Data.String.Unsafe"]=PS["Data.String.Unsafe"]||{}),function(n){"use strict";var e=PS["Data.String.CodeUnits"];PS["Control.Semigroupoid"],PS["Data.Boolean"],PS["Data.Eq"],PS["Data.Function"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semiring"],PS["Data.String.Pattern"],PS["Data.String.Unsafe"],PS.Prelude;n.singleton=e.singleton,n.length=e.length,n.drop=e.drop}(PS["Data.String.CodeUnits"]=PS["Data.String.CodeUnits"]||{}),function(n){"use strict";var e=PS.Foreign,t=PS["Control.Applicative"],r=PS["Control.Monad.Error.Class"],a=(PS["Control.Monad.Except"],PS["Control.Monad.Except.Trans"]),u=(PS["Control.Semigroupoid"],PS["Data.Boolean"]),o=(PS["Data.Either"],PS["Data.Eq"],PS["Data.Function"],PS["Data.HeytingAlgebra"],PS["Data.Identity"]),i=(PS["Data.Int"],PS["Data.List.NonEmpty"]),l=(PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Show"]),c=(PS["Data.String.CodeUnits"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),f=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),s=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){if(n instanceof c)return n.value0;if(n instanceof s)return"Error at array index "+l.show(l.showInt)(n.value0)+": "+S(n.value1);if(n instanceof d)return"Error at property "+l.show(l.showString)(n.value0)+": "+S(n.value1);if(n instanceof f)return"Type mismatch: expected "+n.value0+", found "+n.value1;throw new Error("Failed pattern match at Foreign line 72, column 1 - line 72, column 45: "+[n.constructor.name])},P=function(n){return r.throwError(a.monadThrowExceptT(o.monadIdentity))(i.singleton(n))},v=function(n){return function(r){if(e.tagOf(r)===n)return t.pure(a.applicativeExceptT(o.monadIdentity))(e.unsafeFromForeign(r));if(u.otherwise)return P(new f(n,e.tagOf(r)));throw new Error("Failed pattern match at Foreign line 106, column 1 - line 106, column 55: "+[n.constructor.name,r.constructor.name])}},p=v("Boolean"),m=v("String");n.ForeignError=c,n.TypeMismatch=f,n.ErrorAtIndex=s,n.ErrorAtProperty=d,n.renderForeignError=S,n.unsafeReadTagged=v,n.readString=m,n.readBoolean=p,n.fail=P,n.unsafeToForeign=e.unsafeToForeign,n.typeOf=e.typeOf}(PS.Foreign=PS.Foreign||{}),function(n){"use strict";(PS["Foreign.Index"]=PS["Foreign.Index"]||{}).unsafeReadPropImpl=function(n,e,t,r){return null==r?n:e(r[t])}}(),function(n){"use strict";var e=PS["Foreign.Index"],t=PS["Control.Applicative"],r=(PS["Control.Bind"],PS["Control.Monad.Except.Trans"]),a=(PS["Data.Eq"],PS["Data.Function"],PS["Data.Function.Uncurried"],PS["Data.HeytingAlgebra"],PS["Data.Identity"]),u=(PS["Data.List.NonEmpty"],PS.Foreign),o=(PS.Prelude,function(n){return function(o){return e.unsafeReadPropImpl(u.fail(new u.TypeMismatch("object",u.typeOf(o))),t.pure(r.applicativeExceptT(a.monadIdentity)),n,o)}});n.readProp=o}(PS["Foreign.Index"]=PS["Foreign.Index"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(PS["Foreign.Object"]=PS["Foreign.Object"]||{}),function(n){"use strict";(PS["Foreign.Object.ST"]=PS["Foreign.Object.ST"]||{}).new=function(){return{}}}(),function(n){"use strict";var e=PS["Foreign.Object.ST"];PS["Control.Monad.ST"],PS["Data.Maybe"];n.new=e.new}(PS["Foreign.Object.ST"]=PS["Foreign.Object.ST"]||{}),function(n){"use strict";var e=PS["Foreign.Object"],t=(PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Monad.ST"],PS["Control.Monad.ST.Internal"],PS["Control.Semigroupoid"],PS["Data.Array"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.FoldableWithIndex"],PS["Data.Function"],PS["Data.Function.Uncurried"]),r=(PS["Data.Functor"],PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),a=(PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Foreign.Object.ST"],PS.Prelude,t.runFn4(e._lookup)(r.Nothing.value)(r.Just.create));n.lookup=a,n.empty=e.empty}(PS["Foreign.Object"]=PS["Foreign.Object"]||{}),function(n){"use strict";PS["Type.Data.Boolean"],PS["Type.Data.Symbol"],PS["Type.Equality"];var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(PS["Type.Row"]=PS["Type.Row"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.Function.Uncurried"],PS["Data.HeytingAlgebra"];var e=PS["Data.Symbol"],t=(PS.Prelude,PS["Record.Unsafe"]);PS["Record.Unsafe.Union"],PS["Type.Row"],PS["Unsafe.Coerce"];n.get=function(n){return function(r){return function(r){return function(a){return t.unsafeGet(e.reflectSymbol(n)(r))(a)}}}}}(PS.Record=PS.Record||{}),function(n){"use strict";n.copyRecord=function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e},n.unsafeInsert=function(n){return function(e){return function(t){return t[n]=e,t}}}}(PS["Record.Builder"]=PS["Record.Builder"]||{}),function(n){"use strict";var e=PS["Record.Builder"],t=PS["Control.Category"],r=PS["Control.Semigroupoid"],a=(PS["Data.Function.Uncurried"],PS["Data.Symbol"]),u=(PS.Prelude,PS["Record.Unsafe.Union"],PS["Type.Row"],PS["Unsafe.Coerce"],r.semigroupoidFn),o=t.categoryFn;n.build=function(n){return function(t){return n(e.copyRecord(t))}},n.insert=function(n){return function(n){return function(n){return function(t){return function(r){return function(u){return e.unsafeInsert(a.reflectSymbol(n)(t))(r)(u)}}}}}},n.semigroupoidBuilder=u,n.categoryBuilder=o}(PS["Record.Builder"]=PS["Record.Builder"]||{}),function(n){"use strict";PS["Simple.JSON"],PS["Control.Alt"],PS["Control.Applicative"],PS["Control.Bind"];var e=PS["Control.Category"],t=(PS["Control.Monad.Except"],PS["Control.Monad.Except.Trans"],PS["Control.Semigroupoid"]),r=(PS["Data.Bifunctor"],PS["Data.Boolean"],PS["Data.Either"],PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Identity"],PS["Data.List.Types"],PS["Data.Maybe"],PS["Data.Nullable"],PS["Data.Semigroup"],PS["Data.Symbol"]),a=(PS["Data.Traversable"],PS["Data.Variant"],PS["Effect.Exception"],PS["Effect.Uncurried"],PS["Effect.Unsafe"],PS.Foreign),u=(PS["Foreign.Index"],PS["Foreign.Object"],PS["Global.Unsafe"]),o=(PS["Partial.Unsafe"],PS.Prelude,PS.Record),i=PS["Record.Builder"],l=(PS["Type.Prelude"],PS["Type.Row"]),c=function(n){this.writeImpl=n},f=function(n){this.writeImplFields=n},s=function(n){return n.writeImplFields},d=function(n){return n.writeImpl},S=new c(a.unsafeToForeign),P=new c(a.unsafeToForeign),v=new c(a.unsafeToForeign),p=new f(function(n){return function(n){return e.identity(i.categoryBuilder)}});n.writeJSON=function(n){return function(e){return u.unsafeStringify(d(n)(e))}},n.WriteForeign=c,n.writeImpl=d,n.WriteForeignFields=f,n.writeImplFields=s,n.writeForeignString=S,n.writeForeignInt=P,n.writeForeignBoolean=v,n.recordWriteForeign=function(n){return function(n){return new c(function(e){var t=s(n)(l.RLProxy.value)(e);return a.unsafeToForeign(i.build(t)({}))})}},n.consWriteForeignFields=function(n){return function(e){return function(a){return function(u){return function(c){return function(S){return new f(function(f){return function(f){var P=s(a)(l.RLProxy.value)(f),v=d(e)(o.get(n)(u)(r.SProxy.value)(f));return t.compose(i.semigroupoidBuilder)(i.insert(S)(c)(n)(r.SProxy.value)(v))(P)}})}}}}}},n.nilWriteForeignFields=p}(PS["Simple.JSON"]=PS["Simple.JSON"]||{}),function(n){"use strict";var e=PS["Data.Symbol"],t=PS["Simple.JSON"],r=t.recordWriteForeign()(t.consWriteForeignFields(new e.IsSymbol(function(){return"created"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"id"}))(t.writeForeignInt)(t.consWriteForeignFields(new e.IsSymbol(function(){return"length"}))(t.writeForeignInt)(t.consWriteForeignFields(new e.IsSymbol(function(){return"text"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"title"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"updated"}))(t.writeForeignString)(t.nilWriteForeignFields)()()())()()())()()())()()())()()())()()()),a=t.recordWriteForeign()(t.consWriteForeignFields(new e.IsSymbol(function(){return"bid"}))(t.writeForeignInt)(t.consWriteForeignFields(new e.IsSymbol(function(){return"description"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"private"}))(t.writeForeignBoolean)(t.consWriteForeignFields(new e.IsSymbol(function(){return"selected"}))(t.writeForeignBoolean)(t.consWriteForeignFields(new e.IsSymbol(function(){return"tags"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"time"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"title"}))(t.writeForeignString)(t.consWriteForeignFields(new e.IsSymbol(function(){return"toread"}))(t.writeForeignBoolean)(t.consWriteForeignFields(new e.IsSymbol(function(){return"url"}))(t.writeForeignString)(t.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());n.bookmark_wfI=a,n.note_wfI=r}(PS.Model=PS.Model||{}),function(n){"use strict";(PS["Web.HTML"]=PS["Web.HTML"]||{}).window=function(){return window}}(),function(n){"use strict";(PS["Web.HTML.HTMLDocument"]=PS["Web.HTML.HTMLDocument"]||{})._body=function(n){return function(){return n.body}}}(),function(n){"use strict";(PS["Web.DOM.Element"]=PS["Web.DOM.Element"]||{}).removeAttribute=function(n){return function(e){return function(){return e.removeAttribute(n),{}}}}}(),function(n){"use strict";n._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}},n.querySelectorAll=function(n){return function(e){return function(){return e.querySelectorAll(n)}}}}(PS["Web.DOM.ParentNode"]=PS["Web.DOM.ParentNode"]||{}),function(n){"use strict";(PS["Web.DOM.NodeList"]=PS["Web.DOM.NodeList"]||{}).toArray=function(n){return function(){return[].slice.call(n)}}}(),function(n){"use strict";var e=PS["Web.DOM.NodeList"];PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Nullable"],PS.Effect,PS.Prelude,PS["Web.DOM.Internal.Types"];n.toArray=e.toArray}(PS["Web.DOM.NodeList"]=PS["Web.DOM.NodeList"]||{}),function(n){"use strict";var e=PS["Web.DOM.ParentNode"],t=(PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Nullable"]),a=(PS["Data.Ord"],PS.Effect);PS.Prelude,PS["Web.DOM.HTMLCollection"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NodeList"];n.querySelector=function(n){return function(u){return t.map(a.functorEffect)(r.toMaybe)(e._querySelector(n)(u))}},n.querySelectorAll=e.querySelectorAll}(PS["Web.DOM.ParentNode"]=PS["Web.DOM.ParentNode"]||{}),function(n){"use strict";(PS["Web.Event.EventTarget"]=PS["Web.Event.EventTarget"]||{}).eventListener=function(n){return function(){return function(e){return n(e)()}}}}(),function(n){"use strict";n._currentTarget=function(n){return n.currentTarget},n.preventDefault=function(n){return function(){return n.preventDefault()}}}(PS["Web.Event.Event"]=PS["Web.Event.Event"]||{}),function(n){"use strict";n.toCharCode=function(n){return n.charCodeAt(0)},n.fromCharCode=function(n){return String.fromCharCode(n)}}(PS["Data.Enum"]=PS["Data.Enum"]||{}),function(n){"use strict";var e=PS["Data.Enum"],t=(PS["Control.Apply"],PS["Control.Bind"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Semigroupoid"],PS["Data.Boolean"],PS["Data.Bounded"]),r=(PS["Data.Either"],PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),a=(PS["Data.Newtype"],PS["Data.Ord"]),u=(PS["Data.Ordering"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Tuple"],PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS["Data.Unit"],PS["Partial.Unsafe"],PS.Prelude,function(n,e,t){this.Ord0=n,this.pred=e,this.succ=t}),o=function(n,e,t,r,a){this.Bounded0=n,this.Enum1=e,this.cardinality=t,this.fromEnum=r,this.toEnum=a},i=function(n){return n.toEnum},l=function(n){return n.fromEnum},c=function(n){return function(e){return function(t){return n(e(t)+1|0)}}},f=function(n){return function(e){return function(t){return n(e(t)-1|0)}}},s=function(n){return n>=t.bottom(t.boundedInt)&&n<=t.top(t.boundedInt)?new r.Just(e.fromCharCode(n)):r.Nothing.value},d=new u(function(){return a.ordChar},f(s)(e.toCharCode),c(s)(e.toCharCode)),S=new o(function(){return t.boundedChar},function(){return d},e.toCharCode(t.top(t.boundedChar))-e.toCharCode(t.bottom(t.boundedChar))|0,e.toCharCode,s);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=o,n.cardinality=function(n){return n.cardinality},n.toEnum=i,n.fromEnum=l,n.toEnumWithDefaults=function(n){return function(e){return function(a){return function(u){var o=i(n)(u);if(o instanceof r.Just)return o.value0;if(o instanceof r.Nothing)return u<l(n)(t.bottom(n.Bounded0()))?e:a;throw new Error("Failed pattern match at Data.Enum line 158, column 33 - line 160, column 62: "+[o.constructor.name])}}}},n.defaultSucc=c,n.defaultPred=f,n.enumChar=d,n.boundedEnumChar=S}(PS["Data.Enum"]=PS["Data.Enum"]||{}),function(n){"use strict";var e=PS["Web.Event.Event"],t=(PS["Control.Semigroupoid"],PS["Data.DateTime.Instant"],PS["Data.Enum"],PS["Data.Eq"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Nullable"]);PS["Data.Ord"],PS.Effect,PS.Prelude,PS["Web.Event.EventPhase"],PS["Web.Event.Internal.Types"];n.currentTarget=function(n){return t.toMaybe(e._currentTarget(n))},n.preventDefault=e.preventDefault}(PS["Web.Event.Event"]=PS["Web.Event.Event"]||{}),function(n){"use strict";var e=PS["Web.Event.EventTarget"];PS.Effect,PS.Prelude,PS["Web.Event.Event"],PS["Web.Event.Internal.Types"];n.eventListener=e.eventListener}(PS["Web.Event.EventTarget"]=PS["Web.Event.EventTarget"]||{}),function(n){"use strict";(PS["Web.Internal.FFI"]=PS["Web.Internal.FFI"]||{})._unsafeReadProtoTagged=function(n,e,t,r){for(var a=r;null!=a;){var u=Object.getPrototypeOf(a),o=u.constructor.name;if(o===t)return e(r);if("Object"===o)return n;a=u}return n}}(),function(n){"use strict";var e=PS["Web.Internal.FFI"],t=(PS["Data.Function.Uncurried"],PS["Data.Maybe"]);n.unsafeReadProtoTagged=function(n){return function(r){return e._unsafeReadProtoTagged(t.Nothing.value,t.Just.create,n,r)}}}(PS["Web.Internal.FFI"]=PS["Web.Internal.FFI"]||{}),function(n){"use strict";var e=PS["Web.DOM.Element"],t=(PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Nullable"],PS.Effect,PS.Prelude,PS["Unsafe.Coerce"]),r=(PS["Web.DOM.ChildNode"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonDocumentTypeChildNode"],PS["Web.DOM.ParentNode"],PS["Web.Event.EventTarget"],PS["Web.Internal.FFI"]),a=t.unsafeCoerce,u=t.unsafeCoerce,o=r.unsafeReadProtoTagged("Element");n.fromNode=o,n.toNode=u,n.toParentNode=a,n.removeAttribute=e.removeAttribute}(PS["Web.DOM.Element"]=PS["Web.DOM.Element"]||{}),function(n){"use strict";(PS["Web.DOM.NonElementParentNode"]=PS["Web.DOM.NonElementParentNode"]||{})._getElementById=function(n){return function(e){return function(){return e.getElementById(n)}}}}(),function(n){"use strict";var e=PS["Web.DOM.NonElementParentNode"],t=(PS["Control.Semigroupoid"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Nullable"]),a=PS.Effect;PS.Prelude,PS["Web.DOM.Element"];n.getElementById=function(n){return function(u){return t.map(a.functorEffect)(r.toMaybe)(e._getElementById(n)(u))}}}(PS["Web.DOM.NonElementParentNode"]=PS["Web.DOM.NonElementParentNode"]||{}),function(n){"use strict";PS["Web.DOM.Document"],PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Nullable"],PS.Effect,PS.Prelude;var e=PS["Unsafe.Coerce"],t=(PS["Web.DOM.Comment"],PS["Web.DOM.DocumentFragment"],PS["Web.DOM.DocumentType"],PS["Web.DOM.Element"],PS["Web.DOM.HTMLCollection"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonElementParentNode"],PS["Web.DOM.ParentNode"],PS["Web.DOM.ProcessingInstruction"],PS["Web.DOM.Text"],PS["Web.Event.EventTarget"],PS["Web.Internal.FFI"],e.unsafeCoerce);n.toNonElementParentNode=t}(PS["Web.DOM.Document"]=PS["Web.DOM.Document"]||{}),function(n){"use strict";(PS["Web.HTML.HTMLElement"]=PS["Web.HTML.HTMLElement"]||{})._read=function(n,e,t){var r=Object.prototype.toString.call(t);return 0===r.indexOf("[object HTML")&&r.indexOf("Element]")===r.length-8?e(t):n}}(),function(n){"use strict";var e=PS["Web.HTML.HTMLElement"],t=(PS["Control.Semigroupoid"],PS["Data.Function.Uncurried"],PS["Data.Functor"],PS["Data.Maybe"]),r=(PS["Data.Nullable"],PS.Effect,PS.Prelude,PS["Unsafe.Coerce"]),a=(PS["Web.DOM"],PS["Web.DOM.DOMTokenList"],PS["Web.DOM.Element"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonDocumentTypeChildNode"],PS["Web.DOM.ParentNode"],PS["Web.Event.EventTarget"],r.unsafeCoerce),u=r.unsafeCoerce;n.fromElement=function(n){return e._read(t.Nothing.value,t.Just.create,n)},n.toElement=u,n.toNode=a}(PS["Web.HTML.HTMLElement"]=PS["Web.HTML.HTMLElement"]||{}),function(n){"use strict";var e=PS["Web.HTML.HTMLDocument"],t=(PS["Control.Semigroupoid"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Nullable"]),a=PS.Effect,u=(PS.Prelude,PS["Unsafe.Coerce"]),o=(PS["Web.DOM.Document"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NonElementParentNode"],PS["Web.DOM.ParentNode"],PS["Web.Event.EventTarget"],PS["Web.HTML.HTMLDocument.ReadyState"],PS["Web.HTML.HTMLElement"],PS["Web.Internal.FFI"],u.unsafeCoerce),i=u.unsafeCoerce;n.toDocument=i,n.toParentNode=o,n.body=function(n){return t.map(a.functorEffect)(r.toMaybe)(e._body(n))}}(PS["Web.HTML.HTMLDocument"]=PS["Web.HTML.HTMLDocument"]||{}),function(n){"use strict";n.href=function(n){return function(){return n.href}},n.setHref=function(n){return function(e){return function(){e.href=n}}},n.search=function(n){return function(){return n.search}},n.reload=function(n){return function(){n.reload()}}}(PS["Web.HTML.Location"]=PS["Web.HTML.Location"]||{}),function(n){"use strict";var e=PS["Web.HTML.Location"];PS.Effect,PS.Prelude;n.setHref=e.setHref,n.search=e.search,n.reload=e.reload}(PS["Web.HTML.Location"]=PS["Web.HTML.Location"]||{}),function(n){"use strict";n.document=function(n){return function(){return n.document}},n.location=function(n){return function(){return n.location}}}(PS["Web.HTML.Window"]=PS["Web.HTML.Window"]||{}),function(n){"use strict";var e=PS["Web.HTML.Window"];PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Nullable"],PS["Data.Ord"],PS.Effect,PS.Prelude,PS["Unsafe.Coerce"],PS["Web.Event.EventTarget"],PS["Web.HTML.HTMLDocument"],PS["Web.HTML.History"],PS["Web.HTML.Location"],PS["Web.HTML.Navigator"],PS["Web.Storage.Storage"];n.document=e.document,n.location=e.location}(PS["Web.HTML.Window"]=PS["Web.HTML.Window"]||{}),function(n){"use strict";var e=PS["Web.HTML"];PS.Effect,PS["Web.HTML.HTMLAnchorElement"],PS["Web.HTML.HTMLAreaElement"],PS["Web.HTML.HTMLAudioElement"],PS["Web.HTML.HTMLBRElement"],PS["Web.HTML.HTMLBaseElement"],PS["Web.HTML.HTMLBodyElement"],PS["Web.HTML.HTMLButtonElement"],PS["Web.HTML.HTMLCanvasElement"],PS["Web.HTML.HTMLDListElement"],PS["Web.HTML.HTMLDataElement"],PS["Web.HTML.HTMLDataListElement"],PS["Web.HTML.HTMLDivElement"],PS["Web.HTML.HTMLDocument"],PS["Web.HTML.HTMLElement"],PS["Web.HTML.HTMLEmbedElement"],PS["Web.HTML.HTMLFieldSetElement"],PS["Web.HTML.HTMLFormElement"],PS["Web.HTML.HTMLHRElement"],PS["Web.HTML.HTMLHeadElement"],PS["Web.HTML.HTMLHeadingElement"],PS["Web.HTML.HTMLIFrameElement"],PS["Web.HTML.HTMLImageElement"],PS["Web.HTML.HTMLInputElement"],PS["Web.HTML.HTMLKeygenElement"],PS["Web.HTML.HTMLLIElement"],PS["Web.HTML.HTMLLabelElement"],PS["Web.HTML.HTMLLegendElement"],PS["Web.HTML.HTMLLinkElement"],PS["Web.HTML.HTMLMapElement"],PS["Web.HTML.HTMLMediaElement"],PS["Web.HTML.HTMLMetaElement"],PS["Web.HTML.HTMLMeterElement"],PS["Web.HTML.HTMLModElement"],PS["Web.HTML.HTMLOListElement"],PS["Web.HTML.HTMLObjectElement"],PS["Web.HTML.HTMLOptGroupElement"],PS["Web.HTML.HTMLOptionElement"],PS["Web.HTML.HTMLOutputElement"],PS["Web.HTML.HTMLParagraphElement"],PS["Web.HTML.HTMLParamElement"],PS["Web.HTML.HTMLPreElement"],PS["Web.HTML.HTMLProgressElement"],PS["Web.HTML.HTMLQuoteElement"],PS["Web.HTML.HTMLScriptElement"],PS["Web.HTML.HTMLSelectElement"],PS["Web.HTML.HTMLSourceElement"],PS["Web.HTML.HTMLSpanElement"],PS["Web.HTML.HTMLStyleElement"],PS["Web.HTML.HTMLTableCaptionElement"],PS["Web.HTML.HTMLTableCellElement"],PS["Web.HTML.HTMLTableColElement"],PS["Web.HTML.HTMLTableDataCellElement"],PS["Web.HTML.HTMLTableElement"],PS["Web.HTML.HTMLTableHeaderCellElement"],PS["Web.HTML.HTMLTableRowElement"],PS["Web.HTML.HTMLTableSectionElement"],PS["Web.HTML.HTMLTemplateElement"],PS["Web.HTML.HTMLTextAreaElement"],PS["Web.HTML.HTMLTimeElement"],PS["Web.HTML.HTMLTitleElement"],PS["Web.HTML.HTMLTrackElement"],PS["Web.HTML.HTMLUListElement"],PS["Web.HTML.HTMLVideoElement"],PS["Web.HTML.History"],PS["Web.HTML.Location"],PS["Web.HTML.Navigator"],PS["Web.HTML.Window"];n.window=e.window}(PS["Web.HTML"]=PS["Web.HTML"]||{}),function(n){"use strict";var e=PS.Globals,t=PS["Control.Applicative"],r=(PS["Data.Function"],PS["Data.Function.Uncurried"],PS["Data.Maybe"]),a=PS["Data.Nullable"],u=PS["Data.Tuple"],o=PS.Effect;PS.Model,PS.Prelude,PS["Web.DOM"],PS["Web.HTML"],PS["Web.XHR.FormData"];n["app'"]=function(n){return e._app()},n.closest=function(n){return function(a){return t.pure(o.applicativeEffect)(e._closest(r.Just.create,r.Nothing.value,n,a))}},n.moment8601=function(n){return t.pure(o.applicativeEffect)(e._moment8601(u.Tuple.create,n))},n.mmoment8601=function(n){return e._mmoment8601(r.Just.create,r.Nothing.value,u.Tuple.create,n)},n.innerHtml=function(n){return t.pure(o.applicativeEffect)(e._innerHtml(n))},n.setInnerHtml=function(n){return function(r){return t.pure(o.applicativeEffect)(e._setInnerHtml(n,r))}},n.createFormData=function(n){return e._createFormData(n)},n.createFormString=function(n){return e._createFormString(n)},n.createFormArray=function(n){return e._createFormArray(n)},n.getDataAttribute=function(n){return function(r){return t.pure(o.applicativeEffect)(a.toMaybe(e._getDataAttribute(n,r)))}},n.setDataAttribute=function(n){return function(r){return function(a){return t.pure(o.applicativeEffect)(e._setDataAttribute(n,r,a))}}},n.closeWindow=function(n){return t.pure(o.applicativeEffect)(e._closeWindow(n))},n._app=e._app,n._closest=e._closest,n._moment8601=e._moment8601,n._mmoment8601=e._mmoment8601,n._innerHtml=e._innerHtml,n._setInnerHtml=e._setInnerHtml,n._createFormData=e._createFormData,n._createFormString=e._createFormString,n._createFormArray=e._createFormArray,n._getDataAttribute=e._getDataAttribute,n._setDataAttribute=e._setDataAttribute,n._closeWindow=e._closeWindow}(PS.Globals=PS.Globals||{}),function(n){"use strict";var e;(PS["Network.HTTP.Affjax"]=PS["Network.HTTP.Affjax"]||{})._ajax=(e={},"undefined"==typeof module||!module.require||"undefined"!=typeof process&&process.versions.electron?(e.newXHR=function(){return new XMLHttpRequest},e.fixupUrl=function(n){return n||"/"},e.getResponse=function(n){return n.response}):(e.newXHR=function(){return new(module.require("xhr2"))},e.fixupUrl=function(n){var e=module.require("url"),t=e.parse(n);return t.protocol=t.protocol||"http:",t.hostname=t.hostname||"localhost",e.format(t)},e.getResponse=function(n){return n.response}),function(n,t){return function(r,a){var u=e.newXHR(),o=e.fixupUrl(t.url);if(u.open(t.method||"GET",o,!0,t.username,t.password),t.headers)try{for(var i,l=0;null!=(i=t.headers[l]);l++)u.setRequestHeader(i.field,i.value)}catch(n){r(n)}return u.onerror=function(){r(new Error("AJAX request failed: "+t.method+" "+t.url))},u.onload=function(){a({status:u.status,statusText:u.statusText,headers:u.getAllResponseHeaders().split("\r\n").filter(function(n){return n.length>0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),response:e.getResponse(u)})},u.responseType=t.responseType,u.withCredentials=t.withCredentials,u.send(t.content),function(n,e,t){try{u.abort()}catch(n){return e(n)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)};var e=Object.prototype.toString;n._caseJson=function(n,t,r,a,u,o,i){return null==i?n():"boolean"==typeof i?t(i):"number"==typeof i?r(i):"string"==typeof i?a(i):"[object Array]"===e.call(i)?u(i):o(i)}}(PS["Data.Argonaut.Core"]=PS["Data.Argonaut.Core"]||{}),function(n){"use strict";var e,t=PS["Data.Argonaut.Core"],r=(PS["Data.Eq"],PS["Data.Function"]),a=(PS["Data.Function.Uncurried"],PS["Data.Maybe"]),u=(PS["Data.Ord"],PS["Data.Ordering"],PS["Foreign.Object"]),o=(PS.Prelude,(e=a.Nothing.value,function(n){return function(t){return t(e)(n)}})(a.Just.create)),i=t.fromObject(u.empty),l=function(n){return function(e){return function(a){return t._caseJson(r.const(n),r.const(n),e,r.const(n),r.const(n),r.const(n),a)}}},c=o(l);n.caseJsonNumber=l,n.toNumber=c,n.jsonEmptyObject=i,n.stringify=t.stringify}(PS["Data.Argonaut.Core"]=PS["Data.Argonaut.Core"]||{}),function(n){"use strict";(PS["Data.Argonaut.Parser"]=PS["Data.Argonaut.Parser"]||{})._jsonParser=function(n,e,t){try{return e(JSON.parse(t))}catch(e){return n(e.message)}}}(),function(n){"use strict";var e=PS["Data.Argonaut.Parser"],t=(PS["Data.Argonaut.Core"],PS["Data.Either"]);PS["Data.Function.Uncurried"];n.jsonParser=function(n){return e._jsonParser(t.Left.create,t.Right.create,n)}}(PS["Data.Argonaut.Parser"]=PS["Data.Argonaut.Parser"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Semigroupoid"];var e=PS["Data.Either"],t=(PS["Data.Function"],PS.Effect,PS["Effect.Aff"]);PS["Effect.Exception"],PS["Effect.Uncurried"],PS.Prelude;n.fromEffectFnAff=function(n){return t.makeAff(function(r){return function(){var a=n(function(n){return r(e.Left.create(n))()},function(n){return r(e.Right.create(n))()});return function(n){return t.makeAff(function(r){return function(){return a(n,function(n){return r(e.Left.create(n))()},function(n){return r(e.Right.create(n))()}),t.nonCanceler}})}}})}}(PS["Effect.Aff.Compat"]=PS["Effect.Aff.Compat"]||{}),function(n){"use strict";PS["Data.Argonaut.Core"],PS["Data.ArrayBuffer.Types"],PS["Data.FormURLEncoded"];var e=PS["Data.Maybe"],t=(PS["Data.MediaType"],PS["Data.MediaType.Common"]),r=(PS["Web.DOM.Document"],PS["Web.File.Blob"],PS["Web.XHR.FormData"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),l=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=o.create;n.ArrayView=r,n.Blob=a,n.Document=u,n.String=o,n.FormData=i,n.FormURLEncoded=l,n.Json=c,n.string=f,n.toMediaType=function(n){return n instanceof l?new e.Just(t.applicationFormURLEncoded):n instanceof c?new e.Just(t.applicationJSON):e.Nothing.value}}(PS["Network.HTTP.Affjax.Request"]=PS["Network.HTTP.Affjax.Request"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=(PS["Data.Argonaut.Core"],PS["Data.ArrayBuffer.Types"],PS["Data.Maybe"]),r=(PS["Data.MediaType"],PS["Data.MediaType.Common"]),a=(PS.Prelude,PS["Web.DOM.Document"],PS["Web.File.Blob"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),l=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=new i(e.identity(e.categoryFn)),s=new c(e.identity(e.categoryFn));n.ArrayBuffer=a,n.Blob=u,n.Document=o,n.Json=i,n.String=l,n.Ignore=c,n.json=f,n.ignore=s,n.toResponseType=function(n){if(n instanceof a)return"arraybuffer";if(n instanceof u)return"blob";if(n instanceof o)return"document";if(n instanceof i)return"text";if(n instanceof l)return"text";if(n instanceof c)return"";throw new Error("Failed pattern match at Network.HTTP.Affjax.Response line 41, column 3 - line 49, column 1: "+[n.constructor.name])},n.toMediaType=function(n){return n instanceof i?new t.Just(r.applicationJSON):t.Nothing.value}}(PS["Network.HTTP.Affjax.Response"]=PS["Network.HTTP.Affjax.Response"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.HeytingAlgebra"];var e=PS["Data.MediaType"],t=PS["Data.Newtype"],r=(PS["Data.Semigroup"],PS["Data.Show"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),u=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.Accept=r,n.ContentType=a,n.RequestHeader=u,n.requestHeaderName=function(n){if(n instanceof r)return"Accept";if(n instanceof a)return"Content-Type";if(n instanceof u)return n.value0;throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 24, column 1 - line 24, column 45: "+[n.constructor.name])},n.requestHeaderValue=function(n){if(n instanceof r)return t.unwrap(e.newtypeMediaType)(n.value0);if(n instanceof a)return t.unwrap(e.newtypeMediaType)(n.value0);if(n instanceof u)return n.value1;throw new Error("Failed pattern match at Network.HTTP.RequestHeader line 29, column 1 - line 29, column 46: "+[n.constructor.name])}}(PS["Network.HTTP.RequestHeader"]=PS["Network.HTTP.RequestHeader"]||{}),function(n){"use strict";PS["Data.Eq"],PS["Data.HeytingAlgebra"],PS["Data.Semigroup"],PS["Data.Show"],PS.Prelude;var e=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.responseHeader=function(n){return function(t){return new e(n,t)}}}(PS["Network.HTTP.ResponseHeader"]=PS["Network.HTTP.ResponseHeader"]||{}),function(n){"use strict";var e=PS["Network.HTTP.Affjax"],t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.Error.Class"],u=PS["Control.Monad.Except"],o=PS["Control.Monad.Except.Trans"],i=(PS["Control.Parallel"],PS["Control.Semigroupoid"],PS["Data.Argonaut.Core"]),l=PS["Data.Argonaut.Parser"],c=PS["Data.Array"],f=PS["Data.Either"],s=PS["Data.Eq"],d=PS["Data.Foldable"],S=PS["Data.FormURLEncoded"],P=PS["Data.Function"],v=(PS["Data.Function.Uncurried"],PS["Data.Functor"]),p=PS["Data.HTTP.Method"],m=PS["Data.HeytingAlgebra"],D=PS["Data.Identity"],b=(PS["Data.Int"],PS["Data.List.Types"]),g=PS["Data.Maybe"],h=PS["Data.Monoid"],w=PS["Data.Nullable"],y=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semiring"],PS["Data.Time.Duration"],PS["Data.Unit"]),E=PS["Effect.Aff"],M=PS["Effect.Aff.Compat"],C=(PS["Effect.Class"],PS["Effect.Exception"]),T=(PS["Effect.Ref"],PS.Foreign),A=(PS.Math,PS["Network.HTTP.Affjax.Request"]),F=PS["Network.HTTP.Affjax.Response"],H=PS["Network.HTTP.RequestHeader"],L=PS["Network.HTTP.ResponseHeader"],_=(PS["Network.HTTP.StatusCode"],PS.Prelude,{method:new f.Left(p.GET.value),url:"/",headers:[],content:g.Nothing.value,username:g.Nothing.value,password:g.Nothing.value,withCredentials:!1});n.defaultRequest=_,n.affjax=function(n){return function(_){var I,O=function(){if(n instanceof F.ArrayBuffer)return T.unsafeReadTagged("ArrayBuffer");if(n instanceof F.Blob)return T.unsafeReadTagged("Blob");if(n instanceof F.Document)return T.unsafeReadTagged("Document");if(n instanceof F.Json)return r.composeKleisliFlipped(o.bindExceptT(D.monadIdentity))(function(e){return n.value0(""===(r=e)?t.pure(o.applicativeExceptT(D.monadIdentity))(i.jsonEmptyObject):f.either(function(n){return T.fail(T.ForeignError.create(n))})(t.pure(o.applicativeExceptT(D.monadIdentity)))(l.jsonParser(r)));var r})(T.unsafeReadTagged("String"));if(n instanceof F.String)return T.unsafeReadTagged("String");if(n instanceof F.Ignore)return P.const(n.value0(t.pure(o.applicativeExceptT(D.monadIdentity))(y.unit)));throw new Error("Failed pattern match at Network.HTTP.Affjax line 261, column 19 - line 267, column 51: "+[n.constructor.name])}(),N=function(n){return function(e){return n instanceof g.Just&&!d.any(d.foldableArray)(m.heytingAlgebraBoolean)(P.on(s.eq(s.eqString))(H.requestHeaderName)(n.value0))(e)?c.snoc(e)(n.value0):e}},W={method:p.print(_.method),url:_.url,headers:v.map(v.functorArray)(function(n){return{field:H.requestHeaderName(n),value:H.requestHeaderValue(n)}})((I=_.content,N(v.map(g.functorMaybe)(H.ContentType.create)(r.bindFlipped(g.bindMaybe)(A.toMediaType)(I)))(N(v.map(g.functorMaybe)(H.Accept.create)(F.toMediaType(n)))(_.headers)))),content:w.toNullable(v.map(g.functorMaybe)(function(n){if(n instanceof A.ArrayView)return n.value0(T.unsafeToForeign);if(n instanceof A.Blob)return T.unsafeToForeign(n.value0);if(n instanceof A.Document)return T.unsafeToForeign(n.value0);if(n instanceof A.String)return T.unsafeToForeign(n.value0);if(n instanceof A.FormData)return T.unsafeToForeign(n.value0);if(n instanceof A.FormURLEncoded)return T.unsafeToForeign(S.encode(n.value0));if(n instanceof A.Json)return T.unsafeToForeign(i.stringify(n.value0));throw new Error("Failed pattern match at Network.HTTP.Affjax line 235, column 20 - line 242, column 53: "+[n.constructor.name])})(_.content)),responseType:F.toResponseType(n),username:w.toNullable(_.username),password:w.toNullable(_.password),withCredentials:_.withCredentials};return r.bind(E.bindAff)(M.fromEffectFnAff(e._ajax(L.responseHeader,W)))(function(n){var e=u.runExcept(O(n.response));if(e instanceof f.Left)return a.throwError(E.monadThrowAff)(C.error(d.intercalate(b.foldableNonEmptyList)(h.monoidString)("\n")(v.map(b.functorNonEmptyList)(T.renderForeignError)(e.value0))));if(e instanceof f.Right)return t.pure(E.applicativeAff)({response:e.value0,headers:n.headers,status:n.status,statusText:n.statusText});throw new Error("Failed pattern match at Network.HTTP.Affjax line 217, column 3 - line 219, column 49: "+[e.constructor.name])})}}}(PS["Network.HTTP.Affjax"]=PS["Network.HTTP.Affjax"]||{}),function(n){"use strict";var e=PS["Control.Bind"],t=(PS["Control.Semigroupoid"],PS["Data.Argonaut"],PS["Data.Array"]),r=PS["Data.Either"],a=(PS["Data.FormURLEncoded"],PS["Data.Functor"]),u=PS["Data.HTTP.Method"],o=PS["Data.Maybe"],i=PS["Data.MediaType.Common"],l=(PS["Data.Semigroup"],PS["Data.Show"]),c=PS["Data.Unit"],f=PS.Effect,s=PS["Effect.Aff"],d=PS["Effect.Class"],S=PS.Globals,P=PS.Model,v=PS["Network.HTTP.Affjax"],p=PS["Network.HTTP.Affjax.Request"],m=PS["Network.HTTP.Affjax.Response"],D=PS["Network.HTTP.RequestHeader"],b=(PS.Prelude,PS["Simple.JSON"]),g=PS["Web.Event.Event"],h=PS["Web.HTML"],w=PS["Web.HTML.Location"],y=PS["Web.HTML.Window"],E=function(){function n(){}return n.value=new n,n}(),M=function(){function n(){}return n.value=new n,n}(),C=new l.Show(function(n){if(n instanceof E)return"star";if(n instanceof M)return"unstar";throw new Error("Failed pattern match at App line 31, column 1 - line 31, column 37: "+[n.constructor.name])}),T=function(n){return function(e){return function(a){return function(u){return function(o){var i=S["app'"](c.unit);return v.affjax(o)({method:new r.Left(n),url:e,headers:t.cons(new D.RequestHeader(i.csrfHeaderName,i.csrfToken))(a),content:u,username:v.defaultRequest.username,password:v.defaultRequest.password,withCredentials:v.defaultRequest.withCredentials})}}}}},A=function(n){var t=S["app'"](n);return e.discard(e.discardUnit)(s.bindAff)(a.void(s.functorAff)(T(u.POST.value)(t.authRlogoutR)([])(o.Nothing.value)(m.ignore)))(function(){return d.liftEffect(s.monadEffectAff)(e.bind(f.bindEffect)(e.bind(f.bindEffect)(h.window)(y.location))(w.reload))})},F=function(n){return function(e){return function(t){return function(r){return function(a){return T(n)(S["app'"](c.unit).homeR+e)(t)(r)(a)}}}}},H=function(n){return function(e){return function(t){return function(r){return F(n)(e)([new D.ContentType(i.applicationFormURLEncoded)])(a.map(o.functorMaybe)(p.FormURLEncoded.create)(t))(r)}}}},L=function(n){return function(e){return function(t){return function(r){return function(u){return F(e)(t)([new D.ContentType(i.applicationJSON)])(a.map(o.functorMaybe)(function(e){return p.string(b.writeJSON(n)(e))})(r))(u)}}}}};n.Star=E,n.UnStar=M,n.toggleStar=function(n){return function(e){var t="bm/"+l.show(l.showInt)(n)+"/"+l.show(C)(e);return a.void(s.functorAff)(H(u.POST.value)(t)(o.Nothing.value)(m.ignore))}},n.destroy=function(n){return H(u.DELETE.value)("bm/"+l.show(l.showInt)(n))(o.Nothing.value)(m.ignore)},n.markRead=function(n){var e="bm/"+l.show(l.showInt)(n)+"/read";return H(u.POST.value)(e)(o.Nothing.value)(m.ignore)},n.editBookmark=function(n){return L(P.bookmark_wfI)(u.POST.value)("api/add")(new o.Just(n))(m.ignore)},n.editNote=function(n){return L(P.note_wfI)(u.POST.value)("api/note/add")(new o.Just(n))(m.json)},n.destroyNote=function(n){return H(u.DELETE.value)("api/note/"+l.show(l.showInt)(n))(o.Nothing.value)(m.ignore)},n.logoutE=function(n){return e.bindFlipped(f.bindEffect)(function(n){return a.void(f.functorEffect)(s.launchAff(A(n)))})(g.preventDefault(n))},n.logout=A,n.fetchJson=L,n.fetchUrlEnc=H,n.fetchPath=F,n.fetchUrl=T,n.showStar=C}(PS.App=PS.App||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}(),r=function(){function n(){}return n.value=new n,n}();n.ButtonButton=e,n.ButtonSubmit=t,n.ButtonReset=r,n.renderButtonType=function(n){if(n instanceof e)return"button";if(n instanceof t)return"submit";if(n instanceof r)return"reset";throw new Error("Failed pattern match at DOM.HTML.Indexed.ButtonType line 9, column 20 - line 12, column 18: "+[n.constructor.name])}}(PS["DOM.HTML.Indexed.ButtonType"]=PS["DOM.HTML.Indexed.ButtonType"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}(),r=function(){function n(){}return n.value=new n,n}(),a=function(){function n(){}return n.value=new n,n}(),u=function(){function n(){}return n.value=new n,n}(),o=function(){function n(){}return n.value=new n,n}(),i=function(){function n(){}return n.value=new n,n}(),l=function(){function n(){}return n.value=new n,n}(),c=function(){function n(){}return n.value=new n,n}(),f=function(){function n(){}return n.value=new n,n}(),s=function(){function n(){}return n.value=new n,n}(),d=function(){function n(){}return n.value=new n,n}(),S=function(){function n(){}return n.value=new n,n}(),P=function(){function n(){}return n.value=new n,n}(),v=function(){function n(){}return n.value=new n,n}(),p=function(){function n(){}return n.value=new n,n}(),m=function(){function n(){}return n.value=new n,n}(),D=function(){function n(){}return n.value=new n,n}(),b=function(){function n(){}return n.value=new n,n}(),g=function(){function n(){}return n.value=new n,n}(),h=function(){function n(){}return n.value=new n,n}(),w=function(){function n(){}return n.value=new n,n}();n.InputButton=e,n.InputCheckbox=t,n.InputColor=r,n.InputDate=a,n.InputDatetimeLocal=u,n.InputEmail=o,n.InputFile=i,n.InputHidden=l,n.InputImage=c,n.InputMonth=f,n.InputNumber=s,n.InputPassword=d,n.InputRadio=S,n.InputRange=P,n.InputReset=v,n.InputSearch=p,n.InputSubmit=m,n.InputTel=D,n.InputText=b,n.InputTime=g,n.InputUrl=h,n.InputWeek=w,n.renderInputType=function(n){if(n instanceof e)return"button";if(n instanceof t)return"checkbox";if(n instanceof r)return"color";if(n instanceof a)return"date";if(n instanceof u)return"datetime-local";if(n instanceof o)return"email";if(n instanceof i)return"file";if(n instanceof l)return"hidden";if(n instanceof c)return"image";if(n instanceof f)return"month";if(n instanceof s)return"number";if(n instanceof d)return"password";if(n instanceof S)return"radio";if(n instanceof P)return"range";if(n instanceof v)return"reset";if(n instanceof p)return"search";if(n instanceof m)return"submit";if(n instanceof D)return"tel";if(n instanceof b)return"text";if(n instanceof g)return"time";if(n instanceof h)return"url";if(n instanceof w)return"week";throw new Error("Failed pattern match at DOM.HTML.Indexed.InputType line 28, column 19 - line 50, column 16: "+[n.constructor.name])}}(PS["DOM.HTML.Indexed.InputType"]=PS["DOM.HTML.Indexed.InputType"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=(PS["Control.Monad.Cont.Trans"],PS["Control.Monad.Except.Trans"],PS["Control.Monad.List.Trans"],PS["Control.Monad.Maybe.Trans"],PS["Control.Monad.RWS.Trans"],PS["Control.Monad.Reader.Trans"],PS["Control.Monad.State.Trans"],PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Trans"],PS["Control.Semigroupoid"],PS["Effect.Aff"]),r=(PS["Effect.Class"],PS.Prelude,function(n,e){this.MonadEffect0=n,this.liftAff=e}),a=new r(function(){return t.monadEffectAff},e.identity(e.categoryFn));n.liftAff=function(n){return n.liftAff},n.MonadAff=r,n.monadAffAff=a}(PS["Effect.Aff.Class"]=PS["Effect.Aff.Class"]||{}),function(n){"use strict";var e=PS["Data.Eq"],t=PS["Data.Ord"],r=(PS.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}()),a=new e.Eq(function(n){return function(e){return n.value0(n.value2)(e.value2)}}),u=new t.Ord(function(){return a},function(n){return function(e){return n.value1(n.value2)(e.value2)}});n.mkOrdBox=function(n){return r.create(e.eq(n.Eq0()))(t.compare(n))},n.unOrdBox=function(n){return n.value2},n.eqOrdBox=a,n.ordOrdBox=u}(PS["Halogen.Data.OrdBox"]=PS["Halogen.Data.OrdBox"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}(),t=function(){function n(){}return n.value=new n,n}();n.On=e,n.Off=t,n.renderOnOff=function(n){if(n instanceof e)return"on";if(n instanceof t)return"off";throw new Error("Failed pattern match at DOM.HTML.Indexed.OnOff line 8, column 15 - line 10, column 10: "+[n.constructor.name])}}(PS["DOM.HTML.Indexed.OnOff"]=PS["DOM.HTML.Indexed.OnOff"]||{}),function(n){"use strict";var e=PS["Data.Bifunctor"],t=(PS["Data.Eq"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Ord"],PS.Prelude,PS["Web.DOM"],function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}()),a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),u=new e.Bifunctor(function(n){return function(e){return function(t){if(t instanceof r)return new r(t.value0,t.value1,n(t.value2));if(t instanceof a)return new a(e(t.value0));throw new Error("Failed pattern match at Halogen.Query.InputF line 21, column 15 - line 23, column 27: "+[t.constructor.name])}}}),o=new t.Functor(e.rmap(u));n.RefUpdate=r,n.Query=a,n.bifunctorInputF=u,n.functorInputF=o}(PS["Halogen.Query.InputF"]=PS["Halogen.Query.InputF"]||{}),function(n){"use strict";PS.Effect,PS["Effect.Uncurried"],PS.Prelude;var e=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}();n.Step=e,n.extract=function(n){return n.value0},n.step=function(n){return n.value1},n.halt=function(n){return n.value2}}(PS["Halogen.VDom.Machine"]=PS["Halogen.VDom.Machine"]||{}),function(n){"use strict";PS["Control.Category"],PS["Control.Semigroupoid"];var e=PS["Data.Bifunctor"],t=(PS["Data.Eq"],PS["Data.Functor"]),r=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Tuple"]),a=(PS.Prelude,PS["Unsafe.Coerce"]),u=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),l=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),s=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),d=function(n){return function(e){return n(e)}},S=a.unsafeCoerce,P=new t.Functor(function(n){return function(e){return new u(e.value0,e.value1,n(e.value2))}}),v=new e.Bifunctor(function(n){return function(e){return d(function(t){return S(new s(function(e){return n(t.value0(e))},function(n){return e(t.value1(n))},t.value2))})}}),p=new e.Bifunctor(function(n){return function(t){return function(r){return r instanceof o?new o(r.value0):new f(r instanceof f?e.bimap(v)(n)(t)(r.value0):S(new s(n,t,r)))}}}),m=d(function(n){var a=function(u){if(u instanceof o)return new o(u.value0);if(u instanceof i)return new i(t.map(P)(n.value0)(u.value0),t.map(t.functorArray)(a)(u.value1));if(u instanceof l)return new l(t.map(P)(n.value0)(u.value0),t.map(t.functorArray)(t.map(r.functorTuple)(a))(u.value1));if(u instanceof c)return new c(n.value1(u.value0));if(u instanceof f)return new f(e.bimap(v)(n.value0)(n.value1)(u.value0));throw new Error("Failed pattern match at Halogen.VDom.Types line 74, column 7 - line 74, column 27: "+[u.constructor.name])};return a(n.value2)});n.Text=o,n.Elem=i,n.Keyed=l,n.Widget=c,n.Grafted=f,n.Graft=s,n.graft=S,n.unGraft=d,n.runGraft=m,n.ElemSpec=u,n.bifunctorVDom=p,n.bifunctorGraft=v,n.functorElemSpec=P}(PS["Halogen.VDom.Types"]=PS["Halogen.VDom.Types"]||{}),function(n){"use strict";n.unsafeGetAny=function(n,e){return e[n]},n.unsafeHasAny=function(n,e){return e.hasOwnProperty(n)},n.unsafeSetAny=function(n,e,t){t[n]=e},n.forE=function(n,e){for(var t=[],r=0;r<n.length;r++)t.push(e(r,n[r]));return t},n.forInE=function(n,e){for(var t=Object.keys(n),r=0;r<t.length;r++){var a=t[r];e(a,n[a])}},n.diffWithIxE=function(n,e,t,r,a){for(var u=[],o=n.length,i=e.length,l=0;;){if(l<o)l<i?u.push(t(l,n[l],e[l])):r(l,n[l]);else{if(!(l<i))break;u.push(a(l,e[l]))}l++}return u},n.strMapWithIxE=function(n,e,t){for(var r={},a=0;a<n.length;a++){var u=n[a],o=e(u);r[o]=t(o,a,u)}return r},n.diffWithKeyAndIxE=function(n,e,t,r,a,u){for(var o={},i=0;i<e.length;i++){var l=e[i],c=t(l);n.hasOwnProperty(c)?o[c]=r(c,i,n[c],l):o[c]=u(c,i,l)}for(var c in n)c in o||a(c,n[c]);return o},n.refEq=function(n,e){return n===e},n.createTextNode=function(n,e){return e.createTextNode(n)},n.setTextContent=function(n,e){e.textContent=n},n.createElement=function(n,e,t){return null!=n?t.createElementNS(n,e):t.createElement(e)},n.insertChildIx=function(n,e,t){var r=t.childNodes.item(n)||null;r!==e&&t.insertBefore(e,r)},n.removeChild=function(n,e){e&&n.parentNode===e&&e.removeChild(n)},n.parentNode=function(n){return n.parentNode},n.setAttribute=function(n,e,t,r){null!=n?r.setAttributeNS(n,e,t):r.setAttribute(e,t)},n.removeAttribute=function(n,e,t){null!=n?t.removeAttributeNS(n,e):t.removeAttribute(e)},n.addEventListener=function(n,e,t){t.addEventListener(n,e,!1)},n.removeEventListener=function(n,e,t){t.removeEventListener(n,e,!1)},n.jsUndefined=void 0}(PS["Halogen.VDom.Util"]=PS["Halogen.VDom.Util"]||{}),function(n){"use strict";var e=function(n){return function(e){return function(){return e[n]}}};n._parentNode=e("parentNode"),n._nextSibling=e("nextSibling"),n.insertBefore=function(n){return function(e){return function(t){return function(){return t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){return e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){return e.removeChild(n)}}}}(PS["Web.DOM.Node"]=PS["Web.DOM.Node"]||{}),function(n){"use strict";var e=PS["Web.DOM.Node"],t=(PS["Control.Semigroupoid"],PS["Data.Enum"],PS["Data.Functor"]),r=(PS["Data.Maybe"],PS["Data.Nullable"]),a=PS.Effect;PS.Prelude,PS["Unsafe.Coerce"],PS["Web.DOM.Document"],PS["Web.DOM.Element"],PS["Web.DOM.Internal.Types"],PS["Web.DOM.NodeType"],PS["Web.Event.EventTarget"],PS["Web.Internal.FFI"];n.parentNode=function(n){return t.map(a.functorEffect)(r.toMaybe)(e._parentNode(n))},n.nextSibling=function(n){return t.map(a.functorEffect)(r.toMaybe)(e._nextSibling(n))},n.insertBefore=e.insertBefore,n.appendChild=e.appendChild,n.removeChild=e.removeChild}(PS["Web.DOM.Node"]=PS["Web.DOM.Node"]||{}),function(n){"use strict";var e=PS["Halogen.VDom.Util"],t=PS["Control.Applicative"],r=(PS["Data.Function.Uncurried"],PS["Data.Nullable"],PS["Data.Unit"]),a=PS.Effect,u=(PS["Effect.Uncurried"],PS["Foreign.Object"],PS["Foreign.Object.ST"]),o=(PS["Halogen.VDom.Types"],PS.Prelude,PS["Unsafe.Coerce"]),i=(PS["Web.DOM.Document"],PS["Web.DOM.Element"],PS["Web.DOM.Node"],PS["Web.Event.EventTarget"],e.unsafeGetAny),l=o.unsafeCoerce,c=e.unsafeSetAny,f=u.new,s=t.pure(a.applicativeEffect)(r.unit);n.effectUnit=s,n.newMutMap=f,n.pokeMutMap=c,n.unsafeFreeze=l,n.unsafeLookup=i,n.unsafeGetAny=e.unsafeGetAny,n.unsafeHasAny=e.unsafeHasAny,n.unsafeSetAny=e.unsafeSetAny,n.forE=e.forE,n.forInE=e.forInE,n.diffWithIxE=e.diffWithIxE,n.diffWithKeyAndIxE=e.diffWithKeyAndIxE,n.strMapWithIxE=e.strMapWithIxE,n.refEq=e.refEq,n.createTextNode=e.createTextNode,n.setTextContent=e.setTextContent,n.createElement=e.createElement,n.insertChildIx=e.insertChildIx,n.removeChild=e.removeChild,n.parentNode=e.parentNode,n.setAttribute=e.setAttribute,n.removeAttribute=e.removeAttribute,n.addEventListener=e.addEventListener,n.removeEventListener=e.removeEventListener,n.jsUndefined=e.jsUndefined}(PS["Halogen.VDom.Util"]=PS["Halogen.VDom.Util"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Data.Eq"],PS["Data.Function.Uncurried"];var e=PS["Data.Functor"],t=PS["Data.Maybe"],r=PS["Data.Nullable"],a=(PS["Data.Semigroup"],PS["Data.Tuple"]),u=PS["Data.Unit"],o=(PS.Effect,PS["Effect.Ref"]),i=(PS["Effect.Uncurried"],PS.Foreign),l=PS["Foreign.Object"],c=(PS["Halogen.VDom"],PS["Halogen.VDom.Machine"]),f=(PS["Halogen.VDom.Types"],PS["Halogen.VDom.Util"]),s=(PS.Prelude,PS["Unsafe.Coerce"]),d=(PS["Web.DOM.Element"],PS["Web.Event.Event"],PS["Web.Event.EventTarget"]),S=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),p=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),m=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),D=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),b=f.unsafeGetAny,g=f.unsafeSetAny,h=function(n){if(n instanceof v&&n.value0 instanceof t.Just)return"attr/"+n.value0.value0+":"+n.value1;if(n instanceof v)return"attr/:"+n.value1;if(n instanceof p)return"prop/"+n.value0;if(n instanceof m)return"handler/"+n.value0;if(n instanceof D)return"ref";throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 178, column 16 - line 185, column 1: "+[n.constructor.name])},w=s.unsafeCoerce,y=s.unsafeCoerce,E=s.unsafeCoerce,M=new e.Functor(function(n){return function(r){return r instanceof m?new m(r.value0,e.map(e.functorFn)(e.map(t.functorMaybe)(n))(r.value1)):r instanceof D?new D(e.map(e.functorFn)(e.map(t.functorMaybe)(n))(r.value0)):r}});n.Attribute=v,n.Property=p,n.Handler=m,n.Ref=D,n.Created=S,n.Removed=P,n.propFromString=w,n.propFromBoolean=E,n.propFromInt=y,n.buildProp=function(n){return function(e){var s=function(n){return function(t,o){if(o instanceof v)return f.removeAttribute(r.toNullable(o.value0),o.value1,e);if(o instanceof p)return function(n,e){return"string"===i.typeOf(f.unsafeGetAny(n,e))?f.unsafeSetAny(n,"",e):"rowSpan"===n?f.unsafeSetAny(n,1,e):"colSpan"===n?f.unsafeSetAny(n,1,e):f.unsafeSetAny(n,f.jsUndefined,e)}(o.value0,e);if(o instanceof m){var l=f.unsafeLookup(o.value0,n);return f.removeEventListener(o.value0,a.fst(l),e)}if(o instanceof D)return u.unit;throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 165, column 5 - line 175, column 18: "+[o.constructor.name])}},w=function(e){return e instanceof t.Just?n(e.value0)():u.unit},y=function(n){var r=l.lookup("ref")(n);return r instanceof t.Just&&r.value0 instanceof D?function(){return w(r.value0.value0(new P(e)))}:f.effectUnit},E=function(n){return function(t,u,i){if(i instanceof v)return f.setAttribute(r.toNullable(i.value0),i.value1,i.value2,e),i;if(i instanceof p)return g(i.value0,i.value1,e),i;if(i instanceof m){var l=f.unsafeGetAny(i.value0,n);if(f.unsafeHasAny(i.value0,n))return o.write(i.value1)(a.snd(l))(),i;var c=o.new(i.value1)(),s=d.eventListener(function(n){return function(){var e=o.read(c)();return w(e(n))}})();return f.pokeMutMap(i.value0,new a.Tuple(s,c),n),f.addEventListener(i.value0,s,e),i}if(i instanceof D)return w(i.value0(new S(e))),i;throw new Error("Failed pattern match at Halogen.VDom.DOM.Prop line 109, column 5 - line 131, column 15: "+[i.constructor.name])}},M=function(n,t){return function(i){var l=f.newMutMap(),d=s(n),S=function(n,t){return function(u,i,l,c){if(l instanceof v&&c instanceof v)return l.value2===c.value2?c:(f.setAttribute(r.toNullable(c.value0),c.value1,c.value2,e),c);if(l instanceof p&&c instanceof p){if(f.refEq(l.value1,c.value1))return c;if("value"===c.value0){var s=b("value",e);return f.refEq(s,c.value1)?c:(g(c.value0,c.value1,e),c)}return g(c.value0,c.value1,e),c}if(l instanceof m&&c instanceof m){var d=f.unsafeLookup(c.value0,n);return o.write(c.value1)(a.snd(d))(),f.pokeMutMap(c.value0,d,t),c}return c}}(n,l),P=E(l),D=f.diffWithKeyAndIxE(t,i,h,S,d,P);return new c.Step(u.unit,M(f.unsafeFreeze(l),D),y(D))}};return function(n){var e=f.newMutMap(),t=f.strMapWithIxE(n,h,E(e));return new c.Step(u.unit,M(f.unsafeFreeze(e),t),y(t))}}},n.functorProp=M}(PS["Halogen.VDom.DOM.Prop"]=PS["Halogen.VDom.DOM.Prop"]||{}),function(n){"use strict";PS["Control.Semigroupoid"];var e=PS["DOM.HTML.Indexed.ButtonType"],t=(PS["DOM.HTML.Indexed.CrossOriginValue"],PS["DOM.HTML.Indexed.DirValue"],PS["DOM.HTML.Indexed.FormMethod"],PS["DOM.HTML.Indexed.InputType"]),r=(PS["DOM.HTML.Indexed.KindValue"],PS["DOM.HTML.Indexed.MenuType"],PS["DOM.HTML.Indexed.MenuitemType"],PS["DOM.HTML.Indexed.OnOff"]),a=(PS["DOM.HTML.Indexed.OrderedListType"],PS["DOM.HTML.Indexed.PreloadValue"],PS["DOM.HTML.Indexed.ScopeValue"],PS["DOM.HTML.Indexed.StepValue"],PS["DOM.HTML.Indexed.WrapValue"],PS["Data.Bifunctor"]),u=(PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"]),o=(PS["Data.Maybe"],PS["Data.MediaType"],PS["Data.Newtype"]),i=(PS["Data.Ord"],PS["Data.Semigroup"],PS["Data.Tuple"],PS["Halogen.Query.InputF"]),l=(PS["Halogen.VDom"],PS["Halogen.VDom.DOM.Prop"]),c=PS["Halogen.VDom.Types"],f=(PS.Prelude,PS["Unsafe.Coerce"],PS["Web.DOM.Element"],PS["Web.Event.Event"],function(n){return n}),s=function(n){return n},d=function(n){this.toPropValue=n},S=function(n){return n.toPropValue},P=new d(l.propFromString),v=new d(function(n){return l.propFromString(r.renderOnOff(n))}),p=new o.Newtype(function(n){return n},s),m=new d(l.propFromInt),D=new d(function(n){return l.propFromString(t.renderInputType(n))}),b=l.Handler.create,g=new d(function(n){return l.propFromString(e.renderButtonType(n))}),h=new d(l.propFromBoolean),w=new a.Bifunctor(function(n){return function(e){return function(t){return a.bimap(c.bifunctorVDom)(u.map(u.functorArray)(u.map(l.functorProp)(u.map(i.functorInputF)(e))))(n)(t)}}});n.HTML=f,n.slot=function(n){return f(c.Widget.create(n))},n.text=function(n){return f(c.Text.create(n))},n.element=function(n){return function(e){return function(t){return function(r){return new c.Elem(new c.ElemSpec(n,e,t),r)}}}},n.prop=function(n){return function(e){return function(t){return l.Property.create(e)(S(n)(t))}}},n.attr=function(n){return function(e){return l.Attribute.create(n)(e)}},n.handler=b,n.IsProp=d,n.toPropValue=S,n.ClassName=s,n.bifunctorHTML=w,n.stringIsProp=P,n.intIsProp=m,n.booleanIsProp=h,n.buttonTypeIsProp=g,n.inputTypeIsProp=D,n.onOffIsProp=v,n.newtypeClassName=p}(PS["Halogen.HTML.Core"]=PS["Halogen.HTML.Core"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Category"],a=(PS["Control.Semigroupoid"],PS["Data.Const"],PS["Data.Either"]),u=(PS["Data.Eq"],PS["Data.Function"],PS["Data.Functor"]),o=(PS["Data.List"],PS["Data.List.NonEmpty"]),i=PS["Data.List.Types"],l=(PS["Data.Newtype"],PS["Data.NonEmpty"]),c=(PS["Data.Ring"],PS["Data.Semiring"],PS["Data.Tuple"]),f=(PS.Prelude,PS["Unsafe.Coerce"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return function(e){return new d(n,e)}},P=s.create,v=function(n){return function(t){return function(r){return function(a){return function(u){return function(l){var S,P=n,v=t,p=r,m=a,D=u,b=!1;function g(n,t,r,a,u,S){if(u instanceof f)return b=!0,new c.Tuple(new i.Cons({func:e.pure(n)(u.value0),count:S},t),r);if(u instanceof s)return b=!0,new c.Tuple(new i.Cons({func:a(u.value0),count:S},t),r);if(u instanceof d)return P=n,v=t,p=o.cons(u.value1)(r),m=a,D=u.value0,void(l=S+1|0);throw new Error("Failed pattern match at Control.Applicative.Free line 102, column 41 - line 105, column 81: "+[u.constructor.name])}for(;!b;)S=g(P,v,p,m,D,l);return S}}}}}},p=function(n){return function(e){return function(r){return function(u){var o,f=n,s=e,d=r,S=!1;function P(n,e,r,o){if(e instanceof i.Nil)return S=!0,new a.Left(o);if(e instanceof i.Cons){var P=t.apply(n.Apply0())(e.value0.func)(o);if(1===e.value0.count)return e.value1 instanceof i.Nil?(S=!0,new a.Left(P)):(f=n,s=e.value1,d=r,void(u=P));if(r instanceof i.Nil)return S=!0,new a.Left(P);if(r instanceof i.Cons)return S=!0,a.Right.create(new c.Tuple(new i.Cons({func:P,count:e.value0.count-1|0},e.value1),new l.NonEmpty(r.value0,r.value1)));throw new Error("Failed pattern match at Control.Applicative.Free line 83, column 11 - line 88, column 50: "+[r.constructor.name])}throw new Error("Failed pattern match at Control.Applicative.Free line 72, column 3 - line 88, column 50: "+[e.constructor.name])}for(;!S;)o=P(f,s,d,u);return o}}}},m=new u.Functor(function(n){return function(e){return S(new f(n))(e)}}),D=function(n){return function(t){return function(r){return function(r){var u,o=!1;function i(u){if(u.value1.value0 instanceof f){if((i=p(n)(u.value0)(u.value1.value1)(e.pure(n)(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free line 54, column 17 - line 56, column 24: "+[i.constructor.name])}if(u.value1.value0 instanceof s){var i;if((i=p(n)(u.value0)(u.value1.value1)(t(u.value1.value0.value0)))instanceof a.Left)return o=!0,i.value0;if(i instanceof a.Right)return void(r=i.value0);throw new Error("Failed pattern match at Control.Applicative.Free line 57, column 17 - line 59, column 24: "+[i.constructor.name])}if(!(u.value1.value0 instanceof d))throw new Error("Failed pattern match at Control.Applicative.Free line 53, column 5 - line 64, column 1: "+[u.value1.value0.constructor.name]);var c=new l.NonEmpty(u.value1.value0.value1,u.value1.value1);r=v(n)(u.value0)(c)(t)(u.value1.value0.value0)(1)}for(;!o;)u=i(r);return u}(new c.Tuple(i.Nil.value,o.singleton(r)))}}},b=new t.Apply(function(){return m},function(n){return function(e){return S(n)(e)}}),g=new e.Applicative(function(){return b},f.create);n.liftFreeAp=P,n.retractFreeAp=function(n){return D(n)(r.identity(r.categoryFn))},n.foldFreeAp=D,n.hoistFreeAp=function(n){return D(g)(function(e){return P(n(e))})},n.functorFreeAp=m,n.applyFreeAp=b,n.applicativeFreeAp=g}(PS["Control.Applicative.Free"]=PS["Control.Applicative.Free"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"];var e=PS["Data.List"],t=PS["Data.List.Types"],r=PS["Data.Maybe"],a=(PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Tuple"]),u=(PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),o=new u(t.Nil.value,t.Nil.value);n.CatQueue=u,n.empty=o,n.null=function(n){return n.value0 instanceof t.Nil&&n.value1 instanceof t.Nil},n.snoc=function(n){return function(e){return new u(n.value0,new t.Cons(e,n.value1))}},n.uncons=function(n){var o,i=!1;function l(o){if(o.value0 instanceof t.Nil&&o.value1 instanceof t.Nil)return i=!0,r.Nothing.value;if(!(o.value0 instanceof t.Nil)){if(o.value0 instanceof t.Cons)return i=!0,new r.Just(new a.Tuple(o.value0.value0,new u(o.value0.value1,o.value1)));throw new Error("Failed pattern match at Data.CatQueue line 83, column 1 - line 83, column 63: "+[o.constructor.name])}n=new u(e.reverse(o.value1),t.Nil.value)}for(;!i;)o=l(n);return o}}(PS["Data.CatQueue"]=PS["Data.CatQueue"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Monad"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"];var e=PS["Data.CatQueue"],t=(PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.List"],PS["Data.List.Types"]),r=PS["Data.Maybe"],a=(PS["Data.Monoid"],PS["Data.Semigroup"]),u=(PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.Tuple"]),o=(PS["Data.Unfoldable"],PS["Data.Unfoldable1"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),i=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),l=function(n){return function(t){if(n instanceof o)return t;if(n instanceof i)return new i(n.value0,e.snoc(n.value1)(t));throw new Error("Failed pattern match at Data.CatList line 111, column 1 - line 111, column 54: "+[n.constructor.name,t.constructor.name])}},c=o.value,f=function(n){return function(e){return e instanceof o?n:n instanceof o?e:l(n)(e)}},s=new a.Semigroup(f);n.CatNil=o,n.CatCons=i,n.empty=c,n.append=f,n.snoc=function(n){return function(t){return f(n)(new i(t,e.empty))}},n.uncons=function(n){if(n instanceof o)return r.Nothing.value;if(n instanceof i)return new r.Just(new u.Tuple(n.value0,e.null(n.value1)?o.value:(a=l,function(n){return function(u){var o,i=function(n){return function(e){return function(r){var a,u=n,o=e,i=!1;function l(n,e,a){if(a instanceof t.Nil)return i=!0,e;if(a instanceof t.Cons)return u=n,o=n(e)(a.value0),void(r=a.value1);throw new Error("Failed pattern match at Data.CatList line 126, column 3 - line 126, column 59: "+[n.constructor.name,e.constructor.name,a.constructor.name])}for(;!i;)a=l(u,o,r);return a}}};return(o=u,function(u){var l,c=o,f=!1;function s(o,l){var s=e.uncons(o);if(s instanceof r.Nothing)return f=!0,i(function(n){return function(e){return e(n)}})(n)(l);if(s instanceof r.Just)return c=s.value0.value1,void(u=new t.Cons(a(s.value0.value0),l));throw new Error("Failed pattern match at Data.CatList line 122, column 14 - line 124, column 67: "+[s.constructor.name])}for(;!f;)l=s(c,u);return l})(t.Nil.value)}})(o.value)(n.value1)));var a;throw new Error("Failed pattern match at Data.CatList line 102, column 1 - line 102, column 61: "+[n.constructor.name])},n.semigroupCatList=s}(PS["Data.CatList"]=PS["Data.CatList"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=PS["Control.Monad.Rec.Class"],o=(PS["Control.Monad.Trans.Class"],PS["Control.Semigroupoid"],PS["Data.CatList"]),i=(PS["Data.Either"],PS["Data.Eq"],PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"]),l=PS["Data.Maybe"],c=(PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"]),f=(PS["Data.Traversable"],PS["Data.Tuple"],PS.Prelude,PS["Unsafe.Coerce"],function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return new f(n,o.empty)},P=new a.Monad(function(){return D},function(){return p}),v=new i.Functor(function(n){return function(t){return r.bindFlipped(p)(function(t){return e.pure(D)(n(t))})(t)}}),p=new r.Bind(function(){return m},function(n){return function(e){return new f(n.value0,o.snoc(n.value1)(e))}}),m=new t.Apply(function(){return v},a.ap(P)),D=new e.Applicative(function(){return m},function(n){return S(s.create(n))});n.liftF=function(n){return S(new d(n,function(n){return e.pure(D)(n)}))},n.foldFree=function(n){return function(t){return u.tailRecM(n)(function(r){var a=function(n){var e,t=!1;function r(e){var r=function(n){return function(e){return new f(n.value0,c.append(o.semigroupCatList)(n.value1)(e))}};if(e.value0 instanceof s){var a=o.uncons(e.value1);if(a instanceof l.Nothing)return t=!0,new s(e.value0.value0);if(a instanceof l.Just)return void(n=r(function(n){return n}(a.value0.value0)(e.value0.value0))(a.value0.value1));throw new Error("Failed pattern match at Control.Monad.Free line 220, column 7 - line 224, column 64: "+[a.constructor.name])}if(e.value0 instanceof d)return t=!0,new d(e.value0.value0,function(n){return r(e.value0.value1(n))(e.value1)});throw new Error("Failed pattern match at Control.Monad.Free line 218, column 3 - line 226, column 56: "+[e.value0.constructor.name])}for(;!t;)e=r(n);return e}(r);if(a instanceof s)return i.map(n.Monad0().Bind1().Apply0().Functor0())(u.Done.create)(e.pure(n.Monad0().Applicative0())(a.value0));if(a instanceof d)return i.map(n.Monad0().Bind1().Apply0().Functor0())(function(n){return u.Loop.create(a.value1(n))})(t(a.value0));throw new Error("Failed pattern match at Control.Monad.Free line 151, column 10 - line 153, column 37: "+[a.constructor.name])})}},n.freeFunctor=v,n.freeBind=p,n.freeApplicative=D,n.freeApply=m,n.freeMonad=P}(PS["Control.Monad.Free"]=PS["Control.Monad.Free"]||{}),function(n){"use strict";var e=PS["Unsafe.Coerce"],t=e.unsafeCoerce,r=e.unsafeCoerce;n.mkExists=r,n.runExists=t}(PS["Data.Exists"]=PS["Data.Exists"]||{}),function(n){"use strict";PS["Control.Alt"],PS["Control.Alternative"],PS["Control.Applicative"],PS["Control.Apply"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Comonad"],PS["Control.Extend"],PS["Control.Monad"],PS["Control.Monad.Trans.Class"],PS["Control.MonadPlus"],PS["Control.MonadZero"],PS["Control.Plus"],PS["Control.Semigroupoid"],PS["Data.Distributive"],PS["Data.Eq"];var e=PS["Data.Exists"];PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Functor.Invariant"],PS["Data.Ord"],PS["Data.Semigroup.Foldable"],PS["Data.Semigroup.Traversable"],PS["Data.Traversable"],PS.Prelude;n.unCoyoneda=function(n){return function(t){return e.runExists(function(e){return n(e.value0)(e.value1)})(t)}}}(PS["Data.Coyoneda"]=PS["Data.Coyoneda"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=(PS["Control.Monad.Error.Class"],PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"]),o=(PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"]),i=(PS["Control.Monad.Writer.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"]),l=PS["Data.Either"],c=PS["Data.Exists"],f=PS["Data.Functor"],s=(PS["Data.Monoid"],PS["Data.Semigroup"],PS["Data.Unit"]),d=(PS["Effect.Class"],PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),S=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=S.create,p=function(n){return function(e){return new P(c.mkExists(new d(n,e)))}},m=function(n){return function(e){return new f.Functor(function(t){return function(r){if(r instanceof S)return new S(function(a){return f.map(e)(i.bimap(l.bifunctorEither)(t)(f.map(n)(f.map(m(n)(e))(t))))(r.value0(s.unit))});if(r instanceof P)return c.runExists(function(r){return p(r.value0)(function(a){return f.map(m(n)(e))(t)(r.value1(a))})})(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 57, column 1 - line 57, column 71: "+[t.constructor.name,r.constructor.name])}})}},D=function(n){return function(e){return new a.Monad(function(){return h(n)(e)},function(){return b(n)(e)})}},b=function(n){return function(e){return new r.Bind(function(){return g(n)(e)},function(n){return function(e){return n instanceof P?c.runExists(function(n){return p(n.value0)(function(t){return p(function(e){return n.value1(t)})(e)})})(n.value0):p(function(e){return n})(e)}})}},g=function(n){return function(e){return new t.Apply(function(){return m(n)(e.Bind1().Apply0().Functor0())},a.ap(D(n)(e)))}},h=function(n){return function(t){return new e.Applicative(function(){return g(n)(t)},function(n){return new S(function(r){return e.pure(t.Applicative0())(new l.Left(n))})})}},w=function(n){return function(t){return u.tailRecM(t)(function(a){if(a instanceof S)return f.map(t.Monad0().Bind1().Apply0().Functor0())(u.Done.create)(a.value0(s.unit));if(a instanceof P)return c.runExists(function(a){var o=a.value0(s.unit);if(o instanceof S)return r.bind(t.Monad0().Bind1())(o.value0(s.unit))(function(o){if(o instanceof l.Left)return e.pure(t.Monad0().Applicative0())(new u.Loop(a.value1(o.value0)));if(o instanceof l.Right)return e.pure(t.Monad0().Applicative0())(new u.Done(new l.Right(f.map(n)(function(e){return r.bind(b(n)(t.Monad0()))(e)(a.value1)})(o.value0))));throw new Error("Failed pattern match at Control.Monad.Free.Trans line 52, column 20 - line 54, column 67: "+[o.constructor.name])});if(o instanceof P)return c.runExists(function(o){return e.pure(t.Monad0().Applicative0())(new u.Loop(r.bind(b(n)(t.Monad0()))(o.value0(s.unit))(function(e){return r.bind(b(n)(t.Monad0()))(o.value1(e))(a.value1)})))})(o.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 50, column 5 - line 55, column 98: "+[o.constructor.name])})(a.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 47, column 3 - line 47, column 75: "+[a.constructor.name])})}};n.freeT=v,n.liftFreeT=function(n){return function(t){return function(r){return new S(function(a){return e.pure(t.Applicative0())(new l.Right(f.map(n)(e.pure(h(n)(t)))(r)))})}}},n.resume=w,n.runFreeT=function(n){return function(t){return function(a){return u.tailRecM(t)(r.composeKleisliFlipped(t.Monad0().Bind1())(function(n){if(n instanceof l.Left)return e.pure(t.Monad0().Applicative0())(new u.Done(n.value0));if(n instanceof l.Right)return f.map(t.Monad0().Bind1().Apply0().Functor0())(u.Loop.create)(a(n.value0));throw new Error("Failed pattern match at Control.Monad.Free.Trans line 126, column 3 - line 126, column 63: "+[n.constructor.name])})(w(n)(t)))}}},n.functorFreeT=m,n.applyFreeT=g,n.applicativeFreeT=h,n.bindFreeT=b,n.monadFreeT=D,n.monadTransFreeT=function(n){return new o.MonadTrans(function(n){return function(e){return new S(function(t){return f.map(n.Bind1().Apply0().Functor0())(l.Left.create)(e)})}})},n.monadRecFreeT=function(n){return function(t){return new u.MonadRec(function(){return D(n)(t)},function(a){var o=function(i){return r.bind(b(n)(t))(a(i))(function(r){if(r instanceof u.Loop)return o(r.value0);if(r instanceof u.Done)return e.pure(h(n)(t))(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans line 80, column 15 - line 82, column 25: "+[r.constructor.name])})};return o})}}}(PS["Control.Monad.Free.Trans"]=PS["Control.Monad.Free.Trans"]||{}),function(n){"use strict";var e=PS["Control.Category"],t=(PS["Control.Semigroupoid"],PS["Data.Newtype"],PS.Prelude,function(n){this.dimap=n}),r=new t(function(n){return function(e){return function(t){return function(r){return e(t(n(r)))}}}}),a=function(n){return n.dimap};n.dimap=a,n.Profunctor=t,n.rmap=function(n){return function(t){return a(n)(e.identity(e.categoryFn))(t)}},n.profunctorFn=r}(PS["Data.Profunctor"]=PS["Data.Profunctor"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Apply"],r=PS["Control.Bind"],a=PS["Control.Category"],u=(PS["Control.Monad.Except"],PS["Control.Monad.Except.Trans"]),o=PS["Control.Monad.Free.Trans"],i=PS["Control.Monad.Rec.Class"],l=PS["Control.Monad.Trans.Class"],c=(PS["Control.Parallel"],PS["Control.Parallel.Class"]),f=(PS["Control.Semigroupoid"],PS["Data.Bifunctor"]),s=PS["Data.Either"],d=(PS["Data.Function"],PS["Data.Functor"]),S=PS["Data.Identity"],P=PS["Data.Maybe"],v=PS["Data.Newtype"],p=PS["Data.Profunctor"],m=PS["Data.Tuple"],D=PS["Data.Unit"],b=(PS.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),g=new p.Profunctor(function(n){return function(e){return function(t){return p.dimap(p.profunctorFn)(n)(e)(t)}}}),h=function(n){return function(e){return function(t){return i.tailRecM(o.monadRecFreeT(n)(e))(function(r){return d.map(o.functorFreeT(n)(e.Bind1().Apply0().Functor0()))(P.maybe(new i.Loop(D.unit))(i.Done.create))(t)})(D.unit)}}},w=function(n){return function(t){return function(a){return function(i){return function(l){return function(c){return function(f){var s=function(c){return u.runExceptT(r.bind(u.bindExceptT(i.Monad0()))(u.ExceptT(o.resume(n)(i)(c.value0)))(function(n){return r.bind(u.bindExceptT(i.Monad0()))(u.ExceptT(o.resume(t)(i)(c.value1)))(function(t){return e.pure(u.applicativeExceptT(i.Monad0()))(d.map(a)(function(n){return o.freeT(function(e){return s(n)})})(l(m.Tuple.create)(n)(t)))})}))};return o.freeT(function(n){return s(new m.Tuple(c,f))})}}}}}}},y=function(n){return function(a){return function(u){return function(i){return function(l){return function(f){return function(S){return function(P){var v=function(S){return r.bind(i.Monad0().Bind1())(c.sequential(l)(t.apply(l.Applicative1().Apply0())(d.map(l.Applicative1().Apply0().Functor0())(t.lift2(s.applyEither)(f(m.Tuple.create)))(c.parallel(l)(o.resume(n)(i)(S.value0))))(c.parallel(l)(o.resume(a)(i)(S.value1)))))(function(n){if(n instanceof s.Left)return e.pure(i.Monad0().Applicative0())(new s.Left(n.value0));if(n instanceof s.Right)return e.pure(i.Monad0().Applicative0())(new s.Right(d.map(u)(function(n){return o.freeT(function(e){return v(n)})})(n.value0)));throw new Error("Failed pattern match at Control.Coroutine line 79, column 5 - line 81, column 63: "+[n.constructor.name])})};return o.freeT(function(n){return v(new m.Tuple(S,P))})}}}}}}}},E=new d.Functor(p.rmap(g)),M=new f.Bifunctor(function(n){return function(e){return function(t){return new b(n(t.value0),e(t.value1))}}}),C=new d.Functor(f.rmap(M)),T=function(n){return function(e){return o.liftFreeT(C)(n)(new b(e,D.unit))}};n.loop=h,n.runProcess=function(n){return o.runFreeT(S.functorIdentity)(n)(function(t){return e.pure(n.Monad0().Applicative0())(v.unwrap(S.newtypeIdentity)(t))})},n.fuseWith=y,n.fuseWithL=w,n.Emit=b,n.emit=T,n.producer=function(n){return function(t){return h(C)(n)(r.bind(o.bindFreeT(C)(n))(l.lift(o.monadTransFreeT(C))(n)(t))(function(t){if(t instanceof s.Left)return d.voidLeft(o.functorFreeT(C)(n.Bind1().Apply0().Functor0()))(T(n)(t.value0))(P.Nothing.value);if(t instanceof s.Right)return e.pure(o.applicativeFreeT(C)(n))(new P.Just(t.value0));throw new Error("Failed pattern match at Control.Coroutine line 125, column 3 - line 127, column 29: "+[t.constructor.name])}))}},n.await=function(n){return o.liftFreeT(E)(n)(a.identity(a.categoryFn))},n.connect=function(n){return function(e){return y(C)(E)(S.functorIdentity)(n)(e)(function(n){return function(e){return function(t){return n(e.value1)(t(e.value0))}}})}},n.pullFrom=function(n){return w(E)(C)(S.functorIdentity)(n)(function(n){return function(t){return function(r){return e.pure(S.applicativeIdentity)(n(t(r.value0))(r.value1))}}})},n.bifunctorEmit=M,n.functorEmit=C,n.profunctorAwait=g,n.functorAwait=E}(PS["Control.Coroutine"]=PS["Control.Coroutine"]||{}),function(n){"use strict";var e=function(){function n(){this.head=null,this.last=null,this.size=0}function e(n,e){this.queue=n,this.value=e,this.next=null,this.prev=null}function t(e){this.draining=!1,this.error=null,this.value=e,this.takes=new n,this.reads=new n,this.puts=new n}var r={};function a(n){try{n()}catch(n){setTimeout(function(){throw n},0)}}function u(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.last,n.head.next=null,n.last=null;break;default:e=n.last,n.last=e.prev,n.last.next=null}return e.prev=null,e.queue=null,n.size--,e.value}function o(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.head,n.last.prev=null,n.head=n.last,n.last=null;break;default:e=n.head,n.head=e.next,n.head.prev=null}return e.next=null,e.queue=null,n.size--,e.value}return t.EMPTY=r,t.putLast=function(n,t){var r=new e(n,t);switch(n.size){case 0:n.head=r;break;case 1:r.prev=n.head,n.head.next=r,n.last=r;break;default:r.prev=n.last,n.last.next=r,n.last=r}return n.size++,r},t.takeLast=u,t.takeHead=o,t.deleteCell=function(n){null!==n.queue&&(n.queue.last!==n?n.queue.head!==n?(n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),n.queue.size--,n.queue=null,n.value=null,n.next=null,n.prev=null):o(n.queue):u(n.queue))},t.drainVar=function(n,e){if(!e.draining){var t,u,i,l,c,f=e.puts,s=e.takes,d=e.reads;for(e.draining=!0;;){if(t=null,u=null,i=null,l=e.value,c=d.size,null!==e.error){for(l=n.left(e.error);t=o(f);)a(t.cb(l));for(;u=o(d);)a(u(l));for(;i=o(s);)a(i(l));break}if(l===r&&(t=o(f))&&(e.value=l=t.value),l!==r){for(i=o(s);c--&&(u=o(d));)a(u(n.right(l)));null!==i&&(e.value=r,a(i(n.right(l))))}if(null!==t&&a(t.cb(n.right(void 0))),e.value===r&&0===f.size||e.value!==r&&0===s.size)break}e.draining=!1}},t}();n.empty=function(){return new e(e.EMPTY)},n._killVar=function(n,t,r){return function(){null===r.error&&(r.error=t,r.value=e.EMPTY,e.drainVar(n,r))}},n._putVar=function(n,t,r,a){return function(){var u=e.putLast(r.puts,{cb:a,value:t});return e.drainVar(n,r),function(){e.deleteCell(u)}}},n._takeVar=function(n,t,r){return function(){var a=e.putLast(t.takes,r);return e.drainVar(n,t),function(){e.deleteCell(a)}}}}(PS["Effect.AVar"]=PS["Effect.AVar"]||{}),function(n){"use strict";var e=PS["Effect.AVar"],t=PS["Data.Either"],r=(PS["Data.Function.Uncurried"],PS["Data.Maybe"]),a=(PS.Effect,PS["Effect.Exception"],PS.Prelude,function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(){}return n.value=new n,n}(),i={left:t.Left.create,right:t.Right.create,nothing:r.Nothing.value,just:r.Just.create,killed:a.create,filled:u.create,empty:o.value};n.Killed=a,n.Filled=u,n.Empty=o,n.take=function(n){return function(t){return e._takeVar(i,n,t)}},n.put=function(n){return function(t){return function(r){return e._putVar(i,n,t,r)}}},n.kill=function(n){return function(t){return e._killVar(i,n,t)}},n.empty=e.empty}(PS["Effect.AVar"]=PS["Effect.AVar"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Semigroupoid"],PS["Data.Maybe"],PS.Effect;var e=PS["Effect.AVar"],t=PS["Effect.Aff"],r=PS["Effect.Class"],a=(PS["Effect.Exception"],PS.Prelude,r.liftEffect(t.monadEffectAff)(e.empty));n.empty=a,n.take=function(n){return t.makeAff(function(r){return function(){var a=e.take(n)(r)();return t.effectCanceler(a)}})},n.put=function(n){return function(r){return t.makeAff(function(a){return function(){var u=e.put(n)(r)(a)();return t.effectCanceler(u)}})}},n.kill=function(n){return function(a){return r.liftEffect(t.monadEffectAff)(e.kill(n)(a))}}}(PS["Effect.Aff.AVar"]=PS["Effect.Aff.AVar"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Coroutine"],PS["Control.Monad.Free.Trans"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Either"];var e=PS["Data.Eq"],t=(PS["Data.Foldable"],PS["Data.Function"],PS["Data.Functor"],PS["Data.Maybe"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Unit"],PS.Effect,PS["Effect.Aff"],PS["Effect.Aff.AVar"],PS["Effect.Aff.Class"],PS["Effect.Class"],PS["Effect.Exception"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),r=function(){function n(){}return n.value=new n,n}(),a=new e.Eq(function(n){return function(e){return n instanceof t&&e instanceof t||n instanceof r&&e instanceof r}});n.Listening=t,n.Done=r,n.unEventSource=function(n){return n},n.eqSubscribeStatus=a}(PS["Halogen.Query.EventSource"]=PS["Halogen.Query.EventSource"]||{}),function(n){"use strict";PS["Control.Category"],PS["Data.Function"],PS["Data.Functor"],PS["Effect.Aff"],PS["Effect.Exception"],PS.Prelude;var e=PS["Unsafe.Coerce"].unsafeCoerce;n.unFork=e}(PS["Halogen.Query.ForkF"]=PS["Halogen.Query.ForkF"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Applicative.Free"],PS["Control.Apply"]),r=PS["Control.Bind"],a=(PS["Control.Category"],PS["Control.Monad"]),u=PS["Control.Monad.Free"],o=(PS["Control.Monad.Reader.Class"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.State.Class"]),i=(PS["Control.Monad.Trans.Class"],PS["Control.Monad.Writer.Class"],PS["Control.Parallel.Class"],PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Coyoneda"],PS["Data.Function"],PS["Data.Functor"]),l=(PS["Data.List"],PS["Data.List.Types"],PS["Data.Maybe"],PS["Data.Newtype"],PS["Data.Tuple"],PS["Data.Unit"]),c=PS["Effect.Aff.Class"],f=PS["Effect.Class"],s=(PS["Effect.Exception"],PS["Halogen.Query.EventSource"],PS["Halogen.Query.ForkF"],PS["Halogen.Query.InputF"],PS.Prelude,PS["Web.DOM"],function(n){return n}),d=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),S=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),p=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),m=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),D=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),b=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),g=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),h=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),w=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),y=new i.Functor(function(n){return function(e){return i.map(u.freeFunctor)(n)(e)}}),E=new t.Apply(function(){return y},function(n){return function(e){return t.apply(u.freeApply)(n)(e)}}),M=new r.Bind(function(){return E},function(n){return function(e){return r.bind(u.freeBind)(n)(function(n){return e(n)})}}),C=new e.Applicative(function(){return E},function(n){return e.pure(u.freeApplicative)(n)}),T=new a.Monad(function(){return C},function(){return M}),A=function(n){return new f.MonadEffect(function(){return T},function(e){return s(u.liftF(P.create(f.liftEffect(n)(e))))})},F=new o.MonadState(function(){return T},function(n){return s(u.liftF(d.create(n)))});n.State=d,n.Subscribe=S,n.Lift=P,n.Halt=v,n.GetSlots=p,n.CheckSlot=m,n.ChildQuery=D,n.Raise=b,n.Par=g,n.Fork=h,n.GetRef=w,n.HalogenM=s,n.raise=function(n){return s(u.liftF(new b(n,l.unit)))},n.functorHalogenM=y,n.applyHalogenM=E,n.applicativeHalogenM=C,n.bindHalogenM=M,n.monadHalogenM=T,n.monadEffectHalogenM=A,n.monadAffHalogenM=function(n){return new c.MonadAff(function(){return A(n.MonadEffect0())},function(e){return s(u.liftF(P.create(c.liftAff(n)(e))))})},n.monadStateHalogenM=F}(PS["Halogen.Query.HalogenM"]=PS["Halogen.Query.HalogenM"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Bifunctor"],PS["Data.Const"],PS["Data.Functor"];var e=PS["Data.Maybe"],t=PS["Data.Ord"],r=PS["Halogen.Data.OrdBox"],a=(PS["Halogen.HTML.Core"],PS["Halogen.Query.HalogenM"],PS.Prelude,PS["Unsafe.Coerce"]),u=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),o=a.unsafeCoerce,i=u.create,l=a.unsafeCoerce,c=function(n){return function(n){return l({initialState:n.initialState,render:n.render,eval:n.eval,receiver:n.receiver,initializer:n.initializer,finalizer:n.finalizer,mkOrdBox:r.mkOrdBox(t.ordVoid)})}};n.mkComponent=l,n.unComponent=o,n.component=function(n){return function(n){return c()({initialState:n.initialState,render:n.render,eval:n.eval,receiver:n.receiver,initializer:e.Nothing.value,finalizer:e.Nothing.value})}},n.lifecycleComponent=c,n.parentComponent=function(n){return function(t){return l({initialState:t.initialState,render:t.render,eval:t.eval,receiver:t.receiver,initializer:e.Nothing.value,finalizer:e.Nothing.value,mkOrdBox:r.mkOrdBox(n)})}},n.mkComponentSlot=i,n.unComponentSlot=function(n){return function(e){return n(e.value0)(e.value1)(e.value2)(e.value3)(e.value4)(e.value5)}}}(PS["Halogen.Component"]=PS["Halogen.Component"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed"],PS["DOM.HTML.Indexed.ButtonType"],PS["DOM.HTML.Indexed.FormMethod"],PS["DOM.HTML.Indexed.InputType"],PS["DOM.HTML.Indexed.MenuType"],PS["DOM.HTML.Indexed.MenuitemType"];var e=PS["DOM.HTML.Indexed.OnOff"],t=(PS["DOM.HTML.Indexed.OrderedListType"],PS["DOM.HTML.Indexed.PreloadValue"],PS["DOM.HTML.Indexed.StepValue"],PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),r=(PS["Data.MediaType"],PS["Data.Newtype"]),a=(PS["Data.String"],PS["Data.String.Common"],PS["Data.Unit"],PS["Halogen.HTML.Core"]),u=(PS["Halogen.Query.InputF"],PS["Halogen.VDom.DOM.Prop"],PS.Prelude,PS["Unsafe.Coerce"],PS["Web.DOM.Element"],function(n){return a.prop(n)}),o=u(a.booleanIsProp)("required"),i=u(a.intIsProp)("rows"),l=u(a.stringIsProp)("target"),c=u(a.stringIsProp)("title"),f=u(a.stringIsProp)("value"),s=u(a.stringIsProp)("name"),d=u(a.stringIsProp)("id"),S=u(a.stringIsProp)("href"),P=u(a.stringIsProp)("htmlFor"),v=u(a.booleanIsProp)("checked"),p=u(a.booleanIsProp)("autofocus"),m=a.attr(t.Nothing.value);n.prop=u,n.attr=m,n.class_=function(n){return u(a.stringIsProp)("className")(r.unwrap(a.newtypeClassName)(n))},n.rows=i,n.for=P,n.href=S,n.id_=d,n.name=s,n.target=l,n.title=c,n.type_=function(n){return u(n)("type")},n.value=f,n.required=o,n.checked=v,n.autocomplete=function(n){return u(a.onOffIsProp)("autocomplete")(n?e.On.value:e.Off.value)},n.autofocus=p}(PS["Halogen.HTML.Properties"]=PS["Halogen.HTML.Properties"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed"],PS["Data.Function"];var e=PS["Data.Maybe"],t=(PS["Data.Tuple"],PS["Halogen.HTML.Core"]),r=(PS["Halogen.HTML.Properties"],PS["Halogen.Query.InputF"],PS["Halogen.VDom"],PS["Halogen.VDom.Types"],PS.Prelude,PS["Unsafe.Coerce"],t.element(e.Nothing.value)),a=r("form"),u=r("label"),o=r("p"),i=o([]),l=r("span"),c=r("table"),f=r("tbody"),s=f([]),d=r("td"),S=d([]),P=r("tr"),v=P([]),p=r("div"),m=p([]),D=r("button"),b=function(n){return r("br")(n)([])},g=b([]),h=r("a");n.element=r,n.a=h,n.br=b,n.br_=g,n.button=D,n.div=p,n.div_=m,n.form=a,n.input=function(n){return r("input")(n)([])},n.label=u,n.p=o,n.p_=i,n.span=l,n.table=c,n.tbody=f,n.tbody_=s,n.td=d,n.td_=S,n.textarea=function(n){return r("textarea")(n)([])},n.tr=P,n.tr_=v}(PS["Halogen.HTML.Elements"]=PS["Halogen.HTML.Elements"]||{}),function(n){"use strict";PS["Control.Semigroupoid"],PS["Data.Functor"];var e=PS["Data.Maybe"],t=PS["Halogen.Component"],r=(PS["Halogen.Component.ChildPath"],PS["Halogen.HTML.Core"]);PS["Halogen.HTML.Elements"],PS["Halogen.HTML.Properties"],PS.Prelude,PS["Unsafe.Coerce"];n.slot=function(n){return function(a){return function(u){return function(o){var i=t.unComponent(function(n){return n.receiver})(a);return r.slot(t.mkComponentSlot(n)(a)(u)(i)(o)(e.Just.create))}}}}}(PS["Halogen.HTML"]=PS["Halogen.HTML"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=(PS["Control.Apply"],PS["Control.Category"],PS["Control.Semigroupoid"],PS["Data.Eq"],PS["Data.Foldable"]),r=(PS["Data.FoldableWithIndex"],PS["Data.Function"],PS["Data.Functor"]),a=(PS["Data.FunctorWithIndex"],PS["Data.HeytingAlgebra"],PS["Data.List"],PS["Data.List.Lazy"],PS["Data.List.Lazy.Types"],PS["Data.List.Types"]),u=PS["Data.Maybe"],o=(PS["Data.Monoid"],PS["Data.Ord"]),i=PS["Data.Ordering"],l=PS["Data.Semigroup"],c=(PS["Data.Semiring"],PS["Data.Show"],PS["Data.Traversable"],PS["Data.TraversableWithIndex"],PS["Data.Tuple"]),f=(PS["Data.Unfoldable"],PS["Partial.Unsafe"],PS.Prelude,function(){function n(){}return n.value=new n,n}()),s=function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}return n.create=function(e){return function(t){return function(r){return function(a){return new n(e,t,r,a)}}}},n}(),d=function(){function n(n,e,t,r,a,u,o){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u,this.value6=o}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return function(i){return new n(e,t,r,a,u,o,i)}}}}}}},n}(),S=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),P=function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}(),v=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),p=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),m=function(){function n(n,e,t,r,a,u){this.value0=n,this.value1=e,this.value2=t,this.value3=r,this.value4=a,this.value5=u}return n.create=function(e){return function(t){return function(r){return function(a){return function(u){return function(o){return new n(e,t,r,a,u,o)}}}}}},n}(),D=function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}return n.create=function(e){return function(t){return function(r){return function(a){return new n(e,t,r,a)}}}},n}(),b=function(n){if(n instanceof f)return a.Nil.value;if(n instanceof s)return l.append(a.semigroupList)(b(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value2))(b(n.value3)));if(n instanceof d)return l.append(a.semigroupList)(b(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value2))(l.append(a.semigroupList)(b(n.value3))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value5))(b(n.value6)))));throw new Error("Failed pattern match at Data.Map.Internal line 594, column 1 - line 594, column 40: "+[n.constructor.name])},g=function(n){return function(e){var t=o.compare(n);return function(n){var r,a=!1;function o(r){if(r instanceof f)return a=!0,u.Nothing.value;if(r instanceof s){var o=t(e)(r.value1);return o instanceof i.EQ?(a=!0,new u.Just(r.value2)):o instanceof i.LT?void(n=r.value0):void(n=r.value3)}if(r instanceof d){var l=t(e)(r.value1);if(l instanceof i.EQ)return a=!0,new u.Just(r.value2);var c=t(e)(r.value4);return c instanceof i.EQ?(a=!0,new u.Just(r.value5)):l instanceof i.LT?void(n=r.value0):c instanceof i.GT?void(n=r.value6):void(n=r.value3)}throw new Error("Failed pattern match at Data.Map.Internal line 193, column 5 - line 193, column 22: "+[r.constructor.name])}for(;!a;)r=o(n);return r}}},h=function(n){if(n instanceof f)return a.Nil.value;if(n instanceof s)return l.append(a.semigroupList)(h(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value1))(h(n.value3)));if(n instanceof d)return l.append(a.semigroupList)(h(n.value0))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value1))(l.append(a.semigroupList)(h(n.value3))(l.append(a.semigroupList)(e.pure(a.applicativeList)(n.value4))(h(n.value6)))));throw new Error("Failed pattern match at Data.Map.Internal line 588, column 1 - line 588, column 38: "+[n.constructor.name])},w=new r.Functor(function(n){return function(e){if(e instanceof f)return f.value;if(e instanceof s)return new s(r.map(w)(n)(e.value0),e.value1,n(e.value2),r.map(w)(n)(e.value3));if(e instanceof d)return new d(r.map(w)(n)(e.value0),e.value1,n(e.value2),r.map(w)(n)(e.value3),e.value4,n(e.value5),r.map(w)(n)(e.value6));throw new Error("Failed pattern match at Data.Map.Internal line 89, column 1 - line 89, column 39: "+[n.constructor.name,e.constructor.name])}}),y=function(n){return function(e){return function(t){var r,u=n,o=e,i=!1;function l(n,e,r){if(e instanceof a.Nil)return i=!0,r;if(e instanceof a.Cons){if(e.value0 instanceof S)return u=n,o=e.value1,void(t=new s(r,e.value0.value0,e.value0.value1,e.value0.value2));if(e.value0 instanceof P)return u=n,o=e.value1,void(t=new s(e.value0.value0,e.value0.value1,e.value0.value2,r));if(e.value0 instanceof v)return u=n,o=e.value1,void(t=new d(r,e.value0.value0,e.value0.value1,e.value0.value2,e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p)return u=n,o=e.value1,void(t=new d(e.value0.value0,e.value0.value1,e.value0.value2,r,e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof m)return u=n,o=e.value1,void(t=new d(e.value0.value0,e.value0.value1,e.value0.value2,e.value0.value3,e.value0.value4,e.value0.value5,r));throw new Error("Failed pattern match at Data.Map.Internal line 411, column 3 - line 416, column 88: "+[e.value0.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal line 408, column 1 - line 408, column 80: "+[e.constructor.name,r.constructor.name])}for(;!i;)r=l(u,o,t);return r}}},E=function(n){return function(e){return function(t){var r,u=function(e){return function(t){var r,u=e,o=!1;function i(e,r){if(e instanceof a.Nil)return o=!0,new s(r.value0,r.value1,r.value2,r.value3);if(e instanceof a.Cons){if(e.value0 instanceof S)return o=!0,y(n)(e.value1)(new d(r.value0,r.value1,r.value2,r.value3,e.value0.value0,e.value0.value1,e.value0.value2));if(e.value0 instanceof P)return o=!0,y(n)(e.value1)(new d(e.value0.value0,e.value0.value1,e.value0.value2,r.value0,r.value1,r.value2,r.value3));if(e.value0 instanceof v)return u=e.value1,void(t=new D(new s(r.value0,r.value1,r.value2,r.value3),e.value0.value0,e.value0.value1,new s(e.value0.value2,e.value0.value3,e.value0.value4,e.value0.value5)));if(e.value0 instanceof p)return u=e.value1,void(t=new D(new s(e.value0.value0,e.value0.value1,e.value0.value2,r.value0),r.value1,r.value2,new s(r.value3,e.value0.value3,e.value0.value4,e.value0.value5)));if(e.value0 instanceof m)return u=e.value1,void(t=new D(new s(e.value0.value0,e.value0.value1,e.value0.value2,e.value0.value3),e.value0.value4,e.value0.value5,new s(r.value0,r.value1,r.value2,r.value3)));throw new Error("Failed pattern match at Data.Map.Internal line 447, column 5 - line 452, column 108: "+[e.value0.constructor.name,r.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal line 444, column 3 - line 444, column 56: "+[e.constructor.name,r.constructor.name])}for(;!o;)r=i(u,t);return r}},l=o.compare(n);return r=a.Nil.value,function(o){var c,b=r,g=!1;function h(r,c){if(c instanceof f)return g=!0,u(r)(new D(f.value,e,t,f.value));if(c instanceof s){var h=l(e)(c.value1);return h instanceof i.EQ?(g=!0,y(n)(r)(new s(c.value0,e,t,c.value3))):h instanceof i.LT?(b=new a.Cons(new S(c.value1,c.value2,c.value3),r),void(o=c.value0)):(b=new a.Cons(new P(c.value0,c.value1,c.value2),r),void(o=c.value3))}if(c instanceof d){var w=l(e)(c.value1);if(w instanceof i.EQ)return g=!0,y(n)(r)(new d(c.value0,e,t,c.value3,c.value4,c.value5,c.value6));var E=l(e)(c.value4);return E instanceof i.EQ?(g=!0,y(n)(r)(new d(c.value0,c.value1,c.value2,c.value3,e,t,c.value6))):w instanceof i.LT?(b=new a.Cons(new v(c.value1,c.value2,c.value3,c.value4,c.value5,c.value6),r),void(o=c.value0)):w instanceof i.GT&&E instanceof i.LT?(b=new a.Cons(new p(c.value0,c.value1,c.value2,c.value4,c.value5,c.value6),r),void(o=c.value3)):(b=new a.Cons(new m(c.value0,c.value1,c.value2,c.value3,c.value4,c.value5),r),void(o=c.value6))}throw new Error("Failed pattern match at Data.Map.Internal line 427, column 3 - line 427, column 55: "+[r.constructor.name,c.constructor.name])}for(;!g;)c=h(b,o);return c}}}},M=function(n){return function(e){var t,r=function(e){return function(t){if(e instanceof a.Nil)return t;if(e instanceof a.Cons){return function(){if(e.value0 instanceof S&&e.value0.value2 instanceof f&&t instanceof f)return y(n)(e.value1)(new s(f.value,e.value0.value0,e.value0.value1,f.value));if(e.value0 instanceof P&&e.value0.value0 instanceof f&&t instanceof f)return y(n)(e.value1)(new s(f.value,e.value0.value1,e.value0.value2,f.value));if(e.value0 instanceof S&&e.value0.value2 instanceof s)return r(e.value1)(new d(t,e.value0.value0,e.value0.value1,e.value0.value2.value0,e.value0.value2.value1,e.value0.value2.value2,e.value0.value2.value3));if(e.value0 instanceof P&&e.value0.value0 instanceof s)return r(e.value1)(new d(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3,e.value0.value1,e.value0.value2,t));if(e.value0 instanceof S&&e.value0.value2 instanceof d)return y(n)(e.value1)(new s(new s(t,e.value0.value0,e.value0.value1,e.value0.value2.value0),e.value0.value2.value1,e.value0.value2.value2,new s(e.value0.value2.value3,e.value0.value2.value4,e.value0.value2.value5,e.value0.value2.value6)));if(e.value0 instanceof P&&e.value0.value0 instanceof d)return y(n)(e.value1)(new s(new s(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3),e.value0.value0.value4,e.value0.value0.value5,new s(e.value0.value0.value6,e.value0.value1,e.value0.value2,t)));if(e.value0 instanceof v&&e.value0.value2 instanceof f&&e.value0.value5 instanceof f&&t instanceof f)return y(n)(e.value1)(new d(f.value,e.value0.value0,e.value0.value1,f.value,e.value0.value3,e.value0.value4,f.value));if(e.value0 instanceof p&&e.value0.value0 instanceof f&&e.value0.value5 instanceof f&&t instanceof f)return y(n)(e.value1)(new d(f.value,e.value0.value1,e.value0.value2,f.value,e.value0.value3,e.value0.value4,f.value));if(e.value0 instanceof m&&e.value0.value0 instanceof f&&e.value0.value3 instanceof f&&t instanceof f)return y(n)(e.value1)(new d(f.value,e.value0.value1,e.value0.value2,f.value,e.value0.value4,e.value0.value5,f.value));if(e.value0 instanceof v&&e.value0.value2 instanceof s)return y(n)(e.value1)(new s(new d(t,e.value0.value0,e.value0.value1,e.value0.value2.value0,e.value0.value2.value1,e.value0.value2.value2,e.value0.value2.value3),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value0 instanceof s)return y(n)(e.value1)(new s(new d(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3,e.value0.value1,e.value0.value2,t),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value5 instanceof s)return y(n)(e.value1)(new s(e.value0.value0,e.value0.value1,e.value0.value2,new d(t,e.value0.value3,e.value0.value4,e.value0.value5.value0,e.value0.value5.value1,e.value0.value5.value2,e.value0.value5.value3)));if(e.value0 instanceof m&&e.value0.value3 instanceof s)return y(n)(e.value1)(new s(e.value0.value0,e.value0.value1,e.value0.value2,new d(e.value0.value3.value0,e.value0.value3.value1,e.value0.value3.value2,e.value0.value3.value3,e.value0.value4,e.value0.value5,t)));if(e.value0 instanceof v&&e.value0.value2 instanceof d)return y(n)(e.value1)(new d(new s(t,e.value0.value0,e.value0.value1,e.value0.value2.value0),e.value0.value2.value1,e.value0.value2.value2,new s(e.value0.value2.value3,e.value0.value2.value4,e.value0.value2.value5,e.value0.value2.value6),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value0 instanceof d)return y(n)(e.value1)(new d(new s(e.value0.value0.value0,e.value0.value0.value1,e.value0.value0.value2,e.value0.value0.value3),e.value0.value0.value4,e.value0.value0.value5,new s(e.value0.value0.value6,e.value0.value1,e.value0.value2,t),e.value0.value3,e.value0.value4,e.value0.value5));if(e.value0 instanceof p&&e.value0.value5 instanceof d)return y(n)(e.value1)(new d(e.value0.value0,e.value0.value1,e.value0.value2,new s(t,e.value0.value3,e.value0.value4,e.value0.value5.value0),e.value0.value5.value1,e.value0.value5.value2,new s(e.value0.value5.value3,e.value0.value5.value4,e.value0.value5.value5,e.value0.value5.value6)));if(e.value0 instanceof m&&e.value0.value3 instanceof d)return y(n)(e.value1)(new d(e.value0.value0,e.value0.value1,e.value0.value2,new s(e.value0.value3.value0,e.value0.value3.value1,e.value0.value3.value2,e.value0.value3.value3),e.value0.value3.value4,e.value0.value3.value5,new s(e.value0.value3.value6,e.value0.value4,e.value0.value5,t)));throw new Error("Failed pattern match at Data.Map.Internal line 497, column 9 - line 514, column 136: "+[e.value0.constructor.name,t.constructor.name])}()}throw new Error("Failed pattern match at Data.Map.Internal line 494, column 5 - line 514, column 136: "+[e.constructor.name])}},l=function(n){return function(e){return function(){if(e instanceof s&&e.value0 instanceof f&&e.value3 instanceof f)return r(n)(f.value);if(e instanceof s)return l(new a.Cons(new P(e.value0,e.value1,e.value2),n))(e.value3);if(e instanceof d&&e.value0 instanceof f&&e.value3 instanceof f&&e.value6 instanceof f)return r(new a.Cons(new P(f.value,e.value1,e.value2),n))(f.value);if(e instanceof d)return l(new a.Cons(new m(e.value0,e.value1,e.value2,e.value3,e.value4,e.value5),n))(e.value6);throw new Error("Failed pattern match at Data.Map.Internal line 526, column 5 - line 530, column 107: "+[e.constructor.name])}()}},D=function(n){return function(){if(n instanceof s&&n.value3 instanceof f)return{key:n.value1,value:n.value2};if(n instanceof s)return D(n.value3);if(n instanceof d&&n.value6 instanceof f)return{key:n.value4,value:n.value5};if(n instanceof d)return D(n.value6);throw new Error("Failed pattern match at Data.Map.Internal line 517, column 33 - line 521, column 45: "+[n.constructor.name])}()},b=o.compare(n);return t=a.Nil.value,function(o){var g,h=t,w=!1;function E(t,g){if(g instanceof f)return w=!0,u.Nothing.value;if(g instanceof s){var E=b(e)(g.value1);if(g.value3 instanceof f&&E instanceof i.EQ)return w=!0,new u.Just(new c.Tuple(g.value2,r(t)(f.value)));if(E instanceof i.EQ){var M=D(g.value0);return w=!0,new u.Just(new c.Tuple(g.value2,l(new a.Cons(new S(M.key,M.value,g.value3),t))(g.value0)))}return E instanceof i.LT?(h=new a.Cons(new S(g.value1,g.value2,g.value3),t),void(o=g.value0)):(h=new a.Cons(new P(g.value0,g.value1,g.value2),t),void(o=g.value3))}if(g instanceof d){var C=g.value0 instanceof f&&g.value3 instanceof f&&g.value6 instanceof f,T=(E=b(e)(g.value4),b(e)(g.value1));return C&&T instanceof i.EQ?(w=!0,new u.Just(new c.Tuple(g.value2,y(n)(t)(new s(f.value,g.value4,g.value5,f.value))))):C&&E instanceof i.EQ?(w=!0,new u.Just(new c.Tuple(g.value5,y(n)(t)(new s(f.value,g.value1,g.value2,f.value))))):T instanceof i.EQ?(M=D(g.value0),w=!0,new u.Just(new c.Tuple(g.value2,l(new a.Cons(new v(M.key,M.value,g.value3,g.value4,g.value5,g.value6),t))(g.value0)))):E instanceof i.EQ?(M=D(g.value3),w=!0,new u.Just(new c.Tuple(g.value5,l(new a.Cons(new p(g.value0,g.value1,g.value2,M.key,M.value,g.value6),t))(g.value3)))):T instanceof i.LT?(h=new a.Cons(new v(g.value1,g.value2,g.value3,g.value4,g.value5,g.value6),t),void(o=g.value0)):T instanceof i.GT&&E instanceof i.LT?(h=new a.Cons(new p(g.value0,g.value1,g.value2,g.value4,g.value5,g.value6),t),void(o=g.value3)):(h=new a.Cons(new m(g.value0,g.value1,g.value2,g.value3,g.value4,g.value5),t),void(o=g.value6))}throw new Error("Failed pattern match at Data.Map.Internal line 467, column 34 - line 490, column 80: "+[g.constructor.name])}for(;!w;)g=E(h,o);return g}}},C=new t.Foldable(function(n){return function(e){return function(r){return t.foldMap(a.foldableList)(n)(e)(b(r))}}},function(n){return function(e){return function(r){return t.foldl(a.foldableList)(n)(e)(b(r))}}},function(n){return function(e){return function(r){return t.foldr(a.foldableList)(n)(e)(b(r))}}}),T=f.value,A=function(n){return function(e){return function(t){return u.maybe(t)(c.snd)(M(n)(e)(t))}}};n.empty=T,n.insert=E,n.lookup=g,n.delete=A,n.pop=M,n.member=function(n){return function(e){return function(t){return u.isJust(g(n)(e)(t))}}},n.alter=function(n){return function(e){return function(t){return function(r){var a=e(g(n)(t)(r));if(a instanceof u.Nothing)return A(n)(t)(r);if(a instanceof u.Just)return E(n)(t)(a.value0)(r);throw new Error("Failed pattern match at Data.Map.Internal line 535, column 15 - line 537, column 25: "+[a.constructor.name])}}}},n.keys=h,n.values=b,n.functorMap=w,n.foldableMap=C}(PS["Data.Map.Internal"]=PS["Data.Map.Internal"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Monad.Rec.Class"],PS["Control.Monad.ST"],PS["Control.Monad.ST.Internal"],PS["Control.Semigroupoid"],PS["Data.Array"],PS["Data.Array.ST"],PS["Data.Eq"];var e=PS["Data.Foldable"],t=(PS["Data.Function"],PS["Data.Functor"],PS["Data.HeytingAlgebra"],PS["Data.List"],PS["Data.List.Types"]),r=PS["Data.Map.Internal"],a=(PS["Data.Maybe"],PS["Data.Monoid"],PS["Data.Ord"],PS["Data.Ordering"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.Unfoldable"],PS["Data.Unit"],PS["Partial.Unsafe"],PS.Prelude,function(n){return r.keys(n)}),u=new e.Foldable(function(n){return function(r){return function(u){return e.foldMap(t.foldableList)(n)(r)(a(u))}}},function(n){return function(r){return function(u){return e.foldl(t.foldableList)(n)(r)(a(u))}}},function(n){return function(r){return function(u){return e.foldr(t.foldableList)(n)(r)(a(u))}}});n.foldableSet=u}(PS["Data.Set"]=PS["Data.Set"]||{}),function(n){"use strict";PS["Control.Semigroupoid"];var e=PS["Data.Functor"],t=PS["Data.Map.Internal"];PS["Data.Set"],PS.Prelude,PS["Unsafe.Coerce"];n.keys=function(n){return e.void(t.functorMap)(n)}}(PS["Data.Map"]=PS["Data.Map"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"],PS["Control.Category"],PS["Control.Monad.State.Class"],PS["Control.Monad.Trans.Class"],PS["Control.Parallel"],PS["Control.Semigroupoid"],PS["Data.Functor"],PS["Data.List"],PS["Data.List.Types"],PS["Data.Map"],PS["Data.Map.Internal"],PS["Data.Maybe"],PS["Data.Tuple"];var e=PS["Data.Unit"];PS["Effect.Aff.Class"],PS["Effect.Class"],PS["Halogen.Component.ChildPath"],PS["Halogen.Query.EventSource"],PS["Halogen.Query.HalogenM"],PS["Halogen.Query.InputF"],PS.Prelude,PS["Web.HTML.HTMLElement"];n.action=function(n){return n(e.unit)}}(PS["Halogen.Query"]=PS["Halogen.Query"]||{}),function(n){"use strict";PS["Web.Event.Event"];n.change="change"}(PS["Web.HTML.Event.EventTypes"]=PS["Web.HTML.Event.EventTypes"]||{}),function(n){"use strict";PS["Web.Event.Event"];n.click="click"}(PS["Web.UIEvent.MouseEvent.EventTypes"]=PS["Web.UIEvent.MouseEvent.EventTypes"]||{}),function(n){"use strict";var e=PS["Control.Bind"],t=PS["Control.Monad.Except"],r=PS["Control.Monad.Except.Trans"],a=(PS["Control.Semigroupoid"],PS["Data.Either"]),u=PS["Data.Function"],o=PS["Data.Functor"],i=PS["Data.Identity"],l=PS["Data.Maybe"],c=PS.Foreign,f=PS["Foreign.Index"],s=PS["Halogen.HTML.Core"],d=(PS["Halogen.HTML.Properties"],PS["Halogen.Query"]),S=PS["Halogen.Query.InputF"],P=(PS.Prelude,PS["Unsafe.Coerce"]),v=(PS["Web.Clipboard.ClipboardEvent"],PS["Web.Clipboard.ClipboardEvent.EventTypes"],PS["Web.Event.Event"]),p=(PS["Web.HTML.Event.DragEvent"],PS["Web.HTML.Event.DragEvent.EventTypes"],PS["Web.HTML.Event.EventTypes"]),m=(PS["Web.TouchEvent.TouchEvent"],PS["Web.UIEvent.FocusEvent"],PS["Web.UIEvent.FocusEvent.EventTypes"],PS["Web.UIEvent.KeyboardEvent"],PS["Web.UIEvent.KeyboardEvent.EventTypes"],PS["Web.UIEvent.MouseEvent"],PS["Web.UIEvent.MouseEvent.EventTypes"]),D=(PS["Web.UIEvent.WheelEvent"],PS["Web.UIEvent.WheelEvent.EventTypes"],P.unsafeCoerce),b=function(n){return function(e){return s.handler(n)(o.map(o.functorFn)(o.map(l.functorMaybe)(S.Query.create))(e))}},g=b("submit"),h=function(n){return function(o){return function(s){return function(d){return b(n)(e.composeKleisli(l.bindMaybe)(v.currentTarget)(function(n){return a.either(u.const(l.Nothing.value))(d)(t.runExcept((S=n,e.composeKleisliFlipped(r.bindExceptT(i.monadIdentity))(s)(f.readProp(o))(c.unsafeToForeign(S)))));var S}))}}}},w=h(p.change)("checked")(c.readBoolean),y=h(p.change)("value")(c.readString);n.input=function(n){return function(e){return l.Just.create(d.action(n(e)))}},n.input_=function(n){return function(e){return l.Just.create(d.action(n))}},n.handler=b,n.onSubmit=g,n.onClick=function(n){return b(m.click)(D(n))},n.onValueChange=y,n.onChecked=w}(PS["Halogen.HTML.Events"]=PS["Halogen.HTML.Events"]||{}),function(n){"use strict";var e="function"==typeof Array.from,t="undefined"!=typeof Symbol&&null!=Symbol&&void 0!==Symbol.iterator&&"function"==typeof String.prototype[Symbol.iterator],r="function"==typeof String.prototype.fromCodePoint,a="function"==typeof String.prototype.codePointAt;n._unsafeCodePointAt0=function(n){return a?function(n){return n.codePointAt(0)}:n},n._singleton=function(n){return r?String.fromCodePoint:n},n._take=function(n){return function(e){return t?function(n){for(var t="",r=n[Symbol.iterator](),a=0;a<e;++a){var u=r.next();if(u.done)return t;t+=u.value}return t}:n(e)}},n._toCodePointArray=function(n){return function(t){return e?function(n){return Array.from(n,t)}:n}}}(PS["Data.String.CodePoints"]=PS["Data.String.CodePoints"]||{}),function(n){"use strict";var e=PS["Data.String.CodePoints"],t=(PS["Control.Semigroupoid"],PS["Data.Array"]),r=(PS["Data.Boolean"],PS["Data.Bounded"]),a=PS["Data.Enum"],u=(PS["Data.Eq"],PS["Data.EuclideanRing"]),o=PS["Data.Functor"],i=(PS["Data.HeytingAlgebra"],PS["Data.Int"],PS["Data.Maybe"]),l=(PS["Data.Ord"],PS["Data.Ring"],PS["Data.Semigroup"],PS["Data.Semiring"],PS["Data.Show"],PS["Data.String.CodeUnits"]),c=(PS["Data.String.Common"],PS["Data.String.Pattern"],PS["Data.String.Unsafe"]),f=PS["Data.Tuple"],s=PS["Data.Unfoldable"],d=(PS.Prelude,function(n){return function(e){return 65536+((1024*(n-55296|0)|0)+(e-56320|0)|0)|0}}),S=function(n){return 56320<=n&&n<=57343},P=function(n){return 55296<=n&&n<=56319},v=function(n){var e=l.length(n);if(0===e)return i.Nothing.value;if(1===e)return new i.Just({head:a.fromEnum(a.boundedEnumChar)(c.charAt(0)(n)),tail:""});var t=a.fromEnum(a.boundedEnumChar)(c.charAt(1)(n)),r=a.fromEnum(a.boundedEnumChar)(c.charAt(0)(n));return P(r)&&S(t)?new i.Just({head:d(r)(t),tail:l.drop(2)(n)}):new i.Just({head:r,tail:l.drop(1)(n)})},p=function(n){return o.map(i.functorMaybe)(function(n){return new f.Tuple(n.head,n.tail)})(v(n))},m=e._unsafeCodePointAt0(function(n){var e=a.fromEnum(a.boundedEnumChar)(c.charAt(1)(n)),t=a.fromEnum(a.boundedEnumChar)(c.charAt(0)(n));return P(t)&&S(e)?d(t)(e):t}),D=e._toCodePointArray(function(n){return s.unfoldr(s.unfoldableArray)(p)(n)})(m),b=function(n){return l.singleton(a.toEnumWithDefaults(a.boundedEnumChar)(r.bottom(r.boundedChar))(r.top(r.boundedChar))(n))},g=e._singleton(function(n){if(n<=65535)return b(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return b(e)+b(t)}),h=function(n){return function(e){if(n<1)return"";var t=v(e);return t instanceof i.Just?g(t.value0.head)+h(n-1|0)(t.value0.tail):e}},w=e._take(h);n.singleton=g,n.toCodePointArray=D,n.uncons=v,n.length=function(n){return t.length(D(n))},n.take=w,n.drop=function(n){return function(e){return l.drop(l.length(w(n)(e)))(e)}}}(PS["Data.String.CodePoints"]=PS["Data.String.CodePoints"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=PS["Control.Monad.Maybe.Trans"],a=(PS["Control.Semigroupoid"],PS["Data.Array"]),u=(PS["Data.Eq"],PS["Data.Foldable"]),o=(PS["Data.Function"],PS["Data.Functor"]),i=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),l=(PS["Data.String"],PS["Data.String.CodePoints"]),c=PS["Data.String.Common"],f=(PS["Data.String.Pattern"],PS["Data.Tuple"]),s=PS.Effect,d=PS["Global.Unsafe"],S=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),P=PS["Halogen.HTML.Properties"],v=(PS["Partial.Unsafe"],PS.Prelude,PS["Web.DOM"],PS["Web.DOM.Document"]),p=PS["Web.DOM.Element"],m=PS["Web.DOM.NodeList"],D=PS["Web.DOM.NonElementParentNode"],b=PS["Web.DOM.ParentNode"],g=PS["Web.HTML"],h=PS["Web.HTML.HTMLDocument"],w=PS["Web.HTML.HTMLElement"],y=PS["Web.HTML.Location"],E=PS["Web.HTML.Window"],M=function(n){return function(e){return t.bindFlipped(s.bindEffect)(m.toArray)(b.querySelectorAll(n)(p.toParentNode(e)))}},C=function(n){return function(e){return b.querySelector(n)(p.toParentNode(e))}},T=function(n){var e,t=function(n){return d.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},r="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return a.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new i.Just(new f.Tuple(t(e[0]),i.Nothing.value)):2===e.length?new i.Just(new f.Tuple(t(e[0]),new i.Just(t(e[1])))):i.Nothing.value})(a.filter(function(n){return""!==n})(c.split("&")(r)))},A=r.MaybeT,F=t.bindFlipped(s.bindEffect)(E.location)(g.window),H=t.bindFlipped(s.bindEffect)(E.document)(g.window),L=t.bindFlipped(s.bindEffect)(function(n){return e.pure(s.applicativeEffect)(i.fromJust()(n))})(t.bindFlipped(s.bindEffect)(h.body)(H));n.class_=function(n){return P.class_(S.ClassName(n))},n.attr=function(n){return P.attr(n)},n._queryBoth=function(n){return function(e){return function(t){return function(){var r=C(n.value0)(n.value1)(),a=C(e.value0)(e.value1)();return u.for_(s.applicativeEffect)(u.foldableMaybe)(r)(function(n){return u.for_(s.applicativeEffect)(u.foldableMaybe)(a)(function(e){return t(n)(e)})})()}}}},n["_queryBoth'"]=function(n){return function(e){return function(t){return function(){var r=C(n.value0)(n.value1)(),a=M(e.value0)(e.value1)();return u.for_(s.applicativeEffect)(u.foldableMaybe)(r)(function(n){return t(n)(a)})()}}}},n["_queryBoth''"]=function(n){return function(e){return function(t){return function(){var r=M(n.value0)(n.value1)(),a=M(e.value0)(e.value1)();return t(r)(a)()}}}},n._querySelector=C,n._querySelectorAll=M,n._fromNode=function(n){return i.fromJust()(p.fromNode(n))},n._fromElement=function(n){return i.fromJust()(w.fromElement(n))},n._getElementById=function(n){return function(e){return D.getElementById(n)(v.toNonElementParentNode(h.toDocument(e)))}},n._doc=H,n._loc=F,n._curQuerystring=function(){var n=F(),e=y.search(n)();return T(e)},n._parseQueryString=T,n._lookupQueryStringValue=function(n){return function(e){return t.join(i.bindMaybe)(o.map(i.functorMaybe)(f.snd)(u.find(u.foldableArray)(function(n){return f.fst(n)===e})(n)))}},n._body=L,n._mt=A,n._mt_pure=function(n){return r.MaybeT(e.pure(s.applicativeEffect)(n))}}(PS.Util=PS.Util||{}),function(n){"use strict";var e=PS.App,t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],u=(PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed.ButtonType"]),o=PS["DOM.HTML.Indexed.InputType"],i=(PS["Data.Array"],PS["Data.Foldable"],PS["Data.Function"]),l=PS["Data.Functor"],c=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),f=PS["Data.Monoid"],s=(PS["Data.Ord"],PS["Data.Semigroup"]),d=(PS["Data.String"],PS["Data.String.Common"]),S=(PS["Data.String.Pattern"],PS["Data.Tuple"]),P=PS["Data.Unit"],v=PS["Effect.Aff"],p=PS["Effect.Aff.Class"],m=PS["Effect.Class"],D=PS.Globals,b=(PS.Halogen,PS["Halogen.Component"]),g=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),h=PS["Halogen.HTML.Elements"],w=PS["Halogen.HTML.Events"],y=PS["Halogen.HTML.Properties"],E=PS["Halogen.Query.HalogenM"],M=(PS.Model,PS.Prelude,PS.Util),C=PS["Web.Event.Event"],T=PS["Web.HTML"],A=PS["Web.HTML.Location"],F=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),L=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),_=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),I=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),W=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),x=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();n.BEditField=N,n.BEditSubmit=W,n.BDeleteAsk=x,n.BDestroy=U,n.Eurl=F,n.Etitle=H,n.Edescription=L,n.Etags=_,n.Eprivate=I,n.Etoread=O,n.addbmark=function(n){var R;D["app'"](P.unit);return b.component(g.bifunctorHTML)({initialState:i.const((R=n,{bm:R,edit_bm:R,deleteAsk:!1,destroyed:!1})),render:function(n){var e=D.mmoment8601(n.bm.time),t=function(n){return function(e){return w.input(N.create)(n(e))}},r=h.div([M.class_("alert")])([g.text("previously saved "),h.span([M.class_("link f7 dib gray pr3"),y.title(c.maybe(n.bm.time)(S.snd)(e))])([g.text(c.maybe(" ")(S.fst)(e))]),h.div([M.class_("edit_links dib ml1")])([h.div([M.class_("delete_link di")])([h.button(s.append(s.semigroupArray)([y.type_(g.buttonTypeIsProp)(u.ButtonButton.value),w.onClick(w.input_(x.create(!0))),M.class_("delete")])(f.guard(f.monoidArray)(n.deleteAsk)([M.attr("hidden")("hidden")])))([g.text("delete")]),h.span(s.append(s.semigroupArray)([M.class_("confirm red")])(f.guard(f.monoidArray)(!n.deleteAsk)([M.attr("hidden")("hidden")])))([h.button([y.type_(g.buttonTypeIsProp)(u.ButtonButton.value),w.onClick(w.input_(x.create(!1)))])([g.text("cancel / ")]),h.button([y.type_(g.buttonTypeIsProp)(u.ButtonButton.value),w.onClick(w.input_(U.create)),M.class_("red")])([g.text("destroy")])])])])]),a=h.form([w.onSubmit(w.input(W.create))])([h.table([M.class_("w-100")])([h.tbody_([h.tr_([h.td([M.class_("w1")])([]),h.td_(f.guard(f.monoidArray)(n.bm.bid>0)([r]))]),h.tr_([h.td_([h.label([y.for("url")])([g.text("URL")])]),h.td_([h.input([y.type_(g.inputTypeIsProp)(o.InputUrl.value),y.id_("url"),M.class_("w-100 mv1"),y.required(!0),y.name("url"),y.autofocus(d.null(n.bm.url)),y.value(n.edit_bm.url),w.onValueChange(t(F.create))])])]),h.tr_([h.td_([h.label([y.for("title")])([g.text("title")])]),h.td_([h.input([y.type_(g.inputTypeIsProp)(o.InputText.value),y.id_("title"),M.class_("w-100 mv1"),y.name("title"),y.value(n.edit_bm.title),w.onValueChange(t(H.create))])])]),h.tr_([h.td_([h.label([y.for("description")])([g.text("description")])]),h.td_([h.textarea([M.class_("w-100 mt1 mid-gray"),y.id_("description"),y.name("description"),y.rows(4),y.value(n.edit_bm.description),w.onValueChange(t(L.create))])])]),h.tr_([h.td_([h.label([y.for("tags")])([g.text("tags")])]),h.td_([h.input([y.type_(g.inputTypeIsProp)(o.InputText.value),y.id_("tags"),M.class_("w-100 mv1"),y.name("tags"),y.autocomplete(!1),M.attr("autocapitalize")("off"),y.autofocus(!d.null(n.bm.url)),y.value(n.edit_bm.tags),w.onValueChange(t(_.create))])])]),h.tr_([h.td_([h.label([y.for("private")])([g.text("private")])]),h.td_([h.input([y.type_(g.inputTypeIsProp)(o.InputCheckbox.value),y.id_("private"),M.class_("private pointer"),y.name("private"),y.checked(n.edit_bm.private),w.onChecked(t(I.create))])])]),h.tr_([h.td_([h.label([y.for("toread")])([g.text("read later")])]),h.td_([h.input([y.type_(g.inputTypeIsProp)(o.InputCheckbox.value),y.id_("toread"),M.class_("toread pointer"),y.name("toread"),y.checked(n.edit_bm.toread),w.onChecked(t(O.create))])])]),h.tr_([h.td_([]),h.td_([h.input([y.type_(g.inputTypeIsProp)(o.InputSubmit.value),M.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),y.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),i=h.p([M.class_("red")])([g.text("you killed this bookmark")]);return h.div_([n.destroyed?i:a])},eval:function(n){if(n instanceof x)return r.discard(r.discardUnit)(E.bindHalogenM)(a.modify_(E.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return t.pure(E.applicativeHalogenM)(n.value1)});if(n instanceof U)return r.bind(E.bindHalogenM)(a.gets(E.monadStateHalogenM)(function(n){return n.bm.bid}))(function(u){return r.discard(r.discardUnit)(E.bindHalogenM)(l.void(E.functorHalogenM)(p.liftAff(E.monadAffHalogenM(p.monadAffAff))(e.destroy(u))))(function(){return r.discard(r.discardUnit)(E.bindHalogenM)(a.modify_(E.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return t.pure(E.applicativeHalogenM)(n.value0)})})});if(n instanceof N)return r.discard(r.discardUnit)(E.bindHalogenM)((u=E.monadStateHalogenM,function(n){return a.modify_(u)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=n(e.edit_bm),t})})(function(){if(n.value0 instanceof F)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,selected:e.selected,time:e.time}};if(n.value0 instanceof H)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,selected:e.selected,time:e.time}};if(n.value0 instanceof L)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,selected:e.selected,time:e.time}};if(n.value0 instanceof _)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,selected:e.selected,time:e.time}};if(n.value0 instanceof I)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,selected:e.selected,time:e.time}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,selected:e.selected,time:e.time}};throw new Error("Failed pattern match at Component.Add line 156, column 18 - line 162, column 36: "+[n.value0.constructor.name])}()))(function(){return t.pure(E.applicativeHalogenM)(n.value1)});var u;if(n instanceof W)return r.discard(r.discardUnit)(E.bindHalogenM)(m.liftEffect(E.monadEffectHalogenM(v.monadEffectAff))(C.preventDefault(n.value0)))(function(){return r.bind(E.bindHalogenM)(a.get(E.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(E.bindHalogenM)(l.void(E.functorHalogenM)(p.liftAff(E.monadAffHalogenM(p.monadAffAff))(e.editBookmark(u.edit_bm))))(function(){return r.discard(r.discardUnit)(E.bindHalogenM)(a.put(E.monadStateHalogenM)(function(){var n={};for(var e in u)({}).hasOwnProperty.call(u,e)&&(n[e]=u[e]);return n.bm=u.edit_bm,n}()))(function(){return r.bind(E.bindHalogenM)(m.liftEffect(E.monadEffectHalogenM(v.monadEffectAff))(M._loc))(function(e){return r.bind(E.bindHalogenM)(m.liftEffect(E.monadEffectHalogenM(v.monadEffectAff))(T.window))(function(a){return r.bind(E.bindHalogenM)(m.liftEffect(E.monadEffectHalogenM(v.monadEffectAff))(M._curQuerystring))(function(u){return r.discard(r.discardUnit)(E.bindHalogenM)((o=M._lookupQueryStringValue(u)("next"))instanceof c.Just?m.liftEffect(E.monadEffectHalogenM(v.monadEffectAff))(A.setHref(o.value0)(e)):m.liftEffect(E.monadEffectHalogenM(v.monadEffectAff))(D.closeWindow(a)))(function(){return t.pure(E.applicativeHalogenM)(n.value1)});var o})})})})})})});throw new Error("Failed pattern match at Component.Add line 146, column 3 - line 146, column 58: "+[n.constructor.name])},receiver:i.const(c.Nothing.value)})}}(PS["Component.Add"]=PS["Component.Add"]||{}),function(n){"use strict";var e=PS.App,t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],u=(PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed.ButtonType"]),o=PS["DOM.HTML.Indexed.InputType"],i=PS["Data.Array"],l=(PS["Data.Eq"],PS["Data.Foldable"]),c=PS["Data.Function"],f=PS["Data.Functor"],s=(PS["Data.HeytingAlgebra"],PS["Data.Maybe"]),d=PS["Data.Monoid"],S=PS["Data.Semigroup"],P=PS["Data.Show"],v=(PS["Data.String"],PS["Data.String.CodePoints"]),p=PS["Data.String.Common"],m=(PS["Data.String.Pattern"],PS["Data.Tuple"]),D=PS["Data.Unit"],b=PS["Effect.Aff"],g=PS["Effect.Aff.Class"],h=PS["Effect.Class"],w=PS.Globals,y=(PS.Halogen,PS["Halogen.Component"]),E=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),M=PS["Halogen.HTML.Elements"],C=PS["Halogen.HTML.Events"],T=PS["Halogen.HTML.Properties"],A=PS["Halogen.Query.HalogenM"],F=(PS.Model,PS.Prelude,PS.Util),H=PS["Web.Event.Event"],L=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),_=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),I=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),x=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),U=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),k=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),B=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),q=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(){}return n.value=new n,n}();n.BStar=x,n.BDeleteAsk=U,n.BDestroy=R,n.BEdit=k,n.BEditField=B,n.BEditSubmit=q,n.BMarkRead=j,n.Eurl=L,n.Etitle=_,n.Edescription=I,n.Etags=O,n.Eprivate=N,n.Etoread=W,n.BNotifyRemove=J,n.bmark=function(n){var V,Q=w["app'"](D.unit);return y.component(E.bifunctorHTML)({initialState:c.const((V=n,{bm:V,edit_bm:V,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=d.guard(d.monoidArray)(Q.dat.isowner)([M.div([F.class_("star fl pointer"+d.guard(d.monoidString)(n.bm.selected)(" selected"))])([M.button([F.class_("moon-gray"),C.onClick(C.input_(x.create(!n.bm.selected)))])([E.text("✭")])])]),a=w.mmoment8601(n.bm.time),c=d.guard(d.monoidArray)(Q.dat.isowner)([M.div([F.class_("edit_links di")])([M.button([T.type_(E.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(k.create(!0))),F.class_("edit light-silver hover-blue")])([E.text("edit  ")]),M.div([F.class_("delete_link di")])([M.button([T.type_(E.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(U.create(!0))),F.class_("delete light-silver hover-blue"+d.guard(d.monoidString)(n.deleteAsk)(" dn"))])([E.text("delete")]),M.span([F.class_("confirm red"+d.guard(d.monoidString)(!n.deleteAsk)(" dn"))])([M.button([T.type_(E.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(U.create(!1)))])([E.text("cancel / ")]),M.button([T.type_(E.buttonTypeIsProp)(u.ButtonButton.value),C.onClick(C.input_(R.create)),F.class_("red")])([E.text("destroy")])])])]),M.div([F.class_("read di")])(d.guard(d.monoidArray)(n.bm.toread)([E.text("  "),M.button([C.onClick(C.input_(j.create)),F.class_("mark_read")])([E.text("mark as read")])]))]),D=function(n){return function(e){return C.input(B.create)(n(e))}},b=[M.div([F.class_("edit_bookmark_form pa2 bg-white")])([M.form([C.onSubmit(C.input(q.create))])([M.input([T.type_(E.inputTypeIsProp)(o.InputUrl.value),F.class_("url w-100 mt2 mb1 pt1 f7 edit_form_input"),T.required(!0),T.name("url"),T.value(n.edit_bm.url),C.onValueChange(D(L.create))]),M.br_,M.input([T.type_(E.inputTypeIsProp)(o.InputText.value),F.class_("title w-100 mt2 mb1 pt1 f7 edit_form_input"),T.name("title"),T.value(n.edit_bm.title),C.onValueChange(D(_.create))]),M.br_,M.p([F.class_("mt2 mb1")])([E.text(" description:")]),M.textarea([F.class_("description w-100 mt2 mb1 pt1 f7 edit_form_input"),T.name("description"),T.rows(5),T.value(n.edit_bm.description),C.onValueChange(D(I.create))]),M.br_,M.div([T.id_("tags_input_box")])([M.p_([M.div_([E.text(" tags:")]),M.input([T.type_(E.inputTypeIsProp)(o.InputText.value),F.class_("tags w-100 mt2 mb1 pt1 f7 edit_form_input"),T.name("tags"),T.autocomplete(!1),F.attr("autocapitalize")("off"),T.value(n.edit_bm.tags),C.onValueChange(D(O.create))]),M.br_])]),M.div([F.class_("edit_form_checkboxes mv3")])([M.input([T.type_(E.inputTypeIsProp)(o.InputCheckbox.value),F.class_("private pointer"),T.id_("edit_private"),T.name("private"),T.checked(n.edit_bm.private),C.onChecked(D(N.create))]),E.text(" "),M.label([T.for("edit_private"),F.class_("mr2")])([E.text("private")]),E.text(" "),M.input([T.type_(E.inputTypeIsProp)(o.InputCheckbox.value),F.class_("toread pointer"),T.id_("edit_toread"),T.name("toread"),T.checked(n.edit_bm.toread),C.onChecked(D(W.create))]),E.text(" "),M.label([T.for("edit_toread")])([E.text("toread")]),M.br_]),M.input([T.type_(E.inputTypeIsProp)(o.InputSubmit.value),F.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),T.value("save")]),E.text(" "),M.input([T.type_(E.inputTypeIsProp)(o.InputReset.value),F.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),T.value("cancel"),C.onClick(C.input_(k.create(!1)))])])])],g=[M.div([F.class_("display")])(S.append(S.semigroupArray)([M.a([T.href(n.bm.url),T.target("_blank"),F.class_("link f5 lh-title"+d.guard(d.monoidString)(n.bm.toread)(" unread"))])([E.text(p.null(n.bm.title)?"[no title]":n.bm.title)]),M.br_,M.a([T.href(n.bm.url),F.class_("link f7 gray hover-blue")])([E.text(n.bm.url)]),M.br_,M.div([F.class_("description mt1 mid-gray")])((t=n.bm.description,i.drop(1)(l.foldMap(l.foldableArray)(d.monoidArray)(function(n){return[M.br_,E.text(n)]})(p.split("\n")(t))))),M.div([F.class_("tags")])(d.guard(d.monoidFn(d.monoidFn(d.monoidArray)))(!p.null(n.bm.tags))(f.map(f.functorArray))(function(n){return M.a([F.class_("link tag mr1"+d.guard(d.monoidString)("."===v.take(1)(n))(" private")),T.href(function(n){return Q.userR+"/t:"+n}(n))])([E.text(n)])})(p.split(" ")(n.bm.tags))),M.a([F.class_("link f7 dib gray w4"),T.title(s.maybe(n.bm.time)(m.snd)(a)),T.href((e=n.bm.bid,Q.userR+"/b:"+P.show(P.showInt)(e)))])([E.text(s.maybe(" ")(m.fst)(a))])])(c))];return M.div([T.id_(P.show(P.showInt)(n.bm.bid)),F.class_("bookmark w-100 mw7 pa1 mb3"+d.guard(d.monoidString)(n.bm.private)(" private"))])(S.append(S.semigroupArray)(r)(n.edit?b:g))},eval:function(n){if(n instanceof x)return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(A.bindHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.toggleStar(u.bm.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(function(){var e={};for(var t in u)({}).hasOwnProperty.call(u,t)&&(e[t]=u[t]);return e.bm=function(){var e={};for(var t in u.bm)({}).hasOwnProperty.call(u.bm,t)&&(e[t]=u.bm[t]);return e.selected=n.value0,e}(),e.edit_bm=function(){var e={};for(var t in u.edit_bm)({}).hasOwnProperty.call(u.edit_bm,t)&&(e[t]=u.edit_bm[t]);return e.selected=n.value0,e}(),e}()))(function(){return t.pure(A.applicativeHalogenM)(n.value1)})})});if(n instanceof U)return r.discard(r.discardUnit)(A.bindHalogenM)(a.modify_(A.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return t.pure(A.applicativeHalogenM)(n.value1)});if(n instanceof R)return r.bind(A.bindHalogenM)(a.gets(A.monadStateHalogenM)(function(n){return n.bm.bid}))(function(a){return r.discard(r.discardUnit)(A.bindHalogenM)(f.void(A.functorHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.destroy(a))))(function(){return r.discard(r.discardUnit)(A.bindHalogenM)(A.raise(J.value))(function(){return t.pure(A.applicativeHalogenM)(n.value0)})})});if(n instanceof j)return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(A.bindHalogenM)(f.void(A.functorHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.markRead(u.bm.bid))))(function(){var e=function(){var n={};for(var e in u)({}).hasOwnProperty.call(u,e)&&(n[e]=u[e]);return n.bm=function(){var n={};for(var e in u.bm)({}).hasOwnProperty.call(u.bm,e)&&(n[e]=u.bm[e]);return n.toread=!1,n}(),n}();return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(e))(function(){return t.pure(A.applicativeHalogenM)(n.value0)})})});if(n instanceof k)return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(e){var u=function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit=n.value0,t.edit_bm=e.bm,t}();return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(u))(function(){return t.pure(A.applicativeHalogenM)(n.value1)})});if(n instanceof B)return r.discard(r.discardUnit)(A.bindHalogenM)((u=A.monadStateHalogenM,function(n){return a.modify_(u)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_bm=n(e.edit_bm),t})})(function(){if(n.value0 instanceof L)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,selected:e.selected,time:e.time}};if(n.value0 instanceof _)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,selected:e.selected,time:e.time}};if(n.value0 instanceof I)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,selected:e.selected,time:e.time}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,selected:e.selected,time:e.time}};if(n.value0 instanceof N)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,selected:e.selected,time:e.time}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,selected:e.selected,time:e.time}};throw new Error("Failed pattern match at Component.BMark line 229, column 18 - line 235, column 36: "+[n.value0.constructor.name])}()))(function(){return t.pure(A.applicativeHalogenM)(n.value1)});var u;if(n instanceof q)return r.discard(r.discardUnit)(A.bindHalogenM)(h.liftEffect(A.monadEffectHalogenM(b.monadEffectAff))(H.preventDefault(n.value0)))(function(){return r.bind(A.bindHalogenM)(a.get(A.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(A.bindHalogenM)(f.void(A.functorHalogenM)(g.liftAff(A.monadAffHalogenM(g.monadAffAff))(e.editBookmark(u.edit_bm))))(function(){return r.discard(r.discardUnit)(A.bindHalogenM)(a.put(A.monadStateHalogenM)(function(){var n={};for(var e in u)({}).hasOwnProperty.call(u,e)&&(n[e]=u[e]);return n.edit=!1,n.bm=u.edit_bm,n}()))(function(){return t.pure(A.applicativeHalogenM)(n.value1)})})})});throw new Error("Failed pattern match at Component.BMark line 191, column 3 - line 191, column 65: "+[n.constructor.name])},receiver:c.const(s.Nothing.value)})}}(PS["Component.BMark"]=PS["Component.BMark"]||{}),function(n){"use strict";var e=PS["Component.BMark"],t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],u=PS["Data.Array"],o=(PS["Data.Eq"],PS["Data.Function"]),i=PS["Data.Functor"],l=PS["Data.Maybe"],c=PS["Data.Ord"],f=PS["Data.Unit"],s=(PS["Effect.Aff"],PS.Halogen,PS["Halogen.Component"]),d=PS["Halogen.HTML"],S=PS["Halogen.HTML.Elements"],P=PS["Halogen.HTML.Events"],v=PS["Halogen.Query.HalogenM"],p=(PS.Model,PS.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}());n.HandleBMessage=p,n.blist=function(n){return s.parentComponent(c.ordInt)({initialState:o.const(n),render:function(n){return S.div_(i.map(i.functorArray)(function(n){return d.slot(n.bid)(e.bmark(n))(f.unit)(P.input(p.create(n.bid)))})(n))},eval:function(n){var e;return r.discard(r.discardUnit)(v.bindHalogenM)(a.modify_(v.monadStateHalogenM)((e=n.value0,u.filter(function(n){return n.bid!==e}))))(function(){return t.pure(v.applicativeHalogenM)(n.value2)})},receiver:o.const(l.Nothing.value)})}}(PS["Component.BList"]=PS["Component.BList"]||{}),function(n){"use strict";var e=PS.App,t=PS["Control.Applicative"],r=PS["Control.Bind"],a=PS["Control.Monad.State.Class"],u=(PS["Control.Semigroupoid"],PS["DOM.HTML.Indexed.ButtonType"]),o=PS["DOM.HTML.Indexed.InputType"],i=(PS["Data.Argonaut"],PS["Data.Argonaut.Core"]),l=PS["Data.Array"],c=(PS["Data.Either"],PS["Data.Foldable"]),f=PS["Data.Function"],s=PS["Data.Functor"],d=(PS["Data.HeytingAlgebra"],PS["Data.Int"]),S=PS["Data.Maybe"],P=PS["Data.Monoid"],v=(PS["Data.Ord"],PS["Data.Semigroup"]),p=PS["Data.Show"],m=(PS["Data.String"],PS["Data.String.CodePoints"]),D=PS["Data.String.Common"],b=(PS["Data.String.Pattern"],PS["Data.Tuple"]),g=PS["Data.Unit"],h=PS["Effect.Aff"],w=PS["Effect.Aff.Class"],y=PS["Effect.Class"],E=(PS["Effect.Exception"],PS.Globals),M=(PS.Halogen,PS["Halogen.Component"]),C=(PS["Halogen.HTML"],PS["Halogen.HTML.Core"]),T=PS["Halogen.HTML.Elements"],A=PS["Halogen.HTML.Events"],F=PS["Halogen.HTML.Properties"],H=PS["Halogen.Query.HalogenM"],L=(PS.Model,PS.Prelude,PS.Util),_=PS["Web.Event.Event"],I=(PS["Web.HTML"],PS["Web.HTML.Location"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),x=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),U=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),R=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),k=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();n.nlist=function(n){var e,r=function(n){return E.mmoment8601(n.created)},a=E["app'"](g.unit),u=function(n){return a.userR+"/notes/"+p.show(p.showInt)(n)};return M.component(C.bifunctorHTML)({initialState:f.const((e=n,{notes:e,cur:S.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return T.div_(s.map(s.functorArray)(function(n){return T.div([F.id_(p.show(p.showInt)(n.id)),L.class_("note w-100 mw7 pa1 mb2")])([T.div([L.class_("display")])([T.a([F.href(u(n.id)),F.target("_blank"),L.class_("link f5 lh-title")])([C.text(D.null(n.title)?"[no title]":n.title)]),T.br_,T.div([L.class_("description mt1 mid-gray")])((e=m.take(200)(n.text),l.drop(1)(c.foldMap(c.foldableArray)(P.monoidArray)(function(n){return[T.br_,C.text(n)]})(D.split("\n")(e))))),T.a([L.class_("link f7 dib gray w4"),F.title(S.maybe(n.created)(b.snd)(r(n))),F.href(u(n.id))])([C.text(S.maybe(" ")(b.fst)(r(n)))])])]);var e})(n.notes))},eval:function(n){return t.pure(H.applicativeHalogenM)(n.value0)},receiver:f.const(S.Nothing.value)})},n.NNop=N,n.NEditField=W,n.NEditSubmit=x,n.NEdit=U,n.NDeleteAsk=R,n.NDestroy=k,n.Etitle=I,n.Etext=O,n.nnote=function(n){var m;E["app'"](g.unit);return M.component(C.bifunctorHTML)({initialState:f.const((m=n,{note:m,edit_note:m,deleteAsk:!1,edit:m.id<=0,destroyed:!1})),render:function(n){var e,t=function(n){return E.mmoment8601(n.created)},r=T.div([F.id_(p.show(p.showInt)(n.note.id)),L.class_("note w-100 mw7 pa1 mb2")])(v.append(v.semigroupArray)([T.div([L.class_("display")])([T.div([L.class_("link f5 lh-title")])([C.text(D.null(n.note.title)?"[no title]":n.note.title)]),T.br_,T.div([L.class_("description mt1 mid-gray")])((e=n.note.text,l.drop(1)(c.foldMap(c.foldableArray)(P.monoidArray)(function(n){return[T.br_,C.text(n)]})(D.split("\n")(e))))),T.div([L.class_("link f7 dib gray w4"),F.title(S.maybe(n.note.created)(b.snd)(t(n.note)))])([C.text(S.maybe(" ")(b.fst)(t(n.note)))])])])([T.div([L.class_("edit_links db mt3")])([T.button([F.type_(C.buttonTypeIsProp)(u.ButtonButton.value),A.onClick(A.input_(U.create(!0))),L.class_("edit light-silver hover-blue")])([C.text("edit  ")]),T.div([L.class_("delete_link di")])([T.button([F.type_(C.buttonTypeIsProp)(u.ButtonButton.value),A.onClick(A.input_(R.create(!0))),L.class_("delete light-silver hover-blue"+P.guard(P.monoidString)(n.deleteAsk)(" dn"))])([C.text("delete")]),T.span([L.class_("confirm red"+P.guard(P.monoidString)(!n.deleteAsk)(" dn"))])([T.button([F.type_(C.buttonTypeIsProp)(u.ButtonButton.value),A.onClick(A.input_(R.create(!1)))])([C.text("cancel / ")]),T.button([F.type_(C.buttonTypeIsProp)(u.ButtonButton.value),A.onClick(A.input_(k.create)),L.class_("red")])([C.text("destroy")])])])])])),a=function(n){return function(e){return A.input(W.create)(n(e))}},i=T.form([A.onSubmit(A.input(x.create))])([T.p([L.class_("mt2 mb1")])([C.text("Title:")]),T.input([F.type_(C.inputTypeIsProp)(o.InputText.value),L.class_("title w-100 mt2 mb1 pt1 f7 edit_form_input"),F.name("title"),F.value(n.edit_note.title),A.onValueChange(a(I.create))]),T.br_,T.p([L.class_("mt2 mb1")])([C.text("Description:")]),T.textarea([L.class_("description w-100 mt2 mb1 pt1 f7 edit_form_input"),F.name("text"),F.rows(30),F.value(n.edit_note.text),A.onValueChange(a(O.create))]),T.div([L.class_("edit_form_checkboxes mv3")])([T.input([F.type_(C.inputTypeIsProp)(o.InputSubmit.value),L.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),F.value("save")]),C.text(" "),T.input([F.type_(C.inputTypeIsProp)(o.InputReset.value),L.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),F.value("cancel"),A.onClick(A.input_(U.create(!1)))])])]),f=T.p([L.class_("red")])([C.text("you killed this note")]);return n.destroyed?f:n.edit?i:r},eval:function(n){if(n instanceof N)return t.pure(H.applicativeHalogenM)(n.value0);if(n instanceof W)return r.discard(r.discardUnit)(H.bindHalogenM)((u=H.monadStateHalogenM,function(n){return a.modify_(u)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit_note=n(e.edit_note),t})})(function(){if(n.value0 instanceof I)return function(e){return{id:e.id,title:n.value0.value0,text:e.text,length:e.length,created:e.created,updated:e.updated}};if(n.value0 instanceof O)return function(e){return{id:e.id,title:e.title,text:n.value0.value0,length:e.length,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NList line 210, column 18 - line 212, column 32: "+[n.value0.constructor.name])}()))(function(){return t.pure(H.applicativeHalogenM)(n.value1)});var u;if(n instanceof R)return r.discard(r.discardUnit)(H.bindHalogenM)(a.modify_(H.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return t.pure(H.applicativeHalogenM)(n.value1)});if(n instanceof k)return r.bind(H.bindHalogenM)(a.get(H.monadStateHalogenM))(function(u){return r.discard(r.discardUnit)(H.bindHalogenM)(s.void(H.functorHalogenM)(w.liftAff(H.monadAffHalogenM(w.monadAffAff))(e.destroyNote(u.note.id))))(function(){return r.discard(r.discardUnit)(H.bindHalogenM)(a.put(H.monadStateHalogenM)(function(){var n={};for(var e in u)({}).hasOwnProperty.call(u,e)&&(n[e]=u[e]);return n.destroyed=!0,n}()))(function(){return t.pure(H.applicativeHalogenM)(n.value0)})})});if(n instanceof U)return r.bind(H.bindHalogenM)(a.get(H.monadStateHalogenM))(function(e){var u=function(){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.edit=n.value0,t.edit_note=e.note,t}();return r.discard(r.discardUnit)(H.bindHalogenM)(a.put(H.monadStateHalogenM)(u))(function(){return t.pure(H.applicativeHalogenM)(n.value1)})});if(n instanceof x)return r.discard(r.discardUnit)(H.bindHalogenM)(y.liftEffect(H.monadEffectHalogenM(h.monadEffectAff))(_.preventDefault(n.value0)))(function(){return r.bind(H.bindHalogenM)(a.get(H.monadStateHalogenM))(function(u){return r.bind(H.bindHalogenM)(w.liftAff(H.monadAffHalogenM(w.monadAffAff))(e.editNote(u.edit_note)))(function(e){var o=S.fromMaybe(u.edit_note)(r.bind(S.bindMaybe)(r.bind(S.bindMaybe)(i.toNumber(e.response))(d.fromNumber))(function(n){return new S.Just({id:n,created:u.edit_note.created,length:u.edit_note.length,text:u.edit_note.text,title:u.edit_note.title,updated:u.edit_note.updated})}));return r.discard(r.discardUnit)(H.bindHalogenM)(a.put(H.monadStateHalogenM)(function(){var n={};for(var e in u)({}).hasOwnProperty.call(u,e)&&(n[e]=u[e]);return n.edit=!1,n.note=o,n.edit_note=o,n}()))(function(){return t.pure(H.applicativeHalogenM)(n.value1)})})})});throw new Error("Failed pattern match at Component.NList line 205, column 3 - line 205, column 61: "+[n.constructor.name])},receiver:f.const(S.Nothing.value)})}}(PS["Component.NList"]=PS["Component.NList"]||{}),function(n){"use strict";PS["Control.Monad.Error.Class"],PS["Control.Monad.Reader.Trans"],PS["Control.Monad.Trans.Class"],PS["Control.Semigroupoid"];var e=PS["Effect.Aff"],t=(PS.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),r=new t(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=t,n.monadForkAff=r}(PS["Control.Monad.Fork.Class"]=PS["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(PS["Effect.Console"]=PS["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=PS["Effect.Console"];PS["Data.Show"],PS["Data.Unit"],PS.Effect;n.warn=e.warn}(PS["Effect.Console"]=PS["Effect.Console"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"];var e=PS["Data.Foldable"],t=(PS["Data.Function"],PS["Data.Functor"]),r=(PS["Data.List"],PS["Data.List.Types"]),a=(PS["Data.Map"],PS["Data.Map.Internal"]),u=PS["Data.Maybe"],o=(PS["Data.Traversable"],PS.Effect,PS["Effect.Aff"],PS["Effect.Ref"]),i=(PS["Halogen.Component"],PS["Halogen.Data.OrdBox"],PS.Prelude,PS["Unsafe.Coerce"]),l=(PS["Web.DOM"],i.unsafeCoerce),c=i.unsafeCoerce,f=i.unsafeCoerce;n.unDriverStateX=c,n.mkDriverStateXRef=f,n.renderStateX=function(n){return function(n){return c(function(e){return(e.prjQuery,i.unsafeCoerce)(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return c(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=l,n.initDriverState=function(n){return function(e){return function(i){return function(l){return function(c){return function(){var s=o.new({})(),d=o.new(a.empty)(),S=o.new(a.empty)(),P=o.new(t.voidLeft(u.functorMaybe)(n.initializer)(r.Nil.value))(),v=o.new(new u.Just(r.Nil.value))(),p=o.new(u.Nothing.value)(),m=o.new(0)(),D=o.new(new u.Just(a.empty))(),b={component:n,state:n.initialState(e),refs:a.empty,children:a.empty,childrenIn:d,childrenOut:S,selfRef:s,handler:i,pendingQueries:P,pendingOuts:v,pendingHandlers:p,rendering:u.Nothing.value,prjQuery:l,fresh:m,subscriptions:D,lifecycleHandlers:c};return o.write(b)(s)(),f(s)}}}}}}}(PS["Halogen.Aff.Driver.State"]=PS["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(PS["Unsafe.Reference"]=PS["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=PS["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(PS["Unsafe.Reference"]=PS["Unsafe.Reference"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Applicative.Free"],r=PS["Control.Bind"],a=PS["Control.Coroutine"],u=PS["Control.Monad.Error.Class"],o=PS["Control.Monad.Fork.Class"],i=PS["Control.Monad.Free"],l=PS["Control.Monad.Free.Trans"],c=PS["Control.Monad.Trans.Class"],f=PS["Control.Parallel"],s=PS["Control.Parallel.Class"],d=(PS["Control.Semigroupoid"],PS["Data.Boolean"]),S=PS["Data.Coyoneda"],P=PS["Data.Eq"],v=PS["Data.Foldable"],p=PS["Data.Function"],m=PS["Data.Functor"],D=PS["Data.List"],b=PS["Data.List.Types"],g=PS["Data.Map"],h=PS["Data.Map.Internal"],w=PS["Data.Maybe"],y=PS["Data.Ord"],E=(PS["Data.Semiring"],PS["Data.Set"]),M=(PS["Data.Tuple"],PS.Effect,PS["Effect.Aff"]),C=PS["Effect.Class"],T=PS["Effect.Exception"],A=PS["Effect.Ref"],F=PS["Halogen.Aff.Driver.State"],H=PS["Halogen.Data.OrdBox"],L=PS["Halogen.Query.EventSource"],_=PS["Halogen.Query.ForkF"],I=PS["Halogen.Query.HalogenM"],O=PS["Halogen.Query.InputF"],N=(PS.Prelude,PS["Unsafe.Reference"]),W=function(n){return function(e){return function(t){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(e)))(function(r){if(r instanceof w.Nothing)return n(t);if(r instanceof w.Just)return C.liftEffect(M.monadEffectAff)(A.write(new w.Just(new b.Cons(n(t),r.value0)))(e));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 171, column 3 - line 175, column 59: "+[r.constructor.name])})}}},x=function(n){return function(t){return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(t))(function(t){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n)))(function(n){return r.discard(r.discardUnit)(M.bindAff)(v.traverse_(M.applicativeAff)(b.foldableList)(o.fork(o.monadForkAff))(n.finalizers))(function(){return r.discard(r.discardUnit)(M.bindAff)(f.parSequence_(M.parallelAff)(b.foldableList)(n.initializers))(function(){return e.pure(M.applicativeAff)(t)})})})})})}};n.handleLifecycle=x,n.eval=function(n){return function(f){var v=function(i){return function(f){if(f instanceof I.State)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(t){var a=f.value0(t.state);if(N.unsafeRefEq(t.state)(a.value1))return e.pure(M.applicativeAff)(a.value0);if(d.otherwise)return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.write({component:t.component,state:a.value1,refs:t.refs,children:t.children,childrenIn:t.childrenIn,childrenOut:t.childrenOut,selfRef:t.selfRef,handler:t.handler,pendingQueries:t.pendingQueries,pendingOuts:t.pendingOuts,pendingHandlers:t.pendingHandlers,rendering:t.rendering,prjQuery:t.prjQuery,fresh:t.fresh,subscriptions:t.subscriptions,lifecycleHandlers:t.lifecycleHandlers})(i)))(function(){return r.discard(r.discardUnit)(M.bindAff)(x(t.lifecycleHandlers)(n(t.lifecycleHandlers)(i)))(function(){return e.pure(M.applicativeAff)(a.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 76, column 7 - line 82, column 21: "+[a.constructor.name])});if(f instanceof I.Subscribe)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return r.bind(M.bindAff)(o.fork(o.monadForkAff)(r.bind(M.bindAff)(L.unEventSource(f.value0))(function(t){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A["modify'"](function(n){return{state:n+1|0,value:n}})(n.fresh)))(function(u){var o=r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n.subscriptions)))(function(t){return e.when(M.applicativeAff)(w.maybe(!1)(h.member(y.ordInt)(u))(t))(C.liftEffect(M.monadEffectAff)(A.modify_(m.map(w.functorMaybe)(h.delete(y.ordInt)(u)))(n.subscriptions)))});return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.modify_(m.map(w.functorMaybe)(h.insert(y.ordInt)(u)(o)))(n.subscriptions)))(function(){var u=r.bind(l.bindFreeT(a.functorAwait)(M.monadAff))(a.await(M.monadAff))(function(t){return r.bind(l.bindFreeT(a.functorAwait)(M.monadAff))(c.lift(l.monadTransFreeT(a.functorAwait))(M.monadAff)(C.liftEffect(M.monadEffectAff)(A.read(n.subscriptions))))(function(n){return e.when(l.applicativeFreeT(a.functorAwait)(M.monadAff))(w.isJust(n))(r.bind(l.bindFreeT(a.functorAwait)(M.monadAff))(c.lift(l.monadTransFreeT(a.functorAwait))(M.monadAff)(R(i)(t)))(function(n){return e.when(l.applicativeFreeT(a.functorAwait)(M.monadAff))(P.eq(L.eqSubscribeStatus)(n)(L.Listening.value))(u)}))})});return r.discard(r.discardUnit)(M.bindAff)(a.runProcess(M.monadRecAff)(a.pullFrom(M.monadRecAff)(u)(t.producer)))(function(){return o})})})})))(function(n){return e.pure(M.applicativeAff)(f.value1)})});if(f instanceof I.Lift)return f.value0;if(f instanceof I.Halt)return u.throwError(M.monadThrowAff)(T.error(f.value0));if(f instanceof I.GetSlots)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return e.pure(M.applicativeAff)(f.value0(m.map(b.functorList)(H.unOrdBox)(D.fromFoldable(E.foldableSet)(g.keys(n.children)))))});if(f instanceof I.CheckSlot)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return e.pure(M.applicativeAff)(f.value1(h.member(H.ordOrdBox)(n.component.mkOrdBox(f.value0))(n.children)))});if(f instanceof I.ChildQuery)return k(i)(f.value0)(f.value1);if(f instanceof I.Raise)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return r.discard(r.discardUnit)(M.bindAff)(W(n.handler)(n.pendingOuts)(f.value0))(function(){return e.pure(M.applicativeAff)(f.value1)})});if(f instanceof I.Par)return s.sequential(M.parallelAff)(t.retractFreeAp(M.applicativeParAff)(t.hoistFreeAp(function(n){return s.parallel(M.parallelAff)(U(i)(n))})(f.value0)));if(f instanceof I.Fork)return _.unFork(function(n){return r.bind(M.bindAff)(o.fork(o.monadForkAff)(U(i)(n.value0)))(function(t){return e.pure(M.applicativeAff)(n.value1(p.flip(M.killFiber)(t)))})})(f.value0);if(f instanceof I.GetRef)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(i)))(function(n){return e.pure(M.applicativeAff)(f.value1(h.lookup(y.ordString)(f.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 73, column 12 - line 128, column 33: "+[f.constructor.name])}},U=function(n){return function(e){return i.foldFree(M.monadRecAff)(v(n))(e)}},R=function(n){return function(e){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n)))(function(t){var r=t.component.eval(e);return i.foldFree(M.monadRecAff)(v(n))(r)})}},k=function(n){return function(e){return S.unCoyoneda(function(t){return function(a){return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(n)))(function(n){var o=h.lookup(H.ordOrdBox)(n.component.mkOrdBox(e))(n.children);if(o instanceof w.Just)return r.bind(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.read(o.value0)))(function(n){return F.unDriverStateX(function(n){var e=n.prjQuery(a);if(e instanceof w.Just)return m.map(M.functorAff)(t)(R(n.selfRef)(e.value0));if(e instanceof w.Nothing)return u.throwError(M.monadThrowAff)(T.error("Query projection failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 141, column 32 - line 143, column 82: "+[e.constructor.name])})(n)});if(o instanceof w.Nothing)return u.throwError(M.monadThrowAff)(T.error("Slot lookup failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 138, column 5 - line 144, column 73: "+[o.constructor.name])})}})}};return function(n){if(n instanceof O.RefUpdate)return r.discard(r.discardUnit)(M.bindAff)(C.liftEffect(M.monadEffectAff)(A.modify_(function(e){return{component:e.component,state:e.state,refs:h.alter(y.ordString)(p.const(n.value1))(n.value0)(e.refs),children:e.children,childrenIn:e.childrenIn,childrenOut:e.childrenOut,selfRef:e.selfRef,handler:e.handler,pendingQueries:e.pendingQueries,pendingOuts:e.pendingOuts,pendingHandlers:e.pendingHandlers,rendering:e.rendering,prjQuery:e.prjQuery,fresh:e.fresh,subscriptions:e.subscriptions,lifecycleHandlers:e.lifecycleHandlers}})(f)))(function(){return e.pure(M.applicativeAff)(n.value2)});if(n instanceof O.Query)return R(f)(n.value0);throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval line 59, column 3 - line 64, column 25: "+[n.constructor.name])}}},n.queuingHandler=W}(PS["Halogen.Aff.Driver.Eval"]=PS["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=PS["Control.Coroutine"],a=PS["Control.Monad.Fork.Class"],u=PS["Control.Monad.Rec.Class"],o=PS["Control.Parallel"],i=(PS["Control.Semigroupoid"],PS["Data.Either"]),l=PS["Data.Foldable"],c=PS["Data.Function"],f=PS["Data.Functor"],s=PS["Data.List"],d=PS["Data.List.Types"],S=(PS["Data.Map"],PS["Data.Map.Internal"]),P=PS["Data.Maybe"],v=PS["Data.Ord"],p=(PS["Data.Semiring"],PS["Data.Traversable"],PS["Data.Tuple"],PS["Data.Unit"]),m=PS.Effect,D=PS["Effect.Aff"],b=PS["Effect.Aff.AVar"],g=PS["Effect.Class"],h=PS["Effect.Console"],w=PS["Effect.Exception"],y=PS["Effect.Ref"],E=(PS.Halogen,PS["Halogen.Aff.Driver.Eval"]),M=PS["Halogen.Aff.Driver.State"],C=PS["Halogen.Component"],T=PS["Halogen.Data.OrdBox"],A=PS["Halogen.Query.InputF"],F=(PS.Prelude,y.new({initializers:d.Nil.value,finalizers:d.Nil.value})),H=D.runAff_(i.either(w.throwException)(c.const(e.pure(m.applicativeEffect)(p.unit))));n.runUI=function(n){return function(L){return function(_){var I=function(n){return function(){var e=y.read(n)();return y.write(P.Nothing.value)(n)(),l.for_(m.applicativeEffect)(l.foldableMaybe)(e)(function(n){return H(l.traverse_(D.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff))(s.reverse(n)))})()}},O=function(n){return function(e){return function(r){return function(a){return C.unComponent(function(u){return function(){var i=F(),c=M.initDriverState(u)(r)(e)(a)(i)(),S=y.read(n)();return y.write({initializers:d.Nil.value,finalizers:S.finalizers})(n)(),t.bindFlipped(m.bindEffect)(M.unDriverStateX(function(e){return N(n)(e.selfRef)}))(y.read(c))(),t.bindFlipped(m.bindEffect)(function(n){return function(e){return M.unDriverStateX(function(r){var a=f.map(P.functorMaybe)(function(n){return x(r.selfRef)(A.Query.create(n))})(r.component.initializer);return y.modify_(function(n){return{initializers:new d.Cons(t.discard(t.discardUnit)(D.bindAff)(o.parSequence_(D.parallelAff)(d.foldableList)(s.reverse(n.initializers)))(function(){return t.discard(t.discardUnit)(D.bindAff)(l.sequence_(D.applicativeAff)(l.foldableMaybe)(a))(function(){return g.liftEffect(D.monadEffectAff)(function(){return I(r.pendingQueries)(),I(r.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(S.initializers))(y.read(c))(),c}})}}}},N=function(r){return function(o){return function(){var i=y.read(o)(),v=f.map(m.functorEffect)(P.isNothing)(y.read(i.pendingHandlers))();e.when(m.applicativeEffect)(v)(y.write(new P.Just(d.Nil.value))(i.pendingHandlers))(),y.write(S.empty)(i.childrenOut)(),y.write(i.children)(i.childrenIn)();var b=E.queuingHandler(function(n){return f.void(D.functorAff)(x(i.selfRef)(n))})(i.pendingHandlers),g=E.queuingHandler(function(n){return b(A.Query.create(n))})(i.pendingQueries),F=n.render(function(n){return H(b(n))})(function(r){return function(a){return function(u){return function(o){return function(i){return C.unComponentSlot(function(c){return function(s){return function(d){return function(v){return function(b){return function(g){var E=u(c);return function(){var u=y.read(o)(),c=function(){var n=S.pop(T.ordOrdBox)(E)(u);if(n instanceof P.Just)return y.write(n.value0.value1)(o)(),l.for_(m.applicativeEffect)(l.foldableMaybe)(v(d))(function(e){return function(){var t=y.read(n.value0.value0)();return M.unDriverStateX(function(n){return l.for_(m.applicativeEffect)(l.foldableMaybe)(n.prjQuery(e))(function(e){return H(x(n.selfRef)(A.Query.create(e)))})})(t)()}})(),n.value0.value0;if(n instanceof P.Nothing)return O(r)(function(n){return P.maybe(e.pure(D.applicativeAff)(p.unit))(a)(b(n))})(d)(g)(s)();throw new Error("Failed pattern match at Halogen.Aff.Driver line 258, column 14 - line 266, column 92: "+[n.constructor.name])}(),C=f.map(m.functorEffect)(S.member(T.ordOrdBox)(E))(y.read(i))();return e.when(m.applicativeEffect)(C)(h.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),y.modify_(S.insert(T.ordOrdBox)(E)(c))(i)(),t.bind(m.bindEffect)(y.read(c))(M.renderStateX(m.functorEffect)(function(t){if(t instanceof P.Nothing)return w.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof P.Just)return e.pure(m.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver line 271, column 37 - line 273, column 50: "+[t.constructor.name])}))()}}}}}}})}}}}}(r)(g)(i.component.mkOrdBox)(i.childrenIn)(i.childrenOut))(i.component.render(i.state))(i.rendering)(),L=y.read(i.childrenOut)();return t.bind(m.bindEffect)(y.read(i.childrenIn))(l.traverse_(m.applicativeEffect)(S.foldableMap)(function(e){return function(){var t=y.read(e)();return M.renderStateX_(m.applicativeEffect)(n.removeChild)(t)(),W(r)(t)()}}))(),y.modify_(function(n){return{rendering:new P.Just(F),children:L,component:n.component,state:n.state,refs:n.refs,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handler:n.handler,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,prjQuery:n.prjQuery,fresh:n.fresh,subscriptions:n.subscriptions,lifecycleHandlers:n.lifecycleHandlers}})(i.selfRef)(),e.when(m.applicativeEffect)(v)(c.flip(u.tailRecM(u.monadRecEffect))(p.unit)(function(n){return function(){var n=y.read(i.pendingHandlers)();y.write(new P.Just(d.Nil.value))(i.pendingHandlers)(),l.traverse_(m.applicativeEffect)(l.foldableMaybe)(function(n){return H(l.traverse_(D.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff))(s.reverse(n)))})(n)();var e=y.read(i.pendingHandlers)();return P.maybe(!1)(s.null)(e)?f.voidLeft(m.functorEffect)(y.write(P.Nothing.value)(i.pendingHandlers))(new u.Done(p.unit))():new u.Loop(p.unit)}}))()}}},W=function(n){return M.unDriverStateX(function(e){return function(){var r;return(r=e,function(){return t.bindFlipped(m.bindEffect)(l.traverse_(m.applicativeEffect)(l.foldableMaybe)(function(n){return H(l.traverse_(D.applicativeAff)(S.foldableMap)(a.fork(a.monadForkAff))(n))}))(y.read(r.subscriptions))(),y.write(P.Nothing.value)(r.subscriptions)()})(),l.for_(m.applicativeEffect)(l.foldableMaybe)(f.map(P.functorMaybe)(function(n){return x(e.selfRef)(A.Query.create(n))})(e.component.finalizer))(function(e){return y.modify_(function(n){return{initializers:n.initializers,finalizers:new d.Cons(e,n.finalizers)}})(n)})(),l.for_(m.applicativeEffect)(S.foldableMap)(e.children)(t.composeKleisliFlipped(m.bindEffect)(W(n))(y.read))()}})},x=function(n){return E.eval(N)(n)};return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(F))(function(n){return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(y.new(0)))(function(u){return E.handleLifecycle(n)(function(){var o,c=y.new(S.empty)();return t.bind(m.bindEffect)(t.bind(m.bindEffect)(O(n)((o=c,function(n){return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(y.read(o)))(function(e){return l.traverse_(D.applicativeAff)(S.foldableMap)(a.fork(a.monadForkAff))(f.map(S.functorMap)(b.put(n))(e))})}))(_)(P.Just.create)(L))(y.read))(M.unDriverStateX(function(n){return e.pure(m.applicativeEffect)({query:(l=n.selfRef,function(n){return function(e){var t=n(e);if(t instanceof P.Just)return x(l)(new A.Query(t.value0));if(t instanceof P.Nothing)return g.liftEffect(D.monadEffectAff)(w.throwException(w.error("Halogen internal error: query projection failed in runUI'")));throw new Error("Failed pattern match at Halogen.Aff.Driver line 136, column 5 - line 138, column 113: "+[t.constructor.name])}})(n.prjQuery),subscribe:(o=u,function(n){return function(e){return t.bind(D.bindAff)(b.empty)(function(u){return t.bind(D.bindAff)(g.liftEffect(D.monadEffectAff)(function(){var e=y.read(o)();return y.modify_(function(n){return n+1|0})(o)(),y.modify_(S.insert(v.ordInt)(e)(u))(n)(),e}))(function(o){var l=r.producer(D.monadAff)(f.map(D.functorAff)(i.Left.create)(b.take(u)));return f.void(D.functorAff)(a.fork(a.monadForkAff)(t.discard(t.discardUnit)(D.bindAff)(r.runProcess(D.monadRecAff)(r.connect(D.monadRecAff)(D.parallelAff)(l)(e)))(function(){return t.discard(t.discardUnit)(D.bindAff)(g.liftEffect(D.monadEffectAff)(y.modify_(S.delete(v.ordInt)(o))(n)))(function(){return b.kill(w.error("ended"))(u)})})))})})}})(c)});var o,l}))()})})})}}}}(PS["Halogen.Aff.Driver"]=PS["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=(PS["Control.Monad.Error.Class"],PS["Control.Semigroupoid"],PS["Data.Either"]),a=PS["Data.Function"],u=(PS["Data.Functor"],PS["Data.Maybe"]),o=PS["Data.Unit"],i=PS.Effect,l=PS["Effect.Aff"],c=PS["Effect.Class"],f=PS["Effect.Exception"],s=(PS.Prelude,PS["Web.DOM.ParentNode"]),d=(PS["Web.Event.EventTarget"],PS["Web.HTML"]),S=(PS["Web.HTML.Event.EventTypes"],PS["Web.HTML.HTMLDocument"]),P=(PS["Web.HTML.HTMLDocument.ReadyState"],PS["Web.HTML.HTMLElement"]),v=PS["Web.HTML.Window"],p=l.runAff_(r.either(f.throwException)(a.const(e.pure(i.applicativeEffect)(o.unit))));n.selectElement=function(n){return t.bind(l.bindAff)(c.liftEffect(l.monadEffectAff)(t.bindFlipped(i.bindEffect)(t.composeKleisliFlipped(i.bindEffect)(function(e){return s.querySelector(n)(S.toParentNode(e))})(v.document))(d.window)))(function(n){return e.pure(l.applicativeAff)(t.bindFlipped(u.bindMaybe)(P.fromElement)(n))})},n.runHalogenAff=p}(PS["Halogen.Aff.Util"]=PS["Halogen.Aff.Util"]||{}),function(n){"use strict";PS["Control.Applicative"],PS["Control.Bind"];var e,t=PS["Data.Array"],r=(PS["Data.Eq"],PS["Data.Function.Uncurried"],PS["Data.Maybe"]),a=PS["Data.Nullable"],u=PS["Data.Tuple"],o=PS.Effect,i=(PS["Effect.Uncurried"],PS["Halogen.VDom.Machine"]),l=PS["Halogen.VDom.Types"],c=PS["Halogen.VDom.Util"],f=(PS.Prelude,PS["Web.DOM.Document"],PS["Web.DOM.Element"]),s=(PS["Web.DOM.Node"],function(n,e){return n.value1===e.value1&&(n.value0 instanceof r.Just&&e.value0 instanceof r.Just&&n.value0.value0===e.value0.value0||n.value0 instanceof r.Nothing&&e.value0 instanceof r.Nothing)}),d=(e=function(n,t){return function(r){if(r instanceof l.Grafted)return e(n,t)(l.runGraft(r.value0));if(r instanceof l.Widget){var a=t.value1(r.value0);return new i.Step(a.value0,e(n,a),a.value2)}return t.value2(),n(r)}},function(n,t,r){var a=n.buildWidget(n)(r);return new i.Step(a.value0,e(t,a),a.value2)}),S=function(){var n=function(e,t,r,a){return function(u){if(u instanceof l.Grafted)return n(e,t,r,a)(l.runGraft(u.value0));if(u instanceof l.Text){var o=new i.Step(r,n(e,t,r,u.value0),t);return a===u.value0?o:(c.setTextContent(u.value0,r),o)}return t(),e(u)}};return function(e,t,r){var a,u=c.createTextNode(r,e.document),o=(a=u,function(){var n=c.parentNode(a);return c.removeChild(a,n)});return new i.Step(u,n(t,o,u,r),o)}}(),P=function(){var n=function(n,e,t){return function(){var r=c.parentNode(n);return c.removeChild(n,r),c.forInE(t,function(n,e){return e.value2()}),i.halt(e)()}},e=function(r,a,o,f,d,S,P){return function(v){if(v instanceof l.Grafted)return e(r,a,o,f,d,S,P)(l.runGraft(v.value0));if(v instanceof l.Keyed&&s(d,v.value0)){var p=t.length(v.value1);if(0===P&&0===p){var m=i.step(f)(v.value0.value2),D=n(o,m,S);return new i.Step(o,e(r,D,o,m,v.value0,S,0),D)}m=c.diffWithKeyAndIxE(S,v.value1,u.fst,function(n,e,t,r){var a=t.value1(r.value1);return c.insertChildIx(e,a.value0,o),a},function(n,e){return e.value2()},function(n,e,t){var a=r(t.value1);return c.insertChildIx(e,a.value0,o),a});var b=i.step(f)(v.value0.value2);D=n(o,b,m);return new i.Step(o,e(r,D,o,b,v.value0,m,p),D)}return a(),r(v)}};return function(r,o,l,s){var d=c.createElement(a.toNullable(l.value0),l.value1,r.document),S=f.toNode(d),P=c.strMapWithIxE(s,u.fst,function(n,e,t){var r=o(t.value1);return c.insertChildIx(e,r.value0,S),r}),v=r.buildAttributes(d)(l.value2),p=n(S,v,P);return new i.Step(S,e(o,p,S,v,l,P,t.length(s)),p)}}(),v=function(){var n=function(n,e,t){return function(){var r=c.parentNode(n);return c.removeChild(n,r),o.foreachE(t)(i.halt)(),i.halt(e)()}},e=function(r,a,u,o,f,d){return function(S){if(S instanceof l.Grafted)return e(r,a,u,o,f,d)(l.runGraft(S.value0));if(S instanceof l.Elem&&s(f,S.value0)){var P=t.length(S.value1);if(0===t.length(d)&&0===P){var v=i.step(o)(S.value0.value2),p=n(u,v,d);return new i.Step(u,e(r,p,u,v,S.value0,d),p)}v=c.diffWithIxE(d,S.value1,function(n,e,t){var r=e.value1(t);return c.insertChildIx(n,r.value0,u),r},function(n,e){return e.value2()},function(n,e){var t=r(e);return c.insertChildIx(n,t.value0,u),t});var m=i.step(o)(S.value0.value2);p=n(u,m,v);return new i.Step(u,e(r,p,u,m,S.value0,v),p)}return a(),r(S)}};return function(t,r,u,o){var l=c.createElement(a.toNullable(u.value0),u.value1,t.document),s=f.toNode(l),d=c.forE(o,function(n,e){var t=r(e);return c.insertChildIx(n,t.value0,s),t}),S=t.buildAttributes(l)(u.value2),P=n(s,S,d);return new i.Step(s,e(r,P,s,S,u,d),P)}}();n.buildVDom=function(n){var e=function(t){if(t instanceof l.Text)return S(n,e,t.value0);if(t instanceof l.Elem)return v(n,e,t.value0,t.value1);if(t instanceof l.Keyed)return P(n,e,t.value0,t.value1);if(t instanceof l.Widget)return d(n,e,t.value0);if(t instanceof l.Grafted)return e(l.runGraft(t.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM line 58, column 27 - line 63, column 52: "+[t.constructor.name])};return e},n.buildText=S,n.buildElem=v,n.buildKeyed=P,n.buildWidget=d}(PS["Halogen.VDom.DOM"]=PS["Halogen.VDom.DOM"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Control.Bind"],r=PS["Control.Category"],a=PS["Data.Foldable"],u=(PS["Data.Function"],PS["Data.Functor"]),o=PS["Data.HeytingAlgebra"],i=PS["Data.Maybe"],l=PS["Data.Unit"],c=PS.Effect,f=PS["Effect.Aff"],s=PS["Effect.Class"],d=PS["Effect.Ref"],S=(PS["Effect.Uncurried"],PS["Halogen.Aff.Driver"]),P=PS["Halogen.Aff.Driver.State"],v=(PS["Halogen.Component"],PS["Halogen.HTML.Core"],PS["Halogen.Query.InputF"],PS["Halogen.VDom"],PS["Halogen.VDom.DOM"]),p=PS["Halogen.VDom.DOM.Prop"],m=PS["Halogen.VDom.Machine"],D=(PS.Prelude,PS["Unsafe.Reference"]),b=(PS["Web.DOM.Document"],PS["Web.DOM.Element"],PS["Web.DOM.Node"]),g=PS["Web.HTML"],h=PS["Web.HTML.HTMLDocument"],w=PS["Web.HTML.HTMLElement"],y=PS["Web.HTML.Window"],E=function(n){return function(){var e=b.parentNode(n.node)();return a.traverse_(c.applicativeEffect)(a.foldableMaybe)(function(e){return b.removeChild(n.node)(e)})(e)()}},M=function(n){return function(t){return{render:function(r){return function(a){return function(f){return function(s){if(s instanceof i.Nothing)return function(){var o=d.new(a)(),i=function(n){return function(t){return function(r){var a=P.unRenderStateX(function(n){return n.node}),u=e.pure(c.applicativeEffect)(l.unit),o=function(n){var e=d.read(t)()(n)(),r=a(e);return new m.Step(r,o,u)};return{buildWidget:function(n){return function(n){var e=d.read(t)()(n)(),r=a(e);return new m.Step(r,o,u)}},buildAttributes:p.buildProp(n),document:r}}}}(r)(o)(n),s=v.buildVDom(i)(f),S=m.extract(s);return u.void(c.functorEffect)(b.appendChild(S)(w.toNode(t)))(),{machine:s,node:S,renderChildRef:o}};if(s instanceof i.Just)return function(){d.write(a)(s.value0.renderChildRef)();var n=b.parentNode(s.value0.node)(),t=b.nextSibling(s.value0.node)(),r=m.step(s.value0.machine)(f),S=m.extract(r);return e.when(c.applicativeEffect)(o.not(o.heytingAlgebraFunction(o.heytingAlgebraFunction(o.heytingAlgebraBoolean)))(D.unsafeRefEq)(s.value0.node)(S))(function(n){return function(t){return function(r){return t instanceof i.Just&&r instanceof i.Just?u.void(c.functorEffect)(b.insertBefore(n)(t.value0)(r.value0)):t instanceof i.Nothing&&r instanceof i.Just?u.void(c.functorEffect)(b.appendChild(n)(r.value0)):e.pure(c.applicativeEffect)(l.unit)}}}(S)(t)(n))(),{machine:r,node:S,renderChildRef:s.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver line 118, column 5 - line 134, column 80: "+[s.constructor.name])}}}},renderChild:r.identity(r.categoryFn),removeChild:E}}};n.runUI=function(n){return function(e){return function(r){return t.bind(f.bindAff)(s.liftEffect(f.monadEffectAff)(u.map(c.functorEffect)(h.toDocument)(t.bindFlipped(c.bindEffect)(y.document)(g.window))))(function(t){return S.runUI(M(t)(r))(n)(e)})}}}}(PS["Halogen.VDom.Driver"]=PS["Halogen.VDom.Driver"]||{}),function(n){"use strict";var e=PS["Control.Applicative"],t=PS["Data.Unit"],r=PS.Effect,a=(PS.Prelude,e.pure(r.applicativeEffect)(t.unit));n.main=a}(PS.Main=PS.Main||{}),function(n){"use strict";var e=PS["Component.Add"],t=PS["Component.BList"],r=PS["Component.NList"],a=PS["Control.Bind"],u=PS["Data.Foldable"],o=(PS["Data.Function"],PS["Data.Functor"]),i=PS["Data.Unit"],l=(PS.Effect,PS["Effect.Aff"]),c=PS["Effect.Class"],f=(PS["Halogen.Aff"],PS["Halogen.Aff.Util"]),s=PS["Halogen.VDom.Driver"],d=(PS.Model,PS.Prelude,PS["Web.DOM.Element"]),S=(PS["Web.DOM.ParentNode"],PS["Web.HTML.HTMLElement"]),P=a.bind(l.bindAff)(f.selectElement(".user_footer"))(u.traverse_(l.applicativeAff)(u.foldableMaybe)(function(n){return c.liftEffect(l.monadEffectAff)(d.removeAttribute("hidden")(S.toElement(n)))}));n.renderBookmarks=function(n){return function(e){return f.runHalogenAff(a.bind(l.bindAff)(f.selectElement(n))(u.traverse_(l.applicativeAff)(u.foldableMaybe)(function(n){return a.discard(a.discardUnit)(l.bindAff)(o.void(l.functorAff)(s.runUI(t.blist(e))(i.unit)(n)))(function(){return P})})))}},n.renderAddForm=function(n){return function(t){return f.runHalogenAff(a.bind(l.bindAff)(f.selectElement(n))(u.traverse_(l.applicativeAff)(u.foldableMaybe)(function(n){return s.runUI(e.addbmark(t))(i.unit)(n)})))}},n.renderNotes=function(n){return function(e){return f.runHalogenAff(a.bind(l.bindAff)(f.selectElement(n))(u.traverse_(l.applicativeAff)(u.foldableMaybe)(function(n){return a.discard(a.discardUnit)(l.bindAff)(o.void(l.functorAff)(s.runUI(r.nlist(e))(i.unit)(n)))(function(){return P})})))}},n.renderNote=function(n){return function(e){return f.runHalogenAff(a.bind(l.bindAff)(f.selectElement(n))(u.traverse_(l.applicativeAff)(u.foldableMaybe)(function(n){return o.void(l.functorAff)(s.runUI(r.nnote(e))(i.unit)(n))})))}},n.showFooter=P}(PS.User=PS.User||{});
static/js/app.min.js.gz view

binary file changed (44973 → 46869 bytes)

templates/default-layout-wrapper.hamlet view
@@ -25,13 +25,13 @@     <script>
       var app =
         { csrfHeaderName: "#{ TE.decodeUtf8 $ CI.foldedCase defaultCsrfHeaderName }"
-        , csrfParamName: "#{defaultCsrfParamName}"
-        , csrfCookieName: "#{TE.decodeUtf8 defaultCsrfCookieName}"
-        , csrfToken: Cookies.get("#{TE.decodeUtf8 defaultCsrfCookieName}")
-        , homeR: "@{HomeR}"
-        , authRlogoutR: "@{AuthR LogoutR}"
+        , csrfParamName: "#{ defaultCsrfParamName }"
+        , csrfCookieName: "#{ TE.decodeUtf8 defaultCsrfCookieName }"
+        , csrfToken: Cookies.get("#{ TE.decodeUtf8 defaultCsrfCookieName }")
+        , homeR: "@{ HomeR }"
+        , authRlogoutR: "@{ AuthR LogoutR }"
         , userFilterRFilterSingle: ""
-        , dat: {bmarks : [], bmark: {}, isowner: false}
+        , dat: {bmarks : [], bmark: {}, isowner: false, notes: []}
         };
-  <body>
+  <body .f6.dark-gray.helvetica>
     ^{pageBody pc}
templates/default-layout.hamlet view
@@ -1,29 +1,31 @@ <div #content>-  <div #banner>-    <div #logo>-        <span .logo>-        <a #espial_name>espial-        $maybe userName <- musername-          <span>(<a class="banner_username" data-username="#{userName}" href="@{UserR (UserNameP userName)}">#{userName}<a>)</span>-        <!-- <div #timer>#{pageLoadTime} s -->-    <div #top_menu>--      $maybe userName <- musername-        $maybe currentroute <- mcurrentRoute-          <a .bookmarklet href="javascript:q=location.href;if(document.getSelection){d=document.getSelection();}else{d='';};p=document.title;void(open('@{AddViewR}?_hasdata&url='+encodeURIComponent(q)+'&description='+encodeURIComponent(d)+'&title='+encodeURIComponent(p),'Espial','toolbar=no,width=700,height=350'));">add url bookmarklet-          &nbsp;&nbsp;&nbsp;&nbsp;--          <a href="@?{(AddViewR, [("next",urlrender currentroute)])}">add url+  <header #banner .pv2.ph3.mh1>+    <div .mw8.center.pb2.bb.br-0.bl-0.bt-0.b--dotted.b--light-silver>+      <div #logo .fl.light-silver>+          <a #espial_name .link.f4>espial+          $maybe userName <- musername+            <span>+               (<a class="link" data-username="#{userName}" href="@{UserR (UserNameP userName)}">#{userName}</a>)+               +          <!-- <div #timer>#{pageLoadTime} s -->+      <div .top_menu.fr> -          &nbsp;&nbsp;&nbsp;&nbsp;-          <a onclick="PS['App'].logoutE(event)()" href="@{AuthR LogoutR}">-            log out-      $nothing-        <a href="@{AuthR LoginR}">-          log in-    <div style="clear:both">+        $maybe userName <- musername+          $maybe currentroute <- mcurrentRoute+            <a .link href="@?{(AddViewR, [("next",urlrender currentroute)])}">add url&nbsp;&nbsp;+            <a .link href="@{NotesR (UserNameP userName)}">notes&nbsp;&nbsp;+            <a .link href="@{AddNoteViewR (UserNameP userName)}">add note&nbsp;&nbsp;+            <a .link href="@{UserSettingsR (UserNameP userName)}">settings&nbsp;&nbsp;+            <a .link onclick="PS['App'].logoutE(event)()" href="@{AuthR LogoutR}">+              log out+        $nothing+          <a .link href="@{AuthR LoginR}">+            log in+      <div .cf>    $maybe msg <- mmsg-    <div .alert.alert-info #message>#{preEscapedToMarkup msg}+    <div .pv2.ph3.mh1>+      <div .pa2.mw8.center.flex.items-center.justify-center.navy.bg-washed-yellow.ba.b--navy>+        #{preEscapedToMarkup msg}    ^{widget}
templates/login.hamlet view
@@ -1,20 +1,20 @@-<div #login style="text-align:left; margin-top:30px;">-  <form method="post" action="@{toParent dbLoginR}">-    $maybe token <- reqToken req-      <input type="hidden" name="#{defaultCsrfParamName}" value="#{token}">-    <table width="380" border="0">-      <tbody>-        <tr>-          <td width="99">-            <span style="color:#999">username :</span>-          <td>-            <input name="username" type="text" value="" size="20">-        <tr>-          <td>-            <span style="color:#999">password :</span>-          <td>-            <input name="password" type="password" size="20">-        <tr>-          <td>-          <td>-            <input type="submit" value="log in"> +<main #main_column .pv2.ph3.mh1>+  <div .w-100.mw8.center>++    <div .measure.center.pa3.bg-white>++      <form method="post" action="@{toParent dbLoginR}">+        $maybe token <- reqToken req+          <input type="hidden" name="#{defaultCsrfParamName}" value="#{token}">++        <div>+          <label .db.fw6.lh-copy.f6 for="username">Username+          <input #username .w-100.pa1.mb2.ba.b--black-20 autofocus name="username" type="text" value="">++        <div>+          <label .db.fw6.lh-copy.f6 for="password">Password+          <input #password .w-100.pa1.mb2.ba.b--black-20 name="password" type="password">+        +        <input class="ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt3 dim" type="submit" value="Log In">++<script> document.body.classList.add("bg-near-white");
+ templates/note.hamlet view
@@ -0,0 +1,6 @@+<main #main_column .pv2.ph3.mh1>+  <div .w-100.mw8.center>++    <div ##{renderEl} .mt3>++    <div .cf>
+ templates/notes.hamlet view
@@ -0,0 +1,25 @@+<main #main_column .pv2.ph3.mh1>+  <div .w-100.mw8.center>++    <span .db .mb3>You have #{bcount} notes:++    ^{pager}++    <div .cf>++    <div ##{renderEl} .mt3>++    <div .cf>++    <div .user_footer hidden>+      ^{pager}++      $if (fromIntegral bcount >= limit) || (page > 1)+        $maybe route <- mroute+          <div .dib.ml5>+            <span .silver.mr1>per page:+            <a .link.light-silver :limit == 20:.nav-active href="@?{(route, [("count", "20")])}"‧>20</a> ‧ +            <a .link.light-silver :limit == 40:.nav-active href="@?{(route, [("count", "40")])}"‧>40</a> ‧ +            <a .link.light-silver :limit == 80:.nav-active href="@?{(route, [("count", "80")])}"‧>80</a> ‧ +            <a .link.light-silver :limit == 120:.nav-active href="@?{(route, [("count", "120")])}"‧>120</a> ‧ +            <a .link.light-silver :limit == 160:.nav-active href="@?{(route, [("count", "160")])}"‧>160</a>
templates/pager.hamlet view
@@ -5,9 +5,9 @@         <tr>           $if fromIntegral bcount >= (limit * page)             <td width="80">-              <a .next_prev #top_earlier href="@?{(route, [("page", pack $ show $ page + 1)])}">+              <a .link.gray #top_earlier href="@?{(route, [("page", pack $ show $ page + 1)])}">                 « earlier           $if page > 1             <td width="80">-              <a .next_prev #top_later href="@?{(route, [("page", pack $ show $ page - 1)])}">+              <a .link.gray #top_later href="@?{(route, [("page", pack $ show $ page - 1)])}">                 later »
templates/popup-layout.hamlet view
@@ -1,13 +1,16 @@-<div #popup_header>-  <div #logout>+<div #popup_header .pa2>+  <div .fl>+    <a .link href="@{HomeR}">Espial     $maybe userName <- musername-      <a onclick="PS['App'].logoutE(event)()" href="@{AuthR LogoutR}">+      - (#{userName})+  <div .fr>+    $maybe userName <- musername+      <a .link onclick="PS['App'].logoutE(event)()" href="@{AuthR LogoutR}">         [log out]     $nothing-      <a href="@{AuthR LoginR}">+      <a .link href="@{AuthR LoginR}">         [log in]-  <div #title>-    <a href="@{HomeR}">Espial-    $maybe userName <- musername-      - (#{userName})-^{widget}+  <div .cf>++<div .ph2.mw7>+  ^{widget}
+ templates/user-settings.hamlet view
@@ -0,0 +1,5 @@+<main #main_column .pv2.ph3.mh1>+  <div .w-100.mw8.center>+    <div>+      <a .bookmarklet.link.f7.ba.b--dotted.b--light-silver href="javascript:q=location.href;if(document.getSelection){d=document.getSelection();}else{d='';};p=document.title;void(open('@{AddViewR}?_hasdata&url='+encodeURIComponent(q)+'&description='+encodeURIComponent(d)+'&title='+encodeURIComponent(p),'Espial','toolbar=no,width=700,height=350'));">add url bookmarklet+
templates/user.hamlet view
@@ -1,49 +1,54 @@-<div #main_column>
-  <div .user_navbar>
-    <div .small_username>
-      <b>
-        <a href="@{UserR unamep}">#{uname}
-        $forall tag <- pathtags
-          \  + #
-          <a href="@{UserTagsR unamep (TagsP [tag])}">#{tag}
-    <div .bookmark_count_box>
-      <span .bookmark_count>#{bcount}</span>
-    $if isowner
-      <div .filters >
-        <a href="@{UserR unamep}" class="filter ">all
-        ‧  
-        <a href="@{UserSharedR unamep SharedPrivate}" class="filter ">private
-        ‧  
-        <a href="@{UserSharedR unamep SharedPublic}" .filter >public
-        ‧  
-        <a href="@{UserFilterR unamep FilterUnread}" .filter >unread
-        ‧  
-        <a href="@{UserFilterR unamep FilterUntagged}" .filter >untagged
-        ‧  
-        <a href="@{UserFilterR unamep FilterStarred}" .filter >starred
-    <div style="clear:both">
-  
-  ^{pager}
+<main #main_column .pv2.ph3.mh1>
+  <div .w-100.mw8.center>
+    <div .mb2>
+      <div .fl.pr3.dib.mb2>
+        <b>
+          <a .link href="@{UserR unamep}">#{uname}
+          $forall tag <- pathtags
+            \  + #
+            <a .link href="@{UserTagsR unamep (TagsP [tag])}">#{tag}
+      <div .fl.pr3.dib.mb2>
+        <span .f7.silver>#{bcount}</span>
+      $if isowner
+        <div .filters.dib.mb2>
+          <a .link.silver.hover-blue :isAll:.nav-active 
+             href="@{UserR unamep}">all
+          ‧  
+          <a .link.silver.hover-blue :sharedp == SharedPrivate:.nav-active 
+             href="@{UserSharedR unamep SharedPrivate}">private
+          ‧  
+          <a .link.silver.hover-blue :sharedp == SharedPublic:.nav-active 
+             href="@{UserSharedR unamep SharedPublic}">public
+          ‧  
+          <a .link.silver.hover-blue :filterp == FilterUnread:.nav-active 
+             href="@{UserFilterR unamep FilterUnread}">unread
+          ‧  
+          <a .link.silver.hover-blue :filterp == FilterUntagged:.nav-active 
+             href="@{UserFilterR unamep FilterUntagged}">untagged
+          ‧  
+          <a .link.silver.hover-blue :filterp == FilterStarred:.nav-active 
+             href="@{UserFilterR unamep FilterStarred}">starred
 
-  <div style="clear:both">
-      
-  <div #bulk_links>
+      <div .cf>
+    
+    ^{pager}
 
-  <div ##{renderEl}>
+    <div .cf>
 
-  <div style="clear:both">
+    <div ##{renderEl} .mt3>
 
-  <div .user_footer hidden>
-    ^{pager}
+    <div .cf>
 
-    $if (fromIntegral bcount >= limit) || (page > 1)
-      $maybe route <- mroute
-        <div #per_page_picker>
-          per page: &nbsp;&nbsp; 
-          <a :limit == 20:.per_page_selected href="@?{(route, [("count", "20")])}"‧>20</a> ‧ 
-          <a :limit == 40:.per_page_selected href="@?{(route, [("count", "40")])}"‧>40</a> ‧ 
-          <a :limit == 80:.per_page_selected href="@?{(route, [("count", "80")])}"‧>80</a> ‧ 
-          <a :limit == 120:.per_page_selected href="@?{(route, [("count", "120")])}"‧>120</a> ‧ 
-          <a :limit == 160:.per_page_selected href="@?{(route, [("count", "160")])}"‧>160</a>
+    <div .user_footer hidden>
+      ^{pager}
 
-<script>app.dat.bmarks = #{ preEscapedToMarkup $ toJsonText (toBookmarkFormList bmarks alltags) } || []; 
+      $if (fromIntegral bcount >= limit) || (page > 1)
+        $maybe route <- mroute
+          <div .dib.ml5>
+            <span .silver.mr1>per page:
+            <a .link.light-silver :limit == 20:.nav-active href="@?{(route, [("count", "20")])}"‧>20</a> ‧ 
+            <a .link.light-silver :limit == 40:.nav-active href="@?{(route, [("count", "40")])}"‧>40</a> ‧ 
+            <a .link.light-silver :limit == 80:.nav-active href="@?{(route, [("count", "80")])}"‧>80</a> ‧ 
+            <a .link.light-silver :limit == 120:.nav-active href="@?{(route, [("count", "120")])}"‧>120</a> ‧ 
+            <a .link.light-silver :limit == 160:.nav-active href="@?{(route, [("count", "160")])}"‧>160</a>
+