From a617c695c8362b52cca7f6eadaa2f8b03a5f18a0 Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Fri, 8 Mar 2019 10:48:46 -0600 Subject: [PATCH] use absolute time --- purs/src/Component/BMark.purs | 11 +++++------ purs/src/Component/RawHtml.purs | 7 +++++-- purs/src/Marked.js | 1 + static/js/app.min.js | 2 +- static/js/app.min.js.gz | Bin 74386 -> 74562 bytes static/js/app.min.map | 2 +- static/js/app.min.map.gz | Bin 236795 -> 237586 bytes 7 files changed, 13 insertions(+), 10 deletions(-) diff --git a/purs/src/Component/BMark.purs b/purs/src/Component/BMark.purs index 3d07973..d0c1771 100644 --- a/purs/src/Component/BMark.purs +++ b/purs/src/Component/BMark.purs @@ -7,15 +7,14 @@ import Component.Markdown as Markdown import Data.Array (drop, foldMap) import Data.Const (Const) import Data.Lens (Lens', lens, use, (%=), (.=)) -import Data.Maybe (Maybe(..), fromMaybe, isJust, maybe) +import Data.Maybe (Maybe(..), fromMaybe, isJust) import Data.Monoid (guard) import Data.Nullable (toMaybe) import Data.String (null, split, take) as S import Data.String.Pattern (Pattern(..)) import Data.Symbol (SProxy(..)) -import Data.Tuple (fst, snd) import Effect.Aff (Aff) -import Globals (app', mmoment8601) +import Globals (app') import Halogen as H import Halogen.HTML (HTML, a, br_, button, div, div_, form, input, label, span, text, textarea) import Halogen.HTML as HH @@ -124,8 +123,8 @@ bmark b' = [ text tag ]) (S.split (Pattern " ") bm.tags) - , a [ class_ "link f7 dib gray w4", title (maybe bm.time snd mmoment) , href (linkToFilterSingle bm.slug) ] - [ text (maybe " " fst mmoment) ] + , a [ class_ "link f7 dib gray w4", href (linkToFilterSingle bm.slug) ] + [ text shtime ] -- links , whenH app.dat.isowner $ \_ -> @@ -194,7 +193,7 @@ bmark b' = editField f = Just <<< BEditField <<< f linkToFilterSingle slug = fromNullableStr app.userR <> "/b:" <> slug linkToFilterTag tag = fromNullableStr app.userR <> "/t:" <> tag - mmoment = mmoment8601 bm.time + shtime = S.take 16 bm.time toTextarea input = S.split (Pattern "\n") input # foldMap (\x -> [br_, text x]) diff --git a/purs/src/Component/RawHtml.purs b/purs/src/Component/RawHtml.purs index 901a8f4..424a37a 100644 --- a/purs/src/Component/RawHtml.purs +++ b/purs/src/Component/RawHtml.purs @@ -5,7 +5,8 @@ import Prelude import Data.Foldable (for_) import Data.Maybe (Maybe(..)) import Effect (Effect) -import Effect.Aff (Aff) +import Effect.Aff (Aff, forkAff, makeAff) +import Effect.Class (liftEffect) import Globals (RawHTML(..)) import Halogen as H import Halogen.HTML as HH @@ -52,7 +53,9 @@ mkComponent toRawHTML = mel <- H.getHTMLElementRef elRef for_ mel \el -> do { inputval } <- H.get - H.liftEffect (unsafeSetInnerHTML el (toRawHTML inputval)) + H.liftAff $ forkAff $ makeAff \cb -> do + liftEffect $ unsafeSetInnerHTML el (toRawHTML inputval) + mempty pure unit Receive inputval -> do diff --git a/purs/src/Marked.js b/purs/src/Marked.js index c65def9..072e2ca 100644 --- a/purs/src/Marked.js +++ b/purs/src/Marked.js @@ -6,5 +6,6 @@ marked.setOptions({ }); exports.markedImpl = function(str) { + if (!str) return ""; return marked(str); }; diff --git a/static/js/app.min.js b/static/js/app.min.js index 8459da2..91afdcf 100644 --- a/static/js/app.min.js +++ b/static/js/app.min.js @@ -11,6 +11,6 @@ var e,t=arguments[3];!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4 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(o)})},o.responseType=e.responseType,o.withCredentials=e.withCredentials,o.send(e.content),function(n,e,t){try{o.abort()}catch(f){return e(f)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(t["Data.Argonaut.Core"]=t["Data.Argonaut.Core"]||{}),function(n){"use strict";(t["Data.Eq"]=t["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(t["Data.Symbol"]=t["Data.Symbol"]||{}),function(n){"use strict";(t["Data.Unit"]=t["Data.Unit"]||{}).unit={}}(),function(n){"use strict";(t["Data.Show"]=t["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";(t["Record.Unsafe"]=t["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=t["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(t["Record.Unsafe"]=t["Record.Unsafe"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(t["Type.Data.RowList"]=t["Type.Data.RowList"]||{}),function(n){"use strict";var e=t["Data.Show"],r=(t["Data.Symbol"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.show=n}),a=new r(e.showIntImpl);n.Show=r,n.show=function(n){return n.show},n.showInt=a}(t["Data.Show"]=t["Data.Show"]||{}),function(n){"use strict";var e=t["Data.Unit"];t["Data.Show"];n.unit=e.unit}(t["Data.Unit"]=t["Data.Unit"]||{}),function(n){"use strict";var e=t["Data.HeytingAlgebra"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.Row"],t["Type.Data.RowList"],function(n,e,t,r,a,o){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=o}),a=function(n){return n.tt},o=function(n){return n.not},u=function(n){return n.implies},i=function(n){return n.ff},l=function(n){return n.disj},c=new r(e.boolConj,e.boolDisj,!1,function(n){return function(e){return l(c)(o(c)(n))(e)}},e.boolNot,!0),f=function(n){return n.conj};n.HeytingAlgebra=r,n.tt=a,n.ff=i,n.implies=u,n.conj=f,n.disj=l,n.not=o,n.heytingAlgebraBoolean=c,n.heytingAlgebraFunction=function(n){return new r(function(e){return function(t){return function(r){return f(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return l(n)(e(r))(t(r))}}},function(e){return i(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return o(n)(e(t))}},function(e){return a(n)})}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Show"];n.absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t["Data.Void"]=t["Data.Void"]||{}),function(n){"use strict";var e=t["Data.Eq"],r=(t["Data.HeytingAlgebra"],t["Data.Symbol"],t["Data.Unit"],t["Data.Void"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.eq=n}),a=new r(function(n){return function(n){return!0}}),o=new r(e.refEq),u=new r(e.refEq),i=new r(e.refEq),l=new r(e.refEq);n.Eq=r,n.eq=function(n){return n.eq},n.eqBoolean=l,n.eqInt=u,n.eqChar=i,n.eqString=o,n.eqUnit=a}(t["Data.Eq"]=t["Data.Eq"]||{}),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(t["Control.Semigroupoid"]=t["Control.Semigroupoid"]||{}),function(n){"use strict";var e=t["Control.Semigroupoid"],r=function(n,e){this.Semigroupoid0=n,this.identity=e},a=new r(function(){return e.semigroupoidFn},function(n){return n});n.Category=r,n.identity=function(n){return n.identity},n.categoryFn=a}(t["Control.Category"]=t["Control.Category"]||{}),function(n){"use strict";(t["Data.Boolean"]=t["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(t["Data.Ord.Unsafe"]=t["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){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";var e=t["Data.Ring"],r=(t["Data.Semiring"],t["Data.Symbol"],t["Data.Unit"],function(n){this.Ring0=n}),a=new r(function(){return e.ringInt});n.CommutativeRing=r,n.commutativeRingInt=a}(t["Data.CommutativeRing"]=t["Data.CommutativeRing"]||{}),function(n){"use strict";var e=t["Data.EuclideanRing"],r=(t["Data.BooleanAlgebra"],t["Data.CommutativeRing"]),a=(t["Data.Eq"],t["Data.HeytingAlgebra"],t["Data.Ring"],t["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),o=new a(function(){return r.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=a,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=o}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";t["Data.Boolean"],t["Data.Eq"],t["Data.EuclideanRing"],t["Data.Ord"],t["Data.Ordering"];var e=t["Data.Semigroup"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),a=new r(function(){return e.semigroupString},""),o=new r(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=r,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): "+[e.constructor.name,t.constructor.name])}}},n.monoidString=a,n.monoidArray=o}(t["Data.Monoid"]=t["Data.Monoid"]||{}),function(n){"use strict";t["Control.Alt"],t["Control.Alternative"],t["Control.Applicative"];var e=t["Control.Apply"],r=t["Control.Bind"],a=t["Control.Category"],o=(t["Control.Extend"],t["Control.Monad"],t["Control.MonadZero"],t["Control.Plus"],t["Data.Bounded"],t["Data.Eq"]),u=t["Data.Function"],i=t["Data.Functor"],l=(t["Data.Functor.Invariant"],t["Data.Monoid"],t["Data.Ord"],t["Data.Ordering"],t["Data.Semigroup"],t["Data.Show"],t["Data.Unit"],t.Prelude,function(){function n(){}return n.value=new n,n}()),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=function(n){return function(e){return function(t){if(t instanceof l)return n;if(t instanceof c)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},s=f(!0)(u.const(!1)),d=f(!1)(u.const(!0)),v=new i.Functor(function(n){return function(e){return e instanceof c?new c(n(e.value0)):l.value}}),p=new e.Apply(function(){return v},function(n){return function(e){if(n instanceof c)return i.map(v)(n.value0)(e);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),m=new r.Bind(function(){return p},function(n){return function(e){if(n instanceof c)return e(n.value0);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): "+[n.constructor.name,e.constructor.name])}});n.Nothing=l,n.Just=c,n.maybe=f,n.fromMaybe=function(n){return f(n)(a.identity(a.categoryFn))},n.isJust=d,n.isNothing=s,n.fromJust=function(n){return function(n){if(n instanceof c)return n.value0;throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}},n.functorMaybe=v,n.applyMaybe=p,n.bindMaybe=m,n.eqMaybe=function(n){return new o.Eq(function(e){return function(t){return e instanceof l&&t instanceof l||e instanceof c&&t instanceof c&&o.eq(n)(e.value0)(t.value0)}})}}(t["Data.Maybe"]=t["Data.Maybe"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(t["Foreign.Object"]=t["Foreign.Object"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,o=0;o=0&&n0)&&(b=F,w=V._3(Q)));break;case m:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=P&&P!==N?V._1.killed(n.fromLeft(P))(V._2):y?V._1.failed(n.fromLeft(y))(V._2):V._1.completed(n.fromRight(w))(V._2),y=null;break;case g:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=V._1;break;case D:W--,b=_,w=V._1,y=V._2}break;case I:for(var j in B)B.hasOwnProperty(j)&&(q=q&&B[j].rethrow,E(B[j].handler(w)));return B=null,void(P&&y?setTimeout(function(){throw n.fromLeft(y)},0):n.isLeft(w)&&q&&setTimeout(function(){if(q)throw n.fromLeft(w)},0));case T:b=F;break;case L:return}}function Q(n){return function(){if(b===I)return q=q&&n.rethrow,n.handler(w)(),function(){};var e=N++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(b===I)return t(n.right(void 0))(),function(){};var r=Q({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case T:P=n.left(e),b=I,w=P,J(d);break;case L:null===P&&(P=n.left(e)),0===W&&(b===L&&(O=new h(v,new h(g,w(e)),O,P)),b=_,w=null,y=null,J(++d));break;default:null===P&&(P=n.left(e)),0===W&&(b=_,w=null,y=null)}return r}},join:function(n){return function(){var e=Q({rethrow:!1,handler:n})();return b===T&&J(d),e}},onComplete:Q,isSuspended:function(){return b===T},run:function(){b===T&&(A.isDraining()?J(d):A.enqueue(function(){J(d)}))}}}function P(e,t,r,a){var u=0,i={},l=0,c={},p=new Error("[ParAff] Early exit"),m=null,g=n;function D(t,r,a){var o,u,l=r,c=null,p=null,m=0,g={};n:for(;;)switch(o=null,l.tag){case b:if(l._3===n&&(o=i[l._1],g[m++]=o.kill(t,function(n){return function(){0===--m&&a(n)()}})),null===c)break n;l=c._2,null===p?c=null:(c=p._1,p=p._2);break;case f:l=l._2;break;case s:case d:c&&(p=new h(v,c,p)),c=l,l=l._1}if(0===m)a(e.right(void 0))();else for(u=0,o=m;u=r.bottom(r.boundedInt)&&n<=r.top(r.boundedInt)?new a.Just(e.fromCharCode(n)):a.Nothing.value},v=new u(function(){return o.ordChar},s(d)(e.toCharCode),f(d)(e.toCharCode)),p=new i(function(){return r.boundedChar},function(){return v},e.toCharCode(r.top(r.boundedChar))-e.toCharCode(r.bottom(r.boundedChar))|0,e.toCharCode,d);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=i,n.cardinality=function(n){return n.cardinality},n.toEnum=l,n.fromEnum=c,n.toEnumWithDefaults=function(n){return function(e){return function(t){return function(o){var u=l(n)(o);if(u instanceof a.Just)return u.value0;if(u instanceof a.Nothing)return o1){var t=o.fromEnum(o.boundedEnumChar)(f.charAt(1)(n));return p(t)?v(e)(t):e}return e}),h=e._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(D)(n)})(b),w=function(n){return c.singleton(o.toEnumWithDefaults(o.boundedEnumChar)(a.bottom(a.boundedChar))(a.top(a.boundedChar))(n))},y=e._singleton(function(n){if(n<=65535)return w(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return w(e)+w(t)}),E=e._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof l.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});n.singleton=y,n.toCodePointArray=h,n.uncons=g,n.length=function(n){return r.length(h(n))},n.take=E,n.drop=function(n){return function(e){return c.drop(c.length(E(n)(e)))(e)}}}(t["Data.String.CodePoints"]=t["Data.String.CodePoints"]||{}),function(n){"use strict";t["Control.Applicative"];var e=t["Control.Bind"],r=(t["Control.Monad.Maybe.Trans"],t["Control.Semigroupoid"],t["Data.Array"]),a=(t["Data.Eq"],t["Data.Foldable"]),o=(t["Data.Function"],t["Data.Functor"]),u=(t["Data.HeytingAlgebra"],t["Data.Maybe"]),i=t["Data.Nullable"],l=(t["Data.String"],t["Data.String.CodePoints"]),c=t["Data.String.Common"],f=(t["Data.String.Pattern"],t["Data.Tuple"]),s=t["Data.Unit"],d=t.Effect,v=t["Global.Unsafe"],p=(t.Halogen,t["Halogen.HTML"],t["Halogen.HTML.Core"]),m=t["Halogen.HTML.Properties"],g=(t["Partial.Unsafe"],t.Prelude,t["Web.DOM"],t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.NodeList"],t["Web.DOM.NonElementParentNode"],t["Web.DOM.ParentNode"],t["Web.HTML"]),D=(t["Web.HTML.HTMLDocument"],t["Web.HTML.HTMLElement"],t["Web.HTML.Location"]),b=t["Web.HTML.Window"],h=function(n){var e,t=function(n){return v.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},a="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return r.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new u.Just(new f.Tuple(t(e[0]),u.Nothing.value)):2===e.length?new u.Just(new f.Tuple(t(e[0]),new u.Just(t(e[1])))):u.Nothing.value})(r.filter(function(n){return""!==n})(c.split("&")(a)))},w=e.bindFlipped(d.bindEffect)(b.location)(g.window);n.class_=function(n){return m.class_(p.ClassName(n))},n.attr=function(n){return m.attr(n)},n._loc=w,n._curQuerystring=function(){var n=w(),e=D.search(n)();return h(e)},n._parseQueryString=h,n._lookupQueryStringValue=function(n){return function(t){return e.join(u.bindMaybe)(o.map(u.functorMaybe)(f.snd)(a.find(a.foldableArray)(function(n){return f.fst(n)===t})(n)))}},n.whenH=function(n){return function(e){return n?e(s.unit):p.text("")}},n.whenA=function(n){return function(e){return n?e(s.unit):[]}},n.ifElseH=function(n){return function(e){return function(t){return n?e(s.unit):t(s.unit)}}},n.fromNullableStr=function(n){return u.fromMaybe("")(i.toMaybe(n))}}(t.Util=t.Util||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.InputType"]),o=t["Data.Function"],u=t["Data.Functor"],i=(t["Data.Lens"],t["Data.Lens.Getter"]),l=t["Data.Lens.Internal.Forget"],c=t["Data.Lens.Lens"],f=t["Data.Lens.Setter"],s=t["Data.Maybe"],d=t["Data.Profunctor.Strong"],v=t["Data.Unit"],p=(t["Effect.Aff"],t["Effect.Aff.Class"]),m=t.Globals,g=(t.Halogen,t["Halogen.Component"]),D=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),b=t["Halogen.HTML.Elements"],h=t["Halogen.HTML.Events"],w=t["Halogen.HTML.Properties"],y=t["Halogen.Query.HalogenM"],E=(t.Model,t.Prelude,t.Util),M=(t["Web.Event.Event"],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}(),A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=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(n){return c.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=H,n.UEditField=T,n.USubmit=F,n.EarchiveDefault=M,n.EprivateDefault=C,n.EprivacyLock=A,n.usetting=function(n){var t;m["app'"](v.unit);return g.mkComponent({initialState:o.const((t=n,{us:t})),render:function(n){var e=function(n){return function(e){return s.Just.create(T.create(n(e)))}};return b.div([E.class_("settings-form")])([b.div([E.class_("fw7 mb2")])([D.text("Account Settings")]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("archiveDefault"),w.name("archiveDefault"),w.checked(n.us.archiveDefault),h.onChecked(e(M.create))]),b.label([w.for("archiveDefault"),E.class_("lh-copy")])([D.text("Archive Non-Private Bookmarks (archive.li)")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privateDefault"),w.name("privateDefault"),w.checked(n.us.privateDefault),h.onChecked(e(C.create))]),b.label([w.for("privateDefault"),E.class_("lh-copy")])([D.text("Default new bookmarks to Private")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privacyLock"),w.name("privacyLock"),w.checked(n.us.privacyLock),h.onChecked(e(A.create))]),b.label([w.for("privacyLock"),E.class_("lh-copy")])([D.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof T)return r.discard(r.discardUnit)(y.bindHalogenM)(f.modifying(y.monadStateHalogenM)(H(d.strongFn))(function(){if(n.value0 instanceof M)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 A)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(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(l.strongForget)))(function(n){return u.void(y.functorHalogenM)(p.liftAff(y.monadAffHalogenM(p.monadAffAff))(e.editAccountSettings(n)))})});if(n instanceof F)return r.bind(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(l.strongForget)))(function(n){return u.void(y.functorHalogenM)(p.liftAff(y.monadAffHalogenM(p.monadAffAff))(e.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:g.defaultEval.handleQuery,receive:g.defaultEval.receive,initialize:g.defaultEval.initialize,finalize:g.defaultEval.finalize})})}}(t["Component.AccountSettings"]=t["Component.AccountSettings"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=t["Control.Monad.State.Class"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),u=t["DOM.HTML.Indexed.InputType"],i=(t["Data.Array"],t["Data.Foldable"],t["Data.Function"]),l=t["Data.Functor"],c=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),f=t["Data.Lens.Internal.Forget"],s=t["Data.Lens.Lens"],d=t["Data.Lens.Setter"],v=t["Data.Maybe"],p=t["Data.Monoid"],m=(t["Data.Ord"],t["Data.Profunctor.Strong"]),g=t["Data.Semigroup"],D=(t["Data.String"],t["Data.String.Common"]),b=(t["Data.String.Pattern"],t["Data.Tuple"]),h=t["Data.Unit"],w=t["Effect.Aff"],y=t["Effect.Aff.Class"],E=t["Effect.Class"],M=t.Globals,C=(t.Halogen,t["Halogen.Component"]),A=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),T=t["Halogen.HTML.Elements"],F=t["Halogen.HTML.Events"],H=t["Halogen.HTML.Properties"],S=t["Halogen.Query.HalogenM"],L=(t.Model,t.Prelude,t.Util),_=t["Web.Event.Event"],I=t["Web.HTML"],k=t["Web.HTML.Location"],P=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}(),U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=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}(),N=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}(),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}(),Q=function(n){return s.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)},V=function(n){return s.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}}})(n)};n.BEditField=N,n.BEditSubmit=B,n.BDeleteAsk=q,n.BDestroy=J,n.Eurl=P,n.Etitle=x,n.Edescription=U,n.Etags=R,n.Eprivate=O,n.Etoread=W,n._bm=V,n._edit_bm=Q,n.addbmark=function(n){var t;M["app'"](h.unit);return C.mkComponent({initialState:i.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,destroyed:!1})),render:function(n){var e=M.mmoment8601(n.bm.time),t=function(n){return function(e){return v.Just.create(N.create(n(e)))}},r=function(t){return T.div([L.class_("alert")])([A.text("previously saved "),T.span([L.class_("link f7 dib gray pr3"),H.title(v.maybe(n.bm.time)(b.snd)(e))])([A.text(v.maybe(" ")(b.fst)(e))]),T.div([L.class_("edit_links dib ml1")])([T.div([L.class_("delete_link di")])([T.button(g.append(g.semigroupArray)([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!0))}),L.class_("delete")])(p.guard(p.monoidArray)(n.deleteAsk)([L.attr("hidden")("hidden")])))([A.text("delete")]),T.span(g.append(g.semigroupArray)([L.class_("confirm red")])(p.guard(p.monoidArray)(!n.deleteAsk)([L.attr("hidden")("hidden")])))([T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!1))})])([A.text("cancel / ")]),T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(J.value)}),L.class_("red")])([A.text("destroy")])])])])])};return L.ifElseH(!n.destroyed)(function(e){return T.form([F.onSubmit(function(n){return v.Just.create(B.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([H.for("url")])([A.text("URL")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputUrl.value),H.id_("url"),L.class_("w-100 mv1"),H.required(!0),H.name("url"),H.autofocus(D.null(n.bm.url)),H.value(n.edit_bm.url),F.onValueChange(t(P.create))])])]),T.tr_([T.td_([T.label([H.for("title")])([A.text("title")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("title"),L.class_("w-100 mv1"),H.name("title"),H.value(n.edit_bm.title),F.onValueChange(t(x.create))])])]),T.tr_([T.td_([T.label([H.for("description")])([A.text("description")])]),T.td_([T.textarea([L.class_("w-100 mt1 mid-gray"),H.id_("description"),H.name("description"),H.rows(4),H.value(n.edit_bm.description),F.onValueChange(t(U.create))])])]),T.tr_([T.td_([T.label([H.for("tags")])([A.text("tags")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("tags"),L.class_("w-100 mv1"),H.name("tags"),H.autocomplete(!1),L.attr("autocapitalize")("off"),H.autofocus(!D.null(n.bm.url)),H.value(n.edit_bm.tags),F.onValueChange(t(R.create))])])]),T.tr_([T.td_([T.label([H.for("private")])([A.text("private")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("private"),L.class_("private pointer"),H.name("private"),H.checked(n.edit_bm.private),F.onChecked(t(O.create))])])]),T.tr_([T.td_([T.label([H.for("toread")])([A.text("read later")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("toread"),L.class_("toread pointer"),H.name("toread"),H.checked(n.edit_bm.toread),F.onChecked(t(W.create))])])]),T.tr_([T.td_([]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputSubmit.value),L.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),H.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return T.p([L.class_("red")])([A.text("you killed this bookmark")])})},eval:C.mkEval({handleAction:function(n){if(n instanceof q)return a.modify_(S.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(S.bindHalogenM)(a.gets(S.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.destroy(n))))(function(){return a.modify_(S.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 N)return d.modifying(S.monadStateHalogenM)(Q(m.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 x)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 U)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 R)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 B)return r.discard(r.discardUnit)(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(_.preventDefault(n.value0)))(function(){return r.bind(S.bindHalogenM)(c.use(S.monadStateHalogenM)(Q(f.strongForget)))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.editBookmark(n))))(function(){return r.discard(r.discardUnit)(S.bindHalogenM)(d.assign(S.monadStateHalogenM)(V(m.strongFn))(n))(function(){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._loc))(function(n){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(I.window))(function(e){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._curQuerystring))(function(t){var r=L._lookupQueryStringValue(t)("next");return r instanceof v.Just?E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(k.setHref(r.value0)(n)):E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(M.closeWindow(e))})})})})})})});throw new Error("Failed pattern match at Component.Add (line 152, column 3 - line 152, column 69): "+[n.constructor.name])},handleQuery:C.defaultEval.handleQuery,receive:C.defaultEval.receive,initialize:C.defaultEval.initialize,finalize:C.defaultEval.finalize})})}}(t["Component.Add"]=t["Component.Add"]||{}),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";var e=t["Control.Bind"],r=(t["Control.Category"],t["Control.Monad.State.Class"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"],t["Data.Functor"]),a=t["Data.Maybe"],o=(t["Data.Unit"],t["Effect.Aff.Class"],t["Effect.Class"],t["Halogen.Query.HalogenM"]),u=(t["Halogen.Query.HalogenQ"],t["Halogen.Query.Input"],t.Prelude,t["Web.HTML.HTMLElement"]);n.getHTMLElementRef=function(n){return r.map(o.functorHalogenM)(function(n){return e.bindFlipped(a.bindMaybe)(u.fromElement)(n)})(o.getRef(n))}}(t["Halogen.Query"]=t["Halogen.Query"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["Data.Foldable"]),i=(t["Data.Function"],t["Data.Maybe"]),l=t["Data.Unit"],c=(t.Effect,t["Effect.Aff"]),f=t["Effect.Class"],s=(t.Globals,t.Halogen,t["Halogen.Component"]),d=(t["Halogen.HTML"],t["Halogen.HTML.Elements"]),v=t["Halogen.HTML.Properties"],p=t["Halogen.Query"],m=t["Halogen.Query.HalogenM"],g=(t["Halogen.Query.Input"],t.Prelude,t["Web.HTML"],function(){function n(){}return n.value=new n,n}()),D=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();n.SetInnerHTML=g,n.Receive=D,n.mkComponent=function(n){return s.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return d.div([v.ref(n.elRef)])([])},eval:s.mkEval({handleAction:function t(i){if(i instanceof g)return a.bind(m.bindHalogenM)(o.get(m.monadStateHalogenM))(function(t){return a.bind(m.bindHalogenM)(p.getHTMLElementRef(t.elRef))(function(t){return a.discard(a.discardUnit)(m.bindHalogenM)(u.for_(m.applicativeHalogenM)(u.foldableMaybe)(t)(function(t){return a.bind(m.bindHalogenM)(o.get(m.monadStateHalogenM))(function(r){return f.liftEffect(m.monadEffectHalogenM(c.monadEffectAff))(e.unsafeSetInnerHTML(t)(n(r.inputval)))})}))(function(){return r.pure(m.applicativeHalogenM)(l.unit)})})});if(i instanceof D)return a.discard(a.discardUnit)(m.bindHalogenM)(o.modify_(m.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 t(g.value)});throw new Error("Failed pattern match at Component.RawHtml (line 49, column 18 - line 60, column 22): "+[i.constructor.name])},handleQuery:s.defaultEval.handleQuery,receive:function(n){return i.Just.create(D.create(n))},initialize:new i.Just(g.value),finalize:s.defaultEval.finalize})})}}(t["Component.RawHtml"]=t["Component.RawHtml"]||{}),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return e(n)}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Foreign.Marked"],r=(t["Control.Semigroupoid"],t.Globals);t.Prelude;n.marked=function(n){return r.RawHTML(e.markedImpl(n))}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=(t["Data.Const"],t["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],t.Prelude,e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),i=t["DOM.HTML.Indexed.InputType"],l=(t["Data.Array"],t["Data.Const"],t["Data.Eq"],t["Data.Foldable"],t["Data.Function"]),c=t["Data.Functor"],f=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),s=t["Data.Lens.Internal.Forget"],d=t["Data.Lens.Lens"],v=t["Data.Lens.Setter"],p=t["Data.Maybe"],m=t["Data.Monoid"],g=t["Data.Nullable"],D=t["Data.Ord"],b=t["Data.Profunctor.Strong"],h=(t["Data.Semigroup"],t["Data.Show"]),w=(t["Data.String"],t["Data.String.CodePoints"]),y=t["Data.String.Common"],E=(t["Data.String.Pattern"],t["Data.Symbol"]),M=t["Data.Tuple"],C=t["Data.Unit"],A=t["Data.Void"],T=t["Effect.Aff"],F=t["Effect.Aff.Class"],H=t["Effect.Class"],S=t.Globals,L=(t.Halogen,t["Halogen.Component"]),_=t["Halogen.HTML"],I=t["Halogen.HTML.Core"],k=t["Halogen.HTML.Elements"],P=t["Halogen.HTML.Events"],x=t["Halogen.HTML.Properties"],U=t["Halogen.Query.HalogenM"],R=(t.Model,t.Prelude,t.Util),O=t["Web.Event.Event"],W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=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}(),V=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}(),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}(),Z=function(){function n(){}return n.value=new n,n}(),$=E.SProxy.value,nn=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)},en=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)},tn=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)};n.BStar=j,n.BDeleteAsk=z,n.BDestroy=G,n.BEdit=K,n.BEditField=X,n.BEditSubmit=Y,n.BMarkRead=Z,n.Eurl=W,n.Etitle=N,n.Edescription=B,n.Etags=q,n.Eprivate=J,n.Etoread=Q,n.BNotifyRemove=V,n._bm=tn,n._edit_bm=nn,n._edit=en,n._markdown=$,n.bmark=function(n){var t,d=S["app'"](C.unit);return L.mkComponent({initialState:l.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1})),render:function(n){var e=S.mmoment8601(n.bm.time),t=function(n){return R.fromNullableStr(d.userR)+"/t:"+n},a=function(n){return function(e){return p.Just.create(X.create(n(e)))}};return k.div([x.id_(h.show(h.showInt)(n.bm.bid)),R.class_("bookmark w-100 mw7 pa1 mb3"+m.guard(m.monoidString)(n.bm.private)(" private"))])([R.whenH(d.dat.isowner)(function(e){return k.div([R.class_("star fl pointer"+m.guard(m.monoidString)(n.bm.selected)(" selected"))])([k.button([R.class_("moon-gray"),P.onClick(function(e){return new p.Just(new j(!n.bm.selected))})])([I.text("✭")])])}),R.ifElseH(n.edit)(function(e){return k.div([R.class_("edit_bookmark_form pa2 pt0 bg-white")])([k.form([P.onSubmit(function(n){return p.Just.create(Y.create(n))})])([k.div_([I.text("url")]),k.input([x.type_(I.isPropInputType)(i.InputUrl.value),R.class_("url w-100 mb2 pt1 f7 edit_form_input"),x.required(!0),x.name("url"),x.value(n.edit_bm.url),P.onValueChange(a(W.create))]),k.br_,k.div_([I.text("title")]),k.input([x.type_(I.isPropInputType)(i.InputText.value),R.class_("title w-100 mb2 pt1 f7 edit_form_input"),x.name("title"),x.value(n.edit_bm.title),P.onValueChange(a(N.create))]),k.br_,k.div_([I.text("description")]),k.textarea([R.class_("description w-100 mb1 pt1 f7 edit_form_input"),x.name("description"),x.rows(5),x.value(n.edit_bm.description),P.onValueChange(a(B.create))]),k.br_,k.div([x.id_("tags_input_box")])([k.div_([I.text("tags")]),k.input([x.type_(I.isPropInputType)(i.InputText.value),R.class_("tags w-100 mb1 pt1 f7 edit_form_input"),x.name("tags"),x.autocomplete(!1),R.attr("autocapitalize")("off"),x.value(n.edit_bm.tags),P.onValueChange(a(q.create))]),k.br_]),k.div([R.class_("edit_form_checkboxes mv3")])([k.input([x.type_(I.isPropInputType)(i.InputCheckbox.value),R.class_("private pointer"),x.id_("edit_private"),x.name("private"),x.checked(n.edit_bm.private),P.onChecked(a(J.create))]),I.text(" "),k.label([x.for("edit_private"),R.class_("mr2")])([I.text("private")]),I.text(" "),k.input([x.type_(I.isPropInputType)(i.InputCheckbox.value),R.class_("toread pointer"),x.id_("edit_toread"),x.name("toread"),x.checked(n.edit_bm.toread),P.onChecked(a(Q.create))]),I.text(" "),k.label([x.for("edit_toread")])([I.text("to-read")]),k.br_]),k.input([x.type_(I.isPropInputType)(i.InputSubmit.value),R.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),x.value("save")]),I.text(" "),k.input([x.type_(I.isPropInputType)(i.InputReset.value),R.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),x.value("cancel"),P.onClick(function(n){return new p.Just(new K(!1))})])])])})(function(a){return k.div([R.class_("display")])([k.a([x.href(n.bm.url),x.target("_blank"),R.class_("link f5 lh-title"+m.guard(m.monoidString)(n.bm.toread)(" unread"))])([I.text(y.null(n.bm.title)?"[no title]":n.bm.title)]),k.br_,k.a([x.href(n.bm.url),R.class_("link f7 gray hover-blue")])([I.text(n.bm.url)]),k.a([x.href(p.fromMaybe("http://archive.is/"+n.bm.url)(g.toMaybe(n.bm.archiveUrl))),R.class_("link f7 gray hover-blue ml2"+m.guard(m.monoidString)(p.isJust(g.toMaybe(n.bm.archiveUrl)))(" green")),x.target("_blank"),x.title("archive link")])([p.isJust(g.toMaybe(n.bm.archiveUrl))?I.text("☑"):I.text("☐")]),k.br_,k.div([R.class_("description mt1 mid-gray")])([_.slot()(new E.IsSymbol(function(){return"markdown"}))(D.ordUnit)($)(C.unit)(r.component)(n.bm.description)(A.absurd)]),k.div([R.class_("tags")])(R.whenA(!y.null(n.bm.tags))(function(e){return c.map(c.functorArray)(function(n){return k.a([R.class_("link tag mr1"+m.guard(m.monoidString)("."===w.take(1)(n))(" private")),x.href(t(n))])([I.text(n)])})(y.split(" ")(n.bm.tags))})),k.a([R.class_("link f7 dib gray w4"),x.title(p.maybe(n.bm.time)(M.snd)(e)),x.href((o=n.bm.slug,R.fromNullableStr(d.userR)+"/b:"+o))])([I.text(p.maybe(" ")(M.fst)(e))]),R.whenH(d.dat.isowner)(function(e){return k.div([R.class_("edit_links di")])([k.button([x.type_(I.isPropButtonType)(u.ButtonButton.value),P.onClick(function(n){return new p.Just(new K(!0))}),R.class_("edit light-silver hover-blue")])([I.text("edit  ")]),k.div([R.class_("delete_link di")])([k.button([x.type_(I.isPropButtonType)(u.ButtonButton.value),P.onClick(function(n){return new p.Just(new z(!0))}),R.class_("delete light-silver hover-blue"+m.guard(m.monoidString)(n.deleteAsk)(" dn"))])([I.text("delete")]),k.span([R.class_("confirm red"+m.guard(m.monoidString)(!n.deleteAsk)(" dn"))])([k.button([x.type_(I.isPropButtonType)(u.ButtonButton.value),P.onClick(function(n){return new p.Just(new z(!1))})])([I.text("cancel / ")]),k.button([x.type_(I.isPropButtonType)(u.ButtonButton.value),P.onClick(function(n){return new p.Just(G.value)}),R.class_("red")])([I.text("destroy")])])])])}),R.whenH(d.dat.isowner)(function(e){return k.div([R.class_("read di")])(m.guard(m.monoidArray)(n.bm.toread)([I.text("  "),k.button([P.onClick(function(n){return new p.Just(Z.value)}),R.class_("mark_read")])([I.text("mark as read")])]))})]);var o})])},eval:L.mkEval({handleAction:function(n){if(n instanceof j)return a.bind(U.bindHalogenM)(f.use(U.monadStateHalogenM)(tn(s.strongForget)))(function(t){return a.discard(a.discardUnit)(U.bindHalogenM)(F.liftAff(U.monadAffHalogenM(F.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(v.modifying(U.monadStateHalogenM)(tn(b.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(U.monadStateHalogenM)(nn(b.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 z)return o.modify_(U.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 G)return a.bind(U.bindHalogenM)(f.use(U.monadStateHalogenM)(tn(s.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(c.void(U.functorHalogenM)(F.liftAff(U.monadAffHalogenM(F.monadAffAff))(e.destroy(n.bid))))(function(){return U.raise(V.value)})});if(n instanceof Z)return a.bind(U.bindHalogenM)(f.use(U.monadStateHalogenM)(tn(s.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(c.void(U.functorHalogenM)(F.liftAff(U.monadAffHalogenM(F.monadAffAff))(e.markRead(n.bid))))(function(){return v.modifying(U.monadStateHalogenM)(tn(b.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 K)return a.bind(U.bindHalogenM)(f.use(U.monadStateHalogenM)(tn(s.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(v.assign(U.monadStateHalogenM)(nn(b.strongFn))(e))(function(){return v.assign(U.monadStateHalogenM)(en(b.strongFn))(n.value0)})});if(n instanceof X)return v.modifying(U.monadStateHalogenM)(nn(b.strongFn))(function(){if(n.value0 instanceof W)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 B)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 q)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 J)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 Q)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 236, column 17 - line 242, column 36): "+[n.value0.constructor.name])}());if(n instanceof Y)return a.discard(a.discardUnit)(U.bindHalogenM)(H.liftEffect(U.monadEffectHalogenM(T.monadEffectAff))(O.preventDefault(n.value0)))(function(){return a.bind(U.bindHalogenM)(f.use(U.monadStateHalogenM)(nn(s.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(c.void(U.functorHalogenM)(F.liftAff(U.monadAffHalogenM(F.monadAffAff))(e.editBookmark(n))))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(v.assign(U.monadStateHalogenM)(tn(b.strongFn))(n))(function(){return v.assign(U.monadStateHalogenM)(en(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 203, column 3 - line 203, column 84): "+[n.constructor.name])},handleQuery:L.defaultEval.handleQuery,receive:L.defaultEval.receive,initialize:L.defaultEval.initialize,finalize:L.defaultEval.finalize})})}}(t["Component.BMark"]=t["Component.BMark"]||{}),function(n){"use strict";var e=t["Component.BMark"],r=t["Control.Monad.State.Class"],a=(t["Control.Semigroupoid"],t["Data.Array"]),o=(t["Data.Eq"],t["Data.Function"]),u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Ord"],c=t["Data.Symbol"],f=t["Data.Unit"],s=(t["Effect.Aff"],t.Halogen,t["Halogen.Component"]),d=t["Halogen.HTML"],v=t["Halogen.HTML.Elements"],p=t["Halogen.Query.HalogenM"],m=(t.Model,t.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),g=c.SProxy.value;n.HandleBMessage=m,n._bookmark=g,n.blist=function(n){return s.mkComponent({initialState:o.const(n),render:function(n){return v.div_(u.map(u.functorArray)(function(n){return d.slot()(new c.IsSymbol(function(){return"bookmark"}))(l.ordInt)(g)(n.bid)(e.bmark(n))(f.unit)(function(e){return i.Just.create(m.create(n.bid)(e))})})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(a.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["Component.BList"]=t["Component.BList"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Data.Array"],a=t["Data.Foldable"],o=t["Data.Function"],u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Monoid"],c=(t["Data.Semigroup"],t["Data.Show"]),f=(t["Data.String"],t["Data.String.CodePoints"]),s=t["Data.String.Common"],d=(t["Data.String.Pattern"],t["Data.Tuple"]),v=t["Data.Unit"],p=(t["Effect.Aff"],t.Globals),m=(t.Halogen,t["Halogen.Component"]),g=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),D=t["Halogen.HTML.Elements"],b=t["Halogen.HTML.Properties"],h=t["Halogen.Query.HalogenM"],w=(t.Model,t.Prelude,t.Util);n.nlist=function(n){var t,y=function(n){return p.mmoment8601(n.created)},E=p["app'"](v.unit),M=function(n){return w.fromNullableStr(E.userR)+"/notes/"+n};return m.mkComponent({initialState:o.const((t=n,{notes:t,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return D.div_(u.map(u.functorArray)(function(n){return D.div([b.id_(c.show(c.showInt)(n.id)),w.class_("note w-100 mw7 pa1 mb2")])([D.div([w.class_("display")])([D.a([b.href(M(n.slug)),w.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),D.br_,D.div([w.class_("description mt1 mid-gray")])((e=f.take(200)(n.text),r.drop(1)(a.foldMap(a.foldableArray)(l.monoidArray)(function(n){return[D.br_,g.text(n)]})(s.split("\n")(e))))),D.a([w.class_("link f7 dib gray w4"),b.title(i.maybe(n.created)(d.snd)(y(n))),b.href(M(n.slug))])([g.text(i.maybe(" ")(d.fst)(y(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return e.pure(h.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t["Component.NList"]=t["Component.NList"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Applicative"],o=t["Control.Bind"],u=t["Control.Monad.State.Class"],i=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),l=t["DOM.HTML.Indexed.InputType"],c=t["Data.Array"],f=t["Data.Either"],s=(t["Data.Eq"],t["Data.Foldable"]),d=t["Data.Function"],v=t["Data.Functor"],p=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),m=t["Data.Lens.Internal.Forget"],g=t["Data.Lens.Lens"],D=t["Data.Lens.Setter"],b=t["Data.Maybe"],h=t["Data.Monoid"],w=t["Data.Ord"],y=t["Data.Profunctor.Strong"],E=t["Data.Semigroup"],M=t["Data.Show"],C=(t["Data.String"],t["Data.String.Common"]),A=(t["Data.String.Pattern"],t["Data.Symbol"]),T=t["Data.Tuple"],F=t["Data.Unit"],H=t["Data.Void"],S=t.Effect,L=t["Effect.Aff"],_=t["Effect.Aff.Class"],I=t["Effect.Class"],k=t.Globals,P=(t.Halogen,t["Halogen.Component"]),x=t["Halogen.HTML"],U=t["Halogen.HTML.Core"],R=t["Halogen.HTML.Elements"],O=t["Halogen.HTML.Events"],W=t["Halogen.HTML.Properties"],N=t["Halogen.Query.HalogenM"],B=(t.Model,t.Prelude,t.Util),q=t["Web.Event.Event"],J=t["Web.HTML.Location"],Q=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}(),j=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}(),Z=function(){function n(){}return n.value=new n,n}(),$=function(n){return g.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=A.SProxy.value,en=function(n){return g.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 g.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)};n.NNop=z,n.NEditField=G,n.NEditSubmit=K,n.NEdit=X,n.NDeleteAsk=Y,n.NDestroy=Z,n._note=$,n._edit_note=en,n._edit=tn,n.Etitle=Q,n.Etext=V,n.EisMarkdown=j,n._markdown=nn,n.nnote=function(n){var t,g=k["app'"](F.unit);return P.mkComponent({initialState:d.const((t=n,{note:t,edit_note:t,deleteAsk:!1,edit:t.id<=0,destroyed:!1})),render:function(n){var e=function(n){return k.mmoment8601(n.created)},t=function(n){return function(e){return b.Just.create(G.create(n(e)))}};return B.ifElseH(n.destroyed)(function(n){return R.p([B.class_("red")])([U.text("you killed this note")])})(d.const(B.ifElseH(n.edit)(function(e){return R.form([O.onSubmit(function(n){return b.Just.create(K.create(n))})])([R.p([B.class_("mt2 mb1")])([U.text("title:")]),R.input([W.type_(U.isPropInputType)(l.InputText.value),B.class_("title w-100 mb1 pt1 f7 edit_form_input"),W.name("title"),W.value(n.edit_note.title),O.onValueChange(t(Q.create))]),R.br_,R.p([B.class_("mt2 mb1")])([U.text("description:")]),R.textarea([B.class_("description w-100 mb1 pt1 f7 edit_form_input"),W.name("text"),W.rows(30),W.value(n.edit_note.text),O.onValueChange(t(V.create))]),R.div([B.class_("edit_form_checkboxes mb3")])([R.input([W.type_(U.isPropInputType)(l.InputCheckbox.value),B.class_("is-markdown pointer"),W.id_("edit_ismarkdown"),W.name("ismarkdown"),W.checked(n.edit_note.isMarkdown),O.onChecked(t(j.create))]),U.text(" "),R.label([W.for("edit_ismarkdown"),B.class_("mr2")])([U.text("use markdown?")]),R.br_]),R.input([W.type_(U.isPropInputType)(l.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("save")]),U.text(" "),R.input([W.type_(U.isPropInputType)(l.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("cancel"),O.onClick(function(n){return new b.Just(new X(!1))})])])})(function(t){return R.div([W.id_(M.show(M.showInt)(n.note.id)),B.class_("note w-100 mw7 pa1 mb2")])(E.append(E.semigroupArray)([R.div([B.class_("display")])([R.div([B.class_("link f5 lh-title")])([U.text(C.null(n.note.title)?"[no title]":n.note.title)]),R.br_,n.note.isMarkdown?R.div([B.class_("description mt1")])([x.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(nn)(F.unit)(r.component)(n.note.text)(H.absurd)]):R.div([B.class_("description mt1 mid-gray")])((a=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(h.monoidArray)(function(n){return[R.br_,U.text(n)]})(C.split("\n")(a))))),R.div([B.class_("link f7 dib gray w4"),W.title(b.maybe(n.note.created)(T.snd)(e(n.note)))])([U.text(b.maybe(" ")(T.fst)(e(n.note)))])])])([R.div([B.class_("edit_links db mt3")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new X(!0))}),B.class_("edit light-silver hover-blue")])([U.text("edit  ")]),R.div([B.class_("delete_link di")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!0))}),B.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([U.text("delete")]),R.span([B.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!1))})])([U.text("cancel / ")]),R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(Z.value)}),B.class_("red")])([U.text("destroy")])])])])]));var a})))},eval:P.mkEval({handleAction:function(n){if(n instanceof z)return a.pure(N.applicativeHalogenM)(F.unit);if(n instanceof G)return D.modifying(N.monadStateHalogenM)(en(y.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 V)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 j)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 u.modify_(N.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 o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(n){return o.discard(o.discardUnit)(N.bindHalogenM)(v.void(N.functorHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.destroyNote(n.id))))(function(){return u.modify_(N.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 o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(e){return o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)(en(y.strongFn))(e))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(n.value0)})});if(n instanceof K)return o.discard(o.discardUnit)(N.bindHalogenM)(I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(q.preventDefault(n.value0)))(function(){return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)(en(m.strongForget)))(function(n){return o.bind(N.bindHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.editNote(n)))(function(e){if(e.body instanceof f.Left)return a.pure(N.applicativeHalogenM)(F.unit);if(e.body instanceof f.Right)return 0===n.id?I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(o.bindFlipped(S.bindEffect)(J.setHref(B.fromNullableStr(g.noteR)))(B._loc)):o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)($(y.strongFn))(n))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(!1)});throw new Error("Failed pattern match at Component.NNote (line 186, column 5 - line 194, column 22): "+[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:P.defaultEval.handleQuery,receive:P.defaultEval.receive,initialize:P.defaultEval.initialize,finalize:P.defaultEval.finalize})})}}(t["Component.NNote"]=t["Component.NNote"]||{}),function(n){"use strict";t["Control.Monad.Error.Class"],t["Control.Monad.Reader.Trans"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"];var e=t["Effect.Aff"],r=(t.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),a=new r(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=r,n.monadForkAff=a}(t["Control.Monad.Fork.Class"]=t["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=t["Effect.Console"];t["Data.Show"],t["Data.Unit"],t.Effect;n.warn=e.warn}(t["Effect.Console"]=t["Effect.Console"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e=t["Data.Foldable"],r=(t["Data.Function"],t["Data.List"],t["Data.List.Types"]),a=(t["Data.Map"],t["Data.Map.Internal"]),o=t["Data.Maybe"],u=(t["Data.Traversable"],t.Effect,t["Effect.Aff"],t["Effect.Ref"]),i=(t["Halogen.Component"],t["Halogen.Data.Slot"]),l=(t["Halogen.Query.EventSource"],t["Halogen.Query.HalogenM"],t.Prelude,t["Unsafe.Coerce"]),c=(t["Web.DOM"],l.unsafeCoerce),f=l.unsafeCoerce,s=l.unsafeCoerce,d=l.unsafeCoerce;n.mapDriverState=function(n){return function(e){return n(e)}},n.unDriverStateX=f,n.mkDriverStateXRef=d,n.renderStateX=function(n){return function(n){return f(function(e){return s(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return f(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=c,n.initDriverState=function(n){return function(e){return function(t){return function(l){return function(){var c=u.new({})(),f=u.new(i.empty)(),s=u.new(i.empty)(),v=u.new(t)(),p=u.new(new o.Just(r.Nil.value))(),m=u.new(new o.Just(r.Nil.value))(),g=u.new(o.Nothing.value)(),D=u.new(1)(),b=u.new(new o.Just(a.empty))(),h=u.new(a.empty)(),w={component:n,state:n.initialState(e),refs:a.empty,children:i.empty,childrenIn:f,childrenOut:s,selfRef:c,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:o.Nothing.value,fresh:D,subscriptions:b,forks:h,lifecycleHandlers:l};return u.write(w)(c)(),d(c)}}}}}}(t["Halogen.Aff.Driver.State"]=t["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=t["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Applicative.Free"],a=t["Control.Bind"],o=t["Control.Coroutine"],u=t["Control.Monad"],i=t["Control.Monad.Fork.Class"],l=t["Control.Monad.Free"],c=t["Control.Monad.Free.Trans"],f=t["Control.Monad.Trans.Class"],s=t["Control.Parallel"],d=t["Control.Parallel.Class"],v=(t["Control.Semigroupoid"],t["Data.Boolean"]),p=t["Data.Coyoneda"],m=t["Data.Eq"],g=t["Data.Foldable"],D=t["Data.Function"],b=t["Data.Functor"],h=(t["Data.List"],t["Data.List.Types"]),w=(t["Data.Map"],t["Data.Map.Internal"]),y=t["Data.Maybe"],E=t["Data.Ord"],M=(t["Data.Semiring"],t["Data.Tuple"],t["Data.Unit"]),C=t.Effect,A=t["Effect.Aff"],T=t["Effect.Class"],F=t["Effect.Exception"],H=t["Effect.Ref"],S=t["Halogen.Aff.Driver.State"],L=t["Halogen.Query.ChildQuery"],_=t["Halogen.Query.EventSource"],I=t["Halogen.Query.HalogenM"],k=t["Halogen.Query.HalogenQ"],P=t["Halogen.Query.Input"],x=(t.Prelude,t["Unsafe.Reference"]),U=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(t){if(t instanceof y.Nothing)return e;if(t instanceof y.Just)return T.liftEffect(A.monadEffectAff)(H.write(new y.Just(new h.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 54): "+[t.constructor.name])})}},R=function(n){return function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.write({initializers:h.Nil.value,finalizers:h.Nil.value})(n)))(function(){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(t))(function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(h.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return a.discard(a.discardUnit)(A.bindAff)(s.parSequence_(A.parallelAff)(h.foldableList)(n.initializers))(function(){return e.pure(A.applicativeAff)(t)})})})})})}},O=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(e){return T.liftEffect(A.monadEffectAff)(H["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},W=function(n){return function(e){return function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Query(b.map(p.functorCoyoneda)(y.Just.create)(p.liftCoyoneda(t)),D.const(y.Nothing.value))))})}}},N=function n(t){return function(s){return function(p){var D;return l.foldFree(A.monadRecAff)((D=s,function(l){if(l instanceof I.State)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){var r=l.value0(n.state);if(x.unsafeRefEq(n.state)(r.value1))return e.pure(A.applicativeAff)(r.value0);if(v.otherwise)return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.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})(D)))(function(){return a.discard(a.discardUnit)(A.bindAff)(R(n.lifecycleHandlers)(t(n.lifecycleHandlers)(D)))(function(){return e.pure(A.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(l instanceof I.Subscribe)return a.bind(A.bindAff)(O(I.SubscriptionId)(D))(function(n){var r=l.value0(n);return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(u){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(a.bind(A.bindAff)(r)(function(r){var l=a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.delete(I.ordSubscriptionId)(n)))(u.subscriptions)))(function(){return e.when(A.applicativeAff)(y.maybe(!1)(w.member(I.ordSubscriptionId)(n))(t))(_.finalize(r.finalizer))})}),s=a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(o.await(A.monadAff))(function(r){return a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions))))(function(u){return e.when(c.applicativeFreeT(o.functorAwait)(A.monadAff))(m.eq(y.eqMaybe(m.eqBoolean))(b.map(y.functorMaybe)(w.member(I.ordSubscriptionId)(n))(u))(new y.Just(!0)))(a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(i.fork(i.monadForkAff)(B(t)(D)(new P.Action(r)))))(function(n){return s}))})});return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.insert(I.ordSubscriptionId)(n)(l)))(u.subscriptions)))(function(){return a.discard(a.discardUnit)(A.bindAff)(o.runProcess(A.monadRecAff)(o.pullFrom(A.monadRecAff)(s)(r.producer)))(function(){return _.finalize(l)})})})))(function(t){return e.pure(A.applicativeAff)(l.value1(n))})})});if(l instanceof I.Unsubscribe)return a.discard(a.discardUnit)(A.bindAff)((s=l.value0,function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.subscriptions)))(function(n){return g.traverse_(A.applicativeAff)(g.foldableMaybe)(_.finalize)(a.bindFlipped(y.bindMaybe)(w.lookup(I.ordSubscriptionId)(s))(n))})})})(D))(function(){return e.pure(A.applicativeAff)(l.value1)});var s;if(l instanceof I.Lift)return l.value0;if(l instanceof I.ChildQuery)return function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return L.unChildQueryBox(function(e){return b.map(A.functorAff)(e.value2)(d.sequential(A.parallelAff)(e.value0(A.applicativeParAff)(function(n){return d.parallel(A.parallelAff)(a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return S.unDriverStateX(function(n){return W(t)(n.selfRef)(e.value1)})(n)}))})(n.children)))})(e)})}}(D)(l.value0);if(l instanceof I.Raise)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.handlerRef)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(U(n.pendingOuts)(t(l.value0)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.Par)return d.sequential(A.parallelAff)(r.retractFreeAp(A.applicativeParAff)(r.hoistFreeAp(function(e){return d.parallel(A.parallelAff)(n(t)(D)(e))})(l.value0)));if(l instanceof I.Fork)return a.bind(A.bindAff)(O(I.ForkId)(D))(function(r){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(o){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.new(!1)))(function(c){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(A.finally(T.liftEffect(A.monadEffectAff)(function(){return H.modify_(w.delete(I.ordForkId)(r))(o.forks)(),H.write(!0)(c)()}))(n(t)(D)(l.value0))))(function(n){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(u.unlessM(C.monadEffect)(H.read(c))(H.modify_(w.insert(I.ordForkId)(r)(n))(o.forks))))(function(){return e.pure(A.applicativeAff)(l.value1(r))})})})})});if(l instanceof I.Kill)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.forks)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(g.foldableMaybe)(A.killFiber(F.error("Cancelled")))(w.lookup(I.ordForkId)(l.value0)(n)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.GetRef)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return e.pure(A.applicativeAff)(l.value1(w.lookup(E.ordString)(l.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[l.constructor.name])}))(p)}}},B=function(n){return function(e){return function(t){if(t instanceof P.RefUpdate)return T.liftEffect(A.monadEffectAff)(D.flip(H.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:w.alter(E.ordString)(D.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 P.Action)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Action(t.value0,M.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};n.evalF=B,n.evalQ=W,n.evalM=N,n.handleLifecycle=R,n.queueOrRun=U}(t["Halogen.Aff.Driver.Eval"]=t["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Coroutine"],o=t["Control.Monad.Error.Class"],u=t["Control.Monad.Fork.Class"],i=t["Control.Monad.Rec.Class"],l=t["Control.Parallel"],c=(t["Control.Semigroupoid"],t["Data.Either"]),f=t["Data.Foldable"],s=t["Data.Function"],d=t["Data.Functor"],v=t["Data.List"],p=t["Data.List.Types"],m=(t["Data.Map"],t["Data.Map.Internal"]),g=t["Data.Maybe"],D=t["Data.Ord"],b=(t["Data.Semiring"],t["Data.Traversable"],t["Data.Tuple"],t["Data.Unit"]),h=t.Effect,w=t["Effect.Aff"],y=t["Effect.Aff.AVar"],E=t["Effect.Class"],M=t["Effect.Console"],C=t["Effect.Exception"],A=t["Effect.Ref"],T=(t.Halogen,t["Halogen.Aff.Driver.Eval"]),F=t["Halogen.Aff.Driver.State"],H=t["Halogen.Component"],S=t["Halogen.Data.Slot"],L=t["Halogen.Query.EventSource"],_=t["Halogen.Query.HalogenQ"],I=t["Halogen.Query.Input"],k=(t.Prelude,A.new({initializers:p.Nil.value,finalizers:p.Nil.value})),P=w.runAff_(c.either(C.throwException)(s.const(e.pure(h.applicativeEffect)(b.unit)))),x=function(n){return function(){var e=A.read(n)();return A.write(g.Nothing.value)(n)(),f.for_(h.applicativeEffect)(f.foldableMaybe)(e)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})()}};n.runUI=function(n){return function(t){return function(U){var R=function(n){return function(e){return function(t){return H.unComponent(function(a){return function(){var o=k(),u=F.initDriverState(a)(t)(e)(o)(),i=A.read(n)();return A.write({initializers:p.Nil.value,finalizers:i.finalizers})(n)(),r.bindFlipped(h.bindEffect)(F.unDriverStateX(function(e){return W(n)(e.selfRef)}))(A.read(u))(),r.bindFlipped(h.bindEffect)(function(n){return function(e){return F.unDriverStateX(function(t){var a=T.evalM(W)(t.selfRef)(t.component.eval(new _.Initialize(b.unit)));return A.modify_(function(n){return{initializers:new p.Cons(r.discard(r.discardUnit)(w.bindAff)(l.parSequence_(w.parallelAff)(p.foldableList)(v.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(w.bindAff)(a)(function(){return E.liftEffect(w.monadEffectAff)(function(){return x(t.pendingQueries)(),x(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(i.initializers))(A.read(u))(),u}})}}},O=function(t){return function(a){return function(o){return function(u){return H.unComponentSlot(function(i){return function(){var l=A.read(o)(),c=function(){var n=i.pop(l);if(n instanceof g.Just){A.write(n.value0.value1)(o)();var r=A.read(n.value0.value0)();return F.unDriverStateX(function(n){return function(){return s.flip(A.write)(n.handlerRef)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(),P(T.evalM(W)(n.selfRef)(n.component.eval(i.input)))()}})(r)(),n.value0.value0}if(n instanceof g.Nothing)return i.input instanceof _.Receive?R(t)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(i.input.value0)(i.component)():C.throw("Halogen internal error: slot input was not a Receive query")();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 232, column 14 - line 246, column 7): "+[n.constructor.name])}(),f=d.map(h.functorEffect)(function(n){return g.isJust(i.get(n))})(A.read(u))();return e.when(h.applicativeEffect)(f)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),A.modify_(i.set(c))(u)(),r.bind(h.bindEffect)(A.read(c))(F.renderStateX(h.functorEffect)(function(t){if(t instanceof g.Nothing)return C.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof g.Just)return e.pure(h.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): "+[t.constructor.name])}))()}})}}}},W=function t(r){return function(a){return function(){var o=A.read(a)(),l=d.map(h.functorEffect)(g.isNothing)(A.read(o.pendingHandlers))();e.when(h.applicativeEffect)(l)(A.write(new g.Just(p.Nil.value))(o.pendingHandlers))(),A.write(S.empty)(o.childrenOut)(),A.write(o.children)(o.childrenIn)();var c=function(n){return T.queueOrRun(o.pendingHandlers)(d.void(w.functorAff)(T.evalF(t)(o.selfRef)(n)))},m=n.render(function(n){return P(c(n))})(O(r)(function(n){return T.queueOrRun(o.pendingQueries)(c(I.Action.create(n)))})(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),D=A.read(o.childrenOut)(),y=A.read(o.childrenIn)();return S.foreachSlot(h.applicativeEffect)(y)(function(e){return function(){var t=A.read(e)();return F.renderStateX_(h.applicativeEffect)(n.removeChild)(t)(),N(r)(t)()}})(),s.flip(A.modify_)(o.selfRef)(F.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:D,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(m),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),e.when(h.applicativeEffect)(l)(s.flip(i.tailRecM(i.monadRecEffect))(b.unit)(function(n){return function(){var n=A.read(o.pendingHandlers)();A.write(new g.Just(p.Nil.value))(o.pendingHandlers)(),f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})(n)();var e=A.read(o.pendingHandlers)();return g.maybe(!1)(v.null)(e)?d.voidLeft(h.functorEffect)(A.write(g.Nothing.value)(o.pendingHandlers))(new i.Done(b.unit))():new i.Loop(b.unit)}}))()}}},N=function n(e){return F.unDriverStateX(function(t){return function(){var a;(a=t,function(){return r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(m.foldableMap)(function(n){return u.fork(u.monadForkAff)(L.finalize(n))})(n))}))(A.read(a.subscriptions))(),A.write(g.Nothing.value)(a.subscriptions)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return P(w.killFiber(C.error("finalized"))(n))}))(A.read(a.forks))(),A.write(m.empty)(a.forks)()})();var o=T.evalM(W)(t.selfRef)(t.component.eval(new _.Finalize(b.unit)));return A.modify_(function(n){return{initializers:n.initializers,finalizers:new p.Cons(o,n.finalizers)}})(e)(),S.foreachSlot(h.applicativeEffect)(t.children)(function(t){return function(){var r=A.read(t)();return n(e)(r)()}})()}})},B=function(e){return function(t){return function(a){return function(o){return E.liftEffect(w.monadEffectAff)(function(){return A.read(e)()?b.unit:(A.write(!0)(e)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return w.launchAff_(y.kill(C.error("disposed"))(n))}))(A.read(o))(),N(t)(a)(),F.unDriverStateX(function(e){return f.traverse_(h.applicativeEffect)(f.foldableMaybe)(n.dispose)(e.rendering)})(a)())})}}}};return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(k))(function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(0)))(function(i){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(!1)))(function(l){return T.handleLifecycle(n)(function(){var v,p=A.new(m.empty)(),M=r.bindFlipped(h.bindEffect)(A.read)(R(n)((v=p,function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(e){return f.traverse_(w.applicativeAff)(m.foldableMap)(u.fork(u.monadForkAff))(d.map(m.functorMap)(y.put(n))(e))})}))(U)(t))();return F.unDriverStateX(function(t){return e.pure(h.applicativeEffect)({query:(v=l,function(n){return function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(r){return r?e.pure(w.applicativeAff)(g.Nothing.value):T.evalQ(W)(n)(t)})}})(t.selfRef),subscribe:(f=i,function(n){return function(e){return r.bind(w.bindAff)(y.empty)(function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(function(){var e=A.read(f)();return A.modify_(function(n){return n+1|0})(f)(),A.modify_(m.insert(D.ordInt)(e)(t))(n)(),e}))(function(i){var l=a.producer(w.monadAff)(d.map(w.functorAff)(c.either(s.const(new c.Right(b.unit)))(c.Left.create))(o.try(w.monadErrorAff)(y.take(t))));return d.void(w.functorAff)(u.fork(u.monadForkAff)(r.discard(r.discardUnit)(w.bindAff)(a.runProcess(w.monadRecAff)(a.connect(w.monadRecAff)(w.parallelAff)(l)(e)))(function(){return r.discard(r.discardUnit)(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.modify_(m.delete(D.ordInt)(i))(n)))(function(){return y.kill(C.error("ended"))(t)})})))})})}})(p),dispose:B(l)(n)(M)(p)});var f,v})(M)()})})})})}}}}(t["Halogen.Aff.Driver"]=t["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=(t["Control.Monad.Error.Class"],t["Control.Semigroupoid"],t["Data.Either"]),o=t["Data.Function"],u=(t["Data.Functor"],t["Data.Maybe"]),i=t["Data.Unit"],l=t.Effect,c=t["Effect.Aff"],f=t["Effect.Class"],s=t["Effect.Exception"],d=(t.Prelude,t["Web.DOM.ParentNode"]),v=(t["Web.Event.EventTarget"],t["Web.HTML"]),p=(t["Web.HTML.Event.EventTypes"],t["Web.HTML.HTMLDocument"]),m=(t["Web.HTML.HTMLDocument.ReadyState"],t["Web.HTML.HTMLElement"]),g=t["Web.HTML.Window"],D=c.runAff_(a.either(s.throwException)(o.const(e.pure(l.applicativeEffect)(i.unit))));n.selectElement=function(n){return r.bind(c.bindAff)(f.liftEffect(c.monadEffectAff)(r.bindFlipped(l.bindEffect)(r.composeKleisliFlipped(l.bindEffect)(function(e){return d.querySelector(n)(p.toParentNode(e))})(g.document))(v.window)))(function(n){return e.pure(c.applicativeAff)(r.bindFlipped(u.bindMaybe)(m.fromElement)(n))})},n.runHalogenAff=D}(t["Halogen.Aff.Util"]=t["Halogen.Aff.Util"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Category"],o=t["Data.Foldable"],u=(t["Data.Function"],t["Data.Functor"]),i=t["Data.HeytingAlgebra"],l=t["Data.Maybe"],c=t["Data.Newtype"],f=t["Data.Unit"],s=t.Effect,d=t["Effect.Aff"],v=t["Effect.Class"],p=t["Effect.Ref"],m=(t["Effect.Uncurried"],t["Halogen.Aff.Driver"]),g=t["Halogen.Aff.Driver.State"],D=t["Halogen.Component"],b=t["Halogen.HTML.Core"],h=(t["Halogen.Query.Input"],t["Halogen.VDom"],t["Halogen.VDom.DOM"]),w=t["Halogen.VDom.DOM.Prop"],y=t["Halogen.VDom.Machine"],E=t["Halogen.VDom.Thunk"],M=(t.Prelude,t["Unsafe.Reference"]),C=(t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.Node"]),A=t["Web.HTML"],T=t["Web.HTML.HTMLDocument"],F=t["Web.HTML.HTMLElement"],H=t["Web.HTML.Window"],S=function(n){return function(){var e=C.parentNode(n.node)();return o.traverse_(s.applicativeEffect)(o.foldableMaybe)(function(e){return C.removeChild(n.node)(e)})(e)()}},L=function(n){return function(t){return{render:function(r){return function(a){return function(o){return function(d){if(d instanceof l.Nothing)return function(){var e=p.new(a)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),a=function(n){return n instanceof l.Just?y.halt(n.value0):f.unit};return{buildWidget:function(n){var t=E.buildThunk(c.unwrap(b.newtypeHTML))(n),o=function(n){var t=p.read(e)()(n)(),o=r(t);return y.mkStep(new y.Step(o,l.Nothing.value,i,a))},u=function(n){if(n instanceof D.ComponentSlot)return o(n.value0);if(n instanceof D.ThunkSlot){var e=t(n.value0);return y.mkStep(new y.Step(y.extract(e),new l.Just(e),i,a))}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 l.Just){if(t instanceof D.ComponentSlot)return y.halt(e.value0),o(t.value0);if(t instanceof D.ThunkSlot){var r=y.step(e.value0,t.value0);return y.mkStep(new y.Step(y.extract(r),new l.Just(r),n,a))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return u(t)};return u},buildAttributes:w.buildProp(n),document:t}}}}(r)(e)(n),d=h.buildVDom(i)(o),v=y.extract(d);return u.void(s.functorEffect)(C.appendChild(v)(F.toNode(t)))(),{machine:d,node:v,renderChildRef:e}};if(d instanceof l.Just)return function(){p.write(a)(d.value0.renderChildRef)();var n=C.parentNode(d.value0.node)(),t=C.nextSibling(d.value0.node)(),r=y.step(d.value0.machine,o),c=y.extract(r);return e.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(M.unsafeRefEq)(d.value0.node)(c))(function(n){return function(t){return function(r){return t instanceof l.Just&&r instanceof l.Just?u.void(s.functorEffect)(C.insertBefore(n)(t.value0)(r.value0)):t instanceof l.Nothing&&r instanceof l.Just?u.void(s.functorEffect)(C.appendChild(n)(r.value0)):e.pure(s.applicativeEffect)(f.unit)}}}(c)(t)(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:a.identity(a.categoryFn),removeChild:S,dispose:S}}};n.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(u.map(s.functorEffect)(T.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(A.window))))(function(r){return m.runUI(L(r)(t))(n)(e)})}}}}(t["Halogen.VDom.Driver"]=t["Halogen.VDom.Driver"]||{}),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";var e=t.Main,r=t.App,a=t["Component.AccountSettings"],o=t["Component.Add"],u=t["Component.BList"],i=t["Component.NList"],l=t["Component.NNote"],c=t["Control.Bind"],f=(t["Control.Semigroupoid"],t["Data.Foldable"]),s=(t["Data.Function"],t["Data.Functor"]),d=t["Data.Unit"],v=t.Effect,p=t["Effect.Aff"],m=t["Effect.Class"],g=(t["Halogen.Aff"],t["Halogen.Aff.Util"]),D=t["Halogen.VDom.Driver"],b=(t.Model,t.Prelude,t["Web.DOM.Element"]),h=(t["Web.DOM.ParentNode"],t["Web.Event.Event"]),w=t["Web.HTML.HTMLElement"],y=c.bind(p.bindAff)(g.selectElement(".user_footer"))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(b.removeAttribute("hidden")(w.toElement(n)))})),E=e._mainImpl;n.main=E,n.logoutE=function(n){return c.bindFlipped(v.bindEffect)(function(n){return s.void(v.functorEffect)(p.launchAff(r.logout(n)))})(h.preventDefault(n))},n.renderBookmarks=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(u.blist(e))(d.unit)(n)))(function(){return y})})))}},n.renderAddForm=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return D.runUI(o.addbmark(e))(d.unit)(n)})))}},n.renderNotes=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(i.nlist(e))(d.unit)(n)))(function(){return y})})))}},n.renderNote=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(l.nnote(e))(d.unit)(n))})))}},n.renderAccountSettings=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(a.usetting(e))(d.unit)(n))})))}},n.showFooter=y,n._mainImpl=e._mainImpl}(t.Main=t.Main||{}),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,a){var o=r.newXHR(),u=r.fixupUrl(e.url);if(o.open(e.method||"GET",u,!0,e.username,e.password),e.headers)try{for(var i,l=0;null!=(i=e.headers[l]);l++)o.setRequestHeader(i.field,i.value)}catch(f){t(f)}var c=function(n){return function(){t(new Error(n+": "+e.method+" "+e.url))}};return o.onerror=c("AJAX request failed"),o.ontimeout=c("AJAX request timed out"),o.onload=function(){a({status:o.status,statusText:o.statusText,headers:o.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(o)})},o.responseType=e.responseType,o.withCredentials=e.withCredentials,o.send(e.content),function(n,e,t){try{o.abort()}catch(f){return e(f)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(t["Data.Argonaut.Core"]=t["Data.Argonaut.Core"]||{}),function(n){"use strict";(t["Data.Eq"]=t["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(t["Data.Symbol"]=t["Data.Symbol"]||{}),function(n){"use strict";(t["Data.Unit"]=t["Data.Unit"]||{}).unit={}}(),function(n){"use strict";(t["Data.Show"]=t["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";(t["Record.Unsafe"]=t["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=t["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(t["Record.Unsafe"]=t["Record.Unsafe"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(t["Type.Data.RowList"]=t["Type.Data.RowList"]||{}),function(n){"use strict";var e=t["Data.Show"],r=(t["Data.Symbol"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.show=n}),a=new r(e.showIntImpl);n.Show=r,n.show=function(n){return n.show},n.showInt=a}(t["Data.Show"]=t["Data.Show"]||{}),function(n){"use strict";var e=t["Data.Unit"];t["Data.Show"];n.unit=e.unit}(t["Data.Unit"]=t["Data.Unit"]||{}),function(n){"use strict";var e=t["Data.HeytingAlgebra"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.Row"],t["Type.Data.RowList"],function(n,e,t,r,a,o){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=o}),a=function(n){return n.tt},o=function(n){return n.not},u=function(n){return n.implies},i=function(n){return n.ff},l=function(n){return n.disj},c=new r(e.boolConj,e.boolDisj,!1,function(n){return function(e){return l(c)(o(c)(n))(e)}},e.boolNot,!0),f=function(n){return n.conj};n.HeytingAlgebra=r,n.tt=a,n.ff=i,n.implies=u,n.conj=f,n.disj=l,n.not=o,n.heytingAlgebraBoolean=c,n.heytingAlgebraFunction=function(n){return new r(function(e){return function(t){return function(r){return f(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return l(n)(e(r))(t(r))}}},function(e){return i(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return o(n)(e(t))}},function(e){return a(n)})}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Show"];n.absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t["Data.Void"]=t["Data.Void"]||{}),function(n){"use strict";var e=t["Data.Eq"],r=(t["Data.HeytingAlgebra"],t["Data.Symbol"],t["Data.Unit"],t["Data.Void"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.eq=n}),a=new r(function(n){return function(n){return!0}}),o=new r(e.refEq),u=new r(e.refEq),i=new r(e.refEq),l=new r(e.refEq);n.Eq=r,n.eq=function(n){return n.eq},n.eqBoolean=l,n.eqInt=u,n.eqChar=i,n.eqString=o,n.eqUnit=a}(t["Data.Eq"]=t["Data.Eq"]||{}),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(t["Control.Semigroupoid"]=t["Control.Semigroupoid"]||{}),function(n){"use strict";var e=t["Control.Semigroupoid"],r=function(n,e){this.Semigroupoid0=n,this.identity=e},a=new r(function(){return e.semigroupoidFn},function(n){return n});n.Category=r,n.identity=function(n){return n.identity},n.categoryFn=a}(t["Control.Category"]=t["Control.Category"]||{}),function(n){"use strict";(t["Data.Boolean"]=t["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(t["Data.Ord.Unsafe"]=t["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){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";var e=t["Data.Ring"],r=(t["Data.Semiring"],t["Data.Symbol"],t["Data.Unit"],function(n){this.Ring0=n}),a=new r(function(){return e.ringInt});n.CommutativeRing=r,n.commutativeRingInt=a}(t["Data.CommutativeRing"]=t["Data.CommutativeRing"]||{}),function(n){"use strict";var e=t["Data.EuclideanRing"],r=(t["Data.BooleanAlgebra"],t["Data.CommutativeRing"]),a=(t["Data.Eq"],t["Data.HeytingAlgebra"],t["Data.Ring"],t["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),o=new a(function(){return r.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=a,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=o}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";t["Data.Boolean"],t["Data.Eq"],t["Data.EuclideanRing"],t["Data.Ord"],t["Data.Ordering"];var e=t["Data.Semigroup"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),a=new r(function(){return e.semigroupString},""),o=new r(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=r,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): "+[e.constructor.name,t.constructor.name])}}},n.monoidString=a,n.monoidArray=o}(t["Data.Monoid"]=t["Data.Monoid"]||{}),function(n){"use strict";t["Control.Alt"],t["Control.Alternative"],t["Control.Applicative"];var e=t["Control.Apply"],r=t["Control.Bind"],a=t["Control.Category"],o=(t["Control.Extend"],t["Control.Monad"],t["Control.MonadZero"],t["Control.Plus"],t["Data.Bounded"],t["Data.Eq"]),u=t["Data.Function"],i=t["Data.Functor"],l=(t["Data.Functor.Invariant"],t["Data.Monoid"],t["Data.Ord"],t["Data.Ordering"],t["Data.Semigroup"],t["Data.Show"],t["Data.Unit"],t.Prelude,function(){function n(){}return n.value=new n,n}()),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=function(n){return function(e){return function(t){if(t instanceof l)return n;if(t instanceof c)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},s=f(!0)(u.const(!1)),d=f(!1)(u.const(!0)),v=new i.Functor(function(n){return function(e){return e instanceof c?new c(n(e.value0)):l.value}}),p=new e.Apply(function(){return v},function(n){return function(e){if(n instanceof c)return i.map(v)(n.value0)(e);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),m=new r.Bind(function(){return p},function(n){return function(e){if(n instanceof c)return e(n.value0);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): "+[n.constructor.name,e.constructor.name])}});n.Nothing=l,n.Just=c,n.maybe=f,n.fromMaybe=function(n){return f(n)(a.identity(a.categoryFn))},n.isJust=d,n.isNothing=s,n.fromJust=function(n){return function(n){if(n instanceof c)return n.value0;throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}},n.functorMaybe=v,n.applyMaybe=p,n.bindMaybe=m,n.eqMaybe=function(n){return new o.Eq(function(e){return function(t){return e instanceof l&&t instanceof l||e instanceof c&&t instanceof c&&o.eq(n)(e.value0)(t.value0)}})}}(t["Data.Maybe"]=t["Data.Maybe"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(t["Foreign.Object"]=t["Foreign.Object"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,o=0;o=0&&n0)&&(b=F,w=V._3(Q)));break;case m:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=P&&P!==N?V._1.killed(n.fromLeft(P))(V._2):y?V._1.failed(n.fromLeft(y))(V._2):V._1.completed(n.fromRight(w))(V._2),y=null;break;case g:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=V._1;break;case D:W--,b=_,w=V._1,y=V._2}break;case I:for(var j in B)B.hasOwnProperty(j)&&(q=q&&B[j].rethrow,E(B[j].handler(w)));return B=null,void(P&&y?setTimeout(function(){throw n.fromLeft(y)},0):n.isLeft(w)&&q&&setTimeout(function(){if(q)throw n.fromLeft(w)},0));case T:b=F;break;case L:return}}function Q(n){return function(){if(b===I)return q=q&&n.rethrow,n.handler(w)(),function(){};var e=N++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(b===I)return t(n.right(void 0))(),function(){};var r=Q({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case T:P=n.left(e),b=I,w=P,J(d);break;case L:null===P&&(P=n.left(e)),0===W&&(b===L&&(O=new h(v,new h(g,w(e)),O,P)),b=_,w=null,y=null,J(++d));break;default:null===P&&(P=n.left(e)),0===W&&(b=_,w=null,y=null)}return r}},join:function(n){return function(){var e=Q({rethrow:!1,handler:n})();return b===T&&J(d),e}},onComplete:Q,isSuspended:function(){return b===T},run:function(){b===T&&(A.isDraining()?J(d):A.enqueue(function(){J(d)}))}}}function P(e,t,r,a){var u=0,i={},l=0,c={},p=new Error("[ParAff] Early exit"),m=null,g=n;function D(t,r,a){var o,u,l=r,c=null,p=null,m=0,g={};n:for(;;)switch(o=null,l.tag){case b:if(l._3===n&&(o=i[l._1],g[m++]=o.kill(t,function(n){return function(){0===--m&&a(n)()}})),null===c)break n;l=c._2,null===p?c=null:(c=p._1,p=p._2);break;case f:l=l._2;break;case s:case d:c&&(p=new h(v,c,p)),c=l,l=l._1}if(0===m)a(e.right(void 0))();else for(u=0,o=m;u=r.bottom(r.boundedInt)&&n<=r.top(r.boundedInt)?new a.Just(e.fromCharCode(n)):a.Nothing.value},v=new u(function(){return o.ordChar},s(d)(e.toCharCode),f(d)(e.toCharCode)),p=new i(function(){return r.boundedChar},function(){return v},e.toCharCode(r.top(r.boundedChar))-e.toCharCode(r.bottom(r.boundedChar))|0,e.toCharCode,d);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=i,n.cardinality=function(n){return n.cardinality},n.toEnum=l,n.fromEnum=c,n.toEnumWithDefaults=function(n){return function(e){return function(t){return function(o){var u=l(n)(o);if(u instanceof a.Just)return u.value0;if(u instanceof a.Nothing)return o1){var t=o.fromEnum(o.boundedEnumChar)(f.charAt(1)(n));return p(t)?v(e)(t):e}return e}),h=e._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(D)(n)})(b),w=function(n){return c.singleton(o.toEnumWithDefaults(o.boundedEnumChar)(a.bottom(a.boundedChar))(a.top(a.boundedChar))(n))},y=e._singleton(function(n){if(n<=65535)return w(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return w(e)+w(t)}),E=e._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof l.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});n.singleton=y,n.toCodePointArray=h,n.uncons=g,n.length=function(n){return r.length(h(n))},n.take=E,n.drop=function(n){return function(e){return c.drop(c.length(E(n)(e)))(e)}}}(t["Data.String.CodePoints"]=t["Data.String.CodePoints"]||{}),function(n){"use strict";t["Control.Applicative"];var e=t["Control.Bind"],r=(t["Control.Monad.Maybe.Trans"],t["Control.Semigroupoid"],t["Data.Array"]),a=(t["Data.Eq"],t["Data.Foldable"]),o=(t["Data.Function"],t["Data.Functor"]),u=(t["Data.HeytingAlgebra"],t["Data.Maybe"]),i=t["Data.Nullable"],l=(t["Data.String"],t["Data.String.CodePoints"]),c=t["Data.String.Common"],f=(t["Data.String.Pattern"],t["Data.Tuple"]),s=t["Data.Unit"],d=t.Effect,v=t["Global.Unsafe"],p=(t.Halogen,t["Halogen.HTML"],t["Halogen.HTML.Core"]),m=t["Halogen.HTML.Properties"],g=(t["Partial.Unsafe"],t.Prelude,t["Web.DOM"],t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.NodeList"],t["Web.DOM.NonElementParentNode"],t["Web.DOM.ParentNode"],t["Web.HTML"]),D=(t["Web.HTML.HTMLDocument"],t["Web.HTML.HTMLElement"],t["Web.HTML.Location"]),b=t["Web.HTML.Window"],h=function(n){var e,t=function(n){return v.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},a="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return r.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new u.Just(new f.Tuple(t(e[0]),u.Nothing.value)):2===e.length?new u.Just(new f.Tuple(t(e[0]),new u.Just(t(e[1])))):u.Nothing.value})(r.filter(function(n){return""!==n})(c.split("&")(a)))},w=e.bindFlipped(d.bindEffect)(b.location)(g.window);n.class_=function(n){return m.class_(p.ClassName(n))},n.attr=function(n){return m.attr(n)},n._loc=w,n._curQuerystring=function(){var n=w(),e=D.search(n)();return h(e)},n._parseQueryString=h,n._lookupQueryStringValue=function(n){return function(t){return e.join(u.bindMaybe)(o.map(u.functorMaybe)(f.snd)(a.find(a.foldableArray)(function(n){return f.fst(n)===t})(n)))}},n.whenH=function(n){return function(e){return n?e(s.unit):p.text("")}},n.whenA=function(n){return function(e){return n?e(s.unit):[]}},n.ifElseH=function(n){return function(e){return function(t){return n?e(s.unit):t(s.unit)}}},n.fromNullableStr=function(n){return u.fromMaybe("")(i.toMaybe(n))}}(t.Util=t.Util||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.InputType"]),o=t["Data.Function"],u=t["Data.Functor"],i=(t["Data.Lens"],t["Data.Lens.Getter"]),l=t["Data.Lens.Internal.Forget"],c=t["Data.Lens.Lens"],f=t["Data.Lens.Setter"],s=t["Data.Maybe"],d=t["Data.Profunctor.Strong"],v=t["Data.Unit"],p=(t["Effect.Aff"],t["Effect.Aff.Class"]),m=t.Globals,g=(t.Halogen,t["Halogen.Component"]),D=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),b=t["Halogen.HTML.Elements"],h=t["Halogen.HTML.Events"],w=t["Halogen.HTML.Properties"],y=t["Halogen.Query.HalogenM"],E=(t.Model,t.Prelude,t.Util),M=(t["Web.Event.Event"],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}(),A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=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(n){return c.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=H,n.UEditField=T,n.USubmit=F,n.EarchiveDefault=M,n.EprivateDefault=C,n.EprivacyLock=A,n.usetting=function(n){var t;m["app'"](v.unit);return g.mkComponent({initialState:o.const((t=n,{us:t})),render:function(n){var e=function(n){return function(e){return s.Just.create(T.create(n(e)))}};return b.div([E.class_("settings-form")])([b.div([E.class_("fw7 mb2")])([D.text("Account Settings")]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("archiveDefault"),w.name("archiveDefault"),w.checked(n.us.archiveDefault),h.onChecked(e(M.create))]),b.label([w.for("archiveDefault"),E.class_("lh-copy")])([D.text("Archive Non-Private Bookmarks (archive.li)")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privateDefault"),w.name("privateDefault"),w.checked(n.us.privateDefault),h.onChecked(e(C.create))]),b.label([w.for("privateDefault"),E.class_("lh-copy")])([D.text("Default new bookmarks to Private")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privacyLock"),w.name("privacyLock"),w.checked(n.us.privacyLock),h.onChecked(e(A.create))]),b.label([w.for("privacyLock"),E.class_("lh-copy")])([D.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof T)return r.discard(r.discardUnit)(y.bindHalogenM)(f.modifying(y.monadStateHalogenM)(H(d.strongFn))(function(){if(n.value0 instanceof M)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 A)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(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(l.strongForget)))(function(n){return u.void(y.functorHalogenM)(p.liftAff(y.monadAffHalogenM(p.monadAffAff))(e.editAccountSettings(n)))})});if(n instanceof F)return r.bind(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(l.strongForget)))(function(n){return u.void(y.functorHalogenM)(p.liftAff(y.monadAffHalogenM(p.monadAffAff))(e.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:g.defaultEval.handleQuery,receive:g.defaultEval.receive,initialize:g.defaultEval.initialize,finalize:g.defaultEval.finalize})})}}(t["Component.AccountSettings"]=t["Component.AccountSettings"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=t["Control.Monad.State.Class"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),u=t["DOM.HTML.Indexed.InputType"],i=(t["Data.Array"],t["Data.Foldable"],t["Data.Function"]),l=t["Data.Functor"],c=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),f=t["Data.Lens.Internal.Forget"],s=t["Data.Lens.Lens"],d=t["Data.Lens.Setter"],v=t["Data.Maybe"],p=t["Data.Monoid"],m=(t["Data.Ord"],t["Data.Profunctor.Strong"]),g=t["Data.Semigroup"],D=(t["Data.String"],t["Data.String.Common"]),b=(t["Data.String.Pattern"],t["Data.Tuple"]),h=t["Data.Unit"],w=t["Effect.Aff"],y=t["Effect.Aff.Class"],E=t["Effect.Class"],M=t.Globals,C=(t.Halogen,t["Halogen.Component"]),A=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),T=t["Halogen.HTML.Elements"],F=t["Halogen.HTML.Events"],H=t["Halogen.HTML.Properties"],S=t["Halogen.Query.HalogenM"],L=(t.Model,t.Prelude,t.Util),_=t["Web.Event.Event"],I=t["Web.HTML"],k=t["Web.HTML.Location"],P=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}(),U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=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}(),N=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}(),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}(),Q=function(n){return s.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)},V=function(n){return s.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}}})(n)};n.BEditField=N,n.BEditSubmit=B,n.BDeleteAsk=q,n.BDestroy=J,n.Eurl=P,n.Etitle=x,n.Edescription=U,n.Etags=R,n.Eprivate=O,n.Etoread=W,n._bm=V,n._edit_bm=Q,n.addbmark=function(n){var t;M["app'"](h.unit);return C.mkComponent({initialState:i.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,destroyed:!1})),render:function(n){var e=M.mmoment8601(n.bm.time),t=function(n){return function(e){return v.Just.create(N.create(n(e)))}},r=function(t){return T.div([L.class_("alert")])([A.text("previously saved "),T.span([L.class_("link f7 dib gray pr3"),H.title(v.maybe(n.bm.time)(b.snd)(e))])([A.text(v.maybe(" ")(b.fst)(e))]),T.div([L.class_("edit_links dib ml1")])([T.div([L.class_("delete_link di")])([T.button(g.append(g.semigroupArray)([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!0))}),L.class_("delete")])(p.guard(p.monoidArray)(n.deleteAsk)([L.attr("hidden")("hidden")])))([A.text("delete")]),T.span(g.append(g.semigroupArray)([L.class_("confirm red")])(p.guard(p.monoidArray)(!n.deleteAsk)([L.attr("hidden")("hidden")])))([T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!1))})])([A.text("cancel / ")]),T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(J.value)}),L.class_("red")])([A.text("destroy")])])])])])};return L.ifElseH(!n.destroyed)(function(e){return T.form([F.onSubmit(function(n){return v.Just.create(B.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([H.for("url")])([A.text("URL")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputUrl.value),H.id_("url"),L.class_("w-100 mv1"),H.required(!0),H.name("url"),H.autofocus(D.null(n.bm.url)),H.value(n.edit_bm.url),F.onValueChange(t(P.create))])])]),T.tr_([T.td_([T.label([H.for("title")])([A.text("title")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("title"),L.class_("w-100 mv1"),H.name("title"),H.value(n.edit_bm.title),F.onValueChange(t(x.create))])])]),T.tr_([T.td_([T.label([H.for("description")])([A.text("description")])]),T.td_([T.textarea([L.class_("w-100 mt1 mid-gray"),H.id_("description"),H.name("description"),H.rows(4),H.value(n.edit_bm.description),F.onValueChange(t(U.create))])])]),T.tr_([T.td_([T.label([H.for("tags")])([A.text("tags")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("tags"),L.class_("w-100 mv1"),H.name("tags"),H.autocomplete(!1),L.attr("autocapitalize")("off"),H.autofocus(!D.null(n.bm.url)),H.value(n.edit_bm.tags),F.onValueChange(t(R.create))])])]),T.tr_([T.td_([T.label([H.for("private")])([A.text("private")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("private"),L.class_("private pointer"),H.name("private"),H.checked(n.edit_bm.private),F.onChecked(t(O.create))])])]),T.tr_([T.td_([T.label([H.for("toread")])([A.text("read later")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("toread"),L.class_("toread pointer"),H.name("toread"),H.checked(n.edit_bm.toread),F.onChecked(t(W.create))])])]),T.tr_([T.td_([]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputSubmit.value),L.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),H.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return T.p([L.class_("red")])([A.text("you killed this bookmark")])})},eval:C.mkEval({handleAction:function(n){if(n instanceof q)return a.modify_(S.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(S.bindHalogenM)(a.gets(S.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.destroy(n))))(function(){return a.modify_(S.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 N)return d.modifying(S.monadStateHalogenM)(Q(m.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 x)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 U)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 R)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 B)return r.discard(r.discardUnit)(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(_.preventDefault(n.value0)))(function(){return r.bind(S.bindHalogenM)(c.use(S.monadStateHalogenM)(Q(f.strongForget)))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.editBookmark(n))))(function(){return r.discard(r.discardUnit)(S.bindHalogenM)(d.assign(S.monadStateHalogenM)(V(m.strongFn))(n))(function(){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._loc))(function(n){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(I.window))(function(e){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._curQuerystring))(function(t){var r=L._lookupQueryStringValue(t)("next");return r instanceof v.Just?E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(k.setHref(r.value0)(n)):E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(M.closeWindow(e))})})})})})})});throw new Error("Failed pattern match at Component.Add (line 152, column 3 - line 152, column 69): "+[n.constructor.name])},handleQuery:C.defaultEval.handleQuery,receive:C.defaultEval.receive,initialize:C.defaultEval.initialize,finalize:C.defaultEval.finalize})})}}(t["Component.Add"]=t["Component.Add"]||{}),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";var e=t["Control.Bind"],r=(t["Control.Category"],t["Control.Monad.State.Class"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"],t["Data.Functor"]),a=t["Data.Maybe"],o=(t["Data.Unit"],t["Effect.Aff.Class"],t["Effect.Class"],t["Halogen.Query.HalogenM"]),u=(t["Halogen.Query.HalogenQ"],t["Halogen.Query.Input"],t.Prelude,t["Web.HTML.HTMLElement"]);n.getHTMLElementRef=function(n){return r.map(o.functorHalogenM)(function(n){return e.bindFlipped(a.bindMaybe)(u.fromElement)(n)})(o.getRef(n))}}(t["Halogen.Query"]=t["Halogen.Query"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["Data.Foldable"]),i=(t["Data.Function"],t["Data.Maybe"]),l=t["Data.Monoid"],c=t["Data.Unit"],f=t.Effect,s=t["Effect.Aff"],d=t["Effect.Aff.Class"],v=t["Effect.Class"],p=(t.Globals,t.Halogen,t["Halogen.Component"]),m=(t["Halogen.HTML"],t["Halogen.HTML.Elements"]),g=t["Halogen.HTML.Properties"],D=t["Halogen.Query"],b=t["Halogen.Query.HalogenM"],h=(t["Halogen.Query.Input"],t.Prelude,t["Web.HTML"],function(){function n(){}return n.value=new n,n}()),w=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();n.SetInnerHTML=h,n.Receive=w,n.mkComponent=function(n){return p.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return m.div([g.ref(n.elRef)])([])},eval:p.mkEval({handleAction:function t(i){if(i instanceof h)return a.bind(b.bindHalogenM)(o.get(b.monadStateHalogenM))(function(t){return a.bind(b.bindHalogenM)(D.getHTMLElementRef(t.elRef))(function(t){return a.discard(a.discardUnit)(b.bindHalogenM)(u.for_(b.applicativeHalogenM)(u.foldableMaybe)(t)(function(t){return a.bind(b.bindHalogenM)(o.get(b.monadStateHalogenM))(function(r){return d.liftAff(b.monadAffHalogenM(d.monadAffAff))(s.forkAff(s.makeAff(function(a){return function(){return v.liftEffect(v.monadEffectEffect)(e.unsafeSetInnerHTML(t)(n(r.inputval)))(),l.mempty(f.monoidEffect(s.monoidCanceler))()}})))})}))(function(){return r.pure(b.applicativeHalogenM)(c.unit)})})});if(i instanceof w)return a.discard(a.discardUnit)(b.bindHalogenM)(o.modify_(b.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 t(h.value)});throw new Error("Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 22): "+[i.constructor.name])},handleQuery:p.defaultEval.handleQuery,receive:function(n){return i.Just.create(w.create(n))},initialize:new i.Just(h.value),finalize:p.defaultEval.finalize})})}}(t["Component.RawHtml"]=t["Component.RawHtml"]||{}),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";var e=t["Foreign.Marked"],r=(t["Control.Semigroupoid"],t.Globals);t.Prelude;n.marked=function(n){return r.RawHTML(e.markedImpl(n))}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=(t["Data.Const"],t["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],t.Prelude,e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),i=t["DOM.HTML.Indexed.InputType"],l=(t["Data.Array"],t["Data.Const"],t["Data.Eq"],t["Data.Foldable"],t["Data.Function"]),c=t["Data.Functor"],f=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),s=t["Data.Lens.Internal.Forget"],d=t["Data.Lens.Lens"],v=t["Data.Lens.Setter"],p=t["Data.Maybe"],m=t["Data.Monoid"],g=t["Data.Nullable"],D=t["Data.Ord"],b=t["Data.Profunctor.Strong"],h=(t["Data.Semigroup"],t["Data.Show"]),w=(t["Data.String"],t["Data.String.CodePoints"]),y=t["Data.String.Common"],E=(t["Data.String.Pattern"],t["Data.Symbol"]),M=t["Data.Unit"],C=t["Data.Void"],A=t["Effect.Aff"],T=t["Effect.Aff.Class"],F=t["Effect.Class"],H=t.Globals,S=(t.Halogen,t["Halogen.Component"]),L=t["Halogen.HTML"],_=t["Halogen.HTML.Core"],I=t["Halogen.HTML.Elements"],k=t["Halogen.HTML.Events"],P=t["Halogen.HTML.Properties"],x=t["Halogen.Query.HalogenM"],U=(t.Model,t.Prelude,t.Util),R=t["Web.Event.Event"],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}(),N=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}(),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}(),V=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}(),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}(),Z=E.SProxy.value,$=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)};n.BStar=V,n.BDeleteAsk=j,n.BDestroy=z,n.BEdit=G,n.BEditField=K,n.BEditSubmit=X,n.BMarkRead=Y,n.Eurl=O,n.Etitle=W,n.Edescription=N,n.Etags=B,n.Eprivate=q,n.Etoread=J,n.BNotifyRemove=Q,n._bm=en,n._edit_bm=$,n._edit=nn,n._markdown=Z,n.bmark=function(n){var t,d=H["app'"](M.unit);return S.mkComponent({initialState:l.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1})),render:function(n){var e=w.take(16)(n.bm.time),t=function(n){return U.fromNullableStr(d.userR)+"/t:"+n},a=function(n){return function(e){return p.Just.create(K.create(n(e)))}};return I.div([P.id_(h.show(h.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 I.div([U.class_("star fl pointer"+m.guard(m.monoidString)(n.bm.selected)(" selected"))])([I.button([U.class_("moon-gray"),k.onClick(function(e){return new p.Just(new V(!n.bm.selected))})])([_.text("✭")])])}),U.ifElseH(n.edit)(function(e){return I.div([U.class_("edit_bookmark_form pa2 pt0 bg-white")])([I.form([k.onSubmit(function(n){return p.Just.create(X.create(n))})])([I.div_([_.text("url")]),I.input([P.type_(_.isPropInputType)(i.InputUrl.value),U.class_("url w-100 mb2 pt1 f7 edit_form_input"),P.required(!0),P.name("url"),P.value(n.edit_bm.url),k.onValueChange(a(O.create))]),I.br_,I.div_([_.text("title")]),I.input([P.type_(_.isPropInputType)(i.InputText.value),U.class_("title w-100 mb2 pt1 f7 edit_form_input"),P.name("title"),P.value(n.edit_bm.title),k.onValueChange(a(W.create))]),I.br_,I.div_([_.text("description")]),I.textarea([U.class_("description w-100 mb1 pt1 f7 edit_form_input"),P.name("description"),P.rows(5),P.value(n.edit_bm.description),k.onValueChange(a(N.create))]),I.br_,I.div([P.id_("tags_input_box")])([I.div_([_.text("tags")]),I.input([P.type_(_.isPropInputType)(i.InputText.value),U.class_("tags w-100 mb1 pt1 f7 edit_form_input"),P.name("tags"),P.autocomplete(!1),U.attr("autocapitalize")("off"),P.value(n.edit_bm.tags),k.onValueChange(a(B.create))]),I.br_]),I.div([U.class_("edit_form_checkboxes mv3")])([I.input([P.type_(_.isPropInputType)(i.InputCheckbox.value),U.class_("private pointer"),P.id_("edit_private"),P.name("private"),P.checked(n.edit_bm.private),k.onChecked(a(q.create))]),_.text(" "),I.label([P.for("edit_private"),U.class_("mr2")])([_.text("private")]),_.text(" "),I.input([P.type_(_.isPropInputType)(i.InputCheckbox.value),U.class_("toread pointer"),P.id_("edit_toread"),P.name("toread"),P.checked(n.edit_bm.toread),k.onChecked(a(J.create))]),_.text(" "),I.label([P.for("edit_toread")])([_.text("to-read")]),I.br_]),I.input([P.type_(_.isPropInputType)(i.InputSubmit.value),U.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("save")]),_.text(" "),I.input([P.type_(_.isPropInputType)(i.InputReset.value),U.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("cancel"),k.onClick(function(n){return new p.Just(new G(!1))})])])])})(function(a){return I.div([U.class_("display")])([I.a([P.href(n.bm.url),P.target("_blank"),U.class_("link f5 lh-title"+m.guard(m.monoidString)(n.bm.toread)(" unread"))])([_.text(y.null(n.bm.title)?"[no title]":n.bm.title)]),I.br_,I.a([P.href(n.bm.url),U.class_("link f7 gray hover-blue")])([_.text(n.bm.url)]),I.a([P.href(p.fromMaybe("http://archive.is/"+n.bm.url)(g.toMaybe(n.bm.archiveUrl))),U.class_("link f7 gray hover-blue ml2"+m.guard(m.monoidString)(p.isJust(g.toMaybe(n.bm.archiveUrl)))(" green")),P.target("_blank"),P.title("archive link")])([p.isJust(g.toMaybe(n.bm.archiveUrl))?_.text("☑"):_.text("☐")]),I.br_,I.div([U.class_("description mt1 mid-gray")])([L.slot()(new E.IsSymbol(function(){return"markdown"}))(D.ordUnit)(Z)(M.unit)(r.component)(n.bm.description)(C.absurd)]),I.div([U.class_("tags")])(U.whenA(!y.null(n.bm.tags))(function(e){return c.map(c.functorArray)(function(n){return I.a([U.class_("link tag mr1"+m.guard(m.monoidString)("."===w.take(1)(n))(" private")),P.href(t(n))])([_.text(n)])})(y.split(" ")(n.bm.tags))})),I.a([U.class_("link f7 dib gray w4"),P.href((o=n.bm.slug,U.fromNullableStr(d.userR)+"/b:"+o))])([_.text(e)]),U.whenH(d.dat.isowner)(function(e){return I.div([U.class_("edit_links di")])([I.button([P.type_(_.isPropButtonType)(u.ButtonButton.value),k.onClick(function(n){return new p.Just(new G(!0))}),U.class_("edit light-silver hover-blue")])([_.text("edit  ")]),I.div([U.class_("delete_link di")])([I.button([P.type_(_.isPropButtonType)(u.ButtonButton.value),k.onClick(function(n){return new p.Just(new j(!0))}),U.class_("delete light-silver hover-blue"+m.guard(m.monoidString)(n.deleteAsk)(" dn"))])([_.text("delete")]),I.span([U.class_("confirm red"+m.guard(m.monoidString)(!n.deleteAsk)(" dn"))])([I.button([P.type_(_.isPropButtonType)(u.ButtonButton.value),k.onClick(function(n){return new p.Just(new j(!1))})])([_.text("cancel / ")]),I.button([P.type_(_.isPropButtonType)(u.ButtonButton.value),k.onClick(function(n){return new p.Just(z.value)}),U.class_("red")])([_.text("destroy")])])])])}),U.whenH(d.dat.isowner)(function(e){return I.div([U.class_("read di")])(m.guard(m.monoidArray)(n.bm.toread)([_.text("  "),I.button([k.onClick(function(n){return new p.Just(Y.value)}),U.class_("mark_read")])([_.text("mark as read")])]))})]);var o})])},eval:S.mkEval({handleAction:function(n){if(n instanceof V)return a.bind(x.bindHalogenM)(f.use(x.monadStateHalogenM)(en(s.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(T.liftAff(x.monadAffHalogenM(T.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(v.modifying(x.monadStateHalogenM)(en(b.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(x.monadStateHalogenM)($(b.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 j)return o.modify_(x.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(x.bindHalogenM)(f.use(x.monadStateHalogenM)(en(s.strongForget)))(function(n){return a.discard(a.discardUnit)(x.bindHalogenM)(c.void(x.functorHalogenM)(T.liftAff(x.monadAffHalogenM(T.monadAffAff))(e.destroy(n.bid))))(function(){return x.raise(Q.value)})});if(n instanceof Y)return a.bind(x.bindHalogenM)(f.use(x.monadStateHalogenM)(en(s.strongForget)))(function(n){return a.discard(a.discardUnit)(x.bindHalogenM)(c.void(x.functorHalogenM)(T.liftAff(x.monadAffHalogenM(T.monadAffAff))(e.markRead(n.bid))))(function(){return v.modifying(x.monadStateHalogenM)(en(b.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 a.bind(x.bindHalogenM)(f.use(x.monadStateHalogenM)(en(s.strongForget)))(function(e){return a.discard(a.discardUnit)(x.bindHalogenM)(v.assign(x.monadStateHalogenM)($(b.strongFn))(e))(function(){return v.assign(x.monadStateHalogenM)(nn(b.strongFn))(n.value0)})});if(n instanceof K)return v.modifying(x.monadStateHalogenM)($(b.strongFn))(function(){if(n.value0 instanceof O)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 W)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 N)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 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 235, column 17 - line 241, column 36): "+[n.value0.constructor.name])}());if(n instanceof X)return a.discard(a.discardUnit)(x.bindHalogenM)(F.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(R.preventDefault(n.value0)))(function(){return a.bind(x.bindHalogenM)(f.use(x.monadStateHalogenM)($(s.strongForget)))(function(n){return a.discard(a.discardUnit)(x.bindHalogenM)(c.void(x.functorHalogenM)(T.liftAff(x.monadAffHalogenM(T.monadAffAff))(e.editBookmark(n))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(v.assign(x.monadStateHalogenM)(en(b.strongFn))(n))(function(){return v.assign(x.monadStateHalogenM)(nn(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 202, column 3 - line 202, column 84): "+[n.constructor.name])},handleQuery:S.defaultEval.handleQuery,receive:S.defaultEval.receive,initialize:S.defaultEval.initialize,finalize:S.defaultEval.finalize})})}}(t["Component.BMark"]=t["Component.BMark"]||{}),function(n){"use strict";var e=t["Component.BMark"],r=t["Control.Monad.State.Class"],a=(t["Control.Semigroupoid"],t["Data.Array"]),o=(t["Data.Eq"],t["Data.Function"]),u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Ord"],c=t["Data.Symbol"],f=t["Data.Unit"],s=(t["Effect.Aff"],t.Halogen,t["Halogen.Component"]),d=t["Halogen.HTML"],v=t["Halogen.HTML.Elements"],p=t["Halogen.Query.HalogenM"],m=(t.Model,t.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),g=c.SProxy.value;n.HandleBMessage=m,n._bookmark=g,n.blist=function(n){return s.mkComponent({initialState:o.const(n),render:function(n){return v.div_(u.map(u.functorArray)(function(n){return d.slot()(new c.IsSymbol(function(){return"bookmark"}))(l.ordInt)(g)(n.bid)(e.bmark(n))(f.unit)(function(e){return i.Just.create(m.create(n.bid)(e))})})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(a.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["Component.BList"]=t["Component.BList"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Data.Array"],a=t["Data.Foldable"],o=t["Data.Function"],u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Monoid"],c=(t["Data.Semigroup"],t["Data.Show"]),f=(t["Data.String"],t["Data.String.CodePoints"]),s=t["Data.String.Common"],d=(t["Data.String.Pattern"],t["Data.Tuple"]),v=t["Data.Unit"],p=(t["Effect.Aff"],t.Globals),m=(t.Halogen,t["Halogen.Component"]),g=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),D=t["Halogen.HTML.Elements"],b=t["Halogen.HTML.Properties"],h=t["Halogen.Query.HalogenM"],w=(t.Model,t.Prelude,t.Util);n.nlist=function(n){var t,y=function(n){return p.mmoment8601(n.created)},E=p["app'"](v.unit),M=function(n){return w.fromNullableStr(E.userR)+"/notes/"+n};return m.mkComponent({initialState:o.const((t=n,{notes:t,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return D.div_(u.map(u.functorArray)(function(n){return D.div([b.id_(c.show(c.showInt)(n.id)),w.class_("note w-100 mw7 pa1 mb2")])([D.div([w.class_("display")])([D.a([b.href(M(n.slug)),w.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),D.br_,D.div([w.class_("description mt1 mid-gray")])((e=f.take(200)(n.text),r.drop(1)(a.foldMap(a.foldableArray)(l.monoidArray)(function(n){return[D.br_,g.text(n)]})(s.split("\n")(e))))),D.a([w.class_("link f7 dib gray w4"),b.title(i.maybe(n.created)(d.snd)(y(n))),b.href(M(n.slug))])([g.text(i.maybe(" ")(d.fst)(y(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return e.pure(h.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t["Component.NList"]=t["Component.NList"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Applicative"],o=t["Control.Bind"],u=t["Control.Monad.State.Class"],i=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),l=t["DOM.HTML.Indexed.InputType"],c=t["Data.Array"],f=t["Data.Either"],s=(t["Data.Eq"],t["Data.Foldable"]),d=t["Data.Function"],v=t["Data.Functor"],p=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),m=t["Data.Lens.Internal.Forget"],g=t["Data.Lens.Lens"],D=t["Data.Lens.Setter"],b=t["Data.Maybe"],h=t["Data.Monoid"],w=t["Data.Ord"],y=t["Data.Profunctor.Strong"],E=t["Data.Semigroup"],M=t["Data.Show"],C=(t["Data.String"],t["Data.String.Common"]),A=(t["Data.String.Pattern"],t["Data.Symbol"]),T=t["Data.Tuple"],F=t["Data.Unit"],H=t["Data.Void"],S=t.Effect,L=t["Effect.Aff"],_=t["Effect.Aff.Class"],I=t["Effect.Class"],k=t.Globals,P=(t.Halogen,t["Halogen.Component"]),x=t["Halogen.HTML"],U=t["Halogen.HTML.Core"],R=t["Halogen.HTML.Elements"],O=t["Halogen.HTML.Events"],W=t["Halogen.HTML.Properties"],N=t["Halogen.Query.HalogenM"],B=(t.Model,t.Prelude,t.Util),q=t["Web.Event.Event"],J=t["Web.HTML.Location"],Q=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}(),j=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}(),Z=function(){function n(){}return n.value=new n,n}(),$=function(n){return g.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=A.SProxy.value,en=function(n){return g.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 g.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)};n.NNop=z,n.NEditField=G,n.NEditSubmit=K,n.NEdit=X,n.NDeleteAsk=Y,n.NDestroy=Z,n._note=$,n._edit_note=en,n._edit=tn,n.Etitle=Q,n.Etext=V,n.EisMarkdown=j,n._markdown=nn,n.nnote=function(n){var t,g=k["app'"](F.unit);return P.mkComponent({initialState:d.const((t=n,{note:t,edit_note:t,deleteAsk:!1,edit:t.id<=0,destroyed:!1})),render:function(n){var e=function(n){return k.mmoment8601(n.created)},t=function(n){return function(e){return b.Just.create(G.create(n(e)))}};return B.ifElseH(n.destroyed)(function(n){return R.p([B.class_("red")])([U.text("you killed this note")])})(d.const(B.ifElseH(n.edit)(function(e){return R.form([O.onSubmit(function(n){return b.Just.create(K.create(n))})])([R.p([B.class_("mt2 mb1")])([U.text("title:")]),R.input([W.type_(U.isPropInputType)(l.InputText.value),B.class_("title w-100 mb1 pt1 f7 edit_form_input"),W.name("title"),W.value(n.edit_note.title),O.onValueChange(t(Q.create))]),R.br_,R.p([B.class_("mt2 mb1")])([U.text("description:")]),R.textarea([B.class_("description w-100 mb1 pt1 f7 edit_form_input"),W.name("text"),W.rows(30),W.value(n.edit_note.text),O.onValueChange(t(V.create))]),R.div([B.class_("edit_form_checkboxes mb3")])([R.input([W.type_(U.isPropInputType)(l.InputCheckbox.value),B.class_("is-markdown pointer"),W.id_("edit_ismarkdown"),W.name("ismarkdown"),W.checked(n.edit_note.isMarkdown),O.onChecked(t(j.create))]),U.text(" "),R.label([W.for("edit_ismarkdown"),B.class_("mr2")])([U.text("use markdown?")]),R.br_]),R.input([W.type_(U.isPropInputType)(l.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("save")]),U.text(" "),R.input([W.type_(U.isPropInputType)(l.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("cancel"),O.onClick(function(n){return new b.Just(new X(!1))})])])})(function(t){return R.div([W.id_(M.show(M.showInt)(n.note.id)),B.class_("note w-100 mw7 pa1 mb2")])(E.append(E.semigroupArray)([R.div([B.class_("display")])([R.div([B.class_("link f5 lh-title")])([U.text(C.null(n.note.title)?"[no title]":n.note.title)]),R.br_,n.note.isMarkdown?R.div([B.class_("description mt1")])([x.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(nn)(F.unit)(r.component)(n.note.text)(H.absurd)]):R.div([B.class_("description mt1 mid-gray")])((a=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(h.monoidArray)(function(n){return[R.br_,U.text(n)]})(C.split("\n")(a))))),R.div([B.class_("link f7 dib gray w4"),W.title(b.maybe(n.note.created)(T.snd)(e(n.note)))])([U.text(b.maybe(" ")(T.fst)(e(n.note)))])])])([R.div([B.class_("edit_links db mt3")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new X(!0))}),B.class_("edit light-silver hover-blue")])([U.text("edit  ")]),R.div([B.class_("delete_link di")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!0))}),B.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([U.text("delete")]),R.span([B.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!1))})])([U.text("cancel / ")]),R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(Z.value)}),B.class_("red")])([U.text("destroy")])])])])]));var a})))},eval:P.mkEval({handleAction:function(n){if(n instanceof z)return a.pure(N.applicativeHalogenM)(F.unit);if(n instanceof G)return D.modifying(N.monadStateHalogenM)(en(y.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 V)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 j)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 u.modify_(N.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 o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(n){return o.discard(o.discardUnit)(N.bindHalogenM)(v.void(N.functorHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.destroyNote(n.id))))(function(){return u.modify_(N.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 o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(e){return o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)(en(y.strongFn))(e))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(n.value0)})});if(n instanceof K)return o.discard(o.discardUnit)(N.bindHalogenM)(I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(q.preventDefault(n.value0)))(function(){return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)(en(m.strongForget)))(function(n){return o.bind(N.bindHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.editNote(n)))(function(e){if(e.body instanceof f.Left)return a.pure(N.applicativeHalogenM)(F.unit);if(e.body instanceof f.Right)return 0===n.id?I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(o.bindFlipped(S.bindEffect)(J.setHref(B.fromNullableStr(g.noteR)))(B._loc)):o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)($(y.strongFn))(n))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(!1)});throw new Error("Failed pattern match at Component.NNote (line 186, column 5 - line 194, column 22): "+[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:P.defaultEval.handleQuery,receive:P.defaultEval.receive,initialize:P.defaultEval.initialize,finalize:P.defaultEval.finalize})})}}(t["Component.NNote"]=t["Component.NNote"]||{}),function(n){"use strict";t["Control.Monad.Error.Class"],t["Control.Monad.Reader.Trans"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"];var e=t["Effect.Aff"],r=(t.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),a=new r(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=r,n.monadForkAff=a}(t["Control.Monad.Fork.Class"]=t["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=t["Effect.Console"];t["Data.Show"],t["Data.Unit"],t.Effect;n.warn=e.warn}(t["Effect.Console"]=t["Effect.Console"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e=t["Data.Foldable"],r=(t["Data.Function"],t["Data.List"],t["Data.List.Types"]),a=(t["Data.Map"],t["Data.Map.Internal"]),o=t["Data.Maybe"],u=(t["Data.Traversable"],t.Effect,t["Effect.Aff"],t["Effect.Ref"]),i=(t["Halogen.Component"],t["Halogen.Data.Slot"]),l=(t["Halogen.Query.EventSource"],t["Halogen.Query.HalogenM"],t.Prelude,t["Unsafe.Coerce"]),c=(t["Web.DOM"],l.unsafeCoerce),f=l.unsafeCoerce,s=l.unsafeCoerce,d=l.unsafeCoerce;n.mapDriverState=function(n){return function(e){return n(e)}},n.unDriverStateX=f,n.mkDriverStateXRef=d,n.renderStateX=function(n){return function(n){return f(function(e){return s(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return f(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=c,n.initDriverState=function(n){return function(e){return function(t){return function(l){return function(){var c=u.new({})(),f=u.new(i.empty)(),s=u.new(i.empty)(),v=u.new(t)(),p=u.new(new o.Just(r.Nil.value))(),m=u.new(new o.Just(r.Nil.value))(),g=u.new(o.Nothing.value)(),D=u.new(1)(),b=u.new(new o.Just(a.empty))(),h=u.new(a.empty)(),w={component:n,state:n.initialState(e),refs:a.empty,children:i.empty,childrenIn:f,childrenOut:s,selfRef:c,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:o.Nothing.value,fresh:D,subscriptions:b,forks:h,lifecycleHandlers:l};return u.write(w)(c)(),d(c)}}}}}}(t["Halogen.Aff.Driver.State"]=t["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=t["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Applicative.Free"],a=t["Control.Bind"],o=t["Control.Coroutine"],u=t["Control.Monad"],i=t["Control.Monad.Fork.Class"],l=t["Control.Monad.Free"],c=t["Control.Monad.Free.Trans"],f=t["Control.Monad.Trans.Class"],s=t["Control.Parallel"],d=t["Control.Parallel.Class"],v=(t["Control.Semigroupoid"],t["Data.Boolean"]),p=t["Data.Coyoneda"],m=t["Data.Eq"],g=t["Data.Foldable"],D=t["Data.Function"],b=t["Data.Functor"],h=(t["Data.List"],t["Data.List.Types"]),w=(t["Data.Map"],t["Data.Map.Internal"]),y=t["Data.Maybe"],E=t["Data.Ord"],M=(t["Data.Semiring"],t["Data.Tuple"],t["Data.Unit"]),C=t.Effect,A=t["Effect.Aff"],T=t["Effect.Class"],F=t["Effect.Exception"],H=t["Effect.Ref"],S=t["Halogen.Aff.Driver.State"],L=t["Halogen.Query.ChildQuery"],_=t["Halogen.Query.EventSource"],I=t["Halogen.Query.HalogenM"],k=t["Halogen.Query.HalogenQ"],P=t["Halogen.Query.Input"],x=(t.Prelude,t["Unsafe.Reference"]),U=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(t){if(t instanceof y.Nothing)return e;if(t instanceof y.Just)return T.liftEffect(A.monadEffectAff)(H.write(new y.Just(new h.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 54): "+[t.constructor.name])})}},R=function(n){return function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.write({initializers:h.Nil.value,finalizers:h.Nil.value})(n)))(function(){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(t))(function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(h.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return a.discard(a.discardUnit)(A.bindAff)(s.parSequence_(A.parallelAff)(h.foldableList)(n.initializers))(function(){return e.pure(A.applicativeAff)(t)})})})})})}},O=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(e){return T.liftEffect(A.monadEffectAff)(H["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},W=function(n){return function(e){return function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Query(b.map(p.functorCoyoneda)(y.Just.create)(p.liftCoyoneda(t)),D.const(y.Nothing.value))))})}}},N=function n(t){return function(s){return function(p){var D;return l.foldFree(A.monadRecAff)((D=s,function(l){if(l instanceof I.State)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){var r=l.value0(n.state);if(x.unsafeRefEq(n.state)(r.value1))return e.pure(A.applicativeAff)(r.value0);if(v.otherwise)return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.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})(D)))(function(){return a.discard(a.discardUnit)(A.bindAff)(R(n.lifecycleHandlers)(t(n.lifecycleHandlers)(D)))(function(){return e.pure(A.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(l instanceof I.Subscribe)return a.bind(A.bindAff)(O(I.SubscriptionId)(D))(function(n){var r=l.value0(n);return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(u){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(a.bind(A.bindAff)(r)(function(r){var l=a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.delete(I.ordSubscriptionId)(n)))(u.subscriptions)))(function(){return e.when(A.applicativeAff)(y.maybe(!1)(w.member(I.ordSubscriptionId)(n))(t))(_.finalize(r.finalizer))})}),s=a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(o.await(A.monadAff))(function(r){return a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions))))(function(u){return e.when(c.applicativeFreeT(o.functorAwait)(A.monadAff))(m.eq(y.eqMaybe(m.eqBoolean))(b.map(y.functorMaybe)(w.member(I.ordSubscriptionId)(n))(u))(new y.Just(!0)))(a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(i.fork(i.monadForkAff)(B(t)(D)(new P.Action(r)))))(function(n){return s}))})});return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.insert(I.ordSubscriptionId)(n)(l)))(u.subscriptions)))(function(){return a.discard(a.discardUnit)(A.bindAff)(o.runProcess(A.monadRecAff)(o.pullFrom(A.monadRecAff)(s)(r.producer)))(function(){return _.finalize(l)})})})))(function(t){return e.pure(A.applicativeAff)(l.value1(n))})})});if(l instanceof I.Unsubscribe)return a.discard(a.discardUnit)(A.bindAff)((s=l.value0,function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.subscriptions)))(function(n){return g.traverse_(A.applicativeAff)(g.foldableMaybe)(_.finalize)(a.bindFlipped(y.bindMaybe)(w.lookup(I.ordSubscriptionId)(s))(n))})})})(D))(function(){return e.pure(A.applicativeAff)(l.value1)});var s;if(l instanceof I.Lift)return l.value0;if(l instanceof I.ChildQuery)return function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return L.unChildQueryBox(function(e){return b.map(A.functorAff)(e.value2)(d.sequential(A.parallelAff)(e.value0(A.applicativeParAff)(function(n){return d.parallel(A.parallelAff)(a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return S.unDriverStateX(function(n){return W(t)(n.selfRef)(e.value1)})(n)}))})(n.children)))})(e)})}}(D)(l.value0);if(l instanceof I.Raise)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.handlerRef)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(U(n.pendingOuts)(t(l.value0)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.Par)return d.sequential(A.parallelAff)(r.retractFreeAp(A.applicativeParAff)(r.hoistFreeAp(function(e){return d.parallel(A.parallelAff)(n(t)(D)(e))})(l.value0)));if(l instanceof I.Fork)return a.bind(A.bindAff)(O(I.ForkId)(D))(function(r){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(o){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.new(!1)))(function(c){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(A.finally(T.liftEffect(A.monadEffectAff)(function(){return H.modify_(w.delete(I.ordForkId)(r))(o.forks)(),H.write(!0)(c)()}))(n(t)(D)(l.value0))))(function(n){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(u.unlessM(C.monadEffect)(H.read(c))(H.modify_(w.insert(I.ordForkId)(r)(n))(o.forks))))(function(){return e.pure(A.applicativeAff)(l.value1(r))})})})})});if(l instanceof I.Kill)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.forks)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(g.foldableMaybe)(A.killFiber(F.error("Cancelled")))(w.lookup(I.ordForkId)(l.value0)(n)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.GetRef)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return e.pure(A.applicativeAff)(l.value1(w.lookup(E.ordString)(l.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[l.constructor.name])}))(p)}}},B=function(n){return function(e){return function(t){if(t instanceof P.RefUpdate)return T.liftEffect(A.monadEffectAff)(D.flip(H.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:w.alter(E.ordString)(D.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 P.Action)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Action(t.value0,M.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};n.evalF=B,n.evalQ=W,n.evalM=N,n.handleLifecycle=R,n.queueOrRun=U}(t["Halogen.Aff.Driver.Eval"]=t["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Coroutine"],o=t["Control.Monad.Error.Class"],u=t["Control.Monad.Fork.Class"],i=t["Control.Monad.Rec.Class"],l=t["Control.Parallel"],c=(t["Control.Semigroupoid"],t["Data.Either"]),f=t["Data.Foldable"],s=t["Data.Function"],d=t["Data.Functor"],v=t["Data.List"],p=t["Data.List.Types"],m=(t["Data.Map"],t["Data.Map.Internal"]),g=t["Data.Maybe"],D=t["Data.Ord"],b=(t["Data.Semiring"],t["Data.Traversable"],t["Data.Tuple"],t["Data.Unit"]),h=t.Effect,w=t["Effect.Aff"],y=t["Effect.Aff.AVar"],E=t["Effect.Class"],M=t["Effect.Console"],C=t["Effect.Exception"],A=t["Effect.Ref"],T=(t.Halogen,t["Halogen.Aff.Driver.Eval"]),F=t["Halogen.Aff.Driver.State"],H=t["Halogen.Component"],S=t["Halogen.Data.Slot"],L=t["Halogen.Query.EventSource"],_=t["Halogen.Query.HalogenQ"],I=t["Halogen.Query.Input"],k=(t.Prelude,A.new({initializers:p.Nil.value,finalizers:p.Nil.value})),P=w.runAff_(c.either(C.throwException)(s.const(e.pure(h.applicativeEffect)(b.unit)))),x=function(n){return function(){var e=A.read(n)();return A.write(g.Nothing.value)(n)(),f.for_(h.applicativeEffect)(f.foldableMaybe)(e)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})()}};n.runUI=function(n){return function(t){return function(U){var R=function(n){return function(e){return function(t){return H.unComponent(function(a){return function(){var o=k(),u=F.initDriverState(a)(t)(e)(o)(),i=A.read(n)();return A.write({initializers:p.Nil.value,finalizers:i.finalizers})(n)(),r.bindFlipped(h.bindEffect)(F.unDriverStateX(function(e){return W(n)(e.selfRef)}))(A.read(u))(),r.bindFlipped(h.bindEffect)(function(n){return function(e){return F.unDriverStateX(function(t){var a=T.evalM(W)(t.selfRef)(t.component.eval(new _.Initialize(b.unit)));return A.modify_(function(n){return{initializers:new p.Cons(r.discard(r.discardUnit)(w.bindAff)(l.parSequence_(w.parallelAff)(p.foldableList)(v.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(w.bindAff)(a)(function(){return E.liftEffect(w.monadEffectAff)(function(){return x(t.pendingQueries)(),x(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(i.initializers))(A.read(u))(),u}})}}},O=function(t){return function(a){return function(o){return function(u){return H.unComponentSlot(function(i){return function(){var l=A.read(o)(),c=function(){var n=i.pop(l);if(n instanceof g.Just){A.write(n.value0.value1)(o)();var r=A.read(n.value0.value0)();return F.unDriverStateX(function(n){return function(){return s.flip(A.write)(n.handlerRef)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(),P(T.evalM(W)(n.selfRef)(n.component.eval(i.input)))()}})(r)(),n.value0.value0}if(n instanceof g.Nothing)return i.input instanceof _.Receive?R(t)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(i.input.value0)(i.component)():C.throw("Halogen internal error: slot input was not a Receive query")();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 232, column 14 - line 246, column 7): "+[n.constructor.name])}(),f=d.map(h.functorEffect)(function(n){return g.isJust(i.get(n))})(A.read(u))();return e.when(h.applicativeEffect)(f)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),A.modify_(i.set(c))(u)(),r.bind(h.bindEffect)(A.read(c))(F.renderStateX(h.functorEffect)(function(t){if(t instanceof g.Nothing)return C.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof g.Just)return e.pure(h.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): "+[t.constructor.name])}))()}})}}}},W=function t(r){return function(a){return function(){var o=A.read(a)(),l=d.map(h.functorEffect)(g.isNothing)(A.read(o.pendingHandlers))();e.when(h.applicativeEffect)(l)(A.write(new g.Just(p.Nil.value))(o.pendingHandlers))(),A.write(S.empty)(o.childrenOut)(),A.write(o.children)(o.childrenIn)();var c=function(n){return T.queueOrRun(o.pendingHandlers)(d.void(w.functorAff)(T.evalF(t)(o.selfRef)(n)))},m=n.render(function(n){return P(c(n))})(O(r)(function(n){return T.queueOrRun(o.pendingQueries)(c(I.Action.create(n)))})(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),D=A.read(o.childrenOut)(),y=A.read(o.childrenIn)();return S.foreachSlot(h.applicativeEffect)(y)(function(e){return function(){var t=A.read(e)();return F.renderStateX_(h.applicativeEffect)(n.removeChild)(t)(),N(r)(t)()}})(),s.flip(A.modify_)(o.selfRef)(F.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:D,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(m),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),e.when(h.applicativeEffect)(l)(s.flip(i.tailRecM(i.monadRecEffect))(b.unit)(function(n){return function(){var n=A.read(o.pendingHandlers)();A.write(new g.Just(p.Nil.value))(o.pendingHandlers)(),f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})(n)();var e=A.read(o.pendingHandlers)();return g.maybe(!1)(v.null)(e)?d.voidLeft(h.functorEffect)(A.write(g.Nothing.value)(o.pendingHandlers))(new i.Done(b.unit))():new i.Loop(b.unit)}}))()}}},N=function n(e){return F.unDriverStateX(function(t){return function(){var a;(a=t,function(){return r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(m.foldableMap)(function(n){return u.fork(u.monadForkAff)(L.finalize(n))})(n))}))(A.read(a.subscriptions))(),A.write(g.Nothing.value)(a.subscriptions)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return P(w.killFiber(C.error("finalized"))(n))}))(A.read(a.forks))(),A.write(m.empty)(a.forks)()})();var o=T.evalM(W)(t.selfRef)(t.component.eval(new _.Finalize(b.unit)));return A.modify_(function(n){return{initializers:n.initializers,finalizers:new p.Cons(o,n.finalizers)}})(e)(),S.foreachSlot(h.applicativeEffect)(t.children)(function(t){return function(){var r=A.read(t)();return n(e)(r)()}})()}})},B=function(e){return function(t){return function(a){return function(o){return E.liftEffect(w.monadEffectAff)(function(){return A.read(e)()?b.unit:(A.write(!0)(e)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return w.launchAff_(y.kill(C.error("disposed"))(n))}))(A.read(o))(),N(t)(a)(),F.unDriverStateX(function(e){return f.traverse_(h.applicativeEffect)(f.foldableMaybe)(n.dispose)(e.rendering)})(a)())})}}}};return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(k))(function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(0)))(function(i){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(!1)))(function(l){return T.handleLifecycle(n)(function(){var v,p=A.new(m.empty)(),M=r.bindFlipped(h.bindEffect)(A.read)(R(n)((v=p,function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(e){return f.traverse_(w.applicativeAff)(m.foldableMap)(u.fork(u.monadForkAff))(d.map(m.functorMap)(y.put(n))(e))})}))(U)(t))();return F.unDriverStateX(function(t){return e.pure(h.applicativeEffect)({query:(v=l,function(n){return function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(r){return r?e.pure(w.applicativeAff)(g.Nothing.value):T.evalQ(W)(n)(t)})}})(t.selfRef),subscribe:(f=i,function(n){return function(e){return r.bind(w.bindAff)(y.empty)(function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(function(){var e=A.read(f)();return A.modify_(function(n){return n+1|0})(f)(),A.modify_(m.insert(D.ordInt)(e)(t))(n)(),e}))(function(i){var l=a.producer(w.monadAff)(d.map(w.functorAff)(c.either(s.const(new c.Right(b.unit)))(c.Left.create))(o.try(w.monadErrorAff)(y.take(t))));return d.void(w.functorAff)(u.fork(u.monadForkAff)(r.discard(r.discardUnit)(w.bindAff)(a.runProcess(w.monadRecAff)(a.connect(w.monadRecAff)(w.parallelAff)(l)(e)))(function(){return r.discard(r.discardUnit)(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.modify_(m.delete(D.ordInt)(i))(n)))(function(){return y.kill(C.error("ended"))(t)})})))})})}})(p),dispose:B(l)(n)(M)(p)});var f,v})(M)()})})})})}}}}(t["Halogen.Aff.Driver"]=t["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=(t["Control.Monad.Error.Class"],t["Control.Semigroupoid"],t["Data.Either"]),o=t["Data.Function"],u=(t["Data.Functor"],t["Data.Maybe"]),i=t["Data.Unit"],l=t.Effect,c=t["Effect.Aff"],f=t["Effect.Class"],s=t["Effect.Exception"],d=(t.Prelude,t["Web.DOM.ParentNode"]),v=(t["Web.Event.EventTarget"],t["Web.HTML"]),p=(t["Web.HTML.Event.EventTypes"],t["Web.HTML.HTMLDocument"]),m=(t["Web.HTML.HTMLDocument.ReadyState"],t["Web.HTML.HTMLElement"]),g=t["Web.HTML.Window"],D=c.runAff_(a.either(s.throwException)(o.const(e.pure(l.applicativeEffect)(i.unit))));n.selectElement=function(n){return r.bind(c.bindAff)(f.liftEffect(c.monadEffectAff)(r.bindFlipped(l.bindEffect)(r.composeKleisliFlipped(l.bindEffect)(function(e){return d.querySelector(n)(p.toParentNode(e))})(g.document))(v.window)))(function(n){return e.pure(c.applicativeAff)(r.bindFlipped(u.bindMaybe)(m.fromElement)(n))})},n.runHalogenAff=D}(t["Halogen.Aff.Util"]=t["Halogen.Aff.Util"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Category"],o=t["Data.Foldable"],u=(t["Data.Function"],t["Data.Functor"]),i=t["Data.HeytingAlgebra"],l=t["Data.Maybe"],c=t["Data.Newtype"],f=t["Data.Unit"],s=t.Effect,d=t["Effect.Aff"],v=t["Effect.Class"],p=t["Effect.Ref"],m=(t["Effect.Uncurried"],t["Halogen.Aff.Driver"]),g=t["Halogen.Aff.Driver.State"],D=t["Halogen.Component"],b=t["Halogen.HTML.Core"],h=(t["Halogen.Query.Input"],t["Halogen.VDom"],t["Halogen.VDom.DOM"]),w=t["Halogen.VDom.DOM.Prop"],y=t["Halogen.VDom.Machine"],E=t["Halogen.VDom.Thunk"],M=(t.Prelude,t["Unsafe.Reference"]),C=(t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.Node"]),A=t["Web.HTML"],T=t["Web.HTML.HTMLDocument"],F=t["Web.HTML.HTMLElement"],H=t["Web.HTML.Window"],S=function(n){return function(){var e=C.parentNode(n.node)();return o.traverse_(s.applicativeEffect)(o.foldableMaybe)(function(e){return C.removeChild(n.node)(e)})(e)()}},L=function(n){return function(t){return{render:function(r){return function(a){return function(o){return function(d){if(d instanceof l.Nothing)return function(){var e=p.new(a)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),a=function(n){return n instanceof l.Just?y.halt(n.value0):f.unit};return{buildWidget:function(n){var t=E.buildThunk(c.unwrap(b.newtypeHTML))(n),o=function(n){var t=p.read(e)()(n)(),o=r(t);return y.mkStep(new y.Step(o,l.Nothing.value,i,a))},u=function(n){if(n instanceof D.ComponentSlot)return o(n.value0);if(n instanceof D.ThunkSlot){var e=t(n.value0);return y.mkStep(new y.Step(y.extract(e),new l.Just(e),i,a))}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 l.Just){if(t instanceof D.ComponentSlot)return y.halt(e.value0),o(t.value0);if(t instanceof D.ThunkSlot){var r=y.step(e.value0,t.value0);return y.mkStep(new y.Step(y.extract(r),new l.Just(r),n,a))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return u(t)};return u},buildAttributes:w.buildProp(n),document:t}}}}(r)(e)(n),d=h.buildVDom(i)(o),v=y.extract(d);return u.void(s.functorEffect)(C.appendChild(v)(F.toNode(t)))(),{machine:d,node:v,renderChildRef:e}};if(d instanceof l.Just)return function(){p.write(a)(d.value0.renderChildRef)();var n=C.parentNode(d.value0.node)(),t=C.nextSibling(d.value0.node)(),r=y.step(d.value0.machine,o),c=y.extract(r);return e.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(M.unsafeRefEq)(d.value0.node)(c))(function(n){return function(t){return function(r){return t instanceof l.Just&&r instanceof l.Just?u.void(s.functorEffect)(C.insertBefore(n)(t.value0)(r.value0)):t instanceof l.Nothing&&r instanceof l.Just?u.void(s.functorEffect)(C.appendChild(n)(r.value0)):e.pure(s.applicativeEffect)(f.unit)}}}(c)(t)(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:a.identity(a.categoryFn),removeChild:S,dispose:S}}};n.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(u.map(s.functorEffect)(T.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(A.window))))(function(r){return m.runUI(L(r)(t))(n)(e)})}}}}(t["Halogen.VDom.Driver"]=t["Halogen.VDom.Driver"]||{}),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";var e=t.Main,r=t.App,a=t["Component.AccountSettings"],o=t["Component.Add"],u=t["Component.BList"],i=t["Component.NList"],l=t["Component.NNote"],c=t["Control.Bind"],f=(t["Control.Semigroupoid"],t["Data.Foldable"]),s=(t["Data.Function"],t["Data.Functor"]),d=t["Data.Unit"],v=t.Effect,p=t["Effect.Aff"],m=t["Effect.Class"],g=(t["Halogen.Aff"],t["Halogen.Aff.Util"]),D=t["Halogen.VDom.Driver"],b=(t.Model,t.Prelude,t["Web.DOM.Element"]),h=(t["Web.DOM.ParentNode"],t["Web.Event.Event"]),w=t["Web.HTML.HTMLElement"],y=c.bind(p.bindAff)(g.selectElement(".user_footer"))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(b.removeAttribute("hidden")(w.toElement(n)))})),E=e._mainImpl;n.main=E,n.logoutE=function(n){return c.bindFlipped(v.bindEffect)(function(n){return s.void(v.functorEffect)(p.launchAff(r.logout(n)))})(h.preventDefault(n))},n.renderBookmarks=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(u.blist(e))(d.unit)(n)))(function(){return y})})))}},n.renderAddForm=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return D.runUI(o.addbmark(e))(d.unit)(n)})))}},n.renderNotes=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(i.nlist(e))(d.unit)(n)))(function(){return y})})))}},n.renderNote=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(l.nnote(e))(d.unit)(n))})))}},n.renderAccountSettings=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(a.usetting(e))(d.unit)(n))})))}},n.showFooter=y,n._mainImpl=e._mainImpl}(t.Main=t.Main||{}),t.Main.main(); },{"moment":"a2/B","marked":"3F7m","process":"pBGv"}]},{},["C4Nx"], null) //# sourceMappingURL=/static/js/app.min.map \ No newline at end of file diff --git a/static/js/app.min.js.gz b/static/js/app.min.js.gz index a4e798594f6b96336bbabca633aa3a69a199b363..9fc32a4fdec9056797b2ba48ce11d4e7c58622e4 100644 GIT binary patch delta 62233 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 OdH%m%VcKD@2n7JkqsjmP delta 62114 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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)*? */?>(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=\\\\h*\\\\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 (top && (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 (top && (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\\\\]*\\)|[^\\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: edit(inline.text)\n .replace(']|', '~]|')\n .replace('|$', '|https?://|ftp://|www\\\\.|[a-zA-Z0-9.!#$%&\\'*+/=?^_`{\\\\|}~-]+@|$')\n .getRegex()\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += escape(cap[1]);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^/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 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 '
'\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\n if (this.token.task) {\n body += this.renderer.checkbox(this.token.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\n return this.renderer.listitem(body);\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\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.12.2\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 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.refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = 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[\"Data.Symbol\"] = PS[\"Data.Symbol\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\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(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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS[\"Type.Data.RowList\"] = PS[\"Type.Data.RowList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Show\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unit\"];\n var Data_Show = PS[\"Data.Show\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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[\"HeytingAlgebra\"] = HeytingAlgebra;\n exports[\"tt\"] = tt;\n exports[\"ff\"] = ff;\n exports[\"implies\"] = implies;\n exports[\"conj\"] = conj;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Show = PS[\"Data.Show\"];\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[\"Data.Void\"] = PS[\"Data.Void\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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.refEq);\n var eqInt = new Eq($foreign.refEq);\n var eqChar = new Eq($foreign.refEq);\n var eqBoolean = new Eq($foreign.refEq);\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[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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[\"Semigroupoid\"] = Semigroupoid;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS[\"Control.Semigroupoid\"] = PS[\"Control.Semigroupoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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[\"Category\"] = Category;\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS[\"Control.Category\"] = PS[\"Control.Category\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS[\"Data.Boolean\"] = PS[\"Data.Boolean\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.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})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"]; \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[\"Data.Ordering\"] = PS[\"Data.Ordering\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"]; \n var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);\n exports[\"unsafeCompare\"] = unsafeCompare;\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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 zero = function (dict) {\n return dict.zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n var one = function (dict) {\n return dict.one;\n };\n var mul = function (dict) {\n return dict.mul;\n };\n var add = function (dict) {\n return dict.add;\n };\n exports[\"Semiring\"] = Semiring;\n exports[\"add\"] = add;\n exports[\"zero\"] = zero;\n exports[\"mul\"] = mul;\n exports[\"one\"] = one;\n exports[\"semiringInt\"] = semiringInt;\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n };\n var sub = function (dict) {\n return dict.sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"Ring\"] = Ring;\n exports[\"sub\"] = sub;\n exports[\"ringInt\"] = ringInt;\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord_Unsafe = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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 }, Data_Ord_Unsafe.unsafeCompare);\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, Data_Ord_Unsafe.unsafeCompare);\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[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"]; \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[\"Data.Function\"] = PS[\"Data.Function\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Function.Uncurried\"];\n var Data_Unit = PS[\"Data.Unit\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\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 // Generated by purs version 0.12.2\n \"use strict\";\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[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n }; \n var alt = function (dict) {\n return dict.alt;\n };\n exports[\"Alt\"] = Alt;\n exports[\"alt\"] = alt;\n})(PS[\"Control.Alt\"] = PS[\"Control.Alt\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Apply = PS[\"Control.Apply\"];\n var Data_Functor = PS[\"Data.Functor\"];\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[\"Control.Applicative\"] = PS[\"Control.Applicative\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Bind\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = 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 Data_Unit = PS[\"Data.Unit\"]; \n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var Discard = function (discard) {\n this.discard = discard;\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[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \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[\"Control.Monad\"] = PS[\"Control.Monad\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Data_Functor = PS[\"Data.Functor\"]; \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[\"Control.Plus\"] = PS[\"Control.Plus\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Bounded\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"]; \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[\"Bounded\"] = Bounded;\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\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 // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"CommutativeRing\"] = CommutativeRing;\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS[\"Data.CommutativeRing\"] = PS[\"Data.CommutativeRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.EuclideanRing\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"]; \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 var degree = function (dict) {\n return dict.degree;\n };\n exports[\"EuclideanRing\"] = EuclideanRing;\n exports[\"degree\"] = degree;\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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 74, column 1 - line 74, 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[\"Data.Monoid\"] = PS[\"Data.Monoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \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 67, column 35): \" + [ 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 125, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\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[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS[\"Data.Maybe\"] = PS[\"Data.Maybe\"] || {});\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 //------------------------------------------------------------------------------\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.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Subarrays -------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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[\"Data.Bifunctor\"] = PS[\"Data.Bifunctor\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \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[\"semigroupDisj\"] = semigroupDisj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS[\"Data.Monoid.Disj\"] = PS[\"Data.Monoid.Disj\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Semigroup_First = PS[\"Data.Semigroup.First\"];\n var Data_Semigroup_Last = PS[\"Data.Semigroup.Last\"];\n var Prelude = PS[\"Prelude\"]; \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 return function ($80) {\n return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"wrap\"] = wrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS[\"Data.Newtype\"] = PS[\"Data.Newtype\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Foldable\"];\n var Control_Alt = PS[\"Control.Alt\"];\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_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Maybe_Last = PS[\"Data.Maybe.Last\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \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 ($195) {\n return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));\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 129, column 41): \" + [ 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 129, column 41): \" + [ 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 129, column 41): \" + [ 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[\"foldMapDefaultR\"] = foldMapDefaultR;\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[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \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 8 - 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 46, column 45): \" + [ 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 82, column 41): \" + [ 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[\"Data.Either\"] = PS[\"Data.Either\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applyIdentity\"] = applyIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"bindIdentity\"] = bindIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS[\"Data.Identity\"] = PS[\"Data.Identity\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Prelude = PS[\"Prelude\"]; \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 exports[\"functorEffect\"] = functorEffect;\n exports[\"applyEffect\"] = applyEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Ref\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"]; \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[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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(dictPartial)(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Control.Monad.Rec.Class\"] = PS[\"Control.Monad.Rec.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Biapplicative = PS[\"Control.Biapplicative\"];\n var Control_Biapply = PS[\"Control.Biapply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Equality = PS[\"Type.Equality\"]; \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[\"eqTuple\"] = eqTuple;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS[\"Data.Tuple\"] = PS[\"Data.Tuple\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable1\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldr1 = function (dict) {\n return dict.unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable1\"] = Unfoldable1;\n exports[\"unfoldr1\"] = unfoldr1;\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable\"];\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_Ring = PS[\"Data.Ring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Unfoldable\"] = Unfoldable;\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Array\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array_NonEmpty_Internal = PS[\"Data.Array.NonEmpty.Internal\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Array_ST_Iterator = PS[\"Data.Array.ST.Iterator\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\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_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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 ($114) {\n return Data_Maybe.maybe([ ])(singleton)(f($114));\n });\n };\n exports[\"singleton\"] = singleton;\n exports[\"concatMap\"] = concatMap;\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[\"Data.Array\"] = PS[\"Data.Array\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object.ST\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n exports[\"new\"] = $foreign[\"new\"];\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object\"];\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_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Row_Homogeneous = PS[\"Type.Row.Homogeneous\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Core\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Prelude = PS[\"Prelude\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.replace = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(s1, s2);\n };\n };\n };\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Common\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\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 exports.unsafeEncodeURIComponent = encodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n exports[\"unsafeEncodeURIComponent\"] = $foreign.unsafeEncodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\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_Unsafe.unsafeEncodeURIComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + (\"=\" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 35, column 18 - line 37, column 89): \" + [ v.constructor.name ]);\n };\n return function ($14) {\n return Data_String_Common.joinWith(\"&\")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));\n };\n })();\n exports[\"toArray\"] = toArray;\n exports[\"encode\"] = encode;\n})(PS[\"Data.FormURLEncoded\"] = PS[\"Data.FormURLEncoded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \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[\"MediaType\"] = MediaType;\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS[\"Data.MediaType\"] = PS[\"Data.MediaType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_MediaType = PS[\"Data.MediaType\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS[\"Data.MediaType.Common\"] = PS[\"Data.MediaType.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \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[\"Affjax.RequestBody\"] = PS[\"Affjax.RequestBody\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Affjax.RequestHeader\"] = PS[\"Affjax.RequestHeader\"] || {});\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(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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Exception\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Show = PS[\"Data.Show\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var $$throw = function ($1) {\n return $foreign.throwException($foreign.error($1));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\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 Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \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 ($21) {\n return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));\n });\n };\n };\n exports[\"catchError\"] = catchError;\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS[\"Control.Monad.Error.Class\"] = PS[\"Control.Monad.Error.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \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[\"state\"] = state;\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS[\"Control.Monad.State.Class\"] = PS[\"Control.Monad.State.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Prelude = PS[\"Prelude\"]; \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[\"Control.Monad.Trans.Class\"] = PS[\"Control.Monad.Trans.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Effect = PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n }; \n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n})(PS[\"Effect.Class\"] = PS[\"Effect.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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 = PS[\"Control.Monad\"];\n var Control_Monad_Cont_Class = PS[\"Control.Monad.Cont.Class\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \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 ($97) {\n return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));\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 ($98) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));\n });\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, function ($102) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));\n });\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applyExceptT\"] = applyExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadExceptT\"] = monadExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS[\"Control.Monad.Except.Trans\"] = PS[\"Control.Monad.Except.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var runExcept = function ($0) {\n return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));\n };\n exports[\"runExcept\"] = runExcept;\n})(PS[\"Control.Monad.Except\"] = PS[\"Control.Monad.Except\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\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_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Data.NonEmpty\"] = PS[\"Data.NonEmpty\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \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 foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n return function ($174) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($174));\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 81, column 12 - line 83, 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 return function ($175) {\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($175));\n };\n };\n });\n var functorList = new Data_Functor.Functor(function (f) {\n return Data_Foldable.foldr(foldableList)(function (x) {\n return function (acc) {\n return new Cons(f(x), acc);\n };\n })(Nil.value);\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 127, column 1 - line 127, column 33): \" + [ 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[\"functorList\"] = functorList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applyList\"] = applyList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"altList\"] = altList;\n exports[\"plusList\"] = plusList;\n})(PS[\"Data.List.Types\"] = PS[\"Data.List.Types\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\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_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\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[\"Data.List\"] = PS[\"Data.List\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\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_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\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_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var singleton = function ($165) {\n return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($165));\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[\"Data.List.NonEmpty\"] = PS[\"Data.List.NonEmpty\"] || {});\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(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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodeUnits\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\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_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Prelude = PS[\"Prelude\"]; \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 ($107) {\n return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));\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[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"]; \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 54, column 1): \" + [ 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[\"Affjax.ResponseFormat\"] = PS[\"Affjax.ResponseFormat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Affjax.ResponseHeader\"] = PS[\"Affjax.ResponseHeader\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Compose = PS[\"Data.Functor.Compose\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Prelude = PS[\"Prelude\"];\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[\"Control.Parallel.Class\"] = PS[\"Control.Parallel.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n return function ($17) {\n return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {\n return Control_Parallel_Class.parallel(dictParallel)(f($18));\n })($17));\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[\"parTraverse_\"] = parTraverse_;\n exports[\"parSequence_\"] = parSequence_;\n})(PS[\"Control.Parallel\"] = PS[\"Control.Parallel\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Parser\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"]; \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[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Prelude = PS[\"Prelude\"]; \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 40, column 35): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"OPTIONS\"] = OPTIONS;\n exports[\"GET\"] = GET;\n exports[\"HEAD\"] = HEAD;\n exports[\"POST\"] = POST;\n exports[\"PUT\"] = PUT;\n exports[\"DELETE\"] = DELETE;\n exports[\"TRACE\"] = TRACE;\n exports[\"CONNECT\"] = CONNECT;\n exports[\"PROPFIND\"] = PROPFIND;\n exports[\"PROPPATCH\"] = PROPPATCH;\n exports[\"MKCOL\"] = MKCOL;\n exports[\"COPY\"] = COPY;\n exports[\"MOVE\"] = MOVE;\n exports[\"LOCK\"] = LOCK;\n exports[\"UNLOCK\"] = UNLOCK;\n exports[\"PATCH\"] = PATCH;\n exports[\"unCustomMethod\"] = unCustomMethod;\n exports[\"print\"] = print;\n exports[\"showMethod\"] = showMethod;\n})(PS[\"Data.HTTP.Method\"] = PS[\"Data.HTTP.Method\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Nullable\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\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 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 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) {\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 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 || 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 bracketCount++;\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.\n if (interrupt && interrupt !== tmp) {\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 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.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Unsafe\"];\n var Effect = PS[\"Effect\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Aff\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\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 Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\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 31): \" + [ 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 399, column 3): \" + [ 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 ($49) {\n return Data_Functor[\"void\"](Effect.functorEffect)(launchAff($49));\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 ($50) {\n return Canceler(Data_Function[\"const\"](Effect_Class.liftEffect(monadEffectAff)($50)));\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 ($52) {\n return Effect_Class.liftEffect(monadEffectAff)(k($52));\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 ($54) {\n return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($54));\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 exports[\"Canceler\"] = Canceler;\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff\"] = runAff;\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[\"bracket\"] = bracket;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applyAff\"] = applyAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadThrowAff\"] = monadThrowAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"functorParAff\"] = functorParAff;\n exports[\"applyParAff\"] = applyParAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\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[\"Effect.Aff.Compat\"] = PS[\"Effect.Aff.Compat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Affjax_StatusCode = PS[\"Affjax.StatusCode\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\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_Int = PS[\"Data.Int\"];\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_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\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 Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Foreign = PS[\"Foreign\"];\n var $$Math = PS[\"Math\"];\n var Prelude = PS[\"Prelude\"];\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[\"Affjax\"] = PS[\"Affjax\"] || {});\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 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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Index\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\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 Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\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[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"Record\"] = PS[\"Record\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Builder\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Simple.JSON\"];\n var Control_Alt = PS[\"Control.Alt\"];\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 = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Variant = PS[\"Data.Variant\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Record = PS[\"Record\"];\n var Record_Builder = PS[\"Record.Builder\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Prelude = PS[\"Type.Prelude\"];\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\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 return function ($85) {\n return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($85));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign(function ($87) {\n return Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign))(Data_Nullable.toMaybe($87));\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)(dictCons)(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"WriteForeign\"] = WriteForeign;\n exports[\"writeImpl\"] = writeImpl;\n exports[\"WriteForeignFields\"] = WriteForeignFields;\n exports[\"writeImplFields\"] = writeImplFields;\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[\"Simple.JSON\"] = PS[\"Simple.JSON\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Nullable = PS[\"Data.Nullable\"];\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[\"Model\"] = PS[\"Model\"] || {});\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(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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.ParentNode\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_HTMLCollection = PS[\"Web.DOM.HTMLCollection\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var querySelector = function (qs) {\n return function ($3) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_querySelector\"](qs)($3));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\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(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(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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Enum\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\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_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\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 succ = function (dict) {\n return dict.succ;\n }; \n var pred = function (dict) {\n return dict.pred;\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 cardinality = function (dict) {\n return dict.cardinality;\n }; \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[\"Enum\"] = Enum;\n exports[\"succ\"] = succ;\n exports[\"pred\"] = pred;\n exports[\"BoundedEnum\"] = BoundedEnum;\n exports[\"cardinality\"] = cardinality;\n exports[\"toEnum\"] = toEnum;\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"defaultSucc\"] = defaultSucc;\n exports[\"defaultPred\"] = defaultPred;\n exports[\"enumChar\"] = enumChar;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.Event\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_DateTime_Instant = PS[\"Data.DateTime.Instant\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_EventPhase = PS[\"Web.Event.EventPhase\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n var currentTarget = function ($6) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($6));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.EventTarget\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\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(exports) {\n \"use strict\";\n\n exports.removeAttribute = function (name) {\n return function (element) {\n return function () {\n element.removeAttribute(name);\n return {};\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Element\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_ChildNode = PS[\"Web.DOM.ChildNode\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLElement\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_DOMTokenList = PS[\"Web.DOM.DOMTokenList\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \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[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLDocument\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS[\"Web.HTML.HTMLDocument\"] = PS[\"Web.HTML.HTMLDocument\"] || {});\n(function(exports) {\n \"use strict\";\n\n // ----------------------------------------------------------------------------\n\n exports.href = function (location) {\n return function () {\n return location.href;\n };\n };\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Location\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Window\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_Storage_Storage = PS[\"Web.Storage.Storage\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML\"];\n var Effect = PS[\"Effect\"];\n var Web_HTML_HTMLAnchorElement = PS[\"Web.HTML.HTMLAnchorElement\"];\n var Web_HTML_HTMLAreaElement = PS[\"Web.HTML.HTMLAreaElement\"];\n var Web_HTML_HTMLAudioElement = PS[\"Web.HTML.HTMLAudioElement\"];\n var Web_HTML_HTMLBRElement = PS[\"Web.HTML.HTMLBRElement\"];\n var Web_HTML_HTMLBaseElement = PS[\"Web.HTML.HTMLBaseElement\"];\n var Web_HTML_HTMLBodyElement = PS[\"Web.HTML.HTMLBodyElement\"];\n var Web_HTML_HTMLButtonElement = PS[\"Web.HTML.HTMLButtonElement\"];\n var Web_HTML_HTMLCanvasElement = PS[\"Web.HTML.HTMLCanvasElement\"];\n var Web_HTML_HTMLDListElement = PS[\"Web.HTML.HTMLDListElement\"];\n var Web_HTML_HTMLDataElement = PS[\"Web.HTML.HTMLDataElement\"];\n var Web_HTML_HTMLDataListElement = PS[\"Web.HTML.HTMLDataListElement\"];\n var Web_HTML_HTMLDivElement = PS[\"Web.HTML.HTMLDivElement\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLEmbedElement = PS[\"Web.HTML.HTMLEmbedElement\"];\n var Web_HTML_HTMLFieldSetElement = PS[\"Web.HTML.HTMLFieldSetElement\"];\n var Web_HTML_HTMLFormElement = PS[\"Web.HTML.HTMLFormElement\"];\n var Web_HTML_HTMLHRElement = PS[\"Web.HTML.HTMLHRElement\"];\n var Web_HTML_HTMLHeadElement = PS[\"Web.HTML.HTMLHeadElement\"];\n var Web_HTML_HTMLHeadingElement = PS[\"Web.HTML.HTMLHeadingElement\"];\n var Web_HTML_HTMLIFrameElement = PS[\"Web.HTML.HTMLIFrameElement\"];\n var Web_HTML_HTMLImageElement = PS[\"Web.HTML.HTMLImageElement\"];\n var Web_HTML_HTMLInputElement = PS[\"Web.HTML.HTMLInputElement\"];\n var Web_HTML_HTMLKeygenElement = PS[\"Web.HTML.HTMLKeygenElement\"];\n var Web_HTML_HTMLLIElement = PS[\"Web.HTML.HTMLLIElement\"];\n var Web_HTML_HTMLLabelElement = PS[\"Web.HTML.HTMLLabelElement\"];\n var Web_HTML_HTMLLegendElement = PS[\"Web.HTML.HTMLLegendElement\"];\n var Web_HTML_HTMLLinkElement = PS[\"Web.HTML.HTMLLinkElement\"];\n var Web_HTML_HTMLMapElement = PS[\"Web.HTML.HTMLMapElement\"];\n var Web_HTML_HTMLMediaElement = PS[\"Web.HTML.HTMLMediaElement\"];\n var Web_HTML_HTMLMetaElement = PS[\"Web.HTML.HTMLMetaElement\"];\n var Web_HTML_HTMLMeterElement = PS[\"Web.HTML.HTMLMeterElement\"];\n var Web_HTML_HTMLModElement = PS[\"Web.HTML.HTMLModElement\"];\n var Web_HTML_HTMLOListElement = PS[\"Web.HTML.HTMLOListElement\"];\n var Web_HTML_HTMLObjectElement = PS[\"Web.HTML.HTMLObjectElement\"];\n var Web_HTML_HTMLOptGroupElement = PS[\"Web.HTML.HTMLOptGroupElement\"];\n var Web_HTML_HTMLOptionElement = PS[\"Web.HTML.HTMLOptionElement\"];\n var Web_HTML_HTMLOutputElement = PS[\"Web.HTML.HTMLOutputElement\"];\n var Web_HTML_HTMLParagraphElement = PS[\"Web.HTML.HTMLParagraphElement\"];\n var Web_HTML_HTMLParamElement = PS[\"Web.HTML.HTMLParamElement\"];\n var Web_HTML_HTMLPreElement = PS[\"Web.HTML.HTMLPreElement\"];\n var Web_HTML_HTMLProgressElement = PS[\"Web.HTML.HTMLProgressElement\"];\n var Web_HTML_HTMLQuoteElement = PS[\"Web.HTML.HTMLQuoteElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_HTML_HTMLSelectElement = PS[\"Web.HTML.HTMLSelectElement\"];\n var Web_HTML_HTMLSourceElement = PS[\"Web.HTML.HTMLSourceElement\"];\n var Web_HTML_HTMLSpanElement = PS[\"Web.HTML.HTMLSpanElement\"];\n var Web_HTML_HTMLStyleElement = PS[\"Web.HTML.HTMLStyleElement\"];\n var Web_HTML_HTMLTableCaptionElement = PS[\"Web.HTML.HTMLTableCaptionElement\"];\n var Web_HTML_HTMLTableCellElement = PS[\"Web.HTML.HTMLTableCellElement\"];\n var Web_HTML_HTMLTableColElement = PS[\"Web.HTML.HTMLTableColElement\"];\n var Web_HTML_HTMLTableDataCellElement = PS[\"Web.HTML.HTMLTableDataCellElement\"];\n var Web_HTML_HTMLTableElement = PS[\"Web.HTML.HTMLTableElement\"];\n var Web_HTML_HTMLTableHeaderCellElement = PS[\"Web.HTML.HTMLTableHeaderCellElement\"];\n var Web_HTML_HTMLTableRowElement = PS[\"Web.HTML.HTMLTableRowElement\"];\n var Web_HTML_HTMLTableSectionElement = PS[\"Web.HTML.HTMLTableSectionElement\"];\n var Web_HTML_HTMLTemplateElement = PS[\"Web.HTML.HTMLTemplateElement\"];\n var Web_HTML_HTMLTextAreaElement = PS[\"Web.HTML.HTMLTextAreaElement\"];\n var Web_HTML_HTMLTimeElement = PS[\"Web.HTML.HTMLTimeElement\"];\n var Web_HTML_HTMLTitleElement = PS[\"Web.HTML.HTMLTitleElement\"];\n var Web_HTML_HTMLTrackElement = PS[\"Web.HTML.HTMLTrackElement\"];\n var Web_HTML_HTMLUListElement = PS[\"Web.HTML.HTMLUListElement\"];\n var Web_HTML_HTMLVideoElement = PS[\"Web.HTML.HTMLVideoElement\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n exports[\"window\"] = $foreign.window;\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Globals\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \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[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut = PS[\"Data.Argonaut\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\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_Semigroup = PS[\"Data.Semigroup\"];\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 Prelude = PS[\"Prelude\"];\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 28, column 37): \" + [ 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 ($4) {\n return Affjax_RequestBody.string(Simple_JSON.writeJSON(dictWriteForeign)($4));\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 exports[\"fetchJson\"] = fetchJson;\n exports[\"fetchUrlEnc\"] = fetchUrlEnc;\n exports[\"fetchPath\"] = fetchPath;\n exports[\"fetchUrl\"] = fetchUrl;\n exports[\"showStar\"] = showStar;\n})(PS[\"App\"] = PS[\"App\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 16): \" + [ v.constructor.name ]);\n };\n exports[\"InputButton\"] = InputButton;\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputColor\"] = InputColor;\n exports[\"InputDate\"] = InputDate;\n exports[\"InputDatetimeLocal\"] = InputDatetimeLocal;\n exports[\"InputEmail\"] = InputEmail;\n exports[\"InputFile\"] = InputFile;\n exports[\"InputHidden\"] = InputHidden;\n exports[\"InputImage\"] = InputImage;\n exports[\"InputMonth\"] = InputMonth;\n exports[\"InputNumber\"] = InputNumber;\n exports[\"InputPassword\"] = InputPassword;\n exports[\"InputRadio\"] = InputRadio;\n exports[\"InputRange\"] = InputRange;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSearch\"] = InputSearch;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputTel\"] = InputTel;\n exports[\"InputText\"] = InputText;\n exports[\"InputTime\"] = InputTime;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"InputWeek\"] = InputWeek;\n exports[\"renderInputType\"] = renderInputType;\n})(PS[\"DOM.HTML.Indexed.InputType\"] = PS[\"DOM.HTML.Indexed.InputType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Data.Profunctor\"] = PS[\"Data.Profunctor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \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 second = function (dict) {\n return dict.second;\n };\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"second\"] = second;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS[\"Data.Profunctor.Strong\"] = PS[\"Data.Profunctor.Strong\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens_Internal_Wander = PS[\"Data.Lens.Internal.Wander\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Choice = PS[\"Data.Profunctor.Choice\"];\n var Data_Profunctor_Cochoice = PS[\"Data.Profunctor.Cochoice\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Forget\"] = Forget;\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"profunctorForget\"] = profunctorForget;\n exports[\"strongForget\"] = strongForget;\n})(PS[\"Data.Lens.Internal.Forget\"] = PS[\"Data.Lens.Internal.Forget\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \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[\"viewOn\"] = viewOn;\n exports[\"view\"] = view;\n exports[\"use\"] = use;\n})(PS[\"Data.Lens.Getter\"] = PS[\"Data.Lens.Getter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Internal_Shop = PS[\"Data.Lens.Internal.Shop\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\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 Prelude = PS[\"Prelude\"];\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[\"Data.Lens.Lens\"] = PS[\"Data.Lens.Lens\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \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[\"over\"] = over;\n exports[\"set\"] = set;\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS[\"Data.Lens.Setter\"] = PS[\"Data.Lens.Setter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_List_Trans = PS[\"Control.Monad.List.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_RWS_Trans = PS[\"Control.Monad.RWS.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_State_Trans = PS[\"Control.Monad.State.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Effect.Aff.Class\"] = PS[\"Effect.Aff.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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[\"Data.Exists\"] = PS[\"Data.Exists\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \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 ($84) {\n return f(v1.value0($84));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"Coyoneda\"] = Coyoneda;\n exports[\"coyoneda\"] = coyoneda;\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS[\"Data.Coyoneda\"] = PS[\"Data.Coyoneda\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Lazy = PS[\"Data.List.Lazy\"];\n var Data_List_Lazy_Types = PS[\"Data.List.Lazy.Types\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \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 96, column 39): \" + [ 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[\"values\"] = values;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS[\"Data.Map.Internal\"] = PS[\"Data.Map.Internal\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"]; \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[\"eqOrdBox\"] = eqOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS[\"Halogen.Data.OrdBox\"] = PS[\"Halogen.Data.OrdBox\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"Halogen.Data.Slot\"] = PS[\"Halogen.Data.Slot\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\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_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \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 64, column 1): \" + [ 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[\"liftFreeAp\"] = liftFreeAp;\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"foldFreeAp\"] = foldFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n exports[\"functorFreeAp\"] = functorFreeAp;\n exports[\"applyFreeAp\"] = applyFreeAp;\n exports[\"applicativeFreeAp\"] = applicativeFreeAp;\n})(PS[\"Control.Applicative.Free\"] = PS[\"Control.Applicative.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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 = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \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[\"CatQueue\"] = CatQueue;\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS[\"Data.CatQueue\"] = PS[\"Data.CatQueue\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_CatQueue = PS[\"Data.CatQueue\"];\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_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \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[\"CatNil\"] = CatNil;\n exports[\"CatCons\"] = CatCons;\n exports[\"empty\"] = empty;\n exports[\"append\"] = append;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS[\"Data.CatList\"] = PS[\"Data.CatList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 = 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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_CatList = PS[\"Data.CatList\"];\n var Data_Either = PS[\"Data.Either\"];\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_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_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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 220, column 7 - line 224, 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 218, column 3 - line 226, 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 ($118) {\n return Control_Applicative.pure(freeApplicative)(k($118));\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 ($119) {\n return fromView(Return.create($119));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, function ($120) {\n return Control_Applicative.pure(freeApplicative)($120);\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 ($127) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($127));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 151, column 10 - line 153, 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[\"freeApply\"] = freeApply;\n exports[\"freeMonad\"] = freeMonad;\n})(PS[\"Control.Monad.Free\"] = PS[\"Control.Monad.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS[\"Halogen.Query.ChildQuery\"] = PS[\"Halogen.Query.ChildQuery\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \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 ($104) {\n return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));\n });\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 57, column 71): \" + [ f.constructor.name, v.constructor.name ]);\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[\"applyFreeT\"] = applyFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadFreeT\"] = monadFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS[\"Control.Monad.Free.Trans\"] = PS[\"Control.Monad.Free.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 = PS[\"Control.Monad.Except\"];\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 = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\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 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 Prelude = PS[\"Prelude\"];\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 ($186) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));\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[\"loop\"] = loop;\n exports[\"runProcess\"] = runProcess;\n exports[\"fuseWith\"] = fuseWith;\n exports[\"fuseWithL\"] = fuseWithL;\n exports[\"Emit\"] = Emit;\n exports[\"emit\"] = emit;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"bifunctorEmit\"] = bifunctorEmit;\n exports[\"functorEmit\"] = functorEmit;\n exports[\"profunctorAwait\"] = profunctorAwait;\n exports[\"functorAwait\"] = functorAwait;\n})(PS[\"Control.Coroutine\"] = PS[\"Control.Coroutine\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.AVar\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Killed\"] = Killed;\n exports[\"Filled\"] = Filled;\n exports[\"Empty\"] = Empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_AVar = PS[\"Effect.AVar\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\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 return function ($11) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));\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[\"Effect.Aff.AVar\"] = PS[\"Effect.Aff.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\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_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\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_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\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_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS[\"Halogen.Query.EventSource\"] = PS[\"Halogen.Query.EventSource\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\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[\"Halogen.Query.Input\"] = PS[\"Halogen.Query.Input\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\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 = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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 Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_ChildQuery = PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"]; \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 ($132) {\n return HalogenM(Control_Monad_Free.liftF(State.create($132)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, function ($135) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)($135))));\n });\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, function ($136) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)($136))));\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[\"HalogenM\"] = HalogenM;\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[\"monadHalogenM\"] = monadHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS[\"Halogen.Query.HalogenM\"] = PS[\"Halogen.Query.HalogenM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Halogen.Query.HalogenQ\"] = PS[\"Halogen.Query.HalogenQ\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function = PS[\"Data.Function\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\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[\"Halogen.VDom.Machine\"] = PS[\"Halogen.VDom.Machine\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\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 ($45) {\n return f($45);\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 ($47) {\n return f(v.value0($47));\n }, function ($48) {\n return g(v.value1($48));\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 73, column 7 - line 73, 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[\"Graft\"] = Graft;\n exports[\"graft\"] = graft;\n exports[\"unGraft\"] = unGraft;\n exports[\"runGraft\"] = runGraft;\n exports[\"bifunctorGraft\"] = bifunctorGraft;\n})(PS[\"Halogen.VDom.Types\"] = PS[\"Halogen.VDom.Types\"] || {});\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 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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Node\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeType = PS[\"Web.DOM.NodeType\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"];\n var parentNode = function ($2) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_parentNode\"]($2));\n };\n var nextSibling = function ($6) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_nextSibling\"]($6));\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[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Halogen.VDom.Util\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \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[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\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 Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\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 exports[\"buildText\"] = buildText;\n exports[\"buildElem\"] = buildElem;\n exports[\"buildKeyed\"] = buildKeyed;\n exports[\"buildWidget\"] = buildWidget;\n})(PS[\"Halogen.VDom.DOM\"] = PS[\"Halogen.VDom.DOM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"]; \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 exports[\"runThunk\"] = runThunk;\n})(PS[\"Halogen.VDom.Thunk\"] = PS[\"Halogen.VDom.Thunk\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bifunctor_Wrap = PS[\"Data.Bifunctor.Wrap\"];\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_Newtype = PS[\"Data.Newtype\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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 Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\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 return function ($28) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g))(args.handleQuery($28));\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(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert(dictCons)(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[\"mkComponentSlot\"] = mkComponentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS[\"Halogen.Component\"] = PS[\"Halogen.Component\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 18): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"ButtonSubmit\"] = ButtonSubmit;\n exports[\"ButtonReset\"] = ButtonReset;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS[\"DOM.HTML.Indexed.ButtonType\"] = PS[\"DOM.HTML.Indexed.ButtonType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 10): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS[\"DOM.HTML.Indexed.OnOff\"] = PS[\"DOM.HTML.Indexed.OnOff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\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 189, column 1): \" + [ 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[\"Halogen.VDom.DOM.Prop\"] = PS[\"Halogen.VDom.DOM.Prop\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_CrossOriginValue = PS[\"DOM.HTML.Indexed.CrossOriginValue\"];\n var DOM_HTML_Indexed_DirValue = PS[\"DOM.HTML.Indexed.DirValue\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_KindValue = PS[\"DOM.HTML.Indexed.KindValue\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_ScopeValue = PS[\"DOM.HTML.Indexed.ScopeValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var DOM_HTML_Indexed_WrapValue = PS[\"DOM.HTML.Indexed.WrapValue\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\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 toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($26) {\n return HTML(Halogen_VDom_Types.Text.create($26));\n };\n var slot = function ($27) {\n return HTML(Halogen_VDom_Types.Widget.create($27));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($28) {\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 100, column 21 - line 102, column 23): \" + [ v.constructor.name ]);\n })($28));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n return function ($29) {\n return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($29));\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 ($35) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));\n });\n var isPropButtonType = new IsProp(function ($45) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($45));\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[\"HTML\"] = HTML;\n exports[\"slot\"] = slot;\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[\"IsProp\"] = IsProp;\n exports[\"toPropValue\"] = toPropValue;\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[\"Halogen.HTML.Core\"] = PS[\"Halogen.HTML.Core\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\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 ($10) {\n return Halogen_HTML_Core.ref(go($10));\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 ($13) {\n return prop(Halogen_HTML_Core.isPropString)(\"className\")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));\n };\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = function ($14) {\n return prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\")((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($14));\n };\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"prop\"] = prop;\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[\"Halogen.HTML.Properties\"] = PS[\"Halogen.HTML.Properties\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"element\"] = element;\n exports[\"a\"] = a;\n exports[\"br\"] = br;\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[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr\"] = tr;\n exports[\"tr_\"] = tr_;\n})(PS[\"Halogen.HTML.Elements\"] = PS[\"Halogen.HTML.Elements\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\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_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \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.slot(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot(dictCons)(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS[\"Halogen.HTML\"] = PS[\"Halogen.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS[\"Web.HTML.Event.EventTypes\"] = PS[\"Web.HTML.Event.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Clipboard_ClipboardEvent = PS[\"Web.Clipboard.ClipboardEvent\"];\n var Web_Clipboard_ClipboardEvent_EventTypes = PS[\"Web.Clipboard.ClipboardEvent.EventTypes\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Event_DragEvent = PS[\"Web.HTML.Event.DragEvent\"];\n var Web_HTML_Event_DragEvent_EventTypes = PS[\"Web.HTML.Event.DragEvent.EventTypes\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_TouchEvent_TouchEvent = PS[\"Web.TouchEvent.TouchEvent\"];\n var Web_UIEvent_FocusEvent = PS[\"Web.UIEvent.FocusEvent\"];\n var Web_UIEvent_FocusEvent_EventTypes = PS[\"Web.UIEvent.FocusEvent.EventTypes\"];\n var Web_UIEvent_KeyboardEvent = PS[\"Web.UIEvent.KeyboardEvent\"];\n var Web_UIEvent_KeyboardEvent_EventTypes = PS[\"Web.UIEvent.KeyboardEvent.EventTypes\"];\n var Web_UIEvent_MouseEvent = PS[\"Web.UIEvent.MouseEvent\"];\n var Web_UIEvent_MouseEvent_EventTypes = PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var Web_UIEvent_WheelEvent = PS[\"Web.UIEvent.WheelEvent\"];\n var Web_UIEvent_WheelEvent_EventTypes = PS[\"Web.UIEvent.WheelEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n return function ($0) {\n return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create))($0));\n };\n }; \n var onClick = function ($1) {\n return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($1));\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[\"handler\"] = handler;\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS[\"Halogen.HTML.Events\"] = PS[\"Halogen.HTML.Events\"] || {});\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 // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodePoints\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\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 Prelude = PS[\"Prelude\"];\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 ($53) {\n return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($53));\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[\"singleton\"] = singleton;\n exports[\"toCodePointArray\"] = toCodePointArray;\n exports[\"uncons\"] = uncons;\n exports[\"length\"] = length;\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\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_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\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 = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\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_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 ($59) {\n return Data_Maybe.fromMaybe(\"\")(Data_Nullable.toMaybe($59));\n };\n var class_ = function ($60) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($60));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = function ($61) {\n return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll(\"+\")(\" \")($61));\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 ($63) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($63));\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[\"_parseQueryString\"] = _parseQueryString;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS[\"Util\"] = PS[\"Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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 = PS[\"Data.Lens\"];\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 = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\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 Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \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[\"_us\"] = _us;\n exports[\"UEditField\"] = UEditField;\n exports[\"USubmit\"] = USubmit;\n exports[\"EarchiveDefault\"] = EarchiveDefault;\n exports[\"EprivateDefault\"] = EprivateDefault;\n exports[\"EprivacyLock\"] = EprivacyLock;\n exports[\"usetting\"] = usetting;\n})(PS[\"Component.AccountSettings\"] = PS[\"Component.AccountSettings\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\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_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\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 = PS[\"Halogen\"];\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 Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\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 ($60) {\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\")($60)));\n };\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($61) {\n return Data_Maybe.Just.create(BEditField.create(f($61)));\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 ($62) {\n return Data_Maybe.Just.create(BEditSubmit.create($62));\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[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"addbmark\"] = addbmark;\n})(PS[\"Component.Add\"] = PS[\"Component.Add\"] || {});\n(function(exports) {// 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 // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\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 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 Prelude = PS[\"Prelude\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = function ($1) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n })(Halogen_Query_HalogenM.getRef($1));\n };\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS[\"Halogen.Query\"] = PS[\"Halogen.Query\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\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 Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\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_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML = PS[\"Web.HTML\"]; \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_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))($foreign.unsafeSetInnerHTML(el)(toRawHTML(v3.inputval)));\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 49, column 18 - line 60, column 22): \" + [ 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[\"SetInnerHTML\"] = SetInnerHTML;\n exports[\"Receive\"] = Receive;\n exports[\"mkComponent\"] = mkComponent;\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Marked\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Globals = PS[\"Globals\"];\n var Prelude = PS[\"Prelude\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_RawHtml = PS[\"Component.RawHtml\"];\n var Data_Const = PS[\"Data.Const\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Foreign_Marked = PS[\"Foreign.Marked\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Prelude = PS[\"Prelude\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS[\"Component.Markdown\"] = PS[\"Component.Markdown\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_Const = PS[\"Data.Const\"];\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_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\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_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\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_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 = PS[\"Halogen\"];\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 Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\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 236, column 17 - line 242, 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 203, column 3 - line 203, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\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 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 mmoment = Globals.mmoment8601(v.bm.time);\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.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), 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[\"BStar\"] = BStar;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"BEdit\"] = BEdit;\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BMarkRead\"] = BMarkRead;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"BNotifyRemove\"] = BNotifyRemove;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"_edit\"] = _edit;\n exports[\"_markdown\"] = _markdown;\n exports[\"bmark\"] = bmark;\n})(PS[\"Component.BMark\"] = PS[\"Component.BMark\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_BMark = PS[\"Component.BMark\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\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 Effect_Aff = PS[\"Effect.Aff\"];\n var Halogen = PS[\"Halogen\"];\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 Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"]; \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 ($5) {\n return Data_Maybe.Just.create(HandleBMessage.create(b.bid)($5));\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[\"HandleBMessage\"] = HandleBMessage;\n exports[\"_bookmark\"] = _bookmark;\n exports[\"blist\"] = blist;\n})(PS[\"Component.BList\"] = PS[\"Component.BList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\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_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\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[\"Component.NList\"] = PS[\"Component.NList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_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_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\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 = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\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 = PS[\"Halogen\"];\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 Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\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 22): \" + [ 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[\"NNop\"] = NNop;\n exports[\"NEditField\"] = NEditField;\n exports[\"NEditSubmit\"] = NEditSubmit;\n exports[\"NEdit\"] = NEdit;\n exports[\"NDeleteAsk\"] = NDeleteAsk;\n exports[\"NDestroy\"] = NDestroy;\n exports[\"_note\"] = _note;\n exports[\"_edit_note\"] = _edit_note;\n exports[\"_edit\"] = _edit;\n exports[\"Etitle\"] = Etitle;\n exports[\"Etext\"] = Etext;\n exports[\"EisMarkdown\"] = EisMarkdown;\n exports[\"_markdown\"] = _markdown;\n exports[\"nnote\"] = nnote;\n})(PS[\"Component.NNote\"] = PS[\"Component.NNote\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Prelude = PS[\"Prelude\"];\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 suspend = function (dict) {\n return dict.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 join = function (dict) {\n return dict.join;\n };\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"join\"] = join;\n exports[\"suspend\"] = suspend;\n exports[\"MonadFork\"] = MonadFork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS[\"Control.Monad.Fork.Class\"] = PS[\"Control.Monad.Fork.Class\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Console\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\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_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\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[\"mkDriverStateXRef\"] = mkDriverStateXRef;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS[\"Halogen.Aff.Driver.State\"] = PS[\"Halogen.Aff.Driver.State\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Reference\"]; \n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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 = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\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_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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 Prelude = PS[\"Prelude\"];\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 54): \" + [ 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 ($111) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(render)(ref)($111));\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[\"Halogen.Aff.Driver.Eval\"] = PS[\"Halogen.Aff.Driver.Eval\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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 = PS[\"Data.Map\"];\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_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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 = PS[\"Halogen\"];\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 Prelude = PS[\"Prelude\"]; \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 ($79) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($79)));\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 ($80) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(function ($81) {\n return Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Halogen_Query_EventSource.finalize($81));\n })($80));\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 ($82) {\n return handleAff(Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"))($82));\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 ($83) {\n return render(lchs)((function (v3) {\n return v3.selfRef;\n })($83));\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 = Effect_Ref.read(childrenInRef)();\n var v1 = (function () {\n var v1 = slot.pop(v);\n if (v1 instanceof Data_Maybe.Just) {\n Effect_Ref.write(v1.value0.value1)(childrenInRef)();\n var v2 = Effect_Ref.read(v1.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)(function ($84) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($84));\n })();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](slot.input)))();\n };\n })(v2)();\n return v1.value0.value0;\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n if (slot.input instanceof Halogen_Query_HalogenQ.Receive) {\n return runComponent(lchs)(function ($85) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($85));\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 232, column 14 - line 246, column 7): \" + [ v1.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(function ($86) {\n return Data_Maybe.isJust(slot.get($86));\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 250, column 37 - line 252, 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 handler = function ($87) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingHandlers)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_Aff_Driver_Eval.evalF(render)(v.selfRef)($87)));\n };\n var childHandler = function ($88) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingQueries)(handler(Halogen_Query_Input.Action.create($88)));\n };\n var v2 = renderSpec.render(function ($89) {\n return handleAff(handler($89));\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(v.pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($90) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($90)));\n })(v6)();\n var v7 = Effect_Ref.read(v.pendingHandlers)();\n var $69 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v7);\n if ($69) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.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 Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(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 ($91) {\n return Effect_Aff.launchAff_(Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"))($91));\n }))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX(function ($92) {\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose)((function (v1) {\n return v1.rendering;\n })($92));\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[\"Halogen.Aff.Driver\"] = PS[\"Halogen.Aff.Driver\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\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 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 Prelude = PS[\"Prelude\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\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 ($12) {\n return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));\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[\"Halogen.Aff.Util\"] = PS[\"Halogen.Aff.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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_Function = PS[\"Data.Function\"];\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 Effect_Uncurried = PS[\"Effect.Uncurried\"];\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_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\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[\"Halogen.VDom.Driver\"] = PS[\"Halogen.VDom.Driver\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\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 = PS[\"Halogen.Aff\"];\n var Halogen_Aff_Util = PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = PS[\"Halogen.VDom.Driver\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"]; \n var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\".user_footer\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute(\"hidden\")(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 showFooter;\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 Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el));\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 showFooter;\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 Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);\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 Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el));\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)(function ($0) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Effect_Aff.launchAff(App.logout($0)));\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[\"showFooter\"] = showFooter;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS[\"Main\"] = PS[\"Main\"] || {});\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","noop","hr","heading","nptable","blockquote","list","html","def","table","lheading","paragraph","text","Lexer","options","tokens","links","Object","create","marked","defaults","rules","normal","pedantic","gfm","tables","_label","_title","edit","replace","getRegex","bullet","item","source","_tag","_comment","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","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","toLowerCase","href","title","Error","charCodeAt","inline","escape","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","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","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","browser","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","fromObject","id","x","stringify","JSON","refEq","r1","r2","boolConj","b1","b2","boolDisj","boolNot","$foreign","SProxy","reflectSymbol","dict","unit","showIntImpl","unsafeGet","label","rec","RLProxy","Show","show","showInt","HeytingAlgebra","conj","disj","ff","implies","not","tt","heytingAlgebraBoolean","a","dictHeytingAlgebra","f","g","v","spin","$copy_v","$tco_result","Eq","eq","eqUnit","v1","eqString","eqInt","eqChar","eqBoolean","Semigroupoid","compose","semigroupoidFn","Control_Semigroupoid","Category","Semigroupoid0","identity","categoryFn","unsafeCompareImpl","lt","gt","y","concatString","s1","s2","concatArray","xs","ys","Semigroup","append","semigroupString","semigroupArray","Data_Eq","LT","GT","EQ","Data_Ordering","unsafeCompare","intSub","intAdd","intMul","Semiring","add","mul","one","zero","semiringInt","Data_Semiring","Ring","Semiring0","sub","ringInt","Data_Ord_Unsafe","Ord","Eq0","compare","ordUnit","ordString","ordInt","ordChar","runFn4","fn","d","arrayMap","arr","result","Data_Function","Data_Unit","Functor","functorFn","functorArray","dictFunctor","Functor0","alt","arrayApply","fs","k","Control_Category","Data_Functor","Apply","applyArray","dictApply","Control_Apply","pure","Apply0","dictApplicative","constructor","arrayBind","Bind","bind","Discard","discard","bindArray","bindFlipped","dictBind","flip","discardUnit","m","Control_Applicative","Control_Bind","Applicative0","Bind1","dictMonad","mb","unless","Alt0","empty","topInt","bottomInt","topChar","bottomChar","Data_Ord","Bounded","Ord0","bottom","boundedInt","boundedChar","intDegree","min","abs","intDiv","floor","intMod","yy","Data_Ring","CommutativeRing","Ring0","commutativeRingInt","Data_CommutativeRing","EuclideanRing","CommutativeRing0","degree","div","mod","euclideanRingInt","Data_Boolean","Data_Semigroup","Monoid","Semigroup0","mempty","monoidString","monoidArray","dictMonoid","Control_Alt","Nothing","Just","value0","maybe","v2","isNothing","isJust","functorMaybe","applyMaybe","bindMaybe","dictPartial","dictEq","_lookup","no","yes","cons","snoc","l1","xss","s","drop","bimap","dictBifunctor","foldrArray","init","acc","foldlArray","Data_HeytingAlgebra","Data_Monoid","semigroupDisj","Data_Monoid_Disj","Newtype","unwrap","wrap","newtypeDisj","Disj","dictFunctor1","dictNewtype","dictNewtype1","$80","Data_Maybe","Data_Newtype","Foldable","foldMap","foldl","foldr","traverse_","dictFoldable","$195","applySecond","foldableMaybe","z","foldMapDefaultR","foldableArray","alaF","monoidDisj","p","Data_Bifunctor","Left","Right","functorEither","bifunctorEither","Bifunctor","applyEither","Control_Monad","Identity","newtypeIdentity","functorIdentity","applyIdentity","bindIdentity","applicativeIdentity","Applicative","monadIdentity","Monad","pureE","bindE","monadEffect","applicativeEffect","bindEffect","applyEffect","functorEffect","ap","liftA1","semigroupEffect","dictSemigroup","lift2","new","read","ref","state","write","Effect","modify","s$prime","unsafePartial","crashWith","Partial","Effect_Ref","Loop","Done","MonadRec","Monad0","tailRecM","monadRecEffect","fromDone","Tuple","value1","functorTuple","eqTuple","dictEq1","dictOrd","dictOrd1","unfoldrArrayImpl","fromJust","fst","snd","tuple","unfoldr1ArrayImpl","Data_Tuple","Unfoldable1","unfoldr1","unfoldable1Array","Data_Unfoldable1","Unfoldable","Unfoldable10","unfoldr","unfoldableArray","unsafeCoerce","singleton","concatMap","$114","Data_Function_Uncurried","lookup","Foreign_Object","jsonEmptyObject","s3","replaceAll","sep","joinWith","unsafeStringify","unsafeDecodeURIComponent","unsafeEncodeURIComponent","encodeURIComponent","encodePart","Data_String_Common","Global_Unsafe","toArray","$14","MediaType","newtypeMediaType","Data_Argonaut_Core","Data_MediaType_Common","ArrayView","Blob","Document","$$String","FormData","FormURLEncoded","Json","string","applicationFormURLEncoded","applicationJSON","Data_MediaType","Accept","ContentType","RequestHeader","unsafeToForeign","unsafeFromForeign","typeOf","tagOf","throwException","$1","Data_Either","catchError","throwError","MonadThrow0","dictMonadError","$21","dictMonadState","lift","MonadEffect","liftEffect","monadEffectEffect","Control_Monad_Error_Class","ExceptT","mapExceptT","functorExceptT","monadExceptT","applicativeExceptT","bindExceptT","applyExceptT","either","$97","$98","MonadThrow","$102","Control_Monad_Except_Trans","Data_Identity","$0","runExceptT","Control_Plus","NonEmpty","dictPlus","Data_Foldable","Nil","Cons","foldableList","$174","go","$copy_b","$tco_var_b","$tco_done","$tco_loop","rev","$175","functorList","semigroupList","applyList","applicativeList","altList","Alt","plusList","Plus","$copy_acc","Data_List_Types","$tco_var_acc","Data_NonEmpty","$165","NonEmptyList","Data_List_NonEmpty","ForeignError","TypeMismatch","fail","$107","monadThrowExceptT","unsafeReadTagged","otherwise","readBoolean","readString","ResponseFormatError","$$ArrayBuffer","Ignore","json","ignore","ResponseHeader","parallel","sequential","Applicative1","Control_Alternative","Control_Parallel_Class","parTraverse_","dictParallel","$17","$18","_jsonParser","succ","Data_Show","OPTIONS","GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","PATCH","unCustomMethod","showMethod","print","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","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","unsafePerformEffect","Control_Monad_Rec_Class","Control_Parallel","Effect_Class","Effect_Unsafe","Partial_Unsafe","Unsafe_Coerce","Canceler","suspendAff","functorParAff","functorAff","forkAff","ffiUtil","unsafeCrashWith","makeFiber","launchAff","bracket","applyParAff","monadAff","applicativeAff","bindAff","applyAff","monadEffectAff","effectCanceler","$50","joinFiber","functorFiber","monadThrowAff","monadErrorAff","MonadError","runAff","$52","parallelAff","Parallel","applicativeParAff","$54","semigroupCanceler","parSequence_","monadRecAff","monoidCanceler","$49","fin","Effect_Aff","$4","$5","k2","$6","$7","Affjax_RequestBody","Affjax_RequestHeader","Affjax_ResponseFormat","Affjax_ResponseHeader","Control_Monad_Except","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","runExcept","moment","_app","app","_mmoment8601","just","nothing","ISO_8601","fromNow","_closeWindow","close","unsafeReadPropImpl","readProp","Data_Symbol","Record_Unsafe","dictIsSymbol","dictCons","copyRecord","copy","unsafeInsert","semigroupoidBuilder","categoryBuilder","dictLacks","Record","Record_Builder","Type_Data_RowList","WriteForeign","writeImpl","WriteForeignFields","writeImplFields","writeForeignString","writeForeignInt","writeForeignBoolean","nilWriteForeignFields","dictWriteForeign","$85","$87","toMaybe","dictRowToList","dictWriteForeignFields","steps","build","dictCons1","rest","get","insert","Simple_JSON","usersettings_wfI","recordWriteForeign","consWriteForeignFields","IsSymbol","note_wfI","bookmark_wfI","writeForeignNullable","_querySelector","selector","node","querySelector","qs","$3","eventListener","event","_currentTarget","currentTarget","preventDefault","toCharCode","Data_Bounded","Enum","pred","BoundedEnum","Bounded0","Enum1","cardinality","fromEnum","toEnum","defaultSucc","toEnum$prime","fromEnum$prime","defaultPred","charToEnum","enumChar","boundedEnumChar","dictBoundedEnum","low","high","_read","removeAttribute","element","toNode","toElement","toParentNode","toDocument","location","setHref","search","reload","document","win","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","Profunctor","dimap","profunctorFn","a2b","c2d","b2c","$9","dictProfunctor","Data_Profunctor","Strong","Profunctor0","first","second","strongFn","Data_Profunctor_Strong","Forget","profunctorForget","$27","strongForget","$28","$29","newtypeForget","Control_Monad_State_Class","Data_Lens_Internal_Forget","view","viewOn","gets","set","dictStrong","lens$prime","to","pab","over","MonadAff","MonadEffect0","liftAff","monadAffAff","runExists","mkExists","Data_Exists","CoyonedaF","Coyoneda","coyoneda","fi","functorCoyoneda","$84","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_v1","$copy_v2","$tco_var_v1","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","Lift","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","functorFreeAp","foldFreeAp","nextVals","applyFreeAp","applicativeFreeAp","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","$118","freeApply","$119","$120","dictMonadRec","runExpF","concatF","toView","$127","unChildQueryBox","Control_Monad_Trans_Class","Bound","FreeT","freeT","bound","functorFreeT","$104","monadFreeT","applicativeFreeT","bindFreeT","applyFreeT","resume","fa","interp","MonadTrans","ma","Control_Monad_Free_Trans","Emit","profunctorAwait","me","monadRecFreeT","fuseWithL","dictFunctor2","zap","gs","fuseWith","functorAwait","rmap","bifunctorEmit","functorEmit","o","liftFreeT","runFreeT","$186","recv","monadTransFreeT","voidLeft","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","take","put","$11","RefUpdate","Action","Control_Monad_Free","Effect_Aff_Class","State","Subscribe","Unsubscribe","ChildQuery","Raise","Par","Kill","GetRef","HalogenM","ordSubscriptionId","ordForkId","monadHalogenM","monadStateHalogenM","MonadState","$132","liftF","monadEffectHalogenM","dictMonadEffect","$135","functorHalogenM","bindHalogenM","applicativeHalogenM","dictMonadAff","$136","Initialize","Finalize","Receive","Query","Step","unStep","mkStep","extract","Text","Elem","Keyed","Widget","Grafted","Graft","unGraft","$45","graft","bifunctorGraft","$47","$48","runGraft","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","removeAttributeNS","addEventListener","ev","listener","removeEventListener","jsUndefined","getEffProp","_parentNode","_nextSibling","node1","node2","parent","appendChild","$2","Foreign_Object_ST","unsafeLookup","unsafeFreeze","pokeMutMap","newMutMap","Halogen_VDom_Machine","Halogen_VDom_Types","Halogen_VDom_Util","Web_DOM_Element","haltWidget","halt","widget","patchWidget","vdom","res$prime","haltText","patchText","nextState","haltKeyed","children","attrs","haltElem","eqElemSpec","ns1","ns2","patchElem","onThis","patchKeyed","ix$prime","v5","buildWidget","w","buildText","buildKeyed","name1","as1","ch1","buildAttributes","buildElem","child","spec","Halogen_VDom_DOM","runThunk","Thunk","toVDom","haltThunk","patchThunk","t2","unsafeEqThunk","renderThunk","buildVDom","Data_Coyoneda","Halogen_Data_Slot","Halogen_Query_HalogenM","Halogen_Query_HalogenQ","ComponentSlot","ThunkSlot","unComponentSlot","unComponent","mkComponentSlot","mkComponent","defaultEval","handleAction","handleQuery","receive","initialize","finalize","unCoyoneda","input","component","ButtonButton","ButtonSubmit","ButtonReset","On","Off","Web_Event_EventTarget","Created","Removed","Attribute","Property","Handler","Ref","unsafeGetProperty","setProperty","propToStrKey","propFromString","propFromInt","propFromBoolean","removeProp","prevEvents","removeProperty","mbEmit","haltProp","props","applyProp","events","patchProp","ps2","onThese","v11","$61","elVal","$70","onThat","renderProp","ps1","DOM_HTML_Indexed_ButtonType","DOM_HTML_Indexed_InputType","DOM_HTML_Indexed_OnOff","Halogen_VDom_DOM_Prop","HTML","ClassName","IsProp","toPropValue","newtypeHTML","newtypeClassName","isPropString","isPropOnOff","$35","renderOnOff","isPropInt","isPropInputType","$40","renderInputType","isPropButtonType","renderButtonType","isPropBoolean","$26","dictIsProp","Halogen_HTML_Core","Halogen_Query_Input","$10","mel","prop","required","rows","id_","$$for","autofocus","$13","form","span","tbody","tbody_","td","td_","tr","tr_","div_","button","br_","es","Halogen_Component","outputQuery","slot","componentSlot","Foreign_Index","Web_Event_Event","Web_HTML_Event_EventTypes","Web_UIEvent_MouseEvent_EventTypes","mouseHandler","et","onSubmit","addForeignPropHandler","reader","composeKleisli","onChecked","change","onValueChange","click","hasArrayFrom","from","hasStringIterator","Symbol","iterator","hasFromCodePoint","fromCodePoint","hasCodePointAt","codePointAt","_unsafeCodePointAt0","fallback","_singleton","_take","accum","iter","_toCodePointArray","unsafeCodePointAt0","Data_Enum","Data_EuclideanRing","Data_String_CodeUnits","Data_String_Unsafe","Data_Unfoldable","unsurrogate","lead","trail","isTrail","cu","isLead","cu1","cu0","unconsButWithTuple","$25","toCodePointArray","$53","toEnumWithDefaults","takeFallback","Data_String_CodePoints","Halogen_HTML_Properties","_parseQueryString","srh","decode","srh$prime","mapMaybe","kv","_loc","$60","class_","find","$63","$59","fromMaybe","App","Data_Lens_Getter","Data_Lens_Lens","Data_Lens_Setter","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","_bm","b$prime","toTextarea","mmoment","mmoment8601","time","display_exists","onClick","guard","ifElseH","$62","whenH","textarea","description","autocomplete","tags","toread","modify_","$38","destroy","$42","$43","selected","archiveUrl","editBookmark","assign","closeWindow","unsafeSetInnerHTML","innerHTML","Web_HTML_HTMLElement","fromElement","getRef","Halogen_Query","SetInnerHTML","toRawHTML","inputval","elRef","getHTMLElementRef","for_","monoidEffect","$12","$16","markedImpl","RawHTML","Component_RawHtml","Foreign_Marked","Component_Markdown","Data_Void","Halogen_HTML","BNotifyRemove","BStar","BEdit","BMarkRead","_markdown","_edit","mkState","shtime","linkToFilterTag","fromNullableStr","userR","dat","isowner","$71","absurd","whenA","toggleStar","raise","markRead","Component_BMark","HandleBMessage","_bookmark","st","bms","bmark","st$prime","notes$prime","created","linkToFilterSingle","notes","cur","Etext","EisMarkdown","NNop","NEditField","NEditSubmit","NEdit","NDeleteAsk","NDestroy","_note","note","edit_note","_edit_note","note$prime","isMarkdown","updated","$44","destroyNote","editNote","$57","noteR","MonadFork","Functor1","fork","suspend","monadForkAff","warn","unRenderStateX","unDriverStateX","mkRenderStateX","mkDriverStateXRef","rendering","lchs","v6","v7","v8","v9","ds","refs","childrenIn","childrenOut","selfRef","handlerRef","pendingQueries","pendingOuts","pendingHandlers","fresh","subscriptions","forks","lifecycleHandlers","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","cqb","retractFreeAp","hoistFreeAp","$111","ForkId","unlessM","killFiber","mapDriverState","alter","Effect_Aff_AVar","Effect_Console","Halogen_Aff_Driver_Eval","newLifecycleHandlers","handleAff","runAff_","handlePending","$79","renderSpec","subscribe","runComponent","initDriverState","$83","preInits","parentInitializer","handlers","squashChildInitializers","renderChild","childrenInRef","childrenOutRef","$86","renderStateX","$$var","$89","$88","foreachSlot","renderStateX_","ds$prime","$90","$69","$81","$82","dispose","disposed","dsx","subsRef","$91","launchAff_","$92","query","connect","Web_DOM_ParentNode","Web_HTML_HTMLDocument","runHalogenAff","Halogen_Aff_Driver","Halogen_VDom_Thunk","Web_DOM_Node","pn","container","renderChildRef","getNode","buildThunk","renderComponentSlot","cs","patch","buildProp","mkSpec","machine","nextSibling","newNode","heytingAlgebraFunction","substInParent","runUI","_mainImpl","Component_AccountSettings","Component_Add","Component_BList","Component_NList","Component_NNote","Halogen_Aff_Util","Halogen_VDom_Driver","showFooter","selectElement","main","logout","renderElSelector","bmarks","blist","addbmark","nlist","nnote","accountSettings","usetting"],"mappings":"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","file":"app.min.map","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: 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)*? */?>(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=\\\\h*\\\\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 (top && (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 (top && (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\\\\]*\\)|[^\\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: edit(inline.text)\n .replace(']|', '~]|')\n .replace('|$', '|https?://|ftp://|www\\\\.|[a-zA-Z0-9.!#$%&\\'*+/=?^_`{\\\\|}~-]+@|$')\n .getRegex()\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += escape(cap[1]);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^
    /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 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 '
    '\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\n if (this.token.task) {\n body += this.renderer.checkbox(this.token.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\n return this.renderer.listitem(body);\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\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.12.2\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 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.refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = 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[\"Data.Symbol\"] = PS[\"Data.Symbol\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\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(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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS[\"Type.Data.RowList\"] = PS[\"Type.Data.RowList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Show\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unit\"];\n var Data_Show = PS[\"Data.Show\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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[\"HeytingAlgebra\"] = HeytingAlgebra;\n exports[\"tt\"] = tt;\n exports[\"ff\"] = ff;\n exports[\"implies\"] = implies;\n exports[\"conj\"] = conj;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Show = PS[\"Data.Show\"];\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[\"Data.Void\"] = PS[\"Data.Void\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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.refEq);\n var eqInt = new Eq($foreign.refEq);\n var eqChar = new Eq($foreign.refEq);\n var eqBoolean = new Eq($foreign.refEq);\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[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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[\"Semigroupoid\"] = Semigroupoid;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS[\"Control.Semigroupoid\"] = PS[\"Control.Semigroupoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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[\"Category\"] = Category;\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS[\"Control.Category\"] = PS[\"Control.Category\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS[\"Data.Boolean\"] = PS[\"Data.Boolean\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.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})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"]; \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[\"Data.Ordering\"] = PS[\"Data.Ordering\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"]; \n var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);\n exports[\"unsafeCompare\"] = unsafeCompare;\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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 zero = function (dict) {\n return dict.zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n var one = function (dict) {\n return dict.one;\n };\n var mul = function (dict) {\n return dict.mul;\n };\n var add = function (dict) {\n return dict.add;\n };\n exports[\"Semiring\"] = Semiring;\n exports[\"add\"] = add;\n exports[\"zero\"] = zero;\n exports[\"mul\"] = mul;\n exports[\"one\"] = one;\n exports[\"semiringInt\"] = semiringInt;\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n };\n var sub = function (dict) {\n return dict.sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"Ring\"] = Ring;\n exports[\"sub\"] = sub;\n exports[\"ringInt\"] = ringInt;\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord_Unsafe = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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 }, Data_Ord_Unsafe.unsafeCompare);\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, Data_Ord_Unsafe.unsafeCompare);\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[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"]; \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[\"Data.Function\"] = PS[\"Data.Function\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Function.Uncurried\"];\n var Data_Unit = PS[\"Data.Unit\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\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 // Generated by purs version 0.12.2\n \"use strict\";\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[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n }; \n var alt = function (dict) {\n return dict.alt;\n };\n exports[\"Alt\"] = Alt;\n exports[\"alt\"] = alt;\n})(PS[\"Control.Alt\"] = PS[\"Control.Alt\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Apply = PS[\"Control.Apply\"];\n var Data_Functor = PS[\"Data.Functor\"];\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[\"Control.Applicative\"] = PS[\"Control.Applicative\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Bind\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = 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 Data_Unit = PS[\"Data.Unit\"]; \n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var Discard = function (discard) {\n this.discard = discard;\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[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \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[\"Control.Monad\"] = PS[\"Control.Monad\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Data_Functor = PS[\"Data.Functor\"]; \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[\"Control.Plus\"] = PS[\"Control.Plus\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Bounded\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"]; \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[\"Bounded\"] = Bounded;\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\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 // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"CommutativeRing\"] = CommutativeRing;\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS[\"Data.CommutativeRing\"] = PS[\"Data.CommutativeRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.EuclideanRing\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"]; \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 var degree = function (dict) {\n return dict.degree;\n };\n exports[\"EuclideanRing\"] = EuclideanRing;\n exports[\"degree\"] = degree;\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \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 74, column 1 - line 74, 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[\"Data.Monoid\"] = PS[\"Data.Monoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \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 67, column 35): \" + [ 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 125, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\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[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS[\"Data.Maybe\"] = PS[\"Data.Maybe\"] || {});\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 //------------------------------------------------------------------------------\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.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Subarrays -------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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[\"Data.Bifunctor\"] = PS[\"Data.Bifunctor\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \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[\"semigroupDisj\"] = semigroupDisj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS[\"Data.Monoid.Disj\"] = PS[\"Data.Monoid.Disj\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Semigroup_First = PS[\"Data.Semigroup.First\"];\n var Data_Semigroup_Last = PS[\"Data.Semigroup.Last\"];\n var Prelude = PS[\"Prelude\"]; \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 return function ($80) {\n return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"wrap\"] = wrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS[\"Data.Newtype\"] = PS[\"Data.Newtype\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Foldable\"];\n var Control_Alt = PS[\"Control.Alt\"];\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_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Maybe_Last = PS[\"Data.Maybe.Last\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \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 ($195) {\n return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));\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 129, column 41): \" + [ 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 129, column 41): \" + [ 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 129, column 41): \" + [ 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[\"foldMapDefaultR\"] = foldMapDefaultR;\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[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \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 8 - 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 46, column 45): \" + [ 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 82, column 41): \" + [ 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[\"Data.Either\"] = PS[\"Data.Either\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applyIdentity\"] = applyIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"bindIdentity\"] = bindIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS[\"Data.Identity\"] = PS[\"Data.Identity\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Prelude = PS[\"Prelude\"]; \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[\"applyEffect\"] = applyEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"semigroupEffect\"] = semigroupEffect;\n exports[\"monoidEffect\"] = monoidEffect;\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Ref\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"]; \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[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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(dictPartial)(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Control.Monad.Rec.Class\"] = PS[\"Control.Monad.Rec.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Biapplicative = PS[\"Control.Biapplicative\"];\n var Control_Biapply = PS[\"Control.Biapply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Equality = PS[\"Type.Equality\"]; \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[\"eqTuple\"] = eqTuple;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS[\"Data.Tuple\"] = PS[\"Data.Tuple\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable1\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldr1 = function (dict) {\n return dict.unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable1\"] = Unfoldable1;\n exports[\"unfoldr1\"] = unfoldr1;\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable\"];\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_Ring = PS[\"Data.Ring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Unfoldable\"] = Unfoldable;\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Array\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array_NonEmpty_Internal = PS[\"Data.Array.NonEmpty.Internal\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Array_ST_Iterator = PS[\"Data.Array.ST.Iterator\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\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_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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 ($114) {\n return Data_Maybe.maybe([ ])(singleton)(f($114));\n });\n };\n exports[\"singleton\"] = singleton;\n exports[\"concatMap\"] = concatMap;\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[\"Data.Array\"] = PS[\"Data.Array\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object.ST\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n exports[\"new\"] = $foreign[\"new\"];\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object\"];\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_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Row_Homogeneous = PS[\"Type.Row.Homogeneous\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Core\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Prelude = PS[\"Prelude\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.replace = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(s1, s2);\n };\n };\n };\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Common\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\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 exports.unsafeEncodeURIComponent = encodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n exports[\"unsafeEncodeURIComponent\"] = $foreign.unsafeEncodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\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_Unsafe.unsafeEncodeURIComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + (\"=\" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 35, column 18 - line 37, column 89): \" + [ v.constructor.name ]);\n };\n return function ($14) {\n return Data_String_Common.joinWith(\"&\")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));\n };\n })();\n exports[\"toArray\"] = toArray;\n exports[\"encode\"] = encode;\n})(PS[\"Data.FormURLEncoded\"] = PS[\"Data.FormURLEncoded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \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[\"MediaType\"] = MediaType;\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS[\"Data.MediaType\"] = PS[\"Data.MediaType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_MediaType = PS[\"Data.MediaType\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS[\"Data.MediaType.Common\"] = PS[\"Data.MediaType.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \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[\"Affjax.RequestBody\"] = PS[\"Affjax.RequestBody\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Affjax.RequestHeader\"] = PS[\"Affjax.RequestHeader\"] || {});\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(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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Exception\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Show = PS[\"Data.Show\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var $$throw = function ($1) {\n return $foreign.throwException($foreign.error($1));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\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 Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \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 ($21) {\n return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));\n });\n };\n };\n exports[\"catchError\"] = catchError;\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS[\"Control.Monad.Error.Class\"] = PS[\"Control.Monad.Error.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \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[\"state\"] = state;\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS[\"Control.Monad.State.Class\"] = PS[\"Control.Monad.State.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Prelude = PS[\"Prelude\"]; \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[\"Control.Monad.Trans.Class\"] = PS[\"Control.Monad.Trans.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\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[\"Effect.Class\"] = PS[\"Effect.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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 = PS[\"Control.Monad\"];\n var Control_Monad_Cont_Class = PS[\"Control.Monad.Cont.Class\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \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 ($97) {\n return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));\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 ($98) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));\n });\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, function ($102) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));\n });\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applyExceptT\"] = applyExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadExceptT\"] = monadExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS[\"Control.Monad.Except.Trans\"] = PS[\"Control.Monad.Except.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var runExcept = function ($0) {\n return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));\n };\n exports[\"runExcept\"] = runExcept;\n})(PS[\"Control.Monad.Except\"] = PS[\"Control.Monad.Except\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\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_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Data.NonEmpty\"] = PS[\"Data.NonEmpty\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \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 foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n return function ($174) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($174));\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 81, column 12 - line 83, 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 return function ($175) {\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($175));\n };\n };\n });\n var functorList = new Data_Functor.Functor(function (f) {\n return Data_Foldable.foldr(foldableList)(function (x) {\n return function (acc) {\n return new Cons(f(x), acc);\n };\n })(Nil.value);\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 127, column 1 - line 127, column 33): \" + [ 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[\"functorList\"] = functorList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applyList\"] = applyList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"altList\"] = altList;\n exports[\"plusList\"] = plusList;\n})(PS[\"Data.List.Types\"] = PS[\"Data.List.Types\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\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_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\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[\"Data.List\"] = PS[\"Data.List\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\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_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\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_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var singleton = function ($165) {\n return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($165));\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[\"Data.List.NonEmpty\"] = PS[\"Data.List.NonEmpty\"] || {});\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(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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodeUnits\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\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_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Prelude = PS[\"Prelude\"]; \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 ($107) {\n return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));\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[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"]; \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 54, column 1): \" + [ 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[\"Affjax.ResponseFormat\"] = PS[\"Affjax.ResponseFormat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Affjax.ResponseHeader\"] = PS[\"Affjax.ResponseHeader\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Compose = PS[\"Data.Functor.Compose\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Prelude = PS[\"Prelude\"];\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[\"Control.Parallel.Class\"] = PS[\"Control.Parallel.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n return function ($17) {\n return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {\n return Control_Parallel_Class.parallel(dictParallel)(f($18));\n })($17));\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[\"parTraverse_\"] = parTraverse_;\n exports[\"parSequence_\"] = parSequence_;\n})(PS[\"Control.Parallel\"] = PS[\"Control.Parallel\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Parser\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"]; \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[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Prelude = PS[\"Prelude\"]; \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 40, column 35): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"OPTIONS\"] = OPTIONS;\n exports[\"GET\"] = GET;\n exports[\"HEAD\"] = HEAD;\n exports[\"POST\"] = POST;\n exports[\"PUT\"] = PUT;\n exports[\"DELETE\"] = DELETE;\n exports[\"TRACE\"] = TRACE;\n exports[\"CONNECT\"] = CONNECT;\n exports[\"PROPFIND\"] = PROPFIND;\n exports[\"PROPPATCH\"] = PROPPATCH;\n exports[\"MKCOL\"] = MKCOL;\n exports[\"COPY\"] = COPY;\n exports[\"MOVE\"] = MOVE;\n exports[\"LOCK\"] = LOCK;\n exports[\"UNLOCK\"] = UNLOCK;\n exports[\"PATCH\"] = PATCH;\n exports[\"unCustomMethod\"] = unCustomMethod;\n exports[\"print\"] = print;\n exports[\"showMethod\"] = showMethod;\n})(PS[\"Data.HTTP.Method\"] = PS[\"Data.HTTP.Method\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Nullable\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\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 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 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) {\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 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 || 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 bracketCount++;\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.\n if (interrupt && interrupt !== tmp) {\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 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.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Unsafe\"];\n var Effect = PS[\"Effect\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Aff\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\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 Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\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 31): \" + [ 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 399, column 3): \" + [ 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 ($49) {\n return Data_Functor[\"void\"](Effect.functorEffect)(launchAff($49));\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 ($50) {\n return Canceler(Data_Function[\"const\"](Effect_Class.liftEffect(monadEffectAff)($50)));\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 ($52) {\n return Effect_Class.liftEffect(monadEffectAff)(k($52));\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 ($54) {\n return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($54));\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[\"Canceler\"] = Canceler;\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff\"] = runAff;\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[\"bracket\"] = bracket;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applyAff\"] = applyAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadThrowAff\"] = monadThrowAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"functorParAff\"] = functorParAff;\n exports[\"applyParAff\"] = applyParAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"semigroupCanceler\"] = semigroupCanceler;\n exports[\"monoidCanceler\"] = monoidCanceler;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\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[\"Effect.Aff.Compat\"] = PS[\"Effect.Aff.Compat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Affjax_StatusCode = PS[\"Affjax.StatusCode\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\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_Int = PS[\"Data.Int\"];\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_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\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 Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Foreign = PS[\"Foreign\"];\n var $$Math = PS[\"Math\"];\n var Prelude = PS[\"Prelude\"];\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[\"Affjax\"] = PS[\"Affjax\"] || {});\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 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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Index\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\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 Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\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[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"Record\"] = PS[\"Record\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Builder\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Simple.JSON\"];\n var Control_Alt = PS[\"Control.Alt\"];\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 = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Variant = PS[\"Data.Variant\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Record = PS[\"Record\"];\n var Record_Builder = PS[\"Record.Builder\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Prelude = PS[\"Type.Prelude\"];\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\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 return function ($85) {\n return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($85));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign(function ($87) {\n return Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign))(Data_Nullable.toMaybe($87));\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)(dictCons)(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"WriteForeign\"] = WriteForeign;\n exports[\"writeImpl\"] = writeImpl;\n exports[\"WriteForeignFields\"] = WriteForeignFields;\n exports[\"writeImplFields\"] = writeImplFields;\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[\"Simple.JSON\"] = PS[\"Simple.JSON\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Nullable = PS[\"Data.Nullable\"];\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[\"Model\"] = PS[\"Model\"] || {});\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(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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.ParentNode\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_HTMLCollection = PS[\"Web.DOM.HTMLCollection\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var querySelector = function (qs) {\n return function ($3) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_querySelector\"](qs)($3));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\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(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(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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Enum\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\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_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\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 succ = function (dict) {\n return dict.succ;\n }; \n var pred = function (dict) {\n return dict.pred;\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 cardinality = function (dict) {\n return dict.cardinality;\n }; \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[\"Enum\"] = Enum;\n exports[\"succ\"] = succ;\n exports[\"pred\"] = pred;\n exports[\"BoundedEnum\"] = BoundedEnum;\n exports[\"cardinality\"] = cardinality;\n exports[\"toEnum\"] = toEnum;\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"defaultSucc\"] = defaultSucc;\n exports[\"defaultPred\"] = defaultPred;\n exports[\"enumChar\"] = enumChar;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.Event\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_DateTime_Instant = PS[\"Data.DateTime.Instant\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_EventPhase = PS[\"Web.Event.EventPhase\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n var currentTarget = function ($6) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($6));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.EventTarget\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\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(exports) {\n \"use strict\";\n\n exports.removeAttribute = function (name) {\n return function (element) {\n return function () {\n element.removeAttribute(name);\n return {};\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Element\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_ChildNode = PS[\"Web.DOM.ChildNode\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLElement\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_DOMTokenList = PS[\"Web.DOM.DOMTokenList\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \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[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLDocument\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS[\"Web.HTML.HTMLDocument\"] = PS[\"Web.HTML.HTMLDocument\"] || {});\n(function(exports) {\n \"use strict\";\n\n // ----------------------------------------------------------------------------\n\n exports.href = function (location) {\n return function () {\n return location.href;\n };\n };\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Location\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Window\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_Storage_Storage = PS[\"Web.Storage.Storage\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML\"];\n var Effect = PS[\"Effect\"];\n var Web_HTML_HTMLAnchorElement = PS[\"Web.HTML.HTMLAnchorElement\"];\n var Web_HTML_HTMLAreaElement = PS[\"Web.HTML.HTMLAreaElement\"];\n var Web_HTML_HTMLAudioElement = PS[\"Web.HTML.HTMLAudioElement\"];\n var Web_HTML_HTMLBRElement = PS[\"Web.HTML.HTMLBRElement\"];\n var Web_HTML_HTMLBaseElement = PS[\"Web.HTML.HTMLBaseElement\"];\n var Web_HTML_HTMLBodyElement = PS[\"Web.HTML.HTMLBodyElement\"];\n var Web_HTML_HTMLButtonElement = PS[\"Web.HTML.HTMLButtonElement\"];\n var Web_HTML_HTMLCanvasElement = PS[\"Web.HTML.HTMLCanvasElement\"];\n var Web_HTML_HTMLDListElement = PS[\"Web.HTML.HTMLDListElement\"];\n var Web_HTML_HTMLDataElement = PS[\"Web.HTML.HTMLDataElement\"];\n var Web_HTML_HTMLDataListElement = PS[\"Web.HTML.HTMLDataListElement\"];\n var Web_HTML_HTMLDivElement = PS[\"Web.HTML.HTMLDivElement\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLEmbedElement = PS[\"Web.HTML.HTMLEmbedElement\"];\n var Web_HTML_HTMLFieldSetElement = PS[\"Web.HTML.HTMLFieldSetElement\"];\n var Web_HTML_HTMLFormElement = PS[\"Web.HTML.HTMLFormElement\"];\n var Web_HTML_HTMLHRElement = PS[\"Web.HTML.HTMLHRElement\"];\n var Web_HTML_HTMLHeadElement = PS[\"Web.HTML.HTMLHeadElement\"];\n var Web_HTML_HTMLHeadingElement = PS[\"Web.HTML.HTMLHeadingElement\"];\n var Web_HTML_HTMLIFrameElement = PS[\"Web.HTML.HTMLIFrameElement\"];\n var Web_HTML_HTMLImageElement = PS[\"Web.HTML.HTMLImageElement\"];\n var Web_HTML_HTMLInputElement = PS[\"Web.HTML.HTMLInputElement\"];\n var Web_HTML_HTMLKeygenElement = PS[\"Web.HTML.HTMLKeygenElement\"];\n var Web_HTML_HTMLLIElement = PS[\"Web.HTML.HTMLLIElement\"];\n var Web_HTML_HTMLLabelElement = PS[\"Web.HTML.HTMLLabelElement\"];\n var Web_HTML_HTMLLegendElement = PS[\"Web.HTML.HTMLLegendElement\"];\n var Web_HTML_HTMLLinkElement = PS[\"Web.HTML.HTMLLinkElement\"];\n var Web_HTML_HTMLMapElement = PS[\"Web.HTML.HTMLMapElement\"];\n var Web_HTML_HTMLMediaElement = PS[\"Web.HTML.HTMLMediaElement\"];\n var Web_HTML_HTMLMetaElement = PS[\"Web.HTML.HTMLMetaElement\"];\n var Web_HTML_HTMLMeterElement = PS[\"Web.HTML.HTMLMeterElement\"];\n var Web_HTML_HTMLModElement = PS[\"Web.HTML.HTMLModElement\"];\n var Web_HTML_HTMLOListElement = PS[\"Web.HTML.HTMLOListElement\"];\n var Web_HTML_HTMLObjectElement = PS[\"Web.HTML.HTMLObjectElement\"];\n var Web_HTML_HTMLOptGroupElement = PS[\"Web.HTML.HTMLOptGroupElement\"];\n var Web_HTML_HTMLOptionElement = PS[\"Web.HTML.HTMLOptionElement\"];\n var Web_HTML_HTMLOutputElement = PS[\"Web.HTML.HTMLOutputElement\"];\n var Web_HTML_HTMLParagraphElement = PS[\"Web.HTML.HTMLParagraphElement\"];\n var Web_HTML_HTMLParamElement = PS[\"Web.HTML.HTMLParamElement\"];\n var Web_HTML_HTMLPreElement = PS[\"Web.HTML.HTMLPreElement\"];\n var Web_HTML_HTMLProgressElement = PS[\"Web.HTML.HTMLProgressElement\"];\n var Web_HTML_HTMLQuoteElement = PS[\"Web.HTML.HTMLQuoteElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_HTML_HTMLSelectElement = PS[\"Web.HTML.HTMLSelectElement\"];\n var Web_HTML_HTMLSourceElement = PS[\"Web.HTML.HTMLSourceElement\"];\n var Web_HTML_HTMLSpanElement = PS[\"Web.HTML.HTMLSpanElement\"];\n var Web_HTML_HTMLStyleElement = PS[\"Web.HTML.HTMLStyleElement\"];\n var Web_HTML_HTMLTableCaptionElement = PS[\"Web.HTML.HTMLTableCaptionElement\"];\n var Web_HTML_HTMLTableCellElement = PS[\"Web.HTML.HTMLTableCellElement\"];\n var Web_HTML_HTMLTableColElement = PS[\"Web.HTML.HTMLTableColElement\"];\n var Web_HTML_HTMLTableDataCellElement = PS[\"Web.HTML.HTMLTableDataCellElement\"];\n var Web_HTML_HTMLTableElement = PS[\"Web.HTML.HTMLTableElement\"];\n var Web_HTML_HTMLTableHeaderCellElement = PS[\"Web.HTML.HTMLTableHeaderCellElement\"];\n var Web_HTML_HTMLTableRowElement = PS[\"Web.HTML.HTMLTableRowElement\"];\n var Web_HTML_HTMLTableSectionElement = PS[\"Web.HTML.HTMLTableSectionElement\"];\n var Web_HTML_HTMLTemplateElement = PS[\"Web.HTML.HTMLTemplateElement\"];\n var Web_HTML_HTMLTextAreaElement = PS[\"Web.HTML.HTMLTextAreaElement\"];\n var Web_HTML_HTMLTimeElement = PS[\"Web.HTML.HTMLTimeElement\"];\n var Web_HTML_HTMLTitleElement = PS[\"Web.HTML.HTMLTitleElement\"];\n var Web_HTML_HTMLTrackElement = PS[\"Web.HTML.HTMLTrackElement\"];\n var Web_HTML_HTMLUListElement = PS[\"Web.HTML.HTMLUListElement\"];\n var Web_HTML_HTMLVideoElement = PS[\"Web.HTML.HTMLVideoElement\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n exports[\"window\"] = $foreign.window;\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Globals\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \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[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut = PS[\"Data.Argonaut\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\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_Semigroup = PS[\"Data.Semigroup\"];\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 Prelude = PS[\"Prelude\"];\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 28, column 37): \" + [ 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 ($4) {\n return Affjax_RequestBody.string(Simple_JSON.writeJSON(dictWriteForeign)($4));\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 exports[\"fetchJson\"] = fetchJson;\n exports[\"fetchUrlEnc\"] = fetchUrlEnc;\n exports[\"fetchPath\"] = fetchPath;\n exports[\"fetchUrl\"] = fetchUrl;\n exports[\"showStar\"] = showStar;\n})(PS[\"App\"] = PS[\"App\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 16): \" + [ v.constructor.name ]);\n };\n exports[\"InputButton\"] = InputButton;\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputColor\"] = InputColor;\n exports[\"InputDate\"] = InputDate;\n exports[\"InputDatetimeLocal\"] = InputDatetimeLocal;\n exports[\"InputEmail\"] = InputEmail;\n exports[\"InputFile\"] = InputFile;\n exports[\"InputHidden\"] = InputHidden;\n exports[\"InputImage\"] = InputImage;\n exports[\"InputMonth\"] = InputMonth;\n exports[\"InputNumber\"] = InputNumber;\n exports[\"InputPassword\"] = InputPassword;\n exports[\"InputRadio\"] = InputRadio;\n exports[\"InputRange\"] = InputRange;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSearch\"] = InputSearch;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputTel\"] = InputTel;\n exports[\"InputText\"] = InputText;\n exports[\"InputTime\"] = InputTime;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"InputWeek\"] = InputWeek;\n exports[\"renderInputType\"] = renderInputType;\n})(PS[\"DOM.HTML.Indexed.InputType\"] = PS[\"DOM.HTML.Indexed.InputType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Data.Profunctor\"] = PS[\"Data.Profunctor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \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 second = function (dict) {\n return dict.second;\n };\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"second\"] = second;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS[\"Data.Profunctor.Strong\"] = PS[\"Data.Profunctor.Strong\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens_Internal_Wander = PS[\"Data.Lens.Internal.Wander\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Choice = PS[\"Data.Profunctor.Choice\"];\n var Data_Profunctor_Cochoice = PS[\"Data.Profunctor.Cochoice\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Forget\"] = Forget;\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"profunctorForget\"] = profunctorForget;\n exports[\"strongForget\"] = strongForget;\n})(PS[\"Data.Lens.Internal.Forget\"] = PS[\"Data.Lens.Internal.Forget\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \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[\"viewOn\"] = viewOn;\n exports[\"view\"] = view;\n exports[\"use\"] = use;\n})(PS[\"Data.Lens.Getter\"] = PS[\"Data.Lens.Getter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Internal_Shop = PS[\"Data.Lens.Internal.Shop\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\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 Prelude = PS[\"Prelude\"];\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[\"Data.Lens.Lens\"] = PS[\"Data.Lens.Lens\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \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[\"over\"] = over;\n exports[\"set\"] = set;\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS[\"Data.Lens.Setter\"] = PS[\"Data.Lens.Setter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_List_Trans = PS[\"Control.Monad.List.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_RWS_Trans = PS[\"Control.Monad.RWS.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_State_Trans = PS[\"Control.Monad.State.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Effect.Aff.Class\"] = PS[\"Effect.Aff.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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[\"Data.Exists\"] = PS[\"Data.Exists\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \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 ($84) {\n return f(v1.value0($84));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"Coyoneda\"] = Coyoneda;\n exports[\"coyoneda\"] = coyoneda;\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS[\"Data.Coyoneda\"] = PS[\"Data.Coyoneda\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Lazy = PS[\"Data.List.Lazy\"];\n var Data_List_Lazy_Types = PS[\"Data.List.Lazy.Types\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \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 96, column 39): \" + [ 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[\"values\"] = values;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS[\"Data.Map.Internal\"] = PS[\"Data.Map.Internal\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"]; \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[\"eqOrdBox\"] = eqOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS[\"Halogen.Data.OrdBox\"] = PS[\"Halogen.Data.OrdBox\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"Halogen.Data.Slot\"] = PS[\"Halogen.Data.Slot\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\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_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \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 64, column 1): \" + [ 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[\"liftFreeAp\"] = liftFreeAp;\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"foldFreeAp\"] = foldFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n exports[\"functorFreeAp\"] = functorFreeAp;\n exports[\"applyFreeAp\"] = applyFreeAp;\n exports[\"applicativeFreeAp\"] = applicativeFreeAp;\n})(PS[\"Control.Applicative.Free\"] = PS[\"Control.Applicative.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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 = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \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[\"CatQueue\"] = CatQueue;\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS[\"Data.CatQueue\"] = PS[\"Data.CatQueue\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\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_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_CatQueue = PS[\"Data.CatQueue\"];\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_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \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[\"CatNil\"] = CatNil;\n exports[\"CatCons\"] = CatCons;\n exports[\"empty\"] = empty;\n exports[\"append\"] = append;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS[\"Data.CatList\"] = PS[\"Data.CatList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 = 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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_CatList = PS[\"Data.CatList\"];\n var Data_Either = PS[\"Data.Either\"];\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_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_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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 220, column 7 - line 224, 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 218, column 3 - line 226, 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 ($118) {\n return Control_Applicative.pure(freeApplicative)(k($118));\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 ($119) {\n return fromView(Return.create($119));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, function ($120) {\n return Control_Applicative.pure(freeApplicative)($120);\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 ($127) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($127));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 151, column 10 - line 153, 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[\"freeApply\"] = freeApply;\n exports[\"freeMonad\"] = freeMonad;\n})(PS[\"Control.Monad.Free\"] = PS[\"Control.Monad.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS[\"Halogen.Query.ChildQuery\"] = PS[\"Halogen.Query.ChildQuery\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \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 ($104) {\n return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));\n });\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 57, column 71): \" + [ f.constructor.name, v.constructor.name ]);\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[\"applyFreeT\"] = applyFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadFreeT\"] = monadFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS[\"Control.Monad.Free.Trans\"] = PS[\"Control.Monad.Free.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 = PS[\"Control.Monad.Except\"];\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 = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\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 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 Prelude = PS[\"Prelude\"];\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 ($186) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));\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[\"loop\"] = loop;\n exports[\"runProcess\"] = runProcess;\n exports[\"fuseWith\"] = fuseWith;\n exports[\"fuseWithL\"] = fuseWithL;\n exports[\"Emit\"] = Emit;\n exports[\"emit\"] = emit;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"bifunctorEmit\"] = bifunctorEmit;\n exports[\"functorEmit\"] = functorEmit;\n exports[\"profunctorAwait\"] = profunctorAwait;\n exports[\"functorAwait\"] = functorAwait;\n})(PS[\"Control.Coroutine\"] = PS[\"Control.Coroutine\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.AVar\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Killed\"] = Killed;\n exports[\"Filled\"] = Filled;\n exports[\"Empty\"] = Empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_AVar = PS[\"Effect.AVar\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\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 return function ($11) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));\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[\"Effect.Aff.AVar\"] = PS[\"Effect.Aff.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\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_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\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_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\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_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS[\"Halogen.Query.EventSource\"] = PS[\"Halogen.Query.EventSource\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\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[\"Halogen.Query.Input\"] = PS[\"Halogen.Query.Input\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\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 = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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 Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_ChildQuery = PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"]; \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 ($132) {\n return HalogenM(Control_Monad_Free.liftF(State.create($132)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, function ($135) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)($135))));\n });\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, function ($136) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)($136))));\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[\"HalogenM\"] = HalogenM;\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[\"monadHalogenM\"] = monadHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS[\"Halogen.Query.HalogenM\"] = PS[\"Halogen.Query.HalogenM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Prelude = PS[\"Prelude\"]; \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[\"Halogen.Query.HalogenQ\"] = PS[\"Halogen.Query.HalogenQ\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function = PS[\"Data.Function\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\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[\"Halogen.VDom.Machine\"] = PS[\"Halogen.VDom.Machine\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\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 ($45) {\n return f($45);\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 ($47) {\n return f(v.value0($47));\n }, function ($48) {\n return g(v.value1($48));\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 73, column 7 - line 73, 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[\"Graft\"] = Graft;\n exports[\"graft\"] = graft;\n exports[\"unGraft\"] = unGraft;\n exports[\"runGraft\"] = runGraft;\n exports[\"bifunctorGraft\"] = bifunctorGraft;\n})(PS[\"Halogen.VDom.Types\"] = PS[\"Halogen.VDom.Types\"] || {});\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 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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Node\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeType = PS[\"Web.DOM.NodeType\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"];\n var parentNode = function ($2) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_parentNode\"]($2));\n };\n var nextSibling = function ($6) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_nextSibling\"]($6));\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[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Halogen.VDom.Util\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \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[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\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 Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\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 exports[\"buildText\"] = buildText;\n exports[\"buildElem\"] = buildElem;\n exports[\"buildKeyed\"] = buildKeyed;\n exports[\"buildWidget\"] = buildWidget;\n})(PS[\"Halogen.VDom.DOM\"] = PS[\"Halogen.VDom.DOM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"]; \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 exports[\"runThunk\"] = runThunk;\n})(PS[\"Halogen.VDom.Thunk\"] = PS[\"Halogen.VDom.Thunk\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bifunctor_Wrap = PS[\"Data.Bifunctor.Wrap\"];\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_Newtype = PS[\"Data.Newtype\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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 Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\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 return function ($28) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g))(args.handleQuery($28));\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(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert(dictCons)(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[\"mkComponentSlot\"] = mkComponentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS[\"Halogen.Component\"] = PS[\"Halogen.Component\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 18): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"ButtonSubmit\"] = ButtonSubmit;\n exports[\"ButtonReset\"] = ButtonReset;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS[\"DOM.HTML.Indexed.ButtonType\"] = PS[\"DOM.HTML.Indexed.ButtonType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 10): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS[\"DOM.HTML.Indexed.OnOff\"] = PS[\"DOM.HTML.Indexed.OnOff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\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 189, column 1): \" + [ 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[\"Halogen.VDom.DOM.Prop\"] = PS[\"Halogen.VDom.DOM.Prop\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_CrossOriginValue = PS[\"DOM.HTML.Indexed.CrossOriginValue\"];\n var DOM_HTML_Indexed_DirValue = PS[\"DOM.HTML.Indexed.DirValue\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_KindValue = PS[\"DOM.HTML.Indexed.KindValue\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_ScopeValue = PS[\"DOM.HTML.Indexed.ScopeValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var DOM_HTML_Indexed_WrapValue = PS[\"DOM.HTML.Indexed.WrapValue\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\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 toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($26) {\n return HTML(Halogen_VDom_Types.Text.create($26));\n };\n var slot = function ($27) {\n return HTML(Halogen_VDom_Types.Widget.create($27));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($28) {\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 100, column 21 - line 102, column 23): \" + [ v.constructor.name ]);\n })($28));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n return function ($29) {\n return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($29));\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 ($35) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));\n });\n var isPropButtonType = new IsProp(function ($45) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($45));\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[\"HTML\"] = HTML;\n exports[\"slot\"] = slot;\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[\"IsProp\"] = IsProp;\n exports[\"toPropValue\"] = toPropValue;\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[\"Halogen.HTML.Core\"] = PS[\"Halogen.HTML.Core\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\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 ($10) {\n return Halogen_HTML_Core.ref(go($10));\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 ($13) {\n return prop(Halogen_HTML_Core.isPropString)(\"className\")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));\n };\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = function ($14) {\n return prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\")((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($14));\n };\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"prop\"] = prop;\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[\"Halogen.HTML.Properties\"] = PS[\"Halogen.HTML.Properties\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\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[\"element\"] = element;\n exports[\"a\"] = a;\n exports[\"br\"] = br;\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[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr\"] = tr;\n exports[\"tr_\"] = tr_;\n})(PS[\"Halogen.HTML.Elements\"] = PS[\"Halogen.HTML.Elements\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\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_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \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.slot(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot(dictCons)(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS[\"Halogen.HTML\"] = PS[\"Halogen.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS[\"Web.HTML.Event.EventTypes\"] = PS[\"Web.HTML.Event.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Clipboard_ClipboardEvent = PS[\"Web.Clipboard.ClipboardEvent\"];\n var Web_Clipboard_ClipboardEvent_EventTypes = PS[\"Web.Clipboard.ClipboardEvent.EventTypes\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Event_DragEvent = PS[\"Web.HTML.Event.DragEvent\"];\n var Web_HTML_Event_DragEvent_EventTypes = PS[\"Web.HTML.Event.DragEvent.EventTypes\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_TouchEvent_TouchEvent = PS[\"Web.TouchEvent.TouchEvent\"];\n var Web_UIEvent_FocusEvent = PS[\"Web.UIEvent.FocusEvent\"];\n var Web_UIEvent_FocusEvent_EventTypes = PS[\"Web.UIEvent.FocusEvent.EventTypes\"];\n var Web_UIEvent_KeyboardEvent = PS[\"Web.UIEvent.KeyboardEvent\"];\n var Web_UIEvent_KeyboardEvent_EventTypes = PS[\"Web.UIEvent.KeyboardEvent.EventTypes\"];\n var Web_UIEvent_MouseEvent = PS[\"Web.UIEvent.MouseEvent\"];\n var Web_UIEvent_MouseEvent_EventTypes = PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var Web_UIEvent_WheelEvent = PS[\"Web.UIEvent.WheelEvent\"];\n var Web_UIEvent_WheelEvent_EventTypes = PS[\"Web.UIEvent.WheelEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n return function ($0) {\n return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create))($0));\n };\n }; \n var onClick = function ($1) {\n return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($1));\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[\"handler\"] = handler;\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS[\"Halogen.HTML.Events\"] = PS[\"Halogen.HTML.Events\"] || {});\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 // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodePoints\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\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 Prelude = PS[\"Prelude\"];\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 ($53) {\n return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($53));\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[\"singleton\"] = singleton;\n exports[\"toCodePointArray\"] = toCodePointArray;\n exports[\"uncons\"] = uncons;\n exports[\"length\"] = length;\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\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_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\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 = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\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_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 ($59) {\n return Data_Maybe.fromMaybe(\"\")(Data_Nullable.toMaybe($59));\n };\n var class_ = function ($60) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($60));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = function ($61) {\n return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll(\"+\")(\" \")($61));\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 ($63) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($63));\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[\"_parseQueryString\"] = _parseQueryString;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS[\"Util\"] = PS[\"Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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 = PS[\"Data.Lens\"];\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 = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\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 Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \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[\"_us\"] = _us;\n exports[\"UEditField\"] = UEditField;\n exports[\"USubmit\"] = USubmit;\n exports[\"EarchiveDefault\"] = EarchiveDefault;\n exports[\"EprivateDefault\"] = EprivateDefault;\n exports[\"EprivacyLock\"] = EprivacyLock;\n exports[\"usetting\"] = usetting;\n})(PS[\"Component.AccountSettings\"] = PS[\"Component.AccountSettings\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\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_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\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 = PS[\"Halogen\"];\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 Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\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 ($60) {\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\")($60)));\n };\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($61) {\n return Data_Maybe.Just.create(BEditField.create(f($61)));\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 ($62) {\n return Data_Maybe.Just.create(BEditSubmit.create($62));\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[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"addbmark\"] = addbmark;\n})(PS[\"Component.Add\"] = PS[\"Component.Add\"] || {});\n(function(exports) {// 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 // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\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 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 Prelude = PS[\"Prelude\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = function ($1) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n })(Halogen_Query_HalogenM.getRef($1));\n };\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS[\"Halogen.Query\"] = PS[\"Halogen.Query\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\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 Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\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_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML = PS[\"Web.HTML\"]; \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 22): \" + [ 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[\"SetInnerHTML\"] = SetInnerHTML;\n exports[\"Receive\"] = Receive;\n exports[\"mkComponent\"] = mkComponent;\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Marked\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Globals = PS[\"Globals\"];\n var Prelude = PS[\"Prelude\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_RawHtml = PS[\"Component.RawHtml\"];\n var Data_Const = PS[\"Data.Const\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Foreign_Marked = PS[\"Foreign.Marked\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Prelude = PS[\"Prelude\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS[\"Component.Markdown\"] = PS[\"Component.Markdown\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_Const = PS[\"Data.Const\"];\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_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\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_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\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 = PS[\"Halogen\"];\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 Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\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 235, column 17 - line 241, 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 202, column 3 - line 202, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\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 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);\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[\"BStar\"] = BStar;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"BEdit\"] = BEdit;\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BMarkRead\"] = BMarkRead;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"BNotifyRemove\"] = BNotifyRemove;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"_edit\"] = _edit;\n exports[\"_markdown\"] = _markdown;\n exports[\"bmark\"] = bmark;\n})(PS[\"Component.BMark\"] = PS[\"Component.BMark\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_BMark = PS[\"Component.BMark\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\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 Effect_Aff = PS[\"Effect.Aff\"];\n var Halogen = PS[\"Halogen\"];\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 Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"]; \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 ($5) {\n return Data_Maybe.Just.create(HandleBMessage.create(b.bid)($5));\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[\"HandleBMessage\"] = HandleBMessage;\n exports[\"_bookmark\"] = _bookmark;\n exports[\"blist\"] = blist;\n})(PS[\"Component.BList\"] = PS[\"Component.BList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\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_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\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[\"Component.NList\"] = PS[\"Component.NList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_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_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\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 = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\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 = PS[\"Halogen\"];\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 Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\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 22): \" + [ 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[\"NNop\"] = NNop;\n exports[\"NEditField\"] = NEditField;\n exports[\"NEditSubmit\"] = NEditSubmit;\n exports[\"NEdit\"] = NEdit;\n exports[\"NDeleteAsk\"] = NDeleteAsk;\n exports[\"NDestroy\"] = NDestroy;\n exports[\"_note\"] = _note;\n exports[\"_edit_note\"] = _edit_note;\n exports[\"_edit\"] = _edit;\n exports[\"Etitle\"] = Etitle;\n exports[\"Etext\"] = Etext;\n exports[\"EisMarkdown\"] = EisMarkdown;\n exports[\"_markdown\"] = _markdown;\n exports[\"nnote\"] = nnote;\n})(PS[\"Component.NNote\"] = PS[\"Component.NNote\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Prelude = PS[\"Prelude\"];\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 suspend = function (dict) {\n return dict.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 join = function (dict) {\n return dict.join;\n };\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"join\"] = join;\n exports[\"suspend\"] = suspend;\n exports[\"MonadFork\"] = MonadFork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS[\"Control.Monad.Fork.Class\"] = PS[\"Control.Monad.Fork.Class\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Console\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\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_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\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[\"mkDriverStateXRef\"] = mkDriverStateXRef;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS[\"Halogen.Aff.Driver.State\"] = PS[\"Halogen.Aff.Driver.State\"] || {});\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(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Reference\"]; \n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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 = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\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_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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 Prelude = PS[\"Prelude\"];\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 54): \" + [ 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 ($111) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(render)(ref)($111));\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[\"Halogen.Aff.Driver.Eval\"] = PS[\"Halogen.Aff.Driver.Eval\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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 = PS[\"Data.Map\"];\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_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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 = PS[\"Halogen\"];\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 Prelude = PS[\"Prelude\"]; \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 ($79) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($79)));\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 ($80) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(function ($81) {\n return Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Halogen_Query_EventSource.finalize($81));\n })($80));\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 ($82) {\n return handleAff(Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"))($82));\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 ($83) {\n return render(lchs)((function (v3) {\n return v3.selfRef;\n })($83));\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 = Effect_Ref.read(childrenInRef)();\n var v1 = (function () {\n var v1 = slot.pop(v);\n if (v1 instanceof Data_Maybe.Just) {\n Effect_Ref.write(v1.value0.value1)(childrenInRef)();\n var v2 = Effect_Ref.read(v1.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)(function ($84) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($84));\n })();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](slot.input)))();\n };\n })(v2)();\n return v1.value0.value0;\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n if (slot.input instanceof Halogen_Query_HalogenQ.Receive) {\n return runComponent(lchs)(function ($85) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($85));\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 232, column 14 - line 246, column 7): \" + [ v1.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(function ($86) {\n return Data_Maybe.isJust(slot.get($86));\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 250, column 37 - line 252, 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 handler = function ($87) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingHandlers)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_Aff_Driver_Eval.evalF(render)(v.selfRef)($87)));\n };\n var childHandler = function ($88) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingQueries)(handler(Halogen_Query_Input.Action.create($88)));\n };\n var v2 = renderSpec.render(function ($89) {\n return handleAff(handler($89));\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(v.pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($90) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($90)));\n })(v6)();\n var v7 = Effect_Ref.read(v.pendingHandlers)();\n var $69 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v7);\n if ($69) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.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 Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(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 ($91) {\n return Effect_Aff.launchAff_(Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"))($91));\n }))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX(function ($92) {\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose)((function (v1) {\n return v1.rendering;\n })($92));\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[\"Halogen.Aff.Driver\"] = PS[\"Halogen.Aff.Driver\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\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 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 Prelude = PS[\"Prelude\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\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 ($12) {\n return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));\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[\"Halogen.Aff.Util\"] = PS[\"Halogen.Aff.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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_Function = PS[\"Data.Function\"];\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 Effect_Uncurried = PS[\"Effect.Uncurried\"];\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_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\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[\"Halogen.VDom.Driver\"] = PS[\"Halogen.VDom.Driver\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\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 = PS[\"Halogen.Aff\"];\n var Halogen_Aff_Util = PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = PS[\"Halogen.VDom.Driver\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"]; \n var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\".user_footer\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute(\"hidden\")(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 showFooter;\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 Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el));\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 showFooter;\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 Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);\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 Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el));\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)(function ($0) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Effect_Aff.launchAff(App.logout($0)));\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[\"showFooter\"] = showFooter;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS[\"Main\"] = PS[\"Main\"] || {});\nPS[\"Main\"].main();"]} \ No newline at end of file diff --git a/static/js/app.min.map.gz b/static/js/app.min.map.gz index 0b9351ee048d947d2e4c1f2b6fe882edde783d51..b54d6770e51795306b52529c18eb4333318be01b 100644 GIT binary patch delta 231231 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ä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%0Dedrd$>Duz8mv3_riI_wy%L z#I3tas)tPX>DBd`#BOqBD1CJ2FKC8ud!K+%j~O;!m)=DOtiB^#|C7?YXWd+=0Y=Ui zyw@oRk|pemzzZCGc78$yq>tPuwN#XGW(R+s0daoLMtj+8^%m}1yjM%3cxkp{k&>y} zY1aL(3Y2;TxlAT&h~Kpg$Mdzw=ZguYWz3h=GIc$Y2f5zmK|LzNdN>#C1UA%ZY8Ral z-tgHuDv&(7u`p$k>-+5yCEf64l zoiEgR*}8eo?p%u33hnK?1EQ<-mN9>I-$D27wmWf|hQh*MmKnC~k)Pji_dRn+(;qDm`(R9XlfU&DHLz4K6;GAZz$< zWbhpd!{%i96Oz@L{uF)uRfM=tkI>euEj_ZBAIhr54Hm+8b_pq`0chul4KP5vKgV$@-?fuIw)4~6&fm0a2y^Dy)A=c5k)8>qS`dnS?s5P>8R7Ue zLKISQHdi#$&PW}c<8IJVQ%peg1Wf=Za!kNYb1oyQg*5R}_-*dA@{@nqcSDBfI_JFu z`KpsRwks63u%xHlwu*c~l?gL*jiIGZPny3{&`g~`Sn|3~hsT;XT8Hqn?9M&?Q{M~b za4C<2!P#v(rc+w7iDbe=GEYn-&X$km7}!f$s$8z?=29+1eJFDKsjpy(k~&d~J%m0ms{njBk@G5xRSkWzV!MZZtIba6{ALxabko+|j>UVn z&pcss!B``>Ljl)z&TTm|1x=jPs=)Ulz(?k)VyrC$VIPiHTEkt&6TK5k#c4`Q0`I#Y z5$+er`i@KQFah3>v$9~2w2X8kXV!zIM^YF4FL%%W+_sJMzrugyhgu%Fdid@7(i@SI z9QmEtu9GI28(N|y$`nbHlx3;S|9<-bNst6(yN~ZWpXRPHNno+qT`YDN3!uZPTsvsr zogdRm&V@XKoX_f#zkb^k?Kjwke%eh=Pq{*A33tWmckziW&usMFCql*faze-ODi58m zM+OpKDbzZ9>cxMy7_M=5roXTXBgFV-qt?mJm>9j)O=7b`RjsLJgglKPz|>^G&R-tB9xZ#2cL%6jZKS~_vgkgE;}@gV;2`V&S+P5 zr*+=Ljo^R%mVZMx1W$iCN|J6vxWkGn(D0&fj;#_dhfx(|02J*esVyT1zw5r(G+>Pe7T&ywg1=pOfR_4jhkA41_)^b z#pH8Zswql^Ea`kDwJ|wsoTOMz^@A6b-8xN>(I^xJXHb=&7PjSm$nVDutbSOChWzNeu z54;ZKcb0q{lidxlofH2!zGkP7&CLS7o@!5APvx$@G~%^)FDN&Z>>mq)A16&2k!m|f zhc<2;;q`!ZX}?6gF@oiPVAM$w(E?mcGl!e9rVe zao#7X@}~a4U3ky~FP&LHCq8q-z)_@!M1?Nc{xTI}eom!}8<@9MR<5^+lKtE=NUwhq zx`|$8bhq~fx`{5Gm+Q}dpnI$rIkOZm>X1@P^Rdj4xEf(HWV4D_qC2b$T20-f6>_87 z{L`^24zaTr5XdJEna+?ywb{0}sBLnP(L87e##Y49Ejp>ai{~+&w6@!yL=cQMb+qJz zMWjsH{U*Me$rp6{7{Poru6W4PcR7C}sp{o(Z^vFf_qMQuHJi%lNc8R%a#uN=BhnBY zeUFKJx=%00ok#Y-$9^8M#eE))IwOBQ+LXMs8=qPs^V^C81x-%s3)+(PO0))t_MWdi zyBv7bn|CSh<~i%oGm^)6&GMSFgyR&EA>!nBHgDMl3g`~!dUyMdHD($Z-_Z{ywELrl zo>se;abN9b9PQ@2mvDK-z~v_%6Ws%*!|7C9%s6L$een7HuQNv)6A$_m-$Kd(q7J`n zcBDm&v*j?Aka+RyVxPCWUMzn@Ja@hGbX46>ljd$5@>m7m>OnNZr1y4@zYpW*u?I-e16qeMeY4b+H&W=TS#(;r8CD zNW~RQ+A{vPOp-D~6-)v>v-f^xOPc?}!LP zr2BeKyTMutFL3SKddPnPo{KS);&SBh;)A}mD@OO`t~iw|+TO=&o+@FOE0{F`QmUR!u0BPcqOhaGmvIYh#@NpM!hj>xLmG-e$6H^&x{!zXCV zc#5m)%~Qc0KJ)D&WPKhTEqQa<1!>RwI_FSD)Sz*_JSNelc<6umY+Kw6=kKBr^`7*) zBGW!r;K}s#KC>;u{tRe_&qCUyw|5rJ_a z9ML;Zp7q_f+j*&+yEH|cKHGFnx*QB+RQfo>-7y`)LEeApL|jdZK6q!ZyVuJZRe<(w zuZUFi3Z%r~dt_CyjFH;bGi@Jq#+hv*&&CWswD!B<`6lmC=#yF>ba+|3$(rF&Z#;?< z>Bf7+vdNXxPRI2=XLMc#Vq7QXqM+9dYK)qVw?l+Nl%}!Qg0{ z10t<36A;1UT`nmg(%Qb10wT_b2l+fHI$n8Kh!0@?WV6vn7iYC6Jbo#2FhOqtggtwQufamh9%5Z{S2@6Q7M7f+BiKF^%0#b(ET8?3MqkEcz|d( z#s_}z{gn?iv$r4g_`(=E2;@91gXAm;NmPHiT~lm&SUsp0RiS#0C_KrVLpnQRcS!e7 z99_n#QsSJ()8_c)$x-(cF~Y~cO8aQX#z-8&w=Im0L>Q zH?1>QZ;D7VP~rB01_6jhAUr;(dCs;h->-dV-$;0_(nB2Wy=24YN!onAY8H&w?zVpz z^G%+bdb@PT(#00d`6AmKaDYYl9USur9i9kS}y3VnMSwu=jzO#{4 z{AG%ojp>NU=lcHZWdju`$VQ!IWBymk#@?A<{Zq&51(M-kwl-R=3%lqavi>(dD6a>NhI&S zkC;TGe>{o)@8$P|<@Yl^G*4K7ZDPPY#{eg0z&w`V$5?`QNrIOd3Enp(3BG@AEyal- zf<1Cbck7rX`1qgBo~4|Z`zkV@$z&c2GKXx%=EyvW$vh)6-+-AL^%6OU$=lT*beWV} z5-HD!lE41{B_w%=4V^C+z9NOY*Z#z75?MMfyMm6@F4NK04~`Q$(lK>Yp2MF~IlZBc zYDe*$?{_EI^@r|JYVx*jTd{xDMM>_)f!<2KUD*%qw;OMVwqw2h>8VGIG2-)7j95 zWf+asAn*tL1y(c*+)Tw9 zu*O+b+?fLuHG|O%@d|&}54qC!7;L?+T?29&{BPhv=OYh*jqEV80xcR_+SH21-azXE zRBNEk?Px6chaD3D@U1tCw0>Zjk?oGOz8&;u4)kPT`4+Ik?b}vZ%k?9)qW2QMTBR@k z%JfX`5>U0Dk|ooP1gagjg1}r=V1`zk@%{!`8(qr)z#rY3(l&id;r=6)EEh%CRj7rUW4R*`NW`=eOE#gWSq_Y?98?@y_lMbcKuN7~4&ns+_CphJI4l-^n&(6wsr2aC1Ff-w ziRZKFofVXW5}GoFxaLxgwLdt3xV@Ef)ixvR6~h^e|3QCbu<8m_V2-PpK>+iUo52L- zDzI>3`SNW;vn95XblLEsaj4nazd#KKLS_%OYSmWAeOU8n;kYt%v869I!dqW23W7uc zs8fn@Dzg=HL%UPauRx}(oHMbga%n5p6U^>|VhhxJB#w>a>#opS99a^EchpzapfZ6F zK*T%v=dgct@FaMtL9fN^Un{m@CbEI8BoBu#2mWX}GwWigge|@iXz_O$WWf`&l+-lC zS~u5*#sa*7M4p=Puj2uytPNpLs5s4aPqExZ03cRF*dP_OUYkYzN;&I6^_Vj!x-^3j z2-bDXQCP{(a<`V|S}>`BWihZUU+X($XQ0u+JKs8503+EK+`6t$`8`)Ab7woCQ zwRdm1A(w*Ts4CJUl~Gc}d$fX~5rkir`9mKfU;Dikt=}{ZQ4p1!nOPQvqR`#e;k*R21u#!fmx6dylKJYnAZN|!@y(9r!X|d zSG5qY)VWkMj~8mX5KLq79@{7LP|~gVIfDki01Q;+V(GZ}wWfIq6$Qj>{veuUO0pvSWaJ3$f8YVgOi z7F5m%Qt%_gfL!go{Z%eVcK8d99JK(6kEK$Cgc+jD0C9>Esh~NJFCJU(h?`6v0#eJ3 zz72`bMSDT&tsNWq`597$0@!)pTy#r&15f5Tc6ET3_O(5=D!`f_ekiuZC?+cMUs``d zS?mp$W3|1aKt=&RU+$Jw#j28dZL*?hs-vH8S!mxC1@j76RkR|?CfXCM)JpCZj2B5h z$n+~3O~5L}G@q1^nJYc0P{JQ$ke$@Xqk5)>Jl|$Kv1jVt*`xQ~jN3?D-lAPs?6xpf z?XVkoOH^FKqXja)$$f*7r=*QMo+W?Ulv|bfQ~8qki$~rIz$m8>fypz*o{%abDFw%4 zib0XsDy+ajmd86%jdjzT673~y_oCw3U~ZMngDR2~VH8HiJB43cq>Lg&b?MAT;NyYS z2*c1E3^bqp6C2#FaO};Tfd<;%qfZ#My0;eE*a|F-;$Iq>-Rm0(I4C){w7!4o3OLR} zSfwDBq2)X#!78FKg}W}(2H$ZAuBQ0#L@y`GisgXz9{UGS15!wgQ~Kc!(|PZG?fB>6}X`q+%N$*d=)rH4bDlx zIj;gIl&lgae@g)Ke)W~y|1>#IWxm2Z3>Ne9USqqaNBFacz!uMbVL+h?Jr(mD}gfHXp`MdVJ(Yqkqv+E1S1NlD>$Zb)_9tf5mP#%E7+eSgvxajf>Bs<5E2Kk<>;^| zjg~ilkrqWT#$T8+W3#E$Ml1CE)IEB}nWNwpO=XWyHGD`siY+{3`Vxd5dR zt1&P!1!Hm9*d7kS)&v0y3#K1|pzuyuAt22S2DZ6@>#Y%}B=EPQ0(m(wLrk37uBa;J ziWq`;T+fl2-?o1NsTcy#B@03OaWx3+5e~zATyxdhMrlL{8C;S2ikxL^FszTvW?bM2 zMO@`K=W54NDqyS=5a}g>QqO7BvugDgCuyKhw*8`_VX>xZc6KU!1o5fpu3+76|!c+;s#Nf@DT_ANC`_3W!`F`<76<|SC8 zZ1Hk1{FRs1l6tWQLQ(`h|0MqLF zdJPPz{=EtpdAO@GAJl0MLsz6Ju}xk`Q=*!rUQ~XAG`evR{`S2Xd`a}wl|A(xtKynd zi$}j&MZZGJlxvuzjTJ7cjQba?Q5+-5Y?32ov8pn#mLb;*CZG)4N~w`7G87E)uK4p6 zxf*|Ql|PuT5m#T4vw_Z#${nPI7>c+lY#MZ_idFC@oN@kI9MH7zl@bC=tIZG;cTQ@+ zGWnrWs#&Po+J8tPmsM7Z9J`u~c7nfD6O`bo<=W^PdBMPTO^22tP#K#2zU4=uHkpNy zX2xbO>i5CG7EVJ3kSGC~!}r3_zH=7qS{Q%LhG@M^5h8{swEqmu#l?`8elEC0jPO{s z45;gi_Qg-Jdj9&>lL~%)i}K28fq;w)ri3;%CmyEaIF^}#BphvJgK@Xn3IAw~I!}Hj zOVY}!`ZdmRMG59&UhyNS(;_d|ekbi(|N3?CTXSRcdwo4FT`J5|D;QZE#0V?sSdf2J z3{M+ce{4GgLoMf=ni-m7iidJd0RidRNGpL!Vd2eaq41E3m z*mOrQTp~|iVFLGaEy6T%d$^Ouk4} zVLYxF1qZi{P}iy=5$NejbnUco8cl&I1VYM96l{mbqt# z59(^DS}+D-2xG1V1QOE>M_Uem49g(zOtSGH?Pbjs7{m+l-`3UzjOxk>x7&gXwn#HX zmQ+V{Ego#!{b;Roq*WC(Dy=WjC|;bLlrafhxHSCf%^7si!HAl`z$&ViQZiKg*S=0W z!})8;SJYTAL|U4EEtB-5u-GA{r^&H6UX+>GZ~Io!vczKjP~K1$6{n_|m@l3)l%*)k zDs@Vwz#D8fu`*6&A;_?b^kqeY_gl$*SwN&)@Y||kFndF>?Cb%Jpo2M;tHn4`jPO5{nNQJPB#Y~iWtQ5O<2V(GDtICRIk)%$ILlv7eD07EY7m(f)Fio!0g9ZUv+jS}+ z9Yf>{8LJsSjtI|xK&!M2c4I)hV^0K@49NI+Wp9;@9u}M-*|UoQWw5qh?!fJliBo52 zA&n<_G0CMpV#QkeiQvxVYLdllan9gEQX`ck!9__6Y_()D(M(46ubeX)TK*8d+ebTn zku(F^2$qEp5kDT+{)F#>?oBt=t+pS0jHu!XM=4e_yM*+A9NE|eq#ad5vYZ@soY6q+ zEuUv%HPI3KBbyY@^1(oF9@BIpM)8Hb>=(n)%Xab;|B5v|Dz*JZ1GI_ywqI@>&LV`0 z%3Z7rwgOfQ7z8L}%F4hlTZ#st@*nGav|(AIsC^QFHc=L*Cc~bxgxg62c7?`r!_$Rg zo5#gjv%A`VmIe>$2e_SMt!=gRZ9uctDQ8E5ISPpx?g&+@LrZ}+A@E3-USUGEZ0_&x z?foYHIk>gIf6%%RzxVfBo6Wr+PY;H}W?8m2FSZLI%WuN}F189G)8jvz@IR35H~ZpG zv3YT}S6rMOY+k$(f8U6|{}5@v;OD~pEB?7SIcc7MoSbY5#6SGd{NaZm;9GX_^dh}@ zd~tfZdGX_qn-}liZC(tAn-^udd9fpe-|s(Oe7N}Ei$DI@y!iFk&5KTJ<>UeH8X74+ zTcCg9Kzi|F_u|EiP59r%K-6*Pql=XWOzrOu12F(tTLfxlC7D9@I{avCH+1S)@SUs= z$$R2|fGTA1wF8|eh4pnPQJ5mi*?&E;ECfi1K?$=7G|*KmnzOiPrlm;}Thx|KXshbl zNigC7_ETW;qYc1^-K_U?SOT_R`v#zds=~&BtsuPMQFsrUp0Y50p@>}!S)Y3IwTGYw zvQ2S}G+Omg671gU!9ne=YOV+1ky~IjWqaL!1O0W)SE0uHAZNN>CnRwFE+8F}xv)43 zr-C&}6xDsAshZyjf2Ww>O_;mv0~fA%$pWbz^n-$1roFxW{c?YQ=U~N`nE3syk=cQZ zTnHv|6Vw@kfrp1VTo$;FT`c5J|4#PBJ5jhB9fs&ox)<3em%F#nt56!xc%mj++NkV* zMB1DgQyVg1i<;dS1(QQFh-NQ82wS+QT;23o>Do8I3}b{C6h!q!gExPM;)jlZikbv{ zbZ#{4TXTDi=MN@)B(kLqexB4#heMD2&h)a1IM#J$yo;=7mL3gR|9XMCxK6qOM~#vL{kLn6=#>9pZFONqALwO6=dkjQ^*&3u$gvL;hi z9b37oiiiQoM-C0~>Vv{q2d+$>i<9_=#1@v%PV+$qi{+6ta}F1uW~CYlpKkPjytjK;+*omQ*_NK>XcSx zSFx;H__kB{&)XkaVOe%nmURo?aSPw^3$Ndq zX|d+?d(&^b95b)q)8dX(*hV3Li<|l#1b3&!y&wXE22srG!fk5+yKOf9P7eZw?>L3; z#0v*XoA&F`@3v|DgQM?Y_<01U-K?+bU$SV{sy`ncJB4>-QLB25feJ5+VyduHTzdIX z@n0_h0ge0mrd$ChIZnXR>gqZWApKb)YQ%rVe*LT4D9~!YQl5Mk-sa|ix`E=KA-?@A5{&(M-ZyoWCZQJSSJUJ6WH%R*6sL{gU zENO3=O-iVp)D@)|#NJ@mhizQ|txQiRSw`jX6iL>~=~3S6Xv|as+>3jK;DqIAa*}3) zyoc@}SQPAoPtV7v*$91qo9V{G>FXN+gl?`be}C}jYJ2VOy^nj1bor0{{n_g3LU*8pH2u(6DaAcXmjt{YK*ngb}4{U!vxNk9od z^5^A_3`t~UnrO&41q>Uj)s9X6Q{cyXs-!|U&P;|S#nx!|Ibwjr&6i}q)yXf`c4mM$ z8)aoL9V_^K?2Ludl42wYLiQ(diY#mEUJ# z?SfFZa{KPR?w#*{Z?EL#@)TU{m(yizz<8OOzO2Si@Ui8$>HDbFIe@*=V zw)p>@*ldlvAQz6;@Za0`?;T4G92a)24uyJbdbzSE7Atmt>$jV?mNq-h7A*6FKR+Je z=^8R_e(RsHG5n9x2}ag0(zHX%F@0FxuBQ@1Jk|Oz36e-Mjq7f7Fhbp``MNb3(hSds z6(@47VM~>Bm<;L&@8`0sv zQ%=u+(c>4-AMZTfVQts;5lsSzVs@FIUO#{J`uXm2ub93HRwcW3xyP?}Y+^8?AJGDS z*ujQ%(E?Sl`T*OOXZUCVSwx@sWPv*s1+auZ7x&`y9 zyiAQ)m+qAy&efK`cm;8Xo*Y_9Ejo^pmtG#i9`ep$mT!3di6iLZ;?sxMWG-oWF!KA z9!S>jN6EeKMDM%e^eMW(CJym>u=!YTzuJEKa(9Psc;b|_lc{EazW4`BXf~dSjrbSh zD;QGN7e+a6Og+0V!q*j6QiBW zHEq6w)5ka?F|&)O#~;-4wNJ^)YAk46=^RX%iV2M?$cQqkgJCdpVgR#ch#d-cK=Yq6 zMxMUmXDmE}*K2OO>Gd5x+#K)^48IsP&U1@~B2+L`b7NHCII;q8lS@Q`)djPvC?`my zb?IPHT8Pj?P4cdw5sN~GMZYP3jpU}=4T1Iq^&3r-DO$YC&fN()7t zmM}KiQCi~1oi-T5gKkPPx4lqYtLMqPQE}!|<2L9qgGc;M{XPc*h0Q7Xj;ysFfF8_26}xl&Xv|#Qe&yr}lXj&(je| z*Bvm?3@HhIiK+-x!S5D-&=G9YxnCdqBZu+rZR@Zaw9D ztW)W>eTrSQ(u(@R`i5Es;-rjoY**Sdv@{pJ(+$C@A6Kzu(x z{QGQ_iGK#?hmU7}C$n;TxRZ^i8QjMlzUoa2`1`VWPYGLD55F`z<#>>bBmbdRax%|h z)__WLxu|ujeA$g$*ocx~FXF#lw>tRnd~ukWrlWoe!M+=jyQc-J+tX*P1Gi=i%t8V| z>b0-3JHai>?h9S=@GBm*c-vXkA=xl6?a1up+{3)Xl*5F7tLcW>hRKGRhB=1$g{iGO ztAzjBrWVn;15S0!nPddI;!MYDuQ}%g>rU@A%r1M}3nFsSEd=AkpdR6Z*?DyHy0Q9nLb%JJI^@L@dOx9b3+ zTjm@{_rxK8MBwN_Lkv&CUsu=zeW)0@V4R`#8gMHX2Lmg2htlwVs-&1> zqHpl@3>{9ujx{|xnzUf&Oq1~>JI+5qknvP(qo~EQ6suGG>ITWW1KKlkbwC#m- zw<;Qc8XTs`5>uYNFa+9Z`aXkah|_`C6Z_|O(b~JE*<d9=&oK>p|i~|P-`Fz^$l;dhVw^?W>0K3(XoI=TvRtaIwHf0 z!N8imF4yTSNR2{3Hq=)|IL?N;O>eq~TzC}Kah|+A<%V@R8)8N;i=-F_cNkH$YPXR0YVv7_DuYyj z24C0y(#;hb!pPMyb%>stAhlZfMkp%6sKU_efJ&DRaZ#HAy|+B3tsp7$0YsuaPV<3( z*he<~67s1ZX+~SotLU(@;f?&X2Hs3{!XB?M7vc6zwYfxBq{F+t!0mGb@ip|_xM@bf z>dNjiLATWtoS7K9XZf^!+Q{ZQ61fmv~EJ}O^+F}5CZT&he}dDpkh+=TC1 z_~bDwoVIldQx#l|DT-dp?Mb`IxT+<8S3_?!?fxBlJ<-&4%aDU~$kg(I2fX3qOIAjl zt+9Ux8y=WpOLw$myj5y5m>8}gmO6*l_;4A#kueK5BH4)1LiI4#7$q{%k={Q6Zdh4% zeg2?@th}wh)FkQubJTo2g!~C;xGwnyDff~@dr5kYlIlDvwcet#XWe1)268xmevyq{ zXYVT`VI8rzq&hn425W{b1)@~^Q=au?DCaiDlC=_s`G>5}Q=GYMJHpA=bf#t9qmX3L zBbD!PuZF=Z7%js_>Us*ro5)D|8q^nJpe=l75Q+@>CC(0vg#a2uBiY?8A6$&prYV%S zlnrDYhz~*>sxD=*hN+k=%(Ksb%8XCDU((8pOorRUwL9S^vJU$d*_l!8TZk80%8w>K z9ma;1-VwSW>AdADI-Ezz#86`xF)ZAcdAK<_Rv{1YU}Pi|UKwJZi=#?AIc+D~ z?F7`Kwv{UeKm!g%FRx%QsTRCUKvh8=fTy5Dtg-}%meJ)2MYt3h~c zC#@*p!8mau=}qxTm0>zADMD|uy8Qk3&P+$+zV*cokyVq{0L^6p4V~#VpkwWFy;uFV5f}pFSZRmq88h zQ7kV*)FdG!yd|?Glr9Em={Z<>A@yQ`1Pe6p;O3Z@MLX%@R}?*3_E;UCfj#_vG5?|+ zqWz*FZI9xdW}wavE3q17CyS;D++Jk^aHDQQeb)MvV*$pXXZ@C>maP;xJ+$czjKA+c z2u#j0;atLwFuOi~Hc@Ib$VQ#B{9QiI`gz(ZCMPTKYvuXQt3zn>Ax!gMo}`1`41$7> zP7YH{Iy}kWXQM+gbcfK!&e{_Kr;sX#>8O7wyX?$1YTtl@!E+mCy_B5<@U|MKiuuR! zd?SZb4w@cxJt)p>ooVs{>-1`Zb6>kv4F=zAQP=(CR??JzWQ{>)tp+WzsvJau)%=1r zi7#6Usi*Wd)jbUHNr?oQ6Z~1WLTgEYE!JY@-YAPgll!cCy~fQ=f@#Ae&p&cri4HnRRH33Jy{W2Shp%;_@nzSk%e*(tDx^nQsqkV7{MZKZty3* zrH);;7MTZss|Cq;CAp6V@;=SJ!F4Ie!y{L$>|x@YOqiK6Z4Q&`8)`3NqUGaIEbD5R zUa{ySt7vebLXG6LFV9EeH{b82y#(eFvME?OG>Z{2lvvlZS3%%)NtZ9v%Mx!jpEX5a z!fTD;;z**w*-)-goq|~GNce%xalSLk89JkXoSi9WlrwNfX#n@=^2#5O`FCm>QJQz zC(06Cgz?Y>_UHy!P0V_NZkws4ezXR~Y?V@f%rY2&4DY_idS!V-MnKvmB=XWgtcIox zkwjdxC1l#Kj!sxw`0L!yXov`-DF+^y^howvc_LuZ_p{QXyd zf@IZOu!MRVbE0Gg%?3+_y4~mwZ0fH7vRcqxBxF;+o;zk%5A10@us+p#DaT2+oEG!e z>|aN%m+%tpUrWVxJVia>1}l~wr*>RMwoxpdR4|Sgr)uBT{5THd_+_TyoFHWP2n(xOMoDyPxB*-VOCTLzpwq&mbiZ;oo8s-+f>llXN;zFN%8LjdTvMCYb7fNC4R<}Qf4k%V1%hUXLDmz$;r71Rl{88|X zQp$&J1&_Gj>Ih=*rPHQPU4>#*ri12Cf)$C;p(DuQc7cC(XITk<-(>v}ecL^qP4LUJ zNe+K@Qqd6DE$8~Pn(l<1Ss8OIF^VpA3<<(AE@UV)N;LQ;fBAkC4vY$-2POlJYt>9d(cN_M}RyJ(b!mS_`%p6CuH}znL z`6vi!!@4#=_ZN0$?jE#oa`FmKAEznI?UJHPYXdF2ghTS1Pt>{v+Tl{?7jftQRP*}zU6$*O(lj#_`9z;skrZdGSbhYlHc4g2G)o#7RcacmxnT_YFMQ@3s?gJbbW2rdtn+}a=2nm@lABDu>rG<2tOK5OKt9h#r7*pr1Y`k^*arf zaUisVkMiTEUwzB&d7Y@YJx1n- zSXxIJh$dv8REkv#_me|>{`)V`yX-?R8{6)UDL6rj#!oXe3WusoF{b&boC?tfESpx7 zW_S61GD$}#nU%hLujQjEC90CFuLKvJ4f>*8;Oz#^Inc6y@g#en7qe2?U@fwCY*L6^ zUoEtV`s!YUCWbOV_0hNP-sgJh*EmPST+pqGsy+3s zo$3?$>T4nBs^0omzb>O$yX;^Esy9CSZ|b$G&al+;+Yc3V?>`oZFk#(q)h6NvqNn@^ zQu4J#QSpa=^15ldW+ausoO;xKsc0&(@mi41V-Zy<2e1akE1R!6^sZt5?@_zx`nA!z z8pi9UbcMGTowIq5P{bu@+#aRHDBLLdm@gi4CbBR-cgPv116Pb8<4Wh(5k)2_7*z|} z(VZq-EL!7r2cd}yQ&$N?6YTIj6_7@*bmkp3HK2W|CsefdX;#sb)bH!{5VWR{;XY(>!WedvkleQsQvN?&_QuQmp(h!-Dli4JH@8{VNo_R+9i~$(9^-|}y+3A;rt?ZS% z?(BfZvf3u^uZk0EdTAQNw+)ZGXl#wNVTZ{zIgjB{wscUk_oe4Kf#FJr6~B=4mMqo1 zUFC4a-k}z<$hMw@1)P8mRp0Pz5MX57-ze3t(yFeAW76ZgfIrr8zCNu3^sWvNvf#RZ zj^W6E>jES1t#%N%a3eE8pxe{pPOJrT-6P!HX>l*styjV%qUUqp@AIr@-aVK1X8|`OtO;MqgStTwRM7Cg^_^rhfk)#hjq{{X3xQ$< zH7?dbn;m!jO zYVBHvs(XpC>cXz>7u$LIgsr*SA~T_}f4cP_ z)a0U>7}=G*bbJ7oZNp9YcSV_h?6~i8X*m!jVpNraDBMo+5?kcmRv=vR2;BQ)mJC!9 zd;rHo^#A*5yTPUDs;hKXIHkgm?ZRvzG+{UvMxe*brl`jQl^e8J&CI(j8)M=$2lLpY zte4J8(&>u7lO+2v9^}1zIyl#;%5m1qkMpcAV=E#$QQ$l|OGndAvQr3uu63T1xx+Bc zF?x)#$Uty0*BW1nx(%rRk76XmZK-O^MrGDX9{2kK(~4LN(@EOHF3^DYi;Ui_JT8Dh zH8wO8nanhW0b!7BisYz({s&ADoCZ*_^NJ~QBna;b@)#tGpnQ~e_dcJnBC@!5h6^! z&vwOh=u)p)Vw>yQC?fNE=qcN_3xx`^ASiiqa=f4gTlf7fJs8lG1>hjL?L%(oqX;m# zPWten7F*Z2_E>O+PcFA!*$Vx+>lnHzI zpDJdYNq&|N^Fi+Co(zhkbU;n=^$;VV%R&A}MgYxs*?H*fE0P5>68}0pS{utAf>gfT z04qTO6;MNt^WHnD`^O$0Pl_S_#@)oMQI++iUZn=mW{oaAmjU|xePErr-|Bz7f2O6FT5 z2#tqrP4cPOD#R|3Pa7pZcrG?MjX?}~E;u4Y(IWoWn@uM09Mq&Jrq1B^PK%;cBM*T# zN>9GQi-&gdwv7!?>WOxOPR5oBT<~QvtWCJ0KvYuB@h>WWpd{#)otei%a8sZhn3ugP zu(zTZX8QM-@EK9`zzAXpAn4s-s3P!Z6aTQj!Ctk0dY%L6P=l8>rPf zq`}*kRG%;V&oRIUw)lV|h<_}lPyj{9r$=DLo__l+byZ5Dk2b`}iZm3ICK(1TD5=S6 z+Q}6h0ha@RAwSh;WhF?erP$)ZK#_IE?#flBMtJb@c7> zvIFRvQY#y7!Wx;XJW*}a-U=; zf_aGFLNdl$KpbYg3mMK!AuZc7;SHI)2dz1P300wgLxx3P$R-r8Wi}FUMfoH$vQkd*UX{sBcrxsKgrYz?QQM^lWUA;0hXN zQ!)sDm|cuS58+8+c4@ejo;OLJA8S;j!o+76-?C(!mSPkVh`u1WDdH~k;dpRvbnk}s z6Jm`_)(^X>L(={@C9osQ2kZRZp`T9E2R0SD8@Ni(%bykHH6^xK#QPLTM_Iok!s^u= zvtg2`s8)kb_r}NSHydyS+X;p!Xye`K&n78U}m5hlZ@t4$mKa8gNvX1Wu1t%B4kZcxjCfyh?M5J`4@_-qOM;#DeUD*z`aW zQ2b9VFTQ+v9n~0B3#7`S7zx&Rg!+YlJ|1+?4vgLi0ZqU_(_#hAoh-x06V_K&sBv#g zd_(7CCdRB>`3o)^&{M5YqnG8@gcYKgo{x@;PLO;Zab^eS zpc(H`micWV>)n1k5fux3XK3}C2|;=`7DDipR4*JERN1l71P%l0+~D@ULeR(23NC-q zOtH%x&jvV9;Lv7oen0`~w z#X(#h7sjC?t^%%r>j+v#FZc3EZCf(ACy^Sku!D`&_v8p)K)2JKZb^E zPyC5S(UI6Jtvzc~Ktm}`R0LNBEl)+^QW19?OYb!6y?Z6!40R)ahN7ZV<~c?WpnDmL ziT9`~1tM~-P=>9J!h`qi%WK|LN`Up(sL~>K5ODj51 z=%(7*19S|sw6f%XU`gB0U%Ys3rDHf?z!z?pLhFnkPkof!{T@dT6T@g!l{OkHRiUB8 zSZi4G9|k-1DEa>T@3A#HF@$Tm8NJ6 z=LvgH7O{1IM2;QvgDIvCg;e+RQ*{BZv89f)ohq^obDarrD&#crC`JXjFh@4jhi@ zx&lORlIig|JW$0KW0>=FfLBR)2PBDB84bWCt0**oF3J+@-w2aw*B-sgho&-ZjKkDM zLnmc`CXU(YP6EFNLYTlG2QJ0o48xnQNN`Dr;$-+mIv}V(OyD}q$h8gRC&(>R&uX-> zqr1h=r7xH&vg$`DD#kBZePAaZSu9p{D=X3`o4;d*Q-JmxXULjy0;H8rxTRV3ZD!T_FTB+P0=!clB#$S;#_gMNVW{iQ1``*dr6>MFcqUB z@fZeL7l>cTkML#aw#9^setPa>vPudPbP7t0VojY}50$Fov2u9H6E32NU6nw^p(>Y- z=p1N@xlY%&?IoJ)(?e3&`SuXGoWx3C%NCLA7MJm4fEzINfgN3f6Luoazo0!K(})!Lo))m8CdXLWTo z%wD`xkH2!+B2l*Qc=V};)duf1V6CG@n1v`{uy)#_5QaXF@H!<3Dz-H#*1+e0#3nJ~ z7E^(N$KUXyCB185n&jrnm%Fp6GVdsVgIm??gj=-IRlr4SULQlv+KO5%X?$uI_eF9i zz*jv<#!P0@o_ve9CxoS=Ox_IlEsUtd#{hG`3XGjFiA?_(M)w}m=#p5b^eS~bsnX$@ zV1~CcII}b56^lyE_S&6_RngO{Vwjic;|D8Q@p^LqzH8paIhM+Qc8J02 zKx|8tqRqB!rcdk9dx=VE#T60HC~h{r{0-mQCJv-}`MI4;v*B20yfOzwgX@e@IX^n$ z8*!Z48YQhh9!cGI%;62&4fObN)s51|?+sW)ibEA_hbnZ9+G*um zjnrc@sY!vukF!x9Y#}|Ar=ksiXBpXUkA=0YLtipwt1XpO2FJL1EIDn(hG~eHM7lPD|FljV_0K+37#<^KCj>wdv?y^a80CEy2gVLNYg2XPxTXF=YkH z$DvouMpJUOODEHkw(+CvBp;2We}VS=QOJ^|#HUm(qR6rXhNXDgt?2HT#=hXSH`>M;+{M!fgJX;fv8it*ZJV={7vjus7rR)7kY)*73;3 z9zWG0Pk|N)WzrVD-bqdldBTwQ^m;wr1Vm-?G@yGSyaJ?)$JK`g26927RfA;q~uoj%|sG{wvqV0-; zu`(fW57q;MNDNLdf9(IleSl)^c(HK%Wz>fNd;ru1^gs-NKf!1cQI20`)4!L+h_l3% zO<)!K`%S^dmN$`CVWa>}7^qk#t%@KKq7LVrZEj(n@4TwGf*Ck=xzhX2oFj4vKpptq zt*IlZve%^IsCu`Uy_M@=#FdC%-PkednU0jNzyCqsyn7#Pe@$&E21ZK@E_M;4;1y#6 z3Q)9Xj2ar+oUEKqhl7>LaSw|ArOa?oUB2D9 zZMJTiiCZ=tJGP6_#qKP-c$1e4^8sUjynFG(_U^^r(bVqT8S+TeQHrJVDTh z8_AvTW0qWNr0H<9G)yz4P<;P=6i4^_AP%ql48ZUFc#@4L1;h`NwA{4a*MV1L7+|GW z45fGT2wX!4c%OcDnhPllwsU!Z3d1-v$xw`UJ|1Mtm{rnsWtxEK3BE@5_Ai@R>L@kh zY|z~Mt#xo~f4_CHw=defKRsAEY2)^9pv0ms#ed=y;AQJPt^34_gazMnC zTRqz)HE=l9IQjkO6!9+NIAq{MuQJeG*K0XWaKwI}j`G1EP5!=vR)W%hnothe2p<<7 zi*YA|lk?@`cp3Gj*hc3bfW1HV)1-Kxi*ty%76`;h(hPyMIpB~eb05?FG&5*q!y)7_ zYj}jXX#ZY2XoVgmbVf}#8zgqC-i2(F=3d0A&!Q4hFuT$xg$Ie`XWZhbq-*}t4r2E6 z?z)iL&2O&r05bBv+OA+>_~?AKruR{iS!^jGcakZ&!z$L{8$zyVqm`K!o(h8X&AOcFnrlVK}a zfwTv~rkvuG!0QCn!XfHWFzgCy*+8K($&N{0oTF7yn@B{nqE@4n66sXnZ$WxhdUn!b z#RkR>MP5U;wHp;OnmU8XaM9u*+tw#l_3f_yc29r1?*+xeW0ui zF$WK6O`VnL4XjeR`SwBN_~{gwJ9BlL=&+!#tC{f7OOCF82vfLvouVIbLQ&wKS=0m{ zau}i2hocX03e4%CuBNgOii0w;P197=K#vD;7?9FePA0TDM4=PF#mOlDLnO3c&%y z8HXO!dRxFD9AZpno#ZF{3wt2M<|`cB^&;K8EtjEY zJdRmp97@I>$7~q0yr7}8De`AZnZuerb(?ecrQ_N*MJ>&-)#~Xqu@6s`j|fFc0+%53v2|I(eI6|t?>iKb_ z@*S4+lJK|RCO77d<`ugbi+Ty>{(Vq?W5d%3K;W|xwM2U3$^|E77cOB`H40wHC|_j9 zQ?N7DYvzS|-y}@&&bh_fKY}a1{z@lvlZqosZveLshuyVPbYp-9;L8wV<9)c1bl1Xi zg>vUX5YKUJ?sGaDwC{TbUG$6e-MrPK9e!fnj-jCW2l?SAH1{?pK&c8;Ugy<+AohHg zDzB0rSYv-Gwsvs@Qkem1N_$Nym}mKiH$HA46w?dhQ7{2k6=XSLBRk{<>My(BCG=yHOEC{=^dh~LfV-Vfg(_( z>2xowaFzw()wO6Hpf2#V0@zr8dclq1Xojj&{X%fTS8)|T6w5QnR55pH!#p1w7$t@A zhJ_LqZxvG8pEH0mGCQ&GYIqitT7z;n9vAXBaGDAkCLEkFJn>;IA3IFai9;OotW#w< z|5zCfD}sj7V#j}iS&mG4l$FzM)FiZB1!&nTCSv#fTb8X7Piw zR9aY>3N*OuNnE`UID%tV_SipR#dR45N!ao0hE!&9z?i|9I5^G^=>S&Qs0jhR7U=5E zrND$5ALWrRMJbT5(nPF(({v!DUJQVEN`V>m%~EhWmo_}AWbL=5EU()uD^L&0g_p0w zk}l=)xs`NRz1pgfl#({1t5nSrTktvp3dHW<4SvYkLips#vAC7Gz=r)u-ymvqP3f6z zpXG9Cb7Z2~HceV(18npa8bO5E=T*YmsF!;5(>GKNJWy!%o`Pl#B1d52=pcN-xIG=({_~EC4wQFPd>}|O5rX(Dip9~}_$4+zJEL!h#c%gs_~Rmy zTwvVwWr1Xlv3+ZT{uIE}X=0nULy*Msq6@r((JaAM&Glq*dd&)Q_#^)u*qid%GjyErebmL+qwN^%yT?7rg&bcze~}LMoO__@T&IJaTM{QtIW4ksHV|5Emk|Fd?#0GNak&I zY+|eSIc!pY+=RZyn#fBjT2yw!7eQj!USc$a7&ft+(d&g~*LTIw=tR%A{9nX80I^i> z|G1gFn!uSwJ?eZc9nF;9hBUPB-mV*^62oRB8~lD2KJ0N3t>6=T5K9UhUr1H(MmQ$4 z-W2C<=lI~0Gv~P1$)u;CdDpXdap6;?L-%^4w2#k!UI!FoiL{Urh_v^$tS5%E5?_ew zL%1kZcATZ^6*5^&d1##E)6>}zS{;xHg8Gw}h}%07YO^;_nnh}!L&%|E-|kwNw-kte z-NvAQMdGBG7Ql_S^HI$1hUTi-g0lihyc(!amO=7yr(ya*3}`vc(tfAr(@Fy2vM9C^ zwlE2rP?BB41|I^;*iXj*4n9U9sI;T@cw8ok&Lmawe5&~&k@_b6S*KK&`$uoSf&yyw z#Si?kpO!XrmVTH&XD}=AIfEJfkDs$gUv|!aQ~>K#8KDi;bHU`R0-*vxxis869vw8X zaV?lL+=xK+Bz8-Ui8@b~CSZ$}L1;0Gjjbl(ctlZg1cG!_=J4>gjuWi$=*r3ORhp$7 zWhVGB2K8jIqf0PSQMv8p?6go1Er0}pfw{8)Q9!Q0K{ljNXccJO;N0+<^WVg=V$@cR z3LWXie}3+Wy%L!3ab4OrX)l!dd#eFgPStz$ykluwa5y(EH|(makDW63Ru~)UCW3Wp zU2>On$#$LL*rdF1d-(xdCPIEO=}1?T*ejiOn>-C}rQ=9I1)&YnAZGC1L8mMxQ^jL8 zov8=*)AVLrumg;UaX^xJM~vs7sd+>@S#5=Oe_u&PjlBF@CdM*rAYZ9?3j;Xg^;iD* zc$!UOb<3dZuDPIx4lTg|a8rN9D4t7AEq?2h)kkY@C?@?(TD|NwKnnaY&S}rV{blSEWeS&@y-w1s+!q ze-m+2+T+l8t6sDdd`ad8K2m^BI1KSs6|QO)XZDxrOPSGXRc;6K9iwbwn2qx3k7>D; z_3|NlmAMFX@7N`fYW&=lJKR&CV%5cscI-w(?RKm#;!dI6fCSBrmLbgK2^h6Pn@fRd z0O8~TxsNXrV*pRR&jv+0_1X?oG%e7df7Z^4w$~fmnnB^JH7+4fHb$vPp*Oq1MTdfh zV?rMj+@%;0!6XCv%2mOy6@7dPDru^>hdq|0ZvwQXV(@N2mv@x7zy(TPNZQ$;_pVq# zs}8*67NH_CD^v;@OQ;M5_zsjflacS-0_Zs^;N5f?Up0gZoJ9ke4l*zLGq|^9rP$)6iFknz zf@hEWee$e!YjWDUWc^+WkHxK|o83;9pt`OVGMo?ct>j*I#{e-0O?&!onQZ(ASl$dS zGo5rLdVm~y`(Abzt>fPpVvvr3f003faUpnPf;Tt#fEc{zQP$R7tbKp~J8LNaCeB%K z#43*MAr!nR1J94OJF*L@IF{wd#~DUU#S=klAp-I}gGc4hipe{)_0YFV5OYySA}*(J z%PQpep%`j-gJhZw&fN)pd#tN!OG$mc`-X?NmpRz7?Jfc)Q zXi0usig31D$!#}}xa2LeEAj^qU!QmMhLorEeCDdF6#zS$9UTqK>kXmJ$!rC#_L*I> z=IEx<1MRtjkD^SE%GXFSe@%*q>)laPGQ@F>ooTky>1hYat|=t2TZuw+i(cbW&{b|` z9EU7kq3;E2vRALSAMfryfBA#gBN?|^+4D+TDD0l4eR)@8+5WELfAcgIgnxr3O-H%+ zj{E4Bk)MFdtg+;V079>CLKGTV_~?3;>03bVQRtUl^kJ(s1Yb)2f5;}qGr^0S|N56| z!;0X7t#+~o=IwgGf}pMBuizywK=}lDBul`}#;m4?qDe%OT z>;p{@A|gjqjQAkE+aH8s0k{GdZIlUik6I{7SXK;DSDIRW&wP>`Qz~EgEc3~QnYzs` zsNBXm4>^3a2Ij}7e=mM|`g(_@=oc7zr?b(!Y@#z7OI-*#+ejXXqg{6u#;hTJ9vFb- z?%mrW9|6R7==^OBfR`VD@|B{!6&*iS1z{DNoqxUycQBhMuaJn#aA`bhWK=2XSR;$a z9EMA62oSvkuef;Cy%gU!R7>{cU!^KqPPzx$!HAa}qxCeDe{2$xCDv{>c;xpZmL{#i0kF!Kbb0X9HK0*Bc1HH$n`MTvH-M*sx9y z?T`~4H)X^ z1gBy#s-W=_$L-}o_C6aV={N`bG7<(+^L#v_ab*x4uYWQe0l2X=A2YX1(5${?oX^o0=l;-2I>e~xxY4BD$v@+_ZZ$Hj+^kcfjU4ZR)(<;)H0Eg`joSdR}u=@lq|hqEbM&}dz~62M0ktreEtyDS@1j29Z0Tx|U3 zqaL}Fe?q$2JtPvJGAdn_w_j~PeYwkf0TtrR%b2BjCo#;#A%OHt^zM&Ubz7YTG?G*t za(Xyv`WbUP0^y4$ch_%s*VpbPORKlVxovrQ&q!TsZLF_#u)O?8BQx-80-lD*oKS#w zDTscNmEc;JeaK50tBQtA<3b$j)RFez&g83%e;88+41&c83vSHlIt5ie{!PmNh#^va zqk`%kP9ctzE9LA6!@QJ2C=_fI`rXoHk?&5;yGr^Po>5>Mxac8ne0F*cjRg8h_7x4ERs8OBaFRs2HkAr>9dPZ^cP+gNNF{!so5 z=v$BwA7clcJ?Msg=@=74$bLe-IHa!^U#2hPcS%;6pjx=TZ4{P}D#1m?P`6gw26LX4 z8G2enS8I%rkiClYsM>uWCf$4JL>Ze&f46`17d1VV$00L)(kKKUxo5-^tc8&Ro#f4y zg%{9syhJTZ^UX>Oh_X`&=(@EPl59q$2L~Vndtz1qE^0i>;=tg@R)WGlkGihnDB8Rq z%;T{SE{BNHifG`DWPUh^ZC5c)bGj^PmpXt?Lj?sF?2n)_3Fvyw<#(o#;TR_N}wxoUU8H9)S1k`sG@LZsxejwFOW8`RULeY)-$Qja z;#QUZI_(uhXf_(tm58}5f2|Lv6kY|^%cB~xV}lI{EUEDB7n++8vB+&Mx{I35ZYI_N zVclv=2=&kUwc~o|7sh@Gyzrogb?QJ}ailhISls!k^YZC#^0vg6e03y3{!pHI*2p|* z1n(GK?C&qNHsMKv{r&!})?Oz$pcfIATKoI!^aY=3Q{U-Xr(4eJe``wLA?=L&MGu)o zIh$n5gZyZcPR=_gMR797dPP4Y^W%KFB0&xz3vOaF{HOC)hz5ec_p%N=_@HYji(z(# z*0dDAFc}DrK+2yxojaY|oi&JSeJl#HzT2VKRq`iobyNYnsRV|g3;YuUOL#^TV4LX z-8s0``h|wvPTUS9z6m96VdAcz@ndbgJI(|;Mo{LyT1(mIo;F5VC8;gak8h@5%SKI9 zDJgOc$|HE=dQ|4`;d!Y7R9Qf~+0c8hScPmxb8f3dt=`=R{!_%$lTouf=? zpH=-`gmo_<>I^|0MArD)9x2jjAJB}q$rDdUC6>DQHp;s@qeel~Af8b|6_?-&yz7Kx40{qkmzgGc1 z^ug~}fR{e_cM81L)S7|U=UfOQ2VV4K6pdQ^Vq)AO>+wnd;Ld6iv_Nhz4K!bGfB@70 zveYnO8!;`cv;dE$4a)dwY)QkxUS_@duDL4I(`qNdylK($RbW-SfZ^590@)UeamNa5 zb9mgce=0A(=Y=ChFw;G`sd{dr;iwzlD^0dI z)H#Mh)W5X1-h&{pj8&z*@mi?1k{=rsVUIy^{| ze`*AjJ%COBbWBspB@pfP4J`d?DT`IUIxt^pU*ML=)GUT^y8(}>qMMTRHS`w8^75p{ zdM#biZHd$s%gNIGCIs!Cssh^hd~ePKxL3N=rb>T6N>t zL}7Xx=g^HgBpXQXYq7Z@(yB+6HSRL1f00ER8=3!QH!V~|Er41iHrL0H-bP3oqjZ=x zz~?SWfv~l^Gig}V6AHmo?Bjl4tb~3(p_d}t3E&E;V~p91;Lz=4oK5n=5AG$;yzOK< z96SAAS;>*BlEH^@DFl`b%CeJYf&v(vuHy6xf znT9RvFN5*&(0iUD7@>PO7DOf{>H+)%M2-!5Ape2})SDmgE|E$~p$>nrn;5Z)EJ4~j z*5b)OdPCQe3a1(e-oGhF64FE&f3e|n?<=Fsli^3d>9&^8AWRCyGHY9AMZQt5z1Fpa zSEbjGJ}3HgX9_`%E97g|5P+vVUl0W6=Zfna!6#l8NihzMUX1HF#&Y&gW9kDYQR`N& z*Erc|@5Go*@x4=;h!c4A3cfTj5uf9gBXLX5O~jj=-u6BZR&lc{(ZZc+e}mV931~_R z(^IPwKF1+ndTz5Se{!2ui*{;N7$rsc1gtWMrlCLR_^yb>!EX6sLxfNKY*-rsMCcP) znyH|thgv%}=rX{nJm&AfO(&j!#dJTN$lztea~U`n+`xTZDcLS7pbq?Q3P5txE*t($ zsbmCL@F6^kxG7pBc=1!Qf7v%|Q*rtz$Syz*(sBwel~s_d3UDhuuY&8Us^`G10i29= zSOs@q!N~@)enr__PY(9YE6S~z%2&_j6n*dwd0)~Ui&gfA z4BsgsV0h^iffIZHwU5C#&Q3FW;{{J6#*ALx)PSa;aF0P06<{h2f32)Y60SlUcQ040 zL@L3{#|}13tUPq>cT4MtjxsKnO`f#(lpxlCT7r+b-CQA~(6zUE&I*(pd8r~!y2zg&r+G&N#${N{i&WqylXUB<~hiBOf*vsL?aOfOMLzhA+1? z8I<;7Yc`argHluJR_oQZo+!&LsV(t9e47@lGIdeYVwG`JyG5Wb)*6#v#r=2SSp10? zgZsV$ByRg!f3N>Yb^+xs#W3V3C3B0rb;6WjUTt(m9#+Qg{FsFK42#D#`WS&4_ z+YUh)2Udwoikz+7Ikfz0GIz6EpnkdD>NNn51r}^ONlUyd@YWP~fjP?q9F4ZJ!8CQ! zNrv?G3ia$lJx?F=13l4vIbHkM<{@nc6uMHax|?t%e~s8|n^M-+YYVbG z%i*fL=~DrG(EW^Jkgb~o10K#n#jHFjPGJI9;1(k}5=`#hgAf)9TQ(0(6$TXptwvLB zSK*P2ilM>MIJUAUnMM!}btAh(k=7~@!NfR-0^x878^&*|zy+aig20UD8jBdH z=8?G?Os#uC(7lOVbIX{j@2>P9sy-sa8PTp$fA6$_YrJkEpAV5KODe^&w~*Nz0zJR- zvs+`~75ldpp_MN}$d})t2o2u)TZm>#vPCdzco_cV0>7 z9q^9|XuuZ`Py9eB>MI7f#9=YDPz*=ge;E>Qe&7~Fz;4=I7fI;P;#@-Eb%A0?pgsnL zy!!np`CfdYXAK-bc>;oi99D|+redoEaOg%0RVFUW<6GlUO}kmQj>+vqc_~ko<`@XW-80f5ur;?fA8# zCxU2>bMWM7?7#2&N0Tr;kr<4(Mc4#z% z-p19=dQB7XYKrdEKvfV3hOOq%%Q3bN8A{er3Oa@@e@=^adA|mITE~h%YT<|tlEB$P z#+(0sVKrHow;8RTS4wlDq<2 zfwLT}HdSfeIE{cpPRi-fSOoLRL3$~51qQJ*AQF$~%!RfG+1U#{+TQUS;`Uq5Fjjj~ z%a;!i)1#yLuVh;_e_J7Rp`Ffti~(z{0&@cv7z=;5j~ujK#1)4K@a`tXO{w|;9sp{3 zhLq1KDs|g7rQ}4fgi53Wfn%1QICRj#fP+q9Dk#Hzsd8l}{8~@QwXfcsyYtRlzUaAx zvyZ^MS3Rxc&^J;=MR0%1!NZ!$?VZD)p1wXLr!z69aPoQJe`S-;oXE!0kyXYA22VW) zl*;>{cUD&qe|h@&^$rM#x9{B*B}9@CufD(EQp!w*^#S8VGH~3m=+6d4vYd#C?*m8B zdKj|EE%BvIl-x>jcEL-W?)UdsTkD>J5?(dv=kN1=2Co6bx6%o)tZr`=RPt8^h5;&N z0i77#9dSB#f9OUHdAs1CV8`cbMPUh`%esDlt^gDNVLC2l-0s!o@4pAS?|#3!y4)4w zv(3ZK!9Yz6sMs>klSiSa(0~HGo3QdCy zL?5@$#i-nYID^!;WpCE&Zj1(_#I@KJqB!`}7;IF8e?WwRuYQ14ORsN$4MvHp&alcW z;m|c0UPcO0iJ_TyyT(V=T#}nNkS{Kh$lW<))jYxbdz*7kG-RUVD5?M?HWi7pmb;2C zc|{o5!s%$s8q;J4WemOC4cY$JxCC6hGW=m~QmmhUO>QsT6nUe0wT3KQE8VhPwNm`m zM`2tIe+3}!V@Q~V+9Tg|x$Y*Z^AsY-X2Jc>f^EYK&~OIa+g@Xf7i$+?^+v0w)!L6* zwP?`g4Y}D%RZi1h=c`h;@92dsNk(*oi6sjz0D1p?%^hhwEnKKg>T>^6wTVQ~59zi91D#Wh;q{#iyrxcerzpRwK3^_tjed%GNO&p*i>a ze`Fq4bxDDnU)0qpU^7sK3}ZtEUe+B-;_wG{Z>ZVD(C~_(WEAiXmc7izbwb~X7FD_y z9-6I#issRinG3bg+2~Pov97IJf^N*~tS5FpbZXsn&d$V#0oP@ROCL7{%3s&x;DhKW z6>4}wSa>uGYv@WInle;44*4KuDwlq_&L^-@u5;Pif2B$> zn>}3v{i-0e;3I&}vwlKY-fNtkG};LSNQ*!1$4LzYxL-)%{wpv=Rj;{F2vzdK4+~Wy zC9&#ycxVO%%_`O}918N7W|hwyLK7u0{*jNIQFCQ+cYMQ@HpOt_fWoJt#!A~$RTYw@ z>KFRq2OL!`6xS{UrMyC#Y97CMEB<)r=??2BoJb!J^0aK4#t96f#jG|4#8C@4QJ?*g z;p^wGUO(Uc#i`+^w?-TSaRLF?m$)7R%zvMrzTT**kb0Yvyhw4WO`qFI^p~9U{#RhemCtuD9w_sw|*i z_^ZFa>yq6?h;&$ov16C27`sKQLu~yJ=+qda%x5F?8m_}aYEMXstuJ9hj3v(e3E81nM(hcp#LG^|4vD{W z70Unmmz2%;?G|0=g>^xm@_J{duJSrwSM92HSAVK&k;slgwH=Avjb5GR#%_t?=H5;oKo?gmgw|^pr5O((# z?;G1>WZz_?Sygi4D|UVJo|U`xo9p>YZa06xgwuZ00N3xwM@N$wQ*Qk6hu)kJ_$9op zP*)T2tHfSq2cyiY8sZOnx5pzoON=km*n_qX#wP_GNFgYLSdQJ{GL_Yk* z6qL&{=r(_^hk!7pqvM6^&wmCC-2)Dzq7HKy6O`Hp#qh#5I!v>mFzTHH1!)!#S?t4v3A2KwLziw{{WHI}AT$ zcKeOFg@M#*Hlz&B%yG&z2Tle(wBRVs1EfH)HXx=skQf=%sT$G(V1Fv+BL|adL1@$3 z4JT})1CEw4P8*~#jRlEruFl{?nhivrwl)xVx8z``RCmCbV=jRX(+}R9>&3a9ez1Y_ zQ3Y^r55HyZqkvhO1zbi+Z^t1$q(JnH)%_ z+02+(Qzbq2e*9tLf)J<}kIMuu{w+ABv zq5*%WqEyjZo24JtO&R`hq0T>%-|UJ>qYW>1CcoMBPTc0a{lEqkN9z+1bY;8n*uhgA za29b&u@{r#z{)#t#)@Q$11E+DN72Cf1LhXd;pA!;nPdYD`~sv#MRr?l}mzCvQF^)3V^?hmLvM{K-$d)XsltF_~7CLV#e=pV+ttiy}a*4ALo;jT^TFLXI65w%o~pVnU(BKi%WzqHKIO;CtZJ^FTBl&;9Lr(QHG8F1rq}4a{Aqt% z&*5|N!zH?GlK1m$sA0Bcg1>p3z?+YWe(x+F^|KG{?la)`{dCjKrhc`Xt}_woape%_`z?QuF(%%<+7uB;@=kr2M# zW#5m7q6Q~{{X!cl`=<>~DIOM`+zODDVjM(RM4LOs1ZB}$WG0^g<|Qd)#ZiAz46=0O zzgtv`I1#XlKrPY>5vfNZRtbk#b%CIXxGu$e`Cx(7WRH%1IqKhNT->D=Vvnw4BM9@( zpe38y_EGtZBau%Qe-A$mV}ktN2tUkBYT`Gr4LW*HB_f&F08)_&jY|WSl@S{Y=dg zRr!q~&BG6a;wT-wFfW0$d9`8d=k;V|f4~1{x4rhUIX%57rx&CC#iZX_VeCa6E7zIf z3kCD^mLn|Yqhv$I`b3}OfIk>}TM4Zr81yRHdEutk#nAI&+Yi0Y+&q6`Fy*ugW({E= zmQx(&Ho{E$csnnud=TV;vY|`nwKfHyoPR9ygq^&fCE4*YTubG{v6$IX<&rz27q?fv z1%MerJsV}ye&A{KI0YyoF*PX;`FHWPYEJ1 z;9}Qj_pu3HxlzCpHy(d9B|8dtS#8tL^!$nrtt$|>C_ZKH6|po5UTylRcfR7LseLKH zig}s5Ld?{KoCYQZqhDMo|yWUaHhTu#pg;{i+k zE*W6MEAsGD;d75YA`d3U8qdIPXw9STdMT%{yGR3-6$5XjPK!0QWQ26}_AdJk=FIO& zmJfp4C`Om3eI|eO%A6l$N#dA$uHq%p+b&Qr)?lKMP^==G1^cYmk@OwDYxu1L=P+B& zWIc>*%WyUf4kz2wRSN+M$QeazI>)yL( zlgN!`(;9n-bq!Ikae&niIf@hqJM<=pjpHH5@zBNrKLgKnxI9o&c9Tl&7BH6bM++b9 z5j(43PxMfyjS6es&~NYQ8q|&Cs!gcYaPFSM+ZKaCaRw$ky+X)cH2!5W8|x`4vkXJH z!+TcvRE2+qBm0oTBWfi~?HN3^h3{<*vvgE4e?@;&->?VaugYrPl(BbmqEr1)r&ZXF zkf!Ui5Nsr-s(W@t_U`XgWa_x**IC0<+5?NRIgXC9dSXS3vZOb3UM`M;cekT^Q3XTt@Ym4JqZfpA z&|6A;HsKVkj>8Ne`_*uV3 zwT{@AodXQUEPkz9d|)NHk1!sc$fvzy*g%h*c-YjZ7S$PK7)#hghR^MUkl_>RQBr>+ zr(+LS_s*TwP&czXQB*1dx{FG52Hyk zffZTccK5EJXLh)WpPIoJ?Xh4gDfmT(4&@QQOa`Imfl%-vb8CftFDR}vD>xTy+mW&rItT1WTU1tHrw-VbtHUI)z5`}#)h)0yw{5O^lfbqeuz!CjBYqp~ z9}d_rT-Rs7&YAz7F$)B5GmrYi4?tFj&xK3Cwa`{j_kD<}aKL+nWC;{X2N)07thz9< z{(#0Q%~3iG>X2%Zs~46SwHteY^}uRGl#V?;xo#Tgr#7*cK1HiCA#nHnXjMTGBRKe} zPvHt2vn*gwS8sr=%fo=)$ZCIwec`H}LXI>8vqIELt|LKO)n_&tyG)2K5VzpIN3c*g z$~g%SzQP(Nwxg^(Ee1GWtfI19Pww1l>(PLB_mX3=YpLlH$0qre6%tf(=dM+Vfz$M` zgQX9xCRaei>@aPBfL&X&U}IFCj7>sO@C3)`p9G^=hm$?-&g=pNfG1^VP>Eg|sMc%UeO` zu~sm-CiB%`04>Wr%`%l$%3pEb>9&&_Hyo_0QiVOv3^`KZuH&M7nVoFu8xjX`ppm%v zB)oq`V&iMUHJ@j+$1Z=qNUqldoznK`7SMboSYYTE(3~V#;M6amxk<132~4Fb-B8{Ra|6Hc?&_Pyc&8@f7i;u z^25dfOR6l->mTa!7_o>z!u6|}4A*};w|-ro*MF+ZpEjh%{~&)-UJ*vP{{Gzhb$MQY zUzZ2R6#zMij-RBnaQ)l!$6uA_^>6F)+YNQc5uqPNw&D8Eo%$i^ydiH-4lIIB_twB7 z%i=E&c=m0`Ub6W|^2k!~r+aq}631~HKFVdoWyZF*Na(6?SM145u?BYqWpZB3Xv?JM zjd8icq14(+6eEA7*J6kPm%ik=lTBYUmit=aYAUSHB(QhLa{=l-bIoN2*;$U1Ohp5g zqy9`a+}EKgxx_8_AlL{ncda~mD(lNdrz15~e1%Ea)i|0Oo!IK~VLtU{!K|7+{q>;U zRPas)rUL7$`*wMt5n;@c_EPU2MEXXvU;5K-Z#fc+^VolpKf7%DeE~!XQb`k7fqcXM zk_rw#;5KuEa$g;`_f~B@>)~+rZEcojOHT53|Ay&=7M471cBG^5(b%QTXZ)L*OH>0v zMEhckjK(3WX_vD#7)K?#uf^@KAnH*wXrS0^egLM7Pegq{TLid6PL@7IC!B?55X0tP zlfWt#`D%ad!hL$b5GV2}x?uwQrPDdx+ydvs>z;KBNpj0R&B|N$*;p*CX+8insGJsJ zJ?-{xY22k{y|QpR1^(kzL)&Rp1-SQF<&dl8rB;uF6%KlxjtaQ0oMs=U%g2)}lXsUT z+E&O|EhN9dp#<7!p#>5gy#r-?PfY*2q<5N*PTYT+FeoYbknEa7iruAy4qeEteYbqO zOUZC%!sOQHUXn%^fdm?|*z*<20aXAm?cUD>v;kISo{btie%Q7l?)~lUd#kIu3(Jp^ zd#hUZ#S2~gjC`p(`Ac21YqNk2y0v#(pwg|*)VPek%x$z)2ZUkCCs{u^IuBXA^ufS* zFvx$T&C7CL7V5;bax^H8R)&IAW)qp+VcDIxr9FSYuxo3cz8$*lhKw!$jvP;w%0j`V z4`UnQo^;s>Zc}~hOp9mvhpgYc-4bW~@gVJG&6WNA&gSaU&6Rf2Xta1RFokMbOa&L* zP|E5Z^&pzJ+uT6N&{!4~$V&3>J4y4TC{8dEK`Y1<8b7UWRl2fZli>v*=pc4f>?~k=z1#?m#raUe z;yz_9-Q>oGN~U3mB0+P04-J_n)JAeT4B)U?RwXW9cG4rUB!;cw-LL#2%FFIA3BrFC zK)(>OmIu1cLAL>PI|jN%k(Wyeyam8pG2rGY?D#|Yr^N2;#vo5ct{R~wv3vy9A7ijX z3wBu9+|q(Y?fZ^|4aqy?uDT{BNu4XBF8gb4;4u?*%nFbv0KrzBeUKfxAa+o`4YGT6 zfSh<+8_eR=MdvYpuR`~3%1-d0og05Doe)54Y4UY~2k6{V$pjC~xuv2656Zcuk_mp} zoDIDUc<}?Ab4z6sJV@uFN+vj9PWUbzyUUw5X-sVZ>9+&rgk0QEH((CfNgz0o9T86e z+5QENF``R8G0QnRdX$W zAeJGHZ;m(6Pxy2P9oDReQKdsr(iD-42)|Og6^spa5z%`hij;xzhn^z*B+l*$|r9%bu`{c8f%@kJDpV{K$Q^i zt$6oDzAw{c5ra%Egyq;0CCvIk(tE%m{h*x$In*IVB%BusRKn>Xpag$6aw5qpxRH(~ zE1&!h1$9eUlnWc$i!^CLo0yZbv0elm0ykd57C1zRvO{tbIHg;leuz~9^_>vy8c015 zY5#M|wMyvA$6yI1;yK-*@X3BRDBS{fqS07GH!zW`4U43kT& z)G7imgT1i(zTta|JIj(=|CmyCx>aNny3x_39=h*|7B_bhq2fB%Dz9RQsbFD@e4bcY zHkGO)k29Kz@o84vn@uKSO$^SHA9uH3+?7xCU`ceS)9!U^cb0!K0w-ylOI{h4Jbbpj zYg?+o%T~M3x1S!qc=hD*3vpokMSPaGx0koJc7ObF9j}A=N3`alseWVs8=w@p>sdzH z*#9P3c@)EbNa6N(0=2B;y>|`lLWCKM^lo)U+mSjt@-2h<6|HtwS3{Lq_?>C^vNr)QFv_ud@5d9$}I zHUee_f2XXUj>LAEoCF7Btg`12Ivo&^OlbNVzaf38E#Q`t0xswnAY^-fdI4_3PXbGu z>PTox;+a5~MrEZq6$n;jpG3qjltY1MBg5X`ZvfplK(cHQ0{p%I%?cjNN)X64g)kkd zN{Sw}cOWiaiN=6*1*-xM%}O;S8k$~+?Yf*!e+nV!mtq_T7v)7y?BN%`U-XYh7wOTF zkT6oQn}h1=0yG*I@6*XenGVMn?~eLnmpF?9bE{lXX5|)NQg3-5HN-(Esh5IeAL1dn~=tCtY6SE`wYk8{~g@=f0%cq ze@DcuHR~*P3(jFs^Z*Y=a1!&*V8D*VY2iTfB=Nm<;GVubYNd7iBKwdTLe=+^nA{{G zM>+eVQ5L>@3M*R16K07Wkfb1so}{Da)-v=OX&G3FQ-G;&U<8Fau8s^CP#S17QU*&8 zwoIhrjx6sDM!mlDHEIBZg25VOcn%Mde_&1;hnGn#ja}6SY9SbPKkEbm3BZdAjlC8A z^O4Wg(+^{@IOT-BhLU>1aGq>z)+FzMCaDM0nQUj%)1vQ`98mOarBN&=y>?>HIvV){ zth|S|DFd6WZ08k5Km$1+ZSE*m@}z)gh{Sg4G(+F11R5mUA-;i4&7|k@h5h{rfAPWz zvIp_qV=@9}ikZkw1G%%+)pV60g4t_#*6tYWk^s4-Hm(2~K8$Ve^^j?8Z4I3FC( z%F`yxOHjODPZ~H#4U_TF)DQ@80vlCD*C6|<{UW3?lTp^6cRpIAHLr)Ve}B-V1`A0| zYO)(aF3pE$Gnt5H4xyFy3Z~CGv``NeYkeUQjeH*|aEC!5IcWkbuNXrqOJ8vmFEKJ; zk%ip?Z_Z8mrGtaeN>qk7l8}7+fL=6MY&_&CreY{0#Ag@_eS|hS{cJovrT%pl&S3A? z4i@V-?!@39G@we8aSjJn*}%A0QaD?2^$kOC{o+#_YceP-jOD1UGT_3K7Eo6 z24z$Blr1^Zo{N8O;zrYG@i!<^c;r!yfL+Qe)4?j5D-zWT$I*j|H4SabFMOLDNw*1! zg%+Zq#yvCW`qEUsZ6U^>L)}x15nLcK8QZMr!wR!ehnfty`&NaAe?0Vd1vCzZXL)HI zMyCToNt>qRUVadGM2KgD4iv9+?O^pxWCZlJL6F$(VrQRe|f^ktw+fwlRgwU*bAp+nfz0*>wkhH`@1X~lQ}dQS~0-=Zv@Z) z%pTBEMI1vr+IuwnkoKm7a|V4{oN2R;&UlcV6_a-+DlwDqQ9c2o{L;gbjrx(nh|e&H z-4%0-O1&!*Cf=!S$o<7gy-G?)SBt@b$-b=R`kWBl3?Ww%e}Vnz3E*8190ZaCp;?yL ztCp~V;F!c^C^+7%Q+R;T2Ib9+ZmC07KV;J+OM9mvh;+A^glMU-3Dde-nVh27;m4XPgFSlcbh`znfhQ)jG8o*0T0B)2C z-A-DNWg#+Qe}RraUucE}pu2%MpcODrmT$OSrw+la9};__wJ9kAvRhZg4}TW41a?mm5y zLtJ_xf9D@zThYM47ov!1!kR1xxfp$HWUKSG$VW;bUIL&8b}?A711F$ITy6?Z6;2L} zF0eItQbUZqJwHF=i&9OzB59$anK8&y<`HOTW|acw(a%eY_I;F{rtkA&!Vpt^8$>2z z=vG{8M)>5kS3T>J+mS$bnob@|=~d1W7QkRBe=wxp^xwcXwXCMa$R0z$5V+L>&Fni0 ziyuwL8mA|qaKh07O_W(M%n6>9RA{6E25QNN|2^2>KS*LDq;yzG`1L}1BoQ#W5;7|Y zNX1DJ2fC3oLd?nG7QAIkE0rw6*|P0T8_@bYcY>p{?&|B{BOASL+HYmc?Hd2E_E`L1 zfA5{NVO!x^yzPAI?H#W(Aqtk9t1;n?Y=Ln9wF}l#-I*cbBAlzj<7Z=s0IfM5NN)=2 ztG|UN_JbVN`#&2tAplg6yVuMbvMcucGEyttVpbidME0jYPT9LaI?AUy^dx;Y6J{I1 zGvFvDn#f6iJjq;Trb0R4MWreURxPqPe^Cwt?DI4-GxU?eHbp4se6eycGhq>Zeref&S9dqisse=OG8 z{I4GJzk0|otcMIVO95I704dg8JMBQ}&#J^6%)jgzd@Z*amz#h6w$W_eT59j_FLzefA3WT6wE6$Y`vib~JN)OL7a#w1AZ;bnf7!GE0SRz` z$d;i1g>azH^d;IXx!L5sInC64lBPuqV447MwkgdSSO&Rx5&%w6tw}&gz zJY0G+ts8fy1_jR_9507_ltfXxB$<_SH!Q-lviV55)VZ!zzdZzqpc5OGF!o6pc4ac_ zQ84$cbJ9s3ZjMjK$>t-Df9{5A(GuB0T8If}KkE%r6&0Qk-Pn5dWcQb!p5htF#)mFK zHGJT}(0(OBz(o2S03J1OH#RNrEkOt%*rGLHxum_b$Tdk$yU350-s65ujw92i_GBXW zBs5Z#zLaW_1_Y?s>Fe@5vSi_1U{IBkJ^(Bu`Q-429a#W{x^d9_OP&NNw@}89!H@Z zgH6~BDd@nIISjNuT1K}*Ho_@-%Wjp|=Fk9Gz1LpC|6D>-e3-v~TE+eeg}S29KV^}l ziFB-0_Q5Sn=_qYre=VLOo$f>>h@N@BG&eVJslWo-`{ym7rK7_O#7$<~+CxuWAixW= zW{mLquT0?aiUfF;Oc63+*26L~+Zm{L4%u*poi_aUke@?v@-6`eR% z@T@8JVan<0%F8TBRzT(g}j~3ne?GU&#$j=gmadOiMf9#OV@Pj}asJ7*r^(z?K zJK)}Gy4M3%tHvL^){(h;meDG(teY^W{vhM*_(~pch zig_KX>^5_$t=>5{Fa8P4;nqK$ed*RFCpOp)aM~wR>o>95XN}}$PhysM0$yvB6Y=P&#uoJKv1*d8 zJ(ko0{=Yjd=BNfgT?r%zR3U$akuqTH0k97w}-Ko>SK&F*Kd(uw`w=m}WNQ#sNfWZ2ap&{B5~Ia41BYY}C*C z#Q4P&LdXok&|&jCTyi%%u^}zFyO~J4#rH0=bD3kAkeNiWo%Z^JTZjK@w!S@BA|6S> z2QI#a)|l2UJ-8{@q=s)ncW#()D=6=+{PwSfu|0nQN5SyW-j+h3A-O1FDQ??@%0Hi}G ze*p$)`)0lX%KqCVONCThP3K1h6d-luqY1J)Z~M`N(KiU$Fq*e~^7bbR`ht@+ue`Tn zWiQZiCiymbQVhrWAOLVckH6%)Mu6m|gu=J$(R2wnH09Zbe@(LTyRvu#%Z3@7py!lz zYpByjm1HJFznd+;ENdvo@xb`N-7qa=o^Ot#YJZp9_AuP2V7$N2@`-49n*0;X{S!1F z<7_fL@5r0AkC*bXbGAdmbQvc*BFdPPokh7yt5)S@XNb?y!G+xHB%#@Uc8sVTtQL_P zce{LavO+Wp+9b#Kj$_j=*VwLKLCUq%eK5NfwElqU7iIscs<3yS+vH$djlWv3)vT2T zW`8nsO=z8Q3gcdCAW@nekR5|AYw))9lXU!RHc>$q!#-iO|5j+M3E-+XAJD<24OyGi z(bx1ysk)dExxtpPmt#gRKz9E2TTsuY$x2Rla@5S0f8{OV9eWUWRa#huWRO0pkJvV8 z{TOQU>-3DgSE+&~gjYg8Y;?ayTZmRu?0@wak6JbA)!62C%Bfd$?E0$qx_x;nnq#K2 z83wS7PGT^sGaPoEldYAfZb|A8GOXwdN`~xfxn2wtusp!K7VC5OEBMI6Cx#AdfNn%< zHOr;u9;CFI7<*!Eg?fO8Uh5u~47^6J<(_O6|?>JaE@Ry^1NvKVE zQ?8B0=GjEaaz-%R!{%6KRraE}fqz9r1^A_d)52#^PPA;NyqUJ&$5MvV0Klxie0%Ab z4MXL6uc9CQq5E_Gy=FLxxtq433Zco4vXK>Q+`{2v&f*9z>y8BgrVUl=}qReMK1mw|UXP6G5{0^zsc5zWxvt<4%9iQ>+3&wj$rVBp3D!SMM<;{K?~mS$8=&Nw z7VBV0GUd(>ft}w%?;b=nMjK1zu)~<(#@tTm#b;F5)ERWpayi7}9$Nfq5QQQ}u8WMT z6lJe8ltAu9qBL!qgpzSOJ%3H`{R|eC89oBqlG@lARqutC5J*XO|BXJ?xJIqIZc!iA zX_r?4J|TX;=Z%XRR%LU3c6QcrUo2K*2MW^ll@)L7!a{3^)NIEC`f^piaCri~tTEey z+`u_3h9oJwM^LdhRsImi%X035-frh&W15!wDC-59`5MgLM0d0vDt{pHbL|q&Ftte8 z%mJBi;vX#yds;ee(;yEn;s_+E)7E}TZ8E6MVaJ%S`BKuQYM+rqjSh?*20OlzOXbjy zO|@Q48Z=f~K(lVU5;!@AsW_3F@s&cFwIsBkQrUH^r zK#@_j2rF@$l>nC!fHx5+42rYu5LHX7!8NQN3nSJ4i9|jn%kbpm7nrvVSC%>+^vf4DxXqD6rr8 z^Y%wmXzgCZr?YL8pK!I#BPf`{WeXY0J&d4OoPp2u6v0Dpzpai?4U8FfrDd zE6xe6#3$y(is}~-AnH-F+PTXZG?s6C0RG!M)sH1MyZ0>StM`w_w|^l}usVG}Dxo-M zR)el?srJ1aH-CM9b@_WXtX|<^(}$LHoX?8ia6x%o&@QZaQlCdFq(={%28tqPwPfrD zL1R0&R*#TGKA$v|U z;clR$vVrOp9`!=>Lm?nOdI*Idv0$W4RmmpdH5y=SIDZ{g4S3_>3SxM;0@y+X!s-z$ zAT7&{{cp6Dw>3!6%Adq0l7CRyYNtzK`mk!1)7by!k;bw>o81;mr*fj-099G>vo&o| z;A~6CXgoBah*eZY<*-U8v#LrNl3iB@zwNppr4oaTVCJwgL3ZF8&`u`lSvx5Qvy+o- z!uXp_v47}?^t@mCbaTqcg(Bw|a!B&NnO|>)2`Qgr0Ff=}z~8258z(O_&51l&ShQEw zlt(&X0ImnIljJ9(Vv;4#w@Pc`P8+H;7E?zURfCl|ck(8D)EzmL55)(Z=1r)6vO)y2 zjz8vBAzzr#mB3R0Z51b{O)+s8kHdKJ8;OaK(|;%iSl5iXEMuW`3V53eQt%;6Mo!d) zXUCfjN`V=MdBa?sqz1b((Bp~&3AHa7{Avs#(70$fjWGk9Kf=&`>C{>w^EVz2a%Uz* z!aUpyYZ1ulAeG0dP)OR5-6!C2WDyy-+ywFHp$%wNq|3Al^~ zYH26OgY=~I7c(YHZVFT}Jw>XR_8VFRC4W`1h^fsr>QSmKzUO2#5qX57fqnU=uMM038M01^CP3Dbj1Pw8lXm;(Tq8J>zx~QzT ziVrs$9yR=wPEhTo43W9Tq#lBw@P*jLUeQQc*o#XTDtjizS1>(}mGvRxMt{l@P#y-Q z)#?uY!a6MrTxmXww!<@^lrub48~a5(Q%C`7Lga6SP}yMHCyg> zp^!E$8}$m6qc+OHwUI; zC+O2j0MzE0r^W)uE-C}&%q>rFELc%s(44umOf5|o2IOH`vk|{fHvA)o)kCY)kfHwJ zQyB9)2S9E$;kKh1Ie(a=ZU#b)pg3u)6?kDwNAC?g%ygoa9Cm7M{hAbKb}-D0y|4qH zw-1c{uzZliSa3^K0W;5aLt3$ZS;3_I$X1BUw-Qhq2`ji&HN{Xx5aY}0$)7r?9O&TN zDnJ}7sAG7sfL#F#1UcT}wu%95LVLO0b;Y1mNBbguj|=XG%YXJ~L00*es(dS|6qs}^ zZ@rjei;R76^ac98w+C(vF*D+5&Ke)`x7LvJL3cupDV98E;GGEzE>$dKYY9Uu&U+Jp zEk3=#*mU^f0PQbm@8Cq#w`RfWnvoWqAqaNGplwF`!2;SxdO#^C-{|o9Y^MBx_fk`D zgJDwL@z7CPuYYSK0ActJB0454Uhv$3(J^WnABQB?UwwBaHvl(Ga+rdZ&Yc%ky8ck- z=Z~t6`5UaAB2~k!iX%NRIfzfRG|Xvm1|vx0&enSFTNzPk^K45J?K9vM&dL$ zO{95-IDfv*M)~ivjH8wqxrR%mSSqIX>0p+z1B(Q}Wa^pi^Pz{+M8bGTIv5hfnE8#OAjuG*F6#aL5_6XIa~FE5VTd}XY5D4G z^po_#ZbCQA;g>d&{3IWxgB|K10LVGyCdeA$9)E{FSX$EaEeFU#w*>7{1nZYp%fMol z@m3qft-%L52Z?#oM6N{H3!CVE%m!oBbGihk)c5$1eKul7G%%J{f=rTrzW8T1E2re# ziG~*~k1b$4ay4OA(btsNW^~tsK*Fk|1eRqX=ux@XJ3V+{T-0cJS&K8+z?a2S?8em^ zs(-LtxxvVE&0nPyxaVs73GJUbB|+=ND&1VkPYi)H58KH|lN#!v zZN~Y)Q0<5$n_e*}AS$=gf~+?<46{#0=)W|4Le@YkpzQ}HDQzZX!`Ok4d{3lNWPcO4 z=jWrTsKD6aueI7q_g>5LVh$Bv8d+|M&i-y|b3SU-wBbJx#bg4(Nl@LawRI=>U@`vf zl*Mc!DE;Dsej_RYOS*e9Lgc#VKULK@d+TO8V9MLDjkUPAF`%uD)$%?y@v%+5Wz_qd zj5+z6wBTi4qITQ$yG6S02hM~6Lw{F;CQmOaUdy_tRO1tEUP5ByXR#V@wDlFIxz&V= zOnHlG_`b?E@kl1;wulDegXpAKSAqzBe*GNoYl@LrNlmjP0Vks$CKLPy5o+yi-4`qL z7TLok+{^-FU_zOHH0uP~W?razo4!veAi;Wrmc%MdvJLe9Xf6mmb+5DMH-F`$8cP^p zILX|g{r|bZHwHO*G!+ve_aq!Cg;HKePck8qzK2WZCYvKB2$(66C1|%6lR*g0c>i_n zE{^qIRTvt7NZnq1Emyirsw07G$TSUsyJI*xDqOf@l-6l6gzkd-#!USXtNuZ;d zugPsaBH=w)vNXmE0CPAb74cFo3V<+y>jb_-+Hz zjbCx}mWLV=kX`nYyMKT%O89r#`2)|dL4eFqk_&2L34=hY!AJuOd5A>d#7E{3&hZ3& zb@Wz{IXB9+jvt*~Iv6x%8=-M__!iNzJ&}m6mk5KuV&`DSQba+Iqp+7EQ2F_~IBO^P zz8VwkMkQXvip5MU19ij8{cMmA#g3(3q86PCvHnB@U+c^Ls7!QO<{#*;lrI8d(^h+}k%)o??8Wr)n-sBblm9GL`<9LVdliWCfU#oG%O0 zLxqV_@qvYg9TSc%_xPm?#0Qf83h45OR|uZtG6a z(=7V&6*oQ&MZ!e_7c<9X4&^Ng1-0_YyoRdU)95wIPV)5kSuO-#(0+6`DrB3)`Ya;C;2h0HO()ZHN@W87O~YXGP685u?(*qRWFK zE7(|pM8Mr0xV3(^5?`uQ$(G5e=Nv9u)mkUi>^4EH8;uYjI2CyKqIFtugI>ggRyHnK z9e-G1g2tUW6nS!la+f3t0u8r>;M-Q?lYI~zX(~p*3yi5o8-_+U8xQ-?Y&A!w;ds<= zCJ5P_!h%Wyy-$$Zz&@+d7s@dfT8=GXTj?79WG^+Mb%XL&q?(NPBDbDEiy{8zp^!Xt z%fP~Zo7y^VYkMzp!X0EEG;P*7Bdd{U@_z#ZeUZ%o0f(DGS^eu5Bg+I&5WOQp+9`=W z3Zkg~&US0BZIemxYEGK7JuoTO&?M5q~(MXY?O}&ER^baFV-1es#=Beq;un>&JqP6>CS0!nn<>6rm2!Cl7 zV$q0W4AL})-vDL}GQAF_uk3D+qO+g5;ZbA@mX{S>iq2czl3jD)jlVE6YD$8esQhw=h-Fj29cc=L+|FW1l0X`l{8KCHagp>8x!4(jF zxS7&j`^d1CgVh^%(k8eD_YBtrA%zX5+AuQAtFavhL^fX=j_VY0rhKKX$$#~FFdBE7 z!1(0JUK79rb?+nL#lc^S+#Gx2*xt$!lsXxT!XkG-iaEV*or}e>MVi9VZ|!6qNF^`n zbz@7Yd4g4qahiuGn8lBon2cprhJsXB*j1cUyJfbuwz1Tf*-CkC7t*0)trih=Igk*5 zX0bC+J7EtCx)$qKp17QnbG~cg1-(E!LfpXO*_Y)9UUx#0VW?)6x?R|setv&^oS`Euy-@{i zv6j{Ql2Ok>LrW|uFtip6()KLB&$3yj;v1lLej>zo8NN+s=SSS!mol{N^dF9FKcf2_Mx}3rq)z`U$f)S@QvtuHqGYhH(Y!IcM*Wel8 zB{J`iEQD9W&4Htd=Yy%rJ@ChTkH<)tm&;2_Y*-&AF6Pj*dH`+{_6*8{ju;3>A#SO} zKhB$9_(X?8xiH!NXZL^+N_97UIdA$dS?V6p$qnYrQh)Lz0!)8aIyot2tcb_(Vqnv? z>vC`1z5GWITaXPZ-p**7vO30M>H}@r%PHVN&~l88n*2km(v&0xP6+vEhL^{pT z1C~gyH*OF-O)P&PVRzY+*(eFQ?ppptT0KHa}A^?ktdceC#Jq(8ec@it-;11`4F~VX}W=KJ`-t<-oOA9JK^^B^v7k z8L$DX*iZ$S_%pTX-a%pw*-<`n0?q0o5ha#eGAA`wIU9q1Q|Yj*mi5m1E~V-VtCdE= ziKutl&nFhJ_&vWdR4m#Q1vVR|r5hDQwPf`HHiVSCKS(#oesXjUQFeroI~(=IGFk0( z*E(w?y!-*QmuqJN90Avth-U(M0<*Mt)8yhUj^6HC7Wyf_Vmz@VSR+H@b>F?G!O}cJ}Sl*g1I!(IRyUChONDrKDJ^kJ73#DAO14l(Mcv6hs zT75XG=)+N<4@am)JMz2W*0hzESFTC)xJFGc3p+UVkz3D=qwqlgn4NGzT%g7R$OLC%A3abJSoavx+8pxK+hK4*ZsfqT=$d2J;PdThvGC&v0gv$s1ThEmA ze05;Co~Rcvh=$Zo456GXF|?}DH0SD<17x8gNFTESrvV~3Jy;gKaZI7qt1j@_2!HjB ze|m)ev&e9(RcTkPv^*`&o{y%_hhuwwM(!#cnaAr|;q|y9PY238Fn$mSg+?$^Z`X!zOi1@pehzC-Iy z13}`UX2YTVNzVvUz#&mUCFKD$bodaF%MMqKgfDRF?eNrk^(korTXHv^l7QgP904}^ zQT0i#r}j+otEra@|d;b&K9E?;o^u#fy z4G~ntzsJYzBo}KfhnK)d1$bRf-Id>?V-Ng!U}f~_lmdV347?LQKDHBOHE@!qZ+7;m zpzGeLos5q(PN$A!JDt{L2Y+7CQBk|BYK$pt`cMl2@2EjSqf@86970pH@16@Q3hQYx z#ZN7w_?tNXW%zm>14GWtj(_H<{oQ+kAW#|r zVt~-MP*a=7IJ775?*q5|M=OP?_c#%JmgXbXe3ItBk2L={RNWUG0m)sy&>V&ur)XO& z+GwM$Fay&dT7#m+ma36vLW(Lo%_%UIQjOd?OvdpsWk|McGUQB9E@%1%1Xdg6Yo1~< zftD##Gi{S8Mw9Z?c7J5Df}D|ngISfu6)OvsS9z`o_?0OE=L@-L#CcTCCidMSCuTfw zjB}f%-|Q9R^Fx;|Q52o_io;1(&IVJ9v~^ho7=Q_$TO2+Tv8e35w@@w9Kn<(N0u?$w+K-;cQ8}611*lst40vZtD8$>F-WPCNnZW z!`e6WPY+CMK!5P7mknc~^5MG&K%=if=$8j%bPDv{Wfqsd-n$y3*vW?Z$)uQ#Y5DQ9 z^bjIz_(x_;#@!yjIfsan;d`d&f>#nb49t}yJ%A4tf~JrUKg0zxcm0??)jT@69p}Oj z<|%o|05WYI8w{znV<`@>J)BZcXQeSZ5{KF8q!@Jk8hLY7ZSst7=l5A3qUo zI4LH!VFE7=7CC6KGCg-m*8+2f-PjqCMn|GR;|Tid&^d#sr!Wbl>B;`+rJ_0*zP6AU zLqpo}$ig{#eDLvn;48rpooWNoj{4=E3}lDo(SUc4EeG8_xgzxM0NL8rMzcOKxf&l$ z7P`#zNPlNjEA>y8om*Q^F!_3}F5zv1bdq`ZtOG-cz8%)@m5kT+f}YEFJ%DqMF)MOQ z9wz6>W+G(vb@2m?Uf`z?4c3zr`-~Ab%ydkx+%bO@x_J!bTy^Bh(^Jb_>~^WbmZc2X zvXtFqDJiQ>S*Wtd(hrPHLm98@oZBFSh4P2e34a|di<}!(HGrK*z&;o-oud3*&&yWz ztY{|XT_W*}FLIg58t{MdaHIQgYYfKVX6A05lnO^({NkQ>^yXuoM05q_Sisi~y9QN& ziq0!bKUV&WQtP3bR%;`++8>e39I?zj_#*~+@Hf~3LK{CAIEk?$*f*!dW99t$)h#Qe zL4Q0WS85qJq19S`F-2FDlwa)5H}!b28?*9wv1=K40HDk8UhGO)iP^aQP@~cxqLuz& zSNcPs(jNkqKK;l1N}v8CR_W7!Sd{{xTj|q(*p(V0eX&clCda~L{2()aa5J9%Lmt}y z5!kCUvpB-(Ut&*q6=b+bm8xm6_Qt8x5`Wba&xDG}a80YGjv~yKldh)GO;b z4Y`%{r6j3*G~JmU*>X*VSi^lmZzXTbQ&B!S%BLWJ%YdTN8J3GG$+8eLFSIL3L`-=d zAja2q32}ZmANTv8x|>UpZaOX5o((>AOK#N}aA5x-4#3mDlvJoz^rsRE{|(G+)PFG8 zvSGj9PKGmx4?oJ<$sgII@B~F9bn)*4D|v`iC;qjQDS*HD*G>k+A|3uX3KN-AOVne< zy>4FN!-ZBDA!hI=Q;fh$E1#Ke&;o2HT^-j=`bgI8lo~5DB*R&46L>ZLrf}M?FFE() zVzXJu>X$1t_m#xlcg1CxCd$(jW`8n8iz!bvovC6*N(nP^wKQyMj4Uk^{$2Rc>mUy@ ztMcE5V_lvHy>|JJ>M1;YaZAeShWA?vG4A~$H4>@99$`@;CCN@s|xi`AI#Vy$R9q4 zF*J}r0*Cv+ss1zG1hY%r*e##Uxr~)b=qAnM+jIAeD7TJsDaQ`_(^)Q5+@jflWa1$H zJzvBS))9M-2l=>u$0AnlwJc}BLY5n~SGVit&0aAoZFh!B1N?|xZGRf9f!V!^{!7bO z@y%P=BjtoA+v6QT)cM0*Vz$L;IQ`0j2WF#ZqdWHOdET{`@?Y?>d-EpVeYDqrjGAdX zIl>oB`?1+y;EGobppZu(UTU6stSk)iB_!2gOBN8^n4FGNy>C0NQQ~JCpgGitF-5o2 z7&r0B(R!E>1_UHsk$-B(##QeA($Lq0r)6Qj>}XmPXf_Zfi;&Rk!pBfQdsU8wf6?yT z%rdx&7>h}8fGPQlksVg=ZM=(^U|Dp^oPmPOtR___?nf1qZMKMKn2uffe~9!Y{&lvC zp+k378ZfW$&71FC+ed(uP4dw|v?&hIv_^>S8%;eJ=w#YzIe!&HwJ+dF<=Ry*;KWiP zW7O{e2pGq8_v~Xrr!Cne`ex8rO`1lAGi^(@R?Dq|8wsddG+R`R$kmZpi&g$`K*YdE zU1RFX0`IjcC6P-Y8>W&#)Gt@qPy-|-4)rq(#tZ>?%2&sO4DsOlt>i;>jRB&3;_<*< zEwYZ)c9IS}?|)vEY3AF}8>EOW9VlN|uiAPa)wpy}+yBzK%;))p1z8t^7C3&@z4-)HXur zO|}s1WMa?vWuV8-0L?w{&s7;PAbOU-RMWHuLJ29DrzfS^s*qM(O4K&@evYw2Z?!ys zd$Ta@C4VaUSbjWRTYRLh;&og-oYyd<$H6hM$00r{Z2K}y>#-&^%WzUydk`tWlNwV1_siVeIN;j8E&qkq{#1rqhJeouYvzJT#r$TZ3!4!E886y2*0lrro>S zl3}>_lJ_0t$&(qf9g3m;zUw6>2X%QazRvd9XZgA&c^?cVKAILpAv zAAff*JI`0yU@aEhv3F5fwd8QHTZZTB7zK%iw@X>xY??B`0fjmVMzcYCH+&qzh;jpa za0?z8lQcrLw2eCX()wgIlF;kG0ITFLbbsiR)dxiuBPmpn#3hBDuj6caMRCd_WF<$z z(^(72QAdOc{y402D=&NL#67@anp;C(gUW9Xs(uhvRV+4!M0Xn6$dAD=2(?_A84IpB z1OqyA20n5}xT3v*!Gok{gM2*Bd@O&n=g2#=FOybT!0JdaE6{tU&4188!`(9WUo7FP6E!}!2qAajO0niM2m{;2DD|ZQ z*-If4K$E&5p+JGyrvyhpz|wMgb%VN+ZI5SQiz=DMT(d8ituP=y{2k3_uuf_%9H>MM zkpNj082QW6A%Ys-16T9;c-@m}z`S7YuwBP_v~tvrFEMD92vZATNPjC*V=DCF zI5H7{IP}z(HygDl$S^>xl2{skb+Xm%zIVAVmj*u{ZwDAALmy86Tr6`i_1NCPH}}8n zjoD9wnXOV4$OUJ@C!0OaB(mtX+Tld>!1D%`QilV(9tBcMZ0C6F$%E#~NfFs=AD6F($+MwSVrN`**&(eeceF-p0;RF`X7e0$J8D-}zXi)x3Nb3*PU7 zlqW?$Yu>wi_x9aZ0BuE?RsKwwG^mD$c|CJMmi#5G*-Z5|b=NWTUd)B(5+{3Vn?=I{ zJsj`Z}3DKK;?ETnyo6n@udHOF&aiWq zzstqRD^CT*oUFjFm2G&8yErVyz|cU^<2F5iU)^q##Wzk2wB-cYGOR!a=7P6RlTGUS z@t`Os%@4^+BJivy%TD6*xgUYcX{zYT^*0q3$T{rbdRop~Zht?TqJ@7IP%Vf~A^wH$ zUSsVzsA|qaj;CJc=P+*kN_{({tolhY9L}aFb9)Zdkg)1*Nw1~P^lR-e%`~|^8=Khx zoNDH?V}R;dj?G@+NgE~2zLV&yR-EQ(y^53W5?Zjb%Iq%^v)iF~n>eHsTqu0Eo#mDE ziKMFQcG>yv)_<1|D}GIjExI_Y@wAqP(`zBc^>J^42Zi3ZlVRaqrMM-0Vs%8kzS`{Q zi<61liTKw}9wO@&|2mT2u&90KVG5hW7as-|6Pzc{U(rr)JHbWg1u)o>!)m3$5L-b~ z3U6NMK=pkIqpG}_8CQl2>`YdY15TKvCV$po<@(z9N>BUV$r3XrJrN35 zOmt^Xo^GAguYXrv#HV*Y!*Q2&T?Tsn$H;|a9sZlgXxT1CuKSektl*);px($pBrMLR z!!3tOLo^I%k^F`Xu_0E_1ZrEo&@0#i<9cLAQP}@x|C?6u+-%p*ue`5Nxpnismnah| ztY;y$*?-X0n*oZGS?GSBn)~lb?<>OaxD>BPU?MWsj2+Zy(S%SMI@s@{DzZz{igB0WtzN$1? zU(!yh&L!t%Y^qe5ryr)7UjwCv;MHws@VX=n{eLUP_w!5qN>SpxQu4YYq`Y?p4yCP~ zuU(!maC|xoGnsz)d?b?cbTkc>>gZgryxx!li|VTre&)SsR!{KxX_5_QeZ98i&q}f7 zWg%n??ADxE$`UXZP+4YMQI&NOR~sfXr1FCWb^iMd#jiO{0jMTcwCe1GC@)ctKto?1 z_jq5rdE(vf!a|5hT)ToHe_oo^ zh11`}cWUFFd-Td*iy@E;f=W|%yf|X_qJIQzOTt6DJMIT3|6ck{HYA8{4TA7ikSL~z zqQ(n_7He?_n{{_m47a^S76|u4gPC5Y^ubd|PB=J)^nda$Wk)s3-Y5fs>-*H%+ zKZaLXQTM(JtSFXv=U&x{;_F1M4E8RdKUFYhPXkZ#Xu^H^d&hc0@DeZZ$Y)>z41Y5D z_S@uqVa91aNEn`hV5LYfZjJN#sTzjtcQsng4{9Yf&lg~{YN&vt#JHJD=xB`2xruG7 zKHtNeGbDAYzY_DQzfwF0VBVHi^SvHKQBlQe@@kC}NhS00F<)Vw-V1DeEbaEyJQ6)V z3ubd6DnOgMx&94?h(0p~fG84NAbrXLHynQu)L~D+X7DM)oR1;igHy|+P zl&_^;9!E%YLFzyBjI#hgYQrWF{nG&>A&6k;y9Z!3RR0WAXE3Q>E)Zi2`#k7SsAYzh zl|iLN+qU64gVR49Fu5tpn~dKTh^;L$5P`(28lotr>YuLd1iUK!&UqkfRDZOS^Q>$q z@7jqmeU_`@omfN3Fxdo%=5X)b0a$E|%qs@)SEHI1s2O{cPf!0RJFg0t$4#u!zcC5B zHd6K0qJ@=xnwGE5Mn6r!mSqZ3-C)ohiVn0~Ndmnao5#&}EoywdkTw!XE+;c{&*XjH ztE0DBkH;tSGcG%WD=W*_`hOvu^ODRfxzogz8Q5?I#)8pAyFQXwpj`XHhYj?&&c z!6d~x9F7NBqV%Eq(bbOAU)NQeIw+mB_YT?#bWaV5(&mNT#Y4{GW-ubo;sF1lBuE}u z%nmCic8!EbJi{nsLw`TY7&VIK)`>6nQTKtfVdG-%&h&8(7Zlb^S8O&`>^8$Z2#E;@ z`SEk`k)7GmH82nh=QSX*a9Yb7)}}Si6*2NE<5>(GTA&3j7rzibGG7xLUgiCXV zBs##_MuIrI@My1)V^sB{IZwW_3&23)R}^JFaX$*l-|}O9Wq)Ia=O_;ZrNu;)ZvEJ@ zDzBz%x{qKIDz6(CavD}qz6{Vc==-=xucM@z_Hq~BV|}faY?xtmz$O~WgmBn~=Qff^ z##Lqh<6_X)p=4|EMX(^RTCx`3l)9rH?Dn~ON5o_dFrtwk_R`sT0Bkww!hZ9J0$MIF zJ2E>}fgvdKgMU_2{0s{1MibHN)#My7LW8e;gjA5vY~+V-F@po6B1h;7gJVbD6{C|L z4ZK4sPyavYM7`ME|EIc{uX)#gc{}Cny=7nc-h44AO(6`97igFQb!4wVYa1yIMnin;OD$+TKRP*#!yZib2*kx9US4Oz#4MzcN>C;m(? zEG)v~Xdn(B_xm~DAow7uyjWS$gSVk_kRB@|DLpnJ;WD#y5G*6oV`ZL>`bDS=q{qr^ zi*s`BZGV}(v<(sG*N4yYNjVL3?GENulzov#i$c~_Eu6A5P=Z+8W;QyTq~mr1|GMWG z%1a;u0(^O3Wy&m_VfdQNsdd5$6xX%ZLcp39cVkwlM>GJE5YaG;QmQRKr2k0Uqh=&s z7I}M+KJ(iBEOsypg3Yyc0$ADT_@)&EkA?4;Yk!JS3G4^2}R?{sbia?_xK}gicw;ZU>@l)-Td1lN0lPb!?)qEU|n^8|f>Y z+kd15hkuD2fD7#Im>${Lsf@R)QxSJZU+@(9Un%bTr8pxYh4|Rwr}$57E5Fd0|5Mn^ zD<*4e14ZIC$dsrpq(2i^wv<3nkiI?evIjDA;Ac%_*2Iw=bzU9OF@#_`NnzW`4m~6_ zgN~!5AxCANEEkfU6cDt{M#f~+o89m4R)0%#f#A9HY(_;C^JBsr3cA(|?1!CNQR-{I z6<16?;h0;S4~6H|GwpZ5!WRx+_X@(y#161&oLMBP9oVccto^_xU%i3W{*S9 zD%2sru`}TqbfU0Og`|^ud<;G{>@&TGi}{pns3oqA0pc0nzsqK_Py$s!BSkT}r^jy^VAy`c3enwrq zOuuxz5(yFMn3H*Veg1!3RFvHa4ewS^Fv|;%cL?CK=$2n($2B6L0MwNtpa6o)L_pyc z2hd7LfRg7q76IjTesWr)ZwPj!&LM`&^vBr)!JK6PY@O^8I3wbNnh|Gsx@swBdQINnE=fiYCGm@7?*_@p+E&=#te! zlM$aT9Vh40(TL&5Y=0g<8MQDD*+6#eKlm%diiIB)q5;PZ^v~LEJYjP{2uabsUDI_f0Gd4S#CK&}Lwv)c-0S>X@?? z!;l(5CSQk|;zjz0*K|m`vXjzfpITT%ZSZNIWw>mV^e>>Q__t6#d=B@q>o!uW|G>tg z#%a?mtk~@?3gQVwnJhr#wNup8R#Fb~KAYF9TFs%lZ)m{pxU ze(AW$hJUyf+(n~pxYQmR={#~d{|1Ox9TeI^?HT09)5qPW*9F!+9V|fCU|TO~`du(; zggr&jkhLc3wzMY-+9jGQy};;Xa};T6%qsAzF&?P8sL7<^>FzAfGmH#}d$4BQ*321- zan)=L*d?x@@Zc8k8G|i2aCnC&I6?!5WC;$aGk>`IcHoK_c0KnRy-vBN9dwQe0;J^J z{w^Yd{7Dzg>+okzfT&59+7_adtRgs+UzGs2!bb;d!BOq!$L9@3XY&G4@rKM3f6x;Q z5I1#uxQbpU3Xo~1oC>+c%0<-E;42NWaXXvj{tf;0bcVN9{PkPoI68UAY#)gN|q&o$WcQ|-4?V6WwG~PCh z%WRM(@|hR)vZ%%2W|$@+=J4!h%VR$dYSRZldN9XQ<}@K}7r{ND20QJFMF#f5$Dze}5f` zVNlK0!)g`bbmXvK9!bV(^}Y-#VnmJHBGAL-c8Mup(y20>`2v8o+L%*Ve5*eeF^j90)u4FGd~tkS2I5r2rgxQ%qk9` zRp!S6ig*Gy&)q6U+5D~n)Rnph2!AfqHC}PNYXIeU4cF`I%zjV-6Ia{GG|dMhZ`+MU zLix!Cl{Q_$OjQWZdh)9y9W=JCRAg96Gu5F=#hhFuuHM2@l2(e{u74k@ z@FvAjQcC!`PknsfOHpc$xozmVK6{!CvDLMIvv{`P7`@JuL0Xo|vAf$fkAFn1YR_(# zdZ*ItHf|Le8qveUe&H(U)WE(MBWh`#K{NGikdMb%Uma>!z~MQyZf4Xc zt{+sNv(p^B-ETDKHr8r1yfk83f(I9fcN-6y=R5ubH>#*cSG9)6R_6C#9hncy+_syC z=N~XHu5KfI)YN$o0P>Gdmw)kYR*=6_XYkF$`Bh%ql2|piplfS-NvxU|^VYs&OJaTy z1Ko5n<~Rbu%wQ2;7sZizi7_MFutq?!GQO4+1-sZI*3QhnRZy|CZ&kZ13wkVSp-jC$ znM}pY2|)dFfYk0lK-OO2sI2u?!L-&ojS2J-B4Cnz1;ke`;xBqNn}5b@vNGePz1n2* z|3yRC|7hRduid9_K>ZYSFFy6a!~ zwW6;AT;oR%K{>5Cc&o1VC;MFuoUKH9`un^{O;3N1n1<^ac>23oL~}y5d8p5;RX7T9 z_Pc6k^MgLHpQ~>WbjyS6YS69*4Mf+nkAffLVXlfvKRk9~cYm2TcmibJ=m`+mr>Zq8 zvXGobg<1?dhNn|C$=`OzxR&lpGozGCy4Ag6I8G&K&iiFO#6TIW5ho4sp8*qN@U>x zG=BqGOimL^2H$Q`VxqVC-dg&U#NUlmfA}n^%8}2`U!pUiYhXw1T3q&VhnK)Vk5HM1u|E(VQ=KId8g1|3CWQ3R)j{$;v!3|cT;ebD zzU9J}4TpcPv)&;YL(MgUiD1~-4Hw!hj09(=_kb)yr?(M3 z>tsKLo)=<)lhUyw%*y*+U9`#;- ztA>ArBv;I30&yVmihArl<~|$us{GT}H$Iases%N~41RInQ7sJSeP+=v)P^g`5p{Tf zO`qg{&oTT@7GM8e15_KEJuC$Pn9nZ#J3aj#aPTHg)!ugu<`h;PhIb%=u4y z1m}~8nUV({5)Wi7qH=?&X>R$tI6M5Y7#4pgf@c>qeG*2iOOe-Md6ySd2SxF2<_Vf+ zL3Jjx(X-K=CflhFsmwk&x-k*Ze)W*&fCf>TTDn?7jY_nDzB>RI;L4GMFfF=MMz_f? zr$RarynZ$nqd&Qn!T)FGiC^RhYpHtm)WvAKU_ z>tG_1a}wS2!4$fz!`YZaf=c%#dz)-3Y3j-rE0b(INF610*^L{hlxtO{Ddp{uWlDKl zRU=Th6M@2<3*|R+ln6BL@nG<|+J|q*WG7EQj72Rvb!BgPe}83Pe15xmYiYC7Y+dZ_ z?;rg6@nGeoEyfpeZhpJ}O$&aU;9q~}WQB!`n2|wNmdjb$OUGHg(I|!JY#TC{*|=gP z{DF`-uv}$TZ;O27#ZoEbb$tj__JPotKvxm-lpS0M=vJll02P^Ef|0w8Sd@`3_zEG` zcKDO@8V)o>W?k_*_2$jd%w1Rkl1Vl;Hh{#x2`X>^g=B1q&dD|l*x`OA!)1S$K%g$G zgfy2EOA2*BRr04MvRlc?pg2kgrD{?;`TNeRm&vV_AaU`vMYmx)iv3q#4+2uNRfv2! z3;t#onr6Got*lq{v!7o-7abiJqYORo`d;D#zvRb4U8>_k>Fv9JaH5 zp6*hw!akCYZJRDBAH09z2(I`vl}6>#oX#Lh(Ldeui_@Zg{xA8f-8PoxFiV>b#;DE={RzRc0YGPRqqjL*>SUx*DTNc9UaCtTvWNI}!gC51VZ$Ba6 zX2;P$FTBE#7@fJuQ81MMIp$I6^$tO=w}2KIdFkI~$H&>^5So8oI%Rck2Xh1WcFufO zu+&S+&+{oX3?C9a1Jk2RzsZgcw_a@@ZWX=RFf(CgM0!W0cT~Dt=9$>n5C0}a2wngZ zJCNu?|L>2lanPVSynsmWsPsziiF5M*<@ol)oUj-g^hyCgHI~an{q&j;mq|3JEe1fJ z<>=1oE?=y~NFD&JY09l{yXxF4J9JalDfN<#&H=T7+eIu4M26ec0nQCpwEc z@;8IKdM7I6g*xN41-f;OEdWWeiXBFb9pv#wjcTblqrzn4m|*5v2jhf{VLY7-+)r7;K{ z#2z0XzfFHXbY5q_&$4p*x1!IjVZ)hUhf3fI24M?|(qA@K;Mbt4c--q{;~KIV!Cg(v zMiiHlv8~E01Z;%!xj9^(h}AC%V@^*Q@RhpD@LZi%QgOEmiF;Mjye6e zz&}sOL95D78+x#^cUId!#)sQN;t#kEWKvITAgX_@&`~SJ-)wX?Q95XI&UaODt-y6e zg`mJl=Swxg8qRPdtk8`%y80Ip_MRu#1KmWd-7_~4>LP-r-M(GtB7*C2)8REyfY_=r zS8k(MolUw)79h*CAzttNg!tg~%uhEkKkQ+QwR-d8$eD6rQOGn~hXG)tNl-4IHK10b z3D|$<5=^Tunk6;q;+vC+LrJ+xiVn+kytc~ht4HmE8^hh=nYI;ixUOrJV@v-&s%Mj8 zcn!#a>%2Oij{)EWAy*(uPwL>2mapSUF)ffEP78IANe2U2rc;VjQ`Y>hoh*0#7Xf9j zeOv77n5PU@nAHvbyc^pFo!9)l;ea*!^aFn^iQMtj^u{D8P0*tEU&D3Yb<|a`;Rt1Y znI~F#6D(QsYA#%tH}Cl*PpZ|urkH#Bxco!2dLC{P-Eexl$pt$1c|w~`O;jpe2T(N3 z__3He_Tvu+0L#0+6_6G}X+wqF;GqEA8aM+x}SRcm1&Y_Ko2CtcmoJbwSs=xO)&@rl=i7 zB}oUq0gLFu7j$37B#CNON7bSw-g$qWpPXt(IebBmZ4he}NB#hF>j?IkEznF>)N9v^ z>{vAm+u>*s=0(glBTHL=Gpp`CV*nlcbDrwjHQSr{9Rg$+&2P8r$+_MsC)^dwcGsps ztbU-&f%zQD=K8*^mwpJOn!D~yU0s&quJ~^KLX5SPxbUyD?n|$p3hog?5PE;|UN4ay zr>%3NB`e<;DCeSKYqyNATzySNf%NEk0zFsa7@1Gu0gbZWnlnB8@*TwKx;dWYq#`oz zU-ia77HumWwfldPP0KIe`>L+NScrZt(xZhsv}k)Pr@?AyEP4;rpl_(KLUbo;SUmp8WD` z#KNFi?XOMNUMFqh=C8au;I1IbAh(^~Ij_g^;ZtnON%mDO?xJv$KbMN-zmZX|dHvf# zrQlapa8&p;FFGn7QmT;HroIZCXVvDzNAx z!#`XJ{Qdnv4S`xbMX;%?wxUHI4NgHsT=S}Luq0(#4@8p*_!915bDGOF5UiPf9NVv<| zA5XNmO_El9z8JNVR{c{((&~4s8K1$9VH8kVnEz-PhqugG3v*V%f3;zk(uQ3|!}WRe z3;+IM%>REwf{=d&{$u*F)!>|)msX>*|9>)+xl^LnlaQCtKB@PslDQsQ3i9(fXX$sf zKB-?;tWU8cul^=+sPeQ`a&N5ggF|pE0A_m$dpN7PY1`uG6cpQFpJxH4@X)Sob)wcA zKvw7;8(BF0zkB;vchmKx7>4e;WOAs)(+|_kZxer|UejILf7Bhze`TPrLEr)%&_XV#gt!WG~iOe9WlFb%->F~cY;wO|5^Fa;qFdtBQK$gn~9p#;lVhn(K zqEtTcr6|E@%lTCU)aQ{(p{7qOk%szGR~mhyUO}|RP_d*Jd1)(@YFsia3X)~b#jH%% zT%dnx%ecf|FJaqjV~6SoP2LFWx~tcVk0saQ-*-dthAK5oDIJe9a~~-BVHg%_@S$FO zN%Q`l(2bluTk7E@LNqjjx*Q@;RBuNH2`!HcTO-&j#^;Ae^T>|C+{;ph^X9Zy9EvZ8 z5D8FX^g5*h`^5+;KOK}=9BPu4v%%EM*G+#ypg~cLn@57kBa`C=1P~k|0tz4Ayy;}- zx6TaidOzd$2(J7mS(>3ytEE$~Xw$ zu{a28DiFeVw@n~~)w&V0AyQ zCq?yw_12-gP*K&N!Hm!6dX@yQpB+|vkzh)CkF`4;;)ZwQT=P;5ITqCm5*J+|?A80# zN3%1@D@1Q|sb%#OZSf?!VSJd!DJypry*nQZMC}A%V;%LTgLS%8dx_g^vjOREyzP}b zqw|Ol$^6mbR0L?CqWFyAEiP+#ZPR}Z+iU|c_=_iCy2dhHxvA#%V5CbH8_=J!AjSxn zuap|B=?&PKu@PXq0(7s{v_})ix~WH8Lw5{1fzaEaJ2Ad5xaVLJLkWe_^(bA z|04avgNL+FarRtfl2GA#P`pqr4p4bpr>-yYv+3P zR-ul=r>5r0ZCqVV7LC0=tU4I_s@yztD;2 zOKZK5L_d?>s~Mnh`^;p$OyWIfTp5*i{_0WDHTh!kT4~n4Yy2|zX=LPc(!7;^goN#o znEe?A>`yI}US3T6uh62T7=lqXuW^EL@790REg_CcABA0S+&D64-0OJ_6jHZ&iN%Ap3S?Msw>(k z^SoV0KGIs;c}AKQ_Lo*PKdo%*`N}pJEy{#%L7h>|eACOkYLw_OC7H8qmaAWdWS{@YtA@Vn6R#T4 zB_DW~6r=(<0`cINPox4FH^-eIwBc@ga+2BlfoXbDdCa#ST%r#giOhQ{@J5pY+t}Dh zY=q9tMFYZA3{W7dSM><#wt25wm!G5pB?#3et6nz|=jQC^ zIQGOlevM^M?jAdz(juD@M!)!Wdzz~5cu=`o&y5>| z^_vI60N+T>HZZNDXM39xriKCT(m^nDL-zq{qh14obvjEc4)+nD+^&(y-OxP=xltD- zl6AUiHz3?q3F&tCKbI&(8@dWm8+8*9tkXqWakzT`<$s&3N|9=uryO#_DJtJpU1xTh z4Tw!lqDC3reR?+MYkWgzIow8Ff&P}7RhFtW8xzj!sErU#`D{B?G{_U zTen@mynmxxdKZ}f{5EGis;VY(U3e_iSwE`9*?+F2lY_0`>J5H5|Ig!>FJeMo<9osO z3G}lCJjNqU}2@6DfDd{N4m7dF)(IS?P0UYb6?3sL~8dt?N3IXyy#S zSPeB0P=f=g^+adV&8#7VH3;uJ2O;uH1N=)>@P9A2f(a=-@s&139|ttkoC0(oh0rR& z0`(}r@5O`gKCRe!+MNQC4RSDlAMYqOAF!-{Wby?ZK&)|uAjjz^eCH*7pUL6(yT#;n z?q_%D?_b-ECC6f_H0})KQ0C-QB?I%0mWk(oy}-BA3w-2Br^rDy{0bjaZ|k_5<3V*G zhJS|Z3k_Jr(@+sK;%TS`JmN8>2p;j6QV`D{=7A%T4qD)%To%4EnaEq;v%AIRy~Ow7 z(;hk!u&;};1<6v{nPgw(RX&{-=20Y>|NVoGd?s-rKo2_0;IRejhfpniWQrg%nr-_Q%S^uD7@+j> zy=;o`KsKAE0bd!|UTJK0M0lAMd@j@l*xz!u!6LTfi0y(Xe&;QRWZM&>?JnQ6yacg^ za?AKsAS>J#!zCSJhyC~jm}q~Kc4-Hw^8(%ICq4jWjv<-lX4|_4-LqQu)_^iZ9Df9) zGrC2er|R2p|D?B2$^@%@V?^q|;Q6VC^k@u;XX)97h&x8Y40krZl!dIWnN-}w{9*Ua zkh`jSC3{th3#`bYfK^IFyha4;Htrgnfa!xFT%v+SW=uYTm3aj>Q8lWX2|Ihl0HzD3 zFkrJ~(bW;lKk+|9v<`NCufu~YN`H~fisdptD~w{!Jpy$;&Kqm{`+BlJhkw1>3{$SI zd;Z^E1!fxJa8*^4!nBO2Xm2VzDy0M5@h^8QB{^6{gr^wt&?8v~v}eZCV+Wmo`QNKC z@CvgX|9$PbW$WI^Ux3Mr_}rRsb?l;p$B{(2=GtB)Yv>&>U%h$y^2KqpHGfS2hTg4X=)@tfwBFrZK?SeDTO1hs2tiEhn5J%0FObJYM9svGi*$~mxI zJEXeRzj}F`&~tzaRS$Va^&Hr)9#TEkzfGzAZMgEcR^4xXRloJr{Nv+ikKa5_@Mb`` zQ2jjDXo4(Yw}Pj;4SDnW;eVrqb|6@&8JKCbLV(+iz+|@#k6ylb@%T}~Pzb>=*i^%XW#p{=^o;-b#FfAlxkUd1c$s?+e!zd!h-=tR$-#q#$txX6TYZL-FtrEq2 z&B83VUC;mi=;gEKHX&H3J(y{=LlB=Xa-;arKKLx41VxB`T5VP-1DUj0{?T(ABs zu{BH}2OGok(y)Ly3t@r0G%Q>!hVby*#4(GGS8%LaMr!-%&3~I$nUHqEFYKm!6Nsc8 z9wj-3k$}l;uLwtD)VfgMpRN|HAalD~@b-FLQ-<5_07`m-9f9uVGzbbt$d=nJoyEl+ zNg4OEX4!Hb|yM8sa;Ka zYy#C%O(4M@5`RiBlNwCSQUKBV9BmEEKHe0eZIQA#sj#Tjg>)w8aL7~&g3go^0J4b& zL0V5*?rF8j74oVTO|uFh_Xz_pe6_MQ%ZXz+_4|Qk!6FmIwq99T8=8RM(I|Q%h91ez zAW579X-yeqXeJv=9?GiJ!;CgZeS8yeD zZ05 zva>Aer+>2<_^^V}emE`iiu`7|Zzi*%T-72^{ObJWJAvn4%X3((zy0|pyg$VL+`Ef^ zZXOC4uiS!xc{m;$gQCWS&FhCuLQj5UTRFa=V`J07m%1_zfetUvU%dg_!T(6P1kK^! z9x^HR;o?KixHn%cs`BGxhR)tu=jWnROec&Pi+@WvKO7dF5A6TtYC7tuYu8K>Dj+l# zBQ8{o12rB`h7$&V)mi2jMaHWcF}h-^3o~u6dVeKI-aP46HU zLL%+d(|wg!P$(DZ0pu^=als<3#;+gqfnuU)1;=y`bmp6%UcdZVWa7vfxsT9H!E+z+ zd)_4X_`hB}l89l@jLe537cz0=jNBi5$w;y&a|8RTU_JcFI}&^*rWx>If=2(^J;r7j|2A!qIu8W$T6DMlt|xo{+U;ka<%M`&C9aG1b-U} z3MK%HYQYu~lrn^2;E+nupTEK)7CnX%et$ciESYEp`NlSJ!;7UZ{QB|n+vkc^Ul+^O ztPsU{;d(M>qLH!7WI3!Rv&o!EY}O%y;MwDc$Bz{PHl>yV14ZzG36RdIn8ss20JoofV`j*Ut?PN?RSF>&bYoDvp$wq+0Kj>V7)~>Ecx(KV) zoUM~xSQ!b~sjm#G0mPpCNq>38SoL>^+T=HB^YH-9pir0M1=52Ky~7!4Evzx!X)y-g z0>_JkPPFZUCMS_o&L?itp_x3$s}2a=iM|iCLcwM?0*cl3a<*Dfh-Ew z@48q;&wv|M`DD)hE@be0HECo^5ys>!-1C4eB19pmtS2qRdk5HyKe3I!eaQzhzWw%r z$+!%;=o$9q-Q?ph282pw5PaSl*@`l7Ct5QqbPUZKi;I6tbf6noxSiO4s)2NhkqHQD$bZnR#bFY5vONl z$7l!=H6o34KBi_&3YD|Pw5W@&MI%--ECBa$LLQiT=lOgzHJiYn1W9p$_Iem&@2z<( z#;SnU33|R`J^IA~`edbiGRC#%cAMjoq%rcbAqJ`Fl$tCtzFhOvgMW@QQJcvK0}dD-@v1GErt_Eh%dkr*;z;ZO$GB?b87o9#(2xJhung%! z0&k>phvEWVxrb9ay8B*E;!*+TYBpJdlc;Lgpa0y!+m+z z*0YS9P|wKVdlpLl8J;?lIf&VwTEr>AC};5z+bVUD-&J7u$(h8{9B4Gp%+B-W%MbHc zRmo&(eZ}-FZ|hYLEm@{>SxL9WO|A8bYLaCMYyRi z6CyCuk|$EBD`~iVckxS?ud@Omf8)2uuO7en5qI4%1W@33wS-r0i_t*`{(_>Bcm7pQ z=ENxb=;ezyPhY$hW{Wdn=GmH&Er=m!WQ;@XTZ%1Xh%{7 zPbc${T>=ax&%i!*h$Vi)#j~?0Yhe?F8wy~P10v&z&;%^<^KjvG!+Ic5O z11sOYvxNzEHK6Q}g0COHdHecBM-)85f^S$$;nW49U7@joE#^zXh{edD)bm$x;LAIE zTNQ>zmyNUnIDdw;$l<6TI?sga9Bf|D_KfOMj1+HJL2Ghay+5tk{_DI`j&bx1J~NO( z4qiZ3JQv2fDB-Mup+tLAv8-{rI`~E1RyD;!4i%%%gAQlu;jmaP$Ezvk8+s%J;}!6D zqKb1yu#yd|%wH7vA*G>$F#2|k9K!lDRd_tI2G&4UP& zLtwiu@abS$*0RGU3NiTcLl!(nsET2ESyWe9=P~^0{0gSZUttokjaEr;);zo~TG?b{ ze^p)mm5&OZy1*F_SfIcHR)et-cAktqCaf(>f^m6{hcTyx2-w0{lC=s>f$)@<%?CMy zu`4K04S&k0-uYy5QGBf7uFs)>;Zcrt43JY4_NKP92(3v{lk3DrVg|RYGRYH z^YeK@QGUQFTfo_iG@|Ci-&T_)o_ut)Q4`IP1)pme3=c;bmN}L~5W=XiEVlhDBxDKJ zO(_RVK9DCZS|=r_9>Y`y3Eep>V7zf9WP6rn34b+QLFb@nRRI>sk%1UWv4z>$MnU>g zPYOdS@Ewh|G1x5u%O{Vz1Y`FrlOn&eLX1{yKw0BJ7IE@28kiDDNnwJL6)LBfuo^L{ z&Q?qo49^S3SM_<$X**?=O%W@j9V7c>#HvA7gb7;?z3$`l`S7+xm9u8{e` zNDLQjNCR2XMODJN<){OK{1j#p8{1!J`9;C>n_oLKXgurx965&Z@u~(M2AnW)0dY=8 z#aQB08}l)+v!YSw15COpw_gv@rZy$aLVvA(T_pKyzB;%@soCN{%-sVyOjpJh1a|wfUY4>Ms1W z)izKcg|rq9Hy*9gE9d#=Q>U1+76ywT?(D>U&{ZxG0$^a{HGiJ6fxocmrb)wfuYdb) z&*(M~d++I-A|h9$oQ8@e_9w)>@0?kZ=Rlz7#J=dYK`W z=#t%Rc2ta9EHYm_d@StYLhcp3hO5&#kD!8N%lLdCe4q41*@Yx+640#HL zUFU~AnhFPX9dKhn(*sDdG#Lu2cn?yUdY%&85k{cm7ISHOJkLl>c zt4y3lq*%*fM_&IM(`w4)5>M;#Oj_<=^s;|i)E^3_i*eMb7|cgOlu~;*0DtB3gYcnZ zm@S=55{zk8OEy5$AU=GbF!N`}D9;a*f`-Bf{R1PAI42~iWJCW`_M#C?QxfeD1@7=9 z`%HySlIovlYN2yecxp8*!fHZ=#anDi4$XSl9B}4E2I03nk>692^BXkN~RN&$&nQ7@D5ctldvUM zha}-~*Q)FP{x4Tn*k6yqASC|834=x>Dwj5Rp;?d6Qtc?D$~5)8l6;x+uGAl8hoWGv z>>+|!gAJVNqWAj(%Dd&quKip{3%0Q7i&L<EFjR z+a!qj3uZ(Uo`0ZlHxTndAYLlUwQzbV$Ut6+&@1JtL>-USwMQ)9oPc1t)M8&xo4CTNG>}dTmU> z9g*Js;D6nk12P5V*_N>h@+!f)$71A=Z5VSQZ?Q&COR%;r{c9SmMljSv#;s>~J|4i& zcpMf+p;3Yyo4^%TI0mLScJP+1(h$AmFy+$sS`-<_&;KXl6PLEu_*R?4s3TvB!&Fo} zP_u!@EP%cX(mlqQop^HZK}dWD$hN<=R!3pV!R<16O}qJ(d>cm@|u+`8&TFXPR&)ErHsURTe0 z?*f&me%aM>A@9|$(rQesM|qTWeFD0%E;nf$+}Oe=H2b(sMP4raav7gkEu)H45*^$F z+JA(lxy31Ew1rAtk1BRPn~Bd0xT){rKwIqat$v$sxaf5h@NmYwL>FA`q9ngDIe`e? zUHp=XG*6es<1C471 z;%=+N1|+u#%#$w=YN(Zj|ImNvH<~??!fPJ-5>k?3Op|R4#8G) zJ~ku059Ee3WiZoLFBk}W<>8K2b85=sEi{cB4P+uKfa3@QR1?(Rh;R`7W(6TG!1t=i zc`K#%kt=sWwiHuOI^KK7!Y2^onXIB^dAckruo-bzP4ojBf%h36jeN@}^6fYu`hPTN zJfRKtF*NMS8$KT=SU{eGUT$TUPR1=Ax?G{heM`7M!hK(T-WzY8JDlW>7;vQT`fZRE zxCNg#{d;0Bb*LVcd;zJ4S%#Q%P62#v`(#sq{zU)Li8w^$4yM+!F1zo(=IuO5f|UL zG=4)FLgxEU!rex^nA?20@w>k;xsAaz{_3UN;PM%e5Y)$C`$AZE z;zcD=Z;Tva(EA7qwLL;%N0A136kD|;_L~-c{Nz?)I->{f$XQ%08r<&G+kaN?Uvu?d z#sf$_5O>yIt?maDX`=<%>tTRUP#T>#x1 zo&obt1dBaioUhK6PH1Ev;>pm44sM(B{F~9;Je>q|rV)-2pZuU#(F#;4H;qA{}uwu3mg(eE01iT|! zSA}^S%(;f>T%@eZQrw~h&q;2Ubn!2WC#drwp$p`5nr1%npr`> z;&d??8A|80EEo41t~WJYPx9XCP(Ep{s;d0D4pGeEAbR8wuUQ0{5I$0FnNYk&1jln7ls6aH_luAS)=WcTL}Upa;w z?56)}Q2-0ZfV}S}dvCG@?nZepMsZ(Q-?b>KdxBCPKQ*I2HVxhWm`giRucA{W!9w60 zV~Do6niDC{MK-@cy2P{6d^%yv@vm6*ujDZF-{AHvt^o#{UQFEJMju=%AqFEIj|3iI zk$=YkSMc?(e|5%2#Mt2WA^js7kILBqU^$;s3=1G$QC4vw@fz~-fSQa?SEsPr;SJr@ zLd{U+#Xyjk6T$){9;}_!Id@EOSE@k#9*e@_w9j+JMewdAF?^gPAU!yjRl))`e+~P$ zOSnTmLjMD)k$uRo_&J8q|HztgAZ+`yBA+iUWQuE{3*!~sV^@I~oF2qiIwo(ZYi`IE z+0eT;v_bMlI?|R;9&nK2x6kS*%Sd%p@os1wBy8Mjo=*+_~KAh)l_7$f4Ak_Zy z$Cvk+N;@krc_@qj@X-KNu0I7;f3D_kN}UgJ1#~`l5lr#TlC3kG^m$_6?+6gQ;HA_G z+tWFw81TBGm20j1?wTzpy6A)3nu=r(+-%!9P{s+;zJY4PC0y-6;R?AD^L@;})%srL z)ue#)Rp}6y pgGWmYoS{aErd`jSke>W=!4F!*5-3hu{Hi@!D!aH_e?90ZW&#rb zhooWWz9jZRy7hj|Aaoa@Aatm@2Az4-rp5>fNG*C~!m8c4^Q=#7QV69!U6#Cd95Ka7VF4RSpa8BzDT?8P2jL zpOZ4gi*v&4ZDcr9gA`gsfACoXk9DGFr?GzcWT2jwzFQ_~vdr0NY%IxQ6g6lGF7jID z3IAnRCYhru12{^(kWt1NX&VSg8a&Kv-0nU#xIr|Y>(6kjgc}|{kXs;@XSRcIJgJs7 zFX->>pJE+Br;Qj;1=b z&73ci{N5Ug&!oZu;I@%Fas!}r$@T^VU`S=4K@pfqUgQ;{?Z}1TdS+4o>v|@x_HMqO zaYSGIdX`{kvDN)JwL{i3KS`sOvxwa+)yGIoMo%Pbhnc-L+-8=y<48kzGuN6d(hvQ6 z|Bh+Y5WoXIKh+P5f4LfcZ`6^6ZCK$O;N|L+NuQeAUf^bgV|&3xg<$)Y8{K~umYL4e zxd?5D_+Z!VqF9OR1HYae{@Phi%bMWB^DAK;!#p%~&Dc&;JcWW)pmU>I#W8;2fkH{J zAp+K#UvZuKRWy&^S6lMqv1f07MW4uDaZ~jxN@(E+`hii3e;~s+dTf2;(i+!L9Uc)E zXmGd{5%A!)2>^eaFPG(Tg5A$L4{6XoR?)BAH{e%(d#^q(mxVew!K&DH za`RTN#O9VxZoTF4w1W_I0&kQFT~^GQ(3KOhON*M76ijGhaOcj1@Kd2f^N!j#YQGqR zl+oSypkd02YQ4PLys?W0O$u-0WU>oN~Wjyisf^|CAujr8 zQ>taDgscDZEJ7)o>U2CO9*ct*Wt6!8F2ybWbdHSaD=T)mBj2tHUQfjKmsH0BD1U=E zl90wy_O5X--rBS~~K}_b{8Bo&BTbyd%n*l<|WB{xLNK$bZFm!Bwt! zXBA>o_XrSwF5Cjbz^xRD2T8S{Fj^Lc!k5EsD4-ez;?Ia%Ko4ywd>Gt@f`C2-kcf<7 z0`Y(|6b_&GwvoX$#b|u-TgL%9e*6y#!v+rCq&8umKYV4u@F#?f{=p91hMLwECboYy znvFX@3G;-!Y=`YttOL3F7k>p&PmLmo{6!#$3;`i-NE8kwxRwE9G5v62@o`aB5H4;3 zZ1%n4I6E76UEHnwd(Ck+6vix*P>*0WQ5&_8W5WP7X=rxwAp-Rj>iFIJZ#ZXWEaUw*U|jMf;)QjnN8JJI3hb(#@4tcLlVx2^ zhV}bzEIO>_%Y0nCDk?S+XKE(IxLhc%pWJr7MOZ_N3%K{!0 zJD=1BI3%P>Xq|6zrI2e5FACVlm$AzNBLSnA)yo1Se?_R4vkJO+Ue;6aW6q5HF0nZF zqnsT8tL7^L_{M?QFCT z?;YvUx+zEN@ZLQ=TI&rK_gmi8AUS@-+Z!O)f6;S`#MV=zKhVS;kRfPKZ8wZcM^OL1 z_-nX7j1^~@oaO)tVPQ!R18j|x6woN;YBT~r*IGY$gQ?3MDm07mj}+r0)CbL|kt za8cun0okJK6>*v~r00BDX~3_tPfkXqFLKW%!=Wlh9M+-FrRTjHDR-=)^|bKBXyT1q zfA`!b(lwQl;gYL|UBQZC3Fg0gU4*d=>{5M)J@i`_H$4Y=1#zVzj zv#Y(X+UGH?W&&Z%gVP2Y6v@te;R%E!=K@UAm+lQYEAx~nVddcY2&+#C4D#|we-z%m z*Nvl_ZWR(T+*PCHy4J4Q%^sq6Bs4hYxJ%<@cwv+lenJ=fEm_Yx!b&XyD~L&uUiUJ? z8x|LI0PR)_6tdyLouJPo?cv_QRT5)6?=#zW^+N4*R!{vNtGuh|%qr`-ys7yEmMV8Z zqRXYN6id#bVi6=;SBTACGRs_Me}v^v=Wv06z9UM;JMw=dYdg*c#a`OZAp zP$wCwO0TJKx0x@7Wmj5!@Q2C1`fS)yV~sX!OQ{U?=*H14k1FG*q9k{h(7l(gGD1~7 zdlg;E!w2fDB((%}GNI2Xf4ctF)Lm-r)y;t@D&J*|00p4$$2ere;>7H~aq^Un#g~Uw zm0$I`?>d)Q(Lv|3&ujc8WZZKU3}mg>#V{mQ)nOr*sqAMf$?l)gQ1Mx5+5uW?Ef=8G z2S!SM9J5`hb3c}I+a)T{l12`c=H3+TAh~_d$})7}UbOG5Y*q6He@4eXvB%$$Hpf0O z#}5XnHb-n*!~}U(+WcyI9Jbf*nzop9VzA}ICouRKsW>W)&IU*B$Z0`(!E4kWBQl*k zdl&^ZkkSe`l=>M0JF(zSEI_^%av=WQ3vfaqY#ib&jf03E7KlD8kHgsY4+ zL0CX)Z^XgWPYX=#f3-N6`e}g);{*p1KP(V3Y8=dVq1T|MI?kcZG`q)YgD41S+KM!w zwBB$q!~G{v5Twonpt z(JQMAf)aVC2ujlI0(_@yxx0zf2ix^f+|0RcbCN_3Io%3;LuZzJ~@ z%hO4D$aq|wnw?(YoRMRA;_SdZy1edSx+ODuXa^rWxPyDWmvl>hE3Us?bOWcJP||m4 z+}dHa!A=iKf1#)sy_@9jZjy|90pj{B6m2POP`wY zD>s`!Z(l!qJbxdSBik|C$oit3z<+x4=GDpbqCPLpY9Kx1>28_g3WCo)oSqeIr)(B8 zvYe7nM_`Yx&4HGQF7({=@Mgaqm}iq^ee$B5Kb|ctw2+g@9M}0hzdAJs9#dS`_tkXj z@Q6%wpkG!d71?hG<~78#pg@q|b)&CrNSU~AC;H?a0Dstp_?jGBtnE^}cENvL*sW(N z6z+++xQm|@;>L~Vd3`Pc;Cs7$NyV3NV?V;uETi}WWaEDxzkHG4<_hX#{t$opvaa;_+u^g!T~f#<5nun1Nc<}s-;mEUdd&(A?8c&EQ#pA3Kr#kn zs;n~gL2|y}RTx2MgSGaD6`LG*(%ndIe&+a^DTQzHv$JBljU?G-3lU801U)w(t*z6 z(8gE>HgP&BjG_YTOPu;OW`Ctb8UK$6LZW zJPVJ+{#F#~XceJN`Y|S_kvPH}+`FakP25xWCdk3&(H(t;>7hsTA_cYEpp)mvy2^(& z(0{0yx4gmPS{3-d=%16~L-Um*YhJu5#qTC|YidFpQLHKroKLr}y{**UdJEQ>_S+`| zup-Qr&)WjM?QP!<&$c=%@UL#-rfrO`gVC0mTI~`?d@{aDYumb#>GoaE^|`^FBd=s? zbAK)$jg*B?3!vF~lMB;%D2U+f+_?~kTYu>6KUZv{^XETz{$zSB<@2k!ACt$nkewSp ze<;gokFw!lawtfJ{v2NtH*kwMziaG5`|DjTdK0&lHp-X$yC>9d`z^P$&ozTe;iSuFn5g?DK<;~Ti5PPUz*awxMhJR!) zUYw3~`5Zzk0oESv3#0zlTK;f|wp7_@zjj0#;!${@J&-C!Ah&Kri% z69OA(!e&CC9Okit4F^fRuIMWgX@4mB!>CTA-ZxEjY)s|X7A$0HXT3Hb@=@^-@X4v zC8;5K*XjJCQq7f!uP-mk`kd*V9H&NUiuxF+CD>!2ju z%zZG-G^;>GAu9zU-8z)pgyToCRv1F*sy#!y3RE{?^AwyFrD4?$mw(76E>Wko0bO5X z;Y?tdsv+kIgAIvAQ_96ev&a zbp-iH*P$<6>_KZ0zoek?j=c2ee=$P?yrNs>rJL18M z&VO{qo%@|752E{ymHNf)jWj(xosSASBb@X-dp6niE5OggVC$yYifF{!OcsdR=a^ERIT!eTEIVDt5SvP7kXNx%{hqS<1u03dYX zOBLn1cd(bkawb5e_^|8=9be5(%c)Uet_vL%b~4~yA<&Zr_^g)fHg4t zO<~%Fj6AbqIgQxBKV5Rl#U?wzJu(A#d*OT!M>#qm72_!r z5B!(e3)Y5Sw`#KNI`?a>xq2q=m7Nt-8Rl&xQ&T5ws(;N4%f%JPM%C4-7^>nhfB*&C zCfR=df=zJ+FW69czN!A7Pu62K*)X3@0Wm5^ruiJuqw<3SYKUJorHHzyA8lbJ6a`)F z>?zx_RFvlki&%_dTqw5l%zkySaZ|jL^?)V{w}hc%`_-dt4rTVkYBC+k+fjjxJ*#t0 z0~}535r3=btgM{K)iQmnuEm>+`CSO>_TqP|f^c-g zzMO=a1R;Zd3eZhA+#=MITUTX~n&j4{ z8Gn(srK=RJu4}h@0ioIcB$7_hbkS(9l+gSZf(`ysn1nPuHzr%H<%xTFuR-nC%)Owk zv1%QmLBHR?Okgz@3wT=mb2X_8J#56T4;f&gBN|72K3QfegMq8>mNG=KJ^??Jr5`uX z3)Y~DS}9g-F1)Grx*8Rv+SP=Rwnpbe@05RBIXv)XR$5A!N ztqf6y4VWJYEXUX3!ILPGxMQ-7hKS@gL~tslRIzU(P!B(T;5vhULk;c5J&!y`w&0-> zp=!^;h&ZsNkuz{gCVpKqozxv460MT7AF~Q&QBW#CpP9sYQ-aKC+LpRfz&~J-L4UT* zJp6+j?z&ibL_?_Jt|Lmb*Uw&6<;N>Av{;q1`)lwqHsyJSTc|F!tk-2*kj4&F+x39g9Rc2Ct6>so%!79FPj@vs$pE$BG?=_t{#KDoHea zv>NdSTut-H_u)bSHI3a)tx)CS7=OMKTfT(GbXL@s;YW?AVJbRyT9e)!MvE2h;Jvmy zaqrHaHy-Op&xYal6v7^ay{uk^`y!U5E{s@OpOj4;y46_1ZzWT?`!TO+n~~C`xcx`{ zw7@8{a7dcs!wGywa4I##<#R^ zq*yF?FHXcxC1%+KH^^mCgC%Hr@?rdxfs?|SJA&O_mjd`lsjI^|b4e%VUo<}J`)~4U zcs{u-e&jBVf>2ENGOF}2^I$I9w5TSR`S9vlIlQ<=4XQUKl6QLay7)iqk7Aa2Sr?z5 zN%&=hQ9{SXg|i*DWs=g2r*MyDhizCs&#Q}3`C)!N_;Xs!&mbPl=cdbYx;ncSOj3h) z|Fvkyq=psc8nlCN+Jq^UHiz29%A&BwZy_1mhbu8vVomu6UyrAQ39*LJ#dM&Ots z-g2-N7sWl&xvW#~=CtD!Yk1wA?1leL5*`G zcWQbZ$?`JSbv%;gffJ|)hAb)5X_@e({4MIsd*d*2qD>=V_@Be`o<8@C2n|NdSd*ba zP;HZ+s9lbA%1GMr6mO8_#U(=qg8*W{p!awl7JspkK#V?r`8S@6yl$$vdkoJo4xN<3s21%TIuSI46t4>gSiwb)!?1yoDF$xzJCPl?Y+J&jM4SLn(qw~BH zA@FqvhIZeE*-*eeth+aRURuF*?=);&^)m`|hwe3FzEaFrGeQF+ZO=<2t=m}{cjt;yyY9m++<|{6S93cIy-54Rxeo6_lSzr>&e94eM!QUO zpwr{Nw{j?M6(|1qT;E&bkmu&bCGL6*Q6NmGV@Pq}-p-dX-~t zFz9s(`K$o^d0=Ef5tade%nZQN`5uuGr3oq*v)E~aNN4SUto}h~m{%is8F5ly9q^}g zSo%SyF5$1;LRp%jlwZvTAySr$f6XjX5uB6jUnZDrLg#zc8WVuGjAipLR=-tllEVy@*|mdR+s!o}(vFa0Dojs*zE9XKOGYPUOwfXk>7l`t z?k8UoJ|fY07nN7R~?IhkN_LxI17`qhNFZgu=%g1y5|_ES1%)tVU3dqdTC? z($y5!Mjx`X?H$k=(+Ev`yA9nTX(6-~46;C^oSZCM3oZO)9Y>$ z69IG&CO{*G2=59cYzBE-azG}GeORMy0ZQ4RFLV!RhvE*lRFBAu#8n}#dn?^XXOc1C zFeJeOCF3hEZkq$HLAey+P(Ki38k>1sGu!seBM(Ul;Uqy)BaaV%m*p#P;2&RWV)_56t;o;ijc?@`^80@bi&hh}XX7off8suOQ zMSY_?yQE*rc;+v4{zc-gn-f>HJuFJr|p7!cc0`3z}m3`R^$>mr2zS}2QzJ5i#^-wvSdNJ~?HLL$&a z9?xHQJI!R{w_E&}d-U_F7#j=Nw1n`dWh;MPSq8B=8){nJvZ#NuYlK4K+MM<@*#eBl zu!=~VeB1qpg0x{v zi!+V*j5EdByoyu@7FfaoReVB!x5hwwXGaW)I~{-qOW{aMb`rhPeDNw_j)+IGMpVLw zB#~st?NlkTHS;uo+RH~!o%6Z)S+!t$it^WcSUXqEx2&QjZ=!VR$+9M)%XLAX?k)37 zPrqiFs!F}cFDGX?;TBa)<=EwpSz3Np$iK9pNRoeD89XwyJ0&kiehqSeY6wdOO+>?& zBn;YcwZTUZ=fm@|ift_nh%lb2$fH8AC$>!dRFXjv~?dQ5=npF=4{E zCYMn(Dti}_ctf+m;+V|On$T#FAf~5Js(coeCk8|q&y1~kQ8WY~jAg!9MF*M!1hM?RxH>DMlF5Jw z;(7KohC}6s%jc)XG>U=%gs~K?sZowGAi{Vi^NT1Jogc*UJYU3rQ0VM1hGH~{3Rnsd z!4j9!BtM3uh$ygWXpYlL-^UHHm8o z21FRos%{Vq21F3gtDGt3RlYcnp|XLZ*rJOG1qfrQqEb_5M=+FURk4g}P!>!O*FRQe z9c>Q<*wt}>#)DyhDx!EOL>N!GVjJBk9tsi0v&f^|O!C7x>Z@tIDFh&h@q zv(t#rgbU*=W{YVa7Z(;x1lPy9X@_pXgmF#c`Yg$h;HVpac!L0hu~hjms&Y|)AeOgH z`oY^2{otRIQ4zIWP=GJbE{ElQmcij-c4!g^pP0*(eN9D=+g9AT?b_4$+fm+-Ded2( zTsN%9Mt*&t-{_tYWTVMMi9rr!wv2e#!Yu!DlD{ADSj>AIj>P=(zbhJjzg?u719d&tEK z0Y1O89?SeUE|nB+3&Nx}10)F+sM!MsN)jwk!7&_{`RD=-5gd>Im8%CT`7b(Sc*@D^ z;jT3Se=#gd}ZG2l!+ebD!;NoS&DmTn;ZlSy8rg|v&ZvcX-C*Hvo<>R{prn{ zS0~Sl`n)u&fb@)~uf1xa^$K6sdQ_K#=>j7GO_!(X0v>;Hoda9@!z-vnfZ`c4i?0^& zfxJw<&jwK&IIzlBVGU)B1sNriI}oHbfWw8Fz;lg8$O3jVc)Ht=C1Y*T6dl-`r6JD; z9@=vP4FLjw9Fh0mFrZ2-C1&FtEWC*!Jga#SQ+mK2riX}7Jp&!7r!NEbkhH@)DRFwp zlaJ$qRq=neG9SpDq11~xMXsu;zr)1y5|_TDCmdNj>tY^?F6F+17>h$Clq=RBAw;xl z)K&5?Td{w_A)Z8yVl}S#Qr-<#2_H_f`{@|?#nOnt}VfDdsf_+6cr&k zMB6f%A4RfYE5?Vi8ikO^{3wzSY)~Fm1wNF@SR;hX0*j)o3|;Mhm;dSlK7YC{xlTzz zMXYOtmXfDyYhl@|m&b49+nB(eOxrwv%{%+L*L~MvVl4c+bJwe2XKV+>_EGTmbHKA( z5rV2M*>p0lc>?Xm45H5R-`Ev{Oh68~PlWGsgO~&)H3VUJ(g{LkP!3-`lJ(4VevUm; zjYNNy*XJ$eJzJ6Nc!bwQ;D1YK$xfm(-EO1&?`7v~|NELPme@Vj0o6RHc*}EEHk0jK zb}$5Cx~9{V(i1pE5tI|@T_?EKJmR&(mZt07{%E^NIX8E3JvFCkgnTl|h2#*?@ZF8O zwIdXEAU%}+u}mE`ctYj19sJ{TGP0!Yf={gX-<;0ALnW-M^-@q+t$&~RDi&h-D=YII zzrN`RX2LOXQOU<=O~Gh&xGvAmriDm5Du-&G+Q7H(~5Z!tAyMD^kl78$WG6z z3+ZdpZfWg*r$I@F|6E!Z2O@8&J44{ekyKgIQl7MvDSMPFu$ylwO-MMa#IUX&`Lo1; zKJEii@Xho1Ijbr1?tgZZ+|s-gP6Z^@S{!?AS$vOC}$Q>cuAqEVz^J z0QkFn1R|~L3(LtW49$~&u_|qe1daYdyk^z9;q)1-q{gq;Zoe#rmOmU0%hkL-7LR6` zI=k;V8LI>Ki(6@(Fe?pph}GY&LnFrXRe9yG(A>K^#6;?kk3ye4e)HJFH$I8)StFpv zZ7q4CR|)G~n;yvpFKxZsMql*F%yBK_RVo{r&g51ro=uEw^v<$W0p5!n%ksAcC`EJRHQhN{PjSe;621sM|DKSf9?3>4jsGsg^^}sGXV}+oC%0wb~cLInm5UG4bYhR z=)4$SoR%LG+bF@Kt&~7+J9TkyOJ#Pbt>v^#uz%cZ*mx@e!qY@v(BD4D3pDOW9@;|2YVgS zl-6Z6BTyjY-FAA_XgzK}`ng12j;?Sgj)+;(9xf4ii!q<`Bk z?i-QPEI53MwTk7tjlx3SHp!iu+oYe1;v%t402*x+0JyE<#k|deEVo@%F&`BbrzLmO zPISQ`d#sQL%_-)l`QjKGp%B8M$ZvxZ_AWtukl6wm=kimTR1$P zw!n^hdkAX*nJtikt{uWPo=n^Hnt!XsA!O&6+X5Zxu_0`e8AfkOMuvK42-yrWTOi{) zVhGzDb6cR3id+bx^r2~i5_PW-z6vs1A)AK>qJqpe$UwIVB7@8p$haO7^c55#($dkP z(hx+4xh>GK)jou)F51jdSf9g~KDKI8@Yye`2L$!)uwx}c7KI1ePDST zdTBziS9IQa3XgIWqfD=duJh(S>AiWRUs>$mPV(Nwf3*RZETP;^OA>sbkJR#~fDO~3 z4bE3L4Xey}7T}M$G_#vlH4m6tvMhMhl4TWq%oiM0KwFh8z$dtxC^%*0vA}*3>x2R% z))ou&DPIH>q_%umfX}&rSAT%o3Sj}h5VBiA5_5nB`btS<1#IldE%4V|=qgyfJ9Yr) zMyK>n)du9kQUj`8qXl?OLPgr!Hyc#QI1Q@zQ5NW%f{wb}**HKSYXj<|9~Vj<4dz~w zk`jkNxo0Lynh+?Z7}J25hE~jht;7f9?YN-)Am=Y}pdBB}NFT;Wtbh0!x&14z6Up?g zUPDT}`We0g(y>3fNI6zFg{Z&HEMJgy0^iKWL^wi(zeEnBdy~TRWG=Q*8a3Ib<%83h z@6K@0=(uw_7+N4+up9T{E<3CyKm`o~SdS}8gD;8R`ANE%?n-Vq@kLP|@hV?=O}-ex zTxzJwz~RS2)U~-cn}48(cYWpN48@lx;Ajig*aWa*mDt%EU zQ#QHF+(IHfD}Uxo{R+m<`Fv#60RZ|r3=ZJlJuc^@+x*5cCT$d3qrJ4$StpOq%gL|^ zu?NqMmM@2K3?e^A6>79j_sj2|zzd zR~_7mE323N?iisq&{Bo?iV#3BMwYO&*%Wn`Gfx~3+JE7@e#%`M3(&GgNYA>JT#vmA z@YS=Nj}X$SM-y+(Wr0gQAta=*AVl-rQBbQs$J4Wx8=lHn4?5`%E!ROEtq>W3Br++-^L<=b_Bt4YDu-WC-9!a@g8ik?vAC@x;h5*Gk2r zjRO$FB7ZC^5i|nAkH>h7Oc!=uA=_Z>U2hfJ&8l=cDa?pU)4*mxN{iL}LnW1M-|%I| zwC;7M>u%g_4}WOsOY>@#@9KrOBUF4cG%T;X4Bz8|IcaP7IBRgyL~nWe>kQ7#jFD(* z;}68Y@bu&5oI$Wk&2_ZN+QCb5QOCb~0CcvM$xVpE^Vk=!Nc~#@2Pe z*Mmlv(DVX1f7V=9j_TFEL9{R}u@HlF$jnLYqdw_X0%^$&Bi2)KzleSF%FJg9B#^Nu zdHI=@$H%MTlqm=K{Po0=FGkLWN@p8m&QHY^TpD{gJu6PD+$dsZT_dG5HN2feWG`)7 zhp}Thm5o^@?n$XFFAMWb(4*8&Eit&XY%`uBVF@Duf1qB_Ee)o82QG%({MbE>L=Tvi zqsjPcVjUuEtb6*+K^7357bMOC`K9gdc|RSc7iqU( zOQwCE8D6;e-=PHUdazgqx` zeZ?(dfBDn9-W`Yc2*=lXk6;cH{5pA4<@3NY3BNMT594_Jaab&(SU5xz9tayB!vgtD zIB=PWA>lXM8?e0o`8bAyWjA8Lz#&m2JhVsy9zKmCX!s;;z=GK^Z3qFv+7QQr@k640 z;t=81tfN)!BG~I1>oInaH$uzT=Q<4A&4UhvF=~S#KGw-N1!AS?&j$veC=W_D|K_Z& zya^lzHWIQ?(ZhmZ*f@^y+}#x1@3Qtg+y_5w33_#+dM!2JfQY=yu056w*%snCS1 zqKu%a_+?`s3V_mpy;;F%v#=E%e zcy)U?2q5NA z!*ZqNUwyR+!*asrqoJ=G7qM=PC!y0yj(@33J0$g$t~rnw;Mv-X#l+-df)H65@udWL zvK7arO{gzvM`KCe4F!{QM+||zM+R+1(%cgef~nSRve(cmro_yZNBPSF8X7=DKaid~ z;zW2Jz(zZywB@P$$pw|GsiSGe`}?`%aK#slYK3wE~8>-IF zihSIxH3L*ATngkFky1FYtzkl{tAAX+`H&DHivd}Bt@t|-e-F2+y_*072`~r%97=#g zk9y6TzB|p|f*drcRVK7eGfxQ^%mmsy>X}Ibe@bL8!m9Kz%6U~J#6d!^h6anjx5VEg z@%Q#MV05~I~yrH&d(g-hD3)0epU0w{m9 z>blGqA*W-6+DIA$V(%Efo}8Vh4I)Bbzfr_yU9(|~l4_%IM9hJuHE}vh(3XLwt!@Wtml)_C?$e70scCvj7i0b@^xCZo>uE|)3usdybFP; zm8y0q*sl}Im{`|J>-mD_)mprCt)_ofKm+{yWO(s*(LAF#+?Q&L zJG@qxZ?HP^id!_OHQ0b7XUzIsBzqyBQt>p(LCdx_5vg$5y(n(u1o>R+gv8oEET&@8`0|c}8?6w@b?f`yzz*PU8Qe+DqIQ(oKIC6i6^mec3 zAJi7nb@_4NLS1+hL3MBU2ReYR45~{LZ{19fs*BDOWqGl3LlVBMqHo{YfrYt8%?$9! zL&gk#=ZuaL-2=P8S!q;zV^}V(PJ9=C0r*BeEKf$|9A$hyT^5euQ&3g0Tuo~yU)6*_ ztlx{^E#nj!M?bW2jNES9d=r1x^X_4yi1#+pm6tYgE(hqFGF!0W>$;KRyfqAH6~_5- z_V^zS+Ey}E2xWXvb}B*9Qm;zs#IrX|o#0#vDoEzhbNt;{qoGbchYd`$5wCdG68b@I zIc(1@hhI3iV83s<{l3-E?_1ZW-;upZ!z_sm-nE$}P1OEd>xSO`@}__D=32zyrVhh@ zB((^dI2fd85%H#eIETj$yMIy)9vB+3W;1f>#aZeD2~~+{5nBDt0s{D~v=lUQ`K=Hy z=53@CIRLZpE|W~=$r7hC*UMDBAdF_oH@$`X=W~oTo!~$mjjZQ*0^=m?C#XlnNyww$ zn4{t%^(!=%7mLv`2rz%6yADpn#7&&-qosE-`>HYqJx^%d0FuMt00epvSY{oMfj##^ zBe_M99JN4lJ4%YpCDgs!?ly;{9o~z{C+uHLXgMzA@aW zpDWbB66g8SY8@LO&JEKi76_eIqISD_7)>*Mn7Ic@t;^1K!n0i6*>H7rmT=gLf=k^ z=-2SsOvCe267AgAnv|`HD5lJwNhuGxuP-feRa}!X?Sw-+;g+4yaGtZ90pN$B*L(=p zWauws2(Gz6S$BT~TGM`~QfPBs@K#^HBzGv4!CQkvm3a3q)doe^QZ}vOmT#lgN3IG> z6YoYX^?Xb|*Vfx&`UAqx2ZU3%x;M8sv23;$mHT$crn~Ua0fTi2BJ^nA$*>o#fDfGy z%UU!Y`&wBK3x+hU-GL5h@ABh22?0S8Ydn119d0`%UVeXCnLOcRUtJk!X*kewaG)jN zKyG!TsN)Xx&An~d6qtzC-W|wKYpTIV@~PV2YKxM-Y~3ZxO)_b<5rM2teP?kpQwE-U z-}WayDoq4US=0AR(KV=~$(+FAyQOI2Ucn%#l5dJ2NtBf$ROmm#D`t&JpT?RBu}ge2 z#bxzdPRf5#!Z5(6L5-51O-C$gbD`+IyD{60_j{qCwt2!Gp)YXET1&3$G-MX_-6`lH zzdMdwk#_Le+K_EwA8>TbJ!`vlbWd*%Zqn_GqLIg_JxJcvq;+r`o$GtHW+d_Gw$ZnZ zI~DFw>Yhh_8uvb+5-Y8KjRrMre8LFal-BN5ve191{4n=yYlij5miwB}K1f!isK!vM zjSc($`FA#~5g>Y6Z*3Y}zT{`!z03+*#uY^&g7rD+LFWR`Q*=s$+-tj&i93tQkLxt% zkIxjWa})0|`PsITuBdLTc9P({>X# zKKa?*v^96t&crpH8~RGu40$g2KF$2-dJ4))6KTAO%b@)1kH!tM#2$q0(0F67M1xML z!b4wSZt8OrpM6mRwu#t(d(-*zpF1(O-Q9n1$g8iZ{J5I|X_oo$`8+EgxyaaJ()#GN z!J-&&#ml6Z8acdU#O?VZcgd$jc}EADmFj_vdAS>-bfYzOLGrBW9G zQyp3tGo@K6Lq2JmK;)dL}a+Yy|R;nKIlSx4cl+x9z<+hl^& z*?Zl%V1KjP$0#?$?H9fccm)Yu-MBs-Fl>{=)OLH$b!@Y^4Q*ViQrxMQ@o)#>h9r1Wg(9`X z2i$$CVpd)j&-0Hj%2DBWTuS#_@&zB16}7s&vk#Z0gHEWq@Byhkvo?=tyPbLDxU|@R z&OCBE#erlUuO@l7hgeA0baJx0nHsES*y5JNOiA~d66WGt(iI88U#vb!;{+OQg&z2N zXw$%VLnBYP;&y9W{+eu&HX_s-9~_hIvsZ!^v!+vWjK$QqL-p;J`j+I5>@eVtV)|}j zIlSeGyL)s?J0JIN-qFk9?3%5Gaw(jD?Rg!X1y?}dDzURbm!Tyov>XLjob5%qjLy}I z;_AMhZ!t&&QLuw{Gb0>Ov&G`oVhvd<`n`YM2ulCYFhaLljL^|;MyNslw-B?RA*A`y zA&EqwE_NIp>Ue9nj@pXWUBxu_2+$2Z#N~_=if52@;LIi+y)WBAczrbgIt6K!T zxJvG=$^{~>VqrxQJ=%?(-0n8(CK2K6hcHyyo7G}kWcY7aYnz_U+2+9&HtfF8azM0l zT}Nrm2^aD9M>@kG(YTkvOSG&%8C&KKpkvmS=1^^9RA+ZN5J}fl*NL+b+tReVO-a_) z=G(s;d$RuljRgs^aa!b;`1+xj@B;%Ie-M>?H8S)GtThcG5}fcA=}VLtJXnx6jbX7z zvDz4=#$yj6CKA&Vb7K)oX!wPY@Mt{}8UlN(B;1(!euw&i3ab&*2>k3V#p8bUh0O*k z;SS**r$^g?5&<_F%(mfybcSjRPKFytf>|#LOk0DsLxXFn`z1zu**C@0_-+?8f8Rqu zudin(n+0yUOALIsl!5Q2K0KihDttXVX&r&Zc|@?Bj`GuKVZS0Mk~8_GYldZcUe3!& zG%`!zwfOXh5>*qRiL7}}?_|^YJKdyJtZw;McjIe{2Z1I#&HeAK_GjAA8`gvWzV@A{ zw%Q5(PG2!w)K`ofttTbXBz$93e@u(oJSN=Vvz;^em%(<48n&D>j$4#%U-9h7F6Gm@ z{WGMEv&-&qa;M=VxAfzb2TJ9~uW1`5@Q8SoQc#SqRb$H&uTV2Ui*9ZMf0D*%fqZYM zWm~r4OF%-1Yi9xydwX!S*(1LGa9qX5MOoF$ckjQ!$@u=8Ul=>!S1X$ne~ahy?-l^( zAP&I4TL65(Ie;8~3xv%sp3lBmS^O1Wp3A>m064vPK7O^bxpd-?>l7gb&}&N{v7ELPRB zb6HeNnBzCI{vgA{{`cRkF_uM#aR=k;_unXqiqqrqZ$=Xy|HdjdA^4+c8if6(Ft4g& zx_)V5zEO)cp>xqTccd*^F6xZT6Rlm|&8Oq1Mt^MM) zfRM6Y3jKi&`#W&-Xibl@8o3REjQQ{e*0h$jfM+ zBPV|-%W09%4OuDD9N1>5E7ffSP9{3gd=F==BtDoErDH^v9lI1$pDb{e;=2uQgoB{VtI!s}-B1))&8lh_7Ij+Gx+3R}7G*gnM*Yg|932S9lF`gE~n*TD1jI=rMu}vm_@$I9iZ^jAI#@{!oNeq|-+m(5CnCs==ftduteH*U>+q>#&j!jAC8av&pDj1A!v zJ_^`2la5Qabr_x>PfM3mA1)Tt$uO@cmqk=#-oR#N8b9kQ2aU2gajNgSY(UHaJ+cwF zad;=r=NAa#63iKYlrYhxA=Pb^&y>?(>1j0NG@61UW*joS(s-g0LR$t69M0R*c7d>f zy;~qzR0*UduY6^$e9(_rGtbJ(DIn8*W!B!xzyeSkN;Rgq+n7mxjuvdPmBFNSHav2E z7#kju=!Y&V7r1omh9e0B5E8slCojtRV=;3~@J#0T%i$S+h+7Dgof0pK4>ij$z(tx1 z>uXT3Ew9;fVn9NIySZXRU)hi{ah(m;wzf%*JX95|s-oFk2vB|_T+}$Ig(x6sYuJOe znN}P&rva2}OnWvN*Ueo6sExV?2-fKutvK8@fO5O`aM9echYQPYxmB~SZs^0s?ku)I zC$}Hbg_@Lqez`xS$->8TkIWhp zHgS+JIIqPw)?IF_hojhLPJj=bO=HK&@iZ(5i8lZ?c?r)RiH&q`^j*|+lB;@QHpe+Et5TT?{WR6uRT zb4iuX&-83!OvzgwbRyJ*4=y^q|9gK?QG2|gp)JEpEZE+b6C%AM2`??;Jb8^KFvGl= zTdLJsTEd7OT-1{`|msPr_Z3@tbD58PU`4yHsbPs zvlWHV-~dMaZRk^5REa|BQ0DQyiyPk32MdJ*nmPsH~_K(wSikl6qD#Lu@}uWg)*2j+a}9q4gX>c0GfBcU#e z=^y=lMYe6whVLF~Uv;Gn-zBkO$<-}?Z2i6i*fzBPj#lOm8=5Z$?HXM_Yp1lUh_~To zcI&s*oFjdHQm0JL`tljikVkps@F04*$qr~G0KkmiRR=UJx*(*FCm>3KQ4{YN!D)@yS-G}Ced)%mso(2=rW+is zMyi+s&8wcPg|I(7KY^q&smPR-+>laP^M5IdxlK zoVrC;qyCoGqK0{qU@hKgUVtU{E64v~IsT511HaFUkM%$K{w}8d`WPFo zI9anGN^CvC{4_f@y=1d+UImwbl5Rtddx)mc#21HdJnGv-I?@ZIW*4u4ek*jKU8<<0 z&{-Mrv-L$*IPjg%EGP4`X;GJRrs*|a1ecm8YeAI{>$Q|mrL?;2Y`YF-lTk6RCu}}B zIYaT~$=tbZhZa0TQ#UPqe5s0Eb2GGkj{RVB-xgHvp={UV+0rwbFDMd!>;yGSito`5 z5t7L65Z5tX_j$>9!!xSBy^J15r^RvKVSzxq@N~xrMQB2Ylz8>362h}r{k8xN_T;ce zk_E22qAx>x0SS3HBuTJwQWi39V|&5L0EzqG)`*#)2DNnoBl&@LMGnba;*lH!*_UJT zw02rEt-X%OQ*;gYx-jd1tdI-yKAfL_n9LmqW=QkFJ}>9F1B{75=vUL#(pv&Df~Ed% zQI+0Okl`!kt0q*#+OFH%zFB%L+_GD_SAU)xt1@z$4On=cs?`uWKG>MLq09F1Iny2u zNS5F_cJr$&4l9uKb)3Nw?(KZ+<1(EbDbWuU>2DZyf+;)ySQV>(1V?fSxgXbLS=(+M zltX=rs;C5qEHCsc;;hV?!S)Ib=F7OrGGwMqFinz8=*@-`I1G8X_AzdwiK9*Ue{&bo zq7S}?seP?6&Z=-$6?kP$?P7ZeKFoHwII~+@Xno+YFqN*!VNoy5UHXB={vjJec)JFl zmhqgFtZ|RW)bWxwPP=`W8pugEs%eLvysLI*x;+u~R&Y5lho*RnZQOFd*z%4BIs3Fv zZ*w|C!7cQS8}rq48f=#a4+9`25*gq57)wO*@0kQR{EwP*E7&9^!^Aavfa%9iehMz-PlP=S|<1Qzzc;r_5N* zWAcAM!6Az9xGT^)4Bb|#OKHrLO(TL)8Tz!zugkG$lZJElG&C;Tq@F%;v{<-H4FkDt z5x_164xEew5JmuX{2}dI2EZeAL_zH}$>$@y#mXy*kN3H8X@w{!IkTpK1} zE)H0B+)lK=AjtJOay4);(EC4iWppsmmjiFpbI3uX9VdWSJ81*&YVTUbMH-w$MJzF zZ211$!CDk@r$jIDadP6n@tcTvmCFoaW!y#d7a^;l(G;!mCj>Bwp1KDf^`*Pd?3DfU zWIADs1?!|}m2ow&-@hAPu!3S1or-*;{SmT22#`&5uDp&4!MEzC* zffV(M>o|MxrPcKHxNwa;X1}DNV6CgKnoDHoOrFgbUB%Qrw_a`9*!0e7gve~T@A(Sw z8Qe8=bq?IK>4bMjo94R0sHFJVY{np<@22xE;?TqCTxOPcQ9Je}YaD>r#jp*(c}`UA zc`U&|ZQy@eGo42ANw- z3VEkF9Cs&FDFMV>Y;~MxHnM?2HES*V_1v6)g59&S$?lHwhFn{>vgI^4 zFQD5%S~d$fOIVwr!rCj~luBR%nKowuYik^Ckt-9}J_1lHga*T(58ONHdVD>%(ap^3 z{+{lZ?Wx8Kc;Yd+;Ok+k)VA%EtNA0QjgS7ZDyl2~4y{q1?Xlq(|6y@~RaBno7>N(u z2h%Vs(@=zeFJd5H&u?~qeuFYQcKU((Qt@nJe!^-9oLLNF&qf6>oX~i z<>zWr$Em_0c5t@!!({A{Tq<>w^R16;|6*R#;Ypjx&YfM;c{`t&M|_Y#p&pON#jrL< ziKn^avc?scAIepdu^+(pWbKElc5LqV^(LUAx%Pf#C@eO2#NZDq!<)3@wKp4`3n7Me zj)jb>!~H`rw|}hd!e5^T>j=ZI1Z;Lv1^=$E#T z+yeoV4@WILn+T=tZfSzYZF)@Y12*q}D^R)b94UF}kRgG0F=j+kUpvy_qX7--c(9sO zr2sU>-1mM{c$aAn4|v|p+_UU9V`Cn9!^d-~?IU=rJ=fh-gvZ`KWz z;|6*9$hd}m*gmwz+E2m^TI{ailPW(`M9SVI!N$y}_$nqweb2=ubbI4Q_2K!FHk0L3 z<3p5W;aG>Wwl{5Vx=-R9>A*FA_wKgxdZ*oMaS35-y}5PAbsHyXcaE-$@0Pf=v-xhq z)mYv5C38kY-|JI}x-ESC5k%5dlf5m$5obX^-!=BENz>SyCQqCvdtyM>>+aU3TA$p; zATh6QuMx&O+~V~nogw#!+$d$ZaT zBFWY!nS7c}TVaz=$lKczF%9vx+ArFmA~3AI1e*wa+|VqMIhUrZos|t%U6VW3Zqbj; zk$#$lZL&FLqaJNd%G@QPT9kfrm#F%!R&>?y7P9B8Ofe6d-pOyYXYv~>TiFnayS4|6 zi=Ox5busvE0|@0ofQVmzc3X%w{Js55m<_D0y(+qj`0W9tETq9{s#Qo$Vh*i-T3}lK za5(+j2dEu+2((W06_G-i6p%>|V*cZtE2CcI8sw|DaC>iIw$~jN3+GJ$;rfetO=Y=D zRt$q0q5vKk#uyf3m;*RIe;k@ud6iG6#ndh=(_>}))ymv2%0KvjiBt!+9EX~-3@ynSZVU|h#plh&iCU`~uwstp$&)D7DEia>{?&>M) zXRG;#N_qyWR?c~Urfwy+hTdznc3TTI3m$&RCq`^NJweD^2{>LloM1=mNb<;}CIV9X zNV`CiRNe9?bM&A)V|sYQCX-w{W*e5B9!<}DyN}d8dXPB{B`mVXOFi*+tTDlwx8W@! zIG6`anZdu!)^f+hopONN1M<83mR|H^G;ER>Gu85Ews1aw+l`a67d9z^P{gzuEc4%a zY^UzJSTu#bcBg(y^!yg~)Ifz{t(Knw!S6So!z272!-wUJ(sU3n8NVn@{j+Wyp|_eTDvlGt`?N;%z(RCHE$ zBR(RbPvnq)*AEVYr)x)P)*d(TcFrK>oV;ZNK5gabz4e&1lVxlOyfLiD%YzORrzwZ1 zQIK#4{W)&xr2xYHb@>lz_$46yVu4*`00TtAI3>#!XE2YmklUc3sX&yfqr@E zr8|q{GKfNm#pc(%7}jgWD2!;k3YP2kU0Qk97`Jvtb5j$Ed&eYS>30DWZvKr)SkKFT zdv~$q+kgch?YKeN=|UMlP;kVTa+NTLO4rp@Y+N36Y!hp+@obikR>Pud-+`(a+JECE zU@%^AsFh7dEYfA|`4m8AtGYBM3DB#-=&oHQj0%kAVlSJl@9VmU`YiUBEd4ujYqOdU!!ayy5{B##g`{@BPcTQ(_ zw*@HqNjl&0Ujd+JCe$+v4498YD31a9YMRU}+)TN|aRB+t0>V+^5MszI0Dqx}aS-vt zu1L%{QIYs%0U3Ip^adnJ4s|TxFsP+)tM1Z7KXw9d0oxvdN}hRK0gb$7AHctK&ZgyQ zK3&T89CVgN{bn*N7?#doz5^h~15i$@hyTn?l?Ac#$)pmWuWERa3ZL*ZoN&-_=Dgr9 z2e4s!U}P}$q4s7hC;tr|G=I_w=ToS{N5yp7>HY@Q3U?U0Zp>q-@UK}3!b^7^GizRa ztUKP8Evn+u%5htVH0yfXGph2*oWB}ozRZKU1uS;(%U3mTFJ^k0T;~_XQWRy&CLNJ( z&jhX5cqD=@Ry9J#KvnVJx^Gc1#|;ZtXb z>wFgpV=PFTgTwa?xE6tB$tv>cphM&Ng$9vz{Tc9Qh`n&j2>fS|1~}3zp=w%wm|$Np z7g?NO8|G~K-Mp_`$)Uv5fqF;}PT2@vJTQv(Nl}32jQTx6^T3CjbGlOj2N2UUTKT9L z=c{QQtsU@qk+-h>lR^BVY53Q_s$8+MlM?Qz!Zabn>KV^9$4go`=(P2YO!J`Fv)?=5 zgAiITwdq(}xD9GY>-CRy^Dv81M5c)Hfl<4c&mRLEe{Pw?ix!8%M`)|w=HcFijbc5< zu>)rDGq|tqCL8$}ZD(vWDyBs(bQAz5oB^A6TJQI~W@G*06}cTT%LQ0pGhtXgHE9%FYlR2kFA zA!q;{Q4?yh>@|{P^liRePR`~OS4ZmDi)?r*HXxQA%TskltFAV!x=OCMruEjF)>}8% zYpz4a{J^Vn@*+fi&T52d%;rhf`MKzfO4fq9Gnvhb(Il^n=~ZVkzbr2b1Rdtn>1jT^ ze=u;J7Q-C2)F0UY8Si%Lvcu;8vZyYLPAOiA&N@%WfT1cnIr|T%-gh|33{(UK>nkfz zGQ8tS#a3&REd|ptj^x|0KmXaoR~Dmc{+Ihouw^(i;*&iEIOv~bT^3f>YDTuRvXkTT zkmGyneN+x?JUs}lW)AF)l|T!g|;=SMaSf;v7L=P7Bul0)}NSnzbw}bh?F?G9m*o zH-o^WYf-DiLyJ%Ys1&0Wz@0zKtHYkdk2FJ+tLdn7o?jMZz-BO9le(D6;g}aJgN?Ep z7B+?kmzg3192^8|9Rd6k1*|EcMG%kVvcA|WEwwHw8i8Rd;}w_DA_FCV0S@^?t-?YB zf5_8V_t0Vl--LaWzhdfIElFW8*#LsBCW*GsQ&cAxlj+p9fpXOh7jsKPbIwtGx*OLV zyh=aKcPv-NtkexB5C-+A2I<(l{GDY3?(eJ6?*P|9XLy>_Ut%GntkqR2=mA^sho|@1 zf1-l>Vg({T0L?v$HNjzjIld9o)OZjj2e7Z79@`@XuKI}Tv-Me?J%~4epg1{ouu^v% zbKnLns7%N6*RH_UyrO;bc0OEH)ub>VUXt0F%3kMkHE*ifaL=<#{C*6%FD|;M(l>m5 z>F-Qn6$$U^aJY?L*5N4Dd0WS<+=E)cayZVZ#?wfNoqV!+C!ef;-N`43oqQ7L_4!nE-+#9a#Xjv-cg(8$qB0g%(t{`>t1t z4L9eGFZVkkXBY+fuhp`?Z~K+l=q`|!_f6JRxnq(0#G8w1!+lCJDIqy60Jp&aY=MqB zZdtY)0wbjyo6=H$!C-T`D~OG%g|l!!FdM@b5tkX)YmJ5>3tF_zTu(5XY-Qx0^k##2j8sBLf0t?!L{IPw!Cj1Qm9RkptXa=Y;U!H7yc75T}DEV$2Q=2yzaA& z+toE%PFCHaY{p8kzhniopL4e-_{qtr^aT!t`oWq{=!&{CZv#WyHARlUJq3P!1TK@) zqKd@4aAJLIPu#X5Pa6`2$i&(%+8ZO*Is`L`MhIui*U<7Aztno8AGpg(rviHH@q{iV zE%@s3-|T09uS*F6EfKY29Wj@4u7Yh?A)@JpWp=U4b;6eatgV4HfaF~Jbzp~~<&-ON z#P7~2wY|V@n}%ikLxo674SM!G`MKrYhDY1cW6sTbNTPPZQoTBh77e}Z}NrObYv@~oI=|5z2(6>r0FxvGZLZ#W9GV?oaa#c!sN_-!v!zRg5_S(&nd{cg`z zKfZiU*@FF~5U-2z+r^06kQyvH3Uohl3srTy4PF@RRn$~KkSGMMnd+fjUK%LN;Wn}d zaun--*aOYV!~NuNW+$~sP*mVE+$4$ydnngdICYQ+{ZixUT&a_>+%G~U6xpbVMT(;$ z_Ju?&_9}sq7{#!!iK&kW&=eckM?bB?#-bAEqas>8hiIyQ^XSIMH6v^c2LkLmMl#3p zb2X{sRN)ZKv6ioY+~nr9zMPK0mjW)IJ)Mt#ijU^1Z|ClHGhwRb?6(i*RflJ)C^JO}D3GjXhOe)+hi6cErB{D(blKI(WoDh&7pf;MJfMA^oN-GZc5TM+y z8PdO@gBo_DZfZ2^bk=P|xXT*W?fC0|e6mb2Spe9c%oR}8j!hN5-XxnTps-8GS7=mi zAR`0Xh-X;&b(n=z8}8RD>2GT|VzI@%xmy6WALf9XcFP;SzNE4SlyzzNcYZLM;IFqI z8bVFGrJ=7csWkk%^nNjD__v~dU5uNl$l>-wM_$)%De3P|DlK_wmzrWz@w}~nl3t0$ zLKiCCLK3+r(iD%r)72u_6JgEv%qXjovmcTB3PcK8AUte>hl&#B`U#kx0V!%uewwwU;4ONF)y9 zHUr&FspkZN4u|asb{tvQ>im&Ozi=}Fh!WWid3V?y zDMLsm!PCfP4wg|Lr9A|u3sN-j0Ml9&)%^ev=!QW8UR{))XHu@~HkUFf11NuHB;?cs ztJgY`M`BAjZB=gOME}2eh|{8WcE$!>CP`&NS?2&>eGALJq)SWe|s7 zO4Zicuas+3ZpR)2*)JS-r6OiJ{%W^hE0ePh&nAne29V>xK@71);<@RTSDu!e%a}oR zk>=@-1mxc>fHTtUGheeU27Z4}Lz4wM;bFe__RFk+qLl03tM^$0z=r&Pub)wkft&J= z6f!e>MTyKN9TRjt|DAU9 z^!F!~oId{_pk|`^nHqg}Ov|;b)9pymY3DXcD)GZ6= zfON{z6QaQ-ivkesSGIpVy0-tLX>I?8+BOez` zV<^bUI#0}aV*EV2E*2?A%f-TCMDceZ{@RZTZZ^$KfPn-U1ON^tz@cY8K-+gWPc6vM zn?Zi)*b9ut>3TEuANcTma#BB~iVvvM6~n8!;1`4IvK9W~KNNrLl0%X%A9Qk$^S2md z^^yiaS+<7RMS8X8`P90u7OeA7zusY0SbVIj9IqDe9tYlLFwxx<^m0rM#X?#d1Wn0S z>OyDp?-l^Bp9Apk7Jz7~xJ<==SRhMuj}X#bMF;Mn>&4BU((0S##F_ z>PuZ{q3vJxLYqSUZ7;M?r^_vWFRqdT*#Ov=$}iaXFPmYK=)Y}_!Af10`FS$pm-8BU zhQnXyp8*cs@65O8 zc3md68jTQ<)}M%o*0)KLW2ajheOL0vt-w+K7_+PfeDWQOo{1V0Hc09vAlb?tK8-0z z(eSjL0LDIa^>|SN-D!~C>Wwvo^^B=;(tqo29G!la6JfpR zqSm|XHk*HAB;o;m1@Da=4&LaK)?WviEtPa@!`MMjiDT#5lf=#_G*CNwH99hF&^s`n zB%H}7(Pe^Qz=u_pU-i0YWlxno48E1>Z#k})4NiG{9p6pc{jmIPUjd0fu$Sw1lP{U^ ze#+%na<}G%c6EtWtHD1{tbvwnIh`0!(IOOi8j^p$sG8Ke^am3Slf@ghEndpks1McK zhgCtFB4X}$7cs0^6O4`ecnbf2JU4+3^8 z9OZwI)ka0N?x$MSv=3%U>6Px-P1 zw(LA#zWe}BBtnSpD**Keb>_&A15IU&YSz$EP2~!o7w5RF9virFw%RHbsB^IFcfW|a z0deoUkUHtWLwD@YzjyL%TFlStbN1`6e@RhjbJnWeWR*yf2$bGGKp@58Qu@ zNvES9HzaSM$PU0#1O1+w`oBuHwV?b^Fi0Ocq|b-}eW09zWat!AHhqnvI98a{7+Cxf zD%!Jwp^${w!YbBv3xo;Z)b_+?TgXVuBaOBS zbq#P|lk?FC14BHUENeJ5HriZV9uzhr<&(#k?=S-xf8GIFy#mX{++*)d{n(GY(5bJx z)_wnt&Uyb$??Dg&yxMgdF^p(GsghTd*woPCv%{v+C90{ZaKCYt zwu{7Br_E>Wvy@^DXd=V|MU`NI(naUJ`D6#pvPuzAZxtdrRv995tuiF%+RIy?TIYWe ziIYv9_u85OT*trt3GeR-H;Bp-A~oZwVfd5dH~u2o@f%+ZIUu7c;JoJnzY~!z#9egZ zUQZNz)NSed06l+JmKPZ1UClXqK=Qx@hRfP`&o04rVNqTb&sQ~%RcRqVHj&SZ4+_#@ z8WdU|Bps+E6NRK46F+UqsG1=pqxyes0n#4ILol7<1?IG)z&ynZ%n54AH;2}CDSoo# zEyc6ErH;dO9sBBn!xsx0k~~mwMB{;kWEcAB+yl!JEl6_2VS$sJKpAC<4wO{+R(ZoX zZ$tX-1~EPAz2IDn*`mp%>Oi?@E6!^446o zV~UC@64Y3z>CB~u%JQ}?RM5(`RT#?}W$Q6kwzuXO0uO|RgBX{rvLt7x)~3%LBRwTz zIch}cw_~V7nBrawDa&b*n-~8?+PYUlQtlCMN$=bG208W8$aT;o4UJITUh;CczS*>~ zHffX-FN-#7`N>g?uaQ;>H_3mLJ9_l$oNpX5DBiuyK5&ONYty^{Z!Qn=CBz*$=vZXXUYb=R6uesxw`Tg0H6;IVDYw@6vu1i>*>$j#YsfkVUy7K`6;E6jg+2C>?Z=fI@ zr-s+t6WvjZ<&8x(nH3>~?%l_TSGE@eztV_4z21C&v$e0>E*<3XIbDCTHUEBx_Y8j= z_`rCd?{_Zk%ufe&2oDH%I=;L1BY&cAic+58)Yv%fH3CtXv>V6WW@tbl?!AS*fiL^^ zAc3498V;K;rfJzXELetGqj@35C(aF6q?psJ9Zxd!Pu|}Y^EgaHNj_kR9?zR;Z98Cp zUL79?(RW3R1H~PU4!VC-Bgsm5itfW?S$G<(ERQ0p{3de_S}mcl2Rf9m zV58)p`C%1c=>$hiDt4KHSHaRpJ8=p38j=pp9R~4&9o(E0#czK=h~q^uv|K>ox&!0# zm(OT29_nCyfD8LT_hIsvqH6XfYJ_=0$(gp+Np%MKgwcwNSuJ^Ndiv3rdEnoXq; zUMg9S&UeNlpnre#ZQhV-v)(C`o16Ao;slgV^c14}5u`R+Ol2 zhCa&kH|LY3>4f>wT@ag^Z7+)9$_gtKIo1ZZ+Cq$Y7-xS(ESjLC8KzyV)r(Ywsp(!G z_L7vh%fo~|=e5)2cz+FL>soiul@r(;a+F~SB`Pis4sKCT*LP)V9c$AUYJ{NC9oQIFR^1yf?u@VpDMvS_?dMH zZB*cpU)6tuU8@IPU{3t|odom4PUklA>jn(DmW#Y2w=$GP5Qg9o;D~L%HtufX3)3>%lfO@ zVdl3|JDf}@ye`87`MHFasgjTtzO_z*IlhC#1D+6d(D~rA*Ij0$VE3}u{h(`?T{i=A zI@J)O`JA8LTgU%^25sAY6S|zc_hc@_0%*?=CCBB4+Pmy+XHV@ecJ5C4lhKpF0%y48 zb=ipc7BOs>2{;2g0o|8HI0GPm9_Pa{GgrjQnP6nVD5;;!)_5souawOqFz)zeJG~^~OvVIp{;u~Lg-nXxJn~T#w6<76S ze)e#BR-9Jm3v_1Iu6??xRPeD>(6<_UN6Ldd=mW~!>>sOe~QmPQ9fY-mGU(UB3t_#>HA3L;uixS|0bEt z*t8k0Wf4E+@#EjRL{XBCU_EplYbemy1^QT^0sc_KA3C~r?ewCaFfFP0?Fl$JdY?7Y zLuZ3pxS68kA(D&GekbYByCHB<)g|=U+7qA|%K_y^+qO=c+*?|IS#wQ((yrwG+73Fk z&yaNE7967(Oe8A8p}d!=ON?O0uJs%He1!&8j&eA}JBD|@=Y`R@h;6~(U0w#Zjb`}IQ zl6mcS7khhxOy!*XTwxFdPoWI5oRTfyo-U^&=XR(}+{V7=Gd_}bd^I~Qrv@lbTIbd) z!o8hOY6A=seESMs|Fo=ae&?-V8NO2Z0P2bOClnr|w1AL>WgA7dTJRsz4N?0lz;97Av_IhbFP@tQ=uqUys^~|2# zgocfZzt5|=J^Bd|W=Ns50<(+9tdU0d^6G5q>hEiq-_7Zm=|`HwYOWC`3?hg=E5>!# zFCS#=F!@`5zEmQFcgEBYSQ(3xQ2AW1bs-#M@kPWT1JbZY`gRluXq3M$W`%vk<)~p_4w~*bQ6{Bh-^-;NI$mP4gA^A3#kfb zAS?M-vZVO##1RZM_G0J}t`ONE>R~HJ<9GFD@UMP<@<{1nto;+VontLF2#lDqb;(w> zv?{E(`DXP^$G`bYAVs()9f-nrTCnCcT*$JSUaNujg?qhg$|rnOiy)#y{! zzHjanAO;n51431LwqF_Bz!mMq2O0kZvk{15FKsYxl5+kbtq}q%(vlz&g+s5Z_dS
    J~b9BS9MxRQreop-K4VcLGMy$-YynQG&qanaVQk=IK|Bpi*wzMq%}JwSHUH4Ct0wb^ zlPW8fNV^EJh}>&{+OY(DnIQLG2BqCgQ^vjYNVbNVPN-RRJPuYn9-H+7s8jKH z91;L8=ez}pbN^*<#;4A9R$UOqc)aa7$-Bp=<6WPL;HFMYvJlwQ@uirAFYT%K5;}u9 zg826A!KTrPg9))YLrOFNT>I1Bs2C zlWenk4{~{i%>mst{51wtOz5cq+^DAl$2vW=st@;60J=S;Pjfc(RllL>_YK~!Pqyx& zYS(pfyM~czB-R5PL9(l~`Qn2yn(~?G=D}1CN}J8w>KN*l%i4A~LO}CSpHc}c%e!>_ z2~TROX0i&vfBjHZRJL2926~iAQ&HR}ViPuK3}{2qI$lq#j#EUcXY;3?LLxKKy$9fZ zoNAd=$a-{&NB$+{NZ5qp%6KbS`yflz4O|dkjy?ApX!{f%O$xsEgg9dO1QCCRw%Li_ z=>O>FDBf3uoe;BaBc%Q+gqJ|bN(MtD;m z*VW$(lNqAM2dx7@fH*m=!cme#b_Tfe{vGc0m3x9j#**HDb071R_ee0vp0{n$N=?iu zc;%D{p#@5QN3r_Ei^s_YrCkUqKk%>G<7KiYY;xVyxMSZ~%}Co&`tcvNx{VJ^Mo-(#^^QK|vS}Oq zQB;IPjgLwfEM*_NjTls zVn|z_@7(jB1ofldY5w-Qm*!@tkNF8{*t=R0G<^xR=n6tdd-!#mTA4N?ZeQRomLsHm zS2AS*qC5&~pmf?1>rhWz8w3ID;r1q~g!GRvGfGz^92HyZ=u#62Xt28?Bt)%@NP9LL zf7?lY_^%%bCa&n%_sf5z;h^o(fLCB|<8HIxS2h=TcSA%~8w5ocUWC0JTB)p#UWW06 zJ$78FNZ-titX2cES`E}{rMeWBlFcoS$x-jx=8j9ks)v*AmUp!gcgg#Gr(d49uSWaq zms8qxJluIz!9eZIaWlnTIqj{KudBuMf1l{4>+GVt3QK&SDzBUL?)^7Rd4)?C zq*dV-AO;9v;yv-r3S;|7r)$d#1}7(@vYW6Hs`d~fS4BPo<)eX+q*|%fA3;Oor6TU$ z+YrLAksv&Q|FU+msduZ_%)M?cfA;I^#%w;?$25-b?!pnrVRo;`qlbArb>cp33_|B*6kz=R_phlo*vzgxXAl z$Mg5(U%XaKsF%-Az$yAfI7OcrS6mXV8H6!Cs>gQ%>OA|?)~^|z$n%qCsiDq z1c+jJQdYC)MSWh5f_OAY6w_0x*&x`pg z+8hbch=py)W{sF6P!yZIi4k}0kCd;N*eyn&sz)1S!9{U`_i&jvkemWVu^kVY?2hBo zAaP7=*=j%}A)Mz~mhQOET>kqTbQ1?H&ZYv*&zKHt3G+!=Xwr+%AggPuTK_Y%WqtKqRO5Wtg*Wa`s~A@;a?x-rdU zXMg8>c@<(*ah+Ioy4l{S-BK z&^8{aG!ryr{0@&&1&dir*RPysi_w1>BEsbK(`z3$ZZr$8g*Hm4i zd+Ik<66m6_sSdPoYsA-;Wp;=GtR~b( zx1er7)ceQOzNZJc>5+opnh6{$%#ZAwmAO;_ftGIIpjtg(Rl9Fj6-wu3`QnGiCa8^p zRwfXNXTmot^PE~u&%IXDs!%ZsY^y1sQ9PG_w>zd+KG8o*3nms=xljljto&(#k;RV# zk^~Est}`5#rg(pWl~Gmw^nw}YS|iC1Zbdq=Qv*%W<}lJAk?1W#qC=1bKLIUr+o>KC zvC{H9=3yi6+J~OlhEX|WF4~hJ`j27k{c5EBEJoTjO{=>#V6OG_-nB7(s@)E;Y08Dk z2YK?SoXspU@|=w4_>6}*intGti03VvMcbP?KflScid=u_hWxYA^hRjX%4goVx)H08 z8^;uB492auixDWCi-XS0xXJ9(ti6r7(GOe~cen(6%)4hLmT+`idR4rYb;Yd)iqj$+ z>WcWs6-NqiWkN!1cSm-ObG@~7 zjR=2I2%|*;zuN#@$YMTxwX;Fwifs65WnXH0$EC;8p;sbKP5#R!shny^Q~tvqErYjl z)JTd4Sj;#Hi9bUdeQ}I2DVCw_z6tSl)4%>UD0PFRUeK)N0?$}1*s1Dzk-#&RAF2!pdslXmV*3V!vrA_7hBs zu|HP1QyIix7nSkY2~gFJw@#}7V`+rYnp4>c+WFjQOD>zy>XaiFOP7^=Dzt}FTXkT~ zkvaAXeM*9-pZdb4BcXrcv~{yiRGy8OM@j=Q0g;z@N&{AZ*Y3$)$CvMS`_}Cp@#d&@QDZdh}>BA=D4X% z4kFfyX1hxGq5*@y3>+klx%I}!t3Y;kDq zL73}D5Vlc&zu@$MZ!S4_DmN#wuNE=hKIM3ym#jSvL}`TGli?!exeE#VyqxEwlgA(7 ztlchyc^S`ZDtq##%IC`%h72LLW-h@?E|dDaFpqS3(jL!>pN`lFPcX``29}BIXjkb^ zPoPD}g5zeQFWXGBi&NW2)5+qr%&U?9=135glbJAosklz`Y)?UJ3Wp6u9F*YtD;E2) z%FmplL}07@6dZv*`OroBLoheu3uAdxu7>9vi~dTn=v4C6#v-Kj$rCV1J1C?K*SXE* z1ATH)MfxVO{=K;JGpEF603=~)Xr2L^&_cbs#n-;(@(m3OEu&tnKc5%HG}tPg+g!e( zRT?mV(5e|UTR)AE5Mx=peG}7QG`{kUWWNi68}N0VSKN&Rag+4PJOs!M%mNI5^tv7) zpYiv@g*$Vv2aR>znd6&;;75|IoIetJ9X+~rNhZ7B$bcCtf4wdpJ;1ox6*SUb^@yl! zl742A97~TzVjYJy^(PNsTohL^##oq+7+x5E2sz~qRpvm3f+2Yvm-6OaH&svh26S2c zeOgSG)5#OIFfNKwH>_D^r>qoDc+)i$uWSau@)zSb(Z8;tCSjm0ypw?>Qn_MAzA43T z){!Jo2v+I_&+rU74~n;#ne{LBHsDX4Qdn_-_M%vBWk391Jsopvu(O=bTxe> zH__|YFMX7Z+Uc#bR`(*zS5*TqstTDXVIGOytO-K;Cjm*4i;=npsGmV=_+``Kzr!{Q6VcW->AaIDv{)FXM z@|}_Q-*o=`XAY+TI`h?Zs*;W3*+e1_n#&gbqPuDEDXOyy8``xRE~;Q-?ffs?dKS7Tn4l zb~cs_r#L4WmCUGz42P>38qLTnDl!uo5e%kv<*=p|6Aio@yI6$5-+aLS{Cj8qp!3(i zPMmcNr7s*-GE^BvdUL|7LFdYBRLR#ffz%Z7YQ9%N=98!0FxMQq@UEAT6&*dq}2rvg7Po1r3;t)i=D{NdR5a{U|5eC?? zxfDDAsiiI0knI^PB{%5$FvWq>mx)QNA9WGXhK0psWWi#ZYcQR!W(FW6xKNF;gC4Kg zc4@?aTJzezX=3DTWLRDQ63$a?1mM?$}{_AMK*6ov0Zyz<&(g9dAEyyr90ntj*bTRZg>8-!xn?TK!B55{QF-; zae%meIJn7EMb_=3qeCp?+FxXwC(AcjoVItka$C!h|NHly;R@a$VE?l3M|Tcy9a{Uh z$?_RAxDg+A$HsU2uz%0O$FP)mvP4!j&-0C5{?4Yw{H#9jk|4nPnZ|$(tudUWdO#!}Y$rzf3MNfzbCFdF`-^BHvXpmUi)*J$*nE^n;j z58Vq}OMfC%*`&VcB_dnl*Q)DJhp&iUwuF+cCnXc5t*wYRwrfxG>ByZ=4MMl`e>#0@ znjLw6cAGmDHoE<{vHczapj&r4Y!&y;?tn>?6l0*_*()<+qt6;GH!4i&@YqhkkQ-*2 zUXa}_#CA5I4b70AZ;Prb;=^wq%^VE^^N8<51;^O+VL5w(phblZHGo=`crHHrIaFD9 z2#eJv{DGNG(|Xy+e`1@(a_hRB*=hKH7ojcix?IFyp&w3UMcH7lFmT^7X1WyU ze)epWnkONl8*50;m?>A|+znp_mjFD;1^tD0nJ<}Es&vp^7qnJTOO+~X)K?2V)Ps3e zjy9`MYR2{qG$_H<^uL;kTsN0m^VUAjz*^H$rNcaQMxS1HxhT9m;R%!%URr@^=AD0k zchp!?*f9luazrdXeISAE%up5kW@V1l-Qtn?%E0xtH*S8fw7p{| zPOzA7CZB=Zcg;+-bSA_p_gQG3c)@FCDrZT5PNzkx zr`OGPPZ1W0y34Vj9*C14%i+owIZ3Ab%Cw6Q4<%kOUWQ<1b`hEGFEbYy870`iFG}5I zUEYQ9;R<62m!ljbJz~9XwD6CQj5y*nGg#U~P*pfURV@3ggr!M~098&=oPdN=f(UdLzOy>sZtkz9;G%CWaYwoi7G)$blofAPH7iZW522;d-3o(^#X28 z2U|NCKb|g&7F4%=1RFaP>l8&0?U>uSHE3e@9rk^4xjnWb{@ysc7cedeBPJ`0-#9lo zkLvO~z~Y2P@`P}@9f`MX3I2?i_k<@>A(;?gAjFT~gR`MZi~^L~7*7^|d9^Ii6Ikgc zWTR7^TPDj-hb19 zKTuc5^kF%-UfBC(|DhAsw`3YTh=lK|VaR`AhF0 zczhLoOwVbT?}^UM+T|-xrXc#i^lVpBujp!VHU~rW8>mJ8*ozW`vE_|LHNp6Ceq}ks zJvCUB83#Kyj~ho|Rwh``_wD~-JjQmDcJhB%CKNO}A4QDLfflJF8oNc85LE*(Of7ru z{p^+0nc}zK_{sF#dY115j_fH~UQb~0R5IQC0t$+4g1mO>jEMrMJs zTsnGgwk+~$cn;61IFrU%?7EkIx*)a)SQm|i2aV;K@XgLNJ1^kOM7xOHZc)ficAMdw zWvXSqObZ2S^Sl6l^<+QP*$=I3p_g(1@xubK)He=lB@#m+JdR7ug7W8%jerjq%Kv|h zecjZ^x0NSL*NvdQTXWm9Vs6^0Ai)cD^0%U{t!vNhyNrT7@M* z#sU0Typ4>s^f=JcV}DCi4TnrM7b^`cv!!Jf)VUeYUDu3u@=!;k7t;Ho8G&BIo#5`n zh32~w*950P#n1K3ZtKMv+LN(vv*>?9{Pv8$>}9m%7H;p0U(am>`~ttsrRAS9ZB<2w z!XNESiXe_H(QKHO(r(BHwZ_M=uum=vanv8&Ca6TKKvz7qXR25Dt|QOsh3?nvqTsv%qE)F>$R$5r1UDmggx7HGi{txpKEAx%`^&@KtyJ|0c#CzE12Y9@e&-KhH-%{rZT8xiihhV^t@ zUDs~vH3!_R%N)mA{WYtPbe3EhHF|ooGJUHd<`-8J0`^X&_<+4=nP3yhR!eFPXe>Yg zBIYsgzIL^|&-QZ8b~a!m`P6@-y|uQlOna|u+laa1<{WEN$)5=fdSpqkg3P7(9edB) zpuYXSJu=#|Cf|~CCR2BexLRD#CY5-#nT$t-g*955qThcbXt(@UgcC8?C{*v_I<>7Exu9ymNEGpzB4%$>TEk44n!`brNVF5aSxMGC|Bj117xx_w>f!ZUl ze2CptFZMhpe#86Lr{zas!acCsz5sI|w77y69|YSo83DAZ0YnQx9Q$@9#C`iN%=XMI z=L`p`tC_k@-c=K$>(`8Wu`$KagyFGxCu9EmyJOOGdj9ROTwEov9mmvpQO>`8#np(; z4`q2V%d3lJrzCU0)*D*6hGp(t?7gA@YYfgdv7Q@PnU>ui&&HP#$9;AuTl)rr~$}X2NWVf1b>H z#%o0ZRg)hQi|q`djFz_*(z%~KW|C|4DZsFM!@tMC5ytPo~AFvk)H3v%DUjck;TU1E-5cP3|{4-RWdrbnf0f=nTv0YBulm2c2&_ zJn>K^-n!j`%h#R1cHZf3Vi>k+g$FbEg5fWoU3sqyH#r(*vu_c9g0-aWI>V35n66T+ zwZiz0*5o3CKg`ZVdD(Mwn5iz8{4_JvI|>*{^8#SiVef5l9I3f7Y3Y zi$w;in#C8;wP0*K&nQQXFRnJiO?io`$QR57zef&;4)yi~(w)0X_8dxiMAB~Gqw**w zh)fkaNACr3L<_EeD~rXyy_bO`J^r?q;ZV1FcA=d%P2HQ7pX5_yt^1~r!8;PUQfwHM zLDr13zzwqZ#a|=q{Wk>@zwf`f?`_m$mgfoYKsFBdjbF|J$1{tx(L-|1k^!O z6~lrp#7!s!m{VL3aq{1d7&N4VWIUNCp^$I}Tl-^25Pu?n`8eds%DxwU#7>Q&R-_{fPeKKQTxbYK1H_U2DVOC(=dO}aMPu|JCS zSJgDZ`-(wr=5@sotmSP*Dh_+!0F>)`^BCWIPv{)NZPq92Lu9 zHCYG_XzD6~-mJp}(OTX1G$hh_0__{;{49JEjSO>t4rYUmMwww)Z;(mVu`y;~p8kp5 zQM%9QR-8pQ@e)mU5A_XaS@FSM!-fNoEJXyN|(!*<+1f7rQ3$-DyOm z=L*(;+i@^cUnO-LA$g{^KbX(E&hUw5ib9@7VUF9R6EH2GoX&RbqbsV>bla_?uBZ;q z484bhn3bK*yqP08f&im_1VE9l#fXE7A2#G#4#ImFl>LoIWGFVKwii@0fMmU`3`#y4 zor2?=F*2u{cx~6^o8n`gGojQ8hv=|KOm5D9%d7hC#qQ_o0lvU>Z({g?BPaI9xd;9+ zesUJ_&^xV84np2s4COBmoUw>r;(!1CL$}`>t|&3p!ItdbR?`%%E%~OI%M5B8EG9|IPViGy*eekACk!>l4@aCDKu=-AaimV8W z{62|kZj(~xwPx(-oI|YC@!WDhZ&;&8xbNR&g@%i7&diXc6T5V(pEM9Jrk@xl14Na` zj;gUWXq}EM`S5N3=FNtcsy;18S0~}@Dv~#HYt$=iWGd976Il`i$#5;=bTaDvABg>J zDq0P9Ug8Z5=e4+Fv8txc9Q*cv^|QwNIkEQa?as~HYU-B@&V?G@Z+reCQ*~yS{iwQF z6~C<}Y^wA1zVR}StSSVSuj+DK4yAvhv5R3t1<$s^SRo%VT)hY??0Z*jS`j=XA<4tK z^g53|Y3gao^cfixb@OHxC1BT`NnyvH$fdGZ>+z}JKaC`nZLmaJ#-V3_c-Mn<$gx+_ zs%!$U$wsxX$M_el&aCctW|PskXXrK6$N*-m8izU+yedB|ySG|!1VP-EFWjTf>%kpx zT9_bL6x8oYtnf~4CRHSk*s?Y(XA9Vih>ggBv1vnqd@-rHgD!5~O7KQXS}Xsw^~Dl; z)LQ82Bkk+K)eCx^I&NuyOS^Y{EqL3xOC9HL-8bjfweSTHx361V=})^y{Z1IP4g%lQQ!%T*Y##VUg zx(}%^IRxS^oF8@;mxB(r=G&@R7Io(|@0@=7?L5D{>YSc^Tf=igLkoNgLk?$We4AU> znf5lC%o3F8=1Y+npZo9-{0@kPz_E?M2P1JGhJq{+Lk!z&E=C~VWQYwbq_^L=HSqo*{cPxi3{?hImk414On--U!8*!wxvut8llNv9e)ZLd-vw5aF4|+!>^4c*rI{p>~ACN za=JQ0VEEDu&DQi`U2ydBN5a6&xq!9L@eTm7N2h>^ugYk zJONtHo3Hbr^K~8=pWr;8M>Su{Y*=qOXuI}&od6<4+t$!TEV*sbw-1=?Bw8`Mw8~dwX2NOj7 z5`ya*HqISH*!_c^jR0BYn=P#lNcKTGYJVAL&7YjjTd_=%MI8E^-s8?QK(UHV0uNdPZnmJ$i;r-d zy75qtesFa?qRXpwZ>wda$zbh?x9HpF^-onXX8n;%B}}7s^oSp6ex9Dnpaa8cxqmG9 zJM%Dm(mNJ7HC+R&0VI;WrIXtY)!3tf8)Td&{%)d-pMH%p{zXO^*NzB0cD5Dr%L1g~ z#O?T41XTIc2}m=ZlmRGiAqy}a;faI}$E%ANGF*m;B$?t~8D{J7iUh#8jf7x!AVP{Q zmodb396vYixf$@>!67`VITjr@j(@K1gku2@F5BW6Ylm?O!d^nK&^}rh+ zeKhjNMCa+zIOyMf2eH>dv|W{}s#AWLcdE(q;!mV8Ov)_taly3kr}KGH!SYC4FS`YI zlT}N)W#Q_c*E8xiVrLtwfWXBjimnLCI|A~P;&YcAuk#N-u`*tgkh~p-hksuu2>c^f z)md3x+3+%bcY)(MmN(#!9>anFTMj?pHqd%%sPGnns&^BB+OMdkhdTC_|3|d^Kf>kl zzJk9nX0;2Wtn_5~M>xtmag9kHEqlf^YMt}C7@Gmb`mV5`Jd(}wMY8>*F;twh_j@v( zEEdIx22_G%{6@A1qyyQwDt~9y9d@`q%{j#jqatW3U;{2luv3t75tL(p3a9SVF)VT|CnW?_5pPJeUx(m;dYzUDj7 z<`xRTjY1I%9P7j(wyO6a7r+A0?J2QX7&X@=EF+9K%|T3;wd;$L5KJ<3*%EAkh%zgt zZ0XhEnF7X}^>3j;5Im!>KRt!b*5y#FC`g8=_DtIp_*BVW@ zIR7HFPSz*V!yLfbztd_FvMd~CD++}Uh*mQs;mZx92%^Dz)iLz8QT~I9e)_YliXvsPi*_f_tC^^ zyI=p7&vK`_AGtTF?@RU%H@;KdZ@eeT+VYNp$vf5k$ox({=URJ)F4-6M{H*J0jj=cjdX;ZT;BzV9@^9ZPOz(O-m(dTRsQ@8VxjCmVf_^ z*8xyw-&fxp>VKQW|D7J$QN!WwwPMGb`y52$VddzlpD(1ZXM*ha(2q8N8w8!rr3My6 z;Ba(Tra{OI;9w+Sr{^%ZAIz%@xbH0jqB3d0Q@}H&!}s4j0sJ*y;<4XS^68=&<@0(n zG~u6pO*i@P8*vP{C|e02`6Qkzgt3xax^e z+MbJUC>psLd$!m*4cLkawAl<7HtjeQ+U5!>1#Y^>2h!C=>cL85)}svN{L^Sg28e&Z zmZPYq)`?ssQw;DZv>w6AXxMrm3CEAt#$3_uljm|^8aOK5^qOKsU4w&$#LDE5&{*`% zt_jxZS%1tjG$rIPDjxyUsQfVZ3P_sy86Ps26p_t|HuOt9o%ymKKu?&y2>19m1L*N@ zdp)80`jq;Y`;_{N)pY9cg-mpyujRw*=WMTOfU*P^s{Qlqqv93BZCrW^WjZ%pes9ma zA79N*%c)rcliHvBBGf-^-ub7+IbY9z*FOLK`hN_3;|cQhcm_VGR(^e~{p(}x>vZ_* zW9?rbYxi{Y>tpS09&3M5)|2to>ta@>xXKvd!Dp-~kolIiS=?@=k?mX=ziS z!MP>@%*m#UIW3b}Zo5uq+GI+0;Mp+b#=5z3mBP1!%qmmSpG z9-7n%S0vJ2PH@uUqaU~Ldk?YsyZ5IvZ+|9vKY+Z)>ji~+?u+i(`PMNw?K&YaA3t+E z_Away9ErUQ10Qb5XxkZ#-Or2tO^L{CSd-!RITUyY)ffzUCERq!zFrTFaBA)2jS3KLXM+Bv|Uyflr(11E0222tJ!kBdoL4 zRD#b&(+R6=J*D8&W?I3g-PFPo?SH2icBj=8gU?#i3_kJ8AiEC^_2s-IcPr^7xm%mR zBzLR%CAnL7-Z3zF>*3b6UXr`D#!GUyuI)>5ejuu=7# zAni&#Nt@(XcKv;`>r9%Z*W}l)`?TQa3)`pp&0h9rFMG5>>nQi1Yn!$s>3<7nRbM6V zXO8=wz7tLl{vDEGzGpsPwLk7^?B0Y?L1f~ z#vC4>i3oFp!z0fFrGs1juYV7eetn?y>jR}-K8e;Ck#(}=V#>Jp{eL&_-+#QBzyGEu z$P!(7fv8Jyg+VQlrfT%zax`{CorQz8M#F9%@-YGZ` zJe?^u4IXDz3LNX3c#$ALPmEXQG-y_q^KZ{Es#x#97Z4^Z=Z~h7;YErA2f5y92Se32 z$^T^b!8gG@{m_FCV}H3C+!;WR8KA9Nd4}>Fv{ZEo(+=Fk)c%X2+rKS{3$Q&02a^LA zZ^|c=DI2sm`I*5PY}*iK4Wu@_4<(~zvHH7g@`Gwoz3#E$XC3;kzK@&$m>N1m8*efYM2^M7V%b_yfa?~L#8i-#~2Clme{k=+C1jTnqhJnBMR;RqZk3yLOTFl=R4 z-QWb%Nl;4TtKE;z^Z8lPRr9h-0z~y<#CMn5BUx$j}1#iO9;vgH%P>mRWyce z5MjTF0Qq84^LYE;fRbH8z{)n$9nM?Z&UPIGt%nnQ2l$k#uZbzkDYZJ9xa?u>OblPogXtZ8H{} zZ@}p!?szt5a+sJNUrfWp#9BDU0LwnQSX;qr;AaWi6kUA%CSMoM5&`jAGM0S!JwX^X zLn^k?vV$McwcsTq)ZRW>N%gORXX^4>4Y;0M+kYF&h<%WsVP+Lun=aXZ=Y!6OZR*f) z(mBmLr{8|73@Na=n-_V-cX*P!I@M@0OISqSf3wUlzmVzmx>yz=Qtg~fLwr(hA66@j zNyk-%z@9kC3?-}$J1{f|%nj>#9$|@dc-s`sU!EN%Wt|+(tyq;Or_+3X;aNn$KGhi? zb$_Pk-->P0Iu=eL1cA|4b0It8Ql|NI1g}2dzU|ln!A#6V+k7>J7|_xP2>Z35X9Yvk zd{+1Vn|Je)J2L#D-UYIlCw6ODH^hH*yxs<+4Hx)E_D%;U?|FGyRNtPmsn{g`6~0J& z8yiLDC73Vq8*9>eT`%r`_nmMkU;^wrWPdkRW!HGTfN>Qsi22$Jq1Q|8YiBkcv}S11 z_Q?{ZN@}Zs{m-fbBGLC+PRbxGM#W~k99|Ealhp{O&Y?SU4z1Ix$fUZHe#6>(CUCpo zhu6Sb&$I@lH+@K93T|Qo2pdsmZ1X#tjO3w=JGrvuw5+?mu3E4}T*;?P{w3Ko+bWpJF%W9OB@>pEOv~=Dw?Yd6|W$N`KA=ar0rmG&2$nw+Wsv5<}>7$vpY;-Z> z!+9}(*!@$2aEIM_(uHJdHy0if*-RaYiUe^Y?wou2kA-5aXUId3Kw=m>Oa)y}0)@`K zdc2|EfB!w>hm6}hI(nBEktHaZt$%|tL>6BVusV-Fl$ceKGh9%5=@9yOHnzn0W&CJz z%H{lrTT#*JbeA8$i6dD!EQ|M>A4763R}A|T9>0z9nn_VMV~VN`U$!&>LED$CyA67x zIw)Rm|DfN+@@ybz4j0xv76V4hn7PISVz6rZ7IhjQ%cRUjKfHYQ9a7Iw6sln`aDS zR$e|HBa4B3kIN~Vjg>G?nSYT&J2Z?NQ4c4wV6@|^?GLdT5u)IcUF4&$TQ3jcRGulZR1W4+pjKcyW%-p zvb1te(HP%@r=e`;Wc-*3yPw1<1BCb1j!){BL0#ts21z;k6uf>K*MHzE@h&>L5#Kjo z3dIL<`O~Cb5g}Z~4>uo2|NXpAA4eg;qL0hRF=)vBzAlg6oc!ft{q_&ZR!gmbG2hBD z0EM6zVEXkM0t9NifKZRWSlM_SMqu<~DHb3<;~|jbWf1}@<(>dE9{SK=kI{zhd8w3So8~8q~kPDq3FEx zh?NHCC*cf8J}W}9^hr77)3-+~AOc}$&x}X1)lUly-zDH6`1OJBy=@#r?_=94XK#V!9@rAD&#SEEzkJx+O_c#E&)rhmSJD`fQbd4+cE_hk3| zrfbLk=mx<8{loKOxy;WJo&q%C#k*7o{0%Jos5bgcmI=_80DX^wW!BmDDJ=^sa-Iyj zeY}4G-P)rIQY>6KFdn{A>TtrtSEtj-()7Mx(pyV`dr+q{JD^FE_J3kp?UT*;_M>}(sxg$45lYbgtVDCGB`aTey{FAq{JKJZm>GXAHMLySmXJyVQuCIDzE>*#m z$l!{&_-X6NAZmq<3}5{^@-qb#%GtS&%%||f#bP=c=706%vanTElC`#`DzCJfs-;N0 zhFUAP7MXyUnd-uymmf?}mf%96fy#u#qyQv2YW5V$bZ)pjoc{XDLQbgM zD{u{leo0s|5y~uAWj;zp(&k4F~@RLqVzf6?5d;4ae!3t$| z6s*DX#O1uKi={K5q$-DUSmJ(%6m*o0;i|e%_3sxY+gdVdhPvhTc?{Fiz{wh&F$EwP zNGI2DmgemVi?Ml7jrJGlTV0;Vas1A6f!=I+Vt;544#vj2i1RUN=I)Na*o^Rj z!a($P>FCFOq=~$pp(it05V~4v%$9TZTPz$fF*NUAW=-}nqm-{5Yb5frd zrh$hit#cxJO)ODA6<0M|kRDFYiqk4Lihr0{PDzL`Xuv~)7fM9dbbvFS?k{5n(R2$- zfQ$q9v3MI9Y3XsGrN{o3Zr_fVa!&1pWHd_X+>Ga5Ut8hcY<=k``&+XLBGftEUy=S%R@-P7407U4H^; z@vH^90{hKU_3f^39PZw>7B{>6)O(cEo- z;u&r&kjHxrn<>^f4s5pqQa#lxPk-8kMkv^gNUzbXLwUCmVZy&K-GtqabI0Jso{NB- z8+Y9Z#o4~^W-}T(PduO9-Y52Z^B%9=*Ti0W`lr0n6FR9cjcwFZg=VepI*o|**>ttH zJC6SKN!>=spja`keo4`y3V9l(9s5mp!MT0DF`5i(zF#2?b0XT~W^Bs-p?{a0{1oIi zNKLU`bCI+lJx)4&pe}gn#QQJ`Ii4f8GXtPVF?^gQQ$M_*{7jGE?+F5&h=yhAhYe}k zgg;S&kul*zsK;-nSLa4|&l6Smu18!|w69^OB)(Q-FNb}5Bkn}Z-qHB&bLc+9sJRnz zKjSxd=3l@INI;CG*g8? zd&t>G?Wxy|!j$03u%q}~4&@_px-0S?Dl$(in%8lh<~c>qhbs9!NPg~Z^R_LI)G1ze*tgb81GVT^!QD?cd5wE@H4zj zwZX{J$KJ2Wt5r}@^K(^)H`|R3>}uK$jXt7}j!gPPL8o8JLqU_}x9TLK<(n>(rQTsT z4|XE7^|p&`m1yz8i{p#1&sSco-mdXx5O_{Y9RKn46_~HDz<+#!ufV)WdIhFIk&|&3 z)ydF?s+_xqCaKX^<*IWrnZmQ^;Jbk5OT1L1{qz>3jwh*lqJv73q~P@&Z&XT4%{6Wj zg|GPrF5$MmgUher25#Vz!@3Am;>}x)fh|FufB(L7(}PK!BPQR|UFR}v^4(rEtam1C z_+Y}7WAqjavk2=>?*N-!_qUfodIKB*%$Hqy0~mkUBsk3OGgkGUP16tDVMJK?(g@A> zXDURJ_|sgB$uO)0zBEEli}_i7j_~|zV+pNm@ouZ1jU|P>AB&0ajb&Dgkt!p;$BOvR zSHd~|)G(95hU53hV|~8QO=Yf@Ecunm+Avw0gW2CdtL;aQwPffohRN#ls{Ftm?yIVV z=bL|@oxJXltHJ2z0@v`1PXG4JgU+y=u4eO2|6b?Yjz~RJskd(R z?sxE1<((!Y>ao=d@6~}#!2d2mH)@u4bryB_(5zQ&CAwk4Qs%%^`-)`9~-(QBCGtS#>t7+m9ks%^#(Lb$7mAF_tX51-n1!va8lh#BES=(B;+8TrGRGh zb-=mjGzbEvZ#N8m~p|_lQ0Wk10MneL;|0dL#F)(-ZiA3_*fDG zUDx$=>r1Jp?|WQU`O#wYux&C!H#V2ty{!x*N6K1q@0Lm&42ZRai-II$Nki}2Dis^| z^XN!*=}`5PB;L70twOOLevN;1_%+sHQ>;TcOXX1vRSXW2X+3Rc#jLOZ>C<+0fCmed z0NL5r(|s>OPxrkrp6+|$f4YxfH0KXfsO#AF8*v22ytkeFPF(X-d)!Bl=gUAdBwHKI z1&|e$rS+3^bKR-A=#M9aKPlYYvHpO=Mf33&XWSm@4}RJpbka*v>8vI{zvs^MlTEwS;S{ zL`}i)BC-&}B)>i|05~p|&A*tLW6_3EJPD&RpiY(nf6NTg43;Op5y1sr)A?o$0QdGk zq-K63Gf5v#Ygn%p$^3sRo2j#d!Yvf4CzI2Hzd-uwpp#fs?(JkTij_CYNCP5aHAbrF z87TXzUxKPhlu@MDWEtBW6Dh8S)Lv5{gNqdfqBEgVo~f$WnW9HLpAMV`QKQ6x)K3eH zjxUF#DTX+ta~ks1l=e@16Qof;rV=w2`euQeR6t?k8&V z&Z7lC?eg-&0pgd70L=CfC283dXh+4*sX50NCr)z$fp&00^;mz4SS1Z^Z7e1k3HI}G5H#BM5oD^T8d9mdiDvKN!7xc<{v&C!0UxgDs6RAIcK)`;*< z0Aate4+A-d!?Yz3TA+qRG!Q3O>n zUfy>VMc$!k$>I5AI${F*zN;>^DE)LEj1OpozFdESWA7kNk77DzL&e~tU}E}m$ipZo zY||M-gTgg|2L&&0rGT@x0_;%=EPsNy0{GhvV})2srP zO2kW8iNqiww>@APGX@}ME*Co=gZy2ej=jn& z#_{^q7g<=Q$IAGtmAPAfDh`y0AIfrC_WTFH8h zraW~9?BPBuCK6qP@3tQA+OjD)>4_}?`}pIqSWs3H@G5;1Q!_ZZas}i>ntPfQlz{Q~ z5o~<$tKa;q^RJ&7+FSk~(enQYm&br8{=!drD5*6J;7VPHDmV6rC_8+kbZSL>pNwLr zJhtDCKku$xv&m^V{D!0Opfi2gRknXiwoFVD8(|B2v9SN2qfwWcvF&VkGbLn)C-oB- zZLB|Pkq^!w<%SmVKPEeKNERqv1Ix55FIJ0?$7@-QjtN1Yj(W&g-0jxgp(b0)e_Iu+ z;$`)EWgg6%T20{!O)jwJ~1BX0+fYk5DKj+pu8^r}S*- z4m$J>3{ov4KeSYuV(GJhIQhk0Kc$*vbo=H=a!Qj@3N9w^= zOCSC1b3Y$(m(`U=Z6&R@K8t?P-8NdvBsV8rldu1-1;V&-_V1$=m&1btFn>BO*s{lj zwLzbS07xJX+?65|uI;^-rdwr^K?~TZ_3R90uYcnsEMW2cApNNP%TjeWst%npAzlDR zh9d{}aX}Si9dWETVT)qF^S_=zcJhM)`+jH4YDzrJfQ!aBkm)WKaGB*Fmc9s<{j~;P zgZy?4_8mzaLK+67crLq-r3t&2cxOm^k-d|bdxQfwf9EY31|;n3W~T9tkF3(Lm&8~x zh<*6mY0LF{zs#8!tSe+j%2spzP|!(dwkv!K7+DCCyaP!mdMC6-3ZO!z_c;Nmz==zjARSowh^;#L~?r)^${c7&mO z9fd1Jf1*nRSKAXqzC?u&6t*BENhCJ|>KDU^aEjeg4V11ZKIv$Y5JX99?JQwq4s-CV zTvxy~#u2;hQ`<(sI)!|@hDyI*VVNq?(8-StuHXm88K{0Wb2iY+wk2oe@LHo{;zUlv z_2gu$O~YX{k_`Pc&rRqfJtxdc2srU!vTPdvTR=yynL4spUD^;Kfgg{ zCbh*RTmTgs_}vx>mkfpj9e@48#c+VesPu9kr$dIrNlnvp-1VisKDY%LXxX^C zz7EL%|G~`lJL2igj#eg3`9wu@3v1oB&OGjtfF|<9<6d6}bLo=?qa%X zCl9r^sotU72px6W=bXr&ThZg1dE)acsj1t_RxRCzH9v8y&GyN(J4Y>q2|HeiDA6Br zf7|+7QAdN@o5{k@rrgS4wSIddx9^E9bjTs$oqi}a806REmB3~h9Q;Jd+LEXq!qP?N z! zyTAIEPKN^-O^u3#;y3(Da)n`|*V{yTt}9FKuz!61Jp6%e-y-}wW#X-q zM{wvcn(@$jD9kNhzq6KB<@B zhXXQytDWWd<_Sg|^c6{Oy5@x)J8<=rj$e06{b!TL=;xw~icY(1j&?yvYn18QA)Idd zjh4hMwDfh}e9raxO-L#BvAy5tpl2{vd)IUo*+3NNTMu3HJO=DngqOBt-`|0Nke}-= z=wIc&07Uc?cK}N8+z8#DW{g)?`LKrX4;KM{noGBiAd>TPvXm$^FWl(&n_RD&`_|~( zMXaghHx6`a3M zrqi!Gg7tO;lGQ)&W?!Lr&Gy89a=l+TP`6B1`dW%7SkTqps8ML6+7_HY}M((=W>>|I$U~bJrYoMPe zAE-;|w{DZG>cmH@pX{TR;=u2Hc^LPeAXwl_&?tXas%uit-O%`LtS8&QzLyk&!FTk= zn*SCbvfp~B1ml`pHl9uv9>q2!{SQy}bDjO% z%C>G0a6l{3Dx!~1IJEx#AR40gF(3R$06YnC?Sr-MDbVVco(bGW09K}dbH-4x?Cl0X zT|0m&e*)VKHHt}J!;StP!i~0jU+P+iD21)Y!+++L3!FjnhCxjq@kiNgX!pfA+cvd> zAgGqeZwQl$3vJ^f5yP-{pw%z@U9is_P}Nb&WD%xuJ+rm#&?7-o7it^RE;*LnC;ft` zcvc(dE76dv)f||qOV*QrtiV66As1Cj^)s@CZm_;l%bPrUax`DN<*)c=u0`xl-yx^_ zW|Q6sSm%Y#!D9HSA5Up-d{(x7J87ap$ku*Iw<$O7+zUsLQX_p`W96wj811n|*dHe- z7on(a*BipMh1G&OF)ts^v5KV`oTnv!1Y_HZQG+D^aM{#tJ-}ptbno8W<>(p)GTn%U z*@T9`!&`A}NN|RRhWNs9A(3p3NeHgI{v@|iS(x^~IcWpuJ0)>=r`^e&91T3V!zxlJ zFU~yuf-yvR_hGS1*FD4*2W%00`_yCRKVB5Wn5p0Q0-+bs7t9bU_QyfzF$NRE5``le z1)3}_Cv5+)PU`4?lJL!u0XMC2=e|pxhZZ?^@*zs}5b}7yv^r%w}#j2?*>f)!T0|0raY@J_!6fkUwPE4M#bF9`&Zet3O zXZxWQKI=U&Hk5Op%#kHRuFC30n3lz#KRC{2XCZ0+oIX*pwU|0KLxWZlR!CrV=gLS! zm}vTGarJHQ?mDUA5391Qg;inQIEXVgP4ctY-JZ{X3YVtcY<~l^#r>`4;x4UK-rrrg zvV5_s)ga-2S{&x3&0=XTe_Q3tbG%>nlvto*uSY~VYf%+|Cl<(c?eMTs4;0xUCa0M) zPx`{T5-_@E<|(fBh=A{F9p>t4T{R#oEZiNDt7V?c7-q?ec#;q{4UfT>RJOQiZ}V{i z*N!B~WIbB&*_UUBF}Jp0?(O;qd<;u$*KzD=dxL|2^d^Lv-&Fkkp7{qICESvNFj5P> zVoIIZs9rQ^7hEjwYF%LJG(8+zZ!r+PZe!c{SGy4Js*M?GFPT@vbYZ!^ae>jtcjA-C zvdTUYToA2?p;@OGnG|v3?|(Zr4Lp_*9MkrOg_bde*L}4q^r7<$u2&?_EcnRzli2Gv zmfiM$ip`C?srNwOBluNBIpw`r=T3=*@A6QpKP^NjHa&SyyG3LZ_sNPK%W>_-oP4XqEzDN_=F$X1bX5Sq1iG1EKigftT3dAr z9XOjbYN6q%C1ZUJQlS7kWQ%gq#)<+T_hM0h+DnkJkF&O@do|J@e|?%69rrDQR$VvO zLB4}MZRoQpQ`(>SCdLZZ<^p}BKTi14b#8IldvC2PA-9*S8tg03=JrD@ zKcCj&5395KEOxsV3hdg|Lh6aZo{`d;T3-@w+XGLedDEn z%YT3yalrswPRdU`LVJB_3zGC1{~Fxcej=FG8Fg|2 zXL{g02QyT89Wo{n-pF{aaUa*?4(Fc_`LZ)-zw(aY6S#T+r-H4mA+4Y{xium#j0_IR z4bxll#>jx&Fuk+Z1ygV5T5C?Q`UlQ`gQZbk?j-0$S~CzcnLLvvMz=+tJS%F%*{Y)< z4N@q|Z79(YTioY>1k&B~w$47})m$?(+tsglse#XL*#|6)1;Hzo9WIT4&DTl*Vg(rOJ-SSw_k=#p0Zrs*cBx`}X;YiHbfqHj;ltJxK zcq(z-u!#{{@9%N3JKXwWw~>^?QBVR-Z^uXMJKeIf(ciTi5TeYQdziG~1HS2{{nau; z0rG0hbr9m;jvxuwOn&pIOhrQSV551JyhG?E4h z>GQ<7aW^H3{u=aAhpb{$x}IxI;zqe}GQ_rQ+*4GUo%PAkj(wL=0zKA$W)Im7DBc+6 zlP-#Un@b14=4^Au;BRFWmJh^<=Sd+`X`@L}?$BpHY%@g>%dIGu=IQB5i*d=24A0Tj z9g%joS_d-R_>ABmIpv;#pZP>_%*?0>^r>nVC&$>@5v# zTXyAGN0!GT96)Ued(81ZZ$CVdd!u%DA3p!32k(`E);`|Bs}th`pZ|An<6UEl1FOZ& zZA}Fvvgn$Z!MA&7JK5JcuwC!(c)K2ootY@BV3LV56)LTNMw8{DTo$7p#S{4LnnnFq z-EDOt5I%UIw_Zs7)~+nR1${%-BF%~k?SGhoM}PZF_fW+!ZN#aOb=V6(T7GQnObi?2 zR$jz=4NT#Yaf*hCqOJ|olWv-e^cGb}NB`xo@wDyMbqS_(FEv61e4Lx?*)(UU&N04P zyZh~uUOe7^&b_90(B#K=%|cFrRMK0kCQQ0^%kCOiVD7CELuJc`0dhznh;Lr3X~PJl zm6v^ey41$m3rLc@X-^!Z&*18?Ywf{z^)5+q_#98q-E1Ff{Ifre*EBI3G!`qkwh_cI zb-DB$y6QFuqlPt42XzeFX0frPE0Y`40h@J?1n9tCw~4xw9tks+(yrZwNU&;H!%Zz& z1fsL@eX^%P2U22ZNWST*Lag2I&_}KD<)>sMLZsi9U-&b0{4|{5Nt3e)0yg2iE$5-#oo}zo7uQ3XX3jVq)V*LMs!-SkbY^=*R=*=%nz<1 z7)h?ep}VXU51kZHK;G7q(5pEz>vyF$d^}=}JS(d!=d~P>er=y|`Kh?7C-bw1)3f5V z%8eps*4oO(i{eAgRxJZkqG-oVx{|!-Nci$C!gn)w)<1-jGH<&t)|n zc$O9s=o0SM56=&f)kDwxHqhK;k$6Zu8J)-%mq79*1&seP9=m;)gUd!!@w$cPU2beM-bmt&X%Jb!CD8=I-Ujahl`u6~bwAg5*j z<}E!h@2xp6bzMzPS2Z4Rd95y7y@78^VGiw#yv$3KuKV7{0R-nx3d@8P&QXS`yEjS1)z;jq8{h`p&!zcFXk zW+R6E*?&?j$BnNmm@#FwdlDy2i~Da&KD2x@NW#1idU}wPk)hX=J!klIfnQv)PmTRc z^yj!7J#2Hab5k1$-)wsi=;{)ce9iZ5<9a6zKYV7K1j#W2-~$c6kN+kYF*ijJ_dca$ zLI|u4^@mL(L2okq9Dj2$<8(aP^sOZQs97B}Nq?yde5R==+Cv-doXwr%$>|iHKG^{8 zt*F+e5es%b`2X9xn%%Zx82l>3utRzgHlV|{?9^ZhutS3ZJr6-zyG_u<&N2tZ4t@8L zGG$XDZO2No<&aBa{ZN)gilV4b(wja#KYf|*)A_Ia;rn}R*jLsap@|ALe&Ge(isx~& zj(_qTw`ihP2^UVx&PG6Z{Od|^l$sJ9E8MkT#iIsAg@1Z&b=_B6l{Ji4SPh->|EsZM z80H^7eyI;TtPJx{^(6Z9`{;9T;}H0Ms7X#rUJU79Fqg4vD1ZxQnSkgni$4RA@<0!h zOu}@T!+gjCB4dTyWtsN0l*N_M+GWq37k@pA3@Jf=8tvkf0mJq@S+NO{px1BxOQtfWs*n^+C@doKiS|$;8 zLcnf9CsZy<_@>1&0kaLSl4x+8xX*_gk-z(u{%da`>M{SS;4*%^avjxc|G4g$E%uqOMc<`dFmQ#bDMjs zYlu^4rEFjhG0C^ zS#^Ag+9+^PX0GPQY9f3 z%n2w;&2A?qJhP2x%o^s@s~~((byfVNfV>`yXw#%WHq{xq@U@ENz8*gwYp@ZB!PVEd PKVSa>etQQYwwe+E*v}%u delta 230512 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 Tdk??)_0#_!@VVFJFOd=ec6g92