From 0dbad04c35db0943d077aed41a2565dea326119a Mon Sep 17 00:00:00 2001 From: "Yann Esposito (Yogsototh)" Date: Sun, 15 Sep 2019 15:43:03 +0200 Subject: [PATCH] Ability to make notes public or shared --- purs/src/Component/NList.purs | 20 ++++++----- purs/src/Component/NNote.purs | 30 ++++++++++++---- purs/src/Model.purs | 1 + src/Application.hs | 62 +++++++++++++++------------------- src/Handler/Notes.hs | 10 ++++-- src/Model.hs | 40 ++++++++++++---------- static/js/app.min.js | 4 +-- static/js/app.min.js.gz | Bin 70910 -> 71148 bytes static/js/app.min.js.map | 2 +- static/js/app.min.js.map.gz | Bin 228744 -> 229357 bytes 10 files changed, 98 insertions(+), 71 deletions(-) diff --git a/purs/src/Component/NList.purs b/purs/src/Component/NList.purs index 28b5662..f37c1c2 100644 --- a/purs/src/Component/NList.purs +++ b/purs/src/Component/NList.purs @@ -48,19 +48,23 @@ nlist st' = render st@{ notes } = HH.div_ (map renderNote notes) where - renderNote bm = - div [ id_ (show bm.id) , class_ ("note w-100 mw7 pa1 mb2")] $ + renderNote note = + div [ id_ (show note.id) + , class_ ("note w-100 mw7 pa1 mb2" + <> if note.shared then "" else " private")] $ [ div [ class_ "display" ] $ - [ a [ href (linkToFilterSingle bm.slug), class_ ("link f5 lh-title")] - [ text $ if S.null bm.title then "[no title]" else bm.title ] + [ a [ href (linkToFilterSingle note.slug), class_ ("link f5 lh-title")] + [ text $ if S.null note.title then "[no title]" else note.title ] , br_ - , div [ class_ "description mt1 mid-gray" ] (toTextarea (S.take 200 bm.text)) - , a [ class_ "link f7 dib gray w4", title (maybe bm.created snd (mmoment bm)) , href (linkToFilterSingle bm.slug) ] - [ text (maybe " " fst (mmoment bm)) ] + , div [ class_ "description mt1 mid-gray" ] (toTextarea (S.take 200 note.text)) + , a [ class_ "link f7 dib gray w4" + , title (maybe note.created snd (mmoment note)) + , href (linkToFilterSingle note.slug)] + [text (maybe " " fst (mmoment note))] ] ] - mmoment bm = mmoment8601 bm.created + mmoment note = mmoment8601 note.created linkToFilterSingle slug = fromNullableStr app.userR <> "/notes/" <> slug toTextarea input = S.split (Pattern "\n") input diff --git a/purs/src/Component/NNote.purs b/purs/src/Component/NNote.purs index e86c9fd..59cc174 100644 --- a/purs/src/Component/NNote.purs +++ b/purs/src/Component/NNote.purs @@ -51,11 +51,12 @@ _edit_note = lens _.edit_note (_ { edit_note = _ }) _edit :: Lens' NState Boolean _edit = lens _.edit (_ { edit = _ }) --- | FormField Edits +-- | FormField Edits data EditField = Etitle String | Etext String | EisMarkdown Boolean + | Eshared Boolean _markdown = SProxy :: SProxy "markdown" @@ -99,8 +100,13 @@ nnote st' = , if note.isMarkdown then div [ class_ "description mt1" ] [ HH.slot _markdown unit Markdown.component note.text absurd ] else div [ class_ "description mt1 mid-gray" ] (toTextarea note.text) - , div [ class_ "link f7 dib gray w4", title (maybe note.created snd (mmoment note)) ] - [ text (maybe " " fst (mmoment note)) ] + , div [ class_ "link f7 dib gray w4"] + [ span [title (maybe note.created snd (mmoment note))] + [text (maybe " " fst (mmoment note))] + , text " - " + , span [ class_ ("gray")] + [ text $ if note.shared then "public" else "private" ] + ] ] ] <> -- | Render Action Links @@ -111,7 +117,7 @@ nnote st' = , span ([ class_ ("confirm red" <> guard (not st.deleteAsk) " dn") ] ) [ button [ type_ ButtonButton, onClick \_ -> Just (NDeleteAsk false)] [ text "cancel / " ] , button [ type_ ButtonButton, onClick \_ -> Just NDestroy, class_ "red" ] [ text "destroy" ] - ] + ] ] ] ] @@ -134,9 +140,20 @@ nnote st' = , label [ for "edit_ismarkdown" , class_ "mr2" ] [ text "use markdown?" ] , br_ ] - , input [ type_ InputSubmit , class_ "mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim" , value "save" ] + , div [ class_ "edit_form_checkboxes mb3"] + [ input [ type_ InputCheckbox , class_ "is-markdown pointer" , id_ "edit_shared", name "shared" + , checked (edit_note.shared) , onChecked (editField Eshared) ] + , text " " + , label [ for "edit_shared" , class_ "mr2" ] [ text "public?" ] + , br_ + ] + , input [ type_ InputSubmit + , class_ "mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim" + , value "save" ] , text " " - , input [ type_ InputReset , class_ "pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim" , value "cancel" + , input [ type_ InputReset + , class_ "pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim" + , value "cancel" , onClick \_ -> Just (NEdit false) ] ] @@ -161,6 +178,7 @@ nnote st' = Etitle e -> _ { title = e } Etext e -> _ { text = e } EisMarkdown e -> _ { isMarkdown = e } + Eshared e -> _ { shared = e } -- | Delete handleAction (NDeleteAsk e) = do diff --git a/purs/src/Model.purs b/purs/src/Model.purs index 2bee44b..5ba8536 100644 --- a/purs/src/Model.purs +++ b/purs/src/Model.purs @@ -34,6 +34,7 @@ type Note = , text :: String , length :: Int , isMarkdown :: Boolean + , shared :: Boolean , created :: String , updated :: String } diff --git a/src/Application.hs b/src/Application.hs index ea4e315..2ed629b 100644 --- a/src/Application.hs +++ b/src/Application.hs @@ -14,43 +14,37 @@ module Application , db ) where -import Control.Monad.Logger (liftLoc, runLoggingT) -import Database.Persist.Sqlite - (createSqlitePool, sqlDatabase, sqlPoolSize) -import Import -import Yesod.Auth (getAuth) -import Language.Haskell.TH.Syntax (qLocation) -import Lens.Micro -import Network.HTTP.Client.TLS -import Network.Wai (Middleware) -import Network.Wai.Middleware.Autohead -import Network.Wai.Middleware.AcceptOverride -import Network.Wai.Middleware.Gzip -import Network.Wai.Middleware.MethodOverride -import Network.Wai.Handler.Warp - (Settings, defaultSettings, defaultShouldDisplayException, - runSettings, setHost, setOnException, setPort, getPort) -import Network.Wai.Middleware.RequestLogger - (Destination(Logger), IPAddrSource(..), OutputFormat(..), - destination, mkRequestLogger, outputFormat) -import System.Log.FastLogger - (defaultBufSize, newStdoutLoggerSet, toLogStr) +import Control.Monad.Logger (liftLoc, runLoggingT) +import Database.Persist.Sqlite (createSqlitePool, runSqlPool, sqlDatabase, sqlPoolSize) +import Import +import Language.Haskell.TH.Syntax (qLocation) +import Lens.Micro +import Network.HTTP.Client.TLS +import Network.Wai (Middleware) +import Network.Wai.Handler.Warp (Settings, defaultSettings, defaultShouldDisplayException, runSettings, setHost, setOnException, setPort, getPort) +import Network.Wai.Middleware.AcceptOverride +import Network.Wai.Middleware.Autohead +import Network.Wai.Middleware.Gzip +import Network.Wai.Middleware.MethodOverride +import Network.Wai.Middleware.RequestLogger (Destination(Logger), IPAddrSource(..), OutputFormat(..), destination, mkRequestLogger, outputFormat) +import System.Log.FastLogger (defaultBufSize, newStdoutLoggerSet, toLogStr) +import Yesod.Auth (getAuth) import qualified Control.Monad.Metrics as MM -import qualified Network.Wai.Metrics as WM -import qualified System.Metrics as EKG +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 -import Handler.Home -import Handler.User -import Handler.AccountSettings -import Handler.Add -import Handler.Edit -import Handler.Notes -import Handler.Docs +import Handler.Common +import Handler.Home +import Handler.User +import Handler.AccountSettings +import Handler.Add +import Handler.Edit +import Handler.Notes +import Handler.Docs mkYesodDispatch "App" resourcesApp @@ -74,9 +68,9 @@ makeFoundation appSettings = do createSqlitePool (sqlDatabase (appDatabaseConf appSettings)) (sqlPoolSize (appDatabaseConf appSettings)) - -- runLoggingT - -- (runSqlPool runMigrations pool) - -- logFunc + runLoggingT + (runSqlPool runMigrations pool) + logFunc return (mkFoundation pool) makeApplication :: App -> IO Application diff --git a/src/Handler/Notes.hs b/src/Handler/Notes.hs index 102ee4a..cb838f0 100644 --- a/src/Handler/Notes.hs +++ b/src/Handler/Notes.hs @@ -11,6 +11,7 @@ import qualified Text.Blaze.Html5 as H getNotesR :: UserNameP -> Handler Html getNotesR unamep@(UserNameP uname) = do + muserid <- maybeAuthId (limit', page') <- lookupPagingParams let queryp = "query" :: Text mquery <- lookupGetParam queryp @@ -19,7 +20,8 @@ getNotesR unamep@(UserNameP uname) = do mqueryp = fmap (\q -> (queryp, q)) mquery (bcount, notes) <- runDB $ do Entity userId _ <- getBy404 (UniqueUserName uname) - getNoteList userId mquery limit page + let sharedp = if muserid == Just userId then SharedAll else SharedPublic + getNoteList userId mquery sharedp limit page req <- getRequest mroute <- getCurrentRoute defaultLayout $ do @@ -58,7 +60,7 @@ getAddNoteViewR :: UserNameP -> Handler Html getAddNoteViewR unamep@(UserNameP uname) = do userId <- requireAuthId let renderEl = "note" :: Text - note <- liftIO $ Entity (NoteKey 0) <$> _toNote userId (NoteForm Nothing Nothing Nothing Nothing Nothing Nothing Nothing) + note <- liftIO $ Entity (NoteKey 0) <$> _toNote userId (NoteForm Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing) defaultLayout $ do $(widgetFile "note") toWidgetBody [julius| @@ -107,6 +109,7 @@ data NoteForm = NoteForm , _title :: Maybe Text , _text :: Maybe Textarea , _isMarkdown :: Maybe Bool + , _shared :: Maybe Bool , _created :: Maybe UTCTimeStr , _updated :: Maybe UTCTimeStr } deriving (Show, Eq, Read, Generic) @@ -129,6 +132,7 @@ _toNote userId NoteForm {..} = do (fromMaybe "" _title) (maybe "" unTextarea _text) (fromMaybe False _isMarkdown) + (fromMaybe False _shared) (fromMaybe time (fmap unUTCTimeStr _created)) (fromMaybe time (fmap unUTCTimeStr _updated)) @@ -150,7 +154,7 @@ getNotesFeedR unamep@(UserNameP uname) = do page = maybe 1 fromIntegral page' (bcount, notes) <- runDB $ do Entity userId _ <- getBy404 (UniqueUserName uname) - getNoteList userId mquery limit page + getNoteList userId mquery SharedPublic limit page let (descr :: Html) = toHtml $ H.text (uname <> " notes") let entries = map (noteToRssEntry unamep) notes updated <- case maximumMay (map feedEntryUpdated entries) of diff --git a/src/Model.hs b/src/Model.hs index 96c7976..5a14318 100644 --- a/src/Model.hs +++ b/src/Model.hs @@ -26,7 +26,7 @@ import qualified Data.Map.Strict as MS import ModelCustom -share [mkPersist sqlSettings, mkDeleteCascade sqlSettings, mkMigrate "migrateSchema"] [persistLowerCase| +share [mkPersist sqlSettings, mkDeleteCascade sqlSettings, mkMigrate "migrateSchema"] [persistLowerCase| User json Id Int64 name Text @@ -72,6 +72,7 @@ Note json title Text text Text isMarkdown Bool + shared Bool default=False created UTCTime updated UTCTime deriving Show Eq Typeable Ord @@ -151,7 +152,7 @@ authenticatePassword username password = do if validatePasswordHash (userPasswordHash (entityVal dbuser)) password then return (Just dbuser) else return Nothing - + getUserByName :: UserNameP -> DB (Maybe (Entity User)) getUserByName (UserNameP uname) = do selectFirst [UserName ==. uname] [] @@ -187,7 +188,7 @@ bookmarksQuery userId sharedp filterp tags mquery limit' page = expr &&. (exists $ -- each tag becomes an exists constraint from $ \t -> where_ (t ^. BookmarkTagBookmarkId E.==. b ^. BookmarkId &&. - (t ^. BookmarkTagTag `E.like` val tag)))) + (t ^. BookmarkTagTag `E.like` val tag)))) (b ^. BookmarkUserId E.==. val userId) tags case sharedp of @@ -242,7 +243,7 @@ parseSearchQuery toExpr = termE = toExpr <$> (fieldTerm <|> quotedTerm <|> simpleTerm) fieldTerm = concat <$> sequence [simpleTerm, P.string ":", quotedTerm <|> simpleTerm] quotedTerm = PC.between (P.char '"') (P.char '"') (P.takeWhile1 (/= '"')) - simpleTerm = P.takeWhile1 (\c -> not (isSpace c) && c /= ':' && c /= '|') + simpleTerm = P.takeWhile1 (\c -> not (isSpace c) && c /= ':' && c /= '|') parseTimeText :: (TI.ParseTime t, Monad m, Alternative m) => Text -> m t parseTimeText t = @@ -267,13 +268,13 @@ withTags key = selectList [BookmarkTagBookmarkId ==. key] [Asc BookmarkTagSeq] -- Note List Query - + getNote :: Key User -> NtSlug -> DB (Maybe (Entity Note)) getNote userKey slug = selectFirst [NoteUserId ==. userKey, NoteSlug ==. slug] [] -getNoteList :: Key User -> Maybe Text -> Limit -> Page -> DB (Int, [Entity Note]) -getNoteList key mquery limit' page = +getNoteList :: Key User -> Maybe Text -> SharedP -> Limit -> Page -> DB (Int, [Entity Note]) +getNoteList key mquery sharedp limit' page = (,) -- total count <$> fmap (sum . fmap E.unValue) (select $ @@ -292,6 +293,10 @@ getNoteList key mquery limit' page = where_ $ (b ^. NoteUserId E.==. val key) -- search sequenceA_ (parseSearchQuery (toLikeExpr b) =<< mquery) + case sharedp of + SharedAll -> pure () + SharedPublic -> where_ (b ^. NoteShared E.==. val True) + SharedPrivate -> where_ (b ^. NoteShared E.==. val False) toLikeExpr :: E.SqlExpr (Entity Note) -> Text -> E.SqlExpr (E.Value Bool) toLikeExpr b term = fromRight p_allFields (P.parseOnly p_onefield term) @@ -415,6 +420,7 @@ fileNoteToNote user (FileNote {..} ) = do fileNoteTitle fileNoteText False + False fileNoteCreatedAt fileNoteUpdatedAt @@ -425,19 +431,19 @@ insertDirFileNotes userId noteDirectory = do Left e -> print e Right fnotes -> do notes <- liftIO $ mapM (fileNoteToNote userId) fnotes - void $ mapM insertUnique notes + void $ mapM insertUnique notes where readFileNotes :: MonadIO m => FilePath -> m (Either String [FileNote]) readFileNotes fdir = do files <- liftIO (listDirectory fdir) - noteBSS <- mapM (readFile . (fdir )) files - pure (mapM (A.eitherDecode' . fromStrict) noteBSS) + noteBSS <- mapM (readFile . (fdir )) files + pure (mapM (A.eitherDecode' . fromStrict) noteBSS) -- AccountSettingsForm data AccountSettingsForm = AccountSettingsForm - { _privateDefault :: Bool - , _archiveDefault :: Bool - , _privacyLock :: Bool + { _privateDefault :: Bool + , _archiveDefault :: Bool + , _privacyLock :: Bool } deriving (Show, Eq, Read, Generic) instance FromJSON AccountSettingsForm where parseJSON = A.genericParseJSON gDefaultFormOptions @@ -479,7 +485,7 @@ instance FromJSON BookmarkForm where parseJSON = A.genericParseJSON gDefaultForm instance ToJSON BookmarkForm where toJSON = A.genericToJSON gDefaultFormOptions gDefaultFormOptions :: A.Options -gDefaultFormOptions = A.defaultOptions { A.fieldLabelModifier = drop 1 } +gDefaultFormOptions = A.defaultOptions { A.fieldLabelModifier = drop 1 } toBookmarkFormList :: [Entity Bookmark] -> [Entity BookmarkTag] -> [BookmarkForm] toBookmarkFormList bs as = do @@ -533,7 +539,7 @@ upsertBookmark:: Maybe (Key Bookmark) -> Bookmark -> [Text] -> DB (UpsertResult, upsertBookmark mbid bm tags = do res <- case mbid of Just bid -> do - get bid >>= \case + get bid >>= \case Just prev_bm -> replaceBookmark bid prev_bm _ -> fail "not found" Nothing -> do @@ -542,7 +548,7 @@ upsertBookmark mbid bm tags = do _ -> (Created,) <$> insert bm insertTags (bookmarkUserId bm) (snd res) pure res - where + where prepareReplace prev_bm = do if (bookmarkHref bm /= bookmarkHref prev_bm) then bm { bookmarkArchiveHref = Nothing } @@ -567,7 +573,7 @@ upsertNote:: Maybe (Key Note) -> Note -> DB (UpsertResult, Key Note) upsertNote mnid bmark@Note{..} = do case mnid of Just nid -> do - get nid >>= \case + get nid >>= \case Just _ -> do replace nid bmark pure (Updated, nid) diff --git a/static/js/app.min.js b/static/js/app.min.js index d132dc8..4ca5083 100644 --- a/static/js/app.min.js +++ b/static/js/app.min.js @@ -5,12 +5,12 @@ var e,t=arguments[3];!function(t,n){"object"==typeof exports&&"undefined"!=typeo },{}],"3F7m":[function(require,module,exports) { var define; var global = arguments[3]; -var e,t=arguments[3];!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:m,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,nptable:m,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:m,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function r(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||_.defaults,this.rules=n.normal,this.options.pedantic?this.rules=n.pedantic:this.options.gfm&&(this.options.tables?this.rules=n.tables:this.rules=n.gfm)}n._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,n._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,n.def=c(n.def).replace("label",n._label).replace("title",n._title).getRegex(),n.bullet=/(?:[*+-]|\d{1,9}\.)/,n.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,n.item=c(n.item,"gm").replace(/bull/g,n.bullet).getRegex(),n.list=c(n.list).replace(/bull/g,n.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+n.def.source+")").getRegex(),n._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",n._comment=//,n.html=c(n.html,"i").replace("comment",n._comment).replace("tag",n._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),n.paragraph=c(n.paragraph).replace("hr",n.hr).replace("heading",n.heading).replace("lheading",n.lheading).replace("tag",n._tag).getRegex(),n.blockquote=c(n.blockquote).replace("paragraph",n.paragraph).getRegex(),n.normal=b({},n),n.gfm=b({},n.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),n.gfm.paragraph=c(n.paragraph).replace("(?!","(?!"+n.gfm.fences.source.replace("\\1","\\2")+"|"+n.list.source.replace("\\1","\\3")+"|").getRegex(),n.tables=b({},n.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),n.pedantic=b({},n.normal,{html:c("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",n._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),r.rules=n,r.lex=function(e,t){return new r(t).lex(e)},r.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},r.prototype.token=function(e,t){var r,s,i,l,o,a,h,p,u,c,g,f,d,m,b,y;for(e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:x(i,"\n")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2]?i[2].trim():i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if((i=this.rules.nptable.exec(e))&&(a={type:"table",header:k(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===a.align.length){for(e=e.substring(i[0].length),g=0;g ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),h={type:"list_start",ordered:m=(l=i[2]).length>1,start:m?+l:"",loose:!1},this.tokens.push(h),p=[],r=!1,d=(i=i[0].match(this.rules.item)).length,g=0;g1?1===o.length:o.length>1||this.options.smartLists&&o!==l)&&(e=i.slice(g+1).join("\n")+e,g=d-1)),s=r||/\n\n(?!\s*$)/.test(a),g!==d-1&&(r="\n"===a.charAt(a.length-1),s||(s=r)),s&&(h.loose=!0),y=void 0,(b=/^\[[ xX]\] /.test(a))&&(y=" "!==a[1],a=a.replace(/^\[[ xX]\] +/,"")),u={type:"list_item_start",task:b,checked:y,loose:s},p.push(u),this.tokens.push(u),this.token(a,!1),this.tokens.push({type:"list_item_end"});if(h.loose)for(d=p.length,g=0;g?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",s.em=c(s.em).replace(/punctuation/g,s._punctuation).getRegex(),s._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,s._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,s._email=/[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,s.autolink=c(s.autolink).replace("scheme",s._scheme).replace("email",s._email).getRegex(),s._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,s.tag=c(s.tag).replace("comment",n._comment).replace("attribute",s._attribute).getRegex(),s._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|`(?!`)|[^\[\]\\`])*?/,s._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*)/,s._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,s.link=c(s.link).replace("label",s._label).replace("href",s._href).replace("title",s._title).getRegex(),s.reflink=c(s.reflink).replace("label",s._label).getRegex(),s.normal=b({},s),s.pedantic=b({},s.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:c(/^!?\[(label)\]\((.*?)\)/).replace("label",s._label).getRegex(),reflink:c(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",s._label).getRegex()}),s.gfm=b({},s.normal,{escape:c(s.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(l[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(l[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(l[0])&&(this.inRawBlock=!1),e=e.substring(l[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(l[0]):p(l[0]):l[0];else if(l=this.rules.link.exec(e)){var h=y(l[2],"()");if(h>-1){var u=l[0].length-(l[2].length-h)-(l[3]||"").length;l[2]=l[2].substring(0,h),l[0]=l[0].substring(0,u).trim(),l[3]=""}e=e.substring(l[0].length),this.inLink=!0,r=l[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r))?(r=t[1],s=t[3]):s="":s=l[3]?l[3].slice(1,-1):"",r=r.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(l,{href:i.escapes(r),title:i.escapes(s)}),this.inLink=!1}else if((l=this.rules.reflink.exec(e))||(l=this.rules.nolink.exec(e))){if(e=e.substring(l[0].length),t=(l[2]||l[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=l[0].charAt(0),e=l[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(l,t),this.inLink=!1}else if(l=this.rules.strong.exec(e))e=e.substring(l[0].length),a+=this.renderer.strong(this.output(l[4]||l[3]||l[2]||l[1]));else if(l=this.rules.em.exec(e))e=e.substring(l[0].length),a+=this.renderer.em(this.output(l[6]||l[5]||l[4]||l[3]||l[2]||l[1]));else if(l=this.rules.code.exec(e))e=e.substring(l[0].length),a+=this.renderer.codespan(p(l[2].trim(),!0));else if(l=this.rules.br.exec(e))e=e.substring(l[0].length),a+=this.renderer.br();else if(l=this.rules.del.exec(e))e=e.substring(l[0].length),a+=this.renderer.del(this.output(l[1]));else if(l=this.rules.autolink.exec(e))e=e.substring(l[0].length),r="@"===l[2]?"mailto:"+(n=p(this.mangle(l[1]))):n=p(l[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(l=this.rules.url.exec(e))){if(l=this.rules.text.exec(e))e=e.substring(l[0].length),this.inRawBlock?a+=this.renderer.text(l[0]):a+=this.renderer.text(p(this.smartypants(l[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===l[2])r="mailto:"+(n=p(l[0]));else{do{o=l[0],l[0]=this.rules._backpedal.exec(l[0])[0]}while(o!==l[0]);n=p(l[0]),r="www."===l[1]?"http://"+n:n}e=e.substring(l[0].length),a+=this.renderer.link(r,null,n)}return a},i.escapes=function(e){return e?e.replace(i.rules._escapes,"$1"):e},i.prototype.outputLink=function(e,t){var n=t.href,r=t.title?p(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,p(e[1]))},i.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},i.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,s=0;s.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},l.prototype.code=function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var s=this.options.highlight(e,r);null!=s&&s!==e&&(n=!0,e=s)}return r?'
'+(n?e:p(e,!0))+"
\n":"
"+(n?e:p(e,!0))+"
"},l.prototype.blockquote=function(e){return"
\n"+e+"
\n"},l.prototype.html=function(e){return e},l.prototype.heading=function(e,t,n,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"},l.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},l.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},l.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},l.prototype.checkbox=function(e){return" "},l.prototype.paragraph=function(e){return"

    "+e+"

    \n"},l.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},l.prototype.tablerow=function(e){return"\n"+e+"\n"},l.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},l.prototype.strong=function(e){return""+e+""},l.prototype.em=function(e){return""+e+""},l.prototype.codespan=function(e){return""+e+""},l.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},l.prototype.del=function(e){return""+e+""},l.prototype.link=function(e,t,n){if(null===(e=g(this.options.sanitize,this.options.baseUrl,e)))return n;var r='"},l.prototype.image=function(e,t,n){if(null===(e=g(this.options.sanitize,this.options.baseUrl,e)))return n;var r=''+n+'":">"},l.prototype.text=function(e){return e},o.prototype.strong=o.prototype.em=o.prototype.codespan=o.prototype.del=o.prototype.text=function(e){return e},o.prototype.link=o.prototype.image=function(e,t,n){return""+n},o.prototype.br=function(){return""},a.parse=function(e,t){return new a(t).parse(e)},a.prototype.parse=function(e){this.inline=new i(e.links,this.options),this.inlineText=new i(e.links,b({},this.options,{renderer:new o})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},a.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,u(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,s="",i="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},p.escapeTest=/[&<>"']/,p.escapeReplace=/[&<>"']/g,p.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},p.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,p.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var f={},d=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function b(e){for(var t,n,r=1;r=0&&"\\"===n[s];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:

    "+p(u.message+"",!0)+"
    ";throw u}}m.exec=m,_.options=_.setOptions=function(e){return b(_.defaults,e),_},_.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new l,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},_.defaults=_.getDefaults(),_.Parser=a,_.parser=a.parse,_.Renderer=l,_.TextRenderer=o,_.Lexer=r,_.lexer=r.lex,_.InlineLexer=i,_.inlineLexer=i.output,_.Slugger=h,_.parse=_,"undefined"!=typeof module&&"object"==typeof exports?module.exports=_:"function"==typeof e&&e.amd?e(function(){return _}):t.marked=_}(this||("undefined"!=typeof window?window:t)); +var e,t=arguments[3];!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:m,table:m,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/};function r(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||w.defaults,this.rules=n.normal,this.options.pedantic?this.rules=n.pedantic:this.options.gfm&&(this.rules=n.gfm)}n._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,n._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,n.def=c(n.def).replace("label",n._label).replace("title",n._title).getRegex(),n.bullet=/(?:[*+-]|\d{1,9}\.)/,n.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,n.item=c(n.item,"gm").replace(/bull/g,n.bullet).getRegex(),n.list=c(n.list).replace(/bull/g,n.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+n.def.source+")").getRegex(),n._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",n._comment=//,n.html=c(n.html,"i").replace("comment",n._comment).replace("tag",n._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),n.paragraph=c(n._paragraph).replace("hr",n.hr).replace("heading"," {0,3}#{1,6} +").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",n._tag).getRegex(),n.blockquote=c(n.blockquote).replace("paragraph",n.paragraph).getRegex(),n.normal=k({},n),n.gfm=k({},n.normal,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),n.pedantic=k({},n.normal,{html:c("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",n._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:m,paragraph:c(n.normal._paragraph).replace("hr",n.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",n.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),r.rules=n,r.lex=function(e,t){return new r(t).lex(e)},r.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},r.prototype.token=function(e,t){var r,s,i,l,o,a,h,u,c,g,f,d,m,k,_,y;for(e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e)){var w=this.tokens[this.tokens.length-1];e=e.substring(i[0].length),w&&"paragraph"===w.type?w.text+="\n"+i[0].trimRight():(i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",codeBlockStyle:"indented",text:this.options.pedantic?i:x(i,"\n")}))}else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2]?i[2].trim():i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if((i=this.rules.nptable.exec(e))&&(a={type:"table",header:b(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===a.align.length){for(e=e.substring(i[0].length),f=0;f ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),h={type:"list_start",ordered:k=(l=i[2]).length>1,start:k?+l:"",loose:!1},this.tokens.push(h),u=[],r=!1,m=(i=i[0].match(this.rules.item)).length,f=0;f1?1===o.length:o.length>1||this.options.smartLists&&o!==l)&&(e=i.slice(f+1).join("\n")+e,f=m-1)),s=r||/\n\n(?!\s*$)/.test(a),f!==m-1&&(r="\n"===a.charAt(a.length-1),s||(s=r)),s&&(h.loose=!0),y=void 0,(_=/^\[[ xX]\] /.test(a))&&(y=" "!==a[1],a=a.replace(/^\[[ xX]\] +/,"")),c={type:"list_item_start",task:_,checked:y,loose:s},u.push(c),this.tokens.push(c),this.token(a,!1),this.tokens.push({type:"list_item_end"});if(h.loose)for(m=u.length,f=0;f?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",s.em=c(s.em).replace(/punctuation/g,s._punctuation).getRegex(),s._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,s._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,s._email=/[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,s.autolink=c(s.autolink).replace("scheme",s._scheme).replace("email",s._email).getRegex(),s._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,s.tag=c(s.tag).replace("comment",n._comment).replace("attribute",s._attribute).getRegex(),s._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,s._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,s._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,s.link=c(s.link).replace("label",s._label).replace("href",s._href).replace("title",s._title).getRegex(),s.reflink=c(s.reflink).replace("label",s._label).getRegex(),s.normal=k({},s),s.pedantic=k({},s.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:c(/^!?\[(label)\]\((.*?)\)/).replace("label",s._label).getRegex(),reflink:c(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",s._label).getRegex()}),s.gfm=k({},s.normal,{escape:c(s.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(l[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(l[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(l[0])&&(this.inRawBlock=!1),e=e.substring(l[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(l[0]):p(l[0]):l[0];else if(l=this.rules.link.exec(e)){var h=_(l[2],"()");if(h>-1){var u=4+l[1].length+h;l[2]=l[2].substring(0,h),l[0]=l[0].substring(0,u).trim(),l[3]=""}e=e.substring(l[0].length),this.inLink=!0,r=l[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r))?(r=t[1],s=t[3]):s="":s=l[3]?l[3].slice(1,-1):"",r=r.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(l,{href:i.escapes(r),title:i.escapes(s)}),this.inLink=!1}else if((l=this.rules.reflink.exec(e))||(l=this.rules.nolink.exec(e))){if(e=e.substring(l[0].length),t=(l[2]||l[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=l[0].charAt(0),e=l[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(l,t),this.inLink=!1}else if(l=this.rules.strong.exec(e))e=e.substring(l[0].length),a+=this.renderer.strong(this.output(l[4]||l[3]||l[2]||l[1]));else if(l=this.rules.em.exec(e))e=e.substring(l[0].length),a+=this.renderer.em(this.output(l[6]||l[5]||l[4]||l[3]||l[2]||l[1]));else if(l=this.rules.code.exec(e))e=e.substring(l[0].length),a+=this.renderer.codespan(p(l[2].trim(),!0));else if(l=this.rules.br.exec(e))e=e.substring(l[0].length),a+=this.renderer.br();else if(l=this.rules.del.exec(e))e=e.substring(l[0].length),a+=this.renderer.del(this.output(l[1]));else if(l=this.rules.autolink.exec(e))e=e.substring(l[0].length),r="@"===l[2]?"mailto:"+(n=p(this.mangle(l[1]))):n=p(l[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(l=this.rules.url.exec(e))){if(l=this.rules.text.exec(e))e=e.substring(l[0].length),this.inRawBlock?a+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(l[0]):p(l[0]):l[0]):a+=this.renderer.text(p(this.smartypants(l[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===l[2])r="mailto:"+(n=p(l[0]));else{do{o=l[0],l[0]=this.rules._backpedal.exec(l[0])[0]}while(o!==l[0]);n=p(l[0]),r="www."===l[1]?"http://"+n:n}e=e.substring(l[0].length),a+=this.renderer.link(r,null,n)}return a},i.escapes=function(e){return e?e.replace(i.rules._escapes,"$1"):e},i.prototype.outputLink=function(e,t){var n=t.href,r=t.title?p(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,p(e[1]))},i.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},i.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,s=0;s.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},l.prototype.code=function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var s=this.options.highlight(e,r);null!=s&&s!==e&&(n=!0,e=s)}return r?'
    '+(n?e:p(e,!0))+"
    \n":"
    "+(n?e:p(e,!0))+"
    "},l.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},l.prototype.html=function(e){return e},l.prototype.heading=function(e,t,n,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"},l.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},l.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},l.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},l.prototype.checkbox=function(e){return" "},l.prototype.paragraph=function(e){return"

    "+e+"

    \n"},l.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},l.prototype.tablerow=function(e){return"\n"+e+"\n"},l.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},l.prototype.strong=function(e){return""+e+""},l.prototype.em=function(e){return""+e+""},l.prototype.codespan=function(e){return""+e+""},l.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},l.prototype.del=function(e){return""+e+""},l.prototype.link=function(e,t,n){if(null===(e=g(this.options.sanitize,this.options.baseUrl,e)))return n;var r='
    "},l.prototype.image=function(e,t,n){if(null===(e=g(this.options.sanitize,this.options.baseUrl,e)))return n;var r=''+n+'":">"},l.prototype.text=function(e){return e},o.prototype.strong=o.prototype.em=o.prototype.codespan=o.prototype.del=o.prototype.text=function(e){return e},o.prototype.link=o.prototype.image=function(e,t,n){return""+n},o.prototype.br=function(){return""},a.parse=function(e,t){return new a(t).parse(e)},a.prototype.parse=function(e){this.inline=new i(e.links,this.options),this.inlineText=new i(e.links,k({},this.options,{renderer:new o})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},a.prototype.next=function(){return this.token=this.tokens.pop(),this.token},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},a.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,u(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,s="",i="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},p.escapeTest=/[&<>"']/,p.escapeReplace=/[&<>"']/g,p.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},p.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,p.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var f={},d=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function k(e){for(var t,n,r=1;r=0&&"\\"===n[s];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:

    "+p(u.message+"",!0)+"
    ";throw u}}m.exec=m,w.options=w.setOptions=function(e){return k(w.defaults,e),w},w.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new l,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}},w.defaults=w.getDefaults(),w.Parser=a,w.parser=a.parse,w.Renderer=l,w.TextRenderer=o,w.Lexer=r,w.lexer=r.lex,w.InlineLexer=i,w.inlineLexer=i.output,w.Slugger=h,w.parse=w,"undefined"!=typeof module&&"object"==typeof exports?module.exports=w:"function"==typeof e&&e.amd?e(function(){return w}):t.marked=w}(this||("undefined"!=typeof window?window:t)); },{}],"pBGv":[function(require,module,exports) { var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a1)for(var n=1;n0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(a)})},a.responseType=e.responseType,a.withCredentials=e.withCredentials,a.send(e.content),function(n,e,t){try{a.abort()}catch(l){return e(l)}return t()}}})}(),function(n){"use strict";(t["Control.Apply"]=t["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,u=new Array(t*r),a=0,o=0;o=0;u--)r=n(t[u])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,u=t.length,a=0;a0)&&(w=H,y=j._3(Q)));break;case m:P=new b(v,new b(g,y,E),P,x),w=H,y=x&&x!==O&&0===B?j._1.killed(n.fromLeft(x))(j._2):E?j._1.failed(n.fromLeft(E))(j._2):j._1.completed(n.fromRight(y))(j._2),E=null,B++;break;case h:B++,P=new b(v,new b(g,y,E),P,x),w=H,y=j._1;break;case g:B--,w=k,y=j._1,E=j._2}break;case L:for(var V in W)W.hasOwnProperty(V)&&(q=q&&W[V].rethrow,D(W[V].handler(y)));return W=null,void(x&&E?setTimeout(function(){throw n.fromLeft(E)},0):n.isLeft(y)&&q&&setTimeout(function(){if(q)throw n.fromLeft(y)},0));case F:w=H;break;case _:return}}function Q(n){return function(){if(w===L)return q=q&&n.rethrow,n.handler(y)(),function(){};var e=O++;return(W=W||{})[e]=n,function(){null!==W&&delete W[e]}}}return{kill:function(e,t){return function(){if(w===L)return t(n.right(void 0))(),function(){};var r=Q({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(w){case F:x=n.left(e),w=L,y=x,J(d);break;case _:null===x&&(x=n.left(e)),0===B&&(w===_&&(P=new b(v,new b(h,y(e)),P,x)),w=k,y=null,E=null,J(++d));break;default:null===x&&(x=n.left(e)),0===B&&(w=k,y=null,E=null)}return r}},join:function(n){return function(){var e=Q({rethrow:!1,handler:n})();return w===F&&J(d),e}},onComplete:Q,isSuspended:function(){return w===F},run:function(){w===F&&(M.isDraining()?J(d):M.enqueue(function(){J(d)}))}}}function x(e,t,r,u){var o=0,i={},f=0,c={},p=new Error("[ParAff] Early exit"),m=null,h=n;function g(t,r,u){var a,o,f=r,c=null,p=null,m=0,h={};n:for(;;)switch(a=null,f.tag){case w:if(f._3===n&&(a=i[f._1],h[m++]=a.kill(t,function(n){return function(){0===--m&&u(n)()}})),null===c)break n;f=c._2,null===p?c=null:(c=p._1,p=p._2);break;case l:f=f._2;break;case s:case d:c&&(p=new b(v,c,p)),c=f,f=f._1}if(0===m)u(e.right(void 0))();else for(o=0,a=m;o=u.bottom(u.boundedInt)&&n<=u.top(u.boundedInt)?new a.Just(r.fromCharCode(n)):a.Nothing.value},c=new function(n,e,t){this.Ord0=n,this.pred=e,this.succ=t}(function(){return o.ordChar},(e=f,function(n){return function(t){return e(n(t)-1|0)}})(r.toCharCode),function(n){return function(e){return function(t){return n(e(t)+1|0)}}}(f)(r.toCharCode)),l=new function(n,e,t,r,u){this.Bounded0=n,this.Enum1=e,this.cardinality=t,this.fromEnum=r,this.toEnum=u}(function(){return u.boundedChar},function(){return c},r.toCharCode(u.top(u.boundedChar))-r.toCharCode(u.bottom(u.boundedChar))|0,r.toCharCode,f);t.fromEnum=i,t.toEnumWithDefaults=function(n){return function(e){return function(t){return function(r){var o=n.toEnum(r);if(o instanceof a.Just)return o.value0;if(o instanceof a.Nothing)return r0?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}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";(t["Data.Ring"]=t["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}}}(t["Data.Semiring"]=t["Data.Semiring"]||{}),function(n){"use strict";n["Data.Semiring"]=n["Data.Semiring"]||{};var e=n["Data.Semiring"],t=n["Data.Semiring"],r=new function(n,e,t,r){this.add=n,this.mul=e,this.one=t,this.zero=r}(t.intAdd,t.intMul,1,0);e.semiringInt=r}(t),function(n){"use strict";n["Data.Ring"]=n["Data.Ring"]||{};var e=n["Data.Ring"],t=n["Data.Ring"],r=n["Data.Semiring"],u=new function(n,e){this.Semiring0=n,this.sub=e}(function(){return r.semiringInt},t.intSub);e.ringInt=u}(t),function(n){"use strict";n["Data.CommutativeRing"]=n["Data.CommutativeRing"]||{};var e=n["Data.CommutativeRing"],t=n["Data.Ring"],r=new function(n){this.Ring0=n}(function(){return t.ringInt});e.commutativeRingInt=r}(t),function(n){"use strict";n["Data.EuclideanRing"]=n["Data.EuclideanRing"]||{};var e=n["Data.EuclideanRing"],t=n["Data.EuclideanRing"],r=n["Data.CommutativeRing"],u=new function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}(function(){return r.commutativeRingInt},t.intDegree,t.intDiv,t.intMod);e.div=function(n){return n.div},e.mod=function(n){return n.mod},e.euclideanRingInt=u}(t),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)}}}(t["Data.String.CodeUnits"]=t["Data.String.CodeUnits"]||{}),function(n){"use strict";n["Data.String.CodeUnits"]=n["Data.String.CodeUnits"]||{};var e=n["Data.String.CodeUnits"],t=n["Data.String.CodeUnits"];e.singleton=t.singleton,e.length=t.length,e.drop=t.drop}(t),function(n){"use strict";(t["Data.String.Unsafe"]=t["Data.String.Unsafe"]||{}).charAt=function(n){return function(e){if(n>=0&&n1){var t=a.fromEnum(a.boundedEnumChar)(l.charAt(1)(n));return p(t)?v(e)(t):e}return e}),b=(r._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(g)(n)})(w),e=a.toEnumWithDefaults(a.boundedEnumChar)(u.bottom(u.boundedChar))(u.top(u.boundedChar)),function(n){return c.singleton(e(n))}),y=r._singleton(function(n){if(n<=65535)return b(n);var e=o.div(o.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=o.mod(o.euclideanRingInt)(n-65536|0)(1024)+56320|0;return b(e)+b(t)}),E=r._take(function n(e){return function(t){if(e<1)return"";var r=h(t);return r instanceof f.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});t.take=E,t.drop=function(n){return function(e){return c.drop(c.length(E(n)(e)))(e)}}}(t),function(n){"use strict";n.Util=n.Util||{};var e,t=n.Util,r=n["Control.Bind"],u=n["Data.Array"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.Maybe"],f=n["Data.Nullable"],c=n["Data.String.CodePoints"],l=n["Data.String.Common"],s=n["Data.Tuple"],d=n["Data.Unit"],v=n.Effect,p=n["Global.Unsafe"],m=n["Halogen.HTML.Core"],h=n["Halogen.HTML.Properties"],g=n["Web.HTML"],w=n["Web.HTML.Location"],b=n["Web.HTML.Window"],y=(e=i.fromMaybe(""),function(n){return e(f.toMaybe(n))}),E=r.bindFlipped(v.bindEffect)(b.location)(g.window);t.class_=function(n){return h.class_(m.ClassName(n))},t.attr=function(n){return h.attr(n)},t._loc=E,t._curQuerystring=function(){var n,e,t,r,a,o=E(),f=w.search(o)();return n=f,e=l.replaceAll("+")(" "),r=function(n){return p.unsafeDecodeURIComponent(e(n))},a="#"===(t=c.take(1)(n))||"?"===t?c.drop(1)(n):n,u.mapMaybe(function(n){var e=l.split("=")(n);return 1===e.length?new i.Just(new s.Tuple(r(e[0]),i.Nothing.value)):2===e.length?new i.Just(new s.Tuple(r(e[0]),new i.Just(r(e[1])))):i.Nothing.value})(u.filter(function(n){return""!==n})(l.split("&")(a)))},t._lookupQueryStringValue=function(n){return function(e){return r.join(i.bindMaybe)(o.map(i.functorMaybe)(s.snd)(a.find(a.foldableArray)(function(n){return s.fst(n)===e})(n)))}},t.whenH=function(n){return function(e){return n?e(d.unit):m.text("")}},t.whenA=function(n){return function(e){return n?e(d.unit):[]}},t.ifElseH=function(n){return function(e){return function(t){return n?e(d.unit):t(d.unit)}}},t.fromNullableStr=y}(t),function(n){"use strict";n["Component.AccountSettings"]=n["Component.AccountSettings"]||{};var e=n["Component.AccountSettings"],t=n.App,r=n["Control.Bind"],u=n["DOM.HTML.Indexed.InputType"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Lens.Getter"],f=n["Data.Lens.Internal.Forget"],c=n["Data.Lens.Lens"],l=n["Data.Lens.Setter"],s=n["Data.Maybe"],d=n["Data.Profunctor.Strong"],v=n["Data.Unit"],p=n["Effect.Aff.Class"],m=n.Globals,h=n["Halogen.Component"],g=n["Halogen.HTML.Core"],w=n["Halogen.HTML.Elements"],b=n["Halogen.HTML.Events"],y=n["Halogen.HTML.Properties"],E=n["Halogen.Query.HalogenM"],D=n.Util,A=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}(),M=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}(),T=function(n){return c.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};e.usetting=function(n){var e;m["app'"](v.unit);return h.mkComponent({initialState:a.const((e=n,{us:e})),render:function(n){var e=function(n){return function(e){return s.Just.create(F.create(n(e)))}};return w.div([D.class_("settings-form")])([w.div([D.class_("fw7 mb2")])([g.text("Account Settings")]),w.div([D.class_("flex items-center mb2")])([w.input([y.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),b.onChecked(e(A.create))]),w.label([y.for("archiveDefault"),D.class_("lh-copy")])([g.text("Archive Non-Private Bookmarks (archive.li)")])]),w.div([D.class_("flex items-center mb2")])([w.input([y.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),b.onChecked(e(C.create))]),w.label([y.for("privateDefault"),D.class_("lh-copy")])([g.text("Default new bookmarks to Private")])]),w.div([D.class_("flex items-center mb2")])([w.input([y.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),b.onChecked(e(M.create))]),w.label([y.for("privacyLock"),D.class_("lh-copy")])([g.text("Privacy Lock (Private Account)")])])])},eval:h.mkEval({handleAction:function(n){if(n instanceof F)return r.discard(r.discardUnit)(E.bindHalogenM)(l.modifying(E.monadStateHalogenM)(T(d.strongFn))(function(){if(n.value0 instanceof A)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof M)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): "+[n.value0.constructor.name])}()))(function(){return r.bind(E.bindHalogenM)(i.use(E.monadStateHalogenM)(T(f.strongForget)))(function(n){return o.void(E.functorHalogenM)(p.liftAff(E.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof H)return r.bind(E.bindHalogenM)(i.use(E.monadStateHalogenM)(T(f.strongForget)))(function(n){return o.void(E.functorHalogenM)(p.liftAff(E.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:h.defaultEval.handleQuery,receive:h.defaultEval.receive,initialize:h.defaultEval.initialize,finalize:h.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.Add"]=n["Component.Add"]||{};var e=n["Component.Add"],t=n.App,r=n["Control.Bind"],u=n["Control.Monad.State.Class"],a=n["DOM.HTML.Indexed.ButtonType"],o=n["DOM.HTML.Indexed.InputType"],i=n["Data.Array"],f=n["Data.Foldable"],c=n["Data.Function"],l=n["Data.Functor"],s=n["Data.Lens.Getter"],d=n["Data.Lens.Internal.Forget"],v=n["Data.Lens.Lens"],p=n["Data.Lens.Setter"],m=n["Data.Maybe"],h=n["Data.Monoid"],g=n["Data.Profunctor.Strong"],w=n["Data.Semigroup"],b=n["Data.String.Common"],y=n["Data.Tuple"],E=n["Data.Unit"],D=n["Effect.Aff"],A=n["Effect.Aff.Class"],C=n["Effect.Class"],M=n.Globals,F=n["Halogen.Component"],H=n["Halogen.HTML.Core"],T=n["Halogen.HTML.Elements"],S=n["Halogen.HTML.Events"],_=n["Halogen.HTML.Properties"],k=n["Halogen.Query.HalogenM"],L=n.Util,I=n["Web.Event.Event"],x=n["Web.HTML"],R=n["Web.HTML.Location"],U=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}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=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}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=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}(),V=function(n){return v.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed}}})(n)};e.addbmark=function(n){var e;M["app'"](E.unit);return F.mkComponent({initialState:c.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,destroyed:!1})),render:function(n){i.drop(1),f.foldMap(f.foldableArray)(h.monoidArray)(function(n){return[T.br_,H.text(n)]}),b.split("\n");var e=M.mmoment8601(n.bm.time),t=function(n){return function(e){return m.Just.create(q.create(n(e)))}},r=function(t){return T.div([L.class_("alert")])([H.text("previously saved "),T.span([L.class_("link f7 dib gray pr3"),_.title(m.maybe(n.bm.time)(y.snd)(e))])([H.text(m.maybe(" ")(y.fst)(e))]),T.div([L.class_("edit_links dib ml1")])([T.div([L.class_("delete_link di")])([T.button(w.append(w.semigroupArray)([_.type_(H.isPropButtonType)(a.ButtonButton.value),S.onClick(function(n){return new m.Just(new Q(!0))}),L.class_("delete")])(h.guard(h.monoidArray)(n.deleteAsk)([L.attr("hidden")("hidden")])))([H.text("delete")]),T.span(w.append(w.semigroupArray)([L.class_("confirm red")])(h.guard(h.monoidArray)(!n.deleteAsk)([L.attr("hidden")("hidden")])))([T.button([_.type_(H.isPropButtonType)(a.ButtonButton.value),S.onClick(function(n){return new m.Just(new Q(!1))})])([H.text("cancel / ")]),T.button([_.type_(H.isPropButtonType)(a.ButtonButton.value),S.onClick(function(n){return new m.Just(j.value)}),L.class_("red")])([H.text("destroy")])])])])])};return L.ifElseH(!n.destroyed)(function(e){return T.form([S.onSubmit(function(n){return m.Just.create(J.create(n))})])([T.table([L.class_("w-100")])([T.tbody_([T.tr_([T.td([L.class_("w1")])([]),T.td_([L.whenH(n.bm.bid>0)(r)])]),T.tr_([T.td_([T.label([_.for("url")])([H.text("URL")])]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputUrl.value),_.id_("url"),L.class_("w-100 mv1"),_.required(!0),_.name("url"),_.autofocus(b.null(n.bm.url)),_.value(n.edit_bm.url),S.onValueChange(t(U.create))])])]),T.tr_([T.td_([T.label([_.for("title")])([H.text("title")])]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputText.value),_.id_("title"),L.class_("w-100 mv1"),_.name("title"),_.value(n.edit_bm.title),S.onValueChange(t(N.create))])])]),T.tr_([T.td_([T.label([_.for("description")])([H.text("description")])]),T.td_([T.textarea([L.class_("w-100 mt1 mid-gray"),_.id_("description"),_.name("description"),_.rows(4),_.value(n.edit_bm.description),S.onValueChange(t(P.create))])])]),T.tr_([T.td_([T.label([_.for("tags")])([H.text("tags")])]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputText.value),_.id_("tags"),L.class_("w-100 mv1"),_.name("tags"),_.autocomplete(!1),L.attr("autocapitalize")("off"),_.autofocus(!b.null(n.bm.url)),_.value(n.edit_bm.tags),S.onValueChange(t(B.create))])])]),T.tr_([T.td_([T.label([_.for("private")])([H.text("private")])]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputCheckbox.value),_.id_("private"),L.class_("private pointer"),_.name("private"),_.checked(n.edit_bm.private),S.onChecked(t(O.create))])])]),T.tr_([T.td_([T.label([_.for("toread")])([H.text("read later")])]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputCheckbox.value),_.id_("toread"),L.class_("toread pointer"),_.name("toread"),_.checked(n.edit_bm.toread),S.onChecked(t(W.create))])])]),T.tr_([T.td_([]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputSubmit.value),L.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),_.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return T.p([L.class_("red")])([H.text("you killed this bookmark")])})},eval:F.mkEval({handleAction:function(n){if(n instanceof Q)return u.modify_(k.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof j)return r.bind(k.bindHalogenM)(u.gets(k.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return r.discard(r.discardUnit)(k.bindHalogenM)(l.void(k.functorHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.destroy(n))))(function(){return u.modify_(k.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof q)return p.modifying(k.monadStateHalogenM)(V(g.strongFn))(function(){if(n.value0 instanceof U)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof N)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof P)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): "+[n.value0.constructor.name])}());if(n instanceof J)return r.discard(r.discardUnit)(k.bindHalogenM)(C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(I.preventDefault(n.value0)))(function(){return r.bind(k.bindHalogenM)(s.use(k.monadStateHalogenM)(V(d.strongForget)))(function(n){return r.discard(r.discardUnit)(k.bindHalogenM)(l.void(k.functorHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.editBookmark(n))))(function(){return r.discard(r.discardUnit)(k.bindHalogenM)(p.assign(k.monadStateHalogenM)((e=g.strongFn,v.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm}}})(e)))(n))(function(){return r.bind(k.bindHalogenM)(C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(L._loc))(function(n){return r.bind(k.bindHalogenM)(C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(x.window))(function(e){return r.bind(k.bindHalogenM)(C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(L._curQuerystring))(function(t){var r=L._lookupQueryStringValue(t)("next");return r instanceof m.Just?C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(R.setHref(r.value0)(n)):C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(M.closeWindow(e))})})})});var e})})});throw new Error("Failed pattern match at Component.Add (line 152, column 3 - line 152, column 69): "+[n.constructor.name])},handleQuery:F.defaultEval.handleQuery,receive:F.defaultEval.receive,initialize:F.defaultEval.initialize,finalize:F.defaultEval.finalize})})}}(t),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";(t["Web.HTML.HTMLElement"]=t["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";n["Web.HTML.HTMLElement"]=n["Web.HTML.HTMLElement"]||{};var e=n["Web.HTML.HTMLElement"],t=n["Web.HTML.HTMLElement"],r=n["Data.Maybe"],u=n["Unsafe.Coerce"],a=u.unsafeCoerce,o=u.unsafeCoerce;e.fromElement=function(n){return t._read(r.Nothing.value,r.Just.create,n)},e.toElement=o,e.toNode=a}(t),function(n){"use strict";n["Halogen.Query"]=n["Halogen.Query"]||{};var e,t=n["Halogen.Query"],r=n["Control.Bind"],u=n["Data.Functor"],a=n["Data.Maybe"],o=n["Halogen.Query.HalogenM"],i=n["Web.HTML.HTMLElement"],f=(e=u.map(o.functorHalogenM)(function(n){return r.bindFlipped(a.bindMaybe)(i.fromElement)(n)}),function(n){return e(o.getRef(n))});t.getHTMLElementRef=f}(t),function(n){"use strict";n["Component.RawHtml"]=n["Component.RawHtml"]||{};var e=n["Component.RawHtml"],t=n["Component.RawHtml"],r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["Data.Foldable"],i=n["Data.Maybe"],f=n["Data.Monoid"],c=n["Data.Unit"],l=n.Effect,s=n["Effect.Aff"],d=n["Effect.Aff.Class"],v=n["Effect.Class"],p=n["Halogen.Component"],m=n["Halogen.HTML.Elements"],h=n["Halogen.HTML.Properties"],g=n["Halogen.Query"],w=n["Halogen.Query.HalogenM"],b=function(){function n(){}return n.value=new n,n}(),y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.mkComponent=function(n){return p.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return m.div([h.ref(n.elRef)])([])},eval:p.mkEval({handleAction:function e(i){if(i instanceof b)return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(e){return u.bind(w.bindHalogenM)(g.getHTMLElementRef(e.elRef))(function(e){return u.discard(u.discardUnit)(w.bindHalogenM)(o.for_(w.applicativeHalogenM)(o.foldableMaybe)(e)(function(e){return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(r){return d.liftAff(w.monadAffHalogenM(d.monadAffAff))(s.forkAff(s.makeAff(function(u){return function(){return v.liftEffect(v.monadEffectEffect)(t.unsafeSetInnerHTML(e)(n(r.inputval)))(),f.mempty(l.monoidEffect(s.monoidCanceler))()}})))})}))(function(){return r.pure(w.applicativeHalogenM)(c.unit)})})});if(i instanceof y)return u.discard(u.discardUnit)(w.bindHalogenM)(a.modify_(w.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return e(b.value)});throw new Error("Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): "+[i.constructor.name])},handleQuery:p.defaultEval.handleQuery,receive:function(n){return i.Just.create(y.create(n))},initialize:new i.Just(b.value),finalize:p.defaultEval.finalize})})}}(t),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return n?e(n):""}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";n["Foreign.Marked"]=n["Foreign.Marked"]||{};var e=n["Foreign.Marked"],t=n["Foreign.Marked"],r=n.Globals;e.marked=function(n){return r.RawHTML(t.markedImpl(n))}}(t),function(n){"use strict";n["Component.Markdown"]=n["Component.Markdown"]||{};var e=n["Component.Markdown"],t=n["Component.RawHtml"],r=n["Foreign.Marked"],u=t.mkComponent(r.marked);e.component=u}(t),function(n){"use strict";n["Data.Void"]=n["Data.Void"]||{};n["Data.Void"].absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t),function(n){"use strict";n["Halogen.HTML"]=n["Halogen.HTML"]||{};var e=n["Halogen.HTML"],t=n["Halogen.Component"],r=n["Halogen.HTML.Core"];e.slot=function(n){return function(n){return function(e){return function(u){return function(a){return function(o){return function(i){return function(f){return r.widget(new t.ComponentSlot(t.componentSlot()(n)(e)(u)(a)(o)(i)(f)))}}}}}}}}}(t),function(n){"use strict";n["Component.BMark"]=n["Component.BMark"]||{};var e=n["Component.BMark"],t=n.App,r=n["Component.Markdown"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["DOM.HTML.Indexed.ButtonType"],i=n["DOM.HTML.Indexed.InputType"],f=n["Data.Function"],c=n["Data.Functor"],l=n["Data.Lens.Getter"],s=n["Data.Lens.Internal.Forget"],d=n["Data.Lens.Lens"],v=n["Data.Lens.Setter"],p=n["Data.Maybe"],m=n["Data.Monoid"],h=n["Data.Nullable"],g=n["Data.Ord"],w=n["Data.Profunctor.Strong"],b=n["Data.Show"],y=n["Data.String.CodePoints"],E=n["Data.String.Common"],D=n["Data.Symbol"],A=n["Data.Unit"],C=n["Data.Void"],M=n["Effect.Aff"],F=n["Effect.Aff.Class"],H=n["Effect.Class"],T=n.Globals,S=n["Halogen.Component"],_=n["Halogen.HTML"],k=n["Halogen.HTML.Core"],L=n["Halogen.HTML.Elements"],I=n["Halogen.HTML.Events"],x=n["Halogen.HTML.Properties"],R=n["Halogen.Query.HalogenM"],U=n.Util,N=n["Web.Event.Event"],P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=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}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(){}return n.value=new n,n}(),j=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}(),z=function(){function n(){}return n.value=new n,n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(){}return n.value=new n,n}(),$=D.SProxy.value,Z=function(n){return d.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit}}})(n)},nn=function(n){return d.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm}}})(n)},en=function(n){return d.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm}}})(n)};e.bmark=function(n){var e,d=T["app'"](A.unit);return S.mkComponent({initialState:f.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,edit:!1})),render:function(n){var e=y.take(16)(n.bm.time)+"Z",t=function(n){return U.fromNullableStr(d.userR)+"/t:"+n},u=function(n){return function(e){return p.Just.create(K.create(n(e)))}};return L.div([x.id_(b.show(b.showInt)(n.bm.bid)),U.class_("bookmark w-100 mw7 pa1 mb3"+m.guard(m.monoidString)(n.bm.private)(" private"))])([U.whenH(d.dat.isowner)(function(e){return L.div([U.class_("star fl pointer"+m.guard(m.monoidString)(n.bm.selected)(" selected"))])([L.button([U.class_("moon-gray"),I.onClick(function(e){return new p.Just(new j(!n.bm.selected))})])([k.text("✭")])])}),U.ifElseH(n.edit)(function(e){return L.div([U.class_("edit_bookmark_form pa2 pt0 bg-white")])([L.form([I.onSubmit(function(n){return p.Just.create(X.create(n))})])([L.div_([k.text("url")]),L.input([x.type_(k.isPropInputType)(i.InputUrl.value),U.class_("url w-100 mb2 pt1 f7 edit_form_input"),x.required(!0),x.name("url"),x.value(n.edit_bm.url),I.onValueChange(u(P.create))]),L.br_,L.div_([k.text("title")]),L.input([x.type_(k.isPropInputType)(i.InputText.value),U.class_("title w-100 mb2 pt1 f7 edit_form_input"),x.name("title"),x.value(n.edit_bm.title),I.onValueChange(u(B.create))]),L.br_,L.div_([k.text("description")]),L.textarea([U.class_("description w-100 mb1 pt1 f7 edit_form_input"),x.name("description"),x.rows(5),x.value(n.edit_bm.description),I.onValueChange(u(O.create))]),L.br_,L.div([x.id_("tags_input_box")])([L.div_([k.text("tags")]),L.input([x.type_(k.isPropInputType)(i.InputText.value),U.class_("tags w-100 mb1 pt1 f7 edit_form_input"),x.name("tags"),x.autocomplete(!1),U.attr("autocapitalize")("off"),x.value(n.edit_bm.tags),I.onValueChange(u(W.create))]),L.br_]),L.div([U.class_("edit_form_checkboxes mv3")])([L.input([x.type_(k.isPropInputType)(i.InputCheckbox.value),U.class_("private pointer"),x.id_("edit_private"),x.name("private"),x.checked(n.edit_bm.private),I.onChecked(u(q.create))]),k.text(" "),L.label([x.for("edit_private"),U.class_("mr2")])([k.text("private")]),k.text(" "),L.input([x.type_(k.isPropInputType)(i.InputCheckbox.value),U.class_("toread pointer"),x.id_("edit_toread"),x.name("toread"),x.checked(n.edit_bm.toread),I.onChecked(u(J.create))]),k.text(" "),L.label([x.for("edit_toread")])([k.text("to-read")]),L.br_]),L.input([x.type_(k.isPropInputType)(i.InputSubmit.value),U.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),x.value("save")]),k.text(" "),L.input([x.type_(k.isPropInputType)(i.InputReset.value),U.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),x.value("cancel"),I.onClick(function(n){return new p.Just(new G(!1))})])])])})(function(u){return L.div([U.class_("display")])([L.a([x.href(n.bm.url),x.target("_blank"),U.class_("link f5 lh-title"+m.guard(m.monoidString)(n.bm.toread)(" unread"))])([k.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),L.br_,L.a([x.href(n.bm.url),U.class_("link f7 gray hover-blue")])([k.text(n.bm.url)]),L.a([x.href(p.fromMaybe("http://archive.is/"+n.bm.url)(h.toMaybe(n.bm.archiveUrl))),U.class_("link f7 gray hover-blue ml2"+m.guard(m.monoidString)(p.isJust(h.toMaybe(n.bm.archiveUrl)))(" green")),x.target("_blank"),x.title("archive link")])([p.isJust(h.toMaybe(n.bm.archiveUrl))?k.text("☑"):k.text("☐")]),L.br_,L.div([U.class_("description mt1 mid-gray")])([_.slot()(new D.IsSymbol(function(){return"markdown"}))(g.ordUnit)($)(A.unit)(r.component)(n.bm.description)(C.absurd)]),L.div([U.class_("tags")])(U.whenA(!E.null(n.bm.tags))(function(e){return c.map(c.functorArray)(function(n){return L.a([U.class_("link tag mr1"+m.guard(m.monoidString)("."===y.take(1)(n))(" private")),x.href(t(n))])([k.text(n)])})(E.split(" ")(n.bm.tags))})),L.a([U.class_("link f7 dib gray w4"),x.href((a=n.bm.slug,U.fromNullableStr(d.userR)+"/b:"+a))])([k.text(e)]),U.whenH(d.dat.isowner)(function(e){return L.div([U.class_("edit_links di")])([L.button([x.type_(k.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new p.Just(new G(!0))}),U.class_("edit light-silver hover-blue")])([k.text("edit  ")]),L.div([U.class_("delete_link di")])([L.button([x.type_(k.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new p.Just(new V(!0))}),U.class_("delete light-silver hover-blue"+m.guard(m.monoidString)(n.deleteAsk)(" dn"))])([k.text("delete")]),L.span([U.class_("confirm red"+m.guard(m.monoidString)(!n.deleteAsk)(" dn"))])([L.button([x.type_(k.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new p.Just(new V(!1))})])([k.text("cancel / ")]),L.button([x.type_(k.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new p.Just(z.value)}),U.class_("red")])([k.text("destroy")])])])])}),U.whenH(d.dat.isowner)(function(e){return L.div([U.class_("read di")])(m.guard(m.monoidArray)(n.bm.toread)([k.text("  "),L.button([I.onClick(function(n){return new p.Just(Y.value)}),U.class_("mark_read")])([k.text("mark as read")])]))})]);var a})])},eval:S.mkEval({handleAction:function(n){if(n instanceof j)return u.bind(R.bindHalogenM)(l.use(R.monadStateHalogenM)(en(s.strongForget)))(function(e){return u.discard(u.discardUnit)(R.bindHalogenM)(F.liftAff(R.monadAffHalogenM(F.monadAffAff))(t.toggleStar(e.bid)(n.value0?t.Star.value:t.UnStar.value)))(function(){return u.discard(u.discardUnit)(R.bindHalogenM)(v.modifying(R.monadStateHalogenM)(en(w.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return v.modifying(R.monadStateHalogenM)(Z(w.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}})})})});if(n instanceof V)return a.modify_(R.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof z)return u.bind(R.bindHalogenM)(l.use(R.monadStateHalogenM)(en(s.strongForget)))(function(n){return u.discard(u.discardUnit)(R.bindHalogenM)(c.void(R.functorHalogenM)(F.liftAff(R.monadAffHalogenM(F.monadAffAff))(t.destroy(n.bid))))(function(){return R.raise(Q.value)})});if(n instanceof Y)return u.bind(R.bindHalogenM)(l.use(R.monadStateHalogenM)(en(s.strongForget)))(function(n){return u.discard(u.discardUnit)(R.bindHalogenM)(c.void(R.functorHalogenM)(F.liftAff(R.monadAffHalogenM(F.monadAffAff))(t.markRead(n.bid))))(function(){return v.modifying(R.monadStateHalogenM)(en(w.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}})})});if(n instanceof G)return u.bind(R.bindHalogenM)(l.use(R.monadStateHalogenM)(en(s.strongForget)))(function(e){return u.discard(u.discardUnit)(R.bindHalogenM)(v.assign(R.monadStateHalogenM)(Z(w.strongFn))(e))(function(){return v.assign(R.monadStateHalogenM)(nn(w.strongFn))(n.value0)})});if(n instanceof K)return v.modifying(R.monadStateHalogenM)(Z(w.strongFn))(function(){if(n.value0 instanceof P)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof J)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 230, column 17 - line 236, column 36): "+[n.value0.constructor.name])}());if(n instanceof X)return u.discard(u.discardUnit)(R.bindHalogenM)(H.liftEffect(R.monadEffectHalogenM(M.monadEffectAff))(N.preventDefault(n.value0)))(function(){return u.bind(R.bindHalogenM)(l.use(R.monadStateHalogenM)(Z(s.strongForget)))(function(n){return u.discard(u.discardUnit)(R.bindHalogenM)(c.void(R.functorHalogenM)(F.liftAff(R.monadAffHalogenM(F.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(R.bindHalogenM)(v.assign(R.monadStateHalogenM)(en(w.strongFn))(n))(function(){return v.assign(R.monadStateHalogenM)(nn(w.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 197, column 3 - line 197, column 84): "+[n.constructor.name])},handleQuery:S.defaultEval.handleQuery,receive:S.defaultEval.receive,initialize:S.defaultEval.initialize,finalize:S.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.BList"]=n["Component.BList"]||{};var e=n["Component.BList"],t=n["Component.BMark"],r=n["Control.Monad.State.Class"],u=n["Data.Array"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],f=n["Data.Ord"],c=n["Data.Symbol"],l=n["Data.Unit"],s=n["Halogen.Component"],d=n["Halogen.HTML"],v=n["Halogen.HTML.Elements"],p=n["Halogen.Query.HalogenM"],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}(),h=c.SProxy.value;e.blist=function(n){return s.mkComponent({initialState:a.const(n),render:function(n){return v.div_(o.map(o.functorArray)(function(n){return d.slot()(new c.IsSymbol(function(){return"bookmark"}))(f.ordInt)(h)(n.bid)(t.bmark(n))(l.unit)((e=m.create(n.bid),function(n){return i.Just.create(e(n))}));var e})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(u.filter(function(e){return e.bid!==n.value0}))},handleQuery:s.defaultEval.handleQuery,receive:s.defaultEval.receive,initialize:s.defaultEval.initialize,finalize:s.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NList"]=n["Component.NList"]||{};var e=n["Component.NList"],t=n["Control.Applicative"],r=n["Data.Array"],u=n["Data.Foldable"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],f=n["Data.Monoid"],c=n["Data.Show"],l=n["Data.String.CodePoints"],s=n["Data.String.Common"],d=n["Data.Tuple"],v=n["Data.Unit"],p=n.Globals,m=n["Halogen.Component"],h=n["Halogen.HTML.Core"],g=n["Halogen.HTML.Elements"],w=n["Halogen.HTML.Properties"],b=n["Halogen.Query.HalogenM"],y=n.Util;e.nlist=function(n){var e,E=function(n){return p.mmoment8601(n.created)},D=p["app'"](v.unit),A=function(n){return y.fromNullableStr(D.userR)+"/notes/"+n};return m.mkComponent({initialState:a.const((e=n,{notes:e,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return g.div_(o.map(o.functorArray)(function(n){return g.div([w.id_(c.show(c.showInt)(n.id)),y.class_("note w-100 mw7 pa1 mb2")])([g.div([y.class_("display")])([g.a([w.href(A(n.slug)),y.class_("link f5 lh-title")])([h.text(s.null(n.title)?"[no title]":n.title)]),g.br_,g.div([y.class_("description mt1 mid-gray")])((e=l.take(200)(n.text),r.drop(1)(u.foldMap(u.foldableArray)(f.monoidArray)(function(n){return[g.br_,h.text(n)]})(s.split("\n")(e))))),g.a([y.class_("link f7 dib gray w4"),w.title(i.maybe(n.created)(d.snd)(E(n))),w.href(A(n.slug))])([h.text(i.maybe(" ")(d.fst)(E(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return t.pure(b.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NNote"]=n["Component.NNote"]||{};var e=n["Component.NNote"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],f=n["DOM.HTML.Indexed.InputType"],c=n["Data.Array"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.Lens.Getter"],m=n["Data.Lens.Internal.Forget"],h=n["Data.Lens.Lens"],g=n["Data.Lens.Setter"],w=n["Data.Maybe"],b=n["Data.Monoid"],y=n["Data.Ord"],E=n["Data.Profunctor.Strong"],D=n["Data.Semigroup"],A=n["Data.Show"],C=n["Data.String.Common"],M=n["Data.Symbol"],F=n["Data.Tuple"],H=n["Data.Unit"],T=n["Data.Void"],S=n.Effect,_=n["Effect.Aff"],k=n["Effect.Aff.Class"],L=n["Effect.Class"],I=n.Globals,x=n["Halogen.Component"],R=n["Halogen.HTML"],U=n["Halogen.HTML.Core"],N=n["Halogen.HTML.Elements"],P=n["Halogen.HTML.Events"],B=n["Halogen.HTML.Properties"],O=n["Halogen.Query.HalogenM"],W=n.Util,q=n["Web.Event.Event"],J=n["Web.HTML.Location"],Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=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}(),z=function(){function n(){}return n.value=new n,n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),$=function(){function n(){}return n.value=new n,n}(),Z=function(n){return h.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},nn=M.SProxy.value,en=function(n){return h.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},tn=function(n){return h.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};e.nnote=function(n){var e,h=I["app'"](H.unit);return x.mkComponent({initialState:d.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return I.mmoment8601(n.created)},t=function(n){return function(e){return w.Just.create(G.create(n(e)))}};return W.ifElseH(n.destroyed)(function(n){return N.p([W.class_("red")])([U.text("you killed this note")])})(d.const(W.ifElseH(n.edit)(function(e){return N.form([P.onSubmit(function(n){return w.Just.create(K.create(n))})])([N.p([W.class_("mt2 mb1")])([U.text("title:")]),N.input([B.type_(U.isPropInputType)(f.InputText.value),W.class_("title w-100 mb1 pt1 f7 edit_form_input"),B.name("title"),B.value(n.edit_note.title),P.onValueChange(t(Q.create))]),N.br_,N.p([W.class_("mt2 mb1")])([U.text("description:")]),N.textarea([W.class_("description w-100 mb1 pt1 f7 edit_form_input"),B.name("text"),B.rows(30),B.value(n.edit_note.text),P.onValueChange(t(j.create))]),N.div([W.class_("edit_form_checkboxes mb3")])([N.input([B.type_(U.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),B.id_("edit_ismarkdown"),B.name("ismarkdown"),B.checked(n.edit_note.isMarkdown),P.onChecked(t(V.create))]),U.text(" "),N.label([B.for("edit_ismarkdown"),W.class_("mr2")])([U.text("use markdown?")]),N.br_]),N.input([B.type_(U.isPropInputType)(f.InputSubmit.value),W.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),B.value("save")]),U.text(" "),N.input([B.type_(U.isPropInputType)(f.InputReset.value),W.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),B.value("cancel"),P.onClick(function(n){return new w.Just(new X(!1))})])])})(function(t){return N.div([B.id_(A.show(A.showInt)(n.note.id)),W.class_("note w-100 mw7 pa1 mb2")])(D.append(D.semigroupArray)([N.div([W.class_("display")])([N.div([W.class_("link f5 lh-title")])([U.text(C.null(n.note.title)?"[no title]":n.note.title)]),N.br_,n.note.isMarkdown?N.div([W.class_("description mt1")])([R.slot()(new M.IsSymbol(function(){return"markdown"}))(y.ordUnit)(nn)(H.unit)(r.component)(n.note.text)(T.absurd)]):N.div([W.class_("description mt1 mid-gray")])((u=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(b.monoidArray)(function(n){return[N.br_,U.text(n)]})(C.split("\n")(u))))),N.div([W.class_("link f7 dib gray w4"),B.title(w.maybe(n.note.created)(F.snd)(e(n.note)))])([U.text(w.maybe(" ")(F.fst)(e(n.note)))])])])([N.div([W.class_("edit_links db mt3")])([N.button([B.type_(U.isPropButtonType)(i.ButtonButton.value),P.onClick(function(n){return new w.Just(new X(!0))}),W.class_("edit light-silver hover-blue")])([U.text("edit  ")]),N.div([W.class_("delete_link di")])([N.button([B.type_(U.isPropButtonType)(i.ButtonButton.value),P.onClick(function(n){return new w.Just(new Y(!0))}),W.class_("delete light-silver hover-blue"+b.guard(b.monoidString)(n.deleteAsk)(" dn"))])([U.text("delete")]),N.span([W.class_("confirm red"+b.guard(b.monoidString)(!n.deleteAsk)(" dn"))])([N.button([B.type_(U.isPropButtonType)(i.ButtonButton.value),P.onClick(function(n){return new w.Just(new Y(!1))})])([U.text("cancel / ")]),N.button([B.type_(U.isPropButtonType)(i.ButtonButton.value),P.onClick(function(n){return new w.Just($.value)}),W.class_("red")])([U.text("destroy")])])])])]));var u})))},eval:x.mkEval({handleAction:function(n){if(n instanceof z)return u.pure(O.applicativeHalogenM)(H.unit);if(n instanceof G)return g.modifying(O.monadStateHalogenM)(en(E.strongFn))(function(){if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 160, column 19 - line 163, column 44): "+[n.value0.constructor.name])}());if(n instanceof Y)return o.modify_(O.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof $)return a.bind(O.bindHalogenM)(p.use(O.monadStateHalogenM)(Z(m.strongForget)))(function(n){return a.discard(a.discardUnit)(O.bindHalogenM)(v.void(O.functorHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.destroyNote(n.id))))(function(){return o.modify_(O.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof X)return a.bind(O.bindHalogenM)(p.use(O.monadStateHalogenM)(Z(m.strongForget)))(function(e){return a.discard(a.discardUnit)(O.bindHalogenM)(g.assign(O.monadStateHalogenM)(en(E.strongFn))(e))(function(){return g.assign(O.monadStateHalogenM)(tn(E.strongFn))(n.value0)})});if(n instanceof K)return a.discard(a.discardUnit)(O.bindHalogenM)(L.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(q.preventDefault(n.value0)))(function(){return a.bind(O.bindHalogenM)(p.use(O.monadStateHalogenM)(en(m.strongForget)))(function(n){return a.bind(O.bindHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.editNote(n)))(function(e){if(e.body instanceof l.Left)return u.pure(O.applicativeHalogenM)(H.unit);if(e.body instanceof l.Right)return 0===n.id?L.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(a.bindFlipped(S.bindEffect)(J.setHref(W.fromNullableStr(h.noteR)))(W._loc)):a.discard(a.discardUnit)(O.bindHalogenM)(g.assign(O.monadStateHalogenM)(Z(E.strongFn))(n))(function(){return g.assign(O.monadStateHalogenM)(tn(E.strongFn))(!1)});throw new Error("Failed pattern match at Component.NNote (line 186, column 5 - line 194, column 27): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 155, column 3 - line 155, column 77): "+[n.constructor.name])},handleQuery:x.defaultEval.handleQuery,receive:x.defaultEval.receive,initialize:x.defaultEval.initialize,finalize:x.defaultEval.finalize})})}}(t),function(n){"use strict";n["Control.Applicative.Free"]=n["Control.Applicative.Free"]||{};var e=n["Control.Applicative.Free"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Category"],a=n["Data.Either"],o=n["Data.Functor"],i=n["Data.List.NonEmpty"],f=n["Data.List.Types"],c=n["Data.NonEmpty"],l=n["Data.Tuple"],s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=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(n){return function(e){return new v(n,e)}},m=d.create,h=function(n){return function(e){return function(r){return function(u){return function(a){return function(o){var c,p=n,m=e,h=r,g=u,w=a,b=!1;function y(n,e,r,u,a,c){if(a instanceof s)return b=!0,new l.Tuple(new f.Cons({func:t.pure(n)(a.value0),count:c},e),r);if(a instanceof d)return b=!0,new l.Tuple(new f.Cons({func:u(a.value0),count:c},e),r);if(a instanceof v)return p=n,m=e,h=i.cons(a.value1)(r),g=u,w=a.value0,void(o=c+1|0);throw new Error("Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): "+[a.constructor.name])}for(;!b;)c=y(p,m,h,g,w,o);return c}}}}}},g=function(n){return function(e){return function(t){return function(u){var o,i=n,s=e,d=t,v=!1;function p(n,e,t,o){if(e instanceof f.Nil)return v=!0,new a.Left(o);if(e instanceof f.Cons){var p=r.apply(n.Apply0())(e.value0.func)(o);if(1===e.value0.count)return e.value1 instanceof f.Nil?(v=!0,new a.Left(p)):(i=n,s=e.value1,d=t,void(u=p));if(t instanceof f.Nil)return v=!0,new a.Left(p);if(t instanceof f.Cons)return v=!0,a.Right.create(new l.Tuple(new f.Cons({func:p,count:e.value0.count-1|0},e.value1),new c.NonEmpty(t.value0,t.value1)));throw new Error("Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): "+[t.constructor.name])}throw new Error("Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): "+[e.constructor.name])}for(;!v;)o=p(i,s,d,u);return o}}}},w=new o.Functor(function(n){return function(e){return p(new s(n))(e)}}),b=function(n){return function(e){return function(r){return function(r){var u,o=!1;function i(u){if(u.value1.value0 instanceof s){if((i=g(n)(u.value0)(u.value1.value1)(t.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 d){var i;if((i=g(n)(u.value0)(u.value1.value1)(e(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 v))throw new Error("Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): "+[u.value1.value0.constructor.name]);var f=new c.NonEmpty(u.value1.value0.value1,u.value1.value1);r=h(n)(u.value0)(f)(e)(u.value1.value0.value0)(1)}for(;!o;)u=i(r);return u}(new l.Tuple(f.Nil.value,i.singleton(r)))}}},y=new r.Apply(function(){return w},function(n){return function(e){return p(n)(e)}}),E=new t.Applicative(function(){return y},s.create);e.retractFreeAp=function(n){return b(n)(u.identity(u.categoryFn))},e.hoistFreeAp=function(n){return b(E)(function(e){return m(n(e))})}}(t),function(n){"use strict";n["Control.Monad.Trans.Class"]=n["Control.Monad.Trans.Class"]||{};var e=n["Control.Monad.Trans.Class"];e.lift=function(n){return n.lift},e.MonadTrans=function(n){this.lift=n}}(t),function(n){"use strict";n["Control.Monad.Free.Trans"]=n["Control.Monad.Free.Trans"]||{};var e=n["Control.Monad.Free.Trans"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Monad"],o=n["Control.Monad.Rec.Class"],i=n["Control.Monad.Trans.Class"],f=n["Data.Bifunctor"],c=n["Data.Either"],l=n["Data.Exists"],s=n["Data.Functor"],d=n["Data.Unit"],v=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}(),m=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),h=p.create,g=function(n){return function(e){return new m(l.mkExists(new v(n,e)))}},w=function n(e){return function(t){return new s.Functor(function(r){return function(u){if(u instanceof p)return new p(function(a){return s.map(t)(f.bimap(c.bifunctorEither)(r)(s.map(e)(s.map(n(e)(t))(r))))(u.value0(d.unit))});if(u instanceof m)return l.runExists(function(u){return g(u.value0)((a=s.map(n(e)(t))(r),function(n){return a(u.value1(n))}));var a})(u.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 59, column 71): "+[r.constructor.name,u.constructor.name])}})}},b=function(n){return function(e){return new a.Monad(function(){return D(n)(e)},function(){return y(n)(e)})}},y=function(n){return function(e){return new u.Bind(function(){return E(n)(e)},function(n){return function(e){return n instanceof m?l.runExists(function(n){return g(n.value0)(function(t){return g(function(e){return n.value1(t)})(e)})})(n.value0):g(function(e){return n})(e)}})}},E=function(n){return function(e){return new r.Apply(function(){return w(n)(e.Bind1().Apply0().Functor0())},a.ap(b(n)(e)))}},D=function(n){return function(e){return new t.Applicative(function(){return E(n)(e)},function(n){return new p(function(r){return t.pure(e.Applicative0())(new c.Left(n))})})}},A=function(n){return function(e){return o.tailRecM(e)(function(r){if(r instanceof p)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Done.create)(r.value0(d.unit));if(r instanceof m)return l.runExists(function(r){var a=r.value0(d.unit);if(a instanceof p)return u.bind(e.Monad0().Bind1())(a.value0(d.unit))(function(a){if(a instanceof c.Left)return t.pure(e.Monad0().Applicative0())(new o.Loop(r.value1(a.value0)));if(a instanceof c.Right)return t.pure(e.Monad0().Applicative0())(new o.Done(new c.Right(s.map(n)(function(t){return u.bind(y(n)(e.Monad0()))(t)(r.value1)})(a.value0))));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): "+[a.constructor.name])});if(a instanceof m)return l.runExists(function(a){return t.pure(e.Monad0().Applicative0())(new o.Loop(u.bind(y(n)(e.Monad0()))(a.value0(d.unit))(function(t){return u.bind(y(n)(e.Monad0()))(a.value1(t))(r.value1)})))})(a.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): "+[a.constructor.name])})(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): "+[r.constructor.name])})}};e.freeT=h,e.liftFreeT=function(n){return function(e){return function(r){return new p(function(u){return t.pure(e.Applicative0())(new c.Right(s.map(n)(t.pure(D(n)(e)))(r)))})}}},e.resume=A,e.runFreeT=function(n){return function(e){return function(r){return o.tailRecM(e)(u.composeKleisliFlipped(e.Monad0().Bind1())(function(n){if(n instanceof c.Left)return t.pure(e.Monad0().Applicative0())(new o.Done(n.value0));if(n instanceof c.Right)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Loop.create)(r(n.value0));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): "+[n.constructor.name])})(A(n)(e)))}}},e.functorFreeT=w,e.applicativeFreeT=D,e.bindFreeT=y,e.monadTransFreeT=function(n){return new i.MonadTrans(function(n){return function(e){return new p(function(t){return s.map(n.Bind1().Apply0().Functor0())(c.Left.create)(e)})}})},e.monadRecFreeT=function(n){return function(e){return new o.MonadRec(function(){return b(n)(e)},function(r){return function a(i){return u.bind(y(n)(e))(r(i))(function(r){if(r instanceof o.Loop)return a(r.value0);if(r instanceof o.Done)return t.pure(D(n)(e))(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): "+[r.constructor.name])})}})}}}(t),function(n){"use strict";n["Control.Coroutine"]=n["Control.Coroutine"]||{};var e=n["Control.Coroutine"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.Except.Trans"],i=n["Control.Monad.Free.Trans"],f=n["Control.Monad.Rec.Class"],c=n["Control.Monad.Trans.Class"],l=n["Control.Parallel.Class"],s=n["Data.Bifunctor"],d=n["Data.Either"],v=n["Data.Functor"],p=n["Data.Identity"],m=n["Data.Maybe"],h=n["Data.Newtype"],g=n["Data.Profunctor"],w=n["Data.Tuple"],b=n["Data.Unit"],y=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 g.Profunctor(function(n){return function(e){return function(t){return g.dimap(g.profunctorFn)(n)(e)(t)}}}),D=function(n){return function(e){return function(r){return function(a){return function(f){return function(c){return function(l){return i.freeT(function(s){return function c(l){return o.runExceptT(u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(n)(a)(l.value0)))(function(n){return u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(e)(a)(l.value1)))(function(e){return t.pure(o.applicativeExceptT(a.Monad0()))(v.map(r)(function(n){return i.freeT(function(e){return c(n)})})(f(w.Tuple.create)(n)(e)))})}))}(new w.Tuple(c,l))})}}}}}}},A=function(n){return function(e){return function(a){return function(o){return function(f){return function(c){return function(s){return function(p){return i.freeT(function(m){return function s(p){return u.bind(o.Monad0().Bind1())(l.sequential(f)(r.apply(f.Applicative1().Apply0())(v.map(f.Applicative1().Apply0().Functor0())(r.lift2(d.applyEither)(c(w.Tuple.create)))(l.parallel(f)(i.resume(n)(o)(p.value0))))(l.parallel(f)(i.resume(e)(o)(p.value1)))))(function(n){if(n instanceof d.Left)return t.pure(o.Monad0().Applicative0())(new d.Left(n.value0));if(n instanceof d.Right)return t.pure(o.Monad0().Applicative0())(new d.Right(v.map(a)(function(n){return i.freeT(function(e){return s(n)})})(n.value0)));throw new Error("Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): "+[n.constructor.name])})}(new w.Tuple(s,p))})}}}}}}}},C=new v.Functor(g.rmap(E)),M=new s.Bifunctor(function(n){return function(e){return function(t){return new y(n(t.value0),e(t.value1))}}}),F=new v.Functor(s.rmap(M));e.runProcess=function(n){return i.runFreeT(p.functorIdentity)(n)((e=t.pure(n.Monad0().Applicative0()),r=h.unwrap(p.newtypeIdentity),function(n){return e(r(n))}));var e,r},e.producer=function(n){return function(e){return(r=F,function(n){return function(e){return f.tailRecM(i.monadRecFreeT(r)(n))(function(t){return v.map(i.functorFreeT(r)(n.Bind1().Apply0().Functor0()))(m.maybe(new f.Loop(b.unit))(f.Done.create))(e)})(b.unit)}})(n)(u.bind(i.bindFreeT(F)(n))(c.lift(i.monadTransFreeT(F))(n)(e))(function(e){if(e instanceof d.Left)return v.voidLeft(i.functorFreeT(F)(n.Bind1().Apply0().Functor0()))(function(n){return function(e){return i.liftFreeT(F)(n)(new y(e,b.unit))}}(n)(e.value0))(m.Nothing.value);if(e instanceof d.Right)return t.pure(i.applicativeFreeT(F)(n))(new m.Just(e.value0));throw new Error("Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): "+[e.constructor.name])}));var r}},e.await=function(n){return i.liftFreeT(C)(n)(a.identity(a.categoryFn))},e.connect=function(n){return function(e){return A(F)(C)(p.functorIdentity)(n)(e)(function(n){return function(e){return function(t){return n(e.value1)(t(e.value0))}}})}},e.pullFrom=function(n){return D(C)(F)(p.functorIdentity)(n)(function(n){return function(e){return function(r){return t.pure(p.applicativeIdentity)(n(e(r.value0))(r.value1))}}})},e.functorAwait=C}(t),function(n){"use strict";n["Control.Monad.Fork.Class"]=n["Control.Monad.Fork.Class"]||{};var e=n["Control.Monad.Fork.Class"],t=n["Effect.Aff"],r=new function(n,e,t,r,u){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=u}(function(){return t.functorFiber},function(){return t.monadAff},t.forkAff,t.joinFiber,t.suspendAff);e.fork=function(n){return n.fork},e.monadForkAff=r}(t),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 u(n){try{n()}catch(e){setTimeout(function(){throw e},0)}}function a(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=a,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):a(n.queue))},t.drainVar=function(n,e){if(!e.draining){var t,a,i,f,c,l=e.puts,s=e.takes,d=e.reads;for(e.draining=!0;;){if(t=null,a=null,i=null,f=e.value,c=d.size,null!==e.error){for(f=n.left(e.error);t=o(l);)u(t.cb(f));for(;a=o(d);)u(a(f));for(;i=o(s);)u(i(f));break}if(f===r&&(t=o(l))&&(e.value=f=t.value),f!==r){for(i=o(s);c--&&(a=o(d));)u(a(n.right(f)));null!==i&&(e.value=r,u(i(n.right(f))))}if(null!==t&&u(t.cb(n.right(void 0))),e.value===r&&0===l.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,u){return function(){var a=e.putLast(r.puts,{cb:u,value:t});return e.drainVar(n,r),function(){e.deleteCell(a)}}},n._takeVar=function(n,t,r){return function(){var u=e.putLast(t.takes,r);return e.drainVar(n,t),function(){e.deleteCell(u)}}}}(t["Effect.AVar"]=t["Effect.AVar"]||{}),function(n){"use strict";n["Effect.AVar"]=n["Effect.AVar"]||{};var e=n["Effect.AVar"],t=n["Effect.AVar"],r=n["Data.Either"],u=n["Data.Maybe"],a=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(){}return n.value=new n,n}(),f={left:r.Left.create,right:r.Right.create,nothing:u.Nothing.value,just:u.Just.create,killed:a.create,filled:o.create,empty:i.value};e.take=function(n){return function(e){return t._takeVar(f,n,e)}},e.put=function(n){return function(e){return function(r){return t._putVar(f,n,e,r)}}},e.kill=function(n){return function(e){return t._killVar(f,n,e)}},e.empty=t.empty}(t),function(n){"use strict";n["Effect.Aff.AVar"]=n["Effect.Aff.AVar"]||{};var e=n["Effect.Aff.AVar"],t=n["Effect.AVar"],r=n["Effect.Aff"],u=n["Effect.Class"],a=u.liftEffect(r.monadEffectAff)(t.empty);e.empty=a,e.take=function(n){return r.makeAff(function(e){return function(){var u=t.take(n)(e)();return r.effectCanceler(u)}})},e.put=function(n){return function(e){return r.makeAff(function(u){return function(){var a=t.put(n)(e)(u)();return r.effectCanceler(a)}})}},e.kill=function(n){var e=u.liftEffect(r.monadEffectAff),a=t.kill(n);return function(n){return e(a(n))}}}(t),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";n["Effect.Console"]=n["Effect.Console"]||{};var e=n["Effect.Console"],t=n["Effect.Console"];e.warn=t.warn}(t),function(n){"use strict";n.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(t["Effect.Exception"]=t["Effect.Exception"]||{}),function(n){"use strict";n["Effect.Exception"]=n["Effect.Exception"]||{};var e=n["Effect.Exception"],t=n["Effect.Exception"];e.throw=function(n){return t.throwException(t.error(n))},e.error=t.error,e.throwException=t.throwException}(t),function(n){"use strict";n["Halogen.Aff.Driver.State"]=n["Halogen.Aff.Driver.State"]||{};var e=n["Halogen.Aff.Driver.State"],t=n["Data.Foldable"],r=n["Data.List.Types"],u=n["Data.Map.Internal"],a=n["Data.Maybe"],o=n["Effect.Ref"],i=n["Halogen.Data.Slot"],f=n["Unsafe.Coerce"],c=f.unsafeCoerce,l=f.unsafeCoerce,s=f.unsafeCoerce,d=f.unsafeCoerce;e.mapDriverState=function(n){return function(e){return n(e)}},e.unDriverStateX=l,e.renderStateX=function(n){return function(n){return l(function(e){return s(n(e.rendering))})}},e.renderStateX_=function(n){return function(e){return l(function(r){return t.traverse_(n)(t.foldableMaybe)(e)(r.rendering)})}},e.unRenderStateX=c,e.initDriverState=function(n){return function(e){return function(t){return function(f){return function(){var c=o.new({})(),l=o.new(i.empty)(),s=o.new(i.empty)(),v=o.new(t)(),p=o.new(new a.Just(r.Nil.value))(),m=o.new(new a.Just(r.Nil.value))(),h=o.new(a.Nothing.value)(),g=o.new(1)(),w=o.new(new a.Just(u.empty))(),b=o.new(u.empty)(),y={component:n,state:n.initialState(e),refs:u.empty,children:i.empty,childrenIn:l,childrenOut:s,selfRef:c,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:h,rendering:a.Nothing.value,fresh:g,subscriptions:w,forks:b,lifecycleHandlers:f};return o.write(y)(c)(),d(c)}}}}}}(t),function(n){"use strict";n["Halogen.Query.ChildQuery"]=n["Halogen.Query.ChildQuery"]||{};var e=n["Halogen.Query.ChildQuery"],t=n["Unsafe.Coerce"].unsafeCoerce;e.unChildQueryBox=t}(t),function(n){"use strict";n["Halogen.Query.EventSource"]=n["Halogen.Query.EventSource"]||{};n["Halogen.Query.EventSource"].finalize=function(n){return n}}(t),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n["Unsafe.Reference"]=n["Unsafe.Reference"]||{};var e=n["Unsafe.Reference"],t=n["Unsafe.Reference"].reallyUnsafeRefEq;e.unsafeRefEq=t}(t),function(n){"use strict";n["Halogen.Aff.Driver.Eval"]=n["Halogen.Aff.Driver.Eval"]||{};var e=n["Halogen.Aff.Driver.Eval"],t=n["Control.Applicative"],r=n["Control.Applicative.Free"],u=n["Control.Bind"],a=n["Control.Coroutine"],o=n["Control.Monad"],i=n["Control.Monad.Fork.Class"],f=n["Control.Monad.Free"],c=n["Control.Monad.Free.Trans"],l=n["Control.Monad.Trans.Class"],s=n["Control.Parallel"],d=n["Control.Parallel.Class"],v=n["Data.Boolean"],p=n["Data.Coyoneda"],m=n["Data.Eq"],h=n["Data.Foldable"],g=n["Data.Function"],w=n["Data.Functor"],b=n["Data.List.Types"],y=n["Data.Map.Internal"],E=n["Data.Maybe"],D=n["Data.Ord"],A=n["Data.Unit"],C=n.Effect,M=n["Effect.Aff"],F=n["Effect.Class"],H=n["Effect.Exception"],T=n["Effect.Ref"],S=n["Halogen.Aff.Driver.State"],_=n["Halogen.Query.ChildQuery"],k=n["Halogen.Query.EventSource"],L=n["Halogen.Query.HalogenM"],I=n["Halogen.Query.HalogenQ"],x=n["Halogen.Query.Input"],R=n["Unsafe.Reference"],U=function(n){return function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(t){if(t instanceof E.Nothing)return e;if(t instanceof E.Just)return F.liftEffect(M.monadEffectAff)(T.write(new E.Just(new b.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): "+[t.constructor.name])})}},N=function(n){return function(e){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(e))(function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return u.discard(u.discardUnit)(M.bindAff)(h.traverse_(M.applicativeAff)(b.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return u.discard(u.discardUnit)(M.bindAff)(s.parSequence_(M.parallelAff)(b.foldableList)(n.initializers))(function(){return t.pure(M.applicativeAff)(e)})})})})})}},P=function(n){return function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(e){return F.liftEffect(M.monadEffectAff)(T["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},B=function(n){return function(e){return function(t){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Query(w.map(p.functorCoyoneda)(E.Just.create)(p.liftCoyoneda(t)),g.const(E.Nothing.value))))})}}},O=function n(e){return function(s){return function(p){var g;return f.foldFree(M.monadRecAff)((g=s,function(f){if(f instanceof L.State)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(n){var r=f.value0(n.state);if(R.unsafeRefEq(n.state)(r.value1))return t.pure(M.applicativeAff)(r.value0);if(v.otherwise)return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(g)))(function(){return u.discard(u.discardUnit)(M.bindAff)(N(n.lifecycleHandlers)(e(n.lifecycleHandlers)(g)))(function(){return t.pure(M.applicativeAff)(r.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): "+[r.constructor.name])});if(f instanceof L.Subscribe)return u.bind(M.bindAff)(P(L.SubscriptionId)(g))(function(n){var r=f.value0(n);return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(o){return u.bind(M.bindAff)(i.fork(i.monadForkAff)(u.bind(M.bindAff)(r)(function(r){var f=u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(o.subscriptions)))(function(e){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.modify_(w.map(E.functorMaybe)(y.delete(L.ordSubscriptionId)(n)))(o.subscriptions)))(function(){return t.when(M.applicativeAff)(E.maybe(!1)(y.member(L.ordSubscriptionId)(n))(e))(k.finalize(r.finalizer))})}),s=u.bind(c.bindFreeT(a.functorAwait)(M.monadAff))(a.await(M.monadAff))(function(r){return u.bind(c.bindFreeT(a.functorAwait)(M.monadAff))(l.lift(c.monadTransFreeT(a.functorAwait))(M.monadAff)(F.liftEffect(M.monadEffectAff)(T.read(o.subscriptions))))(function(o){return t.when(c.applicativeFreeT(a.functorAwait)(M.monadAff))(m.eq(E.eqMaybe(m.eqBoolean))(w.map(E.functorMaybe)(y.member(L.ordSubscriptionId)(n))(o))(new E.Just(!0)))(u.bind(c.bindFreeT(a.functorAwait)(M.monadAff))(l.lift(c.monadTransFreeT(a.functorAwait))(M.monadAff)(i.fork(i.monadForkAff)(W(e)(g)(new x.Action(r)))))(function(n){return s}))})});return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.modify_(w.map(E.functorMaybe)(y.insert(L.ordSubscriptionId)(n)(f)))(o.subscriptions)))(function(){return u.discard(u.discardUnit)(M.bindAff)(a.runProcess(M.monadRecAff)(a.pullFrom(M.monadRecAff)(s)(r.producer)))(function(){return k.finalize(f)})})})))(function(e){return t.pure(M.applicativeAff)(f.value1(n))})})});if(f instanceof L.Unsubscribe)return u.discard(u.discardUnit)(M.bindAff)((s=f.value0,function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.subscriptions)))(function(n){return h.traverse_(M.applicativeAff)(h.foldableMaybe)(k.finalize)(u.bindFlipped(E.bindMaybe)(y.lookup(L.ordSubscriptionId)(s))(n))})})})(g))(function(){return t.pure(M.applicativeAff)(f.value1)});var s,p,b;if(f instanceof L.Lift)return f.value0;if(f instanceof L.ChildQuery)return function(n){return function(t){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return _.unChildQueryBox(function(t){return w.map(M.functorAff)(t.value2)(d.sequential(M.parallelAff)(t.value0(M.applicativeParAff)(function(n){return d.parallel(M.parallelAff)(u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return S.unDriverStateX(function(n){return B(e)(n.selfRef)(t.value1)})(n)}))})(n.children)))})(t)})}}(g)(f.value0);if(f instanceof L.Raise)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.handlerRef)))(function(e){return u.discard(u.discardUnit)(M.bindAff)(U(n.pendingOuts)(e(f.value0)))(function(){return t.pure(M.applicativeAff)(f.value1)})})});if(f instanceof L.Par)return d.sequential(M.parallelAff)(r.retractFreeAp(M.applicativeParAff)(r.hoistFreeAp((p=d.parallel(M.parallelAff),b=n(e)(g),function(n){return p(b(n))}))(f.value0)));if(f instanceof L.Fork)return u.bind(M.bindAff)(P(L.ForkId)(g))(function(r){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(a){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.new(!1)))(function(c){return u.bind(M.bindAff)(i.fork(i.monadForkAff)(M.finally(F.liftEffect(M.monadEffectAff)(function(){return T.modify_(y.delete(L.ordForkId)(r))(a.forks)(),T.write(!0)(c)()}))(n(e)(g)(f.value0))))(function(n){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(o.unlessM(C.monadEffect)(T.read(c))(T.modify_(y.insert(L.ordForkId)(r)(n))(a.forks))))(function(){return t.pure(M.applicativeAff)(f.value1(r))})})})})});if(f instanceof L.Kill)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.forks)))(function(n){return u.discard(u.discardUnit)(M.bindAff)(h.traverse_(M.applicativeAff)(h.foldableMaybe)(M.killFiber(H.error("Cancelled")))(y.lookup(L.ordForkId)(f.value0)(n)))(function(){return t.pure(M.applicativeAff)(f.value1)})})});if(f instanceof L.GetRef)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(n){return t.pure(M.applicativeAff)(f.value1(y.lookup(D.ordString)(f.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[f.constructor.name])}))(p)}}},W=function(n){return function(e){return function(t){if(t instanceof x.RefUpdate)return F.liftEffect(M.monadEffectAff)(g.flip(T.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:y.alter(D.ordString)(g.const(t.value1))(t.value0)(n.refs),children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}})));if(t instanceof x.Action)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Action(t.value0,A.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};e.evalF=W,e.evalQ=B,e.evalM=O,e.handleLifecycle=N,e.queueOrRun=U}(t),function(n){"use strict";n["Halogen.Aff.Driver"]=n["Halogen.Aff.Driver"]||{};var e=n["Halogen.Aff.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Control.Coroutine"],o=n["Control.Monad.Error.Class"],i=n["Control.Monad.Fork.Class"],f=n["Control.Monad.Rec.Class"],c=n["Control.Parallel"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.List"],m=n["Data.List.Types"],h=n["Data.Map.Internal"],g=n["Data.Maybe"],w=n["Data.Ord"],b=n["Data.Unit"],y=n.Effect,E=n["Effect.Aff"],D=n["Effect.Aff.AVar"],A=n["Effect.Class"],C=n["Effect.Console"],M=n["Effect.Exception"],F=n["Effect.Ref"],H=n["Halogen.Aff.Driver.Eval"],T=n["Halogen.Aff.Driver.State"],S=n["Halogen.Component"],_=n["Halogen.Data.Slot"],k=n["Halogen.Query.EventSource"],L=n["Halogen.Query.HalogenQ"],I=n["Halogen.Query.Input"],x=F.new({initializers:m.Nil.value,finalizers:m.Nil.value}),R=E.runAff_(l.either(M.throwException)(d.const(t.pure(y.applicativeEffect)(b.unit)))),U=function(n){return function(){var e,t=F.read(n)();return F.write(g.Nothing.value)(n)(),s.for_(y.applicativeEffect)(s.foldableMaybe)(t)((e=s.traverse_(E.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(n){return R(e(p.reverse(n)))}))()}};e.runUI=function(n){return function(e){return function(N){var P=function(n){return function(e){return function(t){return S.unComponent(function(u){return function(){var a,o=x(),i=T.initDriverState(u)(t)(e)(o)(),f=F.read(n)();return F.write({initializers:m.Nil.value,finalizers:f.finalizers})(n)(),r.bindFlipped(y.bindEffect)(T.unDriverStateX((a=O(n),function(n){return a(n.selfRef)})))(F.read(i))(),r.bindFlipped(y.bindEffect)(function(n){return function(e){return T.unDriverStateX(function(t){var u=H.evalM(O)(t.selfRef)(t.component.eval(new L.Initialize(b.unit)));return F.modify_(function(n){return{initializers:new m.Cons(r.discard(r.discardUnit)(E.bindAff)(c.parSequence_(E.parallelAff)(m.foldableList)(p.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(E.bindAff)(u)(function(){return A.liftEffect(E.monadEffectAff)(function(){return U(t.pendingQueries)(),U(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(f.initializers))(F.read(i))(),i}})}}},B=function(e){return function(u){return function(a){return function(o){return S.unComponentSlot(function(i){return function(){var f=v.map(y.functorEffect)(i.pop)(F.read(a))(),c=function(){if(f instanceof g.Just){F.write(f.value0.value1)(a)();var n=F.read(f.value0.value0)();return T.unDriverStateX(function(n){return function(){var e;return d.flip(F.write)(n.handlerRef)((e=g.maybe(t.pure(E.applicativeAff)(b.unit))(u),function(n){return e(i.output(n))}))(),R(H.evalM(O)(n.selfRef)(n.component.eval(i.input)))()}})(n)(),f.value0.value0}if(f instanceof g.Nothing)return i.input instanceof L.Receive?P(e)((r=g.maybe(t.pure(E.applicativeAff)(b.unit))(u),function(n){return r(i.output(n))}))(i.input.value0)(i.component)():M.throw("Halogen internal error: slot input was not a Receive query")();var r;throw new Error("Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 249, column 81): "+[f.constructor.name])}(),l=v.map(y.functorEffect)(function(n){return g.isJust(i.get(n))})(F.read(o))();return t.when(y.applicativeEffect)(l)(C.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),F.modify_(i.set(c))(o)(),r.bind(y.bindEffect)(F.read(c))(T.renderStateX(y.functorEffect)(function(e){if(e instanceof g.Nothing)return M.throw("Halogen internal error: child was not initialized in renderChild");if(e instanceof g.Just)return t.pure(y.applicativeEffect)(n.renderChild(e.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 254, column 37 - line 256, column 50): "+[e.constructor.name])}))()}})}}}},O=function e(r){return function(a){return function(){var o=F.read(a)(),c=v.map(y.functorEffect)(g.isNothing)(F.read(o.pendingHandlers))();t.when(y.applicativeEffect)(c)(F.write(new g.Just(m.Nil.value))(o.pendingHandlers))(),F.write(_.empty)(o.childrenOut)(),F.write(o.children)(o.childrenIn)();var l,h,w,D,A=u.identity(u.categoryFn)(o.selfRef),C=u.identity(u.categoryFn)(o.pendingQueries),M=u.identity(u.categoryFn)(o.pendingHandlers),S=(l=H.queueOrRun(M),h=v.void(E.functorAff),w=H.evalF(e)(A),function(n){return l(h(w(n)))}),k=(D=H.queueOrRun(C),function(n){return D(S(I.Action.create(n)))}),L=n.render(function(n){return R(S(n))})(B(r)(k)(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),x=F.read(o.childrenOut)(),U=F.read(o.childrenIn)();return _.foreachSlot(y.applicativeEffect)(U)(function(e){return function(){var t=F.read(e)();return T.renderStateX_(y.applicativeEffect)(n.removeChild)(t)(),W(r)(t)()}})(),d.flip(F.modify_)(o.selfRef)(T.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:x,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new g.Just(L),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),t.when(y.applicativeEffect)(c)(d.flip(f.tailRecM(f.monadRecEffect))(b.unit)(function(n){return function(){var n,e=F.read(M)();F.write(new g.Just(m.Nil.value))(M)(),s.traverse_(y.applicativeEffect)(s.foldableMaybe)((n=s.traverse_(E.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(e){return R(n(p.reverse(e)))}))(e)();var t=F.read(M)();return g.maybe(!1)(p.null)(t)?v.voidLeft(y.functorEffect)(F.write(g.Nothing.value)(M))(new f.Done(b.unit))():new f.Loop(b.unit)}}))()}}},W=function n(e){return T.unDriverStateX(function(t){return function(){var u;(u=t,function(){var n,e,t;return r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(s.foldableMaybe)((e=s.traverse_(E.applicativeAff)(h.foldableMap)((n=i.fork(i.monadForkAff),function(e){return n(k.finalize(e))})),function(n){return R(e(n))})))(F.read(u.subscriptions))(),F.write(g.Nothing.value)(u.subscriptions)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(h.foldableMap)((t=E.killFiber(M.error("finalized")),function(n){return R(t(n))})))(F.read(u.forks))(),F.write(h.empty)(u.forks)()})();var a=H.evalM(O)(t.selfRef)(t.component.eval(new L.Finalize(b.unit)));return F.modify_(function(n){return{initializers:n.initializers,finalizers:new m.Cons(a,n.finalizers)}})(e)(),_.foreachSlot(y.applicativeEffect)(t.children)(function(t){return function(){var r=F.read(t)();return n(e)(r)()}})()}})},q=function(e){return function(t){return function(u){return function(a){return H.handleLifecycle(t)(function(){var o,i;return F.read(e)()?b.unit:(F.write(!0)(e)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(h.foldableMap)((o=D.kill(M.error("disposed")),function(n){return E.launchAff_(o(n))})))(F.read(a))(),W(t)(u)(),T.unDriverStateX((i=s.traverse_(y.applicativeEffect)(s.foldableMaybe)(n.dispose),function(n){return i(n.rendering)}))(u)())})}}}};return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(x))(function(n){return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.new(0)))(function(u){return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.new(!1)))(function(f){return H.handleLifecycle(n)(function(){var c,p=F.new(h.empty)(),m=r.bindFlipped(y.bindEffect)(F.read)(P(n)((c=p,function(n){return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.read(c)))(function(e){return s.traverse_(E.applicativeAff)(h.foldableMap)(i.fork(i.monadForkAff))(v.map(h.functorMap)(D.put(n))(e))})}))(N)(e))();return T.unDriverStateX(function(e){return t.pure(y.applicativeEffect)({query:(s=f,function(n){return function(e){return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.read(s)))(function(r){return r?t.pure(E.applicativeAff)(g.Nothing.value):H.evalQ(O)(n)(e)})}})(e.selfRef),subscribe:(c=u,function(n){return function(e){return r.bind(E.bindAff)(D.empty)(function(t){return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(function(){var e=F.read(c)();return F.modify_(function(n){return n+1|0})(c)(),F.modify_(h.insert(w.ordInt)(e)(t))(n)(),e}))(function(u){var f=a.producer(E.monadAff)(v.map(E.functorAff)(l.either(d.const(new l.Right(b.unit)))(l.Left.create))(o.try(E.monadErrorAff)(D.take(t))));return v.void(E.functorAff)(i.fork(i.monadForkAff)(r.discard(r.discardUnit)(E.bindAff)(a.runProcess(E.monadRecAff)(a.connect(E.monadRecAff)(E.parallelAff)(f)(e)))(function(){return r.discard(r.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.modify_(h.delete(w.ordInt)(u))(n)))(function(){return D.kill(M.error("ended"))(t)})})))})})}})(p),dispose:q(f)(n)(m)(p)});var c,s})(m)()})})})})}}}}(t),function(n){"use strict";(t["Web.DOM.ParentNode"]=t["Web.DOM.ParentNode"]||{})._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}}}(),function(n){"use strict";n["Web.DOM.ParentNode"]=n["Web.DOM.ParentNode"]||{};var e=n["Web.DOM.ParentNode"],t=n["Web.DOM.ParentNode"],r=n["Data.Functor"],u=n["Data.Nullable"],a=n.Effect;e.querySelector=function(n){var e=r.map(a.functorEffect)(u.toMaybe),o=t._querySelector(n);return function(n){return e(o(n))}}}(t),function(n){"use strict";n["Web.HTML.HTMLDocument"]=n["Web.HTML.HTMLDocument"]||{};var e=n["Web.HTML.HTMLDocument"],t=n["Unsafe.Coerce"],r=t.unsafeCoerce,u=t.unsafeCoerce;e.toDocument=u,e.toParentNode=r}(t),function(n){"use strict";n["Halogen.Aff.Util"]=n["Halogen.Aff.Util"]||{};var e=n["Halogen.Aff.Util"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Data.Either"],a=n["Data.Function"],o=n["Data.Maybe"],i=n["Data.Unit"],f=n.Effect,c=n["Effect.Aff"],l=n["Effect.Class"],s=n["Effect.Exception"],d=n["Web.DOM.ParentNode"],v=n["Web.HTML"],p=n["Web.HTML.HTMLDocument"],m=n["Web.HTML.HTMLElement"],h=n["Web.HTML.Window"],g=c.runAff_(u.either(s.throwException)(a.const(t.pure(f.applicativeEffect)(i.unit))));e.selectElement=function(n){return r.bind(c.bindAff)(l.liftEffect(c.monadEffectAff)(r.bindFlipped(f.bindEffect)(r.composeKleisliFlipped(f.bindEffect)((e=d.querySelector(n),function(n){return e(p.toParentNode(n))}))(h.document))(v.window)))(function(n){return t.pure(c.applicativeAff)(r.bindFlipped(o.bindMaybe)(m.fromElement)(n))});var e},e.runHalogenAff=g}(t),function(n){"use strict";(t["Web.DOM.Element"]=t["Web.DOM.Element"]||{}).setAttribute=function(n){return function(e){return function(t){return function(){return t.setAttribute(n,e),{}}}}}}(),function(n){"use strict";n["Web.DOM.Element"]=n["Web.DOM.Element"]||{};var e=n["Web.DOM.Element"],t=n["Web.DOM.Element"],r=n["Unsafe.Coerce"].unsafeCoerce;e.toNode=r,e.setAttribute=t.setAttribute}(t),function(n){"use strict";n["Halogen.VDom.DOM"]=n["Halogen.VDom.DOM"]||{};var e=n["Halogen.VDom.DOM"],t=n["Data.Array"],r=n["Data.Boolean"],u=n["Data.Maybe"],a=n["Data.Nullable"],o=n["Data.Tuple"],i=n["Halogen.VDom.Machine"],f=n["Halogen.VDom.Types"],c=n["Halogen.VDom.Util"],l=n["Web.DOM.Element"],s=function(n){return i.halt(n.widget)},d=function n(e,t){if(t instanceof f.Grafted)return n(e,f.runGraft(t.value0));if(t instanceof f.Widget){var r=i.step(e.widget,t.value0);return i.unStep(function(t){return i.mkStep(new i.Step(t.value0,{build:e.build,widget:r},n,s))})(r)}return s(e),e.build(t)},v=function(n){var e=c.parentNode(n.node);return c.removeChild(n.node,e)},p=function n(e,t){if(t instanceof f.Grafted)return n(e,f.runGraft(t.value0));if(t instanceof f.Text){if(e.value===t.value0)return i.mkStep(new i.Step(e.node,e,n,v));if(r.otherwise){var u={build:e.build,node:e.node,value:t.value0};return c.setTextContent(t.value0,e.node),i.mkStep(new i.Step(e.node,u,n,v))}}return v(e),e.build(t)},m=function(n){var e=c.parentNode(n.node);return c.removeChild(n.node,e),c.forInE(n.children,function(n,e){return i.halt(e)}),i.halt(n.attrs)},h=function(n){var e=c.parentNode(n.node);return c.removeChild(n.node,e),c.forEachE(n.children,i.halt),i.halt(n.attrs)},g=function(n,e,t,r){return!(e!==r)&&(n instanceof u.Just&&t instanceof u.Just&&n.value0===t.value0||n instanceof u.Nothing&&t instanceof u.Nothing)},w=function n(e,r){if(r instanceof f.Grafted)return n(e,f.runGraft(r.value0));if(r instanceof f.Elem&&g(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===t.length(e.children)&&0===u){var a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children};return i.mkStep(new i.Step(e.node,o,n,h))}a=c.diffWithIxE(e.children,r.value3,function(n,t,r){var u=i.step(t,r);return c.insertChildIx(n,i.extract(u),e.node),u},function(n,e){return i.halt(e)},function(n,t){var r=e.build(t);return c.insertChildIx(n,i.extract(r),e.node),r});var l=i.step(e.attrs,r.value2);o={build:e.build,node:e.node,attrs:l,ns:r.value0,name:r.value1,children:a};return i.mkStep(new i.Step(e.node,o,n,h))}return h(e),e.build(r)},b=function n(e,r){if(r instanceof f.Grafted)return n(e,f.runGraft(r.value0));if(r instanceof f.Keyed&&g(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===e.length&&0===u){var a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children,length:0};return i.mkStep(new i.Step(e.node,l,n,m))}a=c.diffWithKeyAndIxE(e.children,r.value3,o.fst,function(n,t,r,u){var a=i.step(r,u.value1);return c.insertChildIx(t,i.extract(a),e.node),a},function(n,e){return i.halt(e)},function(n,t,r){var u=e.build(r.value1);return c.insertChildIx(t,i.extract(u),e.node),u});var s=i.step(e.attrs,r.value2);l={build:e.build,node:e.node,attrs:s,ns:r.value0,name:r.value1,children:a,length:u};return i.mkStep(new i.Step(e.node,l,n,m))}return m(e),e.build(r)};e.buildVDom=function(n){return function e(r){if(r instanceof f.Text)return function(n,e,t){var r=c.createTextNode(t,n.document),u={build:e,node:r,value:t};return i.mkStep(new i.Step(r,u,p,v))}(n,e,r.value0);if(r instanceof f.Elem)return function(n,e,t,r,u,o){var f=c.createElement(a.toNullable(t),r,n.document),s=l.toNode(f),d=c.forE(o,function(n,t){var r=e(t);return c.insertChildIx(n,i.extract(r),s),r}),v=n.buildAttributes(f)(u),p={build:e,node:s,attrs:v,ns:t,name:r,children:d};return i.mkStep(new i.Step(s,p,w,h))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof f.Keyed)return function(n,e,r,u,f,s){var d=c.createElement(a.toNullable(r),u,n.document),v=l.toNode(d),p=c.strMapWithIxE(s,o.fst,function(n,t,r){var u=e(r.value1);return c.insertChildIx(t,i.extract(u),v),u}),h=n.buildAttributes(d)(f),g={build:e,node:v,attrs:h,ns:r,name:u,children:p,length:t.length(s)};return i.mkStep(new i.Step(v,g,b,m))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof f.Widget)return function(n,e,t){var r=n.buildWidget(n)(t);return i.unStep(function(n){return i.mkStep(new i.Step(n.value0,{build:e,widget:r},d,s))})(r)}(n,e,r.value0);if(r instanceof f.Grafted)return e(f.runGraft(r.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[r.constructor.name])}}}(t),function(n){"use strict";n["Halogen.VDom.Thunk"]=n["Halogen.VDom.Thunk"]||{};var e=n["Halogen.VDom.Thunk"],t=n["Halogen.VDom.DOM"],r=n["Halogen.VDom.Machine"],u=n["Halogen.VDom.Util"],a=(function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}n.create=function(e){return function(t){return function(r){return function(u){return new n(e,t,r,u)}}}}}(),function(n){return n.value2(n.value3)});e.buildThunk=function(n){var e=function(n){return r.halt(n.vdom)},o=function t(o,i){if(function(n,e){return u.refEq(n.value0,e.value0)&&u.refEq(n.value1,e.value1)&&u.refEq(n.value3,e.value3)}(o.thunk,i))return r.mkStep(new r.Step(r.extract(o.vdom),o,t,e));var f=r.step(o.vdom,n(a(i)));return r.mkStep(new r.Step(r.extract(f),{vdom:f,thunk:i},t,e))};return function(u){return function(i){var f=t.buildVDom(u)(n(a(i)));return r.mkStep(new r.Step(r.extract(f),{thunk:i,vdom:f},o,e))}}}}(t),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)}}}}(t["Web.DOM.Node"]=t["Web.DOM.Node"]||{}),function(n){"use strict";n["Web.DOM.Node"]=n["Web.DOM.Node"]||{};var e,t,r=n["Web.DOM.Node"],u=n["Web.DOM.Node"],a=n["Data.Functor"],o=n["Data.Nullable"],i=n.Effect,f=(e=a.map(i.functorEffect)(o.toMaybe),function(n){return e(u._parentNode(n))}),c=(t=a.map(i.functorEffect)(o.toMaybe),function(n){return t(u._nextSibling(n))});r.parentNode=f,r.nextSibling=c,r.insertBefore=u.insertBefore,r.appendChild=u.appendChild,r.removeChild=u.removeChild}(t),function(n){"use strict";n["Halogen.VDom.Driver"]=n["Halogen.VDom.Driver"]||{};var e=n["Halogen.VDom.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.HeytingAlgebra"],f=n["Data.Maybe"],c=n["Data.Newtype"],l=n["Data.Unit"],s=n.Effect,d=n["Effect.Aff"],v=n["Effect.Class"],p=n["Effect.Ref"],m=n["Halogen.Aff.Driver"],h=n["Halogen.Aff.Driver.State"],g=n["Halogen.Component"],w=n["Halogen.HTML.Core"],b=n["Halogen.VDom.DOM"],y=n["Halogen.VDom.DOM.Prop"],E=n["Halogen.VDom.Machine"],D=n["Halogen.VDom.Thunk"],A=n["Unsafe.Reference"],C=n["Web.DOM.Node"],M=n["Web.HTML"],F=n["Web.HTML.HTMLDocument"],H=n["Web.HTML.HTMLElement"],T=n["Web.HTML.Window"],S=function(n){return function(){var e=C.parentNode(n.node)();return a.traverse_(s.applicativeEffect)(a.foldableMaybe)(function(e){return C.removeChild(n.node)(e)})(e)()}},_=function(n){return function(e){return{render:function(r){return function(u){return function(a){return function(d){if(d instanceof f.Nothing)return function(){var t=p.new(u)(),i=function(n){return function(e){return function(t){var r=h.unRenderStateX(function(n){return n.node}),u=function(n){return n instanceof f.Just?E.halt(n.value0):l.unit};return{buildWidget:function(n){var t=D.buildThunk(c.unwrap(w.newtypeHTML))(n),a=function(n){var t=p.read(e)()(n)(),a=r(t);return E.mkStep(new E.Step(a,f.Nothing.value,i,u))},o=function(n){if(n instanceof g.ComponentSlot)return a(n.value0);if(n instanceof g.ThunkSlot){var e=t(n.value0);return E.mkStep(new E.Step(E.extract(e),new f.Just(e),i,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): "+[n.constructor.name])},i=function n(e,t){if(e instanceof f.Just){if(t instanceof g.ComponentSlot)return E.halt(e.value0),a(t.value0);if(t instanceof g.ThunkSlot){var r=E.step(e.value0,t.value0);return E.mkStep(new E.Step(E.extract(r),new f.Just(r),n,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return o(t)};return o},buildAttributes:y.buildProp(n),document:t}}}}(r)(t)(n),d=b.buildVDom(i)(a),v=E.extract(d);return o.void(s.functorEffect)(C.appendChild(v)(H.toNode(e)))(),{machine:d,node:v,renderChildRef:t}};if(d instanceof f.Just)return function(){p.write(u)(d.value0.renderChildRef)();var n=C.parentNode(d.value0.node)(),e=C.nextSibling(d.value0.node)(),r=E.step(d.value0.machine,a),c=E.extract(r);return t.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(A.unsafeRefEq)(d.value0.node)(c))(function(n){return function(e){return function(r){return e instanceof f.Just&&r instanceof f.Just?o.void(s.functorEffect)(C.insertBefore(n)(e.value0)(r.value0)):e instanceof f.Nothing&&r instanceof f.Just?o.void(s.functorEffect)(C.appendChild(n)(r.value0)):t.pure(s.applicativeEffect)(l.unit)}}}(c)(e)(n))(),{machine:r,node:c,renderChildRef:d.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): "+[d.constructor.name])}}}},renderChild:u.identity(u.categoryFn),removeChild:S,dispose:S}}};e.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(o.map(s.functorEffect)(F.toDocument)(r.bindFlipped(s.bindEffect)(T.document)(M.window))))(function(r){return m.runUI(_(r)(t))(n)(e)})}}}}(t),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";n.Main=n.Main||{};var e=n.Main,t=n.Main,r=n.App,u=n["Component.AccountSettings"],a=n["Component.Add"],o=n["Component.BList"],i=n["Component.NList"],f=n["Component.NNote"],c=n["Control.Bind"],l=n["Data.Foldable"],s=n["Data.Functor"],d=n["Data.Unit"],v=n.Effect,p=n["Effect.Aff"],m=n["Effect.Class"],h=n["Halogen.Aff.Util"],g=n["Halogen.VDom.Driver"],w=n["Web.DOM.Element"],b=n["Web.Event.Event"],y=n["Web.HTML.HTMLElement"],E=c.bind(p.bindAff)(h.selectElement("#content"))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(w.setAttribute("view-rendered")("")(y.toElement(n)))})),D=t._mainImpl;e.main=D,e.logoutE=function(n){return c.bindFlipped(v.bindEffect)((e=s.void(v.functorEffect),function(n){return e(p.launchAff(r.logout(n)))}))(b.preventDefault(n));var e},e.renderBookmarks=function(n){return function(e){return h.runHalogenAff(c.bind(p.bindAff)(h.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(g.runUI(o.blist(e))(d.unit)(n)))(function(){return E})})))}},e.renderAddForm=function(n){return function(e){return h.runHalogenAff(c.bind(p.bindAff)(h.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(g.runUI(a.addbmark(e))(d.unit)(n)))(function(){return E})})))}},e.renderNotes=function(n){return function(e){return h.runHalogenAff(c.bind(p.bindAff)(h.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(g.runUI(i.nlist(e))(d.unit)(n)))(function(){return E})})))}},e.renderNote=function(n){return function(e){return h.runHalogenAff(c.bind(p.bindAff)(h.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(g.runUI(f.nnote(e))(d.unit)(n)))(function(){return E})})))}},e.renderAccountSettings=function(n){return function(e){return h.runHalogenAff(c.bind(p.bindAff)(h.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(g.runUI(u.usetting(e))(d.unit)(n)))(function(){return E})})))}},e.viewRendered=E,e._mainImpl=t._mainImpl}(t),t.Main.main(); +var n=require("process");function e(n){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}var t={};!function(e){"use strict";var r;(t["Affjax"]=t["Affjax"]||{})._ajax=(r={},"undefined"==typeof module||!module.require||void 0!==n&&n.versions.electron?(r.newXHR=function(){return new XMLHttpRequest},r.fixupUrl=function(n){return n||"/"},r.getResponse=function(n){return n.response}):(r.newXHR=function(){return new(module.require("xhr2"))},r.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)},r.getResponse=function(n){return n.response}),function(n,e){return function(t,u){var a=r.newXHR(),o=r.fixupUrl(e.url);if(a.open(e.method||"GET",o,!0,e.username,e.password),e.headers)try{for(var i,f=0;null!=(i=e.headers[f]);f++)a.setRequestHeader(i.field,i.value)}catch(l){t(l)}var c=function(n){return function(){t(new Error(n+": "+e.method+" "+e.url))}};return a.onerror=c("AJAX request failed"),a.ontimeout=c("AJAX request timed out"),a.onload=function(){u({status:a.status,statusText:a.statusText,headers:a.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))}),body:r.getResponse(a)})},a.responseType=e.responseType,a.withCredentials=e.withCredentials,a.send(e.content),function(n,e,t){try{a.abort()}catch(l){return e(l)}return t()}}})}(),function(n){"use strict";(t["Control.Apply"]=t["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,u=new Array(t*r),a=0,o=0;o=0;u--)r=n(t[u])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,u=t.length,a=0;a0)&&(w=H,y=j._3(Q)));break;case m:P=new b(v,new b(g,y,E),P,x),w=H,y=x&&x!==O&&0===B?j._1.killed(n.fromLeft(x))(j._2):E?j._1.failed(n.fromLeft(E))(j._2):j._1.completed(n.fromRight(y))(j._2),E=null,B++;break;case h:B++,P=new b(v,new b(g,y,E),P,x),w=H,y=j._1;break;case g:B--,w=k,y=j._1,E=j._2}break;case L:for(var V in W)W.hasOwnProperty(V)&&(q=q&&W[V].rethrow,D(W[V].handler(y)));return W=null,void(x&&E?setTimeout(function(){throw n.fromLeft(E)},0):n.isLeft(y)&&q&&setTimeout(function(){if(q)throw n.fromLeft(y)},0));case F:w=H;break;case _:return}}function Q(n){return function(){if(w===L)return q=q&&n.rethrow,n.handler(y)(),function(){};var e=O++;return(W=W||{})[e]=n,function(){null!==W&&delete W[e]}}}return{kill:function(e,t){return function(){if(w===L)return t(n.right(void 0))(),function(){};var r=Q({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(w){case F:x=n.left(e),w=L,y=x,J(d);break;case _:null===x&&(x=n.left(e)),0===B&&(w===_&&(P=new b(v,new b(h,y(e)),P,x)),w=k,y=null,E=null,J(++d));break;default:null===x&&(x=n.left(e)),0===B&&(w=k,y=null,E=null)}return r}},join:function(n){return function(){var e=Q({rethrow:!1,handler:n})();return w===F&&J(d),e}},onComplete:Q,isSuspended:function(){return w===F},run:function(){w===F&&(M.isDraining()?J(d):M.enqueue(function(){J(d)}))}}}function x(e,t,r,u){var o=0,i={},f=0,c={},p=new Error("[ParAff] Early exit"),m=null,h=n;function g(t,r,u){var a,o,f=r,c=null,p=null,m=0,h={};n:for(;;)switch(a=null,f.tag){case w:if(f._3===n&&(a=i[f._1],h[m++]=a.kill(t,function(n){return function(){0===--m&&u(n)()}})),null===c)break n;f=c._2,null===p?c=null:(c=p._1,p=p._2);break;case l:f=f._2;break;case s:case d:c&&(p=new b(v,c,p)),c=f,f=f._1}if(0===m)u(e.right(void 0))();else for(o=0,a=m;o=u.bottom(u.boundedInt)&&n<=u.top(u.boundedInt)?new a.Just(r.fromCharCode(n)):a.Nothing.value},c=new function(n,e,t){this.Ord0=n,this.pred=e,this.succ=t}(function(){return o.ordChar},(e=f,function(n){return function(t){return e(n(t)-1|0)}})(r.toCharCode),function(n){return function(e){return function(t){return n(e(t)+1|0)}}}(f)(r.toCharCode)),l=new function(n,e,t,r,u){this.Bounded0=n,this.Enum1=e,this.cardinality=t,this.fromEnum=r,this.toEnum=u}(function(){return u.boundedChar},function(){return c},r.toCharCode(u.top(u.boundedChar))-r.toCharCode(u.bottom(u.boundedChar))|0,r.toCharCode,f);t.fromEnum=i,t.toEnumWithDefaults=function(n){return function(e){return function(t){return function(r){var o=n.toEnum(r);if(o instanceof a.Just)return o.value0;if(o instanceof a.Nothing)return r0?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}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";(t["Data.Ring"]=t["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}}}(t["Data.Semiring"]=t["Data.Semiring"]||{}),function(n){"use strict";n["Data.Semiring"]=n["Data.Semiring"]||{};var e=n["Data.Semiring"],t=n["Data.Semiring"],r=new function(n,e,t,r){this.add=n,this.mul=e,this.one=t,this.zero=r}(t.intAdd,t.intMul,1,0);e.semiringInt=r}(t),function(n){"use strict";n["Data.Ring"]=n["Data.Ring"]||{};var e=n["Data.Ring"],t=n["Data.Ring"],r=n["Data.Semiring"],u=new function(n,e){this.Semiring0=n,this.sub=e}(function(){return r.semiringInt},t.intSub);e.ringInt=u}(t),function(n){"use strict";n["Data.CommutativeRing"]=n["Data.CommutativeRing"]||{};var e=n["Data.CommutativeRing"],t=n["Data.Ring"],r=new function(n){this.Ring0=n}(function(){return t.ringInt});e.commutativeRingInt=r}(t),function(n){"use strict";n["Data.EuclideanRing"]=n["Data.EuclideanRing"]||{};var e=n["Data.EuclideanRing"],t=n["Data.EuclideanRing"],r=n["Data.CommutativeRing"],u=new function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}(function(){return r.commutativeRingInt},t.intDegree,t.intDiv,t.intMod);e.div=function(n){return n.div},e.mod=function(n){return n.mod},e.euclideanRingInt=u}(t),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)}}}(t["Data.String.CodeUnits"]=t["Data.String.CodeUnits"]||{}),function(n){"use strict";n["Data.String.CodeUnits"]=n["Data.String.CodeUnits"]||{};var e=n["Data.String.CodeUnits"],t=n["Data.String.CodeUnits"];e.singleton=t.singleton,e.length=t.length,e.drop=t.drop}(t),function(n){"use strict";(t["Data.String.Unsafe"]=t["Data.String.Unsafe"]||{}).charAt=function(n){return function(e){if(n>=0&&n1){var t=a.fromEnum(a.boundedEnumChar)(l.charAt(1)(n));return p(t)?v(e)(t):e}return e}),b=(r._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(g)(n)})(w),e=a.toEnumWithDefaults(a.boundedEnumChar)(u.bottom(u.boundedChar))(u.top(u.boundedChar)),function(n){return c.singleton(e(n))}),y=r._singleton(function(n){if(n<=65535)return b(n);var e=o.div(o.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=o.mod(o.euclideanRingInt)(n-65536|0)(1024)+56320|0;return b(e)+b(t)}),E=r._take(function n(e){return function(t){if(e<1)return"";var r=h(t);return r instanceof f.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});t.take=E,t.drop=function(n){return function(e){return c.drop(c.length(E(n)(e)))(e)}}}(t),function(n){"use strict";n.Util=n.Util||{};var e,t=n.Util,r=n["Control.Bind"],u=n["Data.Array"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.Maybe"],f=n["Data.Nullable"],c=n["Data.String.CodePoints"],l=n["Data.String.Common"],s=n["Data.Tuple"],d=n["Data.Unit"],v=n.Effect,p=n["Global.Unsafe"],m=n["Halogen.HTML.Core"],h=n["Halogen.HTML.Properties"],g=n["Web.HTML"],w=n["Web.HTML.Location"],b=n["Web.HTML.Window"],y=(e=i.fromMaybe(""),function(n){return e(f.toMaybe(n))}),E=r.bindFlipped(v.bindEffect)(b.location)(g.window);t.class_=function(n){return h.class_(m.ClassName(n))},t.attr=function(n){return h.attr(n)},t._loc=E,t._curQuerystring=function(){var n,e,t,r,a,o=E(),f=w.search(o)();return n=f,e=l.replaceAll("+")(" "),r=function(n){return p.unsafeDecodeURIComponent(e(n))},a="#"===(t=c.take(1)(n))||"?"===t?c.drop(1)(n):n,u.mapMaybe(function(n){var e=l.split("=")(n);return 1===e.length?new i.Just(new s.Tuple(r(e[0]),i.Nothing.value)):2===e.length?new i.Just(new s.Tuple(r(e[0]),new i.Just(r(e[1])))):i.Nothing.value})(u.filter(function(n){return""!==n})(l.split("&")(a)))},t._lookupQueryStringValue=function(n){return function(e){return r.join(i.bindMaybe)(o.map(i.functorMaybe)(s.snd)(a.find(a.foldableArray)(function(n){return s.fst(n)===e})(n)))}},t.whenH=function(n){return function(e){return n?e(d.unit):m.text("")}},t.whenA=function(n){return function(e){return n?e(d.unit):[]}},t.ifElseH=function(n){return function(e){return function(t){return n?e(d.unit):t(d.unit)}}},t.fromNullableStr=y}(t),function(n){"use strict";n["Component.AccountSettings"]=n["Component.AccountSettings"]||{};var e=n["Component.AccountSettings"],t=n.App,r=n["Control.Bind"],u=n["DOM.HTML.Indexed.InputType"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Lens.Getter"],f=n["Data.Lens.Internal.Forget"],c=n["Data.Lens.Lens"],l=n["Data.Lens.Setter"],s=n["Data.Maybe"],d=n["Data.Profunctor.Strong"],v=n["Data.Unit"],p=n["Effect.Aff.Class"],m=n.Globals,h=n["Halogen.Component"],g=n["Halogen.HTML.Core"],w=n["Halogen.HTML.Elements"],b=n["Halogen.HTML.Events"],y=n["Halogen.HTML.Properties"],E=n["Halogen.Query.HalogenM"],D=n.Util,A=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}(),M=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}(),T=function(n){return c.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};e.usetting=function(n){var e;m["app'"](v.unit);return h.mkComponent({initialState:a.const((e=n,{us:e})),render:function(n){var e=function(n){return function(e){return s.Just.create(F.create(n(e)))}};return w.div([D.class_("settings-form")])([w.div([D.class_("fw7 mb2")])([g.text("Account Settings")]),w.div([D.class_("flex items-center mb2")])([w.input([y.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),b.onChecked(e(A.create))]),w.label([y.for("archiveDefault"),D.class_("lh-copy")])([g.text("Archive Non-Private Bookmarks (archive.li)")])]),w.div([D.class_("flex items-center mb2")])([w.input([y.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),b.onChecked(e(C.create))]),w.label([y.for("privateDefault"),D.class_("lh-copy")])([g.text("Default new bookmarks to Private")])]),w.div([D.class_("flex items-center mb2")])([w.input([y.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),b.onChecked(e(M.create))]),w.label([y.for("privacyLock"),D.class_("lh-copy")])([g.text("Privacy Lock (Private Account)")])])])},eval:h.mkEval({handleAction:function(n){if(n instanceof F)return r.discard(r.discardUnit)(E.bindHalogenM)(l.modifying(E.monadStateHalogenM)(T(d.strongFn))(function(){if(n.value0 instanceof A)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof M)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): "+[n.value0.constructor.name])}()))(function(){return r.bind(E.bindHalogenM)(i.use(E.monadStateHalogenM)(T(f.strongForget)))(function(n){return o.void(E.functorHalogenM)(p.liftAff(E.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof H)return r.bind(E.bindHalogenM)(i.use(E.monadStateHalogenM)(T(f.strongForget)))(function(n){return o.void(E.functorHalogenM)(p.liftAff(E.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:h.defaultEval.handleQuery,receive:h.defaultEval.receive,initialize:h.defaultEval.initialize,finalize:h.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.Add"]=n["Component.Add"]||{};var e=n["Component.Add"],t=n.App,r=n["Control.Bind"],u=n["Control.Monad.State.Class"],a=n["DOM.HTML.Indexed.ButtonType"],o=n["DOM.HTML.Indexed.InputType"],i=n["Data.Array"],f=n["Data.Foldable"],c=n["Data.Function"],l=n["Data.Functor"],s=n["Data.Lens.Getter"],d=n["Data.Lens.Internal.Forget"],v=n["Data.Lens.Lens"],p=n["Data.Lens.Setter"],m=n["Data.Maybe"],h=n["Data.Monoid"],g=n["Data.Profunctor.Strong"],w=n["Data.Semigroup"],b=n["Data.String.Common"],y=n["Data.Tuple"],E=n["Data.Unit"],D=n["Effect.Aff"],A=n["Effect.Aff.Class"],C=n["Effect.Class"],M=n.Globals,F=n["Halogen.Component"],H=n["Halogen.HTML.Core"],T=n["Halogen.HTML.Elements"],S=n["Halogen.HTML.Events"],_=n["Halogen.HTML.Properties"],k=n["Halogen.Query.HalogenM"],L=n.Util,I=n["Web.Event.Event"],x=n["Web.HTML"],R=n["Web.HTML.Location"],U=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}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=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}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=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}(),V=function(n){return v.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed}}})(n)};e.addbmark=function(n){var e;M["app'"](E.unit);return F.mkComponent({initialState:c.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,destroyed:!1})),render:function(n){i.drop(1),f.foldMap(f.foldableArray)(h.monoidArray)(function(n){return[T.br_,H.text(n)]}),b.split("\n");var e=M.mmoment8601(n.bm.time),t=function(n){return function(e){return m.Just.create(q.create(n(e)))}},r=function(t){return T.div([L.class_("alert")])([H.text("previously saved "),T.span([L.class_("link f7 dib gray pr3"),_.title(m.maybe(n.bm.time)(y.snd)(e))])([H.text(m.maybe(" ")(y.fst)(e))]),T.div([L.class_("edit_links dib ml1")])([T.div([L.class_("delete_link di")])([T.button(w.append(w.semigroupArray)([_.type_(H.isPropButtonType)(a.ButtonButton.value),S.onClick(function(n){return new m.Just(new Q(!0))}),L.class_("delete")])(h.guard(h.monoidArray)(n.deleteAsk)([L.attr("hidden")("hidden")])))([H.text("delete")]),T.span(w.append(w.semigroupArray)([L.class_("confirm red")])(h.guard(h.monoidArray)(!n.deleteAsk)([L.attr("hidden")("hidden")])))([T.button([_.type_(H.isPropButtonType)(a.ButtonButton.value),S.onClick(function(n){return new m.Just(new Q(!1))})])([H.text("cancel / ")]),T.button([_.type_(H.isPropButtonType)(a.ButtonButton.value),S.onClick(function(n){return new m.Just(j.value)}),L.class_("red")])([H.text("destroy")])])])])])};return L.ifElseH(!n.destroyed)(function(e){return T.form([S.onSubmit(function(n){return m.Just.create(J.create(n))})])([T.table([L.class_("w-100")])([T.tbody_([T.tr_([T.td([L.class_("w1")])([]),T.td_([L.whenH(n.bm.bid>0)(r)])]),T.tr_([T.td_([T.label([_.for("url")])([H.text("URL")])]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputUrl.value),_.id_("url"),L.class_("w-100 mv1"),_.required(!0),_.name("url"),_.autofocus(b.null(n.bm.url)),_.value(n.edit_bm.url),S.onValueChange(t(U.create))])])]),T.tr_([T.td_([T.label([_.for("title")])([H.text("title")])]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputText.value),_.id_("title"),L.class_("w-100 mv1"),_.name("title"),_.value(n.edit_bm.title),S.onValueChange(t(N.create))])])]),T.tr_([T.td_([T.label([_.for("description")])([H.text("description")])]),T.td_([T.textarea([L.class_("w-100 mt1 mid-gray"),_.id_("description"),_.name("description"),_.rows(4),_.value(n.edit_bm.description),S.onValueChange(t(P.create))])])]),T.tr_([T.td_([T.label([_.for("tags")])([H.text("tags")])]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputText.value),_.id_("tags"),L.class_("w-100 mv1"),_.name("tags"),_.autocomplete(!1),L.attr("autocapitalize")("off"),_.autofocus(!b.null(n.bm.url)),_.value(n.edit_bm.tags),S.onValueChange(t(B.create))])])]),T.tr_([T.td_([T.label([_.for("private")])([H.text("private")])]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputCheckbox.value),_.id_("private"),L.class_("private pointer"),_.name("private"),_.checked(n.edit_bm.private),S.onChecked(t(O.create))])])]),T.tr_([T.td_([T.label([_.for("toread")])([H.text("read later")])]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputCheckbox.value),_.id_("toread"),L.class_("toread pointer"),_.name("toread"),_.checked(n.edit_bm.toread),S.onChecked(t(W.create))])])]),T.tr_([T.td_([]),T.td_([T.input([_.type_(H.isPropInputType)(o.InputSubmit.value),L.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),_.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return T.p([L.class_("red")])([H.text("you killed this bookmark")])})},eval:F.mkEval({handleAction:function(n){if(n instanceof Q)return u.modify_(k.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof j)return r.bind(k.bindHalogenM)(u.gets(k.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return r.discard(r.discardUnit)(k.bindHalogenM)(l.void(k.functorHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.destroy(n))))(function(){return u.modify_(k.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof q)return p.modifying(k.monadStateHalogenM)(V(g.strongFn))(function(){if(n.value0 instanceof U)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof N)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof P)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): "+[n.value0.constructor.name])}());if(n instanceof J)return r.discard(r.discardUnit)(k.bindHalogenM)(C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(I.preventDefault(n.value0)))(function(){return r.bind(k.bindHalogenM)(s.use(k.monadStateHalogenM)(V(d.strongForget)))(function(n){return r.discard(r.discardUnit)(k.bindHalogenM)(l.void(k.functorHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.editBookmark(n))))(function(){return r.discard(r.discardUnit)(k.bindHalogenM)(p.assign(k.monadStateHalogenM)((e=g.strongFn,v.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm}}})(e)))(n))(function(){return r.bind(k.bindHalogenM)(C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(L._loc))(function(n){return r.bind(k.bindHalogenM)(C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(x.window))(function(e){return r.bind(k.bindHalogenM)(C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(L._curQuerystring))(function(t){var r=L._lookupQueryStringValue(t)("next");return r instanceof m.Just?C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(R.setHref(r.value0)(n)):C.liftEffect(k.monadEffectHalogenM(D.monadEffectAff))(M.closeWindow(e))})})})});var e})})});throw new Error("Failed pattern match at Component.Add (line 152, column 3 - line 152, column 69): "+[n.constructor.name])},handleQuery:F.defaultEval.handleQuery,receive:F.defaultEval.receive,initialize:F.defaultEval.initialize,finalize:F.defaultEval.finalize})})}}(t),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";(t["Web.HTML.HTMLElement"]=t["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";n["Web.HTML.HTMLElement"]=n["Web.HTML.HTMLElement"]||{};var e=n["Web.HTML.HTMLElement"],t=n["Web.HTML.HTMLElement"],r=n["Data.Maybe"],u=n["Unsafe.Coerce"],a=u.unsafeCoerce,o=u.unsafeCoerce;e.fromElement=function(n){return t._read(r.Nothing.value,r.Just.create,n)},e.toElement=o,e.toNode=a}(t),function(n){"use strict";n["Halogen.Query"]=n["Halogen.Query"]||{};var e,t=n["Halogen.Query"],r=n["Control.Bind"],u=n["Data.Functor"],a=n["Data.Maybe"],o=n["Halogen.Query.HalogenM"],i=n["Web.HTML.HTMLElement"],f=(e=u.map(o.functorHalogenM)(function(n){return r.bindFlipped(a.bindMaybe)(i.fromElement)(n)}),function(n){return e(o.getRef(n))});t.getHTMLElementRef=f}(t),function(n){"use strict";n["Component.RawHtml"]=n["Component.RawHtml"]||{};var e=n["Component.RawHtml"],t=n["Component.RawHtml"],r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["Data.Foldable"],i=n["Data.Maybe"],f=n["Data.Monoid"],c=n["Data.Unit"],l=n.Effect,s=n["Effect.Aff"],d=n["Effect.Aff.Class"],v=n["Effect.Class"],p=n["Halogen.Component"],m=n["Halogen.HTML.Elements"],h=n["Halogen.HTML.Properties"],g=n["Halogen.Query"],w=n["Halogen.Query.HalogenM"],b=function(){function n(){}return n.value=new n,n}(),y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.mkComponent=function(n){return p.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return m.div([h.ref(n.elRef)])([])},eval:p.mkEval({handleAction:function e(i){if(i instanceof b)return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(e){return u.bind(w.bindHalogenM)(g.getHTMLElementRef(e.elRef))(function(e){return u.discard(u.discardUnit)(w.bindHalogenM)(o.for_(w.applicativeHalogenM)(o.foldableMaybe)(e)(function(e){return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(r){return d.liftAff(w.monadAffHalogenM(d.monadAffAff))(s.forkAff(s.makeAff(function(u){return function(){return v.liftEffect(v.monadEffectEffect)(t.unsafeSetInnerHTML(e)(n(r.inputval)))(),f.mempty(l.monoidEffect(s.monoidCanceler))()}})))})}))(function(){return r.pure(w.applicativeHalogenM)(c.unit)})})});if(i instanceof y)return u.discard(u.discardUnit)(w.bindHalogenM)(a.modify_(w.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return e(b.value)});throw new Error("Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): "+[i.constructor.name])},handleQuery:p.defaultEval.handleQuery,receive:function(n){return i.Just.create(y.create(n))},initialize:new i.Just(b.value),finalize:p.defaultEval.finalize})})}}(t),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return n?e(n):""}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";n["Foreign.Marked"]=n["Foreign.Marked"]||{};var e=n["Foreign.Marked"],t=n["Foreign.Marked"],r=n.Globals;e.marked=function(n){return r.RawHTML(t.markedImpl(n))}}(t),function(n){"use strict";n["Component.Markdown"]=n["Component.Markdown"]||{};var e=n["Component.Markdown"],t=n["Component.RawHtml"],r=n["Foreign.Marked"],u=t.mkComponent(r.marked);e.component=u}(t),function(n){"use strict";n["Data.Void"]=n["Data.Void"]||{};n["Data.Void"].absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t),function(n){"use strict";n["Halogen.HTML"]=n["Halogen.HTML"]||{};var e=n["Halogen.HTML"],t=n["Halogen.Component"],r=n["Halogen.HTML.Core"];e.slot=function(n){return function(n){return function(e){return function(u){return function(a){return function(o){return function(i){return function(f){return r.widget(new t.ComponentSlot(t.componentSlot()(n)(e)(u)(a)(o)(i)(f)))}}}}}}}}}(t),function(n){"use strict";n["Component.BMark"]=n["Component.BMark"]||{};var e=n["Component.BMark"],t=n.App,r=n["Component.Markdown"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["DOM.HTML.Indexed.ButtonType"],i=n["DOM.HTML.Indexed.InputType"],f=n["Data.Function"],c=n["Data.Functor"],l=n["Data.Lens.Getter"],s=n["Data.Lens.Internal.Forget"],d=n["Data.Lens.Lens"],v=n["Data.Lens.Setter"],p=n["Data.Maybe"],m=n["Data.Monoid"],h=n["Data.Nullable"],g=n["Data.Ord"],w=n["Data.Profunctor.Strong"],b=n["Data.Show"],y=n["Data.String.CodePoints"],E=n["Data.String.Common"],D=n["Data.Symbol"],A=n["Data.Unit"],C=n["Data.Void"],M=n["Effect.Aff"],F=n["Effect.Aff.Class"],H=n["Effect.Class"],T=n.Globals,S=n["Halogen.Component"],_=n["Halogen.HTML"],k=n["Halogen.HTML.Core"],L=n["Halogen.HTML.Elements"],I=n["Halogen.HTML.Events"],x=n["Halogen.HTML.Properties"],R=n["Halogen.Query.HalogenM"],U=n.Util,N=n["Web.Event.Event"],P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=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}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(){}return n.value=new n,n}(),j=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}(),z=function(){function n(){}return n.value=new n,n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(){}return n.value=new n,n}(),$=D.SProxy.value,Z=function(n){return d.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit}}})(n)},nn=function(n){return d.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm}}})(n)},en=function(n){return d.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm}}})(n)};e.bmark=function(n){var e,d=T["app'"](A.unit);return S.mkComponent({initialState:f.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,edit:!1})),render:function(n){var e=y.take(16)(n.bm.time)+"Z",t=function(n){return U.fromNullableStr(d.userR)+"/t:"+n},u=function(n){return function(e){return p.Just.create(K.create(n(e)))}};return L.div([x.id_(b.show(b.showInt)(n.bm.bid)),U.class_("bookmark w-100 mw7 pa1 mb3"+m.guard(m.monoidString)(n.bm.private)(" private"))])([U.whenH(d.dat.isowner)(function(e){return L.div([U.class_("star fl pointer"+m.guard(m.monoidString)(n.bm.selected)(" selected"))])([L.button([U.class_("moon-gray"),I.onClick(function(e){return new p.Just(new j(!n.bm.selected))})])([k.text("✭")])])}),U.ifElseH(n.edit)(function(e){return L.div([U.class_("edit_bookmark_form pa2 pt0 bg-white")])([L.form([I.onSubmit(function(n){return p.Just.create(X.create(n))})])([L.div_([k.text("url")]),L.input([x.type_(k.isPropInputType)(i.InputUrl.value),U.class_("url w-100 mb2 pt1 f7 edit_form_input"),x.required(!0),x.name("url"),x.value(n.edit_bm.url),I.onValueChange(u(P.create))]),L.br_,L.div_([k.text("title")]),L.input([x.type_(k.isPropInputType)(i.InputText.value),U.class_("title w-100 mb2 pt1 f7 edit_form_input"),x.name("title"),x.value(n.edit_bm.title),I.onValueChange(u(B.create))]),L.br_,L.div_([k.text("description")]),L.textarea([U.class_("description w-100 mb1 pt1 f7 edit_form_input"),x.name("description"),x.rows(5),x.value(n.edit_bm.description),I.onValueChange(u(O.create))]),L.br_,L.div([x.id_("tags_input_box")])([L.div_([k.text("tags")]),L.input([x.type_(k.isPropInputType)(i.InputText.value),U.class_("tags w-100 mb1 pt1 f7 edit_form_input"),x.name("tags"),x.autocomplete(!1),U.attr("autocapitalize")("off"),x.value(n.edit_bm.tags),I.onValueChange(u(W.create))]),L.br_]),L.div([U.class_("edit_form_checkboxes mv3")])([L.input([x.type_(k.isPropInputType)(i.InputCheckbox.value),U.class_("private pointer"),x.id_("edit_private"),x.name("private"),x.checked(n.edit_bm.private),I.onChecked(u(q.create))]),k.text(" "),L.label([x.for("edit_private"),U.class_("mr2")])([k.text("private")]),k.text(" "),L.input([x.type_(k.isPropInputType)(i.InputCheckbox.value),U.class_("toread pointer"),x.id_("edit_toread"),x.name("toread"),x.checked(n.edit_bm.toread),I.onChecked(u(J.create))]),k.text(" "),L.label([x.for("edit_toread")])([k.text("to-read")]),L.br_]),L.input([x.type_(k.isPropInputType)(i.InputSubmit.value),U.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),x.value("save")]),k.text(" "),L.input([x.type_(k.isPropInputType)(i.InputReset.value),U.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),x.value("cancel"),I.onClick(function(n){return new p.Just(new G(!1))})])])])})(function(u){return L.div([U.class_("display")])([L.a([x.href(n.bm.url),x.target("_blank"),U.class_("link f5 lh-title"+m.guard(m.monoidString)(n.bm.toread)(" unread"))])([k.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),L.br_,L.a([x.href(n.bm.url),U.class_("link f7 gray hover-blue")])([k.text(n.bm.url)]),L.a([x.href(p.fromMaybe("http://archive.is/"+n.bm.url)(h.toMaybe(n.bm.archiveUrl))),U.class_("link f7 gray hover-blue ml2"+m.guard(m.monoidString)(p.isJust(h.toMaybe(n.bm.archiveUrl)))(" green")),x.target("_blank"),x.title("archive link")])([p.isJust(h.toMaybe(n.bm.archiveUrl))?k.text("☑"):k.text("☐")]),L.br_,L.div([U.class_("description mt1 mid-gray")])([_.slot()(new D.IsSymbol(function(){return"markdown"}))(g.ordUnit)($)(A.unit)(r.component)(n.bm.description)(C.absurd)]),L.div([U.class_("tags")])(U.whenA(!E.null(n.bm.tags))(function(e){return c.map(c.functorArray)(function(n){return L.a([U.class_("link tag mr1"+m.guard(m.monoidString)("."===y.take(1)(n))(" private")),x.href(t(n))])([k.text(n)])})(E.split(" ")(n.bm.tags))})),L.a([U.class_("link f7 dib gray w4"),x.href((a=n.bm.slug,U.fromNullableStr(d.userR)+"/b:"+a))])([k.text(e)]),U.whenH(d.dat.isowner)(function(e){return L.div([U.class_("edit_links di")])([L.button([x.type_(k.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new p.Just(new G(!0))}),U.class_("edit light-silver hover-blue")])([k.text("edit  ")]),L.div([U.class_("delete_link di")])([L.button([x.type_(k.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new p.Just(new V(!0))}),U.class_("delete light-silver hover-blue"+m.guard(m.monoidString)(n.deleteAsk)(" dn"))])([k.text("delete")]),L.span([U.class_("confirm red"+m.guard(m.monoidString)(!n.deleteAsk)(" dn"))])([L.button([x.type_(k.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new p.Just(new V(!1))})])([k.text("cancel / ")]),L.button([x.type_(k.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new p.Just(z.value)}),U.class_("red")])([k.text("destroy")])])])])}),U.whenH(d.dat.isowner)(function(e){return L.div([U.class_("read di")])(m.guard(m.monoidArray)(n.bm.toread)([k.text("  "),L.button([I.onClick(function(n){return new p.Just(Y.value)}),U.class_("mark_read")])([k.text("mark as read")])]))})]);var a})])},eval:S.mkEval({handleAction:function(n){if(n instanceof j)return u.bind(R.bindHalogenM)(l.use(R.monadStateHalogenM)(en(s.strongForget)))(function(e){return u.discard(u.discardUnit)(R.bindHalogenM)(F.liftAff(R.monadAffHalogenM(F.monadAffAff))(t.toggleStar(e.bid)(n.value0?t.Star.value:t.UnStar.value)))(function(){return u.discard(u.discardUnit)(R.bindHalogenM)(v.modifying(R.monadStateHalogenM)(en(w.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return v.modifying(R.monadStateHalogenM)(Z(w.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}})})})});if(n instanceof V)return a.modify_(R.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof z)return u.bind(R.bindHalogenM)(l.use(R.monadStateHalogenM)(en(s.strongForget)))(function(n){return u.discard(u.discardUnit)(R.bindHalogenM)(c.void(R.functorHalogenM)(F.liftAff(R.monadAffHalogenM(F.monadAffAff))(t.destroy(n.bid))))(function(){return R.raise(Q.value)})});if(n instanceof Y)return u.bind(R.bindHalogenM)(l.use(R.monadStateHalogenM)(en(s.strongForget)))(function(n){return u.discard(u.discardUnit)(R.bindHalogenM)(c.void(R.functorHalogenM)(F.liftAff(R.monadAffHalogenM(F.monadAffAff))(t.markRead(n.bid))))(function(){return v.modifying(R.monadStateHalogenM)(en(w.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}})})});if(n instanceof G)return u.bind(R.bindHalogenM)(l.use(R.monadStateHalogenM)(en(s.strongForget)))(function(e){return u.discard(u.discardUnit)(R.bindHalogenM)(v.assign(R.monadStateHalogenM)(Z(w.strongFn))(e))(function(){return v.assign(R.monadStateHalogenM)(nn(w.strongFn))(n.value0)})});if(n instanceof K)return v.modifying(R.monadStateHalogenM)(Z(w.strongFn))(function(){if(n.value0 instanceof P)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof J)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,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 230, column 17 - line 236, column 36): "+[n.value0.constructor.name])}());if(n instanceof X)return u.discard(u.discardUnit)(R.bindHalogenM)(H.liftEffect(R.monadEffectHalogenM(M.monadEffectAff))(N.preventDefault(n.value0)))(function(){return u.bind(R.bindHalogenM)(l.use(R.monadStateHalogenM)(Z(s.strongForget)))(function(n){return u.discard(u.discardUnit)(R.bindHalogenM)(c.void(R.functorHalogenM)(F.liftAff(R.monadAffHalogenM(F.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(R.bindHalogenM)(v.assign(R.monadStateHalogenM)(en(w.strongFn))(n))(function(){return v.assign(R.monadStateHalogenM)(nn(w.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 197, column 3 - line 197, column 84): "+[n.constructor.name])},handleQuery:S.defaultEval.handleQuery,receive:S.defaultEval.receive,initialize:S.defaultEval.initialize,finalize:S.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.BList"]=n["Component.BList"]||{};var e=n["Component.BList"],t=n["Component.BMark"],r=n["Control.Monad.State.Class"],u=n["Data.Array"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],f=n["Data.Ord"],c=n["Data.Symbol"],l=n["Data.Unit"],s=n["Halogen.Component"],d=n["Halogen.HTML"],v=n["Halogen.HTML.Elements"],p=n["Halogen.Query.HalogenM"],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}(),h=c.SProxy.value;e.blist=function(n){return s.mkComponent({initialState:a.const(n),render:function(n){return v.div_(o.map(o.functorArray)(function(n){return d.slot()(new c.IsSymbol(function(){return"bookmark"}))(f.ordInt)(h)(n.bid)(t.bmark(n))(l.unit)((e=m.create(n.bid),function(n){return i.Just.create(e(n))}));var e})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(u.filter(function(e){return e.bid!==n.value0}))},handleQuery:s.defaultEval.handleQuery,receive:s.defaultEval.receive,initialize:s.defaultEval.initialize,finalize:s.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NList"]=n["Component.NList"]||{};var e=n["Component.NList"],t=n["Control.Applicative"],r=n["Data.Array"],u=n["Data.Foldable"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],f=n["Data.Monoid"],c=n["Data.Show"],l=n["Data.String.CodePoints"],s=n["Data.String.Common"],d=n["Data.Tuple"],v=n["Data.Unit"],p=n.Globals,m=n["Halogen.Component"],h=n["Halogen.HTML.Core"],g=n["Halogen.HTML.Elements"],w=n["Halogen.HTML.Properties"],b=n["Halogen.Query.HalogenM"],y=n.Util;e.nlist=function(n){var e,E=function(n){return p.mmoment8601(n.created)},D=p["app'"](v.unit),A=function(n){return y.fromNullableStr(D.userR)+"/notes/"+n};return m.mkComponent({initialState:a.const((e=n,{notes:e,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return g.div_(o.map(o.functorArray)(function(n){return g.div([w.id_(c.show(c.showInt)(n.id)),y.class_("note w-100 mw7 pa1 mb2"+(n.shared?"":" private"))])([g.div([y.class_("display")])([g.a([w.href(A(n.slug)),y.class_("link f5 lh-title")])([h.text(s.null(n.title)?"[no title]":n.title)]),g.br_,g.div([y.class_("description mt1 mid-gray")])((e=l.take(200)(n.text),r.drop(1)(u.foldMap(u.foldableArray)(f.monoidArray)(function(n){return[g.br_,h.text(n)]})(s.split("\n")(e))))),g.a([y.class_("link f7 dib gray w4"),w.title(i.maybe(n.created)(d.snd)(E(n))),w.href(A(n.slug))])([h.text(i.maybe(" ")(d.fst)(E(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return t.pure(b.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NNote"]=n["Component.NNote"]||{};var e=n["Component.NNote"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],f=n["DOM.HTML.Indexed.InputType"],c=n["Data.Array"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.Lens.Getter"],m=n["Data.Lens.Internal.Forget"],h=n["Data.Lens.Lens"],g=n["Data.Lens.Setter"],w=n["Data.Maybe"],b=n["Data.Monoid"],y=n["Data.Ord"],E=n["Data.Profunctor.Strong"],D=n["Data.Semigroup"],A=n["Data.Show"],C=n["Data.String.Common"],M=n["Data.Symbol"],F=n["Data.Tuple"],H=n["Data.Unit"],T=n["Data.Void"],S=n.Effect,_=n["Effect.Aff"],k=n["Effect.Aff.Class"],L=n["Effect.Class"],I=n.Globals,x=n["Halogen.Component"],R=n["Halogen.HTML"],U=n["Halogen.HTML.Core"],N=n["Halogen.HTML.Elements"],P=n["Halogen.HTML.Events"],B=n["Halogen.HTML.Properties"],O=n["Halogen.Query.HalogenM"],W=n.Util,q=n["Web.Event.Event"],J=n["Web.HTML.Location"],Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=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}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(){}return n.value=new n,n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=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}(),Z=function(){function n(){}return n.value=new n,n}(),nn=function(n){return h.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},en=M.SProxy.value,tn=function(n){return h.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},rn=function(n){return h.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};e.nnote=function(n){var e,h=I["app'"](H.unit);return x.mkComponent({initialState:d.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return I.mmoment8601(n.created)},t=function(n){return function(e){return w.Just.create(K.create(n(e)))}};return W.ifElseH(n.destroyed)(function(n){return N.p([W.class_("red")])([U.text("you killed this note")])})(d.const(W.ifElseH(n.edit)(function(e){return N.form([P.onSubmit(function(n){return w.Just.create(X.create(n))})])([N.p([W.class_("mt2 mb1")])([U.text("title:")]),N.input([B.type_(U.isPropInputType)(f.InputText.value),W.class_("title w-100 mb1 pt1 f7 edit_form_input"),B.name("title"),B.value(n.edit_note.title),P.onValueChange(t(Q.create))]),N.br_,N.p([W.class_("mt2 mb1")])([U.text("description:")]),N.textarea([W.class_("description w-100 mb1 pt1 f7 edit_form_input"),B.name("text"),B.rows(30),B.value(n.edit_note.text),P.onValueChange(t(j.create))]),N.div([W.class_("edit_form_checkboxes mb3")])([N.input([B.type_(U.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),B.id_("edit_ismarkdown"),B.name("ismarkdown"),B.checked(n.edit_note.isMarkdown),P.onChecked(t(V.create))]),U.text(" "),N.label([B.for("edit_ismarkdown"),W.class_("mr2")])([U.text("use markdown?")]),N.br_]),N.div([W.class_("edit_form_checkboxes mb3")])([N.input([B.type_(U.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),B.id_("edit_shared"),B.name("shared"),B.checked(n.edit_note.shared),P.onChecked(t(z.create))]),U.text(" "),N.label([B.for("edit_shared"),W.class_("mr2")])([U.text("public?")]),N.br_]),N.input([B.type_(U.isPropInputType)(f.InputSubmit.value),W.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),B.value("save")]),U.text(" "),N.input([B.type_(U.isPropInputType)(f.InputReset.value),W.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),B.value("cancel"),P.onClick(function(n){return new w.Just(new Y(!1))})])])})(function(t){return N.div([B.id_(A.show(A.showInt)(n.note.id)),W.class_("note w-100 mw7 pa1 mb2")])(D.append(D.semigroupArray)([N.div([W.class_("display")])([N.div([W.class_("link f5 lh-title")])([U.text(C.null(n.note.title)?"[no title]":n.note.title)]),N.br_,n.note.isMarkdown?N.div([W.class_("description mt1")])([R.slot()(new M.IsSymbol(function(){return"markdown"}))(y.ordUnit)(en)(H.unit)(r.component)(n.note.text)(T.absurd)]):N.div([W.class_("description mt1 mid-gray")])((u=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(b.monoidArray)(function(n){return[N.br_,U.text(n)]})(C.split("\n")(u))))),N.div([W.class_("link f7 dib gray w4")])([N.span([B.title(w.maybe(n.note.created)(F.snd)(e(n.note)))])([U.text(w.maybe(" ")(F.fst)(e(n.note)))]),U.text(" - "),N.span([W.class_("gray")])([U.text(n.note.shared?"public":"private")])])])])([N.div([W.class_("edit_links db mt3")])([N.button([B.type_(U.isPropButtonType)(i.ButtonButton.value),P.onClick(function(n){return new w.Just(new Y(!0))}),W.class_("edit light-silver hover-blue")])([U.text("edit  ")]),N.div([W.class_("delete_link di")])([N.button([B.type_(U.isPropButtonType)(i.ButtonButton.value),P.onClick(function(n){return new w.Just(new $(!0))}),W.class_("delete light-silver hover-blue"+b.guard(b.monoidString)(n.deleteAsk)(" dn"))])([U.text("delete")]),N.span([W.class_("confirm red"+b.guard(b.monoidString)(!n.deleteAsk)(" dn"))])([N.button([B.type_(U.isPropButtonType)(i.ButtonButton.value),P.onClick(function(n){return new w.Just(new $(!1))})])([U.text("cancel / ")]),N.button([B.type_(U.isPropButtonType)(i.ButtonButton.value),P.onClick(function(n){return new w.Just(Z.value)}),W.class_("red")])([U.text("destroy")])])])])]));var u})))},eval:x.mkEval({handleAction:function(n){if(n instanceof G)return u.pure(O.applicativeHalogenM)(H.unit);if(n instanceof K)return g.modifying(O.monadStateHalogenM)(tn(E.strongFn))(function(){if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof z)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 177, column 19 - line 181, column 36): "+[n.value0.constructor.name])}());if(n instanceof $)return o.modify_(O.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Z)return a.bind(O.bindHalogenM)(p.use(O.monadStateHalogenM)(nn(m.strongForget)))(function(n){return a.discard(a.discardUnit)(O.bindHalogenM)(v.void(O.functorHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.destroyNote(n.id))))(function(){return o.modify_(O.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof Y)return a.bind(O.bindHalogenM)(p.use(O.monadStateHalogenM)(nn(m.strongForget)))(function(e){return a.discard(a.discardUnit)(O.bindHalogenM)(g.assign(O.monadStateHalogenM)(tn(E.strongFn))(e))(function(){return g.assign(O.monadStateHalogenM)(rn(E.strongFn))(n.value0)})});if(n instanceof X)return a.discard(a.discardUnit)(O.bindHalogenM)(L.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(q.preventDefault(n.value0)))(function(){return a.bind(O.bindHalogenM)(p.use(O.monadStateHalogenM)(tn(m.strongForget)))(function(n){return a.bind(O.bindHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.editNote(n)))(function(e){if(e.body instanceof l.Left)return u.pure(O.applicativeHalogenM)(H.unit);if(e.body instanceof l.Right)return 0===n.id?L.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(a.bindFlipped(S.bindEffect)(J.setHref(W.fromNullableStr(h.noteR)))(W._loc)):a.discard(a.discardUnit)(O.bindHalogenM)(g.assign(O.monadStateHalogenM)(nn(E.strongFn))(n))(function(){return g.assign(O.monadStateHalogenM)(rn(E.strongFn))(!1)});throw new Error("Failed pattern match at Component.NNote (line 204, column 5 - line 212, column 27): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 172, column 3 - line 172, column 77): "+[n.constructor.name])},handleQuery:x.defaultEval.handleQuery,receive:x.defaultEval.receive,initialize:x.defaultEval.initialize,finalize:x.defaultEval.finalize})})}}(t),function(n){"use strict";n["Control.Applicative.Free"]=n["Control.Applicative.Free"]||{};var e=n["Control.Applicative.Free"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Category"],a=n["Data.Either"],o=n["Data.Functor"],i=n["Data.List.NonEmpty"],f=n["Data.List.Types"],c=n["Data.NonEmpty"],l=n["Data.Tuple"],s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=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(n){return function(e){return new v(n,e)}},m=d.create,h=function(n){return function(e){return function(r){return function(u){return function(a){return function(o){var c,p=n,m=e,h=r,g=u,w=a,b=!1;function y(n,e,r,u,a,c){if(a instanceof s)return b=!0,new l.Tuple(new f.Cons({func:t.pure(n)(a.value0),count:c},e),r);if(a instanceof d)return b=!0,new l.Tuple(new f.Cons({func:u(a.value0),count:c},e),r);if(a instanceof v)return p=n,m=e,h=i.cons(a.value1)(r),g=u,w=a.value0,void(o=c+1|0);throw new Error("Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): "+[a.constructor.name])}for(;!b;)c=y(p,m,h,g,w,o);return c}}}}}},g=function(n){return function(e){return function(t){return function(u){var o,i=n,s=e,d=t,v=!1;function p(n,e,t,o){if(e instanceof f.Nil)return v=!0,new a.Left(o);if(e instanceof f.Cons){var p=r.apply(n.Apply0())(e.value0.func)(o);if(1===e.value0.count)return e.value1 instanceof f.Nil?(v=!0,new a.Left(p)):(i=n,s=e.value1,d=t,void(u=p));if(t instanceof f.Nil)return v=!0,new a.Left(p);if(t instanceof f.Cons)return v=!0,a.Right.create(new l.Tuple(new f.Cons({func:p,count:e.value0.count-1|0},e.value1),new c.NonEmpty(t.value0,t.value1)));throw new Error("Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): "+[t.constructor.name])}throw new Error("Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): "+[e.constructor.name])}for(;!v;)o=p(i,s,d,u);return o}}}},w=new o.Functor(function(n){return function(e){return p(new s(n))(e)}}),b=function(n){return function(e){return function(r){return function(r){var u,o=!1;function i(u){if(u.value1.value0 instanceof s){if((i=g(n)(u.value0)(u.value1.value1)(t.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 d){var i;if((i=g(n)(u.value0)(u.value1.value1)(e(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 v))throw new Error("Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): "+[u.value1.value0.constructor.name]);var f=new c.NonEmpty(u.value1.value0.value1,u.value1.value1);r=h(n)(u.value0)(f)(e)(u.value1.value0.value0)(1)}for(;!o;)u=i(r);return u}(new l.Tuple(f.Nil.value,i.singleton(r)))}}},y=new r.Apply(function(){return w},function(n){return function(e){return p(n)(e)}}),E=new t.Applicative(function(){return y},s.create);e.retractFreeAp=function(n){return b(n)(u.identity(u.categoryFn))},e.hoistFreeAp=function(n){return b(E)(function(e){return m(n(e))})}}(t),function(n){"use strict";n["Control.Monad.Trans.Class"]=n["Control.Monad.Trans.Class"]||{};var e=n["Control.Monad.Trans.Class"];e.lift=function(n){return n.lift},e.MonadTrans=function(n){this.lift=n}}(t),function(n){"use strict";n["Control.Monad.Free.Trans"]=n["Control.Monad.Free.Trans"]||{};var e=n["Control.Monad.Free.Trans"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Monad"],o=n["Control.Monad.Rec.Class"],i=n["Control.Monad.Trans.Class"],f=n["Data.Bifunctor"],c=n["Data.Either"],l=n["Data.Exists"],s=n["Data.Functor"],d=n["Data.Unit"],v=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}(),m=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),h=p.create,g=function(n){return function(e){return new m(l.mkExists(new v(n,e)))}},w=function n(e){return function(t){return new s.Functor(function(r){return function(u){if(u instanceof p)return new p(function(a){return s.map(t)(f.bimap(c.bifunctorEither)(r)(s.map(e)(s.map(n(e)(t))(r))))(u.value0(d.unit))});if(u instanceof m)return l.runExists(function(u){return g(u.value0)((a=s.map(n(e)(t))(r),function(n){return a(u.value1(n))}));var a})(u.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 59, column 71): "+[r.constructor.name,u.constructor.name])}})}},b=function(n){return function(e){return new a.Monad(function(){return D(n)(e)},function(){return y(n)(e)})}},y=function(n){return function(e){return new u.Bind(function(){return E(n)(e)},function(n){return function(e){return n instanceof m?l.runExists(function(n){return g(n.value0)(function(t){return g(function(e){return n.value1(t)})(e)})})(n.value0):g(function(e){return n})(e)}})}},E=function(n){return function(e){return new r.Apply(function(){return w(n)(e.Bind1().Apply0().Functor0())},a.ap(b(n)(e)))}},D=function(n){return function(e){return new t.Applicative(function(){return E(n)(e)},function(n){return new p(function(r){return t.pure(e.Applicative0())(new c.Left(n))})})}},A=function(n){return function(e){return o.tailRecM(e)(function(r){if(r instanceof p)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Done.create)(r.value0(d.unit));if(r instanceof m)return l.runExists(function(r){var a=r.value0(d.unit);if(a instanceof p)return u.bind(e.Monad0().Bind1())(a.value0(d.unit))(function(a){if(a instanceof c.Left)return t.pure(e.Monad0().Applicative0())(new o.Loop(r.value1(a.value0)));if(a instanceof c.Right)return t.pure(e.Monad0().Applicative0())(new o.Done(new c.Right(s.map(n)(function(t){return u.bind(y(n)(e.Monad0()))(t)(r.value1)})(a.value0))));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): "+[a.constructor.name])});if(a instanceof m)return l.runExists(function(a){return t.pure(e.Monad0().Applicative0())(new o.Loop(u.bind(y(n)(e.Monad0()))(a.value0(d.unit))(function(t){return u.bind(y(n)(e.Monad0()))(a.value1(t))(r.value1)})))})(a.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): "+[a.constructor.name])})(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): "+[r.constructor.name])})}};e.freeT=h,e.liftFreeT=function(n){return function(e){return function(r){return new p(function(u){return t.pure(e.Applicative0())(new c.Right(s.map(n)(t.pure(D(n)(e)))(r)))})}}},e.resume=A,e.runFreeT=function(n){return function(e){return function(r){return o.tailRecM(e)(u.composeKleisliFlipped(e.Monad0().Bind1())(function(n){if(n instanceof c.Left)return t.pure(e.Monad0().Applicative0())(new o.Done(n.value0));if(n instanceof c.Right)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Loop.create)(r(n.value0));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): "+[n.constructor.name])})(A(n)(e)))}}},e.functorFreeT=w,e.applicativeFreeT=D,e.bindFreeT=y,e.monadTransFreeT=function(n){return new i.MonadTrans(function(n){return function(e){return new p(function(t){return s.map(n.Bind1().Apply0().Functor0())(c.Left.create)(e)})}})},e.monadRecFreeT=function(n){return function(e){return new o.MonadRec(function(){return b(n)(e)},function(r){return function a(i){return u.bind(y(n)(e))(r(i))(function(r){if(r instanceof o.Loop)return a(r.value0);if(r instanceof o.Done)return t.pure(D(n)(e))(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): "+[r.constructor.name])})}})}}}(t),function(n){"use strict";n["Control.Coroutine"]=n["Control.Coroutine"]||{};var e=n["Control.Coroutine"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.Except.Trans"],i=n["Control.Monad.Free.Trans"],f=n["Control.Monad.Rec.Class"],c=n["Control.Monad.Trans.Class"],l=n["Control.Parallel.Class"],s=n["Data.Bifunctor"],d=n["Data.Either"],v=n["Data.Functor"],p=n["Data.Identity"],m=n["Data.Maybe"],h=n["Data.Newtype"],g=n["Data.Profunctor"],w=n["Data.Tuple"],b=n["Data.Unit"],y=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 g.Profunctor(function(n){return function(e){return function(t){return g.dimap(g.profunctorFn)(n)(e)(t)}}}),D=function(n){return function(e){return function(r){return function(a){return function(f){return function(c){return function(l){return i.freeT(function(s){return function c(l){return o.runExceptT(u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(n)(a)(l.value0)))(function(n){return u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(e)(a)(l.value1)))(function(e){return t.pure(o.applicativeExceptT(a.Monad0()))(v.map(r)(function(n){return i.freeT(function(e){return c(n)})})(f(w.Tuple.create)(n)(e)))})}))}(new w.Tuple(c,l))})}}}}}}},A=function(n){return function(e){return function(a){return function(o){return function(f){return function(c){return function(s){return function(p){return i.freeT(function(m){return function s(p){return u.bind(o.Monad0().Bind1())(l.sequential(f)(r.apply(f.Applicative1().Apply0())(v.map(f.Applicative1().Apply0().Functor0())(r.lift2(d.applyEither)(c(w.Tuple.create)))(l.parallel(f)(i.resume(n)(o)(p.value0))))(l.parallel(f)(i.resume(e)(o)(p.value1)))))(function(n){if(n instanceof d.Left)return t.pure(o.Monad0().Applicative0())(new d.Left(n.value0));if(n instanceof d.Right)return t.pure(o.Monad0().Applicative0())(new d.Right(v.map(a)(function(n){return i.freeT(function(e){return s(n)})})(n.value0)));throw new Error("Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): "+[n.constructor.name])})}(new w.Tuple(s,p))})}}}}}}}},C=new v.Functor(g.rmap(E)),M=new s.Bifunctor(function(n){return function(e){return function(t){return new y(n(t.value0),e(t.value1))}}}),F=new v.Functor(s.rmap(M));e.runProcess=function(n){return i.runFreeT(p.functorIdentity)(n)((e=t.pure(n.Monad0().Applicative0()),r=h.unwrap(p.newtypeIdentity),function(n){return e(r(n))}));var e,r},e.producer=function(n){return function(e){return(r=F,function(n){return function(e){return f.tailRecM(i.monadRecFreeT(r)(n))(function(t){return v.map(i.functorFreeT(r)(n.Bind1().Apply0().Functor0()))(m.maybe(new f.Loop(b.unit))(f.Done.create))(e)})(b.unit)}})(n)(u.bind(i.bindFreeT(F)(n))(c.lift(i.monadTransFreeT(F))(n)(e))(function(e){if(e instanceof d.Left)return v.voidLeft(i.functorFreeT(F)(n.Bind1().Apply0().Functor0()))(function(n){return function(e){return i.liftFreeT(F)(n)(new y(e,b.unit))}}(n)(e.value0))(m.Nothing.value);if(e instanceof d.Right)return t.pure(i.applicativeFreeT(F)(n))(new m.Just(e.value0));throw new Error("Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): "+[e.constructor.name])}));var r}},e.await=function(n){return i.liftFreeT(C)(n)(a.identity(a.categoryFn))},e.connect=function(n){return function(e){return A(F)(C)(p.functorIdentity)(n)(e)(function(n){return function(e){return function(t){return n(e.value1)(t(e.value0))}}})}},e.pullFrom=function(n){return D(C)(F)(p.functorIdentity)(n)(function(n){return function(e){return function(r){return t.pure(p.applicativeIdentity)(n(e(r.value0))(r.value1))}}})},e.functorAwait=C}(t),function(n){"use strict";n["Control.Monad.Fork.Class"]=n["Control.Monad.Fork.Class"]||{};var e=n["Control.Monad.Fork.Class"],t=n["Effect.Aff"],r=new function(n,e,t,r,u){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=u}(function(){return t.functorFiber},function(){return t.monadAff},t.forkAff,t.joinFiber,t.suspendAff);e.fork=function(n){return n.fork},e.monadForkAff=r}(t),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 u(n){try{n()}catch(e){setTimeout(function(){throw e},0)}}function a(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=a,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):a(n.queue))},t.drainVar=function(n,e){if(!e.draining){var t,a,i,f,c,l=e.puts,s=e.takes,d=e.reads;for(e.draining=!0;;){if(t=null,a=null,i=null,f=e.value,c=d.size,null!==e.error){for(f=n.left(e.error);t=o(l);)u(t.cb(f));for(;a=o(d);)u(a(f));for(;i=o(s);)u(i(f));break}if(f===r&&(t=o(l))&&(e.value=f=t.value),f!==r){for(i=o(s);c--&&(a=o(d));)u(a(n.right(f)));null!==i&&(e.value=r,u(i(n.right(f))))}if(null!==t&&u(t.cb(n.right(void 0))),e.value===r&&0===l.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,u){return function(){var a=e.putLast(r.puts,{cb:u,value:t});return e.drainVar(n,r),function(){e.deleteCell(a)}}},n._takeVar=function(n,t,r){return function(){var u=e.putLast(t.takes,r);return e.drainVar(n,t),function(){e.deleteCell(u)}}}}(t["Effect.AVar"]=t["Effect.AVar"]||{}),function(n){"use strict";n["Effect.AVar"]=n["Effect.AVar"]||{};var e=n["Effect.AVar"],t=n["Effect.AVar"],r=n["Data.Either"],u=n["Data.Maybe"],a=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(){}return n.value=new n,n}(),f={left:r.Left.create,right:r.Right.create,nothing:u.Nothing.value,just:u.Just.create,killed:a.create,filled:o.create,empty:i.value};e.take=function(n){return function(e){return t._takeVar(f,n,e)}},e.put=function(n){return function(e){return function(r){return t._putVar(f,n,e,r)}}},e.kill=function(n){return function(e){return t._killVar(f,n,e)}},e.empty=t.empty}(t),function(n){"use strict";n["Effect.Aff.AVar"]=n["Effect.Aff.AVar"]||{};var e=n["Effect.Aff.AVar"],t=n["Effect.AVar"],r=n["Effect.Aff"],u=n["Effect.Class"],a=u.liftEffect(r.monadEffectAff)(t.empty);e.empty=a,e.take=function(n){return r.makeAff(function(e){return function(){var u=t.take(n)(e)();return r.effectCanceler(u)}})},e.put=function(n){return function(e){return r.makeAff(function(u){return function(){var a=t.put(n)(e)(u)();return r.effectCanceler(a)}})}},e.kill=function(n){var e=u.liftEffect(r.monadEffectAff),a=t.kill(n);return function(n){return e(a(n))}}}(t),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";n["Effect.Console"]=n["Effect.Console"]||{};var e=n["Effect.Console"],t=n["Effect.Console"];e.warn=t.warn}(t),function(n){"use strict";n.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(t["Effect.Exception"]=t["Effect.Exception"]||{}),function(n){"use strict";n["Effect.Exception"]=n["Effect.Exception"]||{};var e=n["Effect.Exception"],t=n["Effect.Exception"];e.throw=function(n){return t.throwException(t.error(n))},e.error=t.error,e.throwException=t.throwException}(t),function(n){"use strict";n["Halogen.Aff.Driver.State"]=n["Halogen.Aff.Driver.State"]||{};var e=n["Halogen.Aff.Driver.State"],t=n["Data.Foldable"],r=n["Data.List.Types"],u=n["Data.Map.Internal"],a=n["Data.Maybe"],o=n["Effect.Ref"],i=n["Halogen.Data.Slot"],f=n["Unsafe.Coerce"],c=f.unsafeCoerce,l=f.unsafeCoerce,s=f.unsafeCoerce,d=f.unsafeCoerce;e.mapDriverState=function(n){return function(e){return n(e)}},e.unDriverStateX=l,e.renderStateX=function(n){return function(n){return l(function(e){return s(n(e.rendering))})}},e.renderStateX_=function(n){return function(e){return l(function(r){return t.traverse_(n)(t.foldableMaybe)(e)(r.rendering)})}},e.unRenderStateX=c,e.initDriverState=function(n){return function(e){return function(t){return function(f){return function(){var c=o.new({})(),l=o.new(i.empty)(),s=o.new(i.empty)(),v=o.new(t)(),p=o.new(new a.Just(r.Nil.value))(),m=o.new(new a.Just(r.Nil.value))(),h=o.new(a.Nothing.value)(),g=o.new(1)(),w=o.new(new a.Just(u.empty))(),b=o.new(u.empty)(),y={component:n,state:n.initialState(e),refs:u.empty,children:i.empty,childrenIn:l,childrenOut:s,selfRef:c,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:h,rendering:a.Nothing.value,fresh:g,subscriptions:w,forks:b,lifecycleHandlers:f};return o.write(y)(c)(),d(c)}}}}}}(t),function(n){"use strict";n["Halogen.Query.ChildQuery"]=n["Halogen.Query.ChildQuery"]||{};var e=n["Halogen.Query.ChildQuery"],t=n["Unsafe.Coerce"].unsafeCoerce;e.unChildQueryBox=t}(t),function(n){"use strict";n["Halogen.Query.EventSource"]=n["Halogen.Query.EventSource"]||{};n["Halogen.Query.EventSource"].finalize=function(n){return n}}(t),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n["Unsafe.Reference"]=n["Unsafe.Reference"]||{};var e=n["Unsafe.Reference"],t=n["Unsafe.Reference"].reallyUnsafeRefEq;e.unsafeRefEq=t}(t),function(n){"use strict";n["Halogen.Aff.Driver.Eval"]=n["Halogen.Aff.Driver.Eval"]||{};var e=n["Halogen.Aff.Driver.Eval"],t=n["Control.Applicative"],r=n["Control.Applicative.Free"],u=n["Control.Bind"],a=n["Control.Coroutine"],o=n["Control.Monad"],i=n["Control.Monad.Fork.Class"],f=n["Control.Monad.Free"],c=n["Control.Monad.Free.Trans"],l=n["Control.Monad.Trans.Class"],s=n["Control.Parallel"],d=n["Control.Parallel.Class"],v=n["Data.Boolean"],p=n["Data.Coyoneda"],m=n["Data.Eq"],h=n["Data.Foldable"],g=n["Data.Function"],w=n["Data.Functor"],b=n["Data.List.Types"],y=n["Data.Map.Internal"],E=n["Data.Maybe"],D=n["Data.Ord"],A=n["Data.Unit"],C=n.Effect,M=n["Effect.Aff"],F=n["Effect.Class"],H=n["Effect.Exception"],T=n["Effect.Ref"],S=n["Halogen.Aff.Driver.State"],_=n["Halogen.Query.ChildQuery"],k=n["Halogen.Query.EventSource"],L=n["Halogen.Query.HalogenM"],I=n["Halogen.Query.HalogenQ"],x=n["Halogen.Query.Input"],R=n["Unsafe.Reference"],U=function(n){return function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(t){if(t instanceof E.Nothing)return e;if(t instanceof E.Just)return F.liftEffect(M.monadEffectAff)(T.write(new E.Just(new b.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): "+[t.constructor.name])})}},N=function(n){return function(e){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(e))(function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return u.discard(u.discardUnit)(M.bindAff)(h.traverse_(M.applicativeAff)(b.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return u.discard(u.discardUnit)(M.bindAff)(s.parSequence_(M.parallelAff)(b.foldableList)(n.initializers))(function(){return t.pure(M.applicativeAff)(e)})})})})})}},P=function(n){return function(e){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(e){return F.liftEffect(M.monadEffectAff)(T["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},B=function(n){return function(e){return function(t){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Query(w.map(p.functorCoyoneda)(E.Just.create)(p.liftCoyoneda(t)),g.const(E.Nothing.value))))})}}},O=function n(e){return function(s){return function(p){var g;return f.foldFree(M.monadRecAff)((g=s,function(f){if(f instanceof L.State)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(n){var r=f.value0(n.state);if(R.unsafeRefEq(n.state)(r.value1))return t.pure(M.applicativeAff)(r.value0);if(v.otherwise)return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(g)))(function(){return u.discard(u.discardUnit)(M.bindAff)(N(n.lifecycleHandlers)(e(n.lifecycleHandlers)(g)))(function(){return t.pure(M.applicativeAff)(r.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): "+[r.constructor.name])});if(f instanceof L.Subscribe)return u.bind(M.bindAff)(P(L.SubscriptionId)(g))(function(n){var r=f.value0(n);return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(o){return u.bind(M.bindAff)(i.fork(i.monadForkAff)(u.bind(M.bindAff)(r)(function(r){var f=u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(o.subscriptions)))(function(e){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.modify_(w.map(E.functorMaybe)(y.delete(L.ordSubscriptionId)(n)))(o.subscriptions)))(function(){return t.when(M.applicativeAff)(E.maybe(!1)(y.member(L.ordSubscriptionId)(n))(e))(k.finalize(r.finalizer))})}),s=u.bind(c.bindFreeT(a.functorAwait)(M.monadAff))(a.await(M.monadAff))(function(r){return u.bind(c.bindFreeT(a.functorAwait)(M.monadAff))(l.lift(c.monadTransFreeT(a.functorAwait))(M.monadAff)(F.liftEffect(M.monadEffectAff)(T.read(o.subscriptions))))(function(o){return t.when(c.applicativeFreeT(a.functorAwait)(M.monadAff))(m.eq(E.eqMaybe(m.eqBoolean))(w.map(E.functorMaybe)(y.member(L.ordSubscriptionId)(n))(o))(new E.Just(!0)))(u.bind(c.bindFreeT(a.functorAwait)(M.monadAff))(l.lift(c.monadTransFreeT(a.functorAwait))(M.monadAff)(i.fork(i.monadForkAff)(W(e)(g)(new x.Action(r)))))(function(n){return s}))})});return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.modify_(w.map(E.functorMaybe)(y.insert(L.ordSubscriptionId)(n)(f)))(o.subscriptions)))(function(){return u.discard(u.discardUnit)(M.bindAff)(a.runProcess(M.monadRecAff)(a.pullFrom(M.monadRecAff)(s)(r.producer)))(function(){return k.finalize(f)})})})))(function(e){return t.pure(M.applicativeAff)(f.value1(n))})})});if(f instanceof L.Unsubscribe)return u.discard(u.discardUnit)(M.bindAff)((s=f.value0,function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.subscriptions)))(function(n){return h.traverse_(M.applicativeAff)(h.foldableMaybe)(k.finalize)(u.bindFlipped(E.bindMaybe)(y.lookup(L.ordSubscriptionId)(s))(n))})})})(g))(function(){return t.pure(M.applicativeAff)(f.value1)});var s,p,b;if(f instanceof L.Lift)return f.value0;if(f instanceof L.ChildQuery)return function(n){return function(t){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return _.unChildQueryBox(function(t){return w.map(M.functorAff)(t.value2)(d.sequential(M.parallelAff)(t.value0(M.applicativeParAff)(function(n){return d.parallel(M.parallelAff)(u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n)))(function(n){return S.unDriverStateX(function(n){return B(e)(n.selfRef)(t.value1)})(n)}))})(n.children)))})(t)})}}(g)(f.value0);if(f instanceof L.Raise)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.handlerRef)))(function(e){return u.discard(u.discardUnit)(M.bindAff)(U(n.pendingOuts)(e(f.value0)))(function(){return t.pure(M.applicativeAff)(f.value1)})})});if(f instanceof L.Par)return d.sequential(M.parallelAff)(r.retractFreeAp(M.applicativeParAff)(r.hoistFreeAp((p=d.parallel(M.parallelAff),b=n(e)(g),function(n){return p(b(n))}))(f.value0)));if(f instanceof L.Fork)return u.bind(M.bindAff)(P(L.ForkId)(g))(function(r){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(a){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.new(!1)))(function(c){return u.bind(M.bindAff)(i.fork(i.monadForkAff)(M.finally(F.liftEffect(M.monadEffectAff)(function(){return T.modify_(y.delete(L.ordForkId)(r))(a.forks)(),T.write(!0)(c)()}))(n(e)(g)(f.value0))))(function(n){return u.discard(u.discardUnit)(M.bindAff)(F.liftEffect(M.monadEffectAff)(o.unlessM(C.monadEffect)(T.read(c))(T.modify_(y.insert(L.ordForkId)(r)(n))(a.forks))))(function(){return t.pure(M.applicativeAff)(f.value1(r))})})})})});if(f instanceof L.Kill)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(n){return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(n.forks)))(function(n){return u.discard(u.discardUnit)(M.bindAff)(h.traverse_(M.applicativeAff)(h.foldableMaybe)(M.killFiber(H.error("Cancelled")))(y.lookup(L.ordForkId)(f.value0)(n)))(function(){return t.pure(M.applicativeAff)(f.value1)})})});if(f instanceof L.GetRef)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(g)))(function(n){return t.pure(M.applicativeAff)(f.value1(y.lookup(D.ordString)(f.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[f.constructor.name])}))(p)}}},W=function(n){return function(e){return function(t){if(t instanceof x.RefUpdate)return F.liftEffect(M.monadEffectAff)(g.flip(T.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:y.alter(D.ordString)(g.const(t.value1))(t.value0)(n.refs),children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}})));if(t instanceof x.Action)return u.bind(M.bindAff)(F.liftEffect(M.monadEffectAff)(T.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Action(t.value0,A.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};e.evalF=W,e.evalQ=B,e.evalM=O,e.handleLifecycle=N,e.queueOrRun=U}(t),function(n){"use strict";n["Halogen.Aff.Driver"]=n["Halogen.Aff.Driver"]||{};var e=n["Halogen.Aff.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Control.Coroutine"],o=n["Control.Monad.Error.Class"],i=n["Control.Monad.Fork.Class"],f=n["Control.Monad.Rec.Class"],c=n["Control.Parallel"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.List"],m=n["Data.List.Types"],h=n["Data.Map.Internal"],g=n["Data.Maybe"],w=n["Data.Ord"],b=n["Data.Unit"],y=n.Effect,E=n["Effect.Aff"],D=n["Effect.Aff.AVar"],A=n["Effect.Class"],C=n["Effect.Console"],M=n["Effect.Exception"],F=n["Effect.Ref"],H=n["Halogen.Aff.Driver.Eval"],T=n["Halogen.Aff.Driver.State"],S=n["Halogen.Component"],_=n["Halogen.Data.Slot"],k=n["Halogen.Query.EventSource"],L=n["Halogen.Query.HalogenQ"],I=n["Halogen.Query.Input"],x=F.new({initializers:m.Nil.value,finalizers:m.Nil.value}),R=E.runAff_(l.either(M.throwException)(d.const(t.pure(y.applicativeEffect)(b.unit)))),U=function(n){return function(){var e,t=F.read(n)();return F.write(g.Nothing.value)(n)(),s.for_(y.applicativeEffect)(s.foldableMaybe)(t)((e=s.traverse_(E.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(n){return R(e(p.reverse(n)))}))()}};e.runUI=function(n){return function(e){return function(N){var P=function(n){return function(e){return function(t){return S.unComponent(function(u){return function(){var a,o=x(),i=T.initDriverState(u)(t)(e)(o)(),f=F.read(n)();return F.write({initializers:m.Nil.value,finalizers:f.finalizers})(n)(),r.bindFlipped(y.bindEffect)(T.unDriverStateX((a=O(n),function(n){return a(n.selfRef)})))(F.read(i))(),r.bindFlipped(y.bindEffect)(function(n){return function(e){return T.unDriverStateX(function(t){var u=H.evalM(O)(t.selfRef)(t.component.eval(new L.Initialize(b.unit)));return F.modify_(function(n){return{initializers:new m.Cons(r.discard(r.discardUnit)(E.bindAff)(c.parSequence_(E.parallelAff)(m.foldableList)(p.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(E.bindAff)(u)(function(){return A.liftEffect(E.monadEffectAff)(function(){return U(t.pendingQueries)(),U(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(f.initializers))(F.read(i))(),i}})}}},B=function(e){return function(u){return function(a){return function(o){return S.unComponentSlot(function(i){return function(){var f=v.map(y.functorEffect)(i.pop)(F.read(a))(),c=function(){if(f instanceof g.Just){F.write(f.value0.value1)(a)();var n=F.read(f.value0.value0)();return T.unDriverStateX(function(n){return function(){var e;return d.flip(F.write)(n.handlerRef)((e=g.maybe(t.pure(E.applicativeAff)(b.unit))(u),function(n){return e(i.output(n))}))(),R(H.evalM(O)(n.selfRef)(n.component.eval(i.input)))()}})(n)(),f.value0.value0}if(f instanceof g.Nothing)return i.input instanceof L.Receive?P(e)((r=g.maybe(t.pure(E.applicativeAff)(b.unit))(u),function(n){return r(i.output(n))}))(i.input.value0)(i.component)():M.throw("Halogen internal error: slot input was not a Receive query")();var r;throw new Error("Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 249, column 81): "+[f.constructor.name])}(),l=v.map(y.functorEffect)(function(n){return g.isJust(i.get(n))})(F.read(o))();return t.when(y.applicativeEffect)(l)(C.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),F.modify_(i.set(c))(o)(),r.bind(y.bindEffect)(F.read(c))(T.renderStateX(y.functorEffect)(function(e){if(e instanceof g.Nothing)return M.throw("Halogen internal error: child was not initialized in renderChild");if(e instanceof g.Just)return t.pure(y.applicativeEffect)(n.renderChild(e.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 254, column 37 - line 256, column 50): "+[e.constructor.name])}))()}})}}}},O=function e(r){return function(a){return function(){var o=F.read(a)(),c=v.map(y.functorEffect)(g.isNothing)(F.read(o.pendingHandlers))();t.when(y.applicativeEffect)(c)(F.write(new g.Just(m.Nil.value))(o.pendingHandlers))(),F.write(_.empty)(o.childrenOut)(),F.write(o.children)(o.childrenIn)();var l,h,w,D,A=u.identity(u.categoryFn)(o.selfRef),C=u.identity(u.categoryFn)(o.pendingQueries),M=u.identity(u.categoryFn)(o.pendingHandlers),S=(l=H.queueOrRun(M),h=v.void(E.functorAff),w=H.evalF(e)(A),function(n){return l(h(w(n)))}),k=(D=H.queueOrRun(C),function(n){return D(S(I.Action.create(n)))}),L=n.render(function(n){return R(S(n))})(B(r)(k)(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),x=F.read(o.childrenOut)(),U=F.read(o.childrenIn)();return _.foreachSlot(y.applicativeEffect)(U)(function(e){return function(){var t=F.read(e)();return T.renderStateX_(y.applicativeEffect)(n.removeChild)(t)(),W(r)(t)()}})(),d.flip(F.modify_)(o.selfRef)(T.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:x,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new g.Just(L),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),t.when(y.applicativeEffect)(c)(d.flip(f.tailRecM(f.monadRecEffect))(b.unit)(function(n){return function(){var n,e=F.read(M)();F.write(new g.Just(m.Nil.value))(M)(),s.traverse_(y.applicativeEffect)(s.foldableMaybe)((n=s.traverse_(E.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(e){return R(n(p.reverse(e)))}))(e)();var t=F.read(M)();return g.maybe(!1)(p.null)(t)?v.voidLeft(y.functorEffect)(F.write(g.Nothing.value)(M))(new f.Done(b.unit))():new f.Loop(b.unit)}}))()}}},W=function n(e){return T.unDriverStateX(function(t){return function(){var u;(u=t,function(){var n,e,t;return r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(s.foldableMaybe)((e=s.traverse_(E.applicativeAff)(h.foldableMap)((n=i.fork(i.monadForkAff),function(e){return n(k.finalize(e))})),function(n){return R(e(n))})))(F.read(u.subscriptions))(),F.write(g.Nothing.value)(u.subscriptions)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(h.foldableMap)((t=E.killFiber(M.error("finalized")),function(n){return R(t(n))})))(F.read(u.forks))(),F.write(h.empty)(u.forks)()})();var a=H.evalM(O)(t.selfRef)(t.component.eval(new L.Finalize(b.unit)));return F.modify_(function(n){return{initializers:n.initializers,finalizers:new m.Cons(a,n.finalizers)}})(e)(),_.foreachSlot(y.applicativeEffect)(t.children)(function(t){return function(){var r=F.read(t)();return n(e)(r)()}})()}})},q=function(e){return function(t){return function(u){return function(a){return H.handleLifecycle(t)(function(){var o,i;return F.read(e)()?b.unit:(F.write(!0)(e)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(h.foldableMap)((o=D.kill(M.error("disposed")),function(n){return E.launchAff_(o(n))})))(F.read(a))(),W(t)(u)(),T.unDriverStateX((i=s.traverse_(y.applicativeEffect)(s.foldableMaybe)(n.dispose),function(n){return i(n.rendering)}))(u)())})}}}};return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(x))(function(n){return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.new(0)))(function(u){return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.new(!1)))(function(f){return H.handleLifecycle(n)(function(){var c,p=F.new(h.empty)(),m=r.bindFlipped(y.bindEffect)(F.read)(P(n)((c=p,function(n){return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.read(c)))(function(e){return s.traverse_(E.applicativeAff)(h.foldableMap)(i.fork(i.monadForkAff))(v.map(h.functorMap)(D.put(n))(e))})}))(N)(e))();return T.unDriverStateX(function(e){return t.pure(y.applicativeEffect)({query:(s=f,function(n){return function(e){return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.read(s)))(function(r){return r?t.pure(E.applicativeAff)(g.Nothing.value):H.evalQ(O)(n)(e)})}})(e.selfRef),subscribe:(c=u,function(n){return function(e){return r.bind(E.bindAff)(D.empty)(function(t){return r.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(function(){var e=F.read(c)();return F.modify_(function(n){return n+1|0})(c)(),F.modify_(h.insert(w.ordInt)(e)(t))(n)(),e}))(function(u){var f=a.producer(E.monadAff)(v.map(E.functorAff)(l.either(d.const(new l.Right(b.unit)))(l.Left.create))(o.try(E.monadErrorAff)(D.take(t))));return v.void(E.functorAff)(i.fork(i.monadForkAff)(r.discard(r.discardUnit)(E.bindAff)(a.runProcess(E.monadRecAff)(a.connect(E.monadRecAff)(E.parallelAff)(f)(e)))(function(){return r.discard(r.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)(F.modify_(h.delete(w.ordInt)(u))(n)))(function(){return D.kill(M.error("ended"))(t)})})))})})}})(p),dispose:q(f)(n)(m)(p)});var c,s})(m)()})})})})}}}}(t),function(n){"use strict";(t["Web.DOM.ParentNode"]=t["Web.DOM.ParentNode"]||{})._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}}}(),function(n){"use strict";n["Web.DOM.ParentNode"]=n["Web.DOM.ParentNode"]||{};var e=n["Web.DOM.ParentNode"],t=n["Web.DOM.ParentNode"],r=n["Data.Functor"],u=n["Data.Nullable"],a=n.Effect;e.querySelector=function(n){var e=r.map(a.functorEffect)(u.toMaybe),o=t._querySelector(n);return function(n){return e(o(n))}}}(t),function(n){"use strict";n["Web.HTML.HTMLDocument"]=n["Web.HTML.HTMLDocument"]||{};var e=n["Web.HTML.HTMLDocument"],t=n["Unsafe.Coerce"],r=t.unsafeCoerce,u=t.unsafeCoerce;e.toDocument=u,e.toParentNode=r}(t),function(n){"use strict";n["Halogen.Aff.Util"]=n["Halogen.Aff.Util"]||{};var e=n["Halogen.Aff.Util"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Data.Either"],a=n["Data.Function"],o=n["Data.Maybe"],i=n["Data.Unit"],f=n.Effect,c=n["Effect.Aff"],l=n["Effect.Class"],s=n["Effect.Exception"],d=n["Web.DOM.ParentNode"],v=n["Web.HTML"],p=n["Web.HTML.HTMLDocument"],m=n["Web.HTML.HTMLElement"],h=n["Web.HTML.Window"],g=c.runAff_(u.either(s.throwException)(a.const(t.pure(f.applicativeEffect)(i.unit))));e.selectElement=function(n){return r.bind(c.bindAff)(l.liftEffect(c.monadEffectAff)(r.bindFlipped(f.bindEffect)(r.composeKleisliFlipped(f.bindEffect)((e=d.querySelector(n),function(n){return e(p.toParentNode(n))}))(h.document))(v.window)))(function(n){return t.pure(c.applicativeAff)(r.bindFlipped(o.bindMaybe)(m.fromElement)(n))});var e},e.runHalogenAff=g}(t),function(n){"use strict";(t["Web.DOM.Element"]=t["Web.DOM.Element"]||{}).setAttribute=function(n){return function(e){return function(t){return function(){return t.setAttribute(n,e),{}}}}}}(),function(n){"use strict";n["Web.DOM.Element"]=n["Web.DOM.Element"]||{};var e=n["Web.DOM.Element"],t=n["Web.DOM.Element"],r=n["Unsafe.Coerce"].unsafeCoerce;e.toNode=r,e.setAttribute=t.setAttribute}(t),function(n){"use strict";n["Halogen.VDom.DOM"]=n["Halogen.VDom.DOM"]||{};var e=n["Halogen.VDom.DOM"],t=n["Data.Array"],r=n["Data.Boolean"],u=n["Data.Maybe"],a=n["Data.Nullable"],o=n["Data.Tuple"],i=n["Halogen.VDom.Machine"],f=n["Halogen.VDom.Types"],c=n["Halogen.VDom.Util"],l=n["Web.DOM.Element"],s=function(n){return i.halt(n.widget)},d=function n(e,t){if(t instanceof f.Grafted)return n(e,f.runGraft(t.value0));if(t instanceof f.Widget){var r=i.step(e.widget,t.value0);return i.unStep(function(t){return i.mkStep(new i.Step(t.value0,{build:e.build,widget:r},n,s))})(r)}return s(e),e.build(t)},v=function(n){var e=c.parentNode(n.node);return c.removeChild(n.node,e)},p=function n(e,t){if(t instanceof f.Grafted)return n(e,f.runGraft(t.value0));if(t instanceof f.Text){if(e.value===t.value0)return i.mkStep(new i.Step(e.node,e,n,v));if(r.otherwise){var u={build:e.build,node:e.node,value:t.value0};return c.setTextContent(t.value0,e.node),i.mkStep(new i.Step(e.node,u,n,v))}}return v(e),e.build(t)},m=function(n){var e=c.parentNode(n.node);return c.removeChild(n.node,e),c.forInE(n.children,function(n,e){return i.halt(e)}),i.halt(n.attrs)},h=function(n){var e=c.parentNode(n.node);return c.removeChild(n.node,e),c.forEachE(n.children,i.halt),i.halt(n.attrs)},g=function(n,e,t,r){return!(e!==r)&&(n instanceof u.Just&&t instanceof u.Just&&n.value0===t.value0||n instanceof u.Nothing&&t instanceof u.Nothing)},w=function n(e,r){if(r instanceof f.Grafted)return n(e,f.runGraft(r.value0));if(r instanceof f.Elem&&g(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===t.length(e.children)&&0===u){var a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children};return i.mkStep(new i.Step(e.node,o,n,h))}a=c.diffWithIxE(e.children,r.value3,function(n,t,r){var u=i.step(t,r);return c.insertChildIx(n,i.extract(u),e.node),u},function(n,e){return i.halt(e)},function(n,t){var r=e.build(t);return c.insertChildIx(n,i.extract(r),e.node),r});var l=i.step(e.attrs,r.value2);o={build:e.build,node:e.node,attrs:l,ns:r.value0,name:r.value1,children:a};return i.mkStep(new i.Step(e.node,o,n,h))}return h(e),e.build(r)},b=function n(e,r){if(r instanceof f.Grafted)return n(e,f.runGraft(r.value0));if(r instanceof f.Keyed&&g(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===e.length&&0===u){var a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children,length:0};return i.mkStep(new i.Step(e.node,l,n,m))}a=c.diffWithKeyAndIxE(e.children,r.value3,o.fst,function(n,t,r,u){var a=i.step(r,u.value1);return c.insertChildIx(t,i.extract(a),e.node),a},function(n,e){return i.halt(e)},function(n,t,r){var u=e.build(r.value1);return c.insertChildIx(t,i.extract(u),e.node),u});var s=i.step(e.attrs,r.value2);l={build:e.build,node:e.node,attrs:s,ns:r.value0,name:r.value1,children:a,length:u};return i.mkStep(new i.Step(e.node,l,n,m))}return m(e),e.build(r)};e.buildVDom=function(n){return function e(r){if(r instanceof f.Text)return function(n,e,t){var r=c.createTextNode(t,n.document),u={build:e,node:r,value:t};return i.mkStep(new i.Step(r,u,p,v))}(n,e,r.value0);if(r instanceof f.Elem)return function(n,e,t,r,u,o){var f=c.createElement(a.toNullable(t),r,n.document),s=l.toNode(f),d=c.forE(o,function(n,t){var r=e(t);return c.insertChildIx(n,i.extract(r),s),r}),v=n.buildAttributes(f)(u),p={build:e,node:s,attrs:v,ns:t,name:r,children:d};return i.mkStep(new i.Step(s,p,w,h))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof f.Keyed)return function(n,e,r,u,f,s){var d=c.createElement(a.toNullable(r),u,n.document),v=l.toNode(d),p=c.strMapWithIxE(s,o.fst,function(n,t,r){var u=e(r.value1);return c.insertChildIx(t,i.extract(u),v),u}),h=n.buildAttributes(d)(f),g={build:e,node:v,attrs:h,ns:r,name:u,children:p,length:t.length(s)};return i.mkStep(new i.Step(v,g,b,m))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof f.Widget)return function(n,e,t){var r=n.buildWidget(n)(t);return i.unStep(function(n){return i.mkStep(new i.Step(n.value0,{build:e,widget:r},d,s))})(r)}(n,e,r.value0);if(r instanceof f.Grafted)return e(f.runGraft(r.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[r.constructor.name])}}}(t),function(n){"use strict";n["Halogen.VDom.Thunk"]=n["Halogen.VDom.Thunk"]||{};var e=n["Halogen.VDom.Thunk"],t=n["Halogen.VDom.DOM"],r=n["Halogen.VDom.Machine"],u=n["Halogen.VDom.Util"],a=(function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}n.create=function(e){return function(t){return function(r){return function(u){return new n(e,t,r,u)}}}}}(),function(n){return n.value2(n.value3)});e.buildThunk=function(n){var e=function(n){return r.halt(n.vdom)},o=function t(o,i){if(function(n,e){return u.refEq(n.value0,e.value0)&&u.refEq(n.value1,e.value1)&&u.refEq(n.value3,e.value3)}(o.thunk,i))return r.mkStep(new r.Step(r.extract(o.vdom),o,t,e));var f=r.step(o.vdom,n(a(i)));return r.mkStep(new r.Step(r.extract(f),{vdom:f,thunk:i},t,e))};return function(u){return function(i){var f=t.buildVDom(u)(n(a(i)));return r.mkStep(new r.Step(r.extract(f),{thunk:i,vdom:f},o,e))}}}}(t),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)}}}}(t["Web.DOM.Node"]=t["Web.DOM.Node"]||{}),function(n){"use strict";n["Web.DOM.Node"]=n["Web.DOM.Node"]||{};var e,t,r=n["Web.DOM.Node"],u=n["Web.DOM.Node"],a=n["Data.Functor"],o=n["Data.Nullable"],i=n.Effect,f=(e=a.map(i.functorEffect)(o.toMaybe),function(n){return e(u._parentNode(n))}),c=(t=a.map(i.functorEffect)(o.toMaybe),function(n){return t(u._nextSibling(n))});r.parentNode=f,r.nextSibling=c,r.insertBefore=u.insertBefore,r.appendChild=u.appendChild,r.removeChild=u.removeChild}(t),function(n){"use strict";n["Halogen.VDom.Driver"]=n["Halogen.VDom.Driver"]||{};var e=n["Halogen.VDom.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.HeytingAlgebra"],f=n["Data.Maybe"],c=n["Data.Newtype"],l=n["Data.Unit"],s=n.Effect,d=n["Effect.Aff"],v=n["Effect.Class"],p=n["Effect.Ref"],m=n["Halogen.Aff.Driver"],h=n["Halogen.Aff.Driver.State"],g=n["Halogen.Component"],w=n["Halogen.HTML.Core"],b=n["Halogen.VDom.DOM"],y=n["Halogen.VDom.DOM.Prop"],E=n["Halogen.VDom.Machine"],D=n["Halogen.VDom.Thunk"],A=n["Unsafe.Reference"],C=n["Web.DOM.Node"],M=n["Web.HTML"],F=n["Web.HTML.HTMLDocument"],H=n["Web.HTML.HTMLElement"],T=n["Web.HTML.Window"],S=function(n){return function(){var e=C.parentNode(n.node)();return a.traverse_(s.applicativeEffect)(a.foldableMaybe)(function(e){return C.removeChild(n.node)(e)})(e)()}},_=function(n){return function(e){return{render:function(r){return function(u){return function(a){return function(d){if(d instanceof f.Nothing)return function(){var t=p.new(u)(),i=function(n){return function(e){return function(t){var r=h.unRenderStateX(function(n){return n.node}),u=function(n){return n instanceof f.Just?E.halt(n.value0):l.unit};return{buildWidget:function(n){var t=D.buildThunk(c.unwrap(w.newtypeHTML))(n),a=function(n){var t=p.read(e)()(n)(),a=r(t);return E.mkStep(new E.Step(a,f.Nothing.value,i,u))},o=function(n){if(n instanceof g.ComponentSlot)return a(n.value0);if(n instanceof g.ThunkSlot){var e=t(n.value0);return E.mkStep(new E.Step(E.extract(e),new f.Just(e),i,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): "+[n.constructor.name])},i=function n(e,t){if(e instanceof f.Just){if(t instanceof g.ComponentSlot)return E.halt(e.value0),a(t.value0);if(t instanceof g.ThunkSlot){var r=E.step(e.value0,t.value0);return E.mkStep(new E.Step(E.extract(r),new f.Just(r),n,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return o(t)};return o},buildAttributes:y.buildProp(n),document:t}}}}(r)(t)(n),d=b.buildVDom(i)(a),v=E.extract(d);return o.void(s.functorEffect)(C.appendChild(v)(H.toNode(e)))(),{machine:d,node:v,renderChildRef:t}};if(d instanceof f.Just)return function(){p.write(u)(d.value0.renderChildRef)();var n=C.parentNode(d.value0.node)(),e=C.nextSibling(d.value0.node)(),r=E.step(d.value0.machine,a),c=E.extract(r);return t.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(A.unsafeRefEq)(d.value0.node)(c))(function(n){return function(e){return function(r){return e instanceof f.Just&&r instanceof f.Just?o.void(s.functorEffect)(C.insertBefore(n)(e.value0)(r.value0)):e instanceof f.Nothing&&r instanceof f.Just?o.void(s.functorEffect)(C.appendChild(n)(r.value0)):t.pure(s.applicativeEffect)(l.unit)}}}(c)(e)(n))(),{machine:r,node:c,renderChildRef:d.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): "+[d.constructor.name])}}}},renderChild:u.identity(u.categoryFn),removeChild:S,dispose:S}}};e.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(o.map(s.functorEffect)(F.toDocument)(r.bindFlipped(s.bindEffect)(T.document)(M.window))))(function(r){return m.runUI(_(r)(t))(n)(e)})}}}}(t),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";n.Main=n.Main||{};var e=n.Main,t=n.Main,r=n.App,u=n["Component.AccountSettings"],a=n["Component.Add"],o=n["Component.BList"],i=n["Component.NList"],f=n["Component.NNote"],c=n["Control.Bind"],l=n["Data.Foldable"],s=n["Data.Functor"],d=n["Data.Unit"],v=n.Effect,p=n["Effect.Aff"],m=n["Effect.Class"],h=n["Halogen.Aff.Util"],g=n["Halogen.VDom.Driver"],w=n["Web.DOM.Element"],b=n["Web.Event.Event"],y=n["Web.HTML.HTMLElement"],E=c.bind(p.bindAff)(h.selectElement("#content"))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(w.setAttribute("view-rendered")("")(y.toElement(n)))})),D=t._mainImpl;e.main=D,e.logoutE=function(n){return c.bindFlipped(v.bindEffect)((e=s.void(v.functorEffect),function(n){return e(p.launchAff(r.logout(n)))}))(b.preventDefault(n));var e},e.renderBookmarks=function(n){return function(e){return h.runHalogenAff(c.bind(p.bindAff)(h.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(g.runUI(o.blist(e))(d.unit)(n)))(function(){return E})})))}},e.renderAddForm=function(n){return function(e){return h.runHalogenAff(c.bind(p.bindAff)(h.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(g.runUI(a.addbmark(e))(d.unit)(n)))(function(){return E})})))}},e.renderNotes=function(n){return function(e){return h.runHalogenAff(c.bind(p.bindAff)(h.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(g.runUI(i.nlist(e))(d.unit)(n)))(function(){return E})})))}},e.renderNote=function(n){return function(e){return h.runHalogenAff(c.bind(p.bindAff)(h.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(g.runUI(f.nnote(e))(d.unit)(n)))(function(){return E})})))}},e.renderAccountSettings=function(n){return function(e){return h.runHalogenAff(c.bind(p.bindAff)(h.selectElement(n))(l.traverse_(p.applicativeAff)(l.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(g.runUI(u.usetting(e))(d.unit)(n)))(function(){return E})})))}},e.viewRendered=E,e._mainImpl=t._mainImpl}(t),t.Main.main(); },{"moment":"a2/B","marked":"3F7m","process":"pBGv"}]},{},["C4Nx"], null) //# sourceMappingURL=/static/js/app.min.js.map \ No newline at end of file diff --git a/static/js/app.min.js.gz b/static/js/app.min.js.gz index 3971ec13a2795d7bb10a79fa229c927c286922e7..ed3e0d7932379461db87c2c40fd80a76490dca91 100644 GIT binary patch literal 71148 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 literal 70910 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

    ^hbqclm(m>(u69~MIl{=*s5Us z&K-*P#sYqomW>|T{_VxGvn7)XplUD6q~TMXLuu|alyXdv zne8KuL}qosV!baEQV~;y0tc*&sp=S+X7Jtw_M%MrXy zAJa5C5BgWHlK$tf*g@WG64niL2>{%}AB=x?*Xzw>2m{L)`D^wq+Kz0^0$ROQo7q8- zejX$j@z>e9aTuTFqq`q>HlCe*l||0OOB;mULBmlF6w=pdc{Uv^gt;Y-MT0-&@#yPd zs*mZ|G7)*3TjzJ1Zco3)sTzb?KaHlC_*HhCBgC(BWU~+%E-O6UMeASf;09;eS30

    '\n      + (escaped ? code : escape(code, true))\n      + '
    ';\n }\n\n return '
    '\n    + (escaped ? code : escape(code, true))\n    + '
    \\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
    \\n' + quote + '
    \\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '
    ';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function (text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, {renderer: new TextRenderer()})\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger () {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function (value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function (ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function (ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.13.3\nvar PS = {};\n(function(exports) {\n /* global exports */\n /* global XMLHttpRequest */\n /* global module */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msg) {\n return function () {\n errback(new Error(msg + \": \" + options.method + \" \" + options.url));\n };\n };\n xhr.onerror = onerror(\"AJAX request failed\");\n xhr.ontimeout = onerror(\"AJAX request timed out\");\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Semigroupoid\"] = $PS[\"Control.Semigroupoid\"] || {};\n var exports = $PS[\"Control.Semigroupoid\"];\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Category\"] = $PS[\"Control.Category\"] || {};\n var exports = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Function\"] = $PS[\"Data.Function\"] || {};\n var exports = $PS[\"Data.Function\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"on\"] = on;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Unit\"] = $PS[\"Data.Unit\"] || {};\n var exports = $PS[\"Data.Unit\"];\n var $foreign = $PS[\"Data.Unit\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Functor\"] = $PS[\"Data.Functor\"] || {};\n var exports = $PS[\"Data.Functor\"];\n var $foreign = $PS[\"Data.Functor\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Apply\"] = $PS[\"Control.Apply\"] || {};\n var exports = $PS[\"Control.Apply\"];\n var $foreign = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Applicative\"] = $PS[\"Control.Applicative\"] || {};\n var exports = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var unless = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (!v) {\n return v1;\n };\n if (v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 62, column 1 - line 62, column 65): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 57, column 1 - line 57, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n };\n exports[\"Applicative\"] = Applicative;\n exports[\"pure\"] = pure;\n exports[\"liftA1\"] = liftA1;\n exports[\"unless\"] = unless;\n exports[\"when\"] = when;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Bind\"] = $PS[\"Control.Bind\"] || {};\n var exports = $PS[\"Control.Bind\"];\n var $foreign = $PS[\"Control.Bind\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"]; \n var Discard = function (discard) {\n this.discard = discard;\n };\n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n\n exports.eqBooleanImpl = refEq;\n exports.eqIntImpl = refEq; \n exports.eqCharImpl = refEq;\n exports.eqStringImpl = refEq;\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Eq\"] = $PS[\"Data.Eq\"] || {};\n var exports = $PS[\"Data.Eq\"];\n var $foreign = $PS[\"Data.Eq\"];\n var Eq = function (eq) {\n this.eq = eq;\n }; \n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.eqStringImpl);\n var eqInt = new Eq($foreign.eqIntImpl);\n var eqChar = new Eq($foreign.eqCharImpl);\n var eqBoolean = new Eq($foreign.eqBooleanImpl);\n var eq = function (dict) {\n return dict.eq;\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqBoolean\"] = eqBoolean;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Maybe\"] = $PS[\"Data.Maybe\"] || {};\n var exports = $PS[\"Data.Maybe\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n }; \n var eqMaybe = function (dictEq) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Nothing && y instanceof Nothing) {\n return true;\n };\n if (x instanceof Just && y instanceof Just) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0);\n };\n return false;\n };\n });\n };\n var applyMaybe = new Control_Apply.Apply(function () {\n return functorMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 67, column 1 - line 69, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 127, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeMaybe = new Control_Applicative.Applicative(function () {\n return applyMaybe;\n }, Just.create);\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"applicativeMaybe\"] = applicativeMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.MediaType.Common\"] = $PS[\"Data.MediaType.Common\"] || {};\n var exports = $PS[\"Data.MediaType.Common\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Affjax.RequestBody\"] = $PS[\"Affjax.RequestBody\"] || {};\n var exports = $PS[\"Affjax.RequestBody\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.HeytingAlgebra\"] = $PS[\"Data.HeytingAlgebra\"] || {};\n var exports = $PS[\"Data.HeytingAlgebra\"];\n var $foreign = $PS[\"Data.HeytingAlgebra\"];\n var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {\n this.conj = conj;\n this.disj = disj;\n this.ff = ff;\n this.implies = implies;\n this.not = not;\n this.tt = tt;\n };\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n }, $foreign.boolNot, true);\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return new HeytingAlgebra(function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (v) {\n return ff(dictHeytingAlgebra);\n }, function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }, function (v) {\n return tt(dictHeytingAlgebra);\n });\n };\n exports[\"ff\"] = ff;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Semigroup\"] = $PS[\"Data.Semigroup\"] || {};\n var exports = $PS[\"Data.Semigroup\"];\n var $foreign = $PS[\"Data.Semigroup\"];\n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Monoid\"] = $PS[\"Data.Monoid\"] || {};\n var exports = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 73, column 1 - line 73, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Monoid.Disj\"] = $PS[\"Data.Monoid.Disj\"] || {};\n var exports = $PS[\"Data.Monoid.Disj\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Newtype\"] = $PS[\"Data.Newtype\"] || {};\n var exports = $PS[\"Data.Newtype\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n var $96 = Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1));\n var $97 = Data_Functor.map(dictFunctor)(wrap(dictNewtype));\n return function ($98) {\n return $96(f($97($98)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.MediaType\"] = $PS[\"Data.MediaType\"] || {};\n var exports = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Affjax.RequestHeader\"] = $PS[\"Affjax.RequestHeader\"] || {};\n var exports = $PS[\"Affjax.RequestHeader\"];\n var Data_MediaType = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n }; \n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Affjax.ResponseFormat\"] = $PS[\"Affjax.ResponseFormat\"] || {};\n var exports = $PS[\"Affjax.ResponseFormat\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\n var ResponseFormatError = (function () {\n function ResponseFormatError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseFormatError.create = function (value0) {\n return function (value1) {\n return new ResponseFormatError(value0, value1);\n };\n };\n return ResponseFormatError;\n })();\n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 52, column 19): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n exports[\"ResponseFormatError\"] = ResponseFormatError;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Affjax.ResponseHeader\"] = $PS[\"Affjax.ResponseHeader\"] || {};\n var exports = $PS[\"Affjax.ResponseHeader\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad\"] = $PS[\"Control.Monad\"] || {};\n var exports = $PS[\"Control.Monad\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (v) {\n return Control_Applicative.unless(dictMonad.Applicative0())(v)(m);\n });\n };\n };\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (v) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) {\n return Control_Applicative.pure(dictMonad.Applicative0())(v(v1));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n exports[\"unlessM\"] = unlessM;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Bifunctor\"] = $PS[\"Data.Bifunctor\"] || {};\n var exports = $PS[\"Data.Bifunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"rmap\"] = rmap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Either\"] = $PS[\"Data.Either\"] || {};\n var exports = $PS[\"Data.Either\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 38, column 1 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 48, column 36): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 82, column 1 - line 84, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Error.Class\"] = $PS[\"Control.Monad.Error.Class\"] || {};\n var exports = $PS[\"Control.Monad.Error.Class\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))((function () {\n var $21 = Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0());\n return function ($22) {\n return $21(Data_Either.Left.create($22));\n };\n })());\n };\n };\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Except.Trans\"] = $PS[\"Control.Monad.Except.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Except.Trans\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either((function () {\n var $98 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($99) {\n return $98(Data_Either.Left.create($99));\n };\n })())(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, (function () {\n var $100 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($101) {\n return ExceptT($100(Data_Either.Right.create($101)));\n };\n })());\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, (function () {\n var $110 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($111) {\n return ExceptT($110(Data_Either.Left.create($111)));\n };\n })());\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Identity\"] = $PS[\"Data.Identity\"] || {};\n var exports = $PS[\"Data.Identity\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Except\"] = $PS[\"Control.Monad.Except\"] || {};\n var exports = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var runExcept = (function () {\n var $0 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($1) {\n return $0(Control_Monad_Except_Trans.runExceptT($1));\n };\n })();\n exports[\"runExcept\"] = runExcept;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n }; \n\n function isArray(a) {\n return objToString.call(a) === \"[object Array]\";\n }\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.empty = {};\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Function.Uncurried\"] = $PS[\"Data.Function.Uncurried\"] || {};\n var exports = $PS[\"Data.Function.Uncurried\"];\n var $foreign = $PS[\"Data.Function.Uncurried\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Foreign.Object\"] = $PS[\"Foreign.Object\"] || {};\n var exports = $PS[\"Foreign.Object\"];\n var $foreign = $PS[\"Foreign.Object\"];\n var Data_Function_Uncurried = $PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n exports[\"lookup\"] = lookup;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Argonaut.Core\"] = $PS[\"Data.Argonaut.Core\"] || {};\n var exports = $PS[\"Data.Argonaut.Core\"];\n var $foreign = $PS[\"Data.Argonaut.Core\"];\n var Foreign_Object = $PS[\"Foreign.Object\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Argonaut.Parser\"] = $PS[\"Data.Argonaut.Parser\"] || {};\n var exports = $PS[\"Data.Argonaut.Parser\"];\n var $foreign = $PS[\"Data.Argonaut.Parser\"];\n var Data_Either = $PS[\"Data.Either\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Array\"] = $PS[\"Data.Array\"] || {};\n var exports = $PS[\"Data.Array\"];\n var $foreign = $PS[\"Data.Array\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var singleton = function (a) {\n return [ a ];\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap((function () {\n var $123 = Data_Maybe.maybe([ ])(singleton);\n return function ($124) {\n return $123(f($124));\n };\n })());\n };\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Foldable\"] = $PS[\"Data.Foldable\"] || {};\n var exports = $PS[\"Data.Foldable\"];\n var $foreign = $PS[\"Data.Foldable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)((function () {\n var $197 = Control_Apply.applySecond(dictApplicative.Apply0());\n return function ($198) {\n return $197(f($198));\n };\n })())(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n 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)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.String.Common\"] = $PS[\"Data.String.Common\"] || {};\n var exports = $PS[\"Data.String.Common\"];\n var $foreign = $PS[\"Data.String.Common\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // jshint maxparams: 3\n\n exports.traverseArrayImpl = function () {\n function array1(a) {\n return [a];\n }\n\n function array2(a) {\n return function (b) {\n return [a, b];\n };\n }\n\n function array3(a) {\n return function (b) {\n return function (c) {\n return [a, b, c];\n };\n };\n }\n\n function concat2(xs) {\n return function (ys) {\n return xs.concat(ys);\n };\n }\n\n return function (apply) {\n return function (map) {\n return function (pure) {\n return function (f) {\n return function (array) {\n function go(bot, top) {\n switch (top - bot) {\n case 0: return pure([]);\n case 1: return map(array1)(f(array[bot]));\n case 2: return apply(map(array2)(f(array[bot])))(f(array[bot + 1]));\n case 3: return apply(apply(map(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2]));\n default:\n // This slightly tricky pivot selection aims to produce two\n // even-length partitions where possible.\n var pivot = bot + Math.floor((top - bot) / 4) * 2;\n return apply(map(concat2)(go(bot, pivot)))(go(pivot, top));\n }\n }\n return go(0, array.length);\n };\n };\n };\n };\n };\n }();\n})(PS[\"Data.Traversable\"] = PS[\"Data.Traversable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Traversable\"] = $PS[\"Data.Traversable\"] || {};\n var exports = $PS[\"Data.Traversable\"];\n var $foreign = $PS[\"Data.Traversable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Traversable = function (Foldable1, Functor0, sequence, traverse) {\n this.Foldable1 = Foldable1;\n this.Functor0 = Functor0;\n this.sequence = sequence;\n this.traverse = traverse;\n };\n var traverse = function (dict) {\n return dict.traverse;\n }; \n var sequenceDefault = function (dictTraversable) {\n return function (dictApplicative) {\n return traverse(dictTraversable)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var traversableArray = new Traversable(function () {\n return Data_Foldable.foldableArray;\n }, function () {\n return Data_Functor.functorArray;\n }, function (dictApplicative) {\n return sequenceDefault(traversableArray)(dictApplicative);\n }, function (dictApplicative) {\n return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map((dictApplicative.Apply0()).Functor0()))(Control_Applicative.pure(dictApplicative));\n });\n exports[\"traverse\"] = traverse;\n exports[\"traversableArray\"] = traversableArray;\n})(PS);\n(function(exports) {\n /* globals exports */\n \"use strict\"; \n\n var encdecURI = function (encdec) {\n return function (fail, succ, s) {\n try {\n return succ(encdec(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n }; \n exports._encodeURIComponent = encdecURI(encodeURIComponent);\n})(PS[\"Global\"] = PS[\"Global\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Global\"] = $PS[\"Global\"] || {};\n var exports = $PS[\"Global\"];\n var $foreign = $PS[\"Global\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var $$encodeURIComponent = function (s) {\n return $foreign[\"_encodeURIComponent\"](Data_Function[\"const\"](Data_Maybe.Nothing.value), Data_Maybe.Just.create, s);\n };\n exports[\"encodeURIComponent\"] = $$encodeURIComponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.FormURLEncoded\"] = $PS[\"Data.FormURLEncoded\"] || {};\n var exports = $PS[\"Data.FormURLEncoded\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Global = $PS[\"Global\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return Global[\"encodeURIComponent\"](v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (key) {\n return function (val) {\n return key + (\"=\" + val);\n };\n })(Global[\"encodeURIComponent\"](v.value0)))(Global[\"encodeURIComponent\"](v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 37, column 18 - line 39, column 108): \" + [ v.constructor.name ]);\n };\n var $19 = Data_Functor.map(Data_Maybe.functorMaybe)(Data_String_Common.joinWith(\"&\"));\n var $20 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(encodePart);\n return function ($21) {\n return $19($20(toArray($21)));\n };\n })();\n exports[\"encode\"] = encode;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Show\"] = $PS[\"Data.Show\"] || {};\n var exports = $PS[\"Data.Show\"];\n var $foreign = $PS[\"Data.Show\"];\n var Show = function (show) {\n this.show = show;\n }; \n var showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.HTTP.Method\"] = $PS[\"Data.HTTP.Method\"] || {};\n var exports = $PS[\"Data.HTTP.Method\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Show = $PS[\"Data.Show\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 56, column 23): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"GET\"] = GET;\n exports[\"POST\"] = POST;\n exports[\"DELETE\"] = DELETE;\n exports[\"print\"] = print;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Alt\"] = $PS[\"Control.Alt\"] || {};\n var exports = $PS[\"Control.Alt\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n };\n exports[\"Alt\"] = Alt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Plus\"] = $PS[\"Control.Plus\"] || {};\n var exports = $PS[\"Control.Plus\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.List.Types\"] = $PS[\"Data.List.Types\"] || {};\n var exports = $PS[\"Data.List.Types\"];\n var Control_Alt = $PS[\"Control.Alt\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Plus = $PS[\"Control.Plus\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var listMap = function (f) {\n var chunkedRevMap = function ($copy_chunksAcc) {\n return function ($copy_v) {\n var $tco_var_chunksAcc = $copy_chunksAcc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(chunksAcc, v) {\n if (v instanceof Cons && (v.value1 instanceof Cons && v.value1.value1 instanceof Cons)) {\n $tco_var_chunksAcc = new Cons(v, chunksAcc);\n $copy_v = v.value1.value1.value1;\n return;\n };\n var unrolledMap = function (v1) {\n if (v1 instanceof Cons && (v1.value1 instanceof Cons && v1.value1.value1 instanceof Nil)) {\n return new Cons(f(v1.value0), new Cons(f(v1.value1.value0), Nil.value));\n };\n if (v1 instanceof Cons && v1.value1 instanceof Nil) {\n return new Cons(f(v1.value0), Nil.value);\n };\n return Nil.value;\n };\n var reverseUnrolledMap = function ($copy_v1) {\n return function ($copy_acc) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, acc) {\n if (v1 instanceof Cons && (v1.value0 instanceof Cons && (v1.value0.value1 instanceof Cons && v1.value0.value1.value1 instanceof Cons))) {\n $tco_var_v1 = v1.value1;\n $copy_acc = new Cons(f(v1.value0.value0), new Cons(f(v1.value0.value1.value0), new Cons(f(v1.value0.value1.value1.value0), acc)));\n return;\n };\n $tco_done = true;\n return acc;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_acc);\n };\n return $tco_result;\n };\n };\n $tco_done = true;\n return reverseUnrolledMap(chunksAcc)(unrolledMap(v));\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_chunksAcc, $copy_v);\n };\n return $tco_result;\n };\n };\n return chunkedRevMap(Nil.value);\n };\n var functorList = new Data_Functor.Functor(listMap); \n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n var $202 = Data_Semigroup.append(dictMonoid.Semigroup0())(acc);\n return function ($203) {\n return $202(f($203));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 109, column 12 - line 111, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n var $204 = Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b);\n return function ($205) {\n return $204(rev($205));\n };\n };\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 155, column 1 - line 157, column 48): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"plusList\"] = plusList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.NonEmpty\"] = $PS[\"Data.NonEmpty\"] || {};\n var exports = $PS[\"Data.NonEmpty\"];\n var Control_Plus = $PS[\"Control.Plus\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.List.NonEmpty\"] = $PS[\"Data.List.NonEmpty\"] || {};\n var exports = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var singleton = (function () {\n var $168 = Data_NonEmpty.singleton(Data_List_Types.plusList);\n return function ($169) {\n return Data_List_Types.NonEmptyList($168($169));\n };\n })();\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Nullable\"] = $PS[\"Data.Nullable\"] || {};\n var exports = $PS[\"Data.Nullable\"];\n var $foreign = $PS[\"Data.Nullable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n})(PS);\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* jshint -W083, -W098, -W003 */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n });\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n if (count === 0) {\n return cb();\n }\n\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an unmasked interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an unmasked interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp && bracketCount === 0 || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item, and the bracket count is 0. If the\n // bracket count is non-zero then we are in a masked state so it's\n // impossible to be killed.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n bracketCount++;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports.generalBracket = function (acquire) {\n return function (options) {\n return function (k) {\n return Aff.Bracket(acquire, options, k);\n };\n };\n };\n\n exports._makeFiber = function (util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n }; \n\n exports._sequential = Aff.Seq;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect\"] = $PS[\"Effect\"] || {};\n var exports = $PS[\"Effect\"];\n var $foreign = $PS[\"Effect\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n var semigroupEffect = function (dictSemigroup) {\n return new Data_Semigroup.Semigroup(Control_Apply.lift2(applyEffect)(Data_Semigroup.append(dictSemigroup)));\n };\n var monoidEffect = function (dictMonoid) {\n return new Data_Monoid.Monoid(function () {\n return semigroupEffect(dictMonoid.Semigroup0());\n }, $foreign.pureE(Data_Monoid.mempty(dictMonoid)));\n };\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"monoidEffect\"] = monoidEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports[\"modify'\"] = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Ref\"] = $PS[\"Effect.Ref\"] || {};\n var exports = $PS[\"Effect.Ref\"];\n var $foreign = $PS[\"Effect.Ref\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"]; \n var modify = function (f) {\n return $foreign[\"modify'\"](function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Rec.Class\"] = $PS[\"Control.Monad.Rec.Class\"] || {};\n var exports = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Ref = $PS[\"Effect.Ref\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 111, column 30 - line 111, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v1 = Effect_Ref.read(v)();\n if (v1 instanceof Loop) {\n var v2 = f(v1.value0)();\n var v3 = Effect_Ref.write(v2)(v)();\n return false;\n };\n if (v1 instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 102, column 22 - line 107, column 28): \" + [ v1.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Parallel.Class\"] = $PS[\"Control.Parallel.Class\"] || {};\n var exports = $PS[\"Control.Parallel.Class\"];\n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Parallel\"] = $PS[\"Control.Parallel\"] || {};\n var exports = $PS[\"Control.Parallel\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n var $17 = Control_Parallel_Class.sequential(dictParallel);\n var $18 = Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)((function () {\n var $20 = Control_Parallel_Class.parallel(dictParallel);\n return function ($21) {\n return $20(f($21));\n };\n })());\n return function ($19) {\n return $17($18($19));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parSequence_\"] = parSequence_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Class\"] = $PS[\"Effect.Class\"] || {};\n var exports = $PS[\"Effect.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect = $PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n };\n var monadEffectEffect = new MonadEffect(function () {\n return Effect.monadEffect;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n exports[\"monadEffectEffect\"] = monadEffectEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Unsafe\"] = $PS[\"Effect.Unsafe\"] || {};\n var exports = $PS[\"Effect.Unsafe\"];\n var $foreign = $PS[\"Effect.Unsafe\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports.unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports.crashWith = function () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Partial\"] = $PS[\"Partial\"] || {};\n var exports = $PS[\"Partial\"];\n var $foreign = $PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Partial.Unsafe\"] = $PS[\"Partial.Unsafe\"] || {};\n var exports = $PS[\"Partial.Unsafe\"];\n var $foreign = $PS[\"Partial.Unsafe\"];\n var Partial = $PS[\"Partial\"];\n var unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith()(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Unsafe.Coerce\"] = $PS[\"Unsafe.Coerce\"] || {};\n var exports = $PS[\"Unsafe.Coerce\"];\n var $foreign = $PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Aff\"] = $PS[\"Effect.Aff\"] || {};\n var exports = $PS[\"Effect.Aff\"];\n var $foreign = $PS[\"Effect.Aff\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Unsafe = $PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = $PS[\"Partial.Unsafe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 54): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 395, column 20 - line 397, column 54): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var v = makeFiber(aff)();\n v.run();\n return v;\n };\n };\n var launchAff_ = (function () {\n var $49 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($50) {\n return $49(launchAff($50));\n };\n })();\n var bracket = function (acquire) {\n return function (completed) {\n return $foreign.generalBracket(acquire)({\n killed: Data_Function[\"const\"](completed),\n failed: Data_Function[\"const\"](completed),\n completed: Data_Function[\"const\"](completed)\n });\n };\n };\n var applyParAff = new Control_Apply.Apply(function () {\n return functorParAff;\n }, $foreign[\"_parAffApply\"]);\n var monadAff = new Control_Monad.Monad(function () {\n return applicativeAff;\n }, function () {\n return bindAff;\n });\n var bindAff = new Control_Bind.Bind(function () {\n return applyAff;\n }, $foreign[\"_bind\"]);\n var applyAff = new Control_Apply.Apply(function () {\n return functorAff;\n }, Control_Monad.ap(monadAff));\n var applicativeAff = new Control_Applicative.Applicative(function () {\n return applyAff;\n }, $foreign[\"_pure\"]);\n var $$finally = function (fin) {\n return function (a) {\n return bracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(Data_Function[\"const\"](fin))(Data_Function[\"const\"](a));\n };\n };\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = (function () {\n var $51 = Effect_Class.liftEffect(monadEffectAff);\n return function ($52) {\n return Canceler(Data_Function[\"const\"]($51($52)));\n };\n })();\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n }; \n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)((function () {\n var $55 = Effect_Class.liftEffect(monadEffectAff);\n return function ($56) {\n return $55(k($56));\n };\n })())(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, (function () {\n var $59 = Control_Parallel_Class.parallel(parallelAff);\n var $60 = Control_Applicative.pure(applicativeAff);\n return function ($61) {\n return $59($60($61));\n };\n })());\n var semigroupCanceler = new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return function (err) {\n return Control_Parallel.parSequence_(parallelAff)(Data_Foldable.foldableArray)([ v(err), v1(err) ]);\n };\n };\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n var monoidCanceler = new Data_Monoid.Monoid(function () {\n return semigroupCanceler;\n }, nonCanceler);\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"finally\"] = $$finally;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"monoidCanceler\"] = monoidCanceler;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Aff.Compat\"] = $PS[\"Effect.Aff.Compat\"] || {};\n var exports = $PS[\"Effect.Aff.Compat\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Boolean\"] = $PS[\"Data.Boolean\"] || {};\n var exports = $PS[\"Data.Boolean\"];\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Foreign\"] = $PS[\"Foreign\"] || {};\n var exports = $PS[\"Foreign\"];\n var $foreign = $PS[\"Foreign\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var fail = (function () {\n var $107 = Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity));\n return function ($108) {\n return $107(Data_List_NonEmpty.singleton($108));\n };\n })();\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Affjax\"] = $PS[\"Affjax\"] || {};\n var exports = $PS[\"Affjax\"];\n var $foreign = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = $PS[\"Affjax.ResponseHeader\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = $PS[\"Data.Argonaut.Parser\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = $PS[\"Data.FormURLEncoded\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = $PS[\"Effect.Aff.Compat\"];\n var Foreign = $PS[\"Foreign\"];\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either(function ($66) {\n return Foreign.fail(Foreign.ForeignError.create($66));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse$prime = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($67) {\n return req.responseFormat.value0(parseJSON($67));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 294, column 19 - line 300, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return v.value0(Foreign.unsafeToForeign);\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 268, column 20 - line 275, column 57): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var req$prime = {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, req$prime)))(function (v) {\n var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.body));\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Left(new Affjax_ResponseFormat.ResponseFormatError(Data_List_NonEmpty.head(v1.value0), v.body)),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Right(v1.value0),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 248, column 3 - line 252, column 39): \" + [ v1.constructor.name ]);\n });\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS);\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n \"use strict\";\n\n var unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n }; \n exports.ordIntImpl = unsafeCompareImpl; \n exports.ordStringImpl = unsafeCompareImpl;\n exports.ordCharImpl = unsafeCompareImpl;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Ordering\"] = $PS[\"Data.Ordering\"] || {};\n var exports = $PS[\"Data.Ordering\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Ord\"] = $PS[\"Data.Ord\"] || {};\n var exports = $PS[\"Data.Ord\"];\n var $foreign = $PS[\"Data.Ord\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n }; \n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, $foreign.ordStringImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, $foreign.ordIntImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, $foreign.ordCharImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var compare = function (dict) {\n return dict.compare;\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Tuple\"] = $PS[\"Data.Tuple\"] || {};\n var exports = $PS[\"Data.Tuple\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n }; \n var eqTuple = function (dictEq) {\n return function (dictEq1) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1);\n };\n });\n };\n };\n var ordTuple = function (dictOrd) {\n return function (dictOrd1) {\n return new Data_Ord.Ord(function () {\n return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0());\n }, function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(dictOrd1)(x.value1)(y.value1);\n };\n });\n };\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Globals\"] = $PS[\"Globals\"] || {};\n var exports = $PS[\"Globals\"];\n var $foreign = $PS[\"Globals\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Effect = $PS[\"Effect\"]; \n var RawHTML = function (x) {\n return x;\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_closeWindow\"](win));\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Symbol\"] = $PS[\"Data.Symbol\"] || {};\n var exports = $PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var IsSymbol = function (reflectSymbol) {\n this.reflectSymbol = reflectSymbol;\n };\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"IsSymbol\"] = IsSymbol;\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS);\n(function(exports) {\n /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Global.Unsafe\"] = $PS[\"Global.Unsafe\"] || {};\n var exports = $PS[\"Global.Unsafe\"];\n var $foreign = $PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Record.Unsafe\"] = $PS[\"Record.Unsafe\"] || {};\n var exports = $PS[\"Record.Unsafe\"];\n var $foreign = $PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Record\"] = $PS[\"Record\"] || {};\n var exports = $PS[\"Record\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Record_Unsafe = $PS[\"Record.Unsafe\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Record.Builder\"] = $PS[\"Record.Builder\"] || {};\n var exports = $PS[\"Record.Builder\"];\n var $foreign = $PS[\"Record.Builder\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Type.Data.RowList\"] = $PS[\"Type.Data.RowList\"] || {};\n var exports = $PS[\"Type.Data.RowList\"];\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Simple.JSON\"] = $PS[\"Simple.JSON\"] || {};\n var exports = $PS[\"Simple.JSON\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Record = $PS[\"Record\"];\n var Record_Builder = $PS[\"Record.Builder\"];\n var Type_Data_RowList = $PS[\"Type.Data.RowList\"];\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n var $89 = writeImpl(dictWriteForeign);\n return function ($90) {\n return Global_Unsafe.unsafeStringify($89($90));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign((function () {\n var $93 = Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign));\n return function ($94) {\n return $93(Data_Nullable.toMaybe($94));\n };\n })());\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); \n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)()(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert()()(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Model\"] = $PS[\"Model\"] || {};\n var exports = $PS[\"Model\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Simple_JSON = $PS[\"Simple.JSON\"];\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()());\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n})(PS);\n(function(exports) {\n /* global window */\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML\"] = $PS[\"Web.HTML\"] || {};\n var exports = $PS[\"Web.HTML\"];\n var $foreign = $PS[\"Web.HTML\"];\n exports[\"window\"] = $foreign.window;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML.Location\"] = $PS[\"Web.HTML.Location\"] || {};\n var exports = $PS[\"Web.HTML.Location\"];\n var $foreign = $PS[\"Web.HTML.Location\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML.Window\"] = $PS[\"Web.HTML.Window\"] || {};\n var exports = $PS[\"Web.HTML.Window\"];\n var $foreign = $PS[\"Web.HTML.Window\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"App\"] = $PS[\"App\"] || {};\n var exports = $PS[\"App\"];\n var Affjax = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Model = $PS[\"Model\"];\n var Simple_JSON = $PS[\"Simple.JSON\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 28, column 1 - line 30, column 25): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n 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)(Affjax_ResponseFormat.ignore)))(function () {\n 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));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)((function () {\n var $4 = Simple_JSON.writeJSON(dictWriteForeign);\n return function ($5) {\n return Affjax_RequestBody.string($4($5));\n };\n })())(content))(rt);\n };\n };\n };\n };\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.InputType\"] = $PS[\"DOM.HTML.Indexed.InputType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.InputType\"];\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 22): \" + [ v.constructor.name ]);\n };\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputText\"] = InputText;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"renderInputType\"] = renderInputType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.State.Class\"] = $PS[\"Control.Monad.State.Class\"] || {};\n var exports = $PS[\"Control.Monad.State.Class\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Profunctor\"] = $PS[\"Data.Profunctor\"] || {};\n var exports = $PS[\"Data.Profunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Profunctor.Strong\"] = $PS[\"Data.Profunctor.Strong\"] || {};\n var exports = $PS[\"Data.Profunctor.Strong\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Lens.Internal.Forget\"] = $PS[\"Data.Lens.Internal.Forget\"] || {};\n var exports = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"strongForget\"] = strongForget;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Lens.Getter\"] = $PS[\"Data.Lens.Getter\"] || {};\n var exports = $PS[\"Data.Lens.Getter\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"use\"] = use;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Lens.Lens\"] = $PS[\"Data.Lens.Lens\"] || {};\n var exports = $PS[\"Data.Lens.Lens\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Lens.Setter\"] = $PS[\"Data.Lens.Setter\"] || {};\n var exports = $PS[\"Data.Lens.Setter\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Aff.Class\"] = $PS[\"Effect.Aff.Class\"] || {};\n var exports = $PS[\"Effect.Aff.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect_Aff = $PS[\"Effect.Aff\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Exists\"] = $PS[\"Data.Exists\"] || {};\n var exports = $PS[\"Data.Exists\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Coyoneda\"] = $PS[\"Data.Coyoneda\"] || {};\n var exports = $PS[\"Data.Coyoneda\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($85) {\n return f(v1.value0($85));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Map.Internal\"] = $PS[\"Data.Map.Internal\"] || {};\n var exports = $PS[\"Data.Map.Internal\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n 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)));\n };\n if (v instanceof Three) {\n 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)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n 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));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 99, column 110): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = 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);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = 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);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n 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)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n 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)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n 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)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Data.OrdBox\"] = $PS[\"Halogen.Data.OrdBox\"] || {};\n var exports = $PS[\"Halogen.Data.OrdBox\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Data.Slot\"] = $PS[\"Halogen.Data.Slot\"] || {};\n var exports = $PS[\"Halogen.Data.Slot\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = $PS[\"Halogen.Data.OrdBox\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.List\"] = $PS[\"Data.List\"] || {};\n var exports = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.CatQueue\"] = $PS[\"Data.CatQueue\"] || {};\n var exports = $PS[\"Data.CatQueue\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.CatList\"] = $PS[\"Data.CatList\"] || {};\n var exports = $PS[\"Data.CatList\"];\n var Data_CatQueue = $PS[\"Data.CatQueue\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"empty\"] = empty;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Free\"] = $PS[\"Control.Monad.Free\"] || {};\n var exports = $PS[\"Control.Monad.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Data_CatList = $PS[\"Data.CatList\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 227, column 7 - line 231, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 225, column 3 - line 233, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)((function () {\n var $120 = Control_Applicative.pure(freeApplicative);\n return function ($121) {\n return $120(k($121));\n };\n })())(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($122) {\n return fromView(Return.create($122));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $123 = Control_Applicative.pure(freeApplicative);\n return function ($124) {\n return $123($124);\n };\n })()));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($136) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($136));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 158, column 10 - line 160, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeMonad\"] = freeMonad;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query.HalogenM\"] = $PS[\"Halogen.Query.HalogenM\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenM\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"]; \n var SubscriptionId = function (x) {\n return x;\n };\n var ForkId = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($137) {\n return HalogenM(Control_Monad_Free.liftF(State.create($137)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, (function () {\n var $142 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($143) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($142($143))));\n };\n })());\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, (function () {\n var $144 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($145) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($144($145))));\n };\n })());\n };\n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query.HalogenQ\"] = $PS[\"Halogen.Query.HalogenQ\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenQ\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Component\"] = $PS[\"Halogen.Component\"] || {};\n var exports = $PS[\"Halogen.Component\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n var $28 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($29) {\n return $28(args.handleQuery($29));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 172, column 15 - line 182, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop()(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert()(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: new Halogen_Query_HalogenQ.Receive(input, Data_Unit.unit),\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.ButtonType\"] = $PS[\"DOM.HTML.Indexed.ButtonType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 25): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.OnOff\"] = $PS[\"DOM.HTML.Indexed.OnOff\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 15): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.Machine\"] = $PS[\"Halogen.VDom.Machine\"] || {};\n var exports = $PS[\"Halogen.VDom.Machine\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Foreign.Object.ST\"] = $PS[\"Foreign.Object.ST\"] || {};\n var exports = $PS[\"Foreign.Object.ST\"];\n var $foreign = $PS[\"Foreign.Object.ST\"];\n exports[\"new\"] = $foreign[\"new\"];\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.Util\"] = $PS[\"Halogen.VDom.Util\"] || {};\n var exports = $PS[\"Halogen.VDom.Util\"];\n var $foreign = $PS[\"Halogen.VDom.Util\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forEachE\"] = $foreign.forEachE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.Event.EventTarget\"] = $PS[\"Web.Event.EventTarget\"] || {};\n var exports = $PS[\"Web.Event.EventTarget\"];\n var $foreign = $PS[\"Web.Event.EventTarget\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.DOM.Prop\"] = $PS[\"Halogen.VDom.DOM.Prop\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = $PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 187, column 16): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 169, column 5 - line 179, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $61 = v11.value2 === v2.value2;\n if ($61) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($70) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var v4 = Effect_Ref[\"new\"](v2.value1)();\n var v5 = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var v5 = Effect_Ref.read(v4)();\n return mbEmit(v5(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);\n Halogen_VDom_Util.addEventListener(v2.value0, v5, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var v = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, v);\n var onThat = applyProp(v);\n var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var v = Halogen_VDom_Util.newMutMap();\n var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.Types\"] = $PS[\"Halogen.VDom.Types\"] || {};\n var exports = $PS[\"Halogen.VDom.Types\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($58) {\n return f($58);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($60) {\n return f(v.value0($60));\n }, function ($61) {\n return g(v.value1($61));\n }, v.value2));\n });\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 86, column 7 - line 86, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"runGraft\"] = runGraft;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.HTML.Core\"] = $PS[\"Halogen.HTML.Core\"] || {};\n var exports = $PS[\"Halogen.HTML.Core\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var widget = function ($30) {\n return HTML(Halogen_VDom_Types.Widget.create($30));\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($31) {\n return HTML(Halogen_VDom_Types.Text.create($31));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($32) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 104, column 21 - line 106, column 23): \" + [ v.constructor.name ]);\n })($32));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n var $33 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $34 = toPropValue(dictIsProp);\n return function ($35) {\n return $33($34($35));\n };\n };\n }; \n var newtypeHTML = new Data_Newtype.Newtype(function (n) {\n return n;\n }, HTML);\n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($43) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($43));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($49) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($49));\n });\n var isPropButtonType = new IsProp(function ($54) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($54));\n });\n var isPropBoolean = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(ns, name, props, children);\n };\n };\n };\n }; \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"widget\"] = widget;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"ClassName\"] = ClassName;\n exports[\"newtypeHTML\"] = newtypeHTML;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.HTML.Elements\"] = $PS[\"Halogen.HTML.Elements\"] || {};\n var exports = $PS[\"Halogen.HTML.Elements\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"a\"] = a;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr_\"] = tr_;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Foreign.Index\"] = $PS[\"Foreign.Index\"] || {};\n var exports = $PS[\"Foreign.Index\"];\n var $foreign = $PS[\"Foreign.Index\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Foreign = $PS[\"Foreign\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n 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);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query.Input\"] = $PS[\"Halogen.Query.Input\"] || {};\n var exports = $PS[\"Halogen.Query.Input\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.Event.Event\"] = $PS[\"Web.Event.Event\"] || {};\n var exports = $PS[\"Web.Event.Event\"];\n var $foreign = $PS[\"Web.Event.Event\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var currentTarget = function ($8) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($8));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML.Event.EventTypes\"] = $PS[\"Web.HTML.Event.EventTypes\"] || {};\n var exports = $PS[\"Web.HTML.Event.EventTypes\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {};\n var exports = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.HTML.Events\"] = $PS[\"Halogen.HTML.Events\"] || {};\n var exports = $PS[\"Halogen.HTML.Events\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Index = $PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Event_EventTypes = $PS[\"Web.HTML.Event.EventTypes\"];\n var Web_UIEvent_MouseEvent_EventTypes = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n var $0 = Halogen_HTML_Core.handler(et);\n var $1 = Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create));\n return function ($2) {\n return $0($1($2));\n };\n }; \n var onClick = (function () {\n var $3 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($4) {\n return $3(mouseHandler($4));\n };\n })(); \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.HTML.Properties\"] = $PS[\"Halogen.HTML.Properties\"] || {};\n var exports = $PS[\"Halogen.HTML.Properties\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($11) {\n return Halogen_HTML_Core.ref(go($11));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\");\n var class_ = (function () {\n var $18 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $19 = Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName);\n return function ($20) {\n return $18($19($20));\n };\n })();\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = (function () {\n var $21 = prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\");\n return function ($22) {\n return $21((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($22));\n };\n })();\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS);\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Bounded\"] = $PS[\"Data.Bounded\"] || {};\n var exports = $PS[\"Data.Bounded\"];\n var $foreign = $PS[\"Data.Bounded\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Enum\"] = $PS[\"Data.Enum\"] || {};\n var exports = $PS[\"Data.Enum\"];\n var $foreign = $PS[\"Data.Enum\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Semiring\"] = $PS[\"Data.Semiring\"] || {};\n var exports = $PS[\"Data.Semiring\"];\n var $foreign = $PS[\"Data.Semiring\"];\n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n exports[\"semiringInt\"] = semiringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Ring\"] = $PS[\"Data.Ring\"] || {};\n var exports = $PS[\"Data.Ring\"];\n var $foreign = $PS[\"Data.Ring\"];\n var Data_Semiring = $PS[\"Data.Semiring\"];\n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"ringInt\"] = ringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.CommutativeRing\"] = $PS[\"Data.CommutativeRing\"] || {};\n var exports = $PS[\"Data.CommutativeRing\"];\n var Data_Ring = $PS[\"Data.Ring\"];\n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.EuclideanRing\"] = $PS[\"Data.EuclideanRing\"] || {};\n var exports = $PS[\"Data.EuclideanRing\"];\n var $foreign = $PS[\"Data.EuclideanRing\"];\n var Data_CommutativeRing = $PS[\"Data.CommutativeRing\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.String.CodeUnits\"] = $PS[\"Data.String.CodeUnits\"] || {};\n var exports = $PS[\"Data.String.CodeUnits\"];\n var $foreign = $PS[\"Data.String.CodeUnits\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.String.Unsafe\"] = $PS[\"Data.String.Unsafe\"] || {};\n var exports = $PS[\"Data.String.Unsafe\"];\n var $foreign = $PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Unfoldable1\"] = $PS[\"Data.Unfoldable1\"] || {};\n var exports = $PS[\"Data.Unfoldable1\"];\n var $foreign = $PS[\"Data.Unfoldable1\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Unfoldable\"] = $PS[\"Data.Unfoldable\"] || {};\n var exports = $PS[\"Data.Unfoldable\"];\n var $foreign = $PS[\"Data.Unfoldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = $PS[\"Data.Unfoldable1\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n };\n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.String.CodePoints\"] = $PS[\"Data.String.CodePoints\"] || {};\n var exports = $PS[\"Data.String.CodePoints\"];\n var $foreign = $PS[\"Data.String.CodePoints\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Enum = $PS[\"Data.Enum\"];\n var Data_EuclideanRing = $PS[\"Data.EuclideanRing\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_CodeUnits = $PS[\"Data.String.CodeUnits\"];\n var Data_String_Unsafe = $PS[\"Data.String.Unsafe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = (function () {\n var $53 = Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar));\n return function ($54) {\n return Data_String_CodeUnits.singleton($53($54));\n };\n })();\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Util\"] = $PS[\"Util\"] || {};\n var exports = $PS[\"Util\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var whenH = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return Halogen_HTML_Core.text(\"\");\n };\n };\n var whenA = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return [ ];\n };\n };\n var ifElseH = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var fromNullableStr = (function () {\n var $59 = Data_Maybe.fromMaybe(\"\");\n return function ($60) {\n return $59(Data_Nullable.toMaybe($60));\n };\n })();\n var class_ = function ($61) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($61));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = (function () {\n var $62 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($63) {\n return Global_Unsafe.unsafeDecodeURIComponent($62($63));\n };\n })();\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $56 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($56) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($66) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($66));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var v = _loc();\n var v1 = Web_HTML_Location.search(v)();\n return _parseQueryString(v1);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.AccountSettings\"] = $PS[\"Component.AccountSettings\"] || {};\n var exports = $PS[\"Component.AccountSettings\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($23) {\n return Data_Maybe.Just.create(UEditField.create(f($23)));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var handleAction = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1)));\n });\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"usetting\"] = usetting;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.Add\"] = $PS[\"Component.Add\"] || {};\n var exports = $PS[\"Component.Add\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = (function () {\n var $60 = Data_Array.drop(1);\n var $61 = Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n });\n var $62 = Data_String_Common.split(\"\\x0a\");\n return function ($63) {\n return $60($61($62($63)));\n };\n })();\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($64) {\n return Data_Maybe.Just.create(BEditField.create(f($64)));\n };\n };\n var display_exists = function (v1) {\n return 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($65) {\n return Data_Maybe.Just.create(BEditSubmit.create($65));\n }) ])([ 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_([ Util.whenH(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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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 () {\n var $33 = v.bm.bid > 0;\n if ($33) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n };\n return Util.ifElseH(!v.destroyed)(display_edit)(display_destroyed);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (v1) {\n 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 () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $42 = {};\n for (var $43 in v2) {\n if ({}.hasOwnProperty.call(v2, $43)) {\n $42[$43] = v2[$43];\n };\n };\n $42.destroyed = true;\n return $42;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (v2) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (v4) {\n var v5 = Util[\"_lookupQueryStringValue\"](v4)(\"next\");\n if (v5 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 152, column 3 - line 152, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"addbmark\"] = addbmark;\n})(PS);\n(function(exports) {\n // use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML.HTMLElement\"] = $PS[\"Web.HTML.HTMLElement\"] || {};\n var exports = $PS[\"Web.HTML.HTMLElement\"];\n var $foreign = $PS[\"Web.HTML.HTMLElement\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query\"] = $PS[\"Halogen.Query\"] || {};\n var exports = $PS[\"Halogen.Query\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = (function () {\n var $1 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n });\n return function ($2) {\n return $1(Halogen_Query_HalogenM.getRef($2));\n };\n })();\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.RawHtml\"] = $PS[\"Component.RawHtml\"] || {};\n var exports = $PS[\"Component.RawHtml\"];\n var $foreign = $PS[\"Component.RawHtml\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = $PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var handleAction = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (v2) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(v2)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v3) {\n return Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(Effect_Aff.forkAff(Effect_Aff.makeAff(function (cb) {\n return function __do() {\n Effect_Class.liftEffect(Effect_Class.monadEffectEffect)($foreign.unsafeSetInnerHTML(el)(toRawHTML(v3.inputval)))();\n return Data_Monoid.mempty(Effect.monoidEffect(Effect_Aff.monoidCanceler))();\n };\n })));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $12 = {};\n for (var $13 in v1) {\n if ({}.hasOwnProperty.call(v1, $13)) {\n $12[$13] = v1[$13];\n };\n };\n $12.inputval = v.value0;\n return $12;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($16) {\n return Data_Maybe.Just.create(Receive.create($16));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"mkComponent\"] = mkComponent;\n})(PS);\n(function(exports) {\n \n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n if (!str) return \"\";\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Foreign.Marked\"] = $PS[\"Foreign.Marked\"] || {};\n var exports = $PS[\"Foreign.Marked\"];\n var $foreign = $PS[\"Foreign.Marked\"];\n var Globals = $PS[\"Globals\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.Markdown\"] = $PS[\"Component.Markdown\"] || {};\n var exports = $PS[\"Component.Markdown\"];\n var Component_RawHtml = $PS[\"Component.RawHtml\"];\n var Foreign_Marked = $PS[\"Foreign.Marked\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Void\"] = $PS[\"Data.Void\"] || {};\n var exports = $PS[\"Data.Void\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.HTML\"] = $PS[\"Halogen.HTML\"] || {};\n var exports = $PS[\"Halogen.HTML\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"]; \n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.BMark\"] = $PS[\"Component.BMark\"] || {};\n var exports = $PS[\"Component.BMark\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var BStar = (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n })();\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $47 = {};\n for (var $48 in v1) {\n if ({}.hasOwnProperty.call(v1, $48)) {\n $47[$48] = v1[$48];\n };\n };\n $47.deleteAsk = v.value0;\n return $47;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: false,\n bid: v2.bid,\n slug: v2.slug,\n selected: v2.selected,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 230, column 17 - line 236, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 197, column 3 - line 197, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var star = function (v1) {\n return 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(function (v2) {\n return new Data_Maybe.Just(new BStar(!v.bm.selected));\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]);\n };\n var shtime = Data_String_CodePoints.take(16)(v.bm.time) + \"Z\";\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($70) {\n return Data_Maybe.Just.create(BEditField.create(f($70)));\n };\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($71) {\n return Data_Maybe.Just.create(BEditSubmit.create($71));\n }) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 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.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 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.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 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.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 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.isPropInputType)(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.isPropInputType)(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(\"to-read\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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(function (v2) {\n return new Data_Maybe.Just(new BEdit(false));\n }) ]) ]) ]);\n };\n var display = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ 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 () {\n var $66 = Data_String_Common[\"null\"](v.bm.title);\n if ($66) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), 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.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $67 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($67) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.bm.description)(Data_Void.absurd) ]), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Util.whenA(!Data_String_Common[\"null\"](v.bm.tags))(function (v2) {\n return Data_Functor.map(Data_Functor.functorArray)(function (tag) {\n 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) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags));\n })), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(shtime) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BEdit(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }), Util.whenH(app.dat.isowner)(function (v2) {\n return 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(function (v3) {\n return new Data_Maybe.Just(BMarkRead.value);\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ]));\n }) ]);\n };\n 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\")) ])([ Util.whenH(app.dat.isowner)(star), Util.ifElseH(v.edit)(display_edit)(display) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"bmark\"] = bmark;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.BList\"] = $PS[\"Component.BList\"] || {};\n var exports = $PS[\"Component.BList\"];\n var Component_BMark = $PS[\"Component.BMark\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Data_Symbol.SProxy.value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"bookmark\";\n }))(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)((function () {\n var $5 = HandleBMessage.create(b.bid);\n return function ($6) {\n return Data_Maybe.Just.create($5($6));\n };\n })());\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"blist\"] = blist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.NList\"] = $PS[\"Component.NList\"] || {};\n var exports = $PS[\"Component.NList\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (bm) {\n return Globals.mmoment8601(bm.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (bm) {\n 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.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $5 = Data_String_Common[\"null\"](bm.title);\n if ($5) {\n return \"[no title]\";\n };\n return bm.title;\n })()) ]), 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.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(bm))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.NNote\"] = $PS[\"Component.NNote\"] || {};\n var exports = $PS[\"Component.NNote\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = function (v1) {\n return 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 () {\n var $33 = Data_String_Common[\"null\"](v.note.title);\n if ($33) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new NEdit(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new NDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new NDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]));\n };\n var editField = function (f) {\n return function ($60) {\n return Data_Maybe.Just.create(NEditField.create(f($60)));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($61) {\n return Data_Maybe.Just.create(NEditSubmit.create($61));\n }) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 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 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 mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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(function (v2) {\n return new Data_Maybe.Just(new NEdit(false));\n }) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n };\n return Util.ifElseH(v.destroyed)(display_destroyed)(Data_Function[\"const\"](Util.ifElseH(v.edit)(renderNote_edit)(renderNote)));\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 160, column 19 - line 163, column 44): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $43 = {};\n for (var $44 in v1) {\n if ({}.hasOwnProperty.call(v1, $44)) {\n $43[$44] = v1[$44];\n };\n };\n $43.deleteAsk = v.value0;\n return $43;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $48 = {};\n for (var $49 in v2) {\n if ({}.hasOwnProperty.call(v2, $49)) {\n $48[$49] = v2[$49];\n };\n };\n $48.destroyed = true;\n return $48;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\n });\n });\n };\n if (v instanceof NEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(v1)))(function (v2) {\n if (v2.body instanceof Data_Either.Left) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v2.body instanceof Data_Either.Right) {\n var $57 = v1.id === 0;\n if ($57) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 186, column 5 - line 194, column 27): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 155, column 3 - line 155, column 77): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nnote\"] = nnote;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Applicative.Free\"] = $PS[\"Control.Applicative.Free\"] || {};\n var exports = $PS[\"Control.Applicative.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Trans.Class\"] = $PS[\"Control.Monad.Trans.Class\"] || {};\n var exports = $PS[\"Control.Monad.Trans.Class\"];\n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Free.Trans\"] = $PS[\"Control.Monad.Free.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n 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));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)((function () {\n var $104 = Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f);\n return function ($105) {\n return $104(v1.value1($105));\n };\n })());\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 59, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n 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) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Coroutine\"] = $PS[\"Control.Coroutine\"] || {};\n var exports = $PS[\"Control.Coroutine\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)((function () {\n var $186 = Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0());\n var $187 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($188) {\n return $186($187($188));\n };\n })());\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n 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);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n 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) {\n 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) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v3) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(v1)(v2)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n 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) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v2) {\n return go(t);\n });\n })(v1.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ v1.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n 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) {\n if (v instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);\n };\n if (v instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ v.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"runProcess\"] = runProcess;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"functorAwait\"] = functorAwait;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Fork.Class\"] = $PS[\"Control.Monad.Fork.Class\"] || {};\n var exports = $PS[\"Control.Monad.Fork.Class\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS);\n(function(exports) {\n /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.AVar\"] = $PS[\"Effect.AVar\"] || {};\n var exports = $PS[\"Effect.AVar\"];\n var $foreign = $PS[\"Effect.AVar\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Aff.AVar\"] = $PS[\"Effect.Aff.AVar\"] || {};\n var exports = $PS[\"Effect.Aff.AVar\"];\n var Effect_AVar = $PS[\"Effect.AVar\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n }; \n var kill = function (error) {\n var $17 = Effect_Class.liftEffect(Effect_Aff.monadEffectAff);\n var $18 = Effect_AVar.kill(error);\n return function ($19) {\n return $17($18($19));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Console\"] = $PS[\"Effect.Console\"] || {};\n var exports = $PS[\"Effect.Console\"];\n var $foreign = $PS[\"Effect.Console\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Exception\"] = $PS[\"Effect.Exception\"] || {};\n var exports = $PS[\"Effect.Exception\"];\n var $foreign = $PS[\"Effect.Exception\"];\n var $$throw = function ($2) {\n return $foreign.throwException($foreign.error($2));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.State\"] = $PS[\"Halogen.Aff.Driver.State\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.State\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var mapDriverState = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (lchs) {\n return function __do() {\n var v = Effect_Ref[\"new\"]({})();\n var v1 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v2 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v3 = Effect_Ref[\"new\"](handler)();\n var v4 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v5 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v6 = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v7 = Effect_Ref[\"new\"](1)();\n var v8 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var v9 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Halogen_Data_Slot.empty,\n childrenIn: v1,\n childrenOut: v2,\n selfRef: v,\n handlerRef: v3,\n pendingQueries: v4,\n pendingOuts: v5,\n pendingHandlers: v6,\n rendering: Data_Maybe.Nothing.value,\n fresh: v7,\n subscriptions: v8,\n forks: v9,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(v)();\n return mkDriverStateXRef(v);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query.ChildQuery\"] = $PS[\"Halogen.Query.ChildQuery\"] || {};\n var exports = $PS[\"Halogen.Query.ChildQuery\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query.EventSource\"] = $PS[\"Halogen.Query.EventSource\"] || {};\n var exports = $PS[\"Halogen.Query.EventSource\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Unsafe.Reference\"] = $PS[\"Unsafe.Reference\"] || {};\n var exports = $PS[\"Unsafe.Reference\"];\n var $foreign = $PS[\"Unsafe.Reference\"];\n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.Eval\"] = $PS[\"Halogen.Aff.Driver.Eval\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Applicative_Free = $PS[\"Control.Applicative.Free\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Coroutine = $PS[\"Control.Coroutine\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_Free_Trans = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Query_ChildQuery = $PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"]; \n var unsubscribe = function (sid) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v.subscriptions)))(function (v1) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Halogen_Query_EventSource.finalize)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(v1));\n });\n });\n };\n };\n var queueOrRun = function (ref) {\n return function (au) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return au;\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(au, v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): \" + [ v.constructor.name ]);\n });\n };\n };\n var handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {\n 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 () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);\n });\n });\n });\n });\n });\n };\n };\n var fresh = function (f) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: f(i)\n };\n })(v.fresh));\n });\n };\n };\n var evalQ = function (render) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return evalM(render)(ref)(v[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(Data_Maybe.Just.create)(Data_Coyoneda.liftCoyoneda(q)), Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n });\n };\n };\n };\n var evalM = function (render) {\n return function (initRef) {\n return function (v) {\n var evalChildQuery = function (ref) {\n return function (cqb) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Halogen_Query_ChildQuery.unChildQueryBox(function (v2) {\n var evalChild = function (v3) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3)))(function (v4) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(v4);\n }));\n };\n return Data_Functor.map(Effect_Aff.functorAff)(v2.value2)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(v2.value0(Effect_Aff.applicativeParAff)(evalChild)(v1.children)));\n })(cqb);\n });\n };\n };\n var go = function (ref) {\n return function (v1) {\n if (v1 instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n var v3 = v1.value0(v2.state);\n if (Unsafe_Reference.unsafeRefEq(v2.state)(v3.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v2.component,\n state: v3.value1,\n refs: v2.refs,\n children: v2.children,\n childrenIn: v2.childrenIn,\n childrenOut: v2.childrenOut,\n selfRef: v2.selfRef,\n handlerRef: v2.handlerRef,\n pendingQueries: v2.pendingQueries,\n pendingOuts: v2.pendingOuts,\n pendingHandlers: v2.pendingHandlers,\n rendering: v2.rendering,\n fresh: v2.fresh,\n subscriptions: v2.subscriptions,\n forks: v2.forks,\n lifecycleHandlers: v2.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v2.lifecycleHandlers)(render(v2.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): \" + [ v3.constructor.name ]);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.SubscriptionId)(ref))(function (v2) {\n var v3 = v1.value0(v2);\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v4) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(v3)(function (v5) {\n var done = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v4.subscriptions)))(function (v6) {\n 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[\"delete\"](Halogen_Query_HalogenM.ordSubscriptionId)(v2)))(v4.subscriptions)))(function () {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(v2))(v6))(Halogen_Query_EventSource.finalize(v5.finalizer));\n });\n });\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (v6) {\n 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(v4.subscriptions))))(function (v7) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Data_Maybe.eqMaybe(Data_Eq.eqBoolean))(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(v2))(v7))(new Data_Maybe.Just(true)))(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)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalF(render)(ref)(new Halogen_Query_Input.Action(v6)))))(function (v8) {\n return consumer;\n }));\n });\n });\n 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(Halogen_Query_HalogenM.ordSubscriptionId)(v2)(done)))(v4.subscriptions)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v5.producer)))(function () {\n return Halogen_Query_EventSource.finalize(done);\n });\n });\n })))(function (v5) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(unsubscribe(v1.value0)(ref))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Lift) {\n return v1.value0;\n };\n if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v1.value0);\n };\n if (v1 instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.handlerRef)))(function (v3) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(v3(v1.value0)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp((function () {\n var $111 = Control_Parallel_Class.parallel(Effect_Aff.parallelAff);\n var $112 = evalM(render)(ref);\n return function ($113) {\n return $111($112($113));\n };\n })())(v1.value0)));\n };\n if (v1 instanceof Halogen_Query_HalogenM.Fork) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.ForkId)(ref))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v3) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v4) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Effect_Aff[\"finally\"](Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordForkId)(v2))(v3.forks)();\n return Effect_Ref.write(true)(v4)();\n }))(evalM(render)(ref)(v1.value0))))(function (v5) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad.unlessM(Effect.monadEffect)(Effect_Ref.read(v4))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(v2)(v5))(v3.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Kill) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (v3) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.killFiber(Effect_Exception.error(\"Cancelled\")))(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(v3)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v1.value0)(v2.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): \" + [ v1.constructor.name ]);\n };\n };\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(initRef))(v);\n };\n };\n };\n var evalF = function (render) {\n return function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_Input.RefUpdate) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Function.flip(Effect_Ref.modify_)(ref)(Halogen_Aff_Driver_State.mapDriverState(function (st) {\n return {\n component: st.component,\n state: st.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(st.refs),\n children: st.children,\n childrenIn: st.childrenIn,\n childrenOut: st.childrenOut,\n selfRef: st.selfRef,\n handlerRef: st.handlerRef,\n pendingQueries: st.pendingQueries,\n pendingOuts: st.pendingOuts,\n pendingHandlers: st.pendingHandlers,\n rendering: st.rendering,\n fresh: st.fresh,\n subscriptions: st.subscriptions,\n forks: st.forks,\n lifecycleHandlers: st.lifecycleHandlers\n };\n })));\n };\n if (v instanceof Halogen_Query_Input.Action) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return evalM(render)(ref)(v1[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Action(v.value0, Data_Unit.unit)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"evalF\"] = evalF;\n exports[\"evalQ\"] = evalQ;\n exports[\"evalM\"] = evalM;\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"queueOrRun\"] = queueOrRun;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Aff.Driver\"] = $PS[\"Halogen.Aff.Driver\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Coroutine = $PS[\"Control.Coroutine\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = $PS[\"Effect.Aff.AVar\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Console = $PS[\"Effect.Console\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_Eval = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var handlePending = function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)((function () {\n var $78 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($79) {\n return handleAff($78(Data_List.reverse($79)));\n };\n })())();\n };\n };\n var cleanupSubscriptionsAndForks = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $80 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)((function () {\n var $82 = Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff);\n return function ($83) {\n return $82(Halogen_Query_EventSource.finalize($83));\n };\n })());\n return function ($81) {\n return handleAff($80($81));\n };\n })()))(Effect_Ref.read(v.subscriptions))();\n Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $84 = Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"));\n return function ($85) {\n return handleAff($84($85));\n };\n })()))(Effect_Ref.read(v.forks))();\n return Effect_Ref.write(Data_Map_Internal.empty)(v.forks)();\n };\n };\n var runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var subscribe = function (fresh) {\n return function (ref) {\n return function (consumer) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var v1 = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v2) {\n return v2 + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();\n return v1;\n }))(function (v1) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.either(Data_Function[\"const\"](new Data_Either.Right(Data_Unit.unit)))(Data_Either.Left.create))(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_AVar.take(v))));\n 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 () {\n 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 () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(v);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n 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));\n });\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Initialize(Data_Unit.unit)));\n return Effect_Ref.modify_(function (handlers) {\n return {\n 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 () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(parentInitializer)(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var v = newLifecycleHandlers();\n var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(v)();\n var v2 = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: v2.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $86 = render(lchs);\n return function ($87) {\n return $86((function (v3) {\n return v3.selfRef;\n })($87));\n };\n })()))(Effect_Ref.read(v1))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();\n return v1;\n };\n });\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (slot) {\n return function __do() {\n var v = Data_Functor.map(Effect.functorEffect)(slot.pop)(Effect_Ref.read(childrenInRef))();\n var v1 = (function () {\n if (v instanceof Data_Maybe.Just) {\n Effect_Ref.write(v.value0.value1)(childrenInRef)();\n var v1 = Effect_Ref.read(v.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)((function () {\n var $88 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($89) {\n return $88(slot.output($89));\n };\n })())();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](slot.input)))();\n };\n })(v1)();\n return v.value0.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n if (slot.input instanceof Halogen_Query_HalogenQ.Receive) {\n return runComponent(lchs)((function () {\n var $90 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($91) {\n return $90(slot.output($91));\n };\n })())(slot.input.value0)(slot.component)();\n };\n return Effect_Exception[\"throw\"](\"Halogen internal error: slot input was not a Receive query\")();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 249, column 81): \" + [ v.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(function ($92) {\n return Data_Maybe.isJust(slot.get($92));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set(v1))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {\n if (v3 instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v3 instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 254, column 37 - line 256, column 50): \" + [ v3.constructor.name ]);\n }))();\n };\n });\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var selfRef = Control_Category.identity(Control_Category.categoryFn)(v.selfRef);\n var pendingQueries = Control_Category.identity(Control_Category.categoryFn)(v.pendingQueries);\n var pendingHandlers = Control_Category.identity(Control_Category.categoryFn)(v.pendingHandlers);\n var handler = (function () {\n var $93 = Halogen_Aff_Driver_Eval.queueOrRun(pendingHandlers);\n var $94 = Data_Functor[\"void\"](Effect_Aff.functorAff);\n var $95 = Halogen_Aff_Driver_Eval.evalF(render)(selfRef);\n return function ($96) {\n return $93($94($95($96)));\n };\n })();\n var childHandler = (function () {\n var $97 = Halogen_Aff_Driver_Eval.queueOrRun(pendingQueries);\n return function ($98) {\n return $97(handler(Halogen_Query_Input.Action.create($98)));\n };\n })();\n var v2 = renderSpec.render(function ($99) {\n return handleAff(handler($99));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var v3 = Effect_Ref.read(v.childrenOut)();\n var v4 = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(v4)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(v5)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v6)();\n return finalize(lchs)(v6)();\n };\n })();\n Data_Function.flip(Effect_Ref.modify_)(v.selfRef)(Halogen_Aff_Driver_State.mapDriverState(function (ds$prime) {\n return {\n component: ds$prime.component,\n state: ds$prime.state,\n refs: ds$prime.refs,\n children: v3,\n childrenIn: ds$prime.childrenIn,\n childrenOut: ds$prime.childrenOut,\n selfRef: ds$prime.selfRef,\n handlerRef: ds$prime.handlerRef,\n pendingQueries: ds$prime.pendingQueries,\n pendingOuts: ds$prime.pendingOuts,\n pendingHandlers: ds$prime.pendingHandlers,\n rendering: new Data_Maybe.Just(v2),\n fresh: ds$prime.fresh,\n subscriptions: ds$prime.subscriptions,\n forks: ds$prime.forks,\n lifecycleHandlers: ds$prime.lifecycleHandlers\n };\n }))();\n return Control_Applicative.when(Effect.applicativeEffect)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $100 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($101) {\n return handleAff($100(Data_List.reverse($101)));\n };\n })())(v6)();\n var v7 = Effect_Ref.read(pendingHandlers)();\n var $68 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v7);\n if ($68) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptionsAndForks(st)();\n var f = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Finalize(Data_Unit.unit)));\n Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs)();\n return Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(st.children)(function (v) {\n return function __do() {\n var v1 = Effect_Ref.read(v)();\n return finalize(lchs)(v1)();\n };\n })();\n };\n });\n };\n var evalDriver = function (disposed) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(disposed)))(function (v) {\n if (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Maybe.Nothing.value);\n };\n return Halogen_Aff_Driver_Eval.evalQ(render)(ref)(q);\n });\n };\n };\n };\n var dispose = function (disposed) {\n return function (lchs) {\n return function (dsx) {\n return function (subsRef) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var v = Effect_Ref.read(disposed)();\n if (v) {\n return Data_Unit.unit;\n };\n Effect_Ref.write(true)(disposed)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $102 = Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"));\n return function ($103) {\n return Effect_Aff.launchAff_($102($103));\n };\n })()))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $104 = Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose);\n return function ($105) {\n return $104((function (v1) {\n return v1.rendering;\n })($105));\n };\n })())(dsx)();\n });\n };\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v2) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {\n var v3 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v4 = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(v)(rootHandler(v3))(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(v2)(st.selfRef),\n subscribe: subscribe(v1)(v3),\n dispose: dispose(v2)(v)(v4)(v3)\n });\n })(v4)();\n });\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.DOM.ParentNode\"] = $PS[\"Web.DOM.ParentNode\"] || {};\n var exports = $PS[\"Web.DOM.ParentNode\"];\n var $foreign = $PS[\"Web.DOM.ParentNode\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var querySelector = function (qs) {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $4 = $foreign[\"_querySelector\"](qs);\n return function ($5) {\n return $3($4($5));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML.HTMLDocument\"] = $PS[\"Web.HTML.HTMLDocument\"] || {};\n var exports = $PS[\"Web.HTML.HTMLDocument\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Aff.Util\"] = $PS[\"Halogen.Aff.Util\"] || {};\n var exports = $PS[\"Halogen.Aff.Util\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Web_DOM_ParentNode = $PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)((function () {\n var $12 = Web_DOM_ParentNode.querySelector(query);\n return function ($13) {\n return $12(Web_HTML_HTMLDocument.toParentNode($13));\n };\n })())(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setAttribute = function (name) {\n return function (value) {\n return function (element) {\n return function () {\n element.setAttribute(name, value);\n return {};\n };\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.DOM.Element\"] = $PS[\"Web.DOM.Element\"] || {};\n var exports = $PS[\"Web.DOM.Element\"];\n var $foreign = $PS[\"Web.DOM.Element\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.DOM\"] = $PS[\"Halogen.VDom.DOM\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var haltWidget = function (v) {\n return Halogen_VDom_Machine.halt(v.widget);\n };\n var patchWidget = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchWidget(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Widget) {\n var v = Halogen_VDom_Machine.step(state.widget, vdom.value0);\n var res$prime = Halogen_VDom_Machine.unStep(function (v1) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1.value0, {\n build: state.build,\n widget: v\n }, patchWidget, haltWidget));\n })(v);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, v1);\n };\n var patchText = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchText(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Text) {\n if (state.value === vdom.value0) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, state, patchText, haltText));\n };\n if (Data_Boolean.otherwise) {\n var nextState = {\n build: state.build,\n node: state.node,\n value: vdom.value0\n };\n Halogen_VDom_Util.setTextContent(vdom.value0, state.node);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchText, haltText));\n };\n };\n haltText(state);\n return state.build(vdom);\n };\n var haltKeyed = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\n Halogen_VDom_Util.forInE(v.children, function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n });\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var haltElem = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\n Halogen_VDom_Util.forEachE(v.children, Halogen_VDom_Machine.halt);\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var eqElemSpec = function (ns1, v, ns2, v1) {\n var $84 = v === v1;\n if ($84) {\n if (ns1 instanceof Data_Maybe.Just && (ns2 instanceof Data_Maybe.Just && ns1.value0 === ns2.value0)) {\n return true;\n };\n if (ns1 instanceof Data_Maybe.Nothing && ns2 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var patchElem = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchElem(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Elem && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n var v1 = Data_Array.length(state.children);\n if (v1 === 0 && v === 0) {\n var v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n var onThis = function (ix, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (ix, s, v2) {\n var v3 = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var onThat = function (ix, v2) {\n var v3 = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n haltElem(state);\n return state.build(vdom);\n };\n var patchKeyed = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchKeyed(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Keyed && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n if (state.length === 0 && v === 0) {\n var v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children,\n length: 0\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (v2, ix$prime, s, v3) {\n var v5 = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var onThat = function (v2, ix, v3) {\n var v5 = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var v2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2,\n length: v\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n haltKeyed(state);\n return state.build(vdom);\n };\n var buildWidget = function (v, build, w) {\n var v1 = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v2) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v2.value0, {\n build: build,\n widget: v1\n }, patchWidget, haltWidget));\n })(v1);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var v1 = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: v1,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (k, ix, v2) {\n var v3 = build(v2.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2,\n length: Data_Array.length(ch1)\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchKeyed, haltKeyed));\n };\n var buildElem = function (v, build, ns1, name1, as1, ch1) {\n var v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (ix, child) {\n var v2 = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v2), node);\n return v2;\n };\n var v2 = Halogen_VDom_Util.forE(ch1, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchElem, haltElem));\n };\n var buildVDom = function (spec) {\n var build = function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return build(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n return build;\n };\n exports[\"buildVDom\"] = buildVDom;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.Thunk\"] = $PS[\"Halogen.VDom.Thunk\"] || {};\n var exports = $PS[\"Halogen.VDom.Thunk\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"]; \n var Thunk = (function () {\n function Thunk(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Thunk.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Thunk(value0, value1, value2, value3);\n };\n };\n };\n };\n return Thunk;\n })(); \n var unsafeEqThunk = function (v, v1) {\n return Halogen_VDom_Util.refEq(v.value0, v1.value0) && (Halogen_VDom_Util.refEq(v.value1, v1.value1) && Halogen_VDom_Util.refEq(v.value3, v1.value3));\n };\n var thunk = function (tid, eqFn, f, a) {\n return new Thunk(tid, eqFn, f, a);\n };\n var runThunk = function (v) {\n return v.value2(v.value3);\n };\n var buildThunk = function (toVDom) {\n var haltThunk = function (state) {\n return Halogen_VDom_Machine.halt(state.vdom);\n };\n var patchThunk = function (state, t2) {\n var $45 = unsafeEqThunk(state.thunk, t2);\n if ($45) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var v = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n vdom: v,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var v = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n thunk: t,\n vdom: v\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.DOM.Node\"] = $PS[\"Web.DOM.Node\"] || {};\n var exports = $PS[\"Web.DOM.Node\"];\n var $foreign = $PS[\"Web.DOM.Node\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var parentNode = (function () {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($4) {\n return $3($foreign[\"_parentNode\"]($4));\n };\n })();\n var nextSibling = (function () {\n var $14 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($15) {\n return $14($foreign[\"_nextSibling\"]($15));\n };\n })();\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.Driver\"] = $PS[\"Halogen.VDom.Driver\"] || {};\n var exports = $PS[\"Halogen.VDom.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver = $PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Thunk = $PS[\"Halogen.VDom.Thunk\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"];\n var Web_DOM_Node = $PS[\"Web.DOM.Node\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var v1 = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(v1)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = function (st) {\n if (st instanceof Data_Maybe.Just) {\n return Halogen_VDom_Machine.halt(st.value0);\n };\n return Data_Unit.unit;\n };\n var buildWidget = function (spec) {\n var buildThunk = Halogen_VDom_Thunk.buildThunk(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeHTML))(spec);\n var renderComponentSlot = function (cs) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(cs)();\n var node = getNode(v1);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, Data_Maybe.Nothing.value, patch, done));\n };\n var render = function (slot) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var v = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): \" + [ slot.constructor.name ]);\n };\n var patch = function (st, slot) {\n if (st instanceof Data_Maybe.Just) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n Halogen_VDom_Machine.halt(st.value0);\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var v = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): \" + [ slot.constructor.name ]);\n };\n return render(slot);\n };\n return render;\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n };\n var renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var v2 = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(v2)(document);\n var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(v3);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: v3,\n node: node,\n renderChildRef: v2\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var v2 = Web_DOM_Node.parentNode(v1.value0.node)();\n var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();\n var v4 = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(v4);\n 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))();\n return {\n machine: v4,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild,\n dispose: removeChild\n };\n };\n };\n var runUI = function (component) {\n return function (i) {\n return function (element) {\n 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) {\n return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Main\"] = $PS[\"Main\"] || {};\n var exports = $PS[\"Main\"];\n var $foreign = $PS[\"Main\"];\n var App = $PS[\"App\"];\n var Component_AccountSettings = $PS[\"Component.AccountSettings\"];\n var Component_Add = $PS[\"Component.Add\"];\n var Component_BList = $PS[\"Component.BList\"];\n var Component_NList = $PS[\"Component.NList\"];\n var Component_NNote = $PS[\"Component.NNote\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Aff_Util = $PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = $PS[\"Halogen.VDom.Driver\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"]; \n var viewRendered = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\"#content\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.setAttribute(\"view-rendered\")(\"\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n 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) {\n 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 () {\n return viewRendered;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n 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) {\n 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 () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)((function () {\n var $0 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($1) {\n return $0(Effect_Aff.launchAff(App.logout($1)));\n };\n })())(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"viewRendered\"] = viewRendered;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS);\nPS[\"Main\"].main();"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/moment/moment.js","../node_modules/marked/lib/marked.js","../node_modules/process/browser.js","bundle.js"],"names":["root","block","newline","code","fences","hr","heading","blockquote","list","html","def","nptable","noop","table","lheading","_paragraph","text","Lexer","options","tokens","links","Object","create","marked","defaults","rules","normal","pedantic","gfm","_label","_title","edit","replace","getRegex","bullet","item","source","_tag","_comment","paragraph","merge","lex","src","lexer","prototype","token","top","next","loose","cap","bull","b","listStart","listItems","t","space","i","tag","l","isordered","istask","ischecked","exec","substring","length","push","type","lastToken","trimRight","codeBlockStyle","rtrim","lang","trim","depth","header","splitCells","align","split","cells","test","ordered","start","match","indexOf","RegExp","smartLists","slice","join","charAt","undefined","task","checked","sanitize","pre","sanitizer","escape","toLowerCase","href","title","Error","charCodeAt","inline","autolink","url","link","reflink","nolink","strong","em","br","del","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","unescape","_","n","String","fromCharCode","parseInt","regex","opt","name","val","cleanUrl","base","prot","decodeURIComponent","e","originIndependentUrl","resolveUrl","baseUrls","encodeURI","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","out","prevCapZero","inLink","inRawBlock","lastParenIndex","findClosingBracket","linkLen","outputLink","escapes","codespan","mangle","smartypants","image","Math","random","toString","infostring","escaped","highlight","langPrefix","quote","level","raw","headerIds","headerPrefix","slug","xhtml","body","listitem","checkbox","tablerow","content","tablecell","flags","baseUrl","parse","parser","inlineText","reverse","tok","pop","peek","parseText","row","cell","j","errMsg","silent","console","log","value","hasOwnProperty","originalSlug","obj","target","key","arguments","call","tableRow","count","offset","str","curr","splice","c","invert","suffLen","currChar","substr","checkSanitizeDeprecation","warn","callback","pending","done","err","message","setOptions","getDefaults","inlineLexer","module","exports","define","amd","window","global","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","runClearTimeout","marker","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","Item","array","nextTick","args","Array","apply","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","PS","platformSpecific","_ajax","require","newXHR","XMLHttpRequest","fixupUrl","getResponse","xhr","response","urllib","u","protocol","hostname","format","mkHeader","errback","fixedUrl","open","method","username","password","headers","setRequestHeader","field","onerror","msg","ontimeout","onload","status","statusText","getAllResponseHeaders","filter","map","responseType","withCredentials","send","error","cancelErrback","cancelCallback","abort","arrayApply","fs","xs","k","result","f","$PS","semigroupoidFn","compose","g","x","dict","Control_Semigroupoid","categoryFn","Semigroupoid0","identity","a","v","y","arrayMap","arr","unit","$foreign","Data_Function","Data_Unit","Functor","functorFn","functorArray","dictFunctor","Control_Category","Data_Functor","Apply","Functor0","applyArray","dictApply","Control_Apply","pure","Apply0","dictApplicative","v1","constructor","arrayBind","Bind","bind","bindArray","bindFlipped","dictBind","flip","discardUnit","discard","m","refEq","r1","r2","eqBooleanImpl","eqIntImpl","eqCharImpl","eqStringImpl","Eq","eq","eqUnit","eqString","eqInt","eqChar","eqBoolean","Control_Applicative","Control_Bind","Data_Eq","Nothing","Just","value0","maybe","v2","isNothing","isJust","functorMaybe","applyMaybe","bindMaybe","applicativeMaybe","Applicative","dictPartial","dictEq","Data_Maybe","Data_MediaType_Common","ArrayView","Blob","Document","$$String","FormData","FormURLEncoded","Json","string","applicationFormURLEncoded","applicationJSON","boolConj","b1","b2","boolDisj","boolNot","HeytingAlgebra","conj","disj","ff","implies","not","tt","heytingAlgebraBoolean","dictHeytingAlgebra","concatString","s1","s2","concatArray","ys","Semigroup","append","semigroupString","semigroupArray","Data_Semigroup","Monoid","Semigroup0","mempty","monoidString","monoidArray","dictMonoid","Data_HeytingAlgebra","Data_Monoid","semigroupDisj","Data_Monoid_Disj","Newtype","unwrap","wrap","newtypeDisj","Disj","dictFunctor1","dictNewtype","dictNewtype1","$96","$97","$98","newtypeMediaType","Data_MediaType","Data_Newtype","Accept","ContentType","RequestHeader","value1","ResponseFormatError","$$ArrayBuffer","Ignore","json","ignore","ResponseHeader","Applicative0","Bind1","dictMonad","mb","unless","bimap","dictBifunctor","Data_Bifunctor","Left","Right","functorEither","bifunctorEither","Bifunctor","applyEither","Data_Either","throwError","Monad0","MonadThrow0","catchError","dictMonadError","$21","$22","Control_Monad","Control_Monad_Error_Class","ExceptT","monadExceptT","Monad","applicativeExceptT","bindExceptT","applyExceptT","either","$99","functorExceptT","mapExceptT","ap","$100","$101","MonadThrow","$110","$111","Identity","newtypeIdentity","functorIdentity","applyIdentity","bindIdentity","applicativeIdentity","monadIdentity","$0","Control_Monad_Except_Trans","Data_Identity","runExcept","$1","runExceptT","fromObject","id","stringify","JSON","empty","_lookup","no","yes","runFn4","fn","d","Data_Function_Uncurried","lookup","Foreign_Object","jsonEmptyObject","_jsonParser","fail","succ","s","cons","snoc","l1","drop","singleton","concatMap","$123","$124","foldrArray","init","acc","foldlArray","Foldable","foldMap","foldl","foldr","traverse_","dictFoldable","$197","applySecond","$198","foldableMaybe","z","foldableArray","foldMapDefaultR","alaF","monoidDisj","p","replaceAll","s3","sep","joinWith","traverseArrayImpl","array1","array2","array3","concat2","go","bot","pivot","floor","Data_Foldable","traverse","traversableArray","Foldable1","sequence","sequenceDefault","dictTraversable","encdecURI","encdec","_encodeURIComponent","encodeURIComponent","$19","$20","Data_String_Common","Data_Traversable","Global","showIntImpl","Show","show","showInt","Data_Show","OPTIONS","GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","PATCH","showMethod","print","alt","Alt0","Control_Alt","Control_Plus","Nil","Cons","functorList","chunkedRevMap","$copy_chunksAcc","$copy_v","$tco_var_chunksAcc","$tco_result","$tco_done","$tco_loop","chunksAcc","$copy_v1","$copy_acc","$tco_var_v1","unrolledMap","foldableList","$202","$203","$copy_b","$tco_var_b","rev","$204","$205","semigroupList","applyList","applicativeList","altList","Alt","plusList","Plus","NonEmpty","dictPlus","$168","Data_List_Types","Data_NonEmpty","$169","NonEmptyList","nullable","r","notNull","toNullable","Aff","EMPTY","PURE","THROW","CATCH","SYNC","ASYNC","BIND","BRACKET","FORK","SEQ","MAP","APPLY","ALT","CONS","RESUME","RELEASE","FINALIZER","FINALIZED","FORKED","_1","_2","_3","AffCtr","nonCanceler","runEff","eff","runSync","left","right","runAsync","Scheduler","limit","size","ix","drain","thunk","isDraining","enqueue","cb","tmp","SUSPENDED","CONTINUE","STEP_BIND","STEP_RESULT","PENDING","RETURN","COMPLETED","Fiber","util","supervisor","aff","runTick","step","interrupt","bhead","btail","attempts","bracketCount","joinId","joins","rethrow","localRunTick","attempt","isLeft","fromRight","register","sequential","fromLeft","killed","failed","completed","handler","onComplete","jid","kill","canceler","isSuspended","runPar","par","fiberId","fibers","killId","kills","early","kid","head","tail","loop","resolve","fiber","lhs","rhs","fid","killError","killCb","cancel","innerKills","newKills","Pure","Throw","Catch","Sync","Async","Bracket","Fork","Seq","ParMap","ParApply","ParAlt","Supervisor","isEmpty","killAll","killCount","_pure","_throwError","_catchError","_map","_bind","_fork","immediate","_liftEffect","_parAffMap","_parAffApply","aff1","aff2","makeAff","generalBracket","acquire","_makeFiber","_sequential","pureE","bindE","monadEffect","applicativeEffect","bindEffect","applyEffect","functorEffect","liftA1","semigroupEffect","dictSemigroup","lift2","new","read","ref","state","write","Effect","s$prime","modify","Effect_Ref","Loop","Done","MonadRec","tailRecM","monadRecEffect","fromDone","parallel","Applicative1","Control_Parallel_Class","dictParallel","parTraverse_","$17","$18","MonadEffect","liftEffect","monadEffectEffect","unsafePerformEffect","unsafePartial","crashWith","Partial","unsafeCoerce","$49","$51","$59","$60","Control_Monad_Rec_Class","Control_Parallel","Effect_Class","Effect_Unsafe","Partial_Unsafe","Unsafe_Coerce","suspendAff","functorParAff","functorAff","forkAff","ffiUtil","unsafeCrashWith","makeFiber","launchAff","launchAff_","$50","applyParAff","monadAff","applicativeAff","bindAff","applyAff","monadEffectAff","effectCanceler","$52","Canceler","joinFiber","functorFiber","monadThrowAff","monadErrorAff","MonadError","parallelAff","Parallel","applicativeParAff","$61","semigroupCanceler","parSequence_","monadRecAff","monoidCanceler","$55","$56","runAff","fin","bracket","Effect_Aff","$4","$5","k2","$6","$7","unsafeToForeign","unsafeFromForeign","typeOf","tagOf","$107","Data_Boolean","Data_List_NonEmpty","ForeignError","TypeMismatch","monadThrowExceptT","$108","unsafeReadTagged","otherwise","readBoolean","readString","Affjax_RequestBody","Affjax_RequestHeader","Affjax_ResponseFormat","Affjax_ResponseHeader","Control_Monad_Except","Data_Argonaut_Core","Data_Argonaut_Parser","Data_Array","Data_FormURLEncoded","Data_HTTP_Method","Data_Nullable","Effect_Aff_Compat","Foreign","defaultRequest","responseFormat","req","parseJSON","reqContent","fromResponse$prime","composeKleisliFlipped","$67","$66","jsonParser","addHeader","mh","hs","any","req$prime","h","toMediaType","toResponseType","fromEffectFnAff","moment","_app","app","_mmoment8601","just","nothing","tuple","ISO_8601","fromNow","_closeWindow","close","unsafeCompareImpl","lt","gt","ordIntImpl","ordStringImpl","ordCharImpl","LT","GT","EQ","Data_Ordering","Ord","Eq0","compare","ordUnit","ordString","ordInt","ordChar","Data_Ord","Tuple","functorTuple","dictOrd","dictOrd1","eqTuple","dictEq1","Data_Tuple","win","SProxy","reflectSymbol","unsafeStringify","unsafeDecodeURIComponent","unsafeGet","label","rec","Data_Symbol","Record_Unsafe","dictIsSymbol","dictCons","copyRecord","copy","unsafeInsert","semigroupoidBuilder","categoryBuilder","dictLacks","RLProxy","Global_Unsafe","Record","Record_Builder","Type_Data_RowList","WriteForeignFields","writeImplFields","WriteForeign","writeImpl","writeForeignString","writeForeignInt","writeForeignBoolean","nilWriteForeignFields","dictWriteForeign","$89","$90","$93","$94","toMaybe","dictRowToList","dictWriteForeignFields","steps","build","dictCons1","rest","get","insert","Simple_JSON","usersettings_wfI","recordWriteForeign","consWriteForeignFields","IsSymbol","note_wfI","bookmark_wfI","writeForeignNullable","setHref","location","search","reload","document","Affjax","Globals","Model","Web_HTML","Web_HTML_Location","Web_HTML_Window","Star","UnStar","showStar","fetchUrl","rt","request","csrfHeaderName","csrfToken","fetchPath","path","homeR","fetchUrlEnc","fetchJson","writeJSON","bid","action","bm","nid","us","authRlogoutR","InputButton","InputCheckbox","InputColor","InputDate","InputDatetimeLocal","InputEmail","InputFile","InputHidden","InputImage","InputMonth","InputNumber","InputPassword","InputRadio","InputRange","InputReset","InputSearch","InputSubmit","InputTel","InputText","InputTime","InputUrl","InputWeek","dictMonadState","Profunctor","dimap","profunctorFn","a2b","c2d","b2c","$9","dictProfunctor","Data_Profunctor","Strong","Profunctor0","first","second","strongFn","Data_Profunctor_Strong","profunctorForget","$27","strongForget","$28","fst","$29","snd","newtypeForget","Control_Monad_State_Class","Data_Lens_Internal_Forget","viewOn","view","gets","set","dictStrong","lens$prime","to","pab","over","MonadAff","MonadEffect0","liftAff","monadAffAff","runExists","mkExists","Data_Exists","CoyonedaF","coyoneda","fi","Coyoneda","functorCoyoneda","$85","liftCoyoneda","Leaf","Two","value2","value3","Three","value4","value5","value6","TwoLeft","TwoRight","ThreeLeft","ThreeMiddle","ThreeRight","KickUp","values","comp","v3","v4","functorMap","fromZipper","$copy_dictOrd","$copy_tree","$tco_var_dictOrd","$tco_var_v","tree","up","$copy_ctx","$copy_v2","down","$tco_var_ctx","ctx","$copy_ctxs","$tco_var_ctxs","ctxs","removeMaxNode","$copy_m","maxNode","max","leaves","foldableMap","$$delete","OrdBox","eqOrdBox","ordOrdBox","Data_Map_Internal","Halogen_Data_OrdBox","sym","ordTuple","mkOrdBox","$37","$tco_var_acc","Data_List","CatQueue","Data_CatQueue","CatNil","CatCons","semigroupCatList","cat","q","$copy_xs","$copy_c","$tco_var_c","$copy_ys","$tco_var_xs","uncons","Data_CatList","Free","Return","fromView","freeMonad","freeApplicative","freeBind","freeFunctor","$120","$121","freeApply","$122","dictMonadRec","runExpF","concatF","toView","$136","Control_Monad_Free","Effect_Aff_Class","State","Subscribe","Unsubscribe","Lift","ChildQuery","Raise","Par","Kill","GetRef","HalogenM","ordSubscriptionId","ordForkId","monadHalogenM","monadStateHalogenM","MonadState","$137","liftF","monadEffectHalogenM","dictMonadEffect","$142","$143","functorHalogenM","bindHalogenM","applicativeHalogenM","o","dictMonadAff","$144","$145","Initialize","Finalize","Receive","Action","Query","Data_Coyoneda","Halogen_Data_Slot","Halogen_Query_HalogenM","Halogen_Query_HalogenQ","ComponentSlot","ThunkSlot","unComponentSlot","unComponent","mkComponentSlot","mkComponent","defaultEval","handleAction","handleQuery","receive","initialize","finalize","voidLeft","unCoyoneda","input","component","ButtonButton","ButtonSubmit","ButtonReset","On","Off","Step","unStep","mkStep","extract","unsafeGetAny","unsafeHasAny","unsafeSetAny","forE","forEachE","forInE","ks","keys","diffWithIxE","a1","a2","f1","f2","f3","a3","l2","strMapWithIxE","as","fk","diffWithKeyAndIxE","o1","o2","createTextNode","doc","setTextContent","textContent","createElement","ns","createElementNS","insertChildIx","childNodes","insertBefore","removeChild","parentNode","setAttribute","attr","el","setAttributeNS","removeAttribute","removeAttributeNS","addEventListener","ev","listener","removeEventListener","jsUndefined","Foreign_Object_ST","unsafeLookup","unsafeFreeze","pokeMutMap","newMutMap","eventListener","event","Halogen_VDom_Machine","Halogen_VDom_Util","Web_Event_EventTarget","Created","Removed","Attribute","Property","Handler","Ref","unsafeGetProperty","setProperty","propToStrKey","propFromString","propFromInt","propFromBoolean","removeProp","prevEvents","removeProperty","mbEmit","haltProp","props","applyProp","events","v5","patchProp","ps2","onThis","onThese","v11","elVal","$70","onThat","nextState","renderProp","ps1","Text","Elem","Keyed","Widget","Grafted","Graft","unGraft","$58","graft","bifunctorGraft","runGraft","DOM_HTML_Indexed_ButtonType","DOM_HTML_Indexed_InputType","DOM_HTML_Indexed_OnOff","Halogen_VDom_DOM_Prop","Halogen_VDom_Types","HTML","ClassName","IsProp","toPropValue","newtypeHTML","newtypeClassName","isPropString","isPropOnOff","$43","renderOnOff","isPropInt","isPropInputType","renderInputType","isPropButtonType","$54","renderButtonType","isPropBoolean","$30","$31","children","dictIsProp","$33","$34","$35","$32","element","form","span","tbody_","tbody","td","td_","tr_","tr","div","div_","button","br_","es","unsafeReadPropImpl","readProp","RefUpdate","_currentTarget","currentTarget","preventDefault","$8","$3","Foreign_Index","Halogen_HTML_Core","Halogen_Query_Input","Web_Event_Event","Web_HTML_Event_EventTypes","Web_UIEvent_MouseEvent_EventTypes","mouseHandler","et","$2","onClick","click","onSubmit","addForeignPropHandler","prop","reader","composeKleisli","onChecked","change","onValueChange","$11","mel","required","rows","id_","$$for","class_","autofocus","autocomplete","hasArrayFrom","from","hasStringIterator","Symbol","iterator","hasFromCodePoint","fromCodePoint","hasCodePointAt","codePointAt","_unsafeCodePointAt0","fallback","_singleton","_take","accum","iter","_toCodePointArray","unsafeCodePointAt0","topInt","bottomInt","topChar","bottomChar","Bounded","Ord0","bottom","boundedInt","boundedChar","toCharCode","toEnum$prime","Data_Bounded","fromEnum","charToEnum","enumChar","pred","fromEnum$prime","defaultSucc","boundedEnumChar","Bounded0","Enum1","cardinality","toEnum","dictBoundedEnum","low","high","intDegree","min","abs","intDiv","intMod","yy","intSub","intAdd","intMul","semiringInt","add","mul","one","zero","Data_Semiring","ringInt","Semiring0","sub","Data_Ring","commutativeRingInt","Ring0","Data_CommutativeRing","euclideanRingInt","CommutativeRing0","degree","mod","unfoldrArrayImpl","fromJust","unfoldr1ArrayImpl","unfoldable1Array","unfoldr1","Data_Unfoldable1","unfoldableArray","Unfoldable10","unfoldr","$53","Data_Enum","Data_EuclideanRing","Data_String_CodeUnits","Data_String_Unsafe","Data_Unfoldable","unsurrogate","lead","trail","isTrail","cu","isLead","cu1","cu0","unconsButWithTuple","$25","$26","toEnumWithDefaults","take","takeFallback","Data_String_CodePoints","Halogen_HTML_Properties","fromNullableStr","fromMaybe","_loc","srh","$62","srh$prime","decode","qs","_parseQueryString","$63","mapMaybe","kv","find","App","Data_Lens_Getter","Data_Lens_Lens","Data_Lens_Setter","Halogen_Component","Halogen_HTML_Elements","Halogen_HTML_Events","Util","EarchiveDefault","EprivateDefault","EprivacyLock","UEditField","USubmit","_us","lens","u$prime","render","initialState","editField","$23","type_","archiveDefault","privateDefault","privacyLock","mkEval","modifying","use","monadAffHalogenM","editAccountSettings","Eurl","Etitle","Edescription","Etags","Eprivate","Etoread","BEditField","BEditSubmit","BDeleteAsk","BDestroy","_edit_bm","edit_bm","deleteAsk","destroyed","b$prime","toTextarea","mmoment","mmoment8601","time","$64","display_exists","guard","ifElseH","$65","whenH","textarea","description","tags","toread","modify_","$38","destroy","$42","selected","archiveUrl","editBookmark","assign","closeWindow","unsafeSetInnerHTML","innerHTML","_read","toNode","toElement","Web_HTML_HTMLElement","getHTMLElementRef","fromElement","getRef","Halogen_Query","SetInnerHTML","toRawHTML","inputval","elRef","for_","monoidEffect","$12","$13","$16","markedImpl","RawHTML","Component_RawHtml","Foreign_Marked","spin","outputQuery","widget","componentSlot","Component_Markdown","Data_Void","Halogen_HTML","BNotifyRemove","BStar","BEdit","BMarkRead","_markdown","_edit","_bm","mkState","star","shtime","linkToFilterTag","userR","dat","isowner","$71","slot","absurd","whenA","toggleStar","$47","$48","raise","markRead","Component_BMark","HandleBMessage","_bookmark","st","bms","bmark","st$prime","notes$prime","note","created","linkToFilterSingle","notes","cur","shared","Etext","EisMarkdown","Eshared","NNop","NEditField","NEditSubmit","NEdit","NDeleteAsk","NDestroy","_note","edit_note","_edit_note","note$prime","isMarkdown","updated","$46","destroyNote","editNote","noteR","Ap","mkAp","fba","fb","liftFreeAp","goLeft","$copy_dictApplicative","$copy_fStack","$copy_valStack","$copy_nat","$copy_func","$copy_count","$tco_var_dictApplicative","$tco_var_fStack","$tco_var_valStack","$tco_var_nat","$tco_var_func","fStack","valStack","nat","func","goApply","$copy_vals","$copy_gVal","$tco_var_vals","vals","gVal","gRes","$14","functorFreeAp","foldFreeAp","nextVals","applyFreeAp","applicativeFreeAp","lift","Control_Monad_Trans_Class","Bound","FreeT","freeT","bound","functorFreeT","$104","$105","monadFreeT","applicativeFreeT","bindFreeT","applyFreeT","resume","fa","interp","MonadTrans","ma","Control_Monad_Free_Trans","Emit","profunctorAwait","fuseWithL","dictFunctor2","zap","gs","fuseWith","functorAwait","rmap","bifunctorEmit","functorEmit","runFreeT","$186","$187","$188","recv","me","monadRecFreeT","monadTransFreeT","liftFreeT","monadForkAff","Functor1","fork","suspend","AVar","MutableQueue","last","MutableCell","prev","takes","reads","puts","takeLast","takeHead","putLast","deleteCell","drainVar","avar","ps","rsize","ts","rs","_killVar","_putVar","_takeVar","Killed","Filled","Empty","filled","Effect_AVar","put","throwException","unRenderStateX","unDriverStateX","mkRenderStateX","mkDriverStateXRef","rendering","lchs","v6","v7","v8","v9","ds","refs","childrenIn","childrenOut","selfRef","handlerRef","pendingQueries","pendingOuts","pendingHandlers","fresh","subscriptions","forks","lifecycleHandlers","unChildQueryBox","reallyUnsafeRefEq","unsafeRefEq","Control_Applicative_Free","Control_Coroutine","Control_Monad_Fork_Class","Effect_Exception","Halogen_Aff_Driver_State","Halogen_Query_ChildQuery","Halogen_Query_EventSource","Unsafe_Reference","queueOrRun","au","handleLifecycle","initializers","finalizers","evalQ","evalM","initRef","evalChildQuery","foldFree","SubscriptionId","when","member","finalizer","consumer","eqMaybe","evalF","runProcess","pullFrom","producer","sid","$112","cqb","retractFreeAp","hoistFreeAp","$113","ForkId","unlessM","killFiber","mapDriverState","alter","Effect_Aff_AVar","Effect_Console","Halogen_Aff_Driver_Eval","newLifecycleHandlers","handleAff","runAff_","handlePending","$78","$79","renderSpec","subscribe","runComponent","$86","initDriverState","$87","preInits","parentInitializer","handlers","squashChildInitializers","renderChild","childrenInRef","childrenOutRef","$88","$91","$92","renderStateX","$$var","$95","childHandler","foreachSlot","renderStateX_","ds$prime","$68","$82","$80","$84","$83","$81","dispose","disposed","dsx","subsRef","$102","$103","query","connect","_querySelector","selector","node","querySelector","toParentNode","toDocument","Web_DOM_ParentNode","Web_HTML_HTMLDocument","runHalogenAff","Web_DOM_Element","haltWidget","halt","patchWidget","vdom","res$prime","haltText","patchText","haltKeyed","attrs","haltElem","eqElemSpec","ns1","ns2","patchElem","patchKeyed","ix$prime","spec","buildText","buildElem","name1","as1","ch1","child","buildAttributes","buildKeyed","buildWidget","w","Halogen_VDom_DOM","runThunk","Thunk","toVDom","haltThunk","patchThunk","t2","$45","unsafeEqThunk","renderThunk","buildVDom","getEffProp","_parentNode","_nextSibling","node1","node2","parent","appendChild","nextSibling","$15","Halogen_Aff_Driver","Halogen_VDom_Thunk","Web_DOM_Node","pn","container","renderChildRef","getNode","buildThunk","renderComponentSlot","cs","patch","buildProp","mkSpec","machine","newNode","heytingAlgebraFunction","substInParent","runUI","_mainImpl","Component_AccountSettings","Component_Add","Component_BList","Component_NList","Component_NNote","Halogen_Aff_Util","Halogen_VDom_Driver","viewRendered","selectElement","main","logout","renderElSelector","bmarks","blist","addbmark","nlist","nnote","accountSettings","usetting"],"mappings":"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","file":"app.min.js","sourceRoot":"","sourcesContent":["//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate (y) {\n var date;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n var args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays (ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays :\n this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];\n return (m === true) ? shiftWeekdays(weekdays, this._week.dow)\n : (m) ? weekdays[m.day()] : weekdays;\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000;\n var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month': return months;\n case 'quarter': return months / 3;\n case 'year': return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asQuarters = makeAs('Q');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.24.0';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: /^ {0,3}(`{3,}|~{3,})([^`~\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noop,\n table: noop,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} +')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n fences: noop, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n this.rules = block.gfm;\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n var lastToken = this.tokens[this.tokens.length - 1];\n src = src.substring(cap[0].length);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.text += '\\n' + cap[0].trimRight();\n } else {\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n }\n continue;\n }\n\n // fences\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*<\\[])\\*(?!\\*)|^_([^\\s<][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_<][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s<\"][\\s\\S]*?[^\\s\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = 4 + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
    '\n      + (escaped ? code : escape(code, true))\n      + '
    ';\n }\n\n return '
    '\n    + (escaped ? code : escape(code, true))\n    + '
    \\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
    \\n' + quote + '
    \\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '
    ';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function(text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, { renderer: new TextRenderer() })\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n this.token = this.tokens.pop();\n return this.token;\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger() {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function(value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function(ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function(ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function(match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n checkSanitizeDeprecation(opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function() {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.13.3\nvar PS = {};\n(function(exports) {\n /* global exports */\n /* global XMLHttpRequest */\n /* global module */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msg) {\n return function () {\n errback(new Error(msg + \": \" + options.method + \" \" + options.url));\n };\n };\n xhr.onerror = onerror(\"AJAX request failed\");\n xhr.ontimeout = onerror(\"AJAX request timed out\");\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Semigroupoid\"] = $PS[\"Control.Semigroupoid\"] || {};\n var exports = $PS[\"Control.Semigroupoid\"];\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Category\"] = $PS[\"Control.Category\"] || {};\n var exports = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Function\"] = $PS[\"Data.Function\"] || {};\n var exports = $PS[\"Data.Function\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"on\"] = on;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Unit\"] = $PS[\"Data.Unit\"] || {};\n var exports = $PS[\"Data.Unit\"];\n var $foreign = $PS[\"Data.Unit\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Functor\"] = $PS[\"Data.Functor\"] || {};\n var exports = $PS[\"Data.Functor\"];\n var $foreign = $PS[\"Data.Functor\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Apply\"] = $PS[\"Control.Apply\"] || {};\n var exports = $PS[\"Control.Apply\"];\n var $foreign = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Applicative\"] = $PS[\"Control.Applicative\"] || {};\n var exports = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var unless = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (!v) {\n return v1;\n };\n if (v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 62, column 1 - line 62, column 65): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 57, column 1 - line 57, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n };\n exports[\"Applicative\"] = Applicative;\n exports[\"pure\"] = pure;\n exports[\"liftA1\"] = liftA1;\n exports[\"unless\"] = unless;\n exports[\"when\"] = when;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Bind\"] = $PS[\"Control.Bind\"] || {};\n var exports = $PS[\"Control.Bind\"];\n var $foreign = $PS[\"Control.Bind\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"]; \n var Discard = function (discard) {\n this.discard = discard;\n };\n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n\n exports.eqBooleanImpl = refEq;\n exports.eqIntImpl = refEq; \n exports.eqCharImpl = refEq;\n exports.eqStringImpl = refEq;\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Eq\"] = $PS[\"Data.Eq\"] || {};\n var exports = $PS[\"Data.Eq\"];\n var $foreign = $PS[\"Data.Eq\"];\n var Eq = function (eq) {\n this.eq = eq;\n }; \n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.eqStringImpl);\n var eqInt = new Eq($foreign.eqIntImpl);\n var eqChar = new Eq($foreign.eqCharImpl);\n var eqBoolean = new Eq($foreign.eqBooleanImpl);\n var eq = function (dict) {\n return dict.eq;\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqBoolean\"] = eqBoolean;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Maybe\"] = $PS[\"Data.Maybe\"] || {};\n var exports = $PS[\"Data.Maybe\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n }; \n var eqMaybe = function (dictEq) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Nothing && y instanceof Nothing) {\n return true;\n };\n if (x instanceof Just && y instanceof Just) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0);\n };\n return false;\n };\n });\n };\n var applyMaybe = new Control_Apply.Apply(function () {\n return functorMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 67, column 1 - line 69, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 127, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeMaybe = new Control_Applicative.Applicative(function () {\n return applyMaybe;\n }, Just.create);\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"applicativeMaybe\"] = applicativeMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.MediaType.Common\"] = $PS[\"Data.MediaType.Common\"] || {};\n var exports = $PS[\"Data.MediaType.Common\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Affjax.RequestBody\"] = $PS[\"Affjax.RequestBody\"] || {};\n var exports = $PS[\"Affjax.RequestBody\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.HeytingAlgebra\"] = $PS[\"Data.HeytingAlgebra\"] || {};\n var exports = $PS[\"Data.HeytingAlgebra\"];\n var $foreign = $PS[\"Data.HeytingAlgebra\"];\n var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {\n this.conj = conj;\n this.disj = disj;\n this.ff = ff;\n this.implies = implies;\n this.not = not;\n this.tt = tt;\n };\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n }, $foreign.boolNot, true);\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return new HeytingAlgebra(function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (v) {\n return ff(dictHeytingAlgebra);\n }, function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }, function (v) {\n return tt(dictHeytingAlgebra);\n });\n };\n exports[\"ff\"] = ff;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Semigroup\"] = $PS[\"Data.Semigroup\"] || {};\n var exports = $PS[\"Data.Semigroup\"];\n var $foreign = $PS[\"Data.Semigroup\"];\n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Monoid\"] = $PS[\"Data.Monoid\"] || {};\n var exports = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 73, column 1 - line 73, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Monoid.Disj\"] = $PS[\"Data.Monoid.Disj\"] || {};\n var exports = $PS[\"Data.Monoid.Disj\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Newtype\"] = $PS[\"Data.Newtype\"] || {};\n var exports = $PS[\"Data.Newtype\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n var $96 = Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1));\n var $97 = Data_Functor.map(dictFunctor)(wrap(dictNewtype));\n return function ($98) {\n return $96(f($97($98)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.MediaType\"] = $PS[\"Data.MediaType\"] || {};\n var exports = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Affjax.RequestHeader\"] = $PS[\"Affjax.RequestHeader\"] || {};\n var exports = $PS[\"Affjax.RequestHeader\"];\n var Data_MediaType = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n }; \n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Affjax.ResponseFormat\"] = $PS[\"Affjax.ResponseFormat\"] || {};\n var exports = $PS[\"Affjax.ResponseFormat\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\n var ResponseFormatError = (function () {\n function ResponseFormatError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseFormatError.create = function (value0) {\n return function (value1) {\n return new ResponseFormatError(value0, value1);\n };\n };\n return ResponseFormatError;\n })();\n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 52, column 19): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n exports[\"ResponseFormatError\"] = ResponseFormatError;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Affjax.ResponseHeader\"] = $PS[\"Affjax.ResponseHeader\"] || {};\n var exports = $PS[\"Affjax.ResponseHeader\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad\"] = $PS[\"Control.Monad\"] || {};\n var exports = $PS[\"Control.Monad\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (v) {\n return Control_Applicative.unless(dictMonad.Applicative0())(v)(m);\n });\n };\n };\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (v) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) {\n return Control_Applicative.pure(dictMonad.Applicative0())(v(v1));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n exports[\"unlessM\"] = unlessM;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Bifunctor\"] = $PS[\"Data.Bifunctor\"] || {};\n var exports = $PS[\"Data.Bifunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"rmap\"] = rmap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Either\"] = $PS[\"Data.Either\"] || {};\n var exports = $PS[\"Data.Either\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 38, column 1 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 48, column 36): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 82, column 1 - line 84, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Error.Class\"] = $PS[\"Control.Monad.Error.Class\"] || {};\n var exports = $PS[\"Control.Monad.Error.Class\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))((function () {\n var $21 = Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0());\n return function ($22) {\n return $21(Data_Either.Left.create($22));\n };\n })());\n };\n };\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Except.Trans\"] = $PS[\"Control.Monad.Except.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Except.Trans\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either((function () {\n var $98 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($99) {\n return $98(Data_Either.Left.create($99));\n };\n })())(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, (function () {\n var $100 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($101) {\n return ExceptT($100(Data_Either.Right.create($101)));\n };\n })());\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, (function () {\n var $110 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($111) {\n return ExceptT($110(Data_Either.Left.create($111)));\n };\n })());\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Identity\"] = $PS[\"Data.Identity\"] || {};\n var exports = $PS[\"Data.Identity\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Except\"] = $PS[\"Control.Monad.Except\"] || {};\n var exports = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var runExcept = (function () {\n var $0 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($1) {\n return $0(Control_Monad_Except_Trans.runExceptT($1));\n };\n })();\n exports[\"runExcept\"] = runExcept;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n }; \n\n function isArray(a) {\n return objToString.call(a) === \"[object Array]\";\n }\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.empty = {};\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Function.Uncurried\"] = $PS[\"Data.Function.Uncurried\"] || {};\n var exports = $PS[\"Data.Function.Uncurried\"];\n var $foreign = $PS[\"Data.Function.Uncurried\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Foreign.Object\"] = $PS[\"Foreign.Object\"] || {};\n var exports = $PS[\"Foreign.Object\"];\n var $foreign = $PS[\"Foreign.Object\"];\n var Data_Function_Uncurried = $PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n exports[\"lookup\"] = lookup;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Argonaut.Core\"] = $PS[\"Data.Argonaut.Core\"] || {};\n var exports = $PS[\"Data.Argonaut.Core\"];\n var $foreign = $PS[\"Data.Argonaut.Core\"];\n var Foreign_Object = $PS[\"Foreign.Object\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Argonaut.Parser\"] = $PS[\"Data.Argonaut.Parser\"] || {};\n var exports = $PS[\"Data.Argonaut.Parser\"];\n var $foreign = $PS[\"Data.Argonaut.Parser\"];\n var Data_Either = $PS[\"Data.Either\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Array\"] = $PS[\"Data.Array\"] || {};\n var exports = $PS[\"Data.Array\"];\n var $foreign = $PS[\"Data.Array\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var singleton = function (a) {\n return [ a ];\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap((function () {\n var $123 = Data_Maybe.maybe([ ])(singleton);\n return function ($124) {\n return $123(f($124));\n };\n })());\n };\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Foldable\"] = $PS[\"Data.Foldable\"] || {};\n var exports = $PS[\"Data.Foldable\"];\n var $foreign = $PS[\"Data.Foldable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)((function () {\n var $197 = Control_Apply.applySecond(dictApplicative.Apply0());\n return function ($198) {\n return $197(f($198));\n };\n })())(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n 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)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.String.Common\"] = $PS[\"Data.String.Common\"] || {};\n var exports = $PS[\"Data.String.Common\"];\n var $foreign = $PS[\"Data.String.Common\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // jshint maxparams: 3\n\n exports.traverseArrayImpl = function () {\n function array1(a) {\n return [a];\n }\n\n function array2(a) {\n return function (b) {\n return [a, b];\n };\n }\n\n function array3(a) {\n return function (b) {\n return function (c) {\n return [a, b, c];\n };\n };\n }\n\n function concat2(xs) {\n return function (ys) {\n return xs.concat(ys);\n };\n }\n\n return function (apply) {\n return function (map) {\n return function (pure) {\n return function (f) {\n return function (array) {\n function go(bot, top) {\n switch (top - bot) {\n case 0: return pure([]);\n case 1: return map(array1)(f(array[bot]));\n case 2: return apply(map(array2)(f(array[bot])))(f(array[bot + 1]));\n case 3: return apply(apply(map(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2]));\n default:\n // This slightly tricky pivot selection aims to produce two\n // even-length partitions where possible.\n var pivot = bot + Math.floor((top - bot) / 4) * 2;\n return apply(map(concat2)(go(bot, pivot)))(go(pivot, top));\n }\n }\n return go(0, array.length);\n };\n };\n };\n };\n };\n }();\n})(PS[\"Data.Traversable\"] = PS[\"Data.Traversable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Traversable\"] = $PS[\"Data.Traversable\"] || {};\n var exports = $PS[\"Data.Traversable\"];\n var $foreign = $PS[\"Data.Traversable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Traversable = function (Foldable1, Functor0, sequence, traverse) {\n this.Foldable1 = Foldable1;\n this.Functor0 = Functor0;\n this.sequence = sequence;\n this.traverse = traverse;\n };\n var traverse = function (dict) {\n return dict.traverse;\n }; \n var sequenceDefault = function (dictTraversable) {\n return function (dictApplicative) {\n return traverse(dictTraversable)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var traversableArray = new Traversable(function () {\n return Data_Foldable.foldableArray;\n }, function () {\n return Data_Functor.functorArray;\n }, function (dictApplicative) {\n return sequenceDefault(traversableArray)(dictApplicative);\n }, function (dictApplicative) {\n return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map((dictApplicative.Apply0()).Functor0()))(Control_Applicative.pure(dictApplicative));\n });\n exports[\"traverse\"] = traverse;\n exports[\"traversableArray\"] = traversableArray;\n})(PS);\n(function(exports) {\n /* globals exports */\n \"use strict\"; \n\n var encdecURI = function (encdec) {\n return function (fail, succ, s) {\n try {\n return succ(encdec(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n }; \n exports._encodeURIComponent = encdecURI(encodeURIComponent);\n})(PS[\"Global\"] = PS[\"Global\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Global\"] = $PS[\"Global\"] || {};\n var exports = $PS[\"Global\"];\n var $foreign = $PS[\"Global\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var $$encodeURIComponent = function (s) {\n return $foreign[\"_encodeURIComponent\"](Data_Function[\"const\"](Data_Maybe.Nothing.value), Data_Maybe.Just.create, s);\n };\n exports[\"encodeURIComponent\"] = $$encodeURIComponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.FormURLEncoded\"] = $PS[\"Data.FormURLEncoded\"] || {};\n var exports = $PS[\"Data.FormURLEncoded\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Global = $PS[\"Global\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return Global[\"encodeURIComponent\"](v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (key) {\n return function (val) {\n return key + (\"=\" + val);\n };\n })(Global[\"encodeURIComponent\"](v.value0)))(Global[\"encodeURIComponent\"](v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 37, column 18 - line 39, column 108): \" + [ v.constructor.name ]);\n };\n var $19 = Data_Functor.map(Data_Maybe.functorMaybe)(Data_String_Common.joinWith(\"&\"));\n var $20 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(encodePart);\n return function ($21) {\n return $19($20(toArray($21)));\n };\n })();\n exports[\"encode\"] = encode;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Show\"] = $PS[\"Data.Show\"] || {};\n var exports = $PS[\"Data.Show\"];\n var $foreign = $PS[\"Data.Show\"];\n var Show = function (show) {\n this.show = show;\n }; \n var showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.HTTP.Method\"] = $PS[\"Data.HTTP.Method\"] || {};\n var exports = $PS[\"Data.HTTP.Method\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Show = $PS[\"Data.Show\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 56, column 23): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"GET\"] = GET;\n exports[\"POST\"] = POST;\n exports[\"DELETE\"] = DELETE;\n exports[\"print\"] = print;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Alt\"] = $PS[\"Control.Alt\"] || {};\n var exports = $PS[\"Control.Alt\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n };\n exports[\"Alt\"] = Alt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Plus\"] = $PS[\"Control.Plus\"] || {};\n var exports = $PS[\"Control.Plus\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.List.Types\"] = $PS[\"Data.List.Types\"] || {};\n var exports = $PS[\"Data.List.Types\"];\n var Control_Alt = $PS[\"Control.Alt\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Plus = $PS[\"Control.Plus\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var listMap = function (f) {\n var chunkedRevMap = function ($copy_chunksAcc) {\n return function ($copy_v) {\n var $tco_var_chunksAcc = $copy_chunksAcc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(chunksAcc, v) {\n if (v instanceof Cons && (v.value1 instanceof Cons && v.value1.value1 instanceof Cons)) {\n $tco_var_chunksAcc = new Cons(v, chunksAcc);\n $copy_v = v.value1.value1.value1;\n return;\n };\n var unrolledMap = function (v1) {\n if (v1 instanceof Cons && (v1.value1 instanceof Cons && v1.value1.value1 instanceof Nil)) {\n return new Cons(f(v1.value0), new Cons(f(v1.value1.value0), Nil.value));\n };\n if (v1 instanceof Cons && v1.value1 instanceof Nil) {\n return new Cons(f(v1.value0), Nil.value);\n };\n return Nil.value;\n };\n var reverseUnrolledMap = function ($copy_v1) {\n return function ($copy_acc) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, acc) {\n if (v1 instanceof Cons && (v1.value0 instanceof Cons && (v1.value0.value1 instanceof Cons && v1.value0.value1.value1 instanceof Cons))) {\n $tco_var_v1 = v1.value1;\n $copy_acc = new Cons(f(v1.value0.value0), new Cons(f(v1.value0.value1.value0), new Cons(f(v1.value0.value1.value1.value0), acc)));\n return;\n };\n $tco_done = true;\n return acc;\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_acc);\n };\n return $tco_result;\n };\n };\n $tco_done = true;\n return reverseUnrolledMap(chunksAcc)(unrolledMap(v));\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_chunksAcc, $copy_v);\n };\n return $tco_result;\n };\n };\n return chunkedRevMap(Nil.value);\n };\n var functorList = new Data_Functor.Functor(listMap); \n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n var $202 = Data_Semigroup.append(dictMonoid.Semigroup0())(acc);\n return function ($203) {\n return $202(f($203));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 109, column 12 - line 111, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n var $204 = Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b);\n return function ($205) {\n return $204(rev($205));\n };\n };\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 155, column 1 - line 157, column 48): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"plusList\"] = plusList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.NonEmpty\"] = $PS[\"Data.NonEmpty\"] || {};\n var exports = $PS[\"Data.NonEmpty\"];\n var Control_Plus = $PS[\"Control.Plus\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.List.NonEmpty\"] = $PS[\"Data.List.NonEmpty\"] || {};\n var exports = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var singleton = (function () {\n var $168 = Data_NonEmpty.singleton(Data_List_Types.plusList);\n return function ($169) {\n return Data_List_Types.NonEmptyList($168($169));\n };\n })();\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Nullable\"] = $PS[\"Data.Nullable\"] || {};\n var exports = $PS[\"Data.Nullable\"];\n var $foreign = $PS[\"Data.Nullable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n})(PS);\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* jshint -W083, -W098, -W003 */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n });\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n if (count === 0) {\n return cb();\n }\n\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an unmasked interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an unmasked interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp && bracketCount === 0 || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item, and the bracket count is 0. If the\n // bracket count is non-zero then we are in a masked state so it's\n // impossible to be killed.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n bracketCount++;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports.generalBracket = function (acquire) {\n return function (options) {\n return function (k) {\n return Aff.Bracket(acquire, options, k);\n };\n };\n };\n\n exports._makeFiber = function (util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n }; \n\n exports._sequential = Aff.Seq;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect\"] = $PS[\"Effect\"] || {};\n var exports = $PS[\"Effect\"];\n var $foreign = $PS[\"Effect\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n var semigroupEffect = function (dictSemigroup) {\n return new Data_Semigroup.Semigroup(Control_Apply.lift2(applyEffect)(Data_Semigroup.append(dictSemigroup)));\n };\n var monoidEffect = function (dictMonoid) {\n return new Data_Monoid.Monoid(function () {\n return semigroupEffect(dictMonoid.Semigroup0());\n }, $foreign.pureE(Data_Monoid.mempty(dictMonoid)));\n };\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"monoidEffect\"] = monoidEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports[\"modify'\"] = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Ref\"] = $PS[\"Effect.Ref\"] || {};\n var exports = $PS[\"Effect.Ref\"];\n var $foreign = $PS[\"Effect.Ref\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"]; \n var modify = function (f) {\n return $foreign[\"modify'\"](function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Rec.Class\"] = $PS[\"Control.Monad.Rec.Class\"] || {};\n var exports = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Ref = $PS[\"Effect.Ref\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 111, column 30 - line 111, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v1 = Effect_Ref.read(v)();\n if (v1 instanceof Loop) {\n var v2 = f(v1.value0)();\n var v3 = Effect_Ref.write(v2)(v)();\n return false;\n };\n if (v1 instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 102, column 22 - line 107, column 28): \" + [ v1.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Parallel.Class\"] = $PS[\"Control.Parallel.Class\"] || {};\n var exports = $PS[\"Control.Parallel.Class\"];\n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Parallel\"] = $PS[\"Control.Parallel\"] || {};\n var exports = $PS[\"Control.Parallel\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n var $17 = Control_Parallel_Class.sequential(dictParallel);\n var $18 = Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)((function () {\n var $20 = Control_Parallel_Class.parallel(dictParallel);\n return function ($21) {\n return $20(f($21));\n };\n })());\n return function ($19) {\n return $17($18($19));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parSequence_\"] = parSequence_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Class\"] = $PS[\"Effect.Class\"] || {};\n var exports = $PS[\"Effect.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect = $PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n };\n var monadEffectEffect = new MonadEffect(function () {\n return Effect.monadEffect;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n exports[\"monadEffectEffect\"] = monadEffectEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Unsafe\"] = $PS[\"Effect.Unsafe\"] || {};\n var exports = $PS[\"Effect.Unsafe\"];\n var $foreign = $PS[\"Effect.Unsafe\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports.unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports.crashWith = function () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Partial\"] = $PS[\"Partial\"] || {};\n var exports = $PS[\"Partial\"];\n var $foreign = $PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Partial.Unsafe\"] = $PS[\"Partial.Unsafe\"] || {};\n var exports = $PS[\"Partial.Unsafe\"];\n var $foreign = $PS[\"Partial.Unsafe\"];\n var Partial = $PS[\"Partial\"];\n var unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith()(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Unsafe.Coerce\"] = $PS[\"Unsafe.Coerce\"] || {};\n var exports = $PS[\"Unsafe.Coerce\"];\n var $foreign = $PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Aff\"] = $PS[\"Effect.Aff\"] || {};\n var exports = $PS[\"Effect.Aff\"];\n var $foreign = $PS[\"Effect.Aff\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Unsafe = $PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = $PS[\"Partial.Unsafe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 54): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 395, column 20 - line 397, column 54): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var v = makeFiber(aff)();\n v.run();\n return v;\n };\n };\n var launchAff_ = (function () {\n var $49 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($50) {\n return $49(launchAff($50));\n };\n })();\n var bracket = function (acquire) {\n return function (completed) {\n return $foreign.generalBracket(acquire)({\n killed: Data_Function[\"const\"](completed),\n failed: Data_Function[\"const\"](completed),\n completed: Data_Function[\"const\"](completed)\n });\n };\n };\n var applyParAff = new Control_Apply.Apply(function () {\n return functorParAff;\n }, $foreign[\"_parAffApply\"]);\n var monadAff = new Control_Monad.Monad(function () {\n return applicativeAff;\n }, function () {\n return bindAff;\n });\n var bindAff = new Control_Bind.Bind(function () {\n return applyAff;\n }, $foreign[\"_bind\"]);\n var applyAff = new Control_Apply.Apply(function () {\n return functorAff;\n }, Control_Monad.ap(monadAff));\n var applicativeAff = new Control_Applicative.Applicative(function () {\n return applyAff;\n }, $foreign[\"_pure\"]);\n var $$finally = function (fin) {\n return function (a) {\n return bracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(Data_Function[\"const\"](fin))(Data_Function[\"const\"](a));\n };\n };\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = (function () {\n var $51 = Effect_Class.liftEffect(monadEffectAff);\n return function ($52) {\n return Canceler(Data_Function[\"const\"]($51($52)));\n };\n })();\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n }; \n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)((function () {\n var $55 = Effect_Class.liftEffect(monadEffectAff);\n return function ($56) {\n return $55(k($56));\n };\n })())(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, (function () {\n var $59 = Control_Parallel_Class.parallel(parallelAff);\n var $60 = Control_Applicative.pure(applicativeAff);\n return function ($61) {\n return $59($60($61));\n };\n })());\n var semigroupCanceler = new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return function (err) {\n return Control_Parallel.parSequence_(parallelAff)(Data_Foldable.foldableArray)([ v(err), v1(err) ]);\n };\n };\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n var monoidCanceler = new Data_Monoid.Monoid(function () {\n return semigroupCanceler;\n }, nonCanceler);\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"finally\"] = $$finally;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"monoidCanceler\"] = monoidCanceler;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Aff.Compat\"] = $PS[\"Effect.Aff.Compat\"] || {};\n var exports = $PS[\"Effect.Aff.Compat\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Boolean\"] = $PS[\"Data.Boolean\"] || {};\n var exports = $PS[\"Data.Boolean\"];\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Foreign\"] = $PS[\"Foreign\"] || {};\n var exports = $PS[\"Foreign\"];\n var $foreign = $PS[\"Foreign\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var fail = (function () {\n var $107 = Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity));\n return function ($108) {\n return $107(Data_List_NonEmpty.singleton($108));\n };\n })();\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Affjax\"] = $PS[\"Affjax\"] || {};\n var exports = $PS[\"Affjax\"];\n var $foreign = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = $PS[\"Affjax.ResponseHeader\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = $PS[\"Data.Argonaut.Parser\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = $PS[\"Data.FormURLEncoded\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = $PS[\"Effect.Aff.Compat\"];\n var Foreign = $PS[\"Foreign\"];\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either(function ($66) {\n return Foreign.fail(Foreign.ForeignError.create($66));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse$prime = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($67) {\n return req.responseFormat.value0(parseJSON($67));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 294, column 19 - line 300, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return v.value0(Foreign.unsafeToForeign);\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 268, column 20 - line 275, column 57): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var req$prime = {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, req$prime)))(function (v) {\n var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.body));\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Left(new Affjax_ResponseFormat.ResponseFormatError(Data_List_NonEmpty.head(v1.value0), v.body)),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Right(v1.value0),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 248, column 3 - line 252, column 39): \" + [ v1.constructor.name ]);\n });\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS);\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n \"use strict\";\n\n var unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n }; \n exports.ordIntImpl = unsafeCompareImpl; \n exports.ordStringImpl = unsafeCompareImpl;\n exports.ordCharImpl = unsafeCompareImpl;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Ordering\"] = $PS[\"Data.Ordering\"] || {};\n var exports = $PS[\"Data.Ordering\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Ord\"] = $PS[\"Data.Ord\"] || {};\n var exports = $PS[\"Data.Ord\"];\n var $foreign = $PS[\"Data.Ord\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n }; \n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, $foreign.ordStringImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, $foreign.ordIntImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, $foreign.ordCharImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var compare = function (dict) {\n return dict.compare;\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Tuple\"] = $PS[\"Data.Tuple\"] || {};\n var exports = $PS[\"Data.Tuple\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n }; \n var eqTuple = function (dictEq) {\n return function (dictEq1) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1);\n };\n });\n };\n };\n var ordTuple = function (dictOrd) {\n return function (dictOrd1) {\n return new Data_Ord.Ord(function () {\n return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0());\n }, function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(dictOrd1)(x.value1)(y.value1);\n };\n });\n };\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Globals\"] = $PS[\"Globals\"] || {};\n var exports = $PS[\"Globals\"];\n var $foreign = $PS[\"Globals\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Effect = $PS[\"Effect\"]; \n var RawHTML = function (x) {\n return x;\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_closeWindow\"](win));\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Symbol\"] = $PS[\"Data.Symbol\"] || {};\n var exports = $PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var IsSymbol = function (reflectSymbol) {\n this.reflectSymbol = reflectSymbol;\n };\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"IsSymbol\"] = IsSymbol;\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS);\n(function(exports) {\n /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Global.Unsafe\"] = $PS[\"Global.Unsafe\"] || {};\n var exports = $PS[\"Global.Unsafe\"];\n var $foreign = $PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Record.Unsafe\"] = $PS[\"Record.Unsafe\"] || {};\n var exports = $PS[\"Record.Unsafe\"];\n var $foreign = $PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Record\"] = $PS[\"Record\"] || {};\n var exports = $PS[\"Record\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Record_Unsafe = $PS[\"Record.Unsafe\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Record.Builder\"] = $PS[\"Record.Builder\"] || {};\n var exports = $PS[\"Record.Builder\"];\n var $foreign = $PS[\"Record.Builder\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Type.Data.RowList\"] = $PS[\"Type.Data.RowList\"] || {};\n var exports = $PS[\"Type.Data.RowList\"];\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Simple.JSON\"] = $PS[\"Simple.JSON\"] || {};\n var exports = $PS[\"Simple.JSON\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Record = $PS[\"Record\"];\n var Record_Builder = $PS[\"Record.Builder\"];\n var Type_Data_RowList = $PS[\"Type.Data.RowList\"];\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n var $89 = writeImpl(dictWriteForeign);\n return function ($90) {\n return Global_Unsafe.unsafeStringify($89($90));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign((function () {\n var $93 = Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign));\n return function ($94) {\n return $93(Data_Nullable.toMaybe($94));\n };\n })());\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); \n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)()(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert()()(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Model\"] = $PS[\"Model\"] || {};\n var exports = $PS[\"Model\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Simple_JSON = $PS[\"Simple.JSON\"];\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"shared\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n})(PS);\n(function(exports) {\n /* global window */\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML\"] = $PS[\"Web.HTML\"] || {};\n var exports = $PS[\"Web.HTML\"];\n var $foreign = $PS[\"Web.HTML\"];\n exports[\"window\"] = $foreign.window;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML.Location\"] = $PS[\"Web.HTML.Location\"] || {};\n var exports = $PS[\"Web.HTML.Location\"];\n var $foreign = $PS[\"Web.HTML.Location\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML.Window\"] = $PS[\"Web.HTML.Window\"] || {};\n var exports = $PS[\"Web.HTML.Window\"];\n var $foreign = $PS[\"Web.HTML.Window\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"App\"] = $PS[\"App\"] || {};\n var exports = $PS[\"App\"];\n var Affjax = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Model = $PS[\"Model\"];\n var Simple_JSON = $PS[\"Simple.JSON\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 28, column 1 - line 30, column 25): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n 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)(Affjax_ResponseFormat.ignore)))(function () {\n 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));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)((function () {\n var $4 = Simple_JSON.writeJSON(dictWriteForeign);\n return function ($5) {\n return Affjax_RequestBody.string($4($5));\n };\n })())(content))(rt);\n };\n };\n };\n };\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.InputType\"] = $PS[\"DOM.HTML.Indexed.InputType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.InputType\"];\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 22): \" + [ v.constructor.name ]);\n };\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputText\"] = InputText;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"renderInputType\"] = renderInputType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.State.Class\"] = $PS[\"Control.Monad.State.Class\"] || {};\n var exports = $PS[\"Control.Monad.State.Class\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Profunctor\"] = $PS[\"Data.Profunctor\"] || {};\n var exports = $PS[\"Data.Profunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Profunctor.Strong\"] = $PS[\"Data.Profunctor.Strong\"] || {};\n var exports = $PS[\"Data.Profunctor.Strong\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Lens.Internal.Forget\"] = $PS[\"Data.Lens.Internal.Forget\"] || {};\n var exports = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"strongForget\"] = strongForget;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Lens.Getter\"] = $PS[\"Data.Lens.Getter\"] || {};\n var exports = $PS[\"Data.Lens.Getter\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"use\"] = use;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Lens.Lens\"] = $PS[\"Data.Lens.Lens\"] || {};\n var exports = $PS[\"Data.Lens.Lens\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Lens.Setter\"] = $PS[\"Data.Lens.Setter\"] || {};\n var exports = $PS[\"Data.Lens.Setter\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Aff.Class\"] = $PS[\"Effect.Aff.Class\"] || {};\n var exports = $PS[\"Effect.Aff.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect_Aff = $PS[\"Effect.Aff\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Exists\"] = $PS[\"Data.Exists\"] || {};\n var exports = $PS[\"Data.Exists\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Coyoneda\"] = $PS[\"Data.Coyoneda\"] || {};\n var exports = $PS[\"Data.Coyoneda\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($85) {\n return f(v1.value0($85));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Map.Internal\"] = $PS[\"Data.Map.Internal\"] || {};\n var exports = $PS[\"Data.Map.Internal\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n 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)));\n };\n if (v instanceof Three) {\n 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)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n 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));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 99, column 110): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = 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);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = 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);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n 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)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n 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)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n 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)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Data.OrdBox\"] = $PS[\"Halogen.Data.OrdBox\"] || {};\n var exports = $PS[\"Halogen.Data.OrdBox\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Data.Slot\"] = $PS[\"Halogen.Data.Slot\"] || {};\n var exports = $PS[\"Halogen.Data.Slot\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = $PS[\"Halogen.Data.OrdBox\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.List\"] = $PS[\"Data.List\"] || {};\n var exports = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.CatQueue\"] = $PS[\"Data.CatQueue\"] || {};\n var exports = $PS[\"Data.CatQueue\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.CatList\"] = $PS[\"Data.CatList\"] || {};\n var exports = $PS[\"Data.CatList\"];\n var Data_CatQueue = $PS[\"Data.CatQueue\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"empty\"] = empty;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Free\"] = $PS[\"Control.Monad.Free\"] || {};\n var exports = $PS[\"Control.Monad.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Data_CatList = $PS[\"Data.CatList\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 227, column 7 - line 231, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 225, column 3 - line 233, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)((function () {\n var $120 = Control_Applicative.pure(freeApplicative);\n return function ($121) {\n return $120(k($121));\n };\n })())(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($122) {\n return fromView(Return.create($122));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $123 = Control_Applicative.pure(freeApplicative);\n return function ($124) {\n return $123($124);\n };\n })()));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($136) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($136));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 158, column 10 - line 160, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeMonad\"] = freeMonad;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query.HalogenM\"] = $PS[\"Halogen.Query.HalogenM\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenM\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"]; \n var SubscriptionId = function (x) {\n return x;\n };\n var ForkId = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($137) {\n return HalogenM(Control_Monad_Free.liftF(State.create($137)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, (function () {\n var $142 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($143) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($142($143))));\n };\n })());\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, (function () {\n var $144 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($145) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($144($145))));\n };\n })());\n };\n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query.HalogenQ\"] = $PS[\"Halogen.Query.HalogenQ\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenQ\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Component\"] = $PS[\"Halogen.Component\"] || {};\n var exports = $PS[\"Halogen.Component\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n var $28 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($29) {\n return $28(args.handleQuery($29));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 172, column 15 - line 182, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop()(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert()(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: new Halogen_Query_HalogenQ.Receive(input, Data_Unit.unit),\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.ButtonType\"] = $PS[\"DOM.HTML.Indexed.ButtonType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 25): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.OnOff\"] = $PS[\"DOM.HTML.Indexed.OnOff\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 15): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.Machine\"] = $PS[\"Halogen.VDom.Machine\"] || {};\n var exports = $PS[\"Halogen.VDom.Machine\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Foreign.Object.ST\"] = $PS[\"Foreign.Object.ST\"] || {};\n var exports = $PS[\"Foreign.Object.ST\"];\n var $foreign = $PS[\"Foreign.Object.ST\"];\n exports[\"new\"] = $foreign[\"new\"];\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.Util\"] = $PS[\"Halogen.VDom.Util\"] || {};\n var exports = $PS[\"Halogen.VDom.Util\"];\n var $foreign = $PS[\"Halogen.VDom.Util\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forEachE\"] = $foreign.forEachE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.Event.EventTarget\"] = $PS[\"Web.Event.EventTarget\"] || {};\n var exports = $PS[\"Web.Event.EventTarget\"];\n var $foreign = $PS[\"Web.Event.EventTarget\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.DOM.Prop\"] = $PS[\"Halogen.VDom.DOM.Prop\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = $PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 187, column 16): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 169, column 5 - line 179, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $61 = v11.value2 === v2.value2;\n if ($61) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($70) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var v4 = Effect_Ref[\"new\"](v2.value1)();\n var v5 = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var v5 = Effect_Ref.read(v4)();\n return mbEmit(v5(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);\n Halogen_VDom_Util.addEventListener(v2.value0, v5, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var v = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, v);\n var onThat = applyProp(v);\n var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var v = Halogen_VDom_Util.newMutMap();\n var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.Types\"] = $PS[\"Halogen.VDom.Types\"] || {};\n var exports = $PS[\"Halogen.VDom.Types\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($58) {\n return f($58);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($60) {\n return f(v.value0($60));\n }, function ($61) {\n return g(v.value1($61));\n }, v.value2));\n });\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 86, column 7 - line 86, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"runGraft\"] = runGraft;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.HTML.Core\"] = $PS[\"Halogen.HTML.Core\"] || {};\n var exports = $PS[\"Halogen.HTML.Core\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var widget = function ($30) {\n return HTML(Halogen_VDom_Types.Widget.create($30));\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($31) {\n return HTML(Halogen_VDom_Types.Text.create($31));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($32) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 104, column 21 - line 106, column 23): \" + [ v.constructor.name ]);\n })($32));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n var $33 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $34 = toPropValue(dictIsProp);\n return function ($35) {\n return $33($34($35));\n };\n };\n }; \n var newtypeHTML = new Data_Newtype.Newtype(function (n) {\n return n;\n }, HTML);\n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($43) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($43));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($49) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($49));\n });\n var isPropButtonType = new IsProp(function ($54) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($54));\n });\n var isPropBoolean = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(ns, name, props, children);\n };\n };\n };\n }; \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"widget\"] = widget;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"ClassName\"] = ClassName;\n exports[\"newtypeHTML\"] = newtypeHTML;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.HTML.Elements\"] = $PS[\"Halogen.HTML.Elements\"] || {};\n var exports = $PS[\"Halogen.HTML.Elements\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"a\"] = a;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr_\"] = tr_;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Foreign.Index\"] = $PS[\"Foreign.Index\"] || {};\n var exports = $PS[\"Foreign.Index\"];\n var $foreign = $PS[\"Foreign.Index\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Foreign = $PS[\"Foreign\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n 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);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query.Input\"] = $PS[\"Halogen.Query.Input\"] || {};\n var exports = $PS[\"Halogen.Query.Input\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.Event.Event\"] = $PS[\"Web.Event.Event\"] || {};\n var exports = $PS[\"Web.Event.Event\"];\n var $foreign = $PS[\"Web.Event.Event\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var currentTarget = function ($8) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($8));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML.Event.EventTypes\"] = $PS[\"Web.HTML.Event.EventTypes\"] || {};\n var exports = $PS[\"Web.HTML.Event.EventTypes\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {};\n var exports = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.HTML.Events\"] = $PS[\"Halogen.HTML.Events\"] || {};\n var exports = $PS[\"Halogen.HTML.Events\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Index = $PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Event_EventTypes = $PS[\"Web.HTML.Event.EventTypes\"];\n var Web_UIEvent_MouseEvent_EventTypes = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n var $0 = Halogen_HTML_Core.handler(et);\n var $1 = Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create));\n return function ($2) {\n return $0($1($2));\n };\n }; \n var onClick = (function () {\n var $3 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($4) {\n return $3(mouseHandler($4));\n };\n })(); \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.HTML.Properties\"] = $PS[\"Halogen.HTML.Properties\"] || {};\n var exports = $PS[\"Halogen.HTML.Properties\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($11) {\n return Halogen_HTML_Core.ref(go($11));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\");\n var class_ = (function () {\n var $18 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $19 = Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName);\n return function ($20) {\n return $18($19($20));\n };\n })();\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = (function () {\n var $21 = prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\");\n return function ($22) {\n return $21((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($22));\n };\n })();\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS);\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Bounded\"] = $PS[\"Data.Bounded\"] || {};\n var exports = $PS[\"Data.Bounded\"];\n var $foreign = $PS[\"Data.Bounded\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Enum\"] = $PS[\"Data.Enum\"] || {};\n var exports = $PS[\"Data.Enum\"];\n var $foreign = $PS[\"Data.Enum\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Semiring\"] = $PS[\"Data.Semiring\"] || {};\n var exports = $PS[\"Data.Semiring\"];\n var $foreign = $PS[\"Data.Semiring\"];\n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n exports[\"semiringInt\"] = semiringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Ring\"] = $PS[\"Data.Ring\"] || {};\n var exports = $PS[\"Data.Ring\"];\n var $foreign = $PS[\"Data.Ring\"];\n var Data_Semiring = $PS[\"Data.Semiring\"];\n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"ringInt\"] = ringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.CommutativeRing\"] = $PS[\"Data.CommutativeRing\"] || {};\n var exports = $PS[\"Data.CommutativeRing\"];\n var Data_Ring = $PS[\"Data.Ring\"];\n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.EuclideanRing\"] = $PS[\"Data.EuclideanRing\"] || {};\n var exports = $PS[\"Data.EuclideanRing\"];\n var $foreign = $PS[\"Data.EuclideanRing\"];\n var Data_CommutativeRing = $PS[\"Data.CommutativeRing\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.String.CodeUnits\"] = $PS[\"Data.String.CodeUnits\"] || {};\n var exports = $PS[\"Data.String.CodeUnits\"];\n var $foreign = $PS[\"Data.String.CodeUnits\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.String.Unsafe\"] = $PS[\"Data.String.Unsafe\"] || {};\n var exports = $PS[\"Data.String.Unsafe\"];\n var $foreign = $PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Unfoldable1\"] = $PS[\"Data.Unfoldable1\"] || {};\n var exports = $PS[\"Data.Unfoldable1\"];\n var $foreign = $PS[\"Data.Unfoldable1\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Unfoldable\"] = $PS[\"Data.Unfoldable\"] || {};\n var exports = $PS[\"Data.Unfoldable\"];\n var $foreign = $PS[\"Data.Unfoldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = $PS[\"Data.Unfoldable1\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n };\n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.String.CodePoints\"] = $PS[\"Data.String.CodePoints\"] || {};\n var exports = $PS[\"Data.String.CodePoints\"];\n var $foreign = $PS[\"Data.String.CodePoints\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Enum = $PS[\"Data.Enum\"];\n var Data_EuclideanRing = $PS[\"Data.EuclideanRing\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_CodeUnits = $PS[\"Data.String.CodeUnits\"];\n var Data_String_Unsafe = $PS[\"Data.String.Unsafe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = (function () {\n var $53 = Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar));\n return function ($54) {\n return Data_String_CodeUnits.singleton($53($54));\n };\n })();\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Util\"] = $PS[\"Util\"] || {};\n var exports = $PS[\"Util\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var whenH = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return Halogen_HTML_Core.text(\"\");\n };\n };\n var whenA = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return [ ];\n };\n };\n var ifElseH = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var fromNullableStr = (function () {\n var $59 = Data_Maybe.fromMaybe(\"\");\n return function ($60) {\n return $59(Data_Nullable.toMaybe($60));\n };\n })();\n var class_ = function ($61) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($61));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = (function () {\n var $62 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($63) {\n return Global_Unsafe.unsafeDecodeURIComponent($62($63));\n };\n })();\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $56 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($56) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($66) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($66));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var v = _loc();\n var v1 = Web_HTML_Location.search(v)();\n return _parseQueryString(v1);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.AccountSettings\"] = $PS[\"Component.AccountSettings\"] || {};\n var exports = $PS[\"Component.AccountSettings\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($23) {\n return Data_Maybe.Just.create(UEditField.create(f($23)));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var handleAction = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1)));\n });\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"usetting\"] = usetting;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.Add\"] = $PS[\"Component.Add\"] || {};\n var exports = $PS[\"Component.Add\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = (function () {\n var $60 = Data_Array.drop(1);\n var $61 = Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n });\n var $62 = Data_String_Common.split(\"\\x0a\");\n return function ($63) {\n return $60($61($62($63)));\n };\n })();\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($64) {\n return Data_Maybe.Just.create(BEditField.create(f($64)));\n };\n };\n var display_exists = function (v1) {\n return 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($65) {\n return Data_Maybe.Just.create(BEditSubmit.create($65));\n }) ])([ 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_([ Util.whenH(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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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.isPropInputType)(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 () {\n var $33 = v.bm.bid > 0;\n if ($33) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n };\n return Util.ifElseH(!v.destroyed)(display_edit)(display_destroyed);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (v1) {\n 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 () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $42 = {};\n for (var $43 in v2) {\n if ({}.hasOwnProperty.call(v2, $43)) {\n $42[$43] = v2[$43];\n };\n };\n $42.destroyed = true;\n return $42;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 160, column 17 - line 166, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (v2) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (v4) {\n var v5 = Util[\"_lookupQueryStringValue\"](v4)(\"next\");\n if (v5 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 152, column 3 - line 152, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"addbmark\"] = addbmark;\n})(PS);\n(function(exports) {\n // use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML.HTMLElement\"] = $PS[\"Web.HTML.HTMLElement\"] || {};\n var exports = $PS[\"Web.HTML.HTMLElement\"];\n var $foreign = $PS[\"Web.HTML.HTMLElement\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query\"] = $PS[\"Halogen.Query\"] || {};\n var exports = $PS[\"Halogen.Query\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = (function () {\n var $1 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n });\n return function ($2) {\n return $1(Halogen_Query_HalogenM.getRef($2));\n };\n })();\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.RawHtml\"] = $PS[\"Component.RawHtml\"] || {};\n var exports = $PS[\"Component.RawHtml\"];\n var $foreign = $PS[\"Component.RawHtml\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = $PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var handleAction = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (v2) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(v2)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v3) {\n return Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(Effect_Aff.forkAff(Effect_Aff.makeAff(function (cb) {\n return function __do() {\n Effect_Class.liftEffect(Effect_Class.monadEffectEffect)($foreign.unsafeSetInnerHTML(el)(toRawHTML(v3.inputval)))();\n return Data_Monoid.mempty(Effect.monoidEffect(Effect_Aff.monoidCanceler))();\n };\n })));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $12 = {};\n for (var $13 in v1) {\n if ({}.hasOwnProperty.call(v1, $13)) {\n $12[$13] = v1[$13];\n };\n };\n $12.inputval = v.value0;\n return $12;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($16) {\n return Data_Maybe.Just.create(Receive.create($16));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"mkComponent\"] = mkComponent;\n})(PS);\n(function(exports) {\n \n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n if (!str) return \"\";\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Foreign.Marked\"] = $PS[\"Foreign.Marked\"] || {};\n var exports = $PS[\"Foreign.Marked\"];\n var $foreign = $PS[\"Foreign.Marked\"];\n var Globals = $PS[\"Globals\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.Markdown\"] = $PS[\"Component.Markdown\"] || {};\n var exports = $PS[\"Component.Markdown\"];\n var Component_RawHtml = $PS[\"Component.RawHtml\"];\n var Foreign_Marked = $PS[\"Foreign.Marked\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Data.Void\"] = $PS[\"Data.Void\"] || {};\n var exports = $PS[\"Data.Void\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.HTML\"] = $PS[\"Halogen.HTML\"] || {};\n var exports = $PS[\"Halogen.HTML\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"]; \n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.BMark\"] = $PS[\"Component.BMark\"] || {};\n var exports = $PS[\"Component.BMark\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var BStar = (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n })();\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $47 = {};\n for (var $48 in v1) {\n if ({}.hasOwnProperty.call(v1, $48)) {\n $47[$48] = v1[$48];\n };\n };\n $47.deleteAsk = v.value0;\n return $47;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: false,\n bid: v2.bid,\n slug: v2.slug,\n selected: v2.selected,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 230, column 17 - line 236, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 197, column 3 - line 197, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var star = function (v1) {\n return 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(function (v2) {\n return new Data_Maybe.Just(new BStar(!v.bm.selected));\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]);\n };\n var shtime = Data_String_CodePoints.take(16)(v.bm.time) + \"Z\";\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($70) {\n return Data_Maybe.Just.create(BEditField.create(f($70)));\n };\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($71) {\n return Data_Maybe.Just.create(BEditSubmit.create($71));\n }) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 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.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 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.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 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.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 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.isPropInputType)(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.isPropInputType)(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(\"to-read\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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(function (v2) {\n return new Data_Maybe.Just(new BEdit(false));\n }) ]) ]) ]);\n };\n var display = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ 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 () {\n var $66 = Data_String_Common[\"null\"](v.bm.title);\n if ($66) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), 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.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $67 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($67) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.bm.description)(Data_Void.absurd) ]), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Util.whenA(!Data_String_Common[\"null\"](v.bm.tags))(function (v2) {\n return Data_Functor.map(Data_Functor.functorArray)(function (tag) {\n 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) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags));\n })), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(shtime) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BEdit(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }), Util.whenH(app.dat.isowner)(function (v2) {\n return 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(function (v3) {\n return new Data_Maybe.Just(BMarkRead.value);\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ]));\n }) ]);\n };\n 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\")) ])([ Util.whenH(app.dat.isowner)(star), Util.ifElseH(v.edit)(display_edit)(display) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"bmark\"] = bmark;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.BList\"] = $PS[\"Component.BList\"] || {};\n var exports = $PS[\"Component.BList\"];\n var Component_BMark = $PS[\"Component.BMark\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Data_Symbol.SProxy.value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"bookmark\";\n }))(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)((function () {\n var $5 = HandleBMessage.create(b.bid);\n return function ($6) {\n return Data_Maybe.Just.create($5($6));\n };\n })());\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"blist\"] = blist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.NList\"] = $PS[\"Component.NList\"] || {};\n var exports = $PS[\"Component.NList\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (note) {\n return Globals.mmoment8601(note.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (note) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\" + (function () {\n if (note.shared) {\n return \"\";\n };\n return \" private\";\n })()) ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $6 = Data_String_Common[\"null\"](note.title);\n if ($6) {\n return \"[no title]\";\n };\n return note.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(note.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(note.created)(Data_Tuple.snd)(mmoment(note))), Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(note))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Component.NNote\"] = $PS[\"Component.NNote\"] || {};\n var exports = $PS[\"Component.NNote\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var Eshared = (function () {\n function Eshared(value0) {\n this.value0 = value0;\n };\n Eshared.create = function (value0) {\n return new Eshared(value0);\n };\n return Eshared;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = function (v1) {\n return 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 () {\n var $34 = Data_String_Common[\"null\"](v.note.title);\n if ($34) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\") ])([ Halogen_HTML_Elements.span([ 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_Core.text(\" - \"), Halogen_HTML_Elements.span([ Util.class_(\"gray\") ])([ Halogen_HTML_Core.text((function () {\n if (v.note.shared) {\n return \"public\";\n };\n return \"private\";\n })()) ]) ]) ]) ])([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new NEdit(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new NDeleteAsk(true));\n }), 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.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(new NDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]));\n };\n var editField = function (f) {\n return function ($63) {\n return Data_Maybe.Just.create(NEditField.create(f($63)));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($64) {\n return Data_Maybe.Just.create(NEditSubmit.create($64));\n }) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 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 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 mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_shared\"), Halogen_HTML_Properties.name(\"shared\"), Halogen_HTML_Properties.checked(v.edit_note.shared), Halogen_HTML_Events.onChecked(editField(Eshared.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_shared\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"public?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(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.isPropInputType)(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(function (v2) {\n return new Data_Maybe.Just(new NEdit(false));\n }) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n };\n return Util.ifElseH(v.destroyed)(display_destroyed)(Data_Function[\"const\"](Util.ifElseH(v.edit)(renderNote_edit)(renderNote)));\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Eshared) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 177, column 19 - line 181, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.deleteAsk = v.value0;\n return $46;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n 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.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $51 = {};\n for (var $52 in v2) {\n if ({}.hasOwnProperty.call(v2, $52)) {\n $51[$52] = v2[$52];\n };\n };\n $51.destroyed = true;\n return $51;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\n });\n });\n };\n if (v instanceof NEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(v1)))(function (v2) {\n if (v2.body instanceof Data_Either.Left) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v2.body instanceof Data_Either.Right) {\n var $60 = v1.id === 0;\n if ($60) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 204, column 5 - line 212, column 27): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 172, column 3 - line 172, column 77): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nnote\"] = nnote;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Applicative.Free\"] = $PS[\"Control.Applicative.Free\"] || {};\n var exports = $PS[\"Control.Applicative.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Trans.Class\"] = $PS[\"Control.Monad.Trans.Class\"] || {};\n var exports = $PS[\"Control.Monad.Trans.Class\"];\n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Free.Trans\"] = $PS[\"Control.Monad.Free.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n 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));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)((function () {\n var $104 = Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f);\n return function ($105) {\n return $104(v1.value1($105));\n };\n })());\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 59, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n 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) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Coroutine\"] = $PS[\"Control.Coroutine\"] || {};\n var exports = $PS[\"Control.Coroutine\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)((function () {\n var $186 = Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0());\n var $187 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($188) {\n return $186($187($188));\n };\n })());\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n 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);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n 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) {\n 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) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v3) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(v1)(v2)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n 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) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v2) {\n return go(t);\n });\n })(v1.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ v1.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n 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) {\n if (v instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);\n };\n if (v instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ v.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"runProcess\"] = runProcess;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"functorAwait\"] = functorAwait;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Control.Monad.Fork.Class\"] = $PS[\"Control.Monad.Fork.Class\"] || {};\n var exports = $PS[\"Control.Monad.Fork.Class\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS);\n(function(exports) {\n /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.AVar\"] = $PS[\"Effect.AVar\"] || {};\n var exports = $PS[\"Effect.AVar\"];\n var $foreign = $PS[\"Effect.AVar\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Aff.AVar\"] = $PS[\"Effect.Aff.AVar\"] || {};\n var exports = $PS[\"Effect.Aff.AVar\"];\n var Effect_AVar = $PS[\"Effect.AVar\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n }; \n var kill = function (error) {\n var $17 = Effect_Class.liftEffect(Effect_Aff.monadEffectAff);\n var $18 = Effect_AVar.kill(error);\n return function ($19) {\n return $17($18($19));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Console\"] = $PS[\"Effect.Console\"] || {};\n var exports = $PS[\"Effect.Console\"];\n var $foreign = $PS[\"Effect.Console\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Effect.Exception\"] = $PS[\"Effect.Exception\"] || {};\n var exports = $PS[\"Effect.Exception\"];\n var $foreign = $PS[\"Effect.Exception\"];\n var $$throw = function ($2) {\n return $foreign.throwException($foreign.error($2));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.State\"] = $PS[\"Halogen.Aff.Driver.State\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.State\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var mapDriverState = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (lchs) {\n return function __do() {\n var v = Effect_Ref[\"new\"]({})();\n var v1 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v2 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v3 = Effect_Ref[\"new\"](handler)();\n var v4 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v5 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v6 = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v7 = Effect_Ref[\"new\"](1)();\n var v8 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var v9 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Halogen_Data_Slot.empty,\n childrenIn: v1,\n childrenOut: v2,\n selfRef: v,\n handlerRef: v3,\n pendingQueries: v4,\n pendingOuts: v5,\n pendingHandlers: v6,\n rendering: Data_Maybe.Nothing.value,\n fresh: v7,\n subscriptions: v8,\n forks: v9,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(v)();\n return mkDriverStateXRef(v);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query.ChildQuery\"] = $PS[\"Halogen.Query.ChildQuery\"] || {};\n var exports = $PS[\"Halogen.Query.ChildQuery\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Query.EventSource\"] = $PS[\"Halogen.Query.EventSource\"] || {};\n var exports = $PS[\"Halogen.Query.EventSource\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Unsafe.Reference\"] = $PS[\"Unsafe.Reference\"] || {};\n var exports = $PS[\"Unsafe.Reference\"];\n var $foreign = $PS[\"Unsafe.Reference\"];\n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.Eval\"] = $PS[\"Halogen.Aff.Driver.Eval\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Applicative_Free = $PS[\"Control.Applicative.Free\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Coroutine = $PS[\"Control.Coroutine\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_Free_Trans = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Query_ChildQuery = $PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"]; \n var unsubscribe = function (sid) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v.subscriptions)))(function (v1) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Halogen_Query_EventSource.finalize)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(v1));\n });\n });\n };\n };\n var queueOrRun = function (ref) {\n return function (au) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return au;\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(au, v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): \" + [ v.constructor.name ]);\n });\n };\n };\n var handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {\n 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 () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);\n });\n });\n });\n });\n });\n };\n };\n var fresh = function (f) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: f(i)\n };\n })(v.fresh));\n });\n };\n };\n var evalQ = function (render) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return evalM(render)(ref)(v[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(Data_Maybe.Just.create)(Data_Coyoneda.liftCoyoneda(q)), Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n });\n };\n };\n };\n var evalM = function (render) {\n return function (initRef) {\n return function (v) {\n var evalChildQuery = function (ref) {\n return function (cqb) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Halogen_Query_ChildQuery.unChildQueryBox(function (v2) {\n var evalChild = function (v3) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3)))(function (v4) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(v4);\n }));\n };\n return Data_Functor.map(Effect_Aff.functorAff)(v2.value2)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(v2.value0(Effect_Aff.applicativeParAff)(evalChild)(v1.children)));\n })(cqb);\n });\n };\n };\n var go = function (ref) {\n return function (v1) {\n if (v1 instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n var v3 = v1.value0(v2.state);\n if (Unsafe_Reference.unsafeRefEq(v2.state)(v3.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v2.component,\n state: v3.value1,\n refs: v2.refs,\n children: v2.children,\n childrenIn: v2.childrenIn,\n childrenOut: v2.childrenOut,\n selfRef: v2.selfRef,\n handlerRef: v2.handlerRef,\n pendingQueries: v2.pendingQueries,\n pendingOuts: v2.pendingOuts,\n pendingHandlers: v2.pendingHandlers,\n rendering: v2.rendering,\n fresh: v2.fresh,\n subscriptions: v2.subscriptions,\n forks: v2.forks,\n lifecycleHandlers: v2.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v2.lifecycleHandlers)(render(v2.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): \" + [ v3.constructor.name ]);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.SubscriptionId)(ref))(function (v2) {\n var v3 = v1.value0(v2);\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v4) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(v3)(function (v5) {\n var done = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v4.subscriptions)))(function (v6) {\n 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[\"delete\"](Halogen_Query_HalogenM.ordSubscriptionId)(v2)))(v4.subscriptions)))(function () {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(v2))(v6))(Halogen_Query_EventSource.finalize(v5.finalizer));\n });\n });\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (v6) {\n 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(v4.subscriptions))))(function (v7) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Data_Maybe.eqMaybe(Data_Eq.eqBoolean))(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(v2))(v7))(new Data_Maybe.Just(true)))(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)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalF(render)(ref)(new Halogen_Query_Input.Action(v6)))))(function (v8) {\n return consumer;\n }));\n });\n });\n 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(Halogen_Query_HalogenM.ordSubscriptionId)(v2)(done)))(v4.subscriptions)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v5.producer)))(function () {\n return Halogen_Query_EventSource.finalize(done);\n });\n });\n })))(function (v5) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(unsubscribe(v1.value0)(ref))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Lift) {\n return v1.value0;\n };\n if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v1.value0);\n };\n if (v1 instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.handlerRef)))(function (v3) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(v3(v1.value0)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp((function () {\n var $111 = Control_Parallel_Class.parallel(Effect_Aff.parallelAff);\n var $112 = evalM(render)(ref);\n return function ($113) {\n return $111($112($113));\n };\n })())(v1.value0)));\n };\n if (v1 instanceof Halogen_Query_HalogenM.Fork) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.ForkId)(ref))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v3) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v4) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Effect_Aff[\"finally\"](Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordForkId)(v2))(v3.forks)();\n return Effect_Ref.write(true)(v4)();\n }))(evalM(render)(ref)(v1.value0))))(function (v5) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad.unlessM(Effect.monadEffect)(Effect_Ref.read(v4))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(v2)(v5))(v3.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Kill) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (v3) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.killFiber(Effect_Exception.error(\"Cancelled\")))(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(v3)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v1.value0)(v2.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): \" + [ v1.constructor.name ]);\n };\n };\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(initRef))(v);\n };\n };\n };\n var evalF = function (render) {\n return function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_Input.RefUpdate) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Function.flip(Effect_Ref.modify_)(ref)(Halogen_Aff_Driver_State.mapDriverState(function (st) {\n return {\n component: st.component,\n state: st.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(st.refs),\n children: st.children,\n childrenIn: st.childrenIn,\n childrenOut: st.childrenOut,\n selfRef: st.selfRef,\n handlerRef: st.handlerRef,\n pendingQueries: st.pendingQueries,\n pendingOuts: st.pendingOuts,\n pendingHandlers: st.pendingHandlers,\n rendering: st.rendering,\n fresh: st.fresh,\n subscriptions: st.subscriptions,\n forks: st.forks,\n lifecycleHandlers: st.lifecycleHandlers\n };\n })));\n };\n if (v instanceof Halogen_Query_Input.Action) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return evalM(render)(ref)(v1[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Action(v.value0, Data_Unit.unit)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"evalF\"] = evalF;\n exports[\"evalQ\"] = evalQ;\n exports[\"evalM\"] = evalM;\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"queueOrRun\"] = queueOrRun;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Aff.Driver\"] = $PS[\"Halogen.Aff.Driver\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Coroutine = $PS[\"Control.Coroutine\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = $PS[\"Effect.Aff.AVar\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Console = $PS[\"Effect.Console\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_Eval = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var handlePending = function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)((function () {\n var $78 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($79) {\n return handleAff($78(Data_List.reverse($79)));\n };\n })())();\n };\n };\n var cleanupSubscriptionsAndForks = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $80 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)((function () {\n var $82 = Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff);\n return function ($83) {\n return $82(Halogen_Query_EventSource.finalize($83));\n };\n })());\n return function ($81) {\n return handleAff($80($81));\n };\n })()))(Effect_Ref.read(v.subscriptions))();\n Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $84 = Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"));\n return function ($85) {\n return handleAff($84($85));\n };\n })()))(Effect_Ref.read(v.forks))();\n return Effect_Ref.write(Data_Map_Internal.empty)(v.forks)();\n };\n };\n var runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var subscribe = function (fresh) {\n return function (ref) {\n return function (consumer) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var v1 = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v2) {\n return v2 + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();\n return v1;\n }))(function (v1) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.either(Data_Function[\"const\"](new Data_Either.Right(Data_Unit.unit)))(Data_Either.Left.create))(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_AVar.take(v))));\n 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 () {\n 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 () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(v);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n 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));\n });\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Initialize(Data_Unit.unit)));\n return Effect_Ref.modify_(function (handlers) {\n return {\n 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 () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(parentInitializer)(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var v = newLifecycleHandlers();\n var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(v)();\n var v2 = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: v2.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $86 = render(lchs);\n return function ($87) {\n return $86((function (v3) {\n return v3.selfRef;\n })($87));\n };\n })()))(Effect_Ref.read(v1))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();\n return v1;\n };\n });\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (slot) {\n return function __do() {\n var v = Data_Functor.map(Effect.functorEffect)(slot.pop)(Effect_Ref.read(childrenInRef))();\n var v1 = (function () {\n if (v instanceof Data_Maybe.Just) {\n Effect_Ref.write(v.value0.value1)(childrenInRef)();\n var v1 = Effect_Ref.read(v.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)((function () {\n var $88 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($89) {\n return $88(slot.output($89));\n };\n })())();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](slot.input)))();\n };\n })(v1)();\n return v.value0.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n if (slot.input instanceof Halogen_Query_HalogenQ.Receive) {\n return runComponent(lchs)((function () {\n var $90 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($91) {\n return $90(slot.output($91));\n };\n })())(slot.input.value0)(slot.component)();\n };\n return Effect_Exception[\"throw\"](\"Halogen internal error: slot input was not a Receive query\")();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 249, column 81): \" + [ v.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(function ($92) {\n return Data_Maybe.isJust(slot.get($92));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set(v1))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {\n if (v3 instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v3 instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 254, column 37 - line 256, column 50): \" + [ v3.constructor.name ]);\n }))();\n };\n });\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var selfRef = Control_Category.identity(Control_Category.categoryFn)(v.selfRef);\n var pendingQueries = Control_Category.identity(Control_Category.categoryFn)(v.pendingQueries);\n var pendingHandlers = Control_Category.identity(Control_Category.categoryFn)(v.pendingHandlers);\n var handler = (function () {\n var $93 = Halogen_Aff_Driver_Eval.queueOrRun(pendingHandlers);\n var $94 = Data_Functor[\"void\"](Effect_Aff.functorAff);\n var $95 = Halogen_Aff_Driver_Eval.evalF(render)(selfRef);\n return function ($96) {\n return $93($94($95($96)));\n };\n })();\n var childHandler = (function () {\n var $97 = Halogen_Aff_Driver_Eval.queueOrRun(pendingQueries);\n return function ($98) {\n return $97(handler(Halogen_Query_Input.Action.create($98)));\n };\n })();\n var v2 = renderSpec.render(function ($99) {\n return handleAff(handler($99));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var v3 = Effect_Ref.read(v.childrenOut)();\n var v4 = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(v4)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(v5)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v6)();\n return finalize(lchs)(v6)();\n };\n })();\n Data_Function.flip(Effect_Ref.modify_)(v.selfRef)(Halogen_Aff_Driver_State.mapDriverState(function (ds$prime) {\n return {\n component: ds$prime.component,\n state: ds$prime.state,\n refs: ds$prime.refs,\n children: v3,\n childrenIn: ds$prime.childrenIn,\n childrenOut: ds$prime.childrenOut,\n selfRef: ds$prime.selfRef,\n handlerRef: ds$prime.handlerRef,\n pendingQueries: ds$prime.pendingQueries,\n pendingOuts: ds$prime.pendingOuts,\n pendingHandlers: ds$prime.pendingHandlers,\n rendering: new Data_Maybe.Just(v2),\n fresh: ds$prime.fresh,\n subscriptions: ds$prime.subscriptions,\n forks: ds$prime.forks,\n lifecycleHandlers: ds$prime.lifecycleHandlers\n };\n }))();\n return Control_Applicative.when(Effect.applicativeEffect)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $100 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($101) {\n return handleAff($100(Data_List.reverse($101)));\n };\n })())(v6)();\n var v7 = Effect_Ref.read(pendingHandlers)();\n var $68 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v7);\n if ($68) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptionsAndForks(st)();\n var f = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Finalize(Data_Unit.unit)));\n Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs)();\n return Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(st.children)(function (v) {\n return function __do() {\n var v1 = Effect_Ref.read(v)();\n return finalize(lchs)(v1)();\n };\n })();\n };\n });\n };\n var evalDriver = function (disposed) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(disposed)))(function (v) {\n if (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Maybe.Nothing.value);\n };\n return Halogen_Aff_Driver_Eval.evalQ(render)(ref)(q);\n });\n };\n };\n };\n var dispose = function (disposed) {\n return function (lchs) {\n return function (dsx) {\n return function (subsRef) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var v = Effect_Ref.read(disposed)();\n if (v) {\n return Data_Unit.unit;\n };\n Effect_Ref.write(true)(disposed)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $102 = Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"));\n return function ($103) {\n return Effect_Aff.launchAff_($102($103));\n };\n })()))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $104 = Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose);\n return function ($105) {\n return $104((function (v1) {\n return v1.rendering;\n })($105));\n };\n })())(dsx)();\n });\n };\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v2) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {\n var v3 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v4 = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(v)(rootHandler(v3))(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(v2)(st.selfRef),\n subscribe: subscribe(v1)(v3),\n dispose: dispose(v2)(v)(v4)(v3)\n });\n })(v4)();\n });\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.DOM.ParentNode\"] = $PS[\"Web.DOM.ParentNode\"] || {};\n var exports = $PS[\"Web.DOM.ParentNode\"];\n var $foreign = $PS[\"Web.DOM.ParentNode\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var querySelector = function (qs) {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $4 = $foreign[\"_querySelector\"](qs);\n return function ($5) {\n return $3($4($5));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.HTML.HTMLDocument\"] = $PS[\"Web.HTML.HTMLDocument\"] || {};\n var exports = $PS[\"Web.HTML.HTMLDocument\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.Aff.Util\"] = $PS[\"Halogen.Aff.Util\"] || {};\n var exports = $PS[\"Halogen.Aff.Util\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Web_DOM_ParentNode = $PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)((function () {\n var $12 = Web_DOM_ParentNode.querySelector(query);\n return function ($13) {\n return $12(Web_HTML_HTMLDocument.toParentNode($13));\n };\n })())(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setAttribute = function (name) {\n return function (value) {\n return function (element) {\n return function () {\n element.setAttribute(name, value);\n return {};\n };\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.DOM.Element\"] = $PS[\"Web.DOM.Element\"] || {};\n var exports = $PS[\"Web.DOM.Element\"];\n var $foreign = $PS[\"Web.DOM.Element\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.DOM\"] = $PS[\"Halogen.VDom.DOM\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var haltWidget = function (v) {\n return Halogen_VDom_Machine.halt(v.widget);\n };\n var patchWidget = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchWidget(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Widget) {\n var v = Halogen_VDom_Machine.step(state.widget, vdom.value0);\n var res$prime = Halogen_VDom_Machine.unStep(function (v1) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1.value0, {\n build: state.build,\n widget: v\n }, patchWidget, haltWidget));\n })(v);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, v1);\n };\n var patchText = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchText(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Text) {\n if (state.value === vdom.value0) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, state, patchText, haltText));\n };\n if (Data_Boolean.otherwise) {\n var nextState = {\n build: state.build,\n node: state.node,\n value: vdom.value0\n };\n Halogen_VDom_Util.setTextContent(vdom.value0, state.node);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchText, haltText));\n };\n };\n haltText(state);\n return state.build(vdom);\n };\n var haltKeyed = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\n Halogen_VDom_Util.forInE(v.children, function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n });\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var haltElem = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\n Halogen_VDom_Util.forEachE(v.children, Halogen_VDom_Machine.halt);\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var eqElemSpec = function (ns1, v, ns2, v1) {\n var $84 = v === v1;\n if ($84) {\n if (ns1 instanceof Data_Maybe.Just && (ns2 instanceof Data_Maybe.Just && ns1.value0 === ns2.value0)) {\n return true;\n };\n if (ns1 instanceof Data_Maybe.Nothing && ns2 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var patchElem = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchElem(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Elem && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n var v1 = Data_Array.length(state.children);\n if (v1 === 0 && v === 0) {\n var v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n var onThis = function (ix, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (ix, s, v2) {\n var v3 = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var onThat = function (ix, v2) {\n var v3 = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n haltElem(state);\n return state.build(vdom);\n };\n var patchKeyed = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchKeyed(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Keyed && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n if (state.length === 0 && v === 0) {\n var v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children,\n length: 0\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (v2, ix$prime, s, v3) {\n var v5 = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var onThat = function (v2, ix, v3) {\n var v5 = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var v2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2,\n length: v\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n haltKeyed(state);\n return state.build(vdom);\n };\n var buildWidget = function (v, build, w) {\n var v1 = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v2) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v2.value0, {\n build: build,\n widget: v1\n }, patchWidget, haltWidget));\n })(v1);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var v1 = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: v1,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (k, ix, v2) {\n var v3 = build(v2.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2,\n length: Data_Array.length(ch1)\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchKeyed, haltKeyed));\n };\n var buildElem = function (v, build, ns1, name1, as1, ch1) {\n var v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (ix, child) {\n var v2 = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v2), node);\n return v2;\n };\n var v2 = Halogen_VDom_Util.forE(ch1, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchElem, haltElem));\n };\n var buildVDom = function (spec) {\n var build = function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return build(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n return build;\n };\n exports[\"buildVDom\"] = buildVDom;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.Thunk\"] = $PS[\"Halogen.VDom.Thunk\"] || {};\n var exports = $PS[\"Halogen.VDom.Thunk\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"]; \n var Thunk = (function () {\n function Thunk(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Thunk.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Thunk(value0, value1, value2, value3);\n };\n };\n };\n };\n return Thunk;\n })(); \n var unsafeEqThunk = function (v, v1) {\n return Halogen_VDom_Util.refEq(v.value0, v1.value0) && (Halogen_VDom_Util.refEq(v.value1, v1.value1) && Halogen_VDom_Util.refEq(v.value3, v1.value3));\n };\n var thunk = function (tid, eqFn, f, a) {\n return new Thunk(tid, eqFn, f, a);\n };\n var runThunk = function (v) {\n return v.value2(v.value3);\n };\n var buildThunk = function (toVDom) {\n var haltThunk = function (state) {\n return Halogen_VDom_Machine.halt(state.vdom);\n };\n var patchThunk = function (state, t2) {\n var $45 = unsafeEqThunk(state.thunk, t2);\n if ($45) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var v = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n vdom: v,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var v = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n thunk: t,\n vdom: v\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Web.DOM.Node\"] = $PS[\"Web.DOM.Node\"] || {};\n var exports = $PS[\"Web.DOM.Node\"];\n var $foreign = $PS[\"Web.DOM.Node\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var parentNode = (function () {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($4) {\n return $3($foreign[\"_parentNode\"]($4));\n };\n })();\n var nextSibling = (function () {\n var $14 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($15) {\n return $14($foreign[\"_nextSibling\"]($15));\n };\n })();\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Halogen.VDom.Driver\"] = $PS[\"Halogen.VDom.Driver\"] || {};\n var exports = $PS[\"Halogen.VDom.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver = $PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Thunk = $PS[\"Halogen.VDom.Thunk\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"];\n var Web_DOM_Node = $PS[\"Web.DOM.Node\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var v1 = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(v1)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = function (st) {\n if (st instanceof Data_Maybe.Just) {\n return Halogen_VDom_Machine.halt(st.value0);\n };\n return Data_Unit.unit;\n };\n var buildWidget = function (spec) {\n var buildThunk = Halogen_VDom_Thunk.buildThunk(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeHTML))(spec);\n var renderComponentSlot = function (cs) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(cs)();\n var node = getNode(v1);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, Data_Maybe.Nothing.value, patch, done));\n };\n var render = function (slot) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var v = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): \" + [ slot.constructor.name ]);\n };\n var patch = function (st, slot) {\n if (st instanceof Data_Maybe.Just) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n Halogen_VDom_Machine.halt(st.value0);\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var v = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): \" + [ slot.constructor.name ]);\n };\n return render(slot);\n };\n return render;\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n };\n var renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var v2 = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(v2)(document);\n var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(v3);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: v3,\n node: node,\n renderChildRef: v2\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var v2 = Web_DOM_Node.parentNode(v1.value0.node)();\n var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();\n var v4 = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(v4);\n 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))();\n return {\n machine: v4,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild,\n dispose: removeChild\n };\n };\n };\n var runUI = function (component) {\n return function (i) {\n return function (element) {\n 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) {\n return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.3\n \"use strict\";\n $PS[\"Main\"] = $PS[\"Main\"] || {};\n var exports = $PS[\"Main\"];\n var $foreign = $PS[\"Main\"];\n var App = $PS[\"App\"];\n var Component_AccountSettings = $PS[\"Component.AccountSettings\"];\n var Component_Add = $PS[\"Component.Add\"];\n var Component_BList = $PS[\"Component.BList\"];\n var Component_NList = $PS[\"Component.NList\"];\n var Component_NNote = $PS[\"Component.NNote\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Aff_Util = $PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = $PS[\"Halogen.VDom.Driver\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"]; \n var viewRendered = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\"#content\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.setAttribute(\"view-rendered\")(\"\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n 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) {\n 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 () {\n return viewRendered;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n 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) {\n 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 () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)((function () {\n var $0 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($1) {\n return $0(Effect_Aff.launchAff(App.logout($1)));\n };\n })())(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"viewRendered\"] = viewRendered;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS);\nPS[\"Main\"].main();"]} \ No newline at end of file diff --git a/static/js/app.min.js.map.gz b/static/js/app.min.js.map.gz index b791a870422a9c4436bb6c008e04b9dacd35a9e6..7f0588a8d0d3649a2134b4c348bfcae29f104a8c 100644 GIT binary patch literal 229357 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
    l;?-D8E^K$|Vq(4U0tYzs{n#~} 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 z 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%0A&mBqe`tIR+g<1TjY#_A#w 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�?tTLKiXlsjFDDSmf640 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 Iz(bG`0KAcsMgRZ+ literal 228744 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

    &kLla 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 TTaUi@^~3)kk>K!cV|x(*c{NkR

    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 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate (y) {\n var date;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n var args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays (ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays :\n this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];\n return (m === true) ? shiftWeekdays(weekdays, this._week.dow)\n : (m) ? weekdays[m.day()] : weekdays;\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000;\n var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month': return months;\n case 'quarter': return months / 3;\n case 'year': return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asQuarters = makeAs('Q');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.24.0';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|`(?!`)|[^\\[\\]\\\\`])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = cap[0].length - (cap[2].length - lastParenIndex) - (cap[3] || '').length;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '