From 20dd476f827ba006980d2a3e44ce303c194efc3a Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Thu, 7 Feb 2019 17:10:47 -0600 Subject: [PATCH] spago version 0.6.4.0 --- purs/package-lock.json | 53 ++++++++++++++++++++++++++------------- purs/package.json | 2 +- purs/packages.dhall | 6 ++--- static/js/app.min.js | 2 +- static/js/app.min.js.gz | Bin 73671 -> 73682 bytes static/js/app.min.map | 2 +- static/js/app.min.map.gz | Bin 233105 -> 233133 bytes 7 files changed, 42 insertions(+), 23 deletions(-) diff --git a/purs/package-lock.json b/purs/package-lock.json index 0ca922a..c7b8be0 100644 --- a/purs/package-lock.json +++ b/purs/package-lock.json @@ -3158,7 +3158,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -3179,12 +3180,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3199,17 +3202,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -3326,7 +3332,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -3338,6 +3345,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3352,6 +3360,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3359,12 +3368,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3383,6 +3394,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -3463,7 +3475,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -3475,6 +3488,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -3560,7 +3574,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -3596,6 +3611,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3615,6 +3631,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -3658,12 +3675,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -6794,12 +6813,6 @@ "install-purescript-cli": "^0.4.0 || ^0.3.0" } }, - "purescript-spago": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/purescript-spago/-/purescript-spago-0.6.2.tgz", - "integrity": "sha512-Ayt7TWsuaiNj91QbsRxb2F8729Kl3vjBN87wYKEybdYhE2KdUaaaV5QOJ1SkDV1emh86iEZRB611KyQ15ae0sg==", - "dev": true - }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -7552,6 +7565,12 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, + "spago": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/spago/-/spago-0.6.4.tgz", + "integrity": "sha512-ODkV8HunSbGXCQTM7zjpxpGJ73Y4Lg0L9/XPmIDvJY+1geucL2zSwbTpto40jwpMvw6NoH/nUAAiD8J6dhvBZQ==", + "dev": true + }, "spawn-stack": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/spawn-stack/-/spawn-stack-0.5.0.tgz", diff --git a/purs/package.json b/purs/package.json index f25a853..64ac7fc 100644 --- a/purs/package.json +++ b/purs/package.json @@ -9,7 +9,7 @@ "devDependencies": { "parcel-bundler": "^1.11.0", "purescript": "^0.12.1", - "purescript-spago": "^0.6.2", + "spago": "^0.6.4", "terser": "^3.14.1" }, "dependencies": { diff --git a/purs/packages.dhall b/purs/packages.dhall index fbcb088..c124817 100644 --- a/purs/packages.dhall +++ b/purs/packages.dhall @@ -1,11 +1,11 @@ let mkPackage = - https://raw.githubusercontent.com/spacchetti/spacchetti/20190131/src/mkPackage.dhall sha256:8e1c6636f8a089f972b21cde0cef4b33fa36a2e503ad4c77928aabf92d2d4ec9 + https://raw.githubusercontent.com/spacchetti/spacchetti/0.12.2-20190209/src/mkPackage.dhall sha256:0b197efa1d397ace6eb46b243ff2d73a3da5638d8d0ac8473e8e4a8fc528cf57 let upstream = - https://raw.githubusercontent.com/spacchetti/spacchetti/20190131/src/packages.dhall sha256:b08ac97c4447bd49d5c5fef40d95ff181def4a84672f84b79035d01e59d53905 + https://raw.githubusercontent.com/spacchetti/spacchetti/0.12.2-20190209/src/packages.dhall sha256:e330a01c5c503c5dfccda6c38282ef03d10005a67291b3f82ddcfca544ad8bc8 let overrides = {=} let additions = {=} -in upstream ⫽ overrides ⫽ additions \ No newline at end of file +in upstream ⫽ overrides ⫽ additions diff --git a/static/js/app.min.js b/static/js/app.min.js index b99a9e1..ba87517 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(c){return e(c)}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(function(n){return function(n){return!0}}),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.eqInt=i,n.eqChar=l,n.eqString=u,n.eqUnit=o,n.eqVoid=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.monoidFn=function(n){return new r(function(){return e.semigroupFn(n.Semigroup0())},function(e){return u(n)})},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"],t["Data.Function"]),u=t["Data.Functor"],i=(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}()),l=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(n){return function(e){return function(t){if(t instanceof i)return n;if(t instanceof l)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])}}},f=c(!0)(o.const(!1)),s=c(!1)(o.const(!0)),d=new u.Functor(function(n){return function(e){return e instanceof l?new l(n(e.value0)):i.value}}),v=new e.Apply(function(){return d},function(n){return function(e){if(n instanceof l)return u.map(d)(n.value0)(e);if(n instanceof i)return i.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),p=new r.Bind(function(){return v},function(n){return function(e){if(n instanceof l)return e(n.value0);if(n instanceof i)return i.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=i,n.Just=l,n.maybe=c,n.fromMaybe=function(n){return c(n)(a.identity(a.categoryFn))},n.isJust=s,n.isNothing=f,n.fromJust=function(n){return function(n){if(n instanceof l)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=d,n.applyMaybe=v,n.bindMaybe=p}(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=J._3(V)));break;case m:R++,W=new h(v,new h(D,w,y),W,U),b=F,w=U&&U!==N?J._1.killed(n.fromLeft(U))(J._2):y?J._1.failed(n.fromLeft(y))(J._2):J._1.completed(n.fromRight(w))(J._2),y=null;break;case g:R++,W=new h(v,new h(D,w,y),W,U),b=F,w=J._1;break;case D:R--,b=_,w=J._1,y=J._2}break;case I:for(var Q in B)B.hasOwnProperty(Q)&&(q=q&&B[Q].rethrow,M(B[Q].handler(w)));return B=null,void(U&&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 V(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=V({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case T:U=n.left(e),b=I,w=U,j(d);break;case L:null===U&&(U=n.left(e)),0===R&&(b===L&&(W=new h(v,new h(g,w(e)),W,U)),b=_,w=null,y=null,j(++d));break;default:null===U&&(U=n.left(e)),0===R&&(b=_,w=null,y=null)}return r}},join:function(n){return function(){var e=V({rethrow:!1,handler:n})();return b===T&&j(d),e}},onComplete:V,isSuspended:function(){return b===T},run:function(){b===T&&(A.isDraining()?j(d):A.enqueue(function(){j(d)}))}}}function U(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)}),M=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=M,n.drop=function(n){return function(e){return c.drop(c.length(M(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"],t.Effect),d=t["Global.Unsafe"],v=(t.Halogen,t["Halogen.HTML"],t["Halogen.HTML.Core"]),p=t["Halogen.HTML.Properties"],m=(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"]),g=(t["Web.HTML.HTMLDocument"],t["Web.HTML.HTMLElement"],t["Web.HTML.Location"]),D=t["Web.HTML.Window"],b=function(n){var e,t=function(n){return d.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)))},h=e.bindFlipped(s.bindEffect)(D.location)(m.window);n.class_=function(n){return p.class_(v.ClassName(n))},n.attr=function(n){return p.attr(n)},n._loc=h,n._curQuerystring=function(){var n=h(),e=g.search(n)();return b(e)},n._parseQueryString=b,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.fromNullableStr=function(n){return u.fromMaybe("")(i.toMaybe(n))}}(t.Util=t.Util||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],a=t["Control.Bind"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.InputType"]),u=t["Data.Function"],i=t["Data.Functor"],l=(t["Data.Lens"],t["Data.Lens.Getter"]),c=t["Data.Lens.Internal.Forget"],f=t["Data.Lens.Lens"],s=t["Data.Lens.Setter"],d=t["Data.Maybe"],v=t["Data.Profunctor.Strong"],p=t["Data.Unit"],m=(t["Effect.Aff"],t["Effect.Aff.Class"]),g=t.Globals,D=(t.Halogen,t["Halogen.Component"]),b=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),h=t["Halogen.HTML.Elements"],w=t["Halogen.HTML.Events"],y=t["Halogen.HTML.Properties"],M=t["Halogen.Query.HalogenM"],E=(t.Model,t.Prelude,t.Util),C=(t["Web.Event.Event"],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,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),H=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return f.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=S,n.UEditField=F,n.USubmit=H,n.EarchiveDefault=C,n.EprivateDefault=A,n.EprivacyLock=T,n.usetting=function(n){var t;g["app'"](p.unit);return D.component(b.bifunctorHTML)({initialState:u.const((t=n,{us:t})),render:function(n){var e=function(n){return function(e){return w.input(F.create)(n(e))}};return h.div([E.class_("settings-form")])([h.div([E.class_("fw7 mb2")])([b.text("Account Settings")]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),w.onChecked(e(C.create))]),h.label([y.for("archiveDefault"),E.class_("lh-copy")])([b.text("Archive Non-Private Bookmarks (archive.li)")])]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),w.onChecked(e(A.create))]),h.label([y.for("privateDefault"),E.class_("lh-copy")])([b.text("Default new bookmarks to Private")])]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),w.onChecked(e(T.create))]),h.label([y.for("privacyLock"),E.class_("lh-copy")])([b.text("Privacy Lock (Private Account)")])])])},eval:function(n){if(n instanceof F)return a.discard(a.discardUnit)(M.bindHalogenM)(s.modifying(M.monadStateHalogenM)(S(v.strongFn))(function(){if(n.value0 instanceof C)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof A)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof T)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 82, column 12 - line 85, column 46): "+[n.value0.constructor.name])}()))(function(){return r.pure(M.applicativeHalogenM)(n.value1)});if(n instanceof H)return a.bind(M.bindHalogenM)(l.use(M.monadStateHalogenM)(S(c.strongForget)))(function(t){return a.discard(a.discardUnit)(M.bindHalogenM)(i.void(M.functorHalogenM)(m.liftAff(M.monadAffHalogenM(m.monadAffAff))(e.editAccountSettings(t))))(function(){return r.pure(M.applicativeHalogenM)(n.value1)})});throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): "+[n.constructor.name])},receiver:u.const(d.Nothing.value)})}}(t["Component.AccountSettings"]=t["Component.AccountSettings"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],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.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.Ord"],t["Data.Profunctor.Strong"]),D=t["Data.Semigroup"],b=(t["Data.String"],t["Data.String.Common"]),h=(t["Data.String.Pattern"],t["Data.Tuple"]),w=t["Data.Unit"],y=t["Effect.Aff"],M=t["Effect.Aff.Class"],E=t["Effect.Class"],C=t.Globals,A=(t.Halogen,t["Halogen.Component"]),T=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),F=t["Halogen.HTML.Elements"],H=t["Halogen.HTML.Events"],S=t["Halogen.HTML.Properties"],L=t["Halogen.Query.HalogenM"],_=(t.Model,t.Prelude,t.Util),I=t["Web.Event.Event"],P=t["Web.HTML"],U=t["Web.HTML.Location"],x=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}(),k=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}(),R=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,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),q=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),j=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=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,destroyed:n.destroyed}}})(n)},Q=function(n){return d.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=B,n.BEditSubmit=q,n.BDeleteAsk=j,n.BDestroy=V,n.Eurl=x,n.Etitle=O,n.Edescription=k,n.Etags=W,n.Eprivate=R,n.Etoread=N,n._bm=Q,n._edit_bm=J,n.addbmark=function(n){var t;C["app'"](w.unit);return A.component(T.bifunctorHTML)({initialState:l.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,destroyed:!1})),render:function(n){var e=C.mmoment8601(n.bm.time),t=function(n){return function(e){return H.input(B.create)(n(e))}},r=F.div([_.class_("alert")])([T.text("previously saved "),F.span([_.class_("link f7 dib gray pr3"),S.title(p.maybe(n.bm.time)(h.snd)(e))])([T.text(p.maybe(" ")(h.fst)(e))]),F.div([_.class_("edit_links dib ml1")])([F.div([_.class_("delete_link di")])([F.button(D.append(D.semigroupArray)([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(j.create(!0))),_.class_("delete")])(m.guard(m.monoidArray)(n.deleteAsk)([_.attr("hidden")("hidden")])))([T.text("delete")]),F.span(D.append(D.semigroupArray)([_.class_("confirm red")])(m.guard(m.monoidArray)(!n.deleteAsk)([_.attr("hidden")("hidden")])))([F.button([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(j.create(!1)))])([T.text("cancel / ")]),F.button([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(V.create)),_.class_("red")])([T.text("destroy")])])])])]),a=F.form([H.onSubmit(H.input(q.create))])([F.table([_.class_("w-100")])([F.tbody_([F.tr_([F.td([_.class_("w1")])([]),F.td_(m.guard(m.monoidArray)(n.bm.bid>0)([r]))]),F.tr_([F.td_([F.label([S.for("url")])([T.text("URL")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputUrl.value),S.id_("url"),_.class_("w-100 mv1"),S.required(!0),S.name("url"),S.autofocus(b.null(n.bm.url)),S.value(n.edit_bm.url),H.onValueChange(t(x.create))])])]),F.tr_([F.td_([F.label([S.for("title")])([T.text("title")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputText.value),S.id_("title"),_.class_("w-100 mv1"),S.name("title"),S.value(n.edit_bm.title),H.onValueChange(t(O.create))])])]),F.tr_([F.td_([F.label([S.for("description")])([T.text("description")])]),F.td_([F.textarea([_.class_("w-100 mt1 mid-gray"),S.id_("description"),S.name("description"),S.rows(4),S.value(n.edit_bm.description),H.onValueChange(t(k.create))])])]),F.tr_([F.td_([F.label([S.for("tags")])([T.text("tags")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputText.value),S.id_("tags"),_.class_("w-100 mv1"),S.name("tags"),S.autocomplete(!1),_.attr("autocapitalize")("off"),S.autofocus(!b.null(n.bm.url)),S.value(n.edit_bm.tags),H.onValueChange(t(W.create))])])]),F.tr_([F.td_([F.label([S.for("private")])([T.text("private")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputCheckbox.value),S.id_("private"),_.class_("private pointer"),S.name("private"),S.checked(n.edit_bm.private),H.onChecked(t(R.create))])])]),F.tr_([F.td_([F.label([S.for("toread")])([T.text("read later")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputCheckbox.value),S.id_("toread"),_.class_("toread pointer"),S.name("toread"),S.checked(n.edit_bm.toread),H.onChecked(t(N.create))])])]),F.tr_([F.td_([]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputSubmit.value),_.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),S.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),o=F.p([_.class_("red")])([T.text("you killed this bookmark")]);return F.div_([n.destroyed?o:a])},eval:function(n){if(n instanceof j)return a.discard(a.discardUnit)(L.bindHalogenM)(o.modify_(L.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});if(n instanceof V)return a.bind(L.bindHalogenM)(o.gets(L.monadStateHalogenM)(function(n){return n.bm.bid}))(function(t){return a.discard(a.discardUnit)(L.bindHalogenM)(c.void(L.functorHalogenM)(M.liftAff(L.monadAffHalogenM(M.monadAffAff))(e.destroy(t))))(function(){return a.discard(a.discardUnit)(L.bindHalogenM)(o.modify_(L.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return r.pure(L.applicativeHalogenM)(n.value0)})})});if(n instanceof B)return a.discard(a.discardUnit)(L.bindHalogenM)(v.modifying(L.monadStateHalogenM)(J(g.strongFn))(function(){if(n.value0 instanceof x)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 O)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 k)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof R)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 N)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])}()))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});if(n instanceof q)return a.discard(a.discardUnit)(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(I.preventDefault(n.value0)))(function(){return a.bind(L.bindHalogenM)(f.use(L.monadStateHalogenM)(J(s.strongForget)))(function(t){return a.discard(a.discardUnit)(L.bindHalogenM)(c.void(L.functorHalogenM)(M.liftAff(L.monadAffHalogenM(M.monadAffAff))(e.editBookmark(t))))(function(){return a.discard(a.discardUnit)(L.bindHalogenM)(v.assign(L.monadStateHalogenM)(Q(g.strongFn))(t))(function(){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(_._loc))(function(e){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(P.window))(function(t){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(_._curQuerystring))(function(o){return a.discard(a.discardUnit)(L.bindHalogenM)((u=_._lookupQueryStringValue(o)("next"))instanceof p.Just?E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(U.setHref(u.value0)(e)):E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(C.closeWindow(t)))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});var u})})})})})})});throw new Error("Failed pattern match at Component.Add (line 150, column 3 - line 150, column 58): "+[n.constructor.name])},receiver:l.const(p.Nothing.value)})}}(t["Component.Add"]=t["Component.Add"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],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"],c=(t["Data.Eq"],t["Data.Foldable"]),f=t["Data.Function"],s=t["Data.Functor"],d=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),v=t["Data.Lens.Internal.Forget"],p=t["Data.Lens.Lens"],m=t["Data.Lens.Setter"],g=t["Data.Maybe"],D=t["Data.Monoid"],b=t["Data.Nullable"],h=t["Data.Profunctor.Strong"],w=t["Data.Semigroup"],y=t["Data.Show"],M=(t["Data.String"],t["Data.String.CodePoints"]),E=t["Data.String.Common"],C=(t["Data.String.Pattern"],t["Data.Tuple"]),A=t["Data.Unit"],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"],t["Halogen.HTML.Core"]),I=t["Halogen.HTML.Elements"],P=t["Halogen.HTML.Events"],U=t["Halogen.HTML.Properties"],x=t["Halogen.Query.HalogenM"],O=(t.Model,t.Prelude,t.Util),k=t["Web.Event.Event"],W=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}(),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}(),V=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),J=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=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}(),z=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),K=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(){}return n.value=new n,n}(),Z=function(n){return p.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)},$=function(n){return p.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)},nn=function(n){return p.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=Q,n.BEdit=G,n.BEditField=z,n.BEditSubmit=K,n.BMarkRead=X,n.Eurl=W,n.Etitle=R,n.Edescription=N,n.Etags=B,n.Eprivate=q,n.Etoread=j,n.BNotifyRemove=Y,n._bm=nn,n._edit_bm=Z,n._edit=$,n.bmark=function(n){var t,p=S["app'"](A.unit);return L.component(_.bifunctorHTML)({initialState:f.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=D.guard(D.monoidArray)(p.dat.isowner)([I.div([O.class_("star fl pointer"+D.guard(D.monoidString)(n.bm.selected)(" selected"))])([I.button([O.class_("moon-gray"),P.onClick(P.input_(V.create(!n.bm.selected)))])([_.text("✭")])])]),a=S.mmoment8601(n.bm.time),o=D.guard(D.monoidArray)(p.dat.isowner)([I.div([O.class_("edit_links di")])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(G.create(!0))),O.class_("edit light-silver hover-blue")])([_.text("edit  ")]),I.div([O.class_("delete_link di")])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(J.create(!0))),O.class_("delete light-silver hover-blue"+D.guard(D.monoidString)(n.deleteAsk)(" dn"))])([_.text("delete")]),I.span([O.class_("confirm red"+D.guard(D.monoidString)(!n.deleteAsk)(" dn"))])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(J.create(!1)))])([_.text("cancel / ")]),I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(Q.create)),O.class_("red")])([_.text("destroy")])])])]),I.div([O.class_("read di")])(D.guard(D.monoidArray)(n.bm.toread)([_.text("  "),I.button([P.onClick(P.input_(X.create)),O.class_("mark_read")])([_.text("mark as read")])]))]),f=function(n){return O.fromNullableStr(p.userR)+"/t:"+n},d=function(n){return function(e){return P.input(z.create)(n(e))}},v=[I.div([O.class_("edit_bookmark_form pa2 pt0 bg-white")])([I.form([P.onSubmit(P.input(K.create))])([I.div_([_.text("url")]),I.input([U.type_(_.inputTypeIsProp)(i.InputUrl.value),O.class_("url w-100 mb2 pt1 f7 edit_form_input"),U.required(!0),U.name("url"),U.value(n.edit_bm.url),P.onValueChange(d(W.create))]),I.br_,I.div_([_.text("title")]),I.input([U.type_(_.inputTypeIsProp)(i.InputText.value),O.class_("title w-100 mb2 pt1 f7 edit_form_input"),U.name("title"),U.value(n.edit_bm.title),P.onValueChange(d(R.create))]),I.br_,I.div_([_.text("description")]),I.textarea([O.class_("description w-100 mb1 pt1 f7 edit_form_input"),U.name("description"),U.rows(5),U.value(n.edit_bm.description),P.onValueChange(d(N.create))]),I.br_,I.div([U.id_("tags_input_box")])([I.div_([_.text("tags")]),I.input([U.type_(_.inputTypeIsProp)(i.InputText.value),O.class_("tags w-100 mb1 pt1 f7 edit_form_input"),U.name("tags"),U.autocomplete(!1),O.attr("autocapitalize")("off"),U.value(n.edit_bm.tags),P.onValueChange(d(B.create))]),I.br_]),I.div([O.class_("edit_form_checkboxes mv3")])([I.input([U.type_(_.inputTypeIsProp)(i.InputCheckbox.value),O.class_("private pointer"),U.id_("edit_private"),U.name("private"),U.checked(n.edit_bm.private),P.onChecked(d(q.create))]),_.text(" "),I.label([U.for("edit_private"),O.class_("mr2")])([_.text("private")]),_.text(" "),I.input([U.type_(_.inputTypeIsProp)(i.InputCheckbox.value),O.class_("toread pointer"),U.id_("edit_toread"),U.name("toread"),U.checked(n.edit_bm.toread),P.onChecked(d(j.create))]),_.text(" "),I.label([U.for("edit_toread")])([_.text("to-read")]),I.br_]),I.input([U.type_(_.inputTypeIsProp)(i.InputSubmit.value),O.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("save")]),_.text(" "),I.input([U.type_(_.inputTypeIsProp)(i.InputReset.value),O.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("cancel"),P.onClick(P.input_(G.create(!1)))])])])],m=[I.div([O.class_("display")])(w.append(w.semigroupArray)([I.a([U.href(n.bm.url),U.target("_blank"),O.class_("link f5 lh-title"+D.guard(D.monoidString)(n.bm.toread)(" unread"))])([_.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),I.br_,I.a([U.href(n.bm.url),O.class_("link f7 gray hover-blue")])([_.text(n.bm.url)]),I.a([U.href(g.fromMaybe("http://archive.is/"+n.bm.url)(b.toMaybe(n.bm.archiveUrl))),O.class_("link f7 gray hover-blue ml2"+D.guard(D.monoidString)(g.isJust(b.toMaybe(n.bm.archiveUrl)))(" green")),U.target("_blank"),U.title("archive link")])([g.isJust(b.toMaybe(n.bm.archiveUrl))?_.text("☑"):_.text("☐")]),I.br_,I.div([O.class_("description mt1 mid-gray")])((t=n.bm.description,l.drop(1)(c.foldMap(c.foldableArray)(D.monoidArray)(function(n){return[I.br_,_.text(n)]})(E.split("\n")(t))))),I.div([O.class_("tags")])(D.guard(D.monoidFn(D.monoidFn(D.monoidArray)))(!E.null(n.bm.tags))(s.map(s.functorArray))(function(n){return I.a([O.class_("link tag mr1"+D.guard(D.monoidString)("."===M.take(1)(n))(" private")),U.href(f(n))])([_.text(n)])})(E.split(" ")(n.bm.tags))),I.a([O.class_("link f7 dib gray w4"),U.title(g.maybe(n.bm.time)(C.snd)(a)),U.href((e=n.bm.slug,O.fromNullableStr(p.userR)+"/b:"+e))])([_.text(g.maybe(" ")(C.fst)(a))])])(o))];return I.div([U.id_(y.show(y.showInt)(n.bm.bid)),O.class_("bookmark w-100 mw7 pa1 mb3"+D.guard(D.monoidString)(n.bm.private)(" private"))])(w.append(w.semigroupArray)(r)(n.edit?v:m))},eval:function(n){if(n instanceof V)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(nn(h.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 a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(Z(h.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 r.pure(x.applicativeHalogenM)(n.value1)})})})});if(n instanceof J)return a.discard(a.discardUnit)(x.bindHalogenM)(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}))(function(){return r.pure(x.applicativeHalogenM)(n.value1)});if(n instanceof Q)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.destroy(t.bid))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(x.raise(Y.value))(function(){return r.pure(x.applicativeHalogenM)(n.value0)})})});if(n instanceof X)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.markRead(t.bid))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(nn(h.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}}))(function(){return r.pure(x.applicativeHalogenM)(n.value0)})})});if(n instanceof G)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(e){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)(Z(h.strongFn))(e))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)($(h.strongFn))(n.value0))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})});if(n instanceof z)return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(Z(h.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 R)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 231, column 17 - line 237, column 36): "+[n.value0.constructor.name])}()))(function(){return r.pure(x.applicativeHalogenM)(n.value1)});if(n instanceof K)return a.discard(a.discardUnit)(x.bindHalogenM)(H.liftEffect(x.monadEffectHalogenM(T.monadEffectAff))(k.preventDefault(n.value0)))(function(){return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(Z(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.editBookmark(t))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)(nn(h.strongFn))(t))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)($(h.strongFn))(!1))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})})})});throw new Error("Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): "+[n.constructor.name])},receiver:f.const(g.Nothing.value)})}}(t["Component.BMark"]=t["Component.BMark"]||{}),function(n){"use strict";var e=t["Component.BMark"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=t["Data.Array"],i=(t["Data.Eq"],t["Data.Function"]),l=t["Data.Functor"],c=t["Data.Maybe"],f=t["Data.Ord"],s=t["Data.Unit"],d=(t["Effect.Aff"],t.Halogen,t["Halogen.Component"]),v=t["Halogen.HTML"],p=t["Halogen.HTML.Elements"],m=t["Halogen.HTML.Events"],g=t["Halogen.Query.HalogenM"],D=(t.Model,t.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}());n.HandleBMessage=D,n.blist=function(n){return d.parentComponent(f.ordInt)({initialState:i.const(n),render:function(n){return p.div_(l.map(l.functorArray)(function(n){return v.slot(n.bid)(e.bmark(n))(s.unit)(m.input(D.create(n.bid)))})(n))},eval:function(n){var e;return a.discard(a.discardUnit)(g.bindHalogenM)(o.modify_(g.monadStateHalogenM)((e=n.value0,u.filter(function(n){return n.bid!==e}))))(function(){return r.pure(g.applicativeHalogenM)(n.value2)})},receiver:i.const(c.Nothing.value)})}}(t["Component.BList"]=t["Component.BList"]||{}),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},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["Data.Foldable"],i=(t["Data.Function"],t["Data.Maybe"]),l=(t.Effect,t["Effect.Aff"]),c=t["Effect.Class"],f=(t.Globals,t.Halogen,t["Halogen.Component"]),s=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),d=t["Halogen.HTML.Elements"],v=t["Halogen.HTML.Events"],p=t["Halogen.HTML.Properties"],m=t["Halogen.Query"],g=t["Halogen.Query.HalogenM"],D=(t["Halogen.Query.InputF"],t.Prelude,t["Web.HTML"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),b=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.SetInnerHTML=D,n.Receive=b,n.mkComponent=function(n){return f.lifecycleComponent(s.bifunctorHTML)({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return d.div([p.ref(n.elRef)])([])},eval:function t(i){if(i instanceof D)return a.bind(g.bindHalogenM)(o.get(g.monadStateHalogenM))(function(t){return a.bind(g.bindHalogenM)(m.getHTMLElementRef(t.elRef))(function(t){return a.discard(a.discardUnit)(g.bindHalogenM)(u.for_(g.applicativeHalogenM)(u.foldableMaybe)(t)(function(t){return a.bind(g.bindHalogenM)(o.get(g.monadStateHalogenM))(function(r){return c.liftEffect(g.monadEffectHalogenM(l.monadEffectAff))(e.unsafeSetInnerHTML(t)(n(r.inputval)))})}))(function(){return r.pure(g.applicativeHalogenM)(i.value0)})})});if(i instanceof b)return a.discard(a.discardUnit)(g.bindHalogenM)(o.modify_(g.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(new D(i.value1))});throw new Error("Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): "+[i.constructor.name])},receiver:v.input(b.create),initializer:i.Just.create(m.action(D.create)),finalizer:i.Nothing.value})}}(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["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),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)},M=p["app'"](v.unit),E=function(n){return w.fromNullableStr(M.userR)+"/notes/"+n};return m.component(g.bifunctorHTML)({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(E(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(E(n.slug))])([g.text(i.maybe(" ")(d.fst)(y(n)))])])]);var e})(n.notes))},eval:function(n){return e.pure(h.applicativeHalogenM)(n.value0)},receiver:o.const(i.Nothing.value)})}}(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"],M=t["Data.Semigroup"],E=t["Data.Show"],C=(t["Data.String"],t["Data.String.Common"]),A=(t["Data.String.Pattern"],t["Data.Tuple"]),T=t["Data.Unit"],F=t["Data.Void"],H=t.Effect,S=t["Effect.Aff"],L=t["Effect.Aff.Class"],_=t["Effect.Class"],I=t.Globals,P=(t.Halogen,t["Halogen.Component"]),U=t["Halogen.HTML"],x=t["Halogen.HTML.Core"],O=t["Halogen.HTML.Elements"],k=t["Halogen.HTML.Events"],W=t["Halogen.HTML.Properties"],R=t["Halogen.Query.HalogenM"],N=(t.Model,t.Prelude,t.Util),B=t["Web.Event.Event"],q=t["Web.HTML.Location"],j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),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}(),G=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}(),z=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),K=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),X=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=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)},$=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)},nn=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=Q,n.NEditField=G,n.NEditSubmit=z,n.NEdit=K,n.NDeleteAsk=X,n.NDestroy=Y,n._note=Z,n._edit_note=$,n._edit=nn,n.Etitle=j,n.Etext=V,n.EisMarkdown=J,n.nnote=function(n){var t,g=I["app'"](T.unit);return P.parentComponent(w.ordUnit)({initialState:d.const((t=n,{note:t,edit_note:t,deleteAsk:!1,edit:t.id<=0,destroyed:!1})),render:function(n){var e,t=function(n){return I.mmoment8601(n.created)},a=O.div([W.id_(E.show(E.showInt)(n.note.id)),N.class_("note w-100 mw7 pa1 mb2")])(M.append(M.semigroupArray)([O.div([N.class_("display")])([O.div([N.class_("link f5 lh-title")])([x.text(C.null(n.note.title)?"[no title]":n.note.title)]),O.br_,n.note.isMarkdown?O.div([N.class_("description mt1")])([U.slot(T.unit)(r.component)(n.note.text)(F.absurd)]):O.div([N.class_("description mt1 mid-gray")])((e=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(h.monoidArray)(function(n){return[O.br_,x.text(n)]})(C.split("\n")(e))))),O.div([N.class_("link f7 dib gray w4"),W.title(b.maybe(n.note.created)(A.snd)(t(n.note)))])([x.text(b.maybe(" ")(A.fst)(t(n.note)))])])])([O.div([N.class_("edit_links db mt3")])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(K.create(!0))),N.class_("edit light-silver hover-blue")])([x.text("edit  ")]),O.div([N.class_("delete_link di")])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(X.create(!0))),N.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([x.text("delete")]),O.span([N.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(X.create(!1)))])([x.text("cancel / ")]),O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(Y.create)),N.class_("red")])([x.text("destroy")])])])])])),o=function(n){return function(e){return k.input(G.create)(n(e))}},u=O.form([k.onSubmit(k.input(z.create))])([O.p([N.class_("mt2 mb1")])([x.text("title:")]),O.input([W.type_(x.inputTypeIsProp)(l.InputText.value),N.class_("title w-100 mb1 pt1 f7 edit_form_input"),W.name("title"),W.value(n.edit_note.title),k.onValueChange(o(j.create))]),O.br_,O.p([N.class_("mt2 mb1")])([x.text("description:")]),O.textarea([N.class_("description w-100 mb1 pt1 f7 edit_form_input"),W.name("text"),W.rows(30),W.value(n.edit_note.text),k.onValueChange(o(V.create))]),O.div([N.class_("edit_form_checkboxes mb3")])([O.input([W.type_(x.inputTypeIsProp)(l.InputCheckbox.value),N.class_("is-markdown pointer"),W.id_("edit_ismarkdown"),W.name("ismarkdown"),W.checked(n.edit_note.isMarkdown),k.onChecked(o(J.create))]),x.text(" "),O.label([W.for("edit_ismarkdown"),N.class_("mr2")])([x.text("use markdown?")]),O.br_]),O.input([W.type_(x.inputTypeIsProp)(l.InputSubmit.value),N.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("save")]),x.text(" "),O.input([W.type_(x.inputTypeIsProp)(l.InputReset.value),N.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("cancel"),k.onClick(k.input_(K.create(!1)))])]),f=O.p([N.class_("red")])([x.text("you killed this note")]);return n.destroyed?f:n.edit?u:a},eval:function(n){if(n instanceof Q)return a.pure(R.applicativeHalogenM)(n.value0);if(n instanceof G)return o.discard(o.discardUnit)(R.bindHalogenM)(D.modifying(R.monadStateHalogenM)($(y.strongFn))(function(){if(n.value0 instanceof j)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 158, column 19 - line 161, column 44): "+[n.value0.constructor.name])}()))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});if(n instanceof X)return o.discard(o.discardUnit)(R.bindHalogenM)(u.modify_(R.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});if(n instanceof Y)return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)(Z(m.strongForget)))(function(t){return o.discard(o.discardUnit)(R.bindHalogenM)(v.void(R.functorHalogenM)(L.liftAff(R.monadAffHalogenM(L.monadAffAff))(e.destroyNote(t.id))))(function(){return o.discard(o.discardUnit)(R.bindHalogenM)(u.modify_(R.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return a.pure(R.applicativeHalogenM)(n.value0)})})});if(n instanceof K)return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)(Z(m.strongForget)))(function(e){return o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)($(y.strongFn))(e))(function(){return o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)(nn(y.strongFn))(n.value0))(function(){return a.pure(R.applicativeHalogenM)(n.value1)})})});if(n instanceof z)return o.discard(o.discardUnit)(R.bindHalogenM)(_.liftEffect(R.monadEffectHalogenM(S.monadEffectAff))(B.preventDefault(n.value0)))(function(){return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)($(m.strongForget)))(function(t){return o.bind(R.bindHalogenM)(L.liftAff(R.monadAffHalogenM(L.monadAffAff))(e.editNote(t)))(function(e){if(e.body instanceof f.Left)return a.pure(R.applicativeHalogenM)(n.value1);if(e.body instanceof f.Right)return o.discard(o.discardUnit)(R.bindHalogenM)(0===t.id?_.liftEffect(R.monadEffectHalogenM(S.monadEffectAff))(o.bindFlipped(H.bindEffect)(q.setHref(N.fromNullableStr(g.noteR)))(N._loc)):o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)(Z(y.strongFn))(t))(function(){return D.assign(R.monadStateHalogenM)(nn(y.strongFn))(!1)}))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});throw new Error("Failed pattern match at Component.NNote (line 188, column 5 - line 197, column 14): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 153, column 3 - line 153, column 72): "+[n.constructor.name])},receiver:d.const(b.Nothing.value)})}}(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.Functor"]),a=(t["Data.List"],t["Data.List.Types"]),o=(t["Data.Map"],t["Data.Map.Internal"]),u=t["Data.Maybe"],i=(t["Data.Traversable"],t.Effect,t["Effect.Aff"],t["Effect.Ref"]),l=(t["Halogen.Component"],t["Halogen.Data.OrdBox"],t.Prelude,t["Unsafe.Coerce"]),c=(t["Web.DOM"],l.unsafeCoerce),f=l.unsafeCoerce,s=l.unsafeCoerce;n.unDriverStateX=f,n.mkDriverStateXRef=s,n.renderStateX=function(n){return function(n){return f(function(e){return(e.prjQuery,l.unsafeCoerce)(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(c){return function(){var f=i.new({})(),d=i.new(o.empty)(),v=i.new(o.empty)(),p=i.new(r.voidLeft(u.functorMaybe)(n.initializer)(a.Nil.value))(),m=i.new(new u.Just(a.Nil.value))(),g=i.new(u.Nothing.value)(),D=i.new(0)(),b=i.new(new u.Just(o.empty))(),h={component:n,state:n.initialState(e),refs:o.empty,children:o.empty,childrenIn:d,childrenOut:v,selfRef:f,handler:t,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:u.Nothing.value,prjQuery:l,fresh:D,subscriptions:b,lifecycleHandlers:c};return i.write(h)(f)(),s(f)}}}}}}}(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.Error.Class"],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"],w=t["Data.List.Types"],y=t["Data.Map"],M=t["Data.Map.Internal"],E=t["Data.Maybe"],C=t["Data.Ord"],A=(t["Data.Semiring"],t["Data.Set"]),T=(t["Data.Tuple"],t.Effect,t["Effect.Aff"]),F=t["Effect.Class"],H=t["Effect.Exception"],S=t["Effect.Ref"],L=t["Halogen.Aff.Driver.State"],_=t["Halogen.Data.OrdBox"],I=t["Halogen.Query.EventSource"],P=t["Halogen.Query.ForkF"],U=t["Halogen.Query.HalogenM"],x=t["Halogen.Query.InputF"],O=(t.Prelude,t["Unsafe.Reference"]),k=function(n){return function(e){return function(t){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(e)))(function(r){if(r instanceof E.Nothing)return n(t);if(r instanceof E.Just)return F.liftEffect(T.monadEffectAff)(S.write(new E.Just(new w.Cons(n(t),r.value0)))(e));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 171, column 3 - line 175, column 59): "+[r.constructor.name])})}}},W=function(n){return function(t){return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.write({initializers:w.Nil.value,finalizers:w.Nil.value})(n)))(function(){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(t))(function(t){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(n){return a.discard(a.discardUnit)(T.bindAff)(g.traverse_(T.applicativeAff)(w.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return a.discard(a.discardUnit)(T.bindAff)(s.parSequence_(T.parallelAff)(w.foldableList)(n.initializers))(function(){return e.pure(T.applicativeAff)(t)})})})})})}};n.handleLifecycle=W,n.eval=function(n){return function(t){var s=function(t){return function(l){if(l instanceof U.State)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(r){var o=l.value0(r.state);if(O.unsafeRefEq(r.state)(o.value1))return e.pure(T.applicativeAff)(o.value0);if(v.otherwise)return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.write({component:r.component,state:o.value1,refs:r.refs,children:r.children,childrenIn:r.childrenIn,childrenOut:r.childrenOut,selfRef:r.selfRef,handler:r.handler,pendingQueries:r.pendingQueries,pendingOuts:r.pendingOuts,pendingHandlers:r.pendingHandlers,rendering:r.rendering,prjQuery:r.prjQuery,fresh:r.fresh,subscriptions:r.subscriptions,lifecycleHandlers:r.lifecycleHandlers})(t)))(function(){return a.discard(a.discardUnit)(T.bindAff)(W(r.lifecycleHandlers)(n(r.lifecycleHandlers)(t)))(function(){return e.pure(T.applicativeAff)(o.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): "+[o.constructor.name])});if(l instanceof U.Subscribe)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return a.bind(T.bindAff)(i.fork(i.monadForkAff)(a.bind(T.bindAff)(I.unEventSource(l.value0))(function(r){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S["modify'"](function(n){return{state:n+1|0,value:n}})(n.fresh)))(function(u){var i=a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n.subscriptions)))(function(t){return e.when(T.applicativeAff)(E.maybe(!1)(M.member(C.ordInt)(u))(t))(F.liftEffect(T.monadEffectAff)(S.modify_(b.map(E.functorMaybe)(M.delete(C.ordInt)(u)))(n.subscriptions)))});return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.modify_(b.map(E.functorMaybe)(M.insert(C.ordInt)(u)(i)))(n.subscriptions)))(function(){var u=a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(o.await(T.monadAff))(function(r){return a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(T.monadAff)(F.liftEffect(T.monadEffectAff)(S.read(n.subscriptions))))(function(n){return e.when(c.applicativeFreeT(o.functorAwait)(T.monadAff))(E.isJust(n))(a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(T.monadAff)(R(t)(r)))(function(n){return e.when(c.applicativeFreeT(o.functorAwait)(T.monadAff))(m.eq(I.eqSubscribeStatus)(n)(I.Listening.value))(u)}))})});return a.discard(a.discardUnit)(T.bindAff)(o.runProcess(T.monadRecAff)(o.pullFrom(T.monadRecAff)(u)(r.producer)))(function(){return i})})})})))(function(n){return e.pure(T.applicativeAff)(l.value1)})});if(l instanceof U.Lift)return l.value0;if(l instanceof U.Halt)return u.throwError(T.monadThrowAff)(H.error(l.value0));if(l instanceof U.GetSlots)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value0(b.map(w.functorList)(_.unOrdBox)(h.fromFoldable(A.foldableSet)(y.keys(n.children)))))});if(l instanceof U.CheckSlot)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value1(M.member(_.ordOrdBox)(n.component.mkOrdBox(l.value0))(n.children)))});if(l instanceof U.ChildQuery)return N(t)(l.value0)(l.value1);if(l instanceof U.Raise)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return a.discard(a.discardUnit)(T.bindAff)(k(n.handler)(n.pendingOuts)(l.value0))(function(){return e.pure(T.applicativeAff)(l.value1)})});if(l instanceof U.Par)return d.sequential(T.parallelAff)(r.retractFreeAp(T.applicativeParAff)(r.hoistFreeAp(function(n){return d.parallel(T.parallelAff)(g(t)(n))})(l.value0)));if(l instanceof U.Fork)return P.unFork(function(n){return a.bind(T.bindAff)(i.fork(i.monadForkAff)(g(t)(n.value0)))(function(t){return e.pure(T.applicativeAff)(n.value1(D.flip(T.killFiber)(t)))})})(l.value0);if(l instanceof U.GetRef)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value1(M.lookup(C.ordString)(l.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): "+[l.constructor.name])}},g=function(n){return function(e){return l.foldFree(T.monadRecAff)(s(n))(e)}},R=function(n){return function(e){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(t){var r=t.component.eval(e);return l.foldFree(T.monadRecAff)(s(n))(r)})}},N=function(n){return function(e){return p.unCoyoneda(function(t){return function(r){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(n){var o=M.lookup(_.ordOrdBox)(n.component.mkOrdBox(e))(n.children);if(o instanceof E.Just)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(o.value0)))(function(n){return L.unDriverStateX(function(n){var e=n.prjQuery(r);if(e instanceof E.Just)return b.map(T.functorAff)(t)(R(n.selfRef)(e.value0));if(e instanceof E.Nothing)return u.throwError(T.monadThrowAff)(H.error("Query projection failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 141, column 32 - line 143, column 82): "+[e.constructor.name])})(n)});if(o instanceof E.Nothing)return u.throwError(T.monadThrowAff)(H.error("Slot lookup failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 138, column 5 - line 144, column 73): "+[o.constructor.name])})}})}};return function(n){if(n instanceof x.RefUpdate)return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.modify_(function(e){return{component:e.component,state:e.state,refs:M.alter(C.ordString)(D.const(n.value1))(n.value0)(e.refs),children:e.children,childrenIn:e.childrenIn,childrenOut:e.childrenOut,selfRef:e.selfRef,handler:e.handler,pendingQueries:e.pendingQueries,pendingOuts:e.pendingOuts,pendingHandlers:e.pendingHandlers,rendering:e.rendering,prjQuery:e.prjQuery,fresh:e.fresh,subscriptions:e.subscriptions,lifecycleHandlers:e.lifecycleHandlers}})(t)))(function(){return e.pure(T.applicativeAff)(n.value2)});if(n instanceof x.Query)return R(t)(n.value0);throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): "+[n.constructor.name])}}},n.queuingHandler=k}(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.Fork.Class"],u=t["Control.Monad.Rec.Class"],i=t["Control.Parallel"],l=(t["Control.Semigroupoid"],t["Data.Either"]),c=t["Data.Foldable"],f=t["Data.Function"],s=t["Data.Functor"],d=t["Data.List"],v=t["Data.List.Types"],p=(t["Data.Map"],t["Data.Map.Internal"]),m=t["Data.Maybe"],g=t["Data.Ord"],D=(t["Data.Semiring"],t["Data.Traversable"],t["Data.Tuple"],t["Data.Unit"]),b=t.Effect,h=t["Effect.Aff"],w=t["Effect.Aff.AVar"],y=t["Effect.Class"],M=t["Effect.Console"],E=t["Effect.Exception"],C=t["Effect.Ref"],A=(t.Halogen,t["Halogen.Aff.Driver.Eval"]),T=t["Halogen.Aff.Driver.State"],F=t["Halogen.Component"],H=t["Halogen.Data.OrdBox"],S=t["Halogen.Query.InputF"],L=(t.Prelude,C.new({initializers:v.Nil.value,finalizers:v.Nil.value})),_=h.runAff_(l.either(E.throwException)(f.const(e.pure(b.applicativeEffect)(D.unit))));n.runUI=function(n){return function(t){return function(I){var P=function(n){return function(){var e=C.read(n)();return C.write(m.Nothing.value)(n)(),c.for_(b.applicativeEffect)(c.foldableMaybe)(e)(function(n){return _(c.traverse_(h.applicativeAff)(v.foldableList)(o.fork(o.monadForkAff))(d.reverse(n)))})()}},U=function(n){return function(e){return function(t){return function(a){return F.unComponent(function(o){return function(){var u=L(),l=T.initDriverState(o)(t)(e)(a)(u)(),f=C.read(n)();return C.write({initializers:v.Nil.value,finalizers:f.finalizers})(n)(),r.bindFlipped(b.bindEffect)(T.unDriverStateX(function(e){return x(n)(e.selfRef)}))(C.read(l))(),r.bindFlipped(b.bindEffect)(function(n){return function(e){return T.unDriverStateX(function(t){var a=s.map(m.functorMaybe)(function(n){return k(t.selfRef)(S.Query.create(n))})(t.component.initializer);return C.modify_(function(n){return{initializers:new v.Cons(r.discard(r.discardUnit)(h.bindAff)(i.parSequence_(h.parallelAff)(v.foldableList)(d.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(h.bindAff)(c.sequence_(h.applicativeAff)(c.foldableMaybe)(a))(function(){return y.liftEffect(h.monadEffectAff)(function(){return P(t.pendingQueries)(),P(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(f.initializers))(C.read(l))(),l}})}}}},x=function(t){return function(a){return function(){var i=C.read(a)(),l=s.map(b.functorEffect)(m.isNothing)(C.read(i.pendingHandlers))();e.when(b.applicativeEffect)(l)(C.write(new m.Just(v.Nil.value))(i.pendingHandlers))(),C.write(p.empty)(i.childrenOut)(),C.write(i.children)(i.childrenIn)();var g=A.queuingHandler(function(n){return s.void(h.functorAff)(k(i.selfRef)(n))})(i.pendingHandlers),w=A.queuingHandler(function(n){return g(S.Query.create(n))})(i.pendingQueries),y=n.render(function(n){return _(g(n))})(function(t){return function(a){return function(o){return function(u){return function(i){return F.unComponentSlot(function(l){return function(f){return function(d){return function(v){return function(g){return function(w){var y=o(l);return function(){var o=C.read(u)(),l=function(){var n=p.pop(H.ordOrdBox)(y)(o);if(n instanceof m.Just)return C.write(n.value0.value1)(u)(),c.for_(b.applicativeEffect)(c.foldableMaybe)(v(d))(function(e){return function(){var t=C.read(n.value0.value0)();return T.unDriverStateX(function(n){return c.for_(b.applicativeEffect)(c.foldableMaybe)(n.prjQuery(e))(function(e){return _(k(n.selfRef)(S.Query.create(e)))})})(t)()}})(),n.value0.value0;if(n instanceof m.Nothing)return U(t)(function(n){return m.maybe(e.pure(h.applicativeAff)(D.unit))(a)(g(n))})(d)(w)(f)();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): "+[n.constructor.name])}(),A=s.map(b.functorEffect)(p.member(H.ordOrdBox)(y))(C.read(i))();return e.when(b.applicativeEffect)(A)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),C.modify_(p.insert(H.ordOrdBox)(y)(l))(i)(),r.bind(b.bindEffect)(C.read(l))(T.renderStateX(b.functorEffect)(function(t){if(t instanceof m.Nothing)return E.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof m.Just)return e.pure(b.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 271, column 37 - line 273, column 50): "+[t.constructor.name])}))()}}}}}}})}}}}}(t)(w)(i.component.mkOrdBox)(i.childrenIn)(i.childrenOut))(i.component.render(i.state))(i.rendering)(),L=C.read(i.childrenOut)();return r.bind(b.bindEffect)(C.read(i.childrenIn))(c.traverse_(b.applicativeEffect)(p.foldableMap)(function(e){return function(){var r=C.read(e)();return T.renderStateX_(b.applicativeEffect)(n.removeChild)(r)(),O(t)(r)()}}))(),C.modify_(function(n){return{rendering:new m.Just(y),children:L,component:n.component,state:n.state,refs:n.refs,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handler:n.handler,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,prjQuery:n.prjQuery,fresh:n.fresh,subscriptions:n.subscriptions,lifecycleHandlers:n.lifecycleHandlers}})(i.selfRef)(),e.when(b.applicativeEffect)(l)(f.flip(u.tailRecM(u.monadRecEffect))(D.unit)(function(n){return function(){var n=C.read(i.pendingHandlers)();C.write(new m.Just(v.Nil.value))(i.pendingHandlers)(),c.traverse_(b.applicativeEffect)(c.foldableMaybe)(function(n){return _(c.traverse_(h.applicativeAff)(v.foldableList)(o.fork(o.monadForkAff))(d.reverse(n)))})(n)();var e=C.read(i.pendingHandlers)();return m.maybe(!1)(d.null)(e)?s.voidLeft(b.functorEffect)(C.write(m.Nothing.value)(i.pendingHandlers))(new u.Done(D.unit))():new u.Loop(D.unit)}}))()}}},O=function n(e){return T.unDriverStateX(function(t){return function(){var a;return(a=t,function(){return r.bindFlipped(b.bindEffect)(c.traverse_(b.applicativeEffect)(c.foldableMaybe)(function(n){return _(c.traverse_(h.applicativeAff)(p.foldableMap)(o.fork(o.monadForkAff))(n))}))(C.read(a.subscriptions))(),C.write(m.Nothing.value)(a.subscriptions)()})(),c.for_(b.applicativeEffect)(c.foldableMaybe)(s.map(m.functorMaybe)(function(n){return k(t.selfRef)(S.Query.create(n))})(t.component.finalizer))(function(n){return C.modify_(function(e){return{initializers:e.initializers,finalizers:new v.Cons(n,e.finalizers)}})(e)})(),c.for_(b.applicativeEffect)(p.foldableMap)(t.children)(r.composeKleisliFlipped(b.bindEffect)(n(e))(C.read))()}})},k=function(n){return A.eval(x)(n)};return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(L))(function(n){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.new(0)))(function(u){return A.handleLifecycle(n)(function(){var i,f=C.new(p.empty)();return r.bind(b.bindEffect)(r.bind(b.bindEffect)(U(n)((i=f,function(n){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.read(i)))(function(e){return c.traverse_(h.applicativeAff)(p.foldableMap)(o.fork(o.monadForkAff))(s.map(p.functorMap)(w.put(n))(e))})}))(I)(m.Just.create)(t))(C.read))(T.unDriverStateX(function(n){return e.pure(b.applicativeEffect)({query:(i=n.selfRef,function(n){return function(e){var t=n(e);if(t instanceof m.Just)return k(i)(new S.Query(t.value0));if(t instanceof m.Nothing)return y.liftEffect(h.monadEffectAff)(E.throwException(E.error("Halogen internal error: query projection failed in runUI'")));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): "+[t.constructor.name])}})(n.prjQuery),subscribe:(t=u,function(n){return function(e){return r.bind(h.bindAff)(w.empty)(function(u){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(function(){var e=C.read(t)();return C.modify_(function(n){return n+1|0})(t)(),C.modify_(p.insert(g.ordInt)(e)(u))(n)(),e}))(function(t){var i=a.producer(h.monadAff)(s.map(h.functorAff)(l.Left.create)(w.take(u)));return s.void(h.functorAff)(o.fork(o.monadForkAff)(r.discard(r.discardUnit)(h.bindAff)(a.runProcess(h.monadRecAff)(a.connect(h.monadRecAff)(h.parallelAff)(i)(e)))(function(){return r.discard(r.discardUnit)(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.modify_(p.delete(g.ordInt)(t))(n)))(function(){return w.kill(E.error("ended"))(u)})})))})})}})(f)});var t,i}))()})})})}}}}(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";t["Control.Applicative"],t["Control.Bind"];var e,r=t["Data.Array"],a=(t["Data.Eq"],t["Data.Function.Uncurried"],t["Data.Maybe"]),o=t["Data.Nullable"],u=t["Data.Tuple"],i=t.Effect,l=(t["Effect.Uncurried"],t["Halogen.VDom.Machine"]),c=t["Halogen.VDom.Types"],f=t["Halogen.VDom.Util"],s=(t.Prelude,t["Web.DOM.Document"],t["Web.DOM.Element"]),d=(t["Web.DOM.Node"],function(n,e){return n.value1===e.value1&&(n.value0 instanceof a.Just&&e.value0 instanceof a.Just&&n.value0.value0===e.value0.value0||n.value0 instanceof a.Nothing&&e.value0 instanceof a.Nothing)}),v=function(n,e,t){var r=n.buildWidget(n)(t);return new l.Step(r.value0,function n(e,t){return function(r){if(r instanceof c.Grafted)return n(e,t)(c.runGraft(r.value0));if(r instanceof c.Widget){var a=t.value1(r.value0);return new l.Step(a.value0,n(e,a),a.value2)}return t.value2(),e(r)}}(e,r),r.value2)},p=function(n,e,t){var r,a=f.createTextNode(t,n.document),o=(r=a,function(){var n=f.parentNode(r);return f.removeChild(r,n)});return new l.Step(a,function n(e,t,r,a){return function(o){if(o instanceof c.Grafted)return n(e,t,r,a)(c.runGraft(o.value0));if(o instanceof c.Text){var u=new l.Step(r,n(e,t,r,o.value0),t);return a===o.value0?u:(f.setTextContent(o.value0,r),u)}return t(),e(o)}}(e,o,a,t),o)},m=(e=function(n,e,t){return function(){var r=f.parentNode(n);return f.removeChild(n,r),f.forInE(t,function(n,e){return e.value2()}),l.halt(e)()}},function(n,t,a,i){var v=f.createElement(o.toNullable(a.value0),a.value1,n.document),p=s.toNode(v),m=f.strMapWithIxE(i,u.fst,function(n,e,r){var a=t(r.value1);return f.insertChildIx(e,a.value0,p),a}),g=n.buildAttributes(v)(a.value2),D=e(p,g,m);return new l.Step(p,function n(t,a,o,i,s,v,p){return function(m){if(m instanceof c.Grafted)return n(t,a,o,i,s,v,p)(c.runGraft(m.value0));if(m instanceof c.Keyed&&d(s,m.value0)){var g=r.length(m.value1);if(0===p&&0===g){var D=l.step(i)(m.value0.value2),b=e(o,D,v);return new l.Step(o,n(t,b,o,D,m.value0,v,0),b)}D=f.diffWithKeyAndIxE(v,m.value1,u.fst,function(n,e,t,r){var a=t.value1(r.value1);return f.insertChildIx(e,a.value0,o),a},function(n,e){return e.value2()},function(n,e,r){var a=t(r.value1);return f.insertChildIx(e,a.value0,o),a});var h=l.step(i)(m.value0.value2);return b=e(o,h,D),new l.Step(o,n(t,b,o,h,m.value0,D,g),b)}return a(),t(m)}}(t,D,p,g,a,m,r.length(i)),D)}),g=function(){var n=function(n,e,t){return function(){var r=f.parentNode(n);return f.removeChild(n,r),i.foreachE(t)(l.halt)(),l.halt(e)()}};return function(e,t,a,u){var i=f.createElement(o.toNullable(a.value0),a.value1,e.document),v=s.toNode(i),p=f.forE(u,function(n,e){var r=t(e);return f.insertChildIx(n,r.value0,v),r}),m=e.buildAttributes(i)(a.value2),g=n(v,m,p);return new l.Step(v,function e(t,a,o,u,i,s){return function(v){if(v instanceof c.Grafted)return e(t,a,o,u,i,s)(c.runGraft(v.value0));if(v instanceof c.Elem&&d(i,v.value0)){var p=r.length(v.value1);if(0===r.length(s)&&0===p){var m=l.step(u)(v.value0.value2),g=n(o,m,s);return new l.Step(o,e(t,g,o,m,v.value0,s),g)}m=f.diffWithIxE(s,v.value1,function(n,e,t){var r=e.value1(t);return f.insertChildIx(n,r.value0,o),r},function(n,e){return e.value2()},function(n,e){var r=t(e);return f.insertChildIx(n,r.value0,o),r});var D=l.step(u)(v.value0.value2);return g=n(o,D,m),new l.Step(o,e(t,g,o,D,v.value0,m),g)}return a(),t(v)}}(t,g,v,m,a,p),g)}}();n.buildVDom=function(n){return function e(t){if(t instanceof c.Text)return p(n,e,t.value0);if(t instanceof c.Elem)return g(n,e,t.value0,t.value1);if(t instanceof c.Keyed)return m(n,e,t.value0,t.value1);if(t instanceof c.Widget)return v(n,e,t.value0);if(t instanceof c.Grafted)return e(c.runGraft(t.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[t.constructor.name])}},n.buildText=p,n.buildElem=g,n.buildKeyed=m,n.buildWidget=v}(t["Halogen.VDom.DOM"]=t["Halogen.VDom.DOM"]||{}),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.Unit"],f=t.Effect,s=t["Effect.Aff"],d=t["Effect.Class"],v=t["Effect.Ref"],p=(t["Effect.Uncurried"],t["Halogen.Aff.Driver"]),m=t["Halogen.Aff.Driver.State"],g=(t["Halogen.Component"],t["Halogen.HTML.Core"],t["Halogen.Query.InputF"],t["Halogen.VDom"],t["Halogen.VDom.DOM"]),D=t["Halogen.VDom.DOM.Prop"],b=t["Halogen.VDom.Machine"],h=(t.Prelude,t["Unsafe.Reference"]),w=(t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.Node"]),y=t["Web.HTML"],M=t["Web.HTML.HTMLDocument"],E=t["Web.HTML.HTMLElement"],C=t["Web.HTML.Window"],A=function(n){return function(){var e=w.parentNode(n.node)();return o.traverse_(f.applicativeEffect)(o.foldableMaybe)(function(e){return w.removeChild(n.node)(e)})(e)()}},T=function(n){return function(t){return{render:function(r){return function(a){return function(o){return function(s){if(s instanceof l.Nothing)return function(){var i=v.new(a)(),l=function(n){return function(t){return function(r){var a=m.unRenderStateX(function(n){return n.node}),o=e.pure(f.applicativeEffect)(c.unit),u=function n(e){var r=v.read(t)()(e)(),u=a(r);return new b.Step(u,n,o)};return{buildWidget:function(n){return function(n){var e=v.read(t)()(n)(),r=a(e);return new b.Step(r,u,o)}},buildAttributes:D.buildProp(n),document:r}}}}(r)(i)(n),s=g.buildVDom(l)(o),d=b.extract(s);return u.void(f.functorEffect)(w.appendChild(d)(E.toNode(t)))(),{machine:s,node:d,renderChildRef:i}};if(s instanceof l.Just)return function(){v.write(a)(s.value0.renderChildRef)();var n=w.parentNode(s.value0.node)(),t=w.nextSibling(s.value0.node)(),r=b.step(s.value0.machine)(o),d=b.extract(r);return e.when(f.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(h.unsafeRefEq)(s.value0.node)(d))(function(n){return function(t){return function(r){return t instanceof l.Just&&r instanceof l.Just?u.void(f.functorEffect)(w.insertBefore(n)(t.value0)(r.value0)):t instanceof l.Nothing&&r instanceof l.Just?u.void(f.functorEffect)(w.appendChild(n)(r.value0)):e.pure(f.applicativeEffect)(c.unit)}}}(d)(t)(n))(),{machine:r,node:d,renderChildRef:s.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 118, column 5 - line 134, column 80): "+[s.constructor.name])}}}},renderChild:a.identity(a.categoryFn),removeChild:A}}};n.runUI=function(n){return function(e){return function(t){return r.bind(s.bindAff)(d.liftEffect(s.monadEffectAff)(u.map(f.functorEffect)(M.toDocument)(r.bindFlipped(f.bindEffect)(C.document)(y.window))))(function(r){return p.runUI(T(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)))})),M=e._mainImpl;n.main=M,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(c){t(c)}return o.onerror=function(){t(new Error("AJAX request failed: "+e.method+" "+e.url))},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(c){return e(c)}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(function(n){return function(n){return!0}}),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.eqInt=i,n.eqChar=l,n.eqString=u,n.eqUnit=o,n.eqVoid=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.monoidFn=function(n){return new r(function(){return e.semigroupFn(n.Semigroup0())},function(e){return u(n)})},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"],t["Data.Function"]),u=t["Data.Functor"],i=(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}()),l=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(n){return function(e){return function(t){if(t instanceof i)return n;if(t instanceof l)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])}}},f=c(!0)(o.const(!1)),s=c(!1)(o.const(!0)),d=new u.Functor(function(n){return function(e){return e instanceof l?new l(n(e.value0)):i.value}}),v=new e.Apply(function(){return d},function(n){return function(e){if(n instanceof l)return u.map(d)(n.value0)(e);if(n instanceof i)return i.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),p=new r.Bind(function(){return v},function(n){return function(e){if(n instanceof l)return e(n.value0);if(n instanceof i)return i.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=i,n.Just=l,n.maybe=c,n.fromMaybe=function(n){return c(n)(a.identity(a.categoryFn))},n.isJust=s,n.isNothing=f,n.fromJust=function(n){return function(n){if(n instanceof l)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=d,n.applyMaybe=v,n.bindMaybe=p}(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=J._3(V)));break;case m:R++,W=new h(v,new h(D,w,y),W,U),b=F,w=U&&U!==N?J._1.killed(n.fromLeft(U))(J._2):y?J._1.failed(n.fromLeft(y))(J._2):J._1.completed(n.fromRight(w))(J._2),y=null;break;case g:R++,W=new h(v,new h(D,w,y),W,U),b=F,w=J._1;break;case D:R--,b=_,w=J._1,y=J._2}break;case I:for(var Q in B)B.hasOwnProperty(Q)&&(q=q&&B[Q].rethrow,M(B[Q].handler(w)));return B=null,void(U&&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 V(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=V({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case T:U=n.left(e),b=I,w=U,j(d);break;case L:null===U&&(U=n.left(e)),0===R&&(b===L&&(W=new h(v,new h(g,w(e)),W,U)),b=_,w=null,y=null,j(++d));break;default:null===U&&(U=n.left(e)),0===R&&(b=_,w=null,y=null)}return r}},join:function(n){return function(){var e=V({rethrow:!1,handler:n})();return b===T&&j(d),e}},onComplete:V,isSuspended:function(){return b===T},run:function(){b===T&&(A.isDraining()?j(d):A.enqueue(function(){j(d)}))}}}function U(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)}),M=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=M,n.drop=function(n){return function(e){return c.drop(c.length(M(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"],t.Effect),d=t["Global.Unsafe"],v=(t.Halogen,t["Halogen.HTML"],t["Halogen.HTML.Core"]),p=t["Halogen.HTML.Properties"],m=(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"]),g=(t["Web.HTML.HTMLDocument"],t["Web.HTML.HTMLElement"],t["Web.HTML.Location"]),D=t["Web.HTML.Window"],b=function(n){var e,t=function(n){return d.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)))},h=e.bindFlipped(s.bindEffect)(D.location)(m.window);n.class_=function(n){return p.class_(v.ClassName(n))},n.attr=function(n){return p.attr(n)},n._loc=h,n._curQuerystring=function(){var n=h(),e=g.search(n)();return b(e)},n._parseQueryString=b,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.fromNullableStr=function(n){return u.fromMaybe("")(i.toMaybe(n))}}(t.Util=t.Util||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],a=t["Control.Bind"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.InputType"]),u=t["Data.Function"],i=t["Data.Functor"],l=(t["Data.Lens"],t["Data.Lens.Getter"]),c=t["Data.Lens.Internal.Forget"],f=t["Data.Lens.Lens"],s=t["Data.Lens.Setter"],d=t["Data.Maybe"],v=t["Data.Profunctor.Strong"],p=t["Data.Unit"],m=(t["Effect.Aff"],t["Effect.Aff.Class"]),g=t.Globals,D=(t.Halogen,t["Halogen.Component"]),b=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),h=t["Halogen.HTML.Elements"],w=t["Halogen.HTML.Events"],y=t["Halogen.HTML.Properties"],M=t["Halogen.Query.HalogenM"],E=(t.Model,t.Prelude,t.Util),C=(t["Web.Event.Event"],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,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),H=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return f.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=S,n.UEditField=F,n.USubmit=H,n.EarchiveDefault=C,n.EprivateDefault=A,n.EprivacyLock=T,n.usetting=function(n){var t;g["app'"](p.unit);return D.component(b.bifunctorHTML)({initialState:u.const((t=n,{us:t})),render:function(n){var e=function(n){return function(e){return w.input(F.create)(n(e))}};return h.div([E.class_("settings-form")])([h.div([E.class_("fw7 mb2")])([b.text("Account Settings")]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),w.onChecked(e(C.create))]),h.label([y.for("archiveDefault"),E.class_("lh-copy")])([b.text("Archive Non-Private Bookmarks (archive.li)")])]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),w.onChecked(e(A.create))]),h.label([y.for("privateDefault"),E.class_("lh-copy")])([b.text("Default new bookmarks to Private")])]),h.div([E.class_("flex items-center mb2")])([h.input([y.type_(b.inputTypeIsProp)(o.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),w.onChecked(e(T.create))]),h.label([y.for("privacyLock"),E.class_("lh-copy")])([b.text("Privacy Lock (Private Account)")])])])},eval:function(n){if(n instanceof F)return a.discard(a.discardUnit)(M.bindHalogenM)(s.modifying(M.monadStateHalogenM)(S(v.strongFn))(function(){if(n.value0 instanceof C)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof A)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof T)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 82, column 12 - line 85, column 46): "+[n.value0.constructor.name])}()))(function(){return r.pure(M.applicativeHalogenM)(n.value1)});if(n instanceof H)return a.bind(M.bindHalogenM)(l.use(M.monadStateHalogenM)(S(c.strongForget)))(function(t){return a.discard(a.discardUnit)(M.bindHalogenM)(i.void(M.functorHalogenM)(m.liftAff(M.monadAffHalogenM(m.monadAffAff))(e.editAccountSettings(t))))(function(){return r.pure(M.applicativeHalogenM)(n.value1)})});throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): "+[n.constructor.name])},receiver:u.const(d.Nothing.value)})}}(t["Component.AccountSettings"]=t["Component.AccountSettings"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],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.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.Ord"],t["Data.Profunctor.Strong"]),D=t["Data.Semigroup"],b=(t["Data.String"],t["Data.String.Common"]),h=(t["Data.String.Pattern"],t["Data.Tuple"]),w=t["Data.Unit"],y=t["Effect.Aff"],M=t["Effect.Aff.Class"],E=t["Effect.Class"],C=t.Globals,A=(t.Halogen,t["Halogen.Component"]),T=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),F=t["Halogen.HTML.Elements"],H=t["Halogen.HTML.Events"],S=t["Halogen.HTML.Properties"],L=t["Halogen.Query.HalogenM"],_=(t.Model,t.Prelude,t.Util),I=t["Web.Event.Event"],P=t["Web.HTML"],U=t["Web.HTML.Location"],x=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}(),k=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}(),R=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,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),q=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),j=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=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,destroyed:n.destroyed}}})(n)},Q=function(n){return d.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=B,n.BEditSubmit=q,n.BDeleteAsk=j,n.BDestroy=V,n.Eurl=x,n.Etitle=O,n.Edescription=k,n.Etags=W,n.Eprivate=R,n.Etoread=N,n._bm=Q,n._edit_bm=J,n.addbmark=function(n){var t;C["app'"](w.unit);return A.component(T.bifunctorHTML)({initialState:l.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,destroyed:!1})),render:function(n){var e=C.mmoment8601(n.bm.time),t=function(n){return function(e){return H.input(B.create)(n(e))}},r=F.div([_.class_("alert")])([T.text("previously saved "),F.span([_.class_("link f7 dib gray pr3"),S.title(p.maybe(n.bm.time)(h.snd)(e))])([T.text(p.maybe(" ")(h.fst)(e))]),F.div([_.class_("edit_links dib ml1")])([F.div([_.class_("delete_link di")])([F.button(D.append(D.semigroupArray)([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(j.create(!0))),_.class_("delete")])(m.guard(m.monoidArray)(n.deleteAsk)([_.attr("hidden")("hidden")])))([T.text("delete")]),F.span(D.append(D.semigroupArray)([_.class_("confirm red")])(m.guard(m.monoidArray)(!n.deleteAsk)([_.attr("hidden")("hidden")])))([F.button([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(j.create(!1)))])([T.text("cancel / ")]),F.button([S.type_(T.buttonTypeIsProp)(u.ButtonButton.value),H.onClick(H.input_(V.create)),_.class_("red")])([T.text("destroy")])])])])]),a=F.form([H.onSubmit(H.input(q.create))])([F.table([_.class_("w-100")])([F.tbody_([F.tr_([F.td([_.class_("w1")])([]),F.td_(m.guard(m.monoidArray)(n.bm.bid>0)([r]))]),F.tr_([F.td_([F.label([S.for("url")])([T.text("URL")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputUrl.value),S.id_("url"),_.class_("w-100 mv1"),S.required(!0),S.name("url"),S.autofocus(b.null(n.bm.url)),S.value(n.edit_bm.url),H.onValueChange(t(x.create))])])]),F.tr_([F.td_([F.label([S.for("title")])([T.text("title")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputText.value),S.id_("title"),_.class_("w-100 mv1"),S.name("title"),S.value(n.edit_bm.title),H.onValueChange(t(O.create))])])]),F.tr_([F.td_([F.label([S.for("description")])([T.text("description")])]),F.td_([F.textarea([_.class_("w-100 mt1 mid-gray"),S.id_("description"),S.name("description"),S.rows(4),S.value(n.edit_bm.description),H.onValueChange(t(k.create))])])]),F.tr_([F.td_([F.label([S.for("tags")])([T.text("tags")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputText.value),S.id_("tags"),_.class_("w-100 mv1"),S.name("tags"),S.autocomplete(!1),_.attr("autocapitalize")("off"),S.autofocus(!b.null(n.bm.url)),S.value(n.edit_bm.tags),H.onValueChange(t(W.create))])])]),F.tr_([F.td_([F.label([S.for("private")])([T.text("private")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputCheckbox.value),S.id_("private"),_.class_("private pointer"),S.name("private"),S.checked(n.edit_bm.private),H.onChecked(t(R.create))])])]),F.tr_([F.td_([F.label([S.for("toread")])([T.text("read later")])]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputCheckbox.value),S.id_("toread"),_.class_("toread pointer"),S.name("toread"),S.checked(n.edit_bm.toread),H.onChecked(t(N.create))])])]),F.tr_([F.td_([]),F.td_([F.input([S.type_(T.inputTypeIsProp)(i.InputSubmit.value),_.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),S.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),o=F.p([_.class_("red")])([T.text("you killed this bookmark")]);return F.div_([n.destroyed?o:a])},eval:function(n){if(n instanceof j)return a.discard(a.discardUnit)(L.bindHalogenM)(o.modify_(L.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});if(n instanceof V)return a.bind(L.bindHalogenM)(o.gets(L.monadStateHalogenM)(function(n){return n.bm.bid}))(function(t){return a.discard(a.discardUnit)(L.bindHalogenM)(c.void(L.functorHalogenM)(M.liftAff(L.monadAffHalogenM(M.monadAffAff))(e.destroy(t))))(function(){return a.discard(a.discardUnit)(L.bindHalogenM)(o.modify_(L.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return r.pure(L.applicativeHalogenM)(n.value0)})})});if(n instanceof B)return a.discard(a.discardUnit)(L.bindHalogenM)(v.modifying(L.monadStateHalogenM)(J(g.strongFn))(function(){if(n.value0 instanceof x)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 O)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 k)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof R)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 N)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])}()))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});if(n instanceof q)return a.discard(a.discardUnit)(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(I.preventDefault(n.value0)))(function(){return a.bind(L.bindHalogenM)(f.use(L.monadStateHalogenM)(J(s.strongForget)))(function(t){return a.discard(a.discardUnit)(L.bindHalogenM)(c.void(L.functorHalogenM)(M.liftAff(L.monadAffHalogenM(M.monadAffAff))(e.editBookmark(t))))(function(){return a.discard(a.discardUnit)(L.bindHalogenM)(v.assign(L.monadStateHalogenM)(Q(g.strongFn))(t))(function(){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(_._loc))(function(e){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(P.window))(function(t){return a.bind(L.bindHalogenM)(E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(_._curQuerystring))(function(o){return a.discard(a.discardUnit)(L.bindHalogenM)((u=_._lookupQueryStringValue(o)("next"))instanceof p.Just?E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(U.setHref(u.value0)(e)):E.liftEffect(L.monadEffectHalogenM(y.monadEffectAff))(C.closeWindow(t)))(function(){return r.pure(L.applicativeHalogenM)(n.value1)});var u})})})})})})});throw new Error("Failed pattern match at Component.Add (line 150, column 3 - line 150, column 58): "+[n.constructor.name])},receiver:l.const(p.Nothing.value)})}}(t["Component.Add"]=t["Component.Add"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Applicative"],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"],c=(t["Data.Eq"],t["Data.Foldable"]),f=t["Data.Function"],s=t["Data.Functor"],d=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),v=t["Data.Lens.Internal.Forget"],p=t["Data.Lens.Lens"],m=t["Data.Lens.Setter"],g=t["Data.Maybe"],D=t["Data.Monoid"],b=t["Data.Nullable"],h=t["Data.Profunctor.Strong"],w=t["Data.Semigroup"],y=t["Data.Show"],M=(t["Data.String"],t["Data.String.CodePoints"]),E=t["Data.String.Common"],C=(t["Data.String.Pattern"],t["Data.Tuple"]),A=t["Data.Unit"],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"],t["Halogen.HTML.Core"]),I=t["Halogen.HTML.Elements"],P=t["Halogen.HTML.Events"],U=t["Halogen.HTML.Properties"],x=t["Halogen.Query.HalogenM"],O=(t.Model,t.Prelude,t.Util),k=t["Web.Event.Event"],W=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}(),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}(),V=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),J=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=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}(),z=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),K=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(){}return n.value=new n,n}(),Z=function(n){return p.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)},$=function(n){return p.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)},nn=function(n){return p.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=Q,n.BEdit=G,n.BEditField=z,n.BEditSubmit=K,n.BMarkRead=X,n.Eurl=W,n.Etitle=R,n.Edescription=N,n.Etags=B,n.Eprivate=q,n.Etoread=j,n.BNotifyRemove=Y,n._bm=nn,n._edit_bm=Z,n._edit=$,n.bmark=function(n){var t,p=S["app'"](A.unit);return L.component(_.bifunctorHTML)({initialState:f.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=D.guard(D.monoidArray)(p.dat.isowner)([I.div([O.class_("star fl pointer"+D.guard(D.monoidString)(n.bm.selected)(" selected"))])([I.button([O.class_("moon-gray"),P.onClick(P.input_(V.create(!n.bm.selected)))])([_.text("✭")])])]),a=S.mmoment8601(n.bm.time),o=D.guard(D.monoidArray)(p.dat.isowner)([I.div([O.class_("edit_links di")])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(G.create(!0))),O.class_("edit light-silver hover-blue")])([_.text("edit  ")]),I.div([O.class_("delete_link di")])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(J.create(!0))),O.class_("delete light-silver hover-blue"+D.guard(D.monoidString)(n.deleteAsk)(" dn"))])([_.text("delete")]),I.span([O.class_("confirm red"+D.guard(D.monoidString)(!n.deleteAsk)(" dn"))])([I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(J.create(!1)))])([_.text("cancel / ")]),I.button([U.type_(_.buttonTypeIsProp)(u.ButtonButton.value),P.onClick(P.input_(Q.create)),O.class_("red")])([_.text("destroy")])])])]),I.div([O.class_("read di")])(D.guard(D.monoidArray)(n.bm.toread)([_.text("  "),I.button([P.onClick(P.input_(X.create)),O.class_("mark_read")])([_.text("mark as read")])]))]),f=function(n){return O.fromNullableStr(p.userR)+"/t:"+n},d=function(n){return function(e){return P.input(z.create)(n(e))}},v=[I.div([O.class_("edit_bookmark_form pa2 pt0 bg-white")])([I.form([P.onSubmit(P.input(K.create))])([I.div_([_.text("url")]),I.input([U.type_(_.inputTypeIsProp)(i.InputUrl.value),O.class_("url w-100 mb2 pt1 f7 edit_form_input"),U.required(!0),U.name("url"),U.value(n.edit_bm.url),P.onValueChange(d(W.create))]),I.br_,I.div_([_.text("title")]),I.input([U.type_(_.inputTypeIsProp)(i.InputText.value),O.class_("title w-100 mb2 pt1 f7 edit_form_input"),U.name("title"),U.value(n.edit_bm.title),P.onValueChange(d(R.create))]),I.br_,I.div_([_.text("description")]),I.textarea([O.class_("description w-100 mb1 pt1 f7 edit_form_input"),U.name("description"),U.rows(5),U.value(n.edit_bm.description),P.onValueChange(d(N.create))]),I.br_,I.div([U.id_("tags_input_box")])([I.div_([_.text("tags")]),I.input([U.type_(_.inputTypeIsProp)(i.InputText.value),O.class_("tags w-100 mb1 pt1 f7 edit_form_input"),U.name("tags"),U.autocomplete(!1),O.attr("autocapitalize")("off"),U.value(n.edit_bm.tags),P.onValueChange(d(B.create))]),I.br_]),I.div([O.class_("edit_form_checkboxes mv3")])([I.input([U.type_(_.inputTypeIsProp)(i.InputCheckbox.value),O.class_("private pointer"),U.id_("edit_private"),U.name("private"),U.checked(n.edit_bm.private),P.onChecked(d(q.create))]),_.text(" "),I.label([U.for("edit_private"),O.class_("mr2")])([_.text("private")]),_.text(" "),I.input([U.type_(_.inputTypeIsProp)(i.InputCheckbox.value),O.class_("toread pointer"),U.id_("edit_toread"),U.name("toread"),U.checked(n.edit_bm.toread),P.onChecked(d(j.create))]),_.text(" "),I.label([U.for("edit_toread")])([_.text("to-read")]),I.br_]),I.input([U.type_(_.inputTypeIsProp)(i.InputSubmit.value),O.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("save")]),_.text(" "),I.input([U.type_(_.inputTypeIsProp)(i.InputReset.value),O.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("cancel"),P.onClick(P.input_(G.create(!1)))])])])],m=[I.div([O.class_("display")])(w.append(w.semigroupArray)([I.a([U.href(n.bm.url),U.target("_blank"),O.class_("link f5 lh-title"+D.guard(D.monoidString)(n.bm.toread)(" unread"))])([_.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),I.br_,I.a([U.href(n.bm.url),O.class_("link f7 gray hover-blue")])([_.text(n.bm.url)]),I.a([U.href(g.fromMaybe("http://archive.is/"+n.bm.url)(b.toMaybe(n.bm.archiveUrl))),O.class_("link f7 gray hover-blue ml2"+D.guard(D.monoidString)(g.isJust(b.toMaybe(n.bm.archiveUrl)))(" green")),U.target("_blank"),U.title("archive link")])([g.isJust(b.toMaybe(n.bm.archiveUrl))?_.text("☑"):_.text("☐")]),I.br_,I.div([O.class_("description mt1 mid-gray")])((t=n.bm.description,l.drop(1)(c.foldMap(c.foldableArray)(D.monoidArray)(function(n){return[I.br_,_.text(n)]})(E.split("\n")(t))))),I.div([O.class_("tags")])(D.guard(D.monoidFn(D.monoidFn(D.monoidArray)))(!E.null(n.bm.tags))(s.map(s.functorArray))(function(n){return I.a([O.class_("link tag mr1"+D.guard(D.monoidString)("."===M.take(1)(n))(" private")),U.href(f(n))])([_.text(n)])})(E.split(" ")(n.bm.tags))),I.a([O.class_("link f7 dib gray w4"),U.title(g.maybe(n.bm.time)(C.snd)(a)),U.href((e=n.bm.slug,O.fromNullableStr(p.userR)+"/b:"+e))])([_.text(g.maybe(" ")(C.fst)(a))])])(o))];return I.div([U.id_(y.show(y.showInt)(n.bm.bid)),O.class_("bookmark w-100 mw7 pa1 mb3"+D.guard(D.monoidString)(n.bm.private)(" private"))])(w.append(w.semigroupArray)(r)(n.edit?v:m))},eval:function(n){if(n instanceof V)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(nn(h.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 a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(Z(h.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 r.pure(x.applicativeHalogenM)(n.value1)})})})});if(n instanceof J)return a.discard(a.discardUnit)(x.bindHalogenM)(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}))(function(){return r.pure(x.applicativeHalogenM)(n.value1)});if(n instanceof Q)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.destroy(t.bid))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(x.raise(Y.value))(function(){return r.pure(x.applicativeHalogenM)(n.value0)})})});if(n instanceof X)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.markRead(t.bid))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(nn(h.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}}))(function(){return r.pure(x.applicativeHalogenM)(n.value0)})})});if(n instanceof G)return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(nn(v.strongForget)))(function(e){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)(Z(h.strongFn))(e))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)($(h.strongFn))(n.value0))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})});if(n instanceof z)return a.discard(a.discardUnit)(x.bindHalogenM)(m.modifying(x.monadStateHalogenM)(Z(h.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 R)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 231, column 17 - line 237, column 36): "+[n.value0.constructor.name])}()))(function(){return r.pure(x.applicativeHalogenM)(n.value1)});if(n instanceof K)return a.discard(a.discardUnit)(x.bindHalogenM)(H.liftEffect(x.monadEffectHalogenM(T.monadEffectAff))(k.preventDefault(n.value0)))(function(){return a.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(Z(v.strongForget)))(function(t){return a.discard(a.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(F.liftAff(x.monadAffHalogenM(F.monadAffAff))(e.editBookmark(t))))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)(nn(h.strongFn))(t))(function(){return a.discard(a.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)($(h.strongFn))(!1))(function(){return r.pure(x.applicativeHalogenM)(n.value1)})})})})});throw new Error("Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): "+[n.constructor.name])},receiver:f.const(g.Nothing.value)})}}(t["Component.BMark"]=t["Component.BMark"]||{}),function(n){"use strict";var e=t["Component.BMark"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=t["Data.Array"],i=(t["Data.Eq"],t["Data.Function"]),l=t["Data.Functor"],c=t["Data.Maybe"],f=t["Data.Ord"],s=t["Data.Unit"],d=(t["Effect.Aff"],t.Halogen,t["Halogen.Component"]),v=t["Halogen.HTML"],p=t["Halogen.HTML.Elements"],m=t["Halogen.HTML.Events"],g=t["Halogen.Query.HalogenM"],D=(t.Model,t.Prelude,function(){function n(n,e,t){this.value0=n,this.value1=e,this.value2=t}return n.create=function(e){return function(t){return function(r){return new n(e,t,r)}}},n}());n.HandleBMessage=D,n.blist=function(n){return d.parentComponent(f.ordInt)({initialState:i.const(n),render:function(n){return p.div_(l.map(l.functorArray)(function(n){return v.slot(n.bid)(e.bmark(n))(s.unit)(m.input(D.create(n.bid)))})(n))},eval:function(n){var e;return a.discard(a.discardUnit)(g.bindHalogenM)(o.modify_(g.monadStateHalogenM)((e=n.value0,u.filter(function(n){return n.bid!==e}))))(function(){return r.pure(g.applicativeHalogenM)(n.value2)})},receiver:i.const(c.Nothing.value)})}}(t["Component.BList"]=t["Component.BList"]||{}),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},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["Data.Foldable"],i=(t["Data.Function"],t["Data.Maybe"]),l=(t.Effect,t["Effect.Aff"]),c=t["Effect.Class"],f=(t.Globals,t.Halogen,t["Halogen.Component"]),s=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),d=t["Halogen.HTML.Elements"],v=t["Halogen.HTML.Events"],p=t["Halogen.HTML.Properties"],m=t["Halogen.Query"],g=t["Halogen.Query.HalogenM"],D=(t["Halogen.Query.InputF"],t.Prelude,t["Web.HTML"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),b=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}();n.SetInnerHTML=D,n.Receive=b,n.mkComponent=function(n){return f.lifecycleComponent(s.bifunctorHTML)({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return d.div([p.ref(n.elRef)])([])},eval:function t(i){if(i instanceof D)return a.bind(g.bindHalogenM)(o.get(g.monadStateHalogenM))(function(t){return a.bind(g.bindHalogenM)(m.getHTMLElementRef(t.elRef))(function(t){return a.discard(a.discardUnit)(g.bindHalogenM)(u.for_(g.applicativeHalogenM)(u.foldableMaybe)(t)(function(t){return a.bind(g.bindHalogenM)(o.get(g.monadStateHalogenM))(function(r){return c.liftEffect(g.monadEffectHalogenM(l.monadEffectAff))(e.unsafeSetInnerHTML(t)(n(r.inputval)))})}))(function(){return r.pure(g.applicativeHalogenM)(i.value0)})})});if(i instanceof b)return a.discard(a.discardUnit)(g.bindHalogenM)(o.modify_(g.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(new D(i.value1))});throw new Error("Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): "+[i.constructor.name])},receiver:v.input(b.create),initializer:i.Just.create(m.action(D.create)),finalizer:i.Nothing.value})}}(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["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),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)},M=p["app'"](v.unit),E=function(n){return w.fromNullableStr(M.userR)+"/notes/"+n};return m.component(g.bifunctorHTML)({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(E(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(E(n.slug))])([g.text(i.maybe(" ")(d.fst)(y(n)))])])]);var e})(n.notes))},eval:function(n){return e.pure(h.applicativeHalogenM)(n.value0)},receiver:o.const(i.Nothing.value)})}}(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"],M=t["Data.Semigroup"],E=t["Data.Show"],C=(t["Data.String"],t["Data.String.Common"]),A=(t["Data.String.Pattern"],t["Data.Tuple"]),T=t["Data.Unit"],F=t["Data.Void"],H=t.Effect,S=t["Effect.Aff"],L=t["Effect.Aff.Class"],_=t["Effect.Class"],I=t.Globals,P=(t.Halogen,t["Halogen.Component"]),U=t["Halogen.HTML"],x=t["Halogen.HTML.Core"],O=t["Halogen.HTML.Elements"],k=t["Halogen.HTML.Events"],W=t["Halogen.HTML.Properties"],R=t["Halogen.Query.HalogenM"],N=(t.Model,t.Prelude,t.Util),B=t["Web.Event.Event"],q=t["Web.HTML.Location"],j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),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}(),G=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}(),z=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),K=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),X=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=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)},$=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)},nn=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=Q,n.NEditField=G,n.NEditSubmit=z,n.NEdit=K,n.NDeleteAsk=X,n.NDestroy=Y,n._note=Z,n._edit_note=$,n._edit=nn,n.Etitle=j,n.Etext=V,n.EisMarkdown=J,n.nnote=function(n){var t,g=I["app'"](T.unit);return P.parentComponent(w.ordUnit)({initialState:d.const((t=n,{note:t,edit_note:t,deleteAsk:!1,edit:t.id<=0,destroyed:!1})),render:function(n){var e,t=function(n){return I.mmoment8601(n.created)},a=O.div([W.id_(E.show(E.showInt)(n.note.id)),N.class_("note w-100 mw7 pa1 mb2")])(M.append(M.semigroupArray)([O.div([N.class_("display")])([O.div([N.class_("link f5 lh-title")])([x.text(C.null(n.note.title)?"[no title]":n.note.title)]),O.br_,n.note.isMarkdown?O.div([N.class_("description mt1")])([U.slot(T.unit)(r.component)(n.note.text)(F.absurd)]):O.div([N.class_("description mt1 mid-gray")])((e=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(h.monoidArray)(function(n){return[O.br_,x.text(n)]})(C.split("\n")(e))))),O.div([N.class_("link f7 dib gray w4"),W.title(b.maybe(n.note.created)(A.snd)(t(n.note)))])([x.text(b.maybe(" ")(A.fst)(t(n.note)))])])])([O.div([N.class_("edit_links db mt3")])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(K.create(!0))),N.class_("edit light-silver hover-blue")])([x.text("edit  ")]),O.div([N.class_("delete_link di")])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(X.create(!0))),N.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([x.text("delete")]),O.span([N.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(X.create(!1)))])([x.text("cancel / ")]),O.button([W.type_(x.buttonTypeIsProp)(i.ButtonButton.value),k.onClick(k.input_(Y.create)),N.class_("red")])([x.text("destroy")])])])])])),o=function(n){return function(e){return k.input(G.create)(n(e))}},u=O.form([k.onSubmit(k.input(z.create))])([O.p([N.class_("mt2 mb1")])([x.text("title:")]),O.input([W.type_(x.inputTypeIsProp)(l.InputText.value),N.class_("title w-100 mb1 pt1 f7 edit_form_input"),W.name("title"),W.value(n.edit_note.title),k.onValueChange(o(j.create))]),O.br_,O.p([N.class_("mt2 mb1")])([x.text("description:")]),O.textarea([N.class_("description w-100 mb1 pt1 f7 edit_form_input"),W.name("text"),W.rows(30),W.value(n.edit_note.text),k.onValueChange(o(V.create))]),O.div([N.class_("edit_form_checkboxes mb3")])([O.input([W.type_(x.inputTypeIsProp)(l.InputCheckbox.value),N.class_("is-markdown pointer"),W.id_("edit_ismarkdown"),W.name("ismarkdown"),W.checked(n.edit_note.isMarkdown),k.onChecked(o(J.create))]),x.text(" "),O.label([W.for("edit_ismarkdown"),N.class_("mr2")])([x.text("use markdown?")]),O.br_]),O.input([W.type_(x.inputTypeIsProp)(l.InputSubmit.value),N.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("save")]),x.text(" "),O.input([W.type_(x.inputTypeIsProp)(l.InputReset.value),N.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("cancel"),k.onClick(k.input_(K.create(!1)))])]),f=O.p([N.class_("red")])([x.text("you killed this note")]);return n.destroyed?f:n.edit?u:a},eval:function(n){if(n instanceof Q)return a.pure(R.applicativeHalogenM)(n.value0);if(n instanceof G)return o.discard(o.discardUnit)(R.bindHalogenM)(D.modifying(R.monadStateHalogenM)($(y.strongFn))(function(){if(n.value0 instanceof j)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 158, column 19 - line 161, column 44): "+[n.value0.constructor.name])}()))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});if(n instanceof X)return o.discard(o.discardUnit)(R.bindHalogenM)(u.modify_(R.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t}))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});if(n instanceof Y)return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)(Z(m.strongForget)))(function(t){return o.discard(o.discardUnit)(R.bindHalogenM)(v.void(R.functorHalogenM)(L.liftAff(R.monadAffHalogenM(L.monadAffAff))(e.destroyNote(t.id))))(function(){return o.discard(o.discardUnit)(R.bindHalogenM)(u.modify_(R.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e}))(function(){return a.pure(R.applicativeHalogenM)(n.value0)})})});if(n instanceof K)return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)(Z(m.strongForget)))(function(e){return o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)($(y.strongFn))(e))(function(){return o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)(nn(y.strongFn))(n.value0))(function(){return a.pure(R.applicativeHalogenM)(n.value1)})})});if(n instanceof z)return o.discard(o.discardUnit)(R.bindHalogenM)(_.liftEffect(R.monadEffectHalogenM(S.monadEffectAff))(B.preventDefault(n.value0)))(function(){return o.bind(R.bindHalogenM)(p.use(R.monadStateHalogenM)($(m.strongForget)))(function(t){return o.bind(R.bindHalogenM)(L.liftAff(R.monadAffHalogenM(L.monadAffAff))(e.editNote(t)))(function(e){if(e.body instanceof f.Left)return a.pure(R.applicativeHalogenM)(n.value1);if(e.body instanceof f.Right)return o.discard(o.discardUnit)(R.bindHalogenM)(0===t.id?_.liftEffect(R.monadEffectHalogenM(S.monadEffectAff))(o.bindFlipped(H.bindEffect)(q.setHref(N.fromNullableStr(g.noteR)))(N._loc)):o.discard(o.discardUnit)(R.bindHalogenM)(D.assign(R.monadStateHalogenM)(Z(y.strongFn))(t))(function(){return D.assign(R.monadStateHalogenM)(nn(y.strongFn))(!1)}))(function(){return a.pure(R.applicativeHalogenM)(n.value1)});throw new Error("Failed pattern match at Component.NNote (line 188, column 5 - line 197, column 14): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 153, column 3 - line 153, column 72): "+[n.constructor.name])},receiver:d.const(b.Nothing.value)})}}(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.Functor"]),a=(t["Data.List"],t["Data.List.Types"]),o=(t["Data.Map"],t["Data.Map.Internal"]),u=t["Data.Maybe"],i=(t["Data.Traversable"],t.Effect,t["Effect.Aff"],t["Effect.Ref"]),l=(t["Halogen.Component"],t["Halogen.Data.OrdBox"],t.Prelude,t["Unsafe.Coerce"]),c=(t["Web.DOM"],l.unsafeCoerce),f=l.unsafeCoerce,s=l.unsafeCoerce;n.unDriverStateX=f,n.mkDriverStateXRef=s,n.renderStateX=function(n){return function(n){return f(function(e){return(e.prjQuery,l.unsafeCoerce)(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(c){return function(){var f=i.new({})(),d=i.new(o.empty)(),v=i.new(o.empty)(),p=i.new(r.voidLeft(u.functorMaybe)(n.initializer)(a.Nil.value))(),m=i.new(new u.Just(a.Nil.value))(),g=i.new(u.Nothing.value)(),D=i.new(0)(),b=i.new(new u.Just(o.empty))(),h={component:n,state:n.initialState(e),refs:o.empty,children:o.empty,childrenIn:d,childrenOut:v,selfRef:f,handler:t,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:u.Nothing.value,prjQuery:l,fresh:D,subscriptions:b,lifecycleHandlers:c};return i.write(h)(f)(),s(f)}}}}}}}(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.Error.Class"],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"],w=t["Data.List.Types"],y=t["Data.Map"],M=t["Data.Map.Internal"],E=t["Data.Maybe"],C=t["Data.Ord"],A=(t["Data.Semiring"],t["Data.Set"]),T=(t["Data.Tuple"],t.Effect,t["Effect.Aff"]),F=t["Effect.Class"],H=t["Effect.Exception"],S=t["Effect.Ref"],L=t["Halogen.Aff.Driver.State"],_=t["Halogen.Data.OrdBox"],I=t["Halogen.Query.EventSource"],P=t["Halogen.Query.ForkF"],U=t["Halogen.Query.HalogenM"],x=t["Halogen.Query.InputF"],O=(t.Prelude,t["Unsafe.Reference"]),k=function(n){return function(e){return function(t){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(e)))(function(r){if(r instanceof E.Nothing)return n(t);if(r instanceof E.Just)return F.liftEffect(T.monadEffectAff)(S.write(new E.Just(new w.Cons(n(t),r.value0)))(e));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 171, column 3 - line 175, column 59): "+[r.constructor.name])})}}},W=function(n){return function(t){return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.write({initializers:w.Nil.value,finalizers:w.Nil.value})(n)))(function(){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(t))(function(t){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(n){return a.discard(a.discardUnit)(T.bindAff)(g.traverse_(T.applicativeAff)(w.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return a.discard(a.discardUnit)(T.bindAff)(s.parSequence_(T.parallelAff)(w.foldableList)(n.initializers))(function(){return e.pure(T.applicativeAff)(t)})})})})})}};n.handleLifecycle=W,n.eval=function(n){return function(t){var s=function(t){return function(l){if(l instanceof U.State)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(r){var o=l.value0(r.state);if(O.unsafeRefEq(r.state)(o.value1))return e.pure(T.applicativeAff)(o.value0);if(v.otherwise)return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.write({component:r.component,state:o.value1,refs:r.refs,children:r.children,childrenIn:r.childrenIn,childrenOut:r.childrenOut,selfRef:r.selfRef,handler:r.handler,pendingQueries:r.pendingQueries,pendingOuts:r.pendingOuts,pendingHandlers:r.pendingHandlers,rendering:r.rendering,prjQuery:r.prjQuery,fresh:r.fresh,subscriptions:r.subscriptions,lifecycleHandlers:r.lifecycleHandlers})(t)))(function(){return a.discard(a.discardUnit)(T.bindAff)(W(r.lifecycleHandlers)(n(r.lifecycleHandlers)(t)))(function(){return e.pure(T.applicativeAff)(o.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): "+[o.constructor.name])});if(l instanceof U.Subscribe)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return a.bind(T.bindAff)(i.fork(i.monadForkAff)(a.bind(T.bindAff)(I.unEventSource(l.value0))(function(r){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S["modify'"](function(n){return{state:n+1|0,value:n}})(n.fresh)))(function(u){var i=a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n.subscriptions)))(function(t){return e.when(T.applicativeAff)(E.maybe(!1)(M.member(C.ordInt)(u))(t))(F.liftEffect(T.monadEffectAff)(S.modify_(b.map(E.functorMaybe)(M.delete(C.ordInt)(u)))(n.subscriptions)))});return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.modify_(b.map(E.functorMaybe)(M.insert(C.ordInt)(u)(i)))(n.subscriptions)))(function(){var u=a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(o.await(T.monadAff))(function(r){return a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(T.monadAff)(F.liftEffect(T.monadEffectAff)(S.read(n.subscriptions))))(function(n){return e.when(c.applicativeFreeT(o.functorAwait)(T.monadAff))(E.isJust(n))(a.bind(c.bindFreeT(o.functorAwait)(T.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(T.monadAff)(R(t)(r)))(function(n){return e.when(c.applicativeFreeT(o.functorAwait)(T.monadAff))(m.eq(I.eqSubscribeStatus)(n)(I.Listening.value))(u)}))})});return a.discard(a.discardUnit)(T.bindAff)(o.runProcess(T.monadRecAff)(o.pullFrom(T.monadRecAff)(u)(r.producer)))(function(){return i})})})})))(function(n){return e.pure(T.applicativeAff)(l.value1)})});if(l instanceof U.Lift)return l.value0;if(l instanceof U.Halt)return u.throwError(T.monadThrowAff)(H.error(l.value0));if(l instanceof U.GetSlots)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value0(b.map(w.functorList)(_.unOrdBox)(h.fromFoldable(A.foldableSet)(y.keys(n.children)))))});if(l instanceof U.CheckSlot)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value1(M.member(_.ordOrdBox)(n.component.mkOrdBox(l.value0))(n.children)))});if(l instanceof U.ChildQuery)return N(t)(l.value0)(l.value1);if(l instanceof U.Raise)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return a.discard(a.discardUnit)(T.bindAff)(k(n.handler)(n.pendingOuts)(l.value0))(function(){return e.pure(T.applicativeAff)(l.value1)})});if(l instanceof U.Par)return d.sequential(T.parallelAff)(r.retractFreeAp(T.applicativeParAff)(r.hoistFreeAp(function(n){return d.parallel(T.parallelAff)(g(t)(n))})(l.value0)));if(l instanceof U.Fork)return P.unFork(function(n){return a.bind(T.bindAff)(i.fork(i.monadForkAff)(g(t)(n.value0)))(function(t){return e.pure(T.applicativeAff)(n.value1(D.flip(T.killFiber)(t)))})})(l.value0);if(l instanceof U.GetRef)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(t)))(function(n){return e.pure(T.applicativeAff)(l.value1(M.lookup(C.ordString)(l.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): "+[l.constructor.name])}},g=function(n){return function(e){return l.foldFree(T.monadRecAff)(s(n))(e)}},R=function(n){return function(e){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(t){var r=t.component.eval(e);return l.foldFree(T.monadRecAff)(s(n))(r)})}},N=function(n){return function(e){return p.unCoyoneda(function(t){return function(r){return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(n)))(function(n){var o=M.lookup(_.ordOrdBox)(n.component.mkOrdBox(e))(n.children);if(o instanceof E.Just)return a.bind(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.read(o.value0)))(function(n){return L.unDriverStateX(function(n){var e=n.prjQuery(r);if(e instanceof E.Just)return b.map(T.functorAff)(t)(R(n.selfRef)(e.value0));if(e instanceof E.Nothing)return u.throwError(T.monadThrowAff)(H.error("Query projection failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 141, column 32 - line 143, column 82): "+[e.constructor.name])})(n)});if(o instanceof E.Nothing)return u.throwError(T.monadThrowAff)(H.error("Slot lookup failed for child query"));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 138, column 5 - line 144, column 73): "+[o.constructor.name])})}})}};return function(n){if(n instanceof x.RefUpdate)return a.discard(a.discardUnit)(T.bindAff)(F.liftEffect(T.monadEffectAff)(S.modify_(function(e){return{component:e.component,state:e.state,refs:M.alter(C.ordString)(D.const(n.value1))(n.value0)(e.refs),children:e.children,childrenIn:e.childrenIn,childrenOut:e.childrenOut,selfRef:e.selfRef,handler:e.handler,pendingQueries:e.pendingQueries,pendingOuts:e.pendingOuts,pendingHandlers:e.pendingHandlers,rendering:e.rendering,prjQuery:e.prjQuery,fresh:e.fresh,subscriptions:e.subscriptions,lifecycleHandlers:e.lifecycleHandlers}})(t)))(function(){return e.pure(T.applicativeAff)(n.value2)});if(n instanceof x.Query)return R(t)(n.value0);throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): "+[n.constructor.name])}}},n.queuingHandler=k}(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.Fork.Class"],u=t["Control.Monad.Rec.Class"],i=t["Control.Parallel"],l=(t["Control.Semigroupoid"],t["Data.Either"]),c=t["Data.Foldable"],f=t["Data.Function"],s=t["Data.Functor"],d=t["Data.List"],v=t["Data.List.Types"],p=(t["Data.Map"],t["Data.Map.Internal"]),m=t["Data.Maybe"],g=t["Data.Ord"],D=(t["Data.Semiring"],t["Data.Traversable"],t["Data.Tuple"],t["Data.Unit"]),b=t.Effect,h=t["Effect.Aff"],w=t["Effect.Aff.AVar"],y=t["Effect.Class"],M=t["Effect.Console"],E=t["Effect.Exception"],C=t["Effect.Ref"],A=(t.Halogen,t["Halogen.Aff.Driver.Eval"]),T=t["Halogen.Aff.Driver.State"],F=t["Halogen.Component"],H=t["Halogen.Data.OrdBox"],S=t["Halogen.Query.InputF"],L=(t.Prelude,C.new({initializers:v.Nil.value,finalizers:v.Nil.value})),_=h.runAff_(l.either(E.throwException)(f.const(e.pure(b.applicativeEffect)(D.unit))));n.runUI=function(n){return function(t){return function(I){var P=function(n){return function(){var e=C.read(n)();return C.write(m.Nothing.value)(n)(),c.for_(b.applicativeEffect)(c.foldableMaybe)(e)(function(n){return _(c.traverse_(h.applicativeAff)(v.foldableList)(o.fork(o.monadForkAff))(d.reverse(n)))})()}},U=function(n){return function(e){return function(t){return function(a){return F.unComponent(function(o){return function(){var u=L(),l=T.initDriverState(o)(t)(e)(a)(u)(),f=C.read(n)();return C.write({initializers:v.Nil.value,finalizers:f.finalizers})(n)(),r.bindFlipped(b.bindEffect)(T.unDriverStateX(function(e){return x(n)(e.selfRef)}))(C.read(l))(),r.bindFlipped(b.bindEffect)(function(n){return function(e){return T.unDriverStateX(function(t){var a=s.map(m.functorMaybe)(function(n){return k(t.selfRef)(S.Query.create(n))})(t.component.initializer);return C.modify_(function(n){return{initializers:new v.Cons(r.discard(r.discardUnit)(h.bindAff)(i.parSequence_(h.parallelAff)(v.foldableList)(d.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(h.bindAff)(c.sequence_(h.applicativeAff)(c.foldableMaybe)(a))(function(){return y.liftEffect(h.monadEffectAff)(function(){return P(t.pendingQueries)(),P(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(f.initializers))(C.read(l))(),l}})}}}},x=function(t){return function(a){return function(){var i=C.read(a)(),l=s.map(b.functorEffect)(m.isNothing)(C.read(i.pendingHandlers))();e.when(b.applicativeEffect)(l)(C.write(new m.Just(v.Nil.value))(i.pendingHandlers))(),C.write(p.empty)(i.childrenOut)(),C.write(i.children)(i.childrenIn)();var g=A.queuingHandler(function(n){return s.void(h.functorAff)(k(i.selfRef)(n))})(i.pendingHandlers),w=A.queuingHandler(function(n){return g(S.Query.create(n))})(i.pendingQueries),y=n.render(function(n){return _(g(n))})(function(t){return function(a){return function(o){return function(u){return function(i){return F.unComponentSlot(function(l){return function(f){return function(d){return function(v){return function(g){return function(w){var y=o(l);return function(){var o=C.read(u)(),l=function(){var n=p.pop(H.ordOrdBox)(y)(o);if(n instanceof m.Just)return C.write(n.value0.value1)(u)(),c.for_(b.applicativeEffect)(c.foldableMaybe)(v(d))(function(e){return function(){var t=C.read(n.value0.value0)();return T.unDriverStateX(function(n){return c.for_(b.applicativeEffect)(c.foldableMaybe)(n.prjQuery(e))(function(e){return _(k(n.selfRef)(S.Query.create(e)))})})(t)()}})(),n.value0.value0;if(n instanceof m.Nothing)return U(t)(function(n){return m.maybe(e.pure(h.applicativeAff)(D.unit))(a)(g(n))})(d)(w)(f)();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): "+[n.constructor.name])}(),A=s.map(b.functorEffect)(p.member(H.ordOrdBox)(y))(C.read(i))();return e.when(b.applicativeEffect)(A)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),C.modify_(p.insert(H.ordOrdBox)(y)(l))(i)(),r.bind(b.bindEffect)(C.read(l))(T.renderStateX(b.functorEffect)(function(t){if(t instanceof m.Nothing)return E.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof m.Just)return e.pure(b.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 271, column 37 - line 273, column 50): "+[t.constructor.name])}))()}}}}}}})}}}}}(t)(w)(i.component.mkOrdBox)(i.childrenIn)(i.childrenOut))(i.component.render(i.state))(i.rendering)(),L=C.read(i.childrenOut)();return r.bind(b.bindEffect)(C.read(i.childrenIn))(c.traverse_(b.applicativeEffect)(p.foldableMap)(function(e){return function(){var r=C.read(e)();return T.renderStateX_(b.applicativeEffect)(n.removeChild)(r)(),O(t)(r)()}}))(),C.modify_(function(n){return{rendering:new m.Just(y),children:L,component:n.component,state:n.state,refs:n.refs,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handler:n.handler,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,prjQuery:n.prjQuery,fresh:n.fresh,subscriptions:n.subscriptions,lifecycleHandlers:n.lifecycleHandlers}})(i.selfRef)(),e.when(b.applicativeEffect)(l)(f.flip(u.tailRecM(u.monadRecEffect))(D.unit)(function(n){return function(){var n=C.read(i.pendingHandlers)();C.write(new m.Just(v.Nil.value))(i.pendingHandlers)(),c.traverse_(b.applicativeEffect)(c.foldableMaybe)(function(n){return _(c.traverse_(h.applicativeAff)(v.foldableList)(o.fork(o.monadForkAff))(d.reverse(n)))})(n)();var e=C.read(i.pendingHandlers)();return m.maybe(!1)(d.null)(e)?s.voidLeft(b.functorEffect)(C.write(m.Nothing.value)(i.pendingHandlers))(new u.Done(D.unit))():new u.Loop(D.unit)}}))()}}},O=function n(e){return T.unDriverStateX(function(t){return function(){var a;return(a=t,function(){return r.bindFlipped(b.bindEffect)(c.traverse_(b.applicativeEffect)(c.foldableMaybe)(function(n){return _(c.traverse_(h.applicativeAff)(p.foldableMap)(o.fork(o.monadForkAff))(n))}))(C.read(a.subscriptions))(),C.write(m.Nothing.value)(a.subscriptions)()})(),c.for_(b.applicativeEffect)(c.foldableMaybe)(s.map(m.functorMaybe)(function(n){return k(t.selfRef)(S.Query.create(n))})(t.component.finalizer))(function(n){return C.modify_(function(e){return{initializers:e.initializers,finalizers:new v.Cons(n,e.finalizers)}})(e)})(),c.for_(b.applicativeEffect)(p.foldableMap)(t.children)(r.composeKleisliFlipped(b.bindEffect)(n(e))(C.read))()}})},k=function(n){return A.eval(x)(n)};return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(L))(function(n){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.new(0)))(function(u){return A.handleLifecycle(n)(function(){var i,f=C.new(p.empty)();return r.bind(b.bindEffect)(r.bind(b.bindEffect)(U(n)((i=f,function(n){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.read(i)))(function(e){return c.traverse_(h.applicativeAff)(p.foldableMap)(o.fork(o.monadForkAff))(s.map(p.functorMap)(w.put(n))(e))})}))(I)(m.Just.create)(t))(C.read))(T.unDriverStateX(function(n){return e.pure(b.applicativeEffect)({query:(i=n.selfRef,function(n){return function(e){var t=n(e);if(t instanceof m.Just)return k(i)(new S.Query(t.value0));if(t instanceof m.Nothing)return y.liftEffect(h.monadEffectAff)(E.throwException(E.error("Halogen internal error: query projection failed in runUI'")));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): "+[t.constructor.name])}})(n.prjQuery),subscribe:(t=u,function(n){return function(e){return r.bind(h.bindAff)(w.empty)(function(u){return r.bind(h.bindAff)(y.liftEffect(h.monadEffectAff)(function(){var e=C.read(t)();return C.modify_(function(n){return n+1|0})(t)(),C.modify_(p.insert(g.ordInt)(e)(u))(n)(),e}))(function(t){var i=a.producer(h.monadAff)(s.map(h.functorAff)(l.Left.create)(w.take(u)));return s.void(h.functorAff)(o.fork(o.monadForkAff)(r.discard(r.discardUnit)(h.bindAff)(a.runProcess(h.monadRecAff)(a.connect(h.monadRecAff)(h.parallelAff)(i)(e)))(function(){return r.discard(r.discardUnit)(h.bindAff)(y.liftEffect(h.monadEffectAff)(C.modify_(p.delete(g.ordInt)(t))(n)))(function(){return w.kill(E.error("ended"))(u)})})))})})}})(f)});var t,i}))()})})})}}}}(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";t["Control.Applicative"],t["Control.Bind"];var e,r=t["Data.Array"],a=(t["Data.Eq"],t["Data.Function.Uncurried"],t["Data.Maybe"]),o=t["Data.Nullable"],u=t["Data.Tuple"],i=t.Effect,l=(t["Effect.Uncurried"],t["Halogen.VDom.Machine"]),c=t["Halogen.VDom.Types"],f=t["Halogen.VDom.Util"],s=(t.Prelude,t["Web.DOM.Document"],t["Web.DOM.Element"]),d=(t["Web.DOM.Node"],function(n,e){return n.value1===e.value1&&(n.value0 instanceof a.Just&&e.value0 instanceof a.Just&&n.value0.value0===e.value0.value0||n.value0 instanceof a.Nothing&&e.value0 instanceof a.Nothing)}),v=function(n,e,t){var r=n.buildWidget(n)(t);return new l.Step(r.value0,function n(e,t){return function(r){if(r instanceof c.Grafted)return n(e,t)(c.runGraft(r.value0));if(r instanceof c.Widget){var a=t.value1(r.value0);return new l.Step(a.value0,n(e,a),a.value2)}return t.value2(),e(r)}}(e,r),r.value2)},p=function(n,e,t){var r,a=f.createTextNode(t,n.document),o=(r=a,function(){var n=f.parentNode(r);return f.removeChild(r,n)});return new l.Step(a,function n(e,t,r,a){return function(o){if(o instanceof c.Grafted)return n(e,t,r,a)(c.runGraft(o.value0));if(o instanceof c.Text){var u=new l.Step(r,n(e,t,r,o.value0),t);return a===o.value0?u:(f.setTextContent(o.value0,r),u)}return t(),e(o)}}(e,o,a,t),o)},m=(e=function(n,e,t){return function(){var r=f.parentNode(n);return f.removeChild(n,r),f.forInE(t,function(n,e){return e.value2()}),l.halt(e)()}},function(n,t,a,i){var v=f.createElement(o.toNullable(a.value0),a.value1,n.document),p=s.toNode(v),m=f.strMapWithIxE(i,u.fst,function(n,e,r){var a=t(r.value1);return f.insertChildIx(e,a.value0,p),a}),g=n.buildAttributes(v)(a.value2),D=e(p,g,m);return new l.Step(p,function n(t,a,o,i,s,v,p){return function(m){if(m instanceof c.Grafted)return n(t,a,o,i,s,v,p)(c.runGraft(m.value0));if(m instanceof c.Keyed&&d(s,m.value0)){var g=r.length(m.value1);if(0===p&&0===g){var D=l.step(i)(m.value0.value2),b=e(o,D,v);return new l.Step(o,n(t,b,o,D,m.value0,v,0),b)}D=f.diffWithKeyAndIxE(v,m.value1,u.fst,function(n,e,t,r){var a=t.value1(r.value1);return f.insertChildIx(e,a.value0,o),a},function(n,e){return e.value2()},function(n,e,r){var a=t(r.value1);return f.insertChildIx(e,a.value0,o),a});var h=l.step(i)(m.value0.value2);return b=e(o,h,D),new l.Step(o,n(t,b,o,h,m.value0,D,g),b)}return a(),t(m)}}(t,D,p,g,a,m,r.length(i)),D)}),g=function(){var n=function(n,e,t){return function(){var r=f.parentNode(n);return f.removeChild(n,r),i.foreachE(t)(l.halt)(),l.halt(e)()}};return function(e,t,a,u){var i=f.createElement(o.toNullable(a.value0),a.value1,e.document),v=s.toNode(i),p=f.forE(u,function(n,e){var r=t(e);return f.insertChildIx(n,r.value0,v),r}),m=e.buildAttributes(i)(a.value2),g=n(v,m,p);return new l.Step(v,function e(t,a,o,u,i,s){return function(v){if(v instanceof c.Grafted)return e(t,a,o,u,i,s)(c.runGraft(v.value0));if(v instanceof c.Elem&&d(i,v.value0)){var p=r.length(v.value1);if(0===r.length(s)&&0===p){var m=l.step(u)(v.value0.value2),g=n(o,m,s);return new l.Step(o,e(t,g,o,m,v.value0,s),g)}m=f.diffWithIxE(s,v.value1,function(n,e,t){var r=e.value1(t);return f.insertChildIx(n,r.value0,o),r},function(n,e){return e.value2()},function(n,e){var r=t(e);return f.insertChildIx(n,r.value0,o),r});var D=l.step(u)(v.value0.value2);return g=n(o,D,m),new l.Step(o,e(t,g,o,D,v.value0,m),g)}return a(),t(v)}}(t,g,v,m,a,p),g)}}();n.buildVDom=function(n){return function e(t){if(t instanceof c.Text)return p(n,e,t.value0);if(t instanceof c.Elem)return g(n,e,t.value0,t.value1);if(t instanceof c.Keyed)return m(n,e,t.value0,t.value1);if(t instanceof c.Widget)return v(n,e,t.value0);if(t instanceof c.Grafted)return e(c.runGraft(t.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[t.constructor.name])}},n.buildText=p,n.buildElem=g,n.buildKeyed=m,n.buildWidget=v}(t["Halogen.VDom.DOM"]=t["Halogen.VDom.DOM"]||{}),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.Unit"],f=t.Effect,s=t["Effect.Aff"],d=t["Effect.Class"],v=t["Effect.Ref"],p=(t["Effect.Uncurried"],t["Halogen.Aff.Driver"]),m=t["Halogen.Aff.Driver.State"],g=(t["Halogen.Component"],t["Halogen.HTML.Core"],t["Halogen.Query.InputF"],t["Halogen.VDom"],t["Halogen.VDom.DOM"]),D=t["Halogen.VDom.DOM.Prop"],b=t["Halogen.VDom.Machine"],h=(t.Prelude,t["Unsafe.Reference"]),w=(t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.Node"]),y=t["Web.HTML"],M=t["Web.HTML.HTMLDocument"],E=t["Web.HTML.HTMLElement"],C=t["Web.HTML.Window"],A=function(n){return function(){var e=w.parentNode(n.node)();return o.traverse_(f.applicativeEffect)(o.foldableMaybe)(function(e){return w.removeChild(n.node)(e)})(e)()}},T=function(n){return function(t){return{render:function(r){return function(a){return function(o){return function(s){if(s instanceof l.Nothing)return function(){var i=v.new(a)(),l=function(n){return function(t){return function(r){var a=m.unRenderStateX(function(n){return n.node}),o=e.pure(f.applicativeEffect)(c.unit),u=function n(e){var r=v.read(t)()(e)(),u=a(r);return new b.Step(u,n,o)};return{buildWidget:function(n){return function(n){var e=v.read(t)()(n)(),r=a(e);return new b.Step(r,u,o)}},buildAttributes:D.buildProp(n),document:r}}}}(r)(i)(n),s=g.buildVDom(l)(o),d=b.extract(s);return u.void(f.functorEffect)(w.appendChild(d)(E.toNode(t)))(),{machine:s,node:d,renderChildRef:i}};if(s instanceof l.Just)return function(){v.write(a)(s.value0.renderChildRef)();var n=w.parentNode(s.value0.node)(),t=w.nextSibling(s.value0.node)(),r=b.step(s.value0.machine)(o),d=b.extract(r);return e.when(f.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(h.unsafeRefEq)(s.value0.node)(d))(function(n){return function(t){return function(r){return t instanceof l.Just&&r instanceof l.Just?u.void(f.functorEffect)(w.insertBefore(n)(t.value0)(r.value0)):t instanceof l.Nothing&&r instanceof l.Just?u.void(f.functorEffect)(w.appendChild(n)(r.value0)):e.pure(f.applicativeEffect)(c.unit)}}}(d)(t)(n))(),{machine:r,node:d,renderChildRef:s.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 118, column 5 - line 134, column 80): "+[s.constructor.name])}}}},renderChild:a.identity(a.categoryFn),removeChild:A}}};n.runUI=function(n){return function(e){return function(t){return r.bind(s.bindAff)(d.liftEffect(s.monadEffectAff)(u.map(f.functorEffect)(M.toDocument)(r.bindFlipped(f.bindEffect)(C.document)(y.window))))(function(r){return p.runUI(T(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)))})),M=e._mainImpl;n.main=M,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 2c621911c9cf1f965e7cede469f75b6d416438c1..583fed4b50a9b85019ee39d4298031fcb54948d4 100644 GIT binary patch delta 52758 zcmV(rK<>ZCzXa011P33B2nd}^Ua<$WEdfQdyDdKfHF-Rn1gO*mnB0)#Si=X2p}tKo zY{3`Uodo&J-Z*3xiu9IeMl+(h!5nXKW<}aGuOc;Obr!QPFCqbd*~>UM%Psv-G*6D7 zSZ{`QhH&~+c`OfIr3_Zpl;_@SDVwRBaf6vJvm`2di8sxnG>eMM-p8ZlWUek%<|fuI zMC*!5YlZv?Ofj05kP@CNLWv8FG>o=Km^#5Yd)V^{hBB2OD)vMPzv~1r#mO>meYQ#r zCjS+wZlbwwN^zHenrK07mulRI(su8F%64yq!ggCy*K7VVq;+e;nl+15b!(cMR{?_h zCgikuSoZ%?Fq(?uOz8MTX(sZsawMY%s5nwGNJ~gMt}KrxOh1LFi&8bw*9j-&xIscw zuM~L!wWWC9T-`g$7dENHHQTk3@}Quz@rHPD9$DkJY0_u>qhou0NzD+ym8a&N_de@C(O zo;itE>=^Dajt)$*K{UJGVbHz!W!=hG4l)@}{g01&K!v;JU(dsIG+Ry!*X z)?KbH;Pa9lufT}0ys}xYiQhRwCy-w` zos+Ndo_wmuQ{;iVIY{uBisWUrCu0sqezE%1QO7-h`N}4%Ojh&Nj&ISFd&4wF?|rYz&?{$X^?8?qnwAggZAZbYh@N$lfxNj}Zj(NI19tkTa$%>EQ#1VhWj*7weNg{gkK+(N8Z z*Om5$Sc0;03Wpk0+WHzt53~bX@9E3$tDm;sgnA44%EOM9>4K*4Iw^ytW))F|57GWF z<~oH0Q(*;qEX~^+kl=x≫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 xul` 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 rUydqT!21>^1p5B|-OczJW<#a3XaBCA!Nt*>> 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 xhr.onerror = function () {\n errback(new Error(\"AJAX request failed: \" + options.method + \" \" + options.url));\n };\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 eqVoid = new Eq(function (v) {\n return function (v1) {\n return true;\n };\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 eq = function (dict) {\n return dict.eq;\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqVoid\"] = eqVoid;\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 var semigroupFn = function (dictSemigroup) {\n return new Semigroup(function (f) {\n return function (g) {\n return function (x) {\n return append(dictSemigroup)(f(x))(g(x));\n };\n };\n });\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupFn\"] = semigroupFn;\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 ordVoid = new Ord(function () {\n return Data_Eq.eqVoid;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\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 exports[\"ordVoid\"] = ordVoid;\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 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[\"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 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})(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 monoidFn = function (dictMonoid) {\n return new Monoid(function () {\n return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0());\n }, function (v) {\n return mempty(dictMonoid);\n });\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[\"monoidFn\"] = monoidFn;\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 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})(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 sequence_ = function (dictApplicative) {\n return function (dictFoldable) {\n return traverse_(dictApplicative)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\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[\"sequence_\"] = sequence_;\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\n exports.foreachE = function (as) {\n return function (f) {\n return function () {\n for (var i = 0, l = as.length; i < l; i++) {\n f(as[i])();\n }\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 exports[\"foreachE\"] = $foreign.foreachE;\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 exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\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_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 requestHeaderValue = 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 29, column 1 - line 29, column 46): \" + [ v.constructor.name ]);\n };\n var requestHeaderName = 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 24, column 1 - line 24, column 45): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"requestHeaderName\"] = requestHeaderName;\n exports[\"requestHeaderValue\"] = requestHeaderValue;\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 // 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 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 var fromFoldable = function (dictFoldable) {\n return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value);\n };\n exports[\"fromFoldable\"] = fromFoldable;\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_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 var responseHeader = function (field) {\n return function (value) {\n return new ResponseHeader(field, value);\n };\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._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.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 \"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 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 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[\"runAff\"] = runAff;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\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 292, column 19 - line 298, 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 266, column 20 - line 273, 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.requestHeaderName)(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.requestHeaderName(h),\n value: Affjax_RequestHeader.requestHeaderValue(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, 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 246, column 3 - line 250, 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 $51 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($51) {\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 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 unOrdBox = function (v) {\n return v.value2;\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[\"unOrdBox\"] = unOrdBox;\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 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 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 Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new RefUpdate(value0, value1, value2);\n };\n };\n };\n return RefUpdate;\n })();\n var Query = (function () {\n function Query(value0) {\n this.value0 = value0;\n };\n Query.create = function (value0) {\n return new Query(value0);\n };\n return Query;\n })(); \n var bifunctorInputF = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof RefUpdate) {\n return new RefUpdate(v.value0, v.value1, f(v.value2));\n };\n if (v instanceof Query) {\n return new Query(g(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Query.InputF (line 21, column 15 - line 23, column 27): \" + [ v.constructor.name ]);\n };\n };\n });\n var functorInputF = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorInputF));\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Query\"] = Query;\n exports[\"bifunctorInputF\"] = bifunctorInputF;\n exports[\"functorInputF\"] = functorInputF;\n})(PS[\"Halogen.Query.InputF\"] = PS[\"Halogen.Query.InputF\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"]; \n var Step = (function () {\n function Step(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Step(value0, value1, value2);\n };\n };\n };\n return Step;\n })();\n var step = function (v) {\n return v.value1;\n };\n var halt = function (v) {\n return v.value2;\n };\n var extract = function (v) {\n return v.value0;\n };\n exports[\"Step\"] = Step;\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_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_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var ElemSpec = (function () {\n function ElemSpec(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n ElemSpec.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new ElemSpec(value0, value1, value2);\n };\n };\n };\n return ElemSpec;\n })();\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) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return new Elem(value0, value1);\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return new Keyed(value0, value1);\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 ($90) {\n return f($90);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var functorElemSpec = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new ElemSpec(m.value0, m.value1, f(m.value2));\n };\n });\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($92) {\n return f(v.value0($92));\n }, function ($93) {\n return g(v.value1($93));\n }, v.value2));\n });\n };\n });\n var bifunctorVDom = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof Text) {\n return new Text(v.value0);\n };\n if (v instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(f)(g)(v.value0));\n };\n return new Grafted(graft(new Graft(f, g, v)));\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(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value1));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value1));\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 74, column 7 - line 74, 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[\"ElemSpec\"] = ElemSpec;\n exports[\"bifunctorVDom\"] = bifunctorVDom;\n exports[\"bifunctorGraft\"] = bifunctorGraft;\n exports[\"functorElemSpec\"] = functorElemSpec;\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.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 Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Unit = PS[\"Data.Unit\"];\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 var effectUnit = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n exports[\"effectUnit\"] = effectUnit;\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[\"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_Eq = PS[\"Data.Eq\"];\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 178, column 16 - line 185, 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 functorProp = new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof Handler) {\n return new Handler(v.value0, Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value1));\n };\n if (v instanceof Ref) {\n return new Ref(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value0));\n };\n return v;\n };\n });\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 165, column 5 - line 175, 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 done = function (ps) {\n var v = Foreign_Object.lookup(\"ref\")(ps);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return function () {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n };\n return Halogen_VDom_Util.effectUnit;\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 109, column 5 - line 131, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patch = function (prevEvents, ps1) {\n return function (ps2) {\n var v = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(prevEvents);\n var onThese = diffProp(prevEvents, v);\n var onThat = applyProp(v);\n var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(ps1, ps2, propToStrKey, onThese, onThis, onThat);\n return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));\n };\n };\n var render = function (ps1) {\n var v = Halogen_VDom_Util.newMutMap();\n var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));\n return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));\n };\n return render;\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 exports[\"functorProp\"] = functorProp;\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_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_InputF = PS[\"Halogen.Query.InputF\"];\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 ($27) {\n return HTML(Halogen_VDom_Types.Text.create($27));\n };\n var stringIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var slot = function ($29) {\n return HTML(Halogen_VDom_Types.Widget.create($29));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($31) {\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 103, column 21 - line 105, column 23): \" + [ v.constructor.name ]);\n })($31));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n return function ($32) {\n return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($32));\n };\n };\n }; \n var onOffIsProp = new IsProp(function ($35) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));\n }); \n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var intIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var inputTypeIsProp = new IsProp(function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));\n });\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(new Halogen_VDom_Types.ElemSpec(ns, name, props), children);\n };\n };\n };\n }; \n var buttonTypeIsProp = new IsProp(function ($44) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($44));\n });\n var booleanIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var bifunctorHTML = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Bifunctor.bimap(Halogen_VDom_Types.bifunctorVDom)(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_InputF.functorInputF)(g))))(f)(v);\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[\"bifunctorHTML\"] = bifunctorHTML;\n exports[\"stringIsProp\"] = stringIsProp;\n exports[\"intIsProp\"] = intIsProp;\n exports[\"booleanIsProp\"] = booleanIsProp;\n exports[\"buttonTypeIsProp\"] = buttonTypeIsProp;\n exports[\"inputTypeIsProp\"] = inputTypeIsProp;\n exports[\"onOffIsProp\"] = onOffIsProp;\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_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 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 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 exports[\"unCoyoneda\"] = unCoyoneda;\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_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_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_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_Bifunctor = PS[\"Data.Bifunctor\"];\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_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 Listening = (function () {\n function Listening() {\n\n };\n Listening.value = new Listening();\n return Listening;\n })();\n var Done = (function () {\n function Done() {\n\n };\n Done.value = new Done();\n return Done;\n })();\n var unEventSource = function (v) {\n return v;\n };\n var eqSubscribeStatus = new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Listening && y instanceof Listening) {\n return true;\n };\n if (x instanceof Done && y instanceof Done) {\n return true;\n };\n return false;\n };\n });\n exports[\"Listening\"] = Listening;\n exports[\"Done\"] = Done;\n exports[\"unEventSource\"] = unEventSource;\n exports[\"eqSubscribeStatus\"] = eqSubscribeStatus;\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 Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var unFork = Unsafe_Coerce.unsafeCoerce;\n exports[\"unFork\"] = unFork;\n})(PS[\"Halogen.Query.ForkF\"] = PS[\"Halogen.Query.ForkF\"] || {});\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_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_Coyoneda = PS[\"Data.Coyoneda\"];\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_Newtype = PS[\"Data.Newtype\"];\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 Effect_Exception = PS[\"Effect.Exception\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_ForkF = PS[\"Halogen.Query.ForkF\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var HalogenM = 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 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 Halt = (function () {\n function Halt(value0) {\n this.value0 = value0;\n };\n Halt.create = function (value0) {\n return new Halt(value0);\n };\n return Halt;\n })();\n var GetSlots = (function () {\n function GetSlots(value0) {\n this.value0 = value0;\n };\n GetSlots.create = function (value0) {\n return new GetSlots(value0);\n };\n return GetSlots;\n })();\n var CheckSlot = (function () {\n function CheckSlot(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CheckSlot.create = function (value0) {\n return function (value1) {\n return new CheckSlot(value0, value1);\n };\n };\n return CheckSlot;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ChildQuery.create = function (value0) {\n return function (value1) {\n return new ChildQuery(value0, value1);\n };\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) {\n this.value0 = value0;\n };\n Fork.create = function (value0) {\n return new Fork(value0);\n };\n return Fork;\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 raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\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 = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Functor.map(Control_Monad_Free.freeFunctor)(f)(v);\n };\n });\n var applyHalogenM = new Control_Apply.Apply(function () {\n return functorHalogenM;\n }, function (v) {\n return function (v1) {\n return Control_Apply.apply(Control_Monad_Free.freeApply)(v)(v1);\n };\n });\n var bindHalogenM = new Control_Bind.Bind(function () {\n return applyHalogenM;\n }, function (v) {\n return function (f) {\n return Control_Bind.bind(Control_Monad_Free.freeBind)(v)(function (x) {\n var v1 = f(x);\n return v1;\n });\n };\n }); \n var applicativeHalogenM = new Control_Applicative.Applicative(function () {\n return applyHalogenM;\n }, function (a) {\n return Control_Applicative.pure(Control_Monad_Free.freeApplicative)(a);\n });\n var monadHalogenM = new Control_Monad.Monad(function () {\n return applicativeHalogenM;\n }, function () {\n return bindHalogenM;\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, function (eff) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)(eff))));\n });\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, function (aff) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)(aff))));\n });\n };\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($180) {\n return HalogenM(Control_Monad_Free.liftF(State.create($180)));\n });\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Lift\"] = Lift;\n exports[\"Halt\"] = Halt;\n exports[\"GetSlots\"] = GetSlots;\n exports[\"CheckSlot\"] = CheckSlot;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"GetRef\"] = GetRef;\n exports[\"HalogenM\"] = HalogenM;\n exports[\"getRef\"] = getRef;\n exports[\"raise\"] = raise;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applyHalogenM\"] = applyHalogenM;\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})(PS[\"Halogen.Query.HalogenM\"] = PS[\"Halogen.Query.HalogenM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(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 ComponentSlot.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 ComponentSlot(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ComponentSlot;\n })();\n var unComponentSlot = function (f) {\n return function (cs) {\n return f(cs.value0)(cs.value1)(cs.value2)(cs.value3)(cs.value4)(cs.value5);\n };\n };\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkComponentSlot = ComponentSlot.create;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var parentComponent = function (dictOrd) {\n return function (spec) {\n return mkComponent({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: Data_Maybe.Nothing.value,\n finalizer: Data_Maybe.Nothing.value,\n mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(dictOrd)\n });\n };\n };\n var lifecycleComponent = function (dictBifunctor) {\n return function (spec) {\n return mkComponent({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: spec.initializer,\n finalizer: spec.finalizer,\n mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(Data_Ord.ordVoid)\n });\n };\n }; \n var component = function (dictBifunctor) {\n return function (spec) {\n return lifecycleComponent(dictBifunctor)({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: Data_Maybe.Nothing.value,\n finalizer: Data_Maybe.Nothing.value\n });\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"component\"] = component;\n exports[\"lifecycleComponent\"] = lifecycleComponent;\n exports[\"parentComponent\"] = parentComponent;\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 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_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 Data_Unit = PS[\"Data.Unit\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\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_InputF.RefUpdate(p, mel, Data_Unit.unit));\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.booleanIsProp)(\"required\");\n var rows = prop(Halogen_HTML_Core.intIsProp)(\"rows\"); \n var target = prop(Halogen_HTML_Core.stringIsProp)(\"target\");\n var title = prop(Halogen_HTML_Core.stringIsProp)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.stringIsProp)(\"value\");\n var name = prop(Halogen_HTML_Core.stringIsProp)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.stringIsProp)(\"id\");\n var href = prop(Halogen_HTML_Core.stringIsProp)(\"href\");\n var $$for = prop(Halogen_HTML_Core.stringIsProp)(\"htmlFor\");\n var class_ = function ($13) {\n return prop(Halogen_HTML_Core.stringIsProp)(\"className\")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));\n };\n var checked = prop(Halogen_HTML_Core.booleanIsProp)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.booleanIsProp)(\"autofocus\");\n var autocomplete = function ($14) {\n return prop(Halogen_HTML_Core.onOffIsProp)(\"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_InputF = PS[\"Halogen.Query.InputF\"];\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Component_ChildPath = PS[\"Halogen.Component.ChildPath\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var slot = function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n var f = Halogen_Component.unComponent(function (v) {\n return v.receiver;\n })(component);\n return Halogen_HTML_Core.slot(Halogen_Component.mkComponentSlot(p)(component)(input)(f)(outputQuery)(Data_Maybe.Just.create));\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 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 602, column 1 - line 602, 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 197, column 5 - line 197, 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 keys = 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)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(keys(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value4))(keys(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 596, column 1 - line 596, column 38): \" + [ v.constructor.name ]);\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 93, column 1 - line 93, 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 415, column 3 - line 420, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 412, column 1 - line 412, 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 451, column 5 - line 456, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 448, column 3 - line 448, 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 431, column 3 - line 431, 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 501, column 9 - line 518, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 498, column 5 - line 518, 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 530, column 5 - line 534, 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 521, column 33 - line 525, 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 471, column 34 - line 494, 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 539, column 15 - line 541, 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[\"keys\"] = keys;\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 Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\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 = PS[\"Data.Array\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\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_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_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_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toList = function (v) {\n return Data_Map_Internal.keys(v);\n };\n var foldableSet = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function ($65) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(toList($65));\n };\n };\n }, function (f) {\n return function (x) {\n return function ($66) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(x)(toList($66));\n };\n };\n }, function (f) {\n return function (x) {\n return function ($67) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(x)(toList($67));\n };\n };\n });\n exports[\"foldableSet\"] = foldableSet;\n})(PS[\"Data.Set\"] = PS[\"Data.Set\"] || {});\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_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Set = PS[\"Data.Set\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var keys = function ($0) {\n return Data_Functor[\"void\"](Data_Map_Internal.functorMap)($0);\n };\n exports[\"keys\"] = keys;\n})(PS[\"Data.Map\"] = PS[\"Data.Map\"] || {});\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 Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_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_Component_ChildPath = PS[\"Halogen.Component.ChildPath\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = function ($10) {\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($10));\n };\n var action = function (act) {\n return act(Data_Unit.unit);\n };\n exports[\"action\"] = action;\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 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 = PS[\"Halogen.Query\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\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 input_ = function (f) {\n return function (v) {\n return Data_Maybe.Just.create(Halogen_Query.action(f));\n };\n };\n var input = function (f) {\n return function (x) {\n return Data_Maybe.Just.create(Halogen_Query.action(f(x)));\n };\n };\n var handler = function (et) {\n return function ($1) {\n return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_InputF.Query.create))($1));\n };\n }; \n var onClick = function ($2) {\n return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($2));\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[\"input\"] = input;\n exports[\"input_\"] = input_;\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 fromNullableStr = function ($57) {\n return Data_Maybe.fromMaybe(\"\")(Data_Nullable.toMaybe($57));\n };\n var class_ = function ($58) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($58));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = function ($59) {\n return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll(\"+\")(\" \")($59));\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 $54 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($54) {\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 ($61) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($61));\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[\"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_Applicative = PS[\"Control.Applicative\"];\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, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n UEditField.create = function (value0) {\n return function (value1) {\n return new UEditField(value0, value1);\n };\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n USubmit.create = function (value0) {\n return function (value1) {\n return new USubmit(value0, value1);\n };\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 ($22) {\n return Halogen_HTML_Events.input(UEditField.create)(f($22));\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.inputTypeIsProp)(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.inputTypeIsProp)(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.inputTypeIsProp)(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 $$eval = 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 82, column 12 - line 85, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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 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.editAccountSettings(v1))))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\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_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_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, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditField.create = function (value0) {\n return function (value1) {\n return new BEditField(value0, value1);\n };\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditSubmit.create = function (value0) {\n return function (value1) {\n return new BEditSubmit(value0, value1);\n };\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BDeleteAsk.create = function (value0) {\n return function (value1) {\n return new BDeleteAsk(value0, value1);\n };\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy(value0) {\n this.value0 = value0;\n };\n BDestroy.create = function (value0) {\n return new BDestroy(value0);\n };\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 ($58) {\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\")($58)));\n };\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($59) {\n return Halogen_HTML_Events.input(BEditField.create)(f($59));\n };\n };\n var display_exists = Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $26 = v.bm.bid > 0;\n if ($26) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n return Halogen_HTML_Elements.div_([ (function () {\n var $27 = !v.destroyed;\n if ($27) {\n return display_edit;\n };\n return display_destroyed;\n })() ]);\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 $$eval = function (v) {\n if (v instanceof BDeleteAsk) {\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 $31 = {};\n for (var $32 in v1) {\n if ({}.hasOwnProperty.call(v1, $32)) {\n $31[$32] = v1[$32];\n };\n };\n $31.deleteAsk = v.value0;\n return $31;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $37 = {};\n for (var $38 in v2) {\n if ({}.hasOwnProperty.call(v2, $38)) {\n $37[$38] = v2[$38];\n };\n };\n $37.destroyed = true;\n return $37;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(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 })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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 return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\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 })())(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 150, column 3 - line 150, column 58): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\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) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\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_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_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_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 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 BStar = (function () {\n function BStar(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BStar.create = function (value0) {\n return function (value1) {\n return new BStar(value0, value1);\n };\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BDeleteAsk.create = function (value0) {\n return function (value1) {\n return new BDeleteAsk(value0, value1);\n };\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy(value0) {\n this.value0 = value0;\n };\n BDestroy.create = function (value0) {\n return new BDestroy(value0);\n };\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEdit.create = function (value0) {\n return function (value1) {\n return new BEdit(value0, value1);\n };\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditField.create = function (value0) {\n return function (value1) {\n return new BEditField(value0, value1);\n };\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditSubmit.create = function (value0) {\n return function (value1) {\n return new BEditSubmit(value0, value1);\n };\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead(value0) {\n this.value0 = value0;\n };\n BMarkRead.create = function (value0) {\n return new BMarkRead(value0);\n };\n return BMarkRead;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\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 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 $$eval = 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 Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(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 }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\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 $34 = {};\n for (var $35 in v1) {\n if ({}.hasOwnProperty.call(v1, $35)) {\n $34[$35] = v1[$35];\n };\n };\n $34.deleteAsk = v.value0;\n return $34;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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 Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query_HalogenM.raise(BNotifyRemove.value))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\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 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: false,\n bid: v2.bid,\n slug: v2.slug,\n selected: v2.selected,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\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 Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(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 231, column 17 - line 237, column 36): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): \" + [ 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 = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BStar.create(!v.bm.selected))) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]) ]);\n var mmoment = Globals.mmoment8601(v.bm.time);\n var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(true))), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BMarkRead.create)), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ])) ]);\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 ($64) {\n return Halogen_HTML_Events.input(BEditField.create)(f($64));\n };\n };\n var display_edit = [ Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(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.inputTypeIsProp)(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.inputTypeIsProp)(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.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(false))) ]) ]) ]) ];\n var display = [ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $59 = Data_String_Common[\"null\"](v.bm.title);\n if ($59) {\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 $60 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($60) {\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\") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common[\"null\"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {\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))), 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)) ]) ])(links)) ];\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\")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {\n if (v.edit) {\n return display_edit;\n };\n return display;\n })()));\n };\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\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[\"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_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Data_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_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_HTML_Events = PS[\"Halogen.HTML.Events\"];\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, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new HandleBMessage(value0, value1, value2);\n };\n };\n };\n return HandleBMessage;\n })();\n var blist = function (st) {\n var render = function (bms) {\n var renderBookmark = function (b) {\n return Halogen_HTML.slot(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(Halogen_HTML_Events.input(HandleBMessage.create(b.bid)));\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderBookmark)(bms));\n };\n var $$eval = function (v) {\n var removeBookmark = function (bookmarkId) {\n return Data_Array.filter(function (b) {\n return b.bid !== bookmarkId;\n });\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(removeBookmark(v.value0)))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value2);\n });\n };\n return Halogen_Component.parentComponent(Data_Ord.ordInt)({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"HandleBMessage\"] = HandleBMessage;\n exports[\"blist\"] = blist;\n})(PS[\"Component.BList\"] = PS[\"Component.BList\"] || {});\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 $foreign = PS[\"Component.RawHtml\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\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_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 = PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML = PS[\"Web.HTML\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML(value0) {\n this.value0 = value0;\n };\n SetInnerHTML.create = function (value0) {\n return new SetInnerHTML(value0);\n };\n return SetInnerHTML;\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 mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var $$eval = 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)(v.value0);\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 $$eval(new SetInnerHTML(v.value1));\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.lifecycleComponent(Halogen_HTML_Core.bifunctorHTML)({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": $$eval,\n receiver: Halogen_HTML_Events.input(Receive.create),\n initializer: Data_Maybe.Just.create(Halogen_Query.action(SetInnerHTML.create)),\n finalizer: Data_Maybe.Nothing.value\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 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 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 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 $$eval = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\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.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\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_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(value0) {\n this.value0 = value0;\n };\n NNop.create = function (value0) {\n return new NNop(value0);\n };\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEditField.create = function (value0) {\n return function (value1) {\n return new NEditField(value0, value1);\n };\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEditSubmit.create = function (value0) {\n return function (value1) {\n return new NEditSubmit(value0, value1);\n };\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEdit.create = function (value0) {\n return function (value1) {\n return new NEdit(value0, value1);\n };\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NDeleteAsk.create = function (value0) {\n return function (value1) {\n return new NDeleteAsk(value0, value1);\n };\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy(value0) {\n this.value0 = value0;\n };\n NDestroy.create = function (value0) {\n return new NDestroy(value0);\n };\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 _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 = 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 $24 = Data_String_Common[\"null\"](v.note.title);\n if ($24) {\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(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.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(true))), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(true))), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]));\n var editField = function (f) {\n return function ($59) {\n return Halogen_HTML_Events.input(NEditField.create)(f($59));\n };\n };\n var renderNote_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(NEditSubmit.create)) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 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.inputTypeIsProp)(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.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(false))) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n if (v.destroyed) {\n return display_destroyed;\n };\n if (v.edit) {\n return renderNote_edit;\n };\n return 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 $$eval = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n };\n if (v instanceof NEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(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 158, column 19 - line 161, column 44): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof NDeleteAsk) {\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 $38 = {};\n for (var $39 in v1) {\n if ({}.hasOwnProperty.call(v1, $39)) {\n $38[$39] = v1[$39];\n };\n };\n $38.deleteAsk = v.value0;\n return $38;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $44 = {};\n for (var $45 in v2) {\n if ({}.hasOwnProperty.call(v2, $45)) {\n $44[$45] = v2[$45];\n };\n };\n $44.destroyed = true;\n return $44;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\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 Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\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)(v.value1);\n };\n if (v2.body instanceof Data_Either.Right) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n var $55 = v1.id === 0;\n if ($55) {\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 })())(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 188, column 5 - line 197, column 14): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 153, column 3 - line 153, column 72): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.parentComponent(Data_Ord.ordUnit)({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\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[\"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_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_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_OrdBox = PS[\"Halogen.Data.OrdBox\"];\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 = function (v) {\n return Unsafe_Coerce.unsafeCoerce;\n };\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(st.prjQuery)(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (prjQuery) {\n return function (lchs) {\n return function __do() {\n var v = Effect_Ref[\"new\"]({})();\n var v1 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v2 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v3 = Effect_Ref[\"new\"](Data_Functor.voidLeft(Data_Maybe.functorMaybe)(component.initializer)(Data_List_Types.Nil.value))();\n var v4 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v5 = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v6 = Effect_Ref[\"new\"](0)();\n var v7 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Data_Map_Internal.empty,\n childrenIn: v1,\n childrenOut: v2,\n selfRef: v,\n handler: handler,\n pendingQueries: v3,\n pendingOuts: v4,\n pendingHandlers: v5,\n rendering: Data_Maybe.Nothing.value,\n prjQuery: prjQuery,\n fresh: v6,\n subscriptions: v7,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(v)();\n return mkDriverStateXRef(v);\n };\n };\n };\n };\n };\n };\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_Error_Class = PS[\"Control.Monad.Error.Class\"];\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_Set = PS[\"Data.Set\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_ForkF = PS[\"Halogen.Query.ForkF\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"]; \n var queuingHandler = function (handler) {\n return 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 if (v instanceof Data_Maybe.Nothing) {\n return handler(message);\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(handler(message), v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 171, column 3 - line 175, column 59): \" + [ v.constructor.name ]);\n });\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 $$eval = function (render) {\n return function (r) {\n var go = function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n var v2 = v.value0(v1.state);\n if (Unsafe_Reference.unsafeRefEq(v1.state)(v2.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.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: v1.component,\n state: v2.value1,\n refs: v1.refs,\n children: v1.children,\n childrenIn: v1.childrenIn,\n childrenOut: v1.childrenOut,\n selfRef: v1.selfRef,\n handler: v1.handler,\n pendingQueries: v1.pendingQueries,\n pendingOuts: v1.pendingOuts,\n pendingHandlers: v1.pendingHandlers,\n rendering: v1.rendering,\n prjQuery: v1.prjQuery,\n fresh: v1.fresh,\n subscriptions: v1.subscriptions,\n lifecycleHandlers: v1.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v1.lifecycleHandlers)(render(v1.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): \" + [ v2.constructor.name ]);\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Query_EventSource.unEventSource(v.value0))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: i\n };\n })(v1.fresh)))(function (v3) {\n var done$prime = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions)))(function (v4) {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Data_Ord.ordInt)(v3))(v4))(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v3)))(v1.subscriptions)));\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(Data_Ord.ordInt)(v3)(done$prime)))(v1.subscriptions)))(function () {\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (v4) {\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(v1.subscriptions))))(function (v5) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Maybe.isJust(v5))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(evalF(ref)(v4)))(function (v6) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Halogen_Query_EventSource.eqSubscribeStatus)(v6)(Halogen_Query_EventSource.Listening.value))(consumer);\n }));\n });\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v2.producer)))(function () {\n return done$prime;\n });\n });\n });\n })))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);\n });\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Lift) {\n return v.value0;\n };\n if (v instanceof Halogen_Query_HalogenM.Halt) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(v.value0));\n };\n if (v instanceof Halogen_Query_HalogenM.GetSlots) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value0(Data_Functor.map(Data_List_Types.functorList)(Halogen_Data_OrdBox.unOrdBox)(Data_List.fromFoldable(Data_Set.foldableSet)(Data_Map.keys(v1.children)))));\n });\n };\n if (v instanceof Halogen_Query_HalogenM.CheckSlot) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(v1.component.mkOrdBox(v.value0))(v1.children)));\n });\n };\n if (v instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v.value0)(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queuingHandler(v1.handler)(v1.pendingOuts)(v.value0))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);\n });\n });\n };\n if (v 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 ($103) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(ref)($103));\n })(v.value0)));\n };\n if (v instanceof Halogen_Query_HalogenM.Fork) {\n return Halogen_Query_ForkF.unFork(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalM(ref)(v1.value0)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Function.flip(Effect_Aff.killFiber)(v2)));\n });\n })(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v.value0)(v1.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): \" + [ v.constructor.name ]);\n };\n };\n var evalM = function (ref) {\n return function (v) {\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v);\n };\n };\n var evalF = 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 var v1 = v[\"component\"][\"eval\"](q);\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v1);\n });\n };\n };\n var evalChildQuery = function (ref) {\n return function (p) {\n return Data_Coyoneda.unCoyoneda(function (k) {\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 var v1 = Data_Map_Internal.lookup(Halogen_Data_OrdBox.ordOrdBox)(v.component.mkOrdBox(p))(v.children);\n if (v1 instanceof Data_Maybe.Just) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.value0)))(function (v2) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n var v3 = ds.prjQuery(q);\n if (v3 instanceof Data_Maybe.Just) {\n return Data_Functor.map(Effect_Aff.functorAff)(k)(evalF(ds.selfRef)(v3.value0));\n };\n if (v3 instanceof Data_Maybe.Nothing) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(\"Query projection failed for child query\"));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 141, column 32 - line 143, column 82): \" + [ v3.constructor.name ]);\n })(v2);\n });\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(\"Slot lookup failed for child query\"));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 138, column 5 - line 144, column 73): \" + [ v1.constructor.name ]);\n });\n };\n });\n };\n };\n return function (v) {\n if (v instanceof Halogen_Query_InputF.RefUpdate) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(function (v1) {\n return {\n component: v1.component,\n state: v1.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(v1.refs),\n children: v1.children,\n childrenIn: v1.childrenIn,\n childrenOut: v1.childrenOut,\n selfRef: v1.selfRef,\n handler: v1.handler,\n pendingQueries: v1.pendingQueries,\n pendingOuts: v1.pendingOuts,\n pendingHandlers: v1.pendingHandlers,\n rendering: v1.rendering,\n prjQuery: v1.prjQuery,\n fresh: v1.fresh,\n subscriptions: v1.subscriptions,\n lifecycleHandlers: v1.lifecycleHandlers\n };\n })(r)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value2);\n });\n };\n if (v instanceof Halogen_Query_InputF.Query) {\n return evalF(r)(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"eval\"] = $$eval;\n exports[\"queuingHandler\"] = queuingHandler;\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_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_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\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 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.Left.create)(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 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 ($63) {\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($63)));\n })();\n };\n };\n var cleanupSubscriptions = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($64) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))($64));\n }))(Effect_Ref.read(v.subscriptions))();\n return Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Data_Functor.map(Data_Maybe.functorMaybe)(function ($65) {\n return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($65));\n })(st.component.initializer);\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)(Data_Foldable.sequence_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(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 function (prjQuery) {\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)(prjQuery)(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 ($66) {\n return render(lchs)((function (v3) {\n return v3.selfRef;\n })($66));\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 };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (mkOrdBox) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (p) {\n return function (ctor) {\n return function (input) {\n return function (inputQuery) {\n return function (outputQuery) {\n return function (prjQuery) {\n var ordP = mkOrdBox(p);\n return function __do() {\n var v = Effect_Ref.read(childrenInRef)();\n var v1 = (function () {\n var v1 = Data_Map_Internal.pop(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v);\n if (v1 instanceof Data_Maybe.Just) {\n Effect_Ref.write(v1.value0.value1)(childrenInRef)();\n Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(inputQuery(input))(function (q) {\n return function __do() {\n var v2 = Effect_Ref.read(v1.value0.value0)();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(st.prjQuery(q))(function ($67) {\n return handleAff(evalF(st.selfRef)(Halogen_Query_InputF.Query.create($67)));\n });\n })(v2)();\n };\n })();\n return v1.value0.value0;\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return runComponent(lchs)(function ($68) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(outputQuery($68));\n })(input)(prjQuery)(ctor)();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): \" + [ v1.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(ordP))(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_(Data_Map_Internal.insert(Halogen_Data_OrdBox.ordOrdBox)(ordP)(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 271, column 37 - line 273, column 50): \" + [ v3.constructor.name ]);\n }))();\n };\n };\n };\n };\n };\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(Data_Map_Internal.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var handler = Halogen_Aff_Driver_Eval.queuingHandler(function ($69) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(evalF(v.selfRef)($69));\n })(v.pendingHandlers);\n var childHandler = Halogen_Aff_Driver_Eval.queuingHandler(function ($70) {\n return handler(Halogen_Query_InputF.Query.create($70));\n })(v.pendingQueries);\n var v2 = renderSpec.render(function ($71) {\n return handleAff(handler($71));\n })(renderChild(lchs)(childHandler)(v.component.mkOrdBox)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var v3 = Effect_Ref.read(v.childrenOut)();\n Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v.childrenIn))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function (childVar) {\n return function __do() {\n var v4 = Effect_Ref.read(childVar)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v4)();\n return finalize(lchs)(v4)();\n };\n }))();\n Effect_Ref.modify_(function (v4) {\n return {\n rendering: new Data_Maybe.Just(v2),\n children: v3,\n component: v4.component,\n state: v4.state,\n refs: v4.refs,\n childrenIn: v4.childrenIn,\n childrenOut: v4.childrenOut,\n selfRef: v4.selfRef,\n handler: v4.handler,\n pendingQueries: v4.pendingQueries,\n pendingOuts: v4.pendingOuts,\n pendingHandlers: v4.pendingHandlers,\n prjQuery: v4.prjQuery,\n fresh: v4.fresh,\n subscriptions: v4.subscriptions,\n lifecycleHandlers: v4.lifecycleHandlers\n };\n })(v.selfRef)();\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 (v4) {\n return function __do() {\n var v5 = 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 ($72) {\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($72)));\n })(v5)();\n var v6 = Effect_Ref.read(v.pendingHandlers)();\n var $57 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v6);\n if ($57) {\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 cleanupSubscriptions(st)();\n Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function ($73) {\n return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($73));\n })(st.component.finalizer))(function (f) {\n return 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 })();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(st.children)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(finalize(lchs))(Effect_Ref.read))();\n };\n });\n };\n var evalF = function (ref) {\n return Halogen_Aff_Driver_Eval[\"eval\"](render)(ref);\n };\n var evalDriver = function (ref) {\n return function (prjQuery) {\n return function (q) {\n var v = prjQuery(q);\n if (v instanceof Data_Maybe.Just) {\n return evalF(ref)(new Halogen_Query_InputF.Query(v.value0));\n };\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Exception.throwException(Effect_Exception.error(\"Halogen internal error: query projection failed in runUI'\")));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): \" + [ v.constructor.name ]);\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 Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {\n var v2 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n return Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(runComponent(v)(rootHandler(v2))(i)(Data_Maybe.Just.create)(component))(Effect_Ref.read))(Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(st.selfRef)(st.prjQuery),\n subscribe: subscribe(v1)(v2)\n });\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 Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\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 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 eqElemSpec = function (a, b) {\n if (a.value1 === b.value1) {\n if (a.value0 instanceof Data_Maybe.Just && (b.value0 instanceof Data_Maybe.Just && a.value0.value0 === b.value0.value0)) {\n return true;\n };\n if (a.value0 instanceof Data_Maybe.Nothing && b.value0 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var buildWidget = (function () {\n var patch = function (build, v) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, v)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Widget) {\n var v2 = v.value1(v1.value0);\n return new Halogen_VDom_Machine.Step(v2.value0, patch(build, v2), v2.value2);\n };\n v.value2();\n return build(v1);\n };\n };\n var render = function (v, build, w) {\n var v1 = v.buildWidget(v)(w);\n return new Halogen_VDom_Machine.Step(v1.value0, patch(build, v1), v1.value2);\n };\n return render;\n })();\n var buildText = (function () {\n var patch = function (build, halt, node, s1) {\n return function (v) {\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, s1)(Halogen_VDom_Types.runGraft(v.value0));\n };\n if (v instanceof Halogen_VDom_Types.Text) {\n var res = new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v.value0), halt);\n var $84 = s1 === v.value0;\n if ($84) {\n return res;\n };\n Halogen_VDom_Util.setTextContent(v.value0, node);\n return res;\n };\n halt();\n return build(v);\n };\n };\n var done = function (node) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n return Halogen_VDom_Util.removeChild(node, v);\n };\n };\n var render = function (v, build, s) {\n var v1 = Halogen_VDom_Util.createTextNode(s, v.document);\n var halt = done(v1);\n return new Halogen_VDom_Machine.Step(v1, patch(build, halt, v1, s), halt);\n };\n return render;\n })();\n var buildKeyed = (function () {\n var done = function (node, attrs, steps) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n Halogen_VDom_Util.removeChild(node, v);\n Halogen_VDom_Util.forInE(steps, function (v1, v2) {\n return v2.value2();\n });\n return Halogen_VDom_Machine.halt(attrs)();\n };\n };\n var patch = function (build, halt, node, attrs, v, ch1, len1) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, attrs, v, ch1, len1)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Keyed && eqElemSpec(v, v1.value0)) {\n var v2 = Data_Array.length(v1.value1);\n if (len1 === 0 && v2 === 0) {\n var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v4, ch1);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1, 0), halt$prime);\n };\n var onThis = function (v4, v5) {\n return v5.value2();\n };\n var onThese = function (v4, ix$prime, v5, v6) {\n var v7 = v5.value1(v6.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, v7.value0, node);\n return v7;\n };\n var onThat = function (v4, ix, v5) {\n var v6 = build(v5.value1);\n Halogen_VDom_Util.insertChildIx(ix, v6.value0, node);\n return v6;\n };\n var v4 = Halogen_VDom_Util.diffWithKeyAndIxE(ch1, v1.value1, Data_Tuple.fst, onThese, onThis, onThat);\n var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v5, v4);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4, v2), halt$prime);\n };\n halt();\n return build(v1);\n };\n };\n var render = function (v, build, v1, ch1) {\n var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);\n var node = Web_DOM_Element.toNode(v2);\n var onChild = function (k, ix, v3) {\n var v4 = build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);\n return v4;\n };\n var v3 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var v4 = v.buildAttributes(v2)(v1.value2);\n var halt = done(node, v4, v3);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3, Data_Array.length(ch1)), halt);\n };\n return render;\n })();\n var buildElem = (function () {\n var done = function (node, attrs, steps) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n Halogen_VDom_Util.removeChild(node, v);\n Effect.foreachE(steps)(Halogen_VDom_Machine.halt)();\n return Halogen_VDom_Machine.halt(attrs)();\n };\n };\n var patch = function (build, halt, node, attrs, v, ch1) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, attrs, v, ch1)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Elem && eqElemSpec(v, v1.value0)) {\n var v2 = Data_Array.length(v1.value1);\n var v3 = Data_Array.length(ch1);\n if (v3 === 0 && v2 === 0) {\n var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v4, ch1);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1), halt$prime);\n };\n var onThis = function (ix, v4) {\n return v4.value2();\n };\n var onThese = function (ix, v4, vdom) {\n var v5 = v4.value1(vdom);\n Halogen_VDom_Util.insertChildIx(ix, v5.value0, node);\n return v5;\n };\n var onThat = function (ix, vdom) {\n var v4 = build(vdom);\n Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);\n return v4;\n };\n var v4 = Halogen_VDom_Util.diffWithIxE(ch1, v1.value1, onThese, onThis, onThat);\n var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v5, v4);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4), halt$prime);\n };\n halt();\n return build(v1);\n };\n };\n var render = function (v, build, v1, ch1) {\n var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);\n var node = Web_DOM_Element.toNode(v2);\n var onChild = function (ix, child) {\n var v3 = build(child);\n Halogen_VDom_Util.insertChildIx(ix, v3.value0, node);\n return v3;\n };\n var v3 = Halogen_VDom_Util.forE(ch1, onChild);\n var v4 = v.buildAttributes(v2)(v1.value2);\n var halt = done(node, v4, v3);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3), halt);\n };\n return render;\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);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1);\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_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_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_InputF = PS[\"Halogen.Query.InputF\"];\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 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 = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n var patch = function (slot) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(slot)();\n var node = getNode(v1);\n return new Halogen_VDom_Machine.Step(node, patch, done);\n };\n var buildWidget = function (spec) {\n return function (slot) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(slot)();\n var node = getNode(v1);\n return new Halogen_VDom_Machine.Step(node, patch, done);\n };\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 118, column 5 - line 134, 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 };\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","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","eqVoid","v1","eqUnit","eqString","eqInt","eqChar","Semigroupoid","compose","semigroupoidFn","Control_Semigroupoid","Category","Semigroupoid0","identity","categoryFn","unsafeCompareImpl","lt","gt","y","concatString","s1","s2","concatArray","xs","ys","Semigroup","append","semigroupString","semigroupArray","dictSemigroup","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","ordVoid","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","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","semigroupFn","Control_Alt","Nothing","Just","value0","maybe","v2","isNothing","isJust","functorMaybe","applyMaybe","bindMaybe","dictPartial","_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","foreachE","as","monadEffect","applicativeEffect","bindEffect","applyEffect","functorEffect","ap","liftA1","new","read","ref","state","write","Effect","modify","s$prime","unsafePartial","crashWith","msg","Partial","Effect_Ref","Loop","Done","MonadRec","Monad0","tailRecM","monadRecEffect","fromDone","Tuple","value1","functorTuple","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","liftEffect","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","_makeFiber","_sequential","unsafePerformEffect","Control_Monad_Rec_Class","Effect_Class","Effect_Unsafe","Partial_Unsafe","Unsafe_Coerce","Canceler","suspendAff","functorParAff","functorAff","forkAff","ffiUtil","unsafeCrashWith","makeFiber","launchAff","applyParAff","monadAff","applicativeAff","bindAff","applyAff","monadEffectAff","MonadEffect","effectCanceler","$50","joinFiber","functorFiber","monadThrowAff","monadErrorAff","MonadError","runAff","$52","parallelAff","Parallel","applicativeParAff","$54","monadRecAff","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","requestHeaderName","req$prime","h","requestHeaderValue","toMediaType","toResponseType","fromEffectFnAff","responseHeader","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","OrdBox","value2","eqOrdBox","ordOrdBox","dictOrd","ButtonButton","ButtonSubmit","ButtonReset","On","Off","RefUpdate","Query","bifunctorInputF","functorInputF","rmap","Step","ElemSpec","Text","Elem","Keyed","Widget","Grafted","Graft","unGraft","$90","graft","functorElemSpec","bifunctorGraft","$92","$93","bifunctorVDom","runGraft","unsafeGetAny","unsafeHasAny","unsafeSetAny","forE","forInE","o","ks","keys","diffWithIxE","a1","a2","f1","f2","f3","a3","l2","strMapWithIxE","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","effectUnit","Halogen_VDom_Machine","Halogen_VDom_Util","Web_Event_EventTarget","Created","Removed","Attribute","Property","Handler","Ref","unsafeGetProperty","setProperty","propToStrKey","propFromString","propFromInt","propFromBoolean","functorProp","removeProp","prevEvents","removeProperty","mbEmit","ps","applyProp","events","v3","v4","v5","patch","ps1","ps2","onThis","onThese","v11","$61","elVal","$70","diffProp","onThat","render","DOM_HTML_Indexed_ButtonType","DOM_HTML_Indexed_InputType","DOM_HTML_Indexed_OnOff","Halogen_Query_InputF","Halogen_VDom_DOM_Prop","Halogen_VDom_Types","HTML","ClassName","IsProp","toPropValue","stringIsProp","onOffIsProp","$35","renderOnOff","newtypeClassName","intIsProp","inputTypeIsProp","$40","renderInputType","buttonTypeIsProp","$44","renderButtonType","booleanIsProp","bifunctorHTML","props","children","dictIsProp","$32","$31","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","$37","Data_List","CatQueue","Data_CatQueue","CatNil","CatCons","semigroupCatList","cat","q","$copy_xs","$copy_c","$copy_v1","$tco_var_v","$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","runExists","mkExists","Data_Exists","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","lift2","functorAwait","bifunctorEmit","functorEmit","liftFreeT","runFreeT","$186","recv","monadTransFreeT","voidLeft","AVar","MutableQueue","last","MutableCell","prev","takes","reads","puts","takeLast","takeHead","putLast","deleteCell","drainVar","avar","rsize","ts","rs","_killVar","_putVar","_takeVar","Killed","Filled","Empty","filled","Effect_AVar","take","put","$11","Listening","eqSubscribeStatus","unFork","Control_Monad_Free","Effect_Aff_Class","HalogenM","State","Subscribe","Halt","GetSlots","CheckSlot","ChildQuery","Raise","Par","GetRef","functorHalogenM","applyHalogenM","bindHalogenM","applicativeHalogenM","monadHalogenM","monadEffectHalogenM","dictMonadEffect","liftF","monadStateHalogenM","MonadState","$180","dictMonadAff","Halogen_Data_OrdBox","ComponentSlot","value3","value4","value5","unComponent","mkComponentSlot","mkComponent","lifecycleComponent","spec","initialState","receiver","initializer","finalizer","mkOrdBox","cs","Halogen_HTML_Core","$10","mel","prop","required","rows","id_","$$for","autofocus","$13","form","span","tbody","tbody_","td","td_","tr","tr_","div_","button","br_","es","Halogen_Component","component","input","outputQuery","slot","Leaf","Two","Three","value6","TwoLeft","TwoRight","ThreeLeft","ThreeMiddle","ThreeRight","KickUp","values","comp","functorMap","fromZipper","$copy_dictOrd","$copy_tree","$tco_var_dictOrd","tree","up","$copy_ctx","$copy_v2","$tco_var_v1","down","$tco_var_ctx","ctx","$copy_ctxs","$tco_var_ctxs","ctxs","removeMaxNode","$copy_m","maxNode","max","leaves","foldableMap","$$delete","Data_Map_Internal","toList","foldableSet","$65","Halogen_Query_HalogenM","Web_HTML_HTMLElement","act","fromElement","getRef","Foreign_Index","Halogen_Query","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","$26","toCodePointArray","$53","toEnumWithDefaults","takeFallback","Data_String_CodePoints","Halogen_HTML_Properties","_parseQueryString","srh","decode","srh$prime","$59","mapMaybe","kv","_loc","$58","class_","find","$57","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","editField","$22","type_","archiveDefault","privateDefault","privacyLock","$$eval","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","input_","guard","display_edit","textarea","description","autocomplete","tags","toread","display_destroyed","modify_","destroy","$38","selected","archiveUrl","editBookmark","assign","closeWindow","BStar","BEdit","BMarkRead","BNotifyRemove","_edit","mkState","star","dat","isowner","linkToFilterTag","fromNullableStr","userR","$64","display","monoidFn","toggleStar","$34","raise","markRead","Component_BMark","Halogen_HTML","HandleBMessage","st","parentComponent","bms","bmark","removeBookmark","bookmarkId","unsafeSetInnerHTML","innerHTML","SetInnerHTML","Receive","toRawHTML","inputval","elRef","getHTMLElementRef","for_","$12","markedImpl","RawHTML","Component_RawHtml","Foreign_Marked","st$prime","notes$prime","created","linkToFilterSingle","notes","cur","Component_Markdown","Data_Void","Etext","EisMarkdown","NNop","NEditField","NEditSubmit","NEdit","NDeleteAsk","NDestroy","_note","note","edit_note","_edit_note","note$prime","renderNote","isMarkdown","absurd","renderNote_edit","updated","$39","destroyNote","$45","editNote","noteR","MonadFork","Functor1","fork","suspend","monadForkAff","warn","unRenderStateX","unDriverStateX","mkDriverStateXRef","mkRenderStateX","prjQuery","rendering","lchs","v6","v7","ds","refs","childrenIn","childrenOut","selfRef","pendingQueries","pendingOuts","pendingHandlers","fresh","subscriptions","lifecycleHandlers","reallyUnsafeRefEq","unsafeRefEq","Control_Applicative_Free","Control_Coroutine","Control_Monad_Fork_Class","Control_Parallel","Data_Coyoneda","Data_Map","Data_Set","Effect_Exception","Halogen_Aff_Driver_State","Halogen_Query_EventSource","Halogen_Query_ForkF","Unsafe_Reference","queuingHandler","handleLifecycle","initializers","finalizers","parSequence_","unEventSource","done$prime","when","member","consumer","evalF","runProcess","pullFrom","producer","unOrdBox","fromFoldable","evalChildQuery","retractFreeAp","hoistFreeAp","$103","evalM","killFiber","foldFree","unCoyoneda","alter","Effect_Aff_AVar","Effect_Console","Halogen_Aff_Driver_Eval","newLifecycleHandlers","handleAff","runAff_","renderSpec","subscribe","handlePending","$63","runComponent","initDriverState","preInits","parentInitializer","handlers","sequence_","squashChildInitializers","$$var","$69","childHandler","$71","childrenInRef","childrenOutRef","unComponentSlot","ctor","inputQuery","ordP","$68","renderStateX","renderChild","childVar","finalize","renderStateX_","$72","$73","query","connect","Web_DOM_ParentNode","Web_HTML_HTMLDocument","runHalogenAff","Web_DOM_Element","eqElemSpec","buildWidget","w","buildText","halt","res","$84","buildKeyed","attrs","ch1","buildAttributes","len1","halt$prime","ix$prime","buildElem","child","vdom","Halogen_Aff_Driver","Halogen_VDom_DOM","Web_DOM_Node","pn","container","renderChildRef","getNode","buildProp","mkSpec","buildVDom","extract","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 xhr.onerror = function () {\n errback(new Error(\"AJAX request failed: \" + options.method + \" \" + options.url));\n };\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 eqVoid = new Eq(function (v) {\n return function (v1) {\n return true;\n };\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 eq = function (dict) {\n return dict.eq;\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqVoid\"] = eqVoid;\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 var semigroupFn = function (dictSemigroup) {\n return new Semigroup(function (f) {\n return function (g) {\n return function (x) {\n return append(dictSemigroup)(f(x))(g(x));\n };\n };\n });\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupFn\"] = semigroupFn;\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 ordVoid = new Ord(function () {\n return Data_Eq.eqVoid;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\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 exports[\"ordVoid\"] = ordVoid;\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 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[\"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 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})(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 monoidFn = function (dictMonoid) {\n return new Monoid(function () {\n return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0());\n }, function (v) {\n return mempty(dictMonoid);\n });\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[\"monoidFn\"] = monoidFn;\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 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})(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 sequence_ = function (dictApplicative) {\n return function (dictFoldable) {\n return traverse_(dictApplicative)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\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[\"sequence_\"] = sequence_;\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\n exports.foreachE = function (as) {\n return function (f) {\n return function () {\n for (var i = 0, l = as.length; i < l; i++) {\n f(as[i])();\n }\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 exports[\"foreachE\"] = $foreign.foreachE;\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 exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\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_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 requestHeaderValue = 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 29, column 1 - line 29, column 46): \" + [ v.constructor.name ]);\n };\n var requestHeaderName = 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 24, column 1 - line 24, column 45): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"requestHeaderName\"] = requestHeaderName;\n exports[\"requestHeaderValue\"] = requestHeaderValue;\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 var fromFoldable = function (dictFoldable) {\n return Data_Foldable.foldr(dictFoldable)(Data_List_Types.Cons.create)(Data_List_Types.Nil.value);\n };\n exports[\"fromFoldable\"] = fromFoldable;\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_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 var responseHeader = function (field) {\n return function (value) {\n return new ResponseHeader(field, value);\n };\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._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 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 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[\"runAff\"] = runAff;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\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 293, column 19 - line 299, 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 267, column 20 - line 274, 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.requestHeaderName)(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.requestHeaderName(h),\n value: Affjax_RequestHeader.requestHeaderValue(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, 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 247, column 3 - line 251, 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 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 unOrdBox = function (v) {\n return v.value2;\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[\"unOrdBox\"] = unOrdBox;\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 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 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 Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new RefUpdate(value0, value1, value2);\n };\n };\n };\n return RefUpdate;\n })();\n var Query = (function () {\n function Query(value0) {\n this.value0 = value0;\n };\n Query.create = function (value0) {\n return new Query(value0);\n };\n return Query;\n })(); \n var bifunctorInputF = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof RefUpdate) {\n return new RefUpdate(v.value0, v.value1, f(v.value2));\n };\n if (v instanceof Query) {\n return new Query(g(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Query.InputF (line 21, column 15 - line 23, column 27): \" + [ v.constructor.name ]);\n };\n };\n });\n var functorInputF = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorInputF));\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Query\"] = Query;\n exports[\"bifunctorInputF\"] = bifunctorInputF;\n exports[\"functorInputF\"] = functorInputF;\n})(PS[\"Halogen.Query.InputF\"] = PS[\"Halogen.Query.InputF\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"]; \n var Step = (function () {\n function Step(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Step(value0, value1, value2);\n };\n };\n };\n return Step;\n })();\n var step = function (v) {\n return v.value1;\n };\n var halt = function (v) {\n return v.value2;\n };\n var extract = function (v) {\n return v.value0;\n };\n exports[\"Step\"] = Step;\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_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_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var ElemSpec = (function () {\n function ElemSpec(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n ElemSpec.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new ElemSpec(value0, value1, value2);\n };\n };\n };\n return ElemSpec;\n })();\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) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return new Elem(value0, value1);\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return new Keyed(value0, value1);\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 ($90) {\n return f($90);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var functorElemSpec = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new ElemSpec(m.value0, m.value1, f(m.value2));\n };\n });\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($92) {\n return f(v.value0($92));\n }, function ($93) {\n return g(v.value1($93));\n }, v.value2));\n });\n };\n });\n var bifunctorVDom = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n if (v instanceof Text) {\n return new Text(v.value0);\n };\n if (v instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(f)(g)(v.value0));\n };\n return new Grafted(graft(new Graft(f, g, v)));\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(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value1));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(Data_Functor.map(functorElemSpec)(v.value0)(v2.value0), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value1));\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 74, column 7 - line 74, 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[\"ElemSpec\"] = ElemSpec;\n exports[\"bifunctorVDom\"] = bifunctorVDom;\n exports[\"bifunctorGraft\"] = bifunctorGraft;\n exports[\"functorElemSpec\"] = functorElemSpec;\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.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 Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Unit = PS[\"Data.Unit\"];\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 var effectUnit = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n exports[\"effectUnit\"] = effectUnit;\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[\"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_Eq = PS[\"Data.Eq\"];\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 178, column 16 - line 185, 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 functorProp = new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof Handler) {\n return new Handler(v.value0, Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value1));\n };\n if (v instanceof Ref) {\n return new Ref(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(f))(v.value0));\n };\n return v;\n };\n });\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 165, column 5 - line 175, 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 done = function (ps) {\n var v = Foreign_Object.lookup(\"ref\")(ps);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return function () {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n };\n return Halogen_VDom_Util.effectUnit;\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 109, column 5 - line 131, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patch = function (prevEvents, ps1) {\n return function (ps2) {\n var v = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(prevEvents);\n var onThese = diffProp(prevEvents, v);\n var onThat = applyProp(v);\n var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(ps1, ps2, propToStrKey, onThese, onThis, onThat);\n return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));\n };\n };\n var render = function (ps1) {\n var v = Halogen_VDom_Util.newMutMap();\n var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));\n return new Halogen_VDom_Machine.Step(Data_Unit.unit, patch(Halogen_VDom_Util.unsafeFreeze(v), v1), done(v1));\n };\n return render;\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 exports[\"functorProp\"] = functorProp;\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_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_InputF = PS[\"Halogen.Query.InputF\"];\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 ($27) {\n return HTML(Halogen_VDom_Types.Text.create($27));\n };\n var stringIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var slot = function ($29) {\n return HTML(Halogen_VDom_Types.Widget.create($29));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($31) {\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 103, column 21 - line 105, column 23): \" + [ v.constructor.name ]);\n })($31));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n return function ($32) {\n return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($32));\n };\n };\n }; \n var onOffIsProp = new IsProp(function ($35) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));\n }); \n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var intIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var inputTypeIsProp = new IsProp(function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));\n });\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(new Halogen_VDom_Types.ElemSpec(ns, name, props), children);\n };\n };\n };\n }; \n var buttonTypeIsProp = new IsProp(function ($44) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($44));\n });\n var booleanIsProp = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var bifunctorHTML = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Bifunctor.bimap(Halogen_VDom_Types.bifunctorVDom)(Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Halogen_VDom_DOM_Prop.functorProp)(Data_Functor.map(Halogen_Query_InputF.functorInputF)(g))))(f)(v);\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[\"bifunctorHTML\"] = bifunctorHTML;\n exports[\"stringIsProp\"] = stringIsProp;\n exports[\"intIsProp\"] = intIsProp;\n exports[\"booleanIsProp\"] = booleanIsProp;\n exports[\"buttonTypeIsProp\"] = buttonTypeIsProp;\n exports[\"inputTypeIsProp\"] = inputTypeIsProp;\n exports[\"onOffIsProp\"] = onOffIsProp;\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_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 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 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 exports[\"unCoyoneda\"] = unCoyoneda;\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_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_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_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_Bifunctor = PS[\"Data.Bifunctor\"];\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_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 Listening = (function () {\n function Listening() {\n\n };\n Listening.value = new Listening();\n return Listening;\n })();\n var Done = (function () {\n function Done() {\n\n };\n Done.value = new Done();\n return Done;\n })();\n var unEventSource = function (v) {\n return v;\n };\n var eqSubscribeStatus = new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Listening && y instanceof Listening) {\n return true;\n };\n if (x instanceof Done && y instanceof Done) {\n return true;\n };\n return false;\n };\n });\n exports[\"Listening\"] = Listening;\n exports[\"Done\"] = Done;\n exports[\"unEventSource\"] = unEventSource;\n exports[\"eqSubscribeStatus\"] = eqSubscribeStatus;\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 Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var unFork = Unsafe_Coerce.unsafeCoerce;\n exports[\"unFork\"] = unFork;\n})(PS[\"Halogen.Query.ForkF\"] = PS[\"Halogen.Query.ForkF\"] || {});\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_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_Coyoneda = PS[\"Data.Coyoneda\"];\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_Newtype = PS[\"Data.Newtype\"];\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 Effect_Exception = PS[\"Effect.Exception\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_ForkF = PS[\"Halogen.Query.ForkF\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var HalogenM = 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 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 Halt = (function () {\n function Halt(value0) {\n this.value0 = value0;\n };\n Halt.create = function (value0) {\n return new Halt(value0);\n };\n return Halt;\n })();\n var GetSlots = (function () {\n function GetSlots(value0) {\n this.value0 = value0;\n };\n GetSlots.create = function (value0) {\n return new GetSlots(value0);\n };\n return GetSlots;\n })();\n var CheckSlot = (function () {\n function CheckSlot(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CheckSlot.create = function (value0) {\n return function (value1) {\n return new CheckSlot(value0, value1);\n };\n };\n return CheckSlot;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ChildQuery.create = function (value0) {\n return function (value1) {\n return new ChildQuery(value0, value1);\n };\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) {\n this.value0 = value0;\n };\n Fork.create = function (value0) {\n return new Fork(value0);\n };\n return Fork;\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 raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\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 = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Functor.map(Control_Monad_Free.freeFunctor)(f)(v);\n };\n });\n var applyHalogenM = new Control_Apply.Apply(function () {\n return functorHalogenM;\n }, function (v) {\n return function (v1) {\n return Control_Apply.apply(Control_Monad_Free.freeApply)(v)(v1);\n };\n });\n var bindHalogenM = new Control_Bind.Bind(function () {\n return applyHalogenM;\n }, function (v) {\n return function (f) {\n return Control_Bind.bind(Control_Monad_Free.freeBind)(v)(function (x) {\n var v1 = f(x);\n return v1;\n });\n };\n }); \n var applicativeHalogenM = new Control_Applicative.Applicative(function () {\n return applyHalogenM;\n }, function (a) {\n return Control_Applicative.pure(Control_Monad_Free.freeApplicative)(a);\n });\n var monadHalogenM = new Control_Monad.Monad(function () {\n return applicativeHalogenM;\n }, function () {\n return bindHalogenM;\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, function (eff) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)(eff))));\n });\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, function (aff) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)(aff))));\n });\n };\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($180) {\n return HalogenM(Control_Monad_Free.liftF(State.create($180)));\n });\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Lift\"] = Lift;\n exports[\"Halt\"] = Halt;\n exports[\"GetSlots\"] = GetSlots;\n exports[\"CheckSlot\"] = CheckSlot;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"GetRef\"] = GetRef;\n exports[\"HalogenM\"] = HalogenM;\n exports[\"getRef\"] = getRef;\n exports[\"raise\"] = raise;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applyHalogenM\"] = applyHalogenM;\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})(PS[\"Halogen.Query.HalogenM\"] = PS[\"Halogen.Query.HalogenM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(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 ComponentSlot.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 ComponentSlot(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ComponentSlot;\n })();\n var unComponentSlot = function (f) {\n return function (cs) {\n return f(cs.value0)(cs.value1)(cs.value2)(cs.value3)(cs.value4)(cs.value5);\n };\n };\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkComponentSlot = ComponentSlot.create;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var parentComponent = function (dictOrd) {\n return function (spec) {\n return mkComponent({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: Data_Maybe.Nothing.value,\n finalizer: Data_Maybe.Nothing.value,\n mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(dictOrd)\n });\n };\n };\n var lifecycleComponent = function (dictBifunctor) {\n return function (spec) {\n return mkComponent({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: spec.initializer,\n finalizer: spec.finalizer,\n mkOrdBox: Halogen_Data_OrdBox.mkOrdBox(Data_Ord.ordVoid)\n });\n };\n }; \n var component = function (dictBifunctor) {\n return function (spec) {\n return lifecycleComponent(dictBifunctor)({\n initialState: spec.initialState,\n render: spec.render,\n \"eval\": spec[\"eval\"],\n receiver: spec.receiver,\n initializer: Data_Maybe.Nothing.value,\n finalizer: Data_Maybe.Nothing.value\n });\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"component\"] = component;\n exports[\"lifecycleComponent\"] = lifecycleComponent;\n exports[\"parentComponent\"] = parentComponent;\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 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_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 Data_Unit = PS[\"Data.Unit\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\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_InputF.RefUpdate(p, mel, Data_Unit.unit));\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.booleanIsProp)(\"required\");\n var rows = prop(Halogen_HTML_Core.intIsProp)(\"rows\"); \n var target = prop(Halogen_HTML_Core.stringIsProp)(\"target\");\n var title = prop(Halogen_HTML_Core.stringIsProp)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.stringIsProp)(\"value\");\n var name = prop(Halogen_HTML_Core.stringIsProp)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.stringIsProp)(\"id\");\n var href = prop(Halogen_HTML_Core.stringIsProp)(\"href\");\n var $$for = prop(Halogen_HTML_Core.stringIsProp)(\"htmlFor\");\n var class_ = function ($13) {\n return prop(Halogen_HTML_Core.stringIsProp)(\"className\")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));\n };\n var checked = prop(Halogen_HTML_Core.booleanIsProp)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.booleanIsProp)(\"autofocus\");\n var autocomplete = function ($14) {\n return prop(Halogen_HTML_Core.onOffIsProp)(\"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_InputF = PS[\"Halogen.Query.InputF\"];\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 Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Component_ChildPath = PS[\"Halogen.Component.ChildPath\"];\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 Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var slot = function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n var f = Halogen_Component.unComponent(function (v) {\n return v.receiver;\n })(component);\n return Halogen_HTML_Core.slot(Halogen_Component.mkComponentSlot(p)(component)(input)(f)(outputQuery)(Data_Maybe.Just.create));\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 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 610, column 1 - line 610, 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 198, column 5 - line 198, 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 keys = 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)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(keys(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value1))(Data_Semigroup.append(Data_List_Types.semigroupList)(keys(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value4))(keys(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 604, column 1 - line 604, column 38): \" + [ v.constructor.name ]);\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 94, column 1 - line 94, 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 416, column 3 - line 421, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 413, column 1 - line 413, 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 452, column 5 - line 457, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 449, column 3 - line 449, 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 432, column 3 - line 432, 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 509, column 9 - line 526, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 506, column 5 - line 526, 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 538, column 5 - line 542, 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 529, column 33 - line 533, 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 479, column 34 - line 502, 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 547, column 15 - line 549, 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[\"keys\"] = keys;\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 Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\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 = PS[\"Data.Array\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\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_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_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_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toList = function (v) {\n return Data_Map_Internal.keys(v);\n };\n var foldableSet = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function ($65) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(toList($65));\n };\n };\n }, function (f) {\n return function (x) {\n return function ($66) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(x)(toList($66));\n };\n };\n }, function (f) {\n return function (x) {\n return function ($67) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(x)(toList($67));\n };\n };\n });\n exports[\"foldableSet\"] = foldableSet;\n})(PS[\"Data.Set\"] = PS[\"Data.Set\"] || {});\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_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Set = PS[\"Data.Set\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var keys = function ($0) {\n return Data_Functor[\"void\"](Data_Map_Internal.functorMap)($0);\n };\n exports[\"keys\"] = keys;\n})(PS[\"Data.Map\"] = PS[\"Data.Map\"] || {});\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 Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\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_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_Component_ChildPath = PS[\"Halogen.Component.ChildPath\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = function ($10) {\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($10));\n };\n var action = function (act) {\n return act(Data_Unit.unit);\n };\n exports[\"action\"] = action;\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 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 = PS[\"Halogen.Query\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\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 input_ = function (f) {\n return function (v) {\n return Data_Maybe.Just.create(Halogen_Query.action(f));\n };\n };\n var input = function (f) {\n return function (x) {\n return Data_Maybe.Just.create(Halogen_Query.action(f(x)));\n };\n };\n var handler = function (et) {\n return function ($1) {\n return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_InputF.Query.create))($1));\n };\n }; \n var onClick = function ($2) {\n return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($2));\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[\"input\"] = input;\n exports[\"input_\"] = input_;\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 fromNullableStr = function ($57) {\n return Data_Maybe.fromMaybe(\"\")(Data_Nullable.toMaybe($57));\n };\n var class_ = function ($58) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($58));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = function ($59) {\n return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll(\"+\")(\" \")($59));\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 $54 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($54) {\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 ($61) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($61));\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[\"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_Applicative = PS[\"Control.Applicative\"];\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, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n UEditField.create = function (value0) {\n return function (value1) {\n return new UEditField(value0, value1);\n };\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n USubmit.create = function (value0) {\n return function (value1) {\n return new USubmit(value0, value1);\n };\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 ($22) {\n return Halogen_HTML_Events.input(UEditField.create)(f($22));\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.inputTypeIsProp)(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.inputTypeIsProp)(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.inputTypeIsProp)(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 $$eval = 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 82, column 12 - line 85, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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 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.editAccountSettings(v1))))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 3 - line 80, column 58): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\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_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_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, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditField.create = function (value0) {\n return function (value1) {\n return new BEditField(value0, value1);\n };\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditSubmit.create = function (value0) {\n return function (value1) {\n return new BEditSubmit(value0, value1);\n };\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BDeleteAsk.create = function (value0) {\n return function (value1) {\n return new BDeleteAsk(value0, value1);\n };\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy(value0) {\n this.value0 = value0;\n };\n BDestroy.create = function (value0) {\n return new BDestroy(value0);\n };\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 ($58) {\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\")($58)));\n };\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($59) {\n return Halogen_HTML_Events.input(BEditField.create)(f($59));\n };\n };\n var display_exists = Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $26 = v.bm.bid > 0;\n if ($26) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n return Halogen_HTML_Elements.div_([ (function () {\n var $27 = !v.destroyed;\n if ($27) {\n return display_edit;\n };\n return display_destroyed;\n })() ]);\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 $$eval = function (v) {\n if (v instanceof BDeleteAsk) {\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 $31 = {};\n for (var $32 in v1) {\n if ({}.hasOwnProperty.call(v1, $32)) {\n $31[$32] = v1[$32];\n };\n };\n $31.deleteAsk = v.value0;\n return $31;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $37 = {};\n for (var $38 in v2) {\n if ({}.hasOwnProperty.call(v2, $38)) {\n $37[$38] = v2[$38];\n };\n };\n $37.destroyed = true;\n return $37;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(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 })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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 return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\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 })())(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 150, column 3 - line 150, column 58): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\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) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\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_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_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_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 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 BStar = (function () {\n function BStar(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BStar.create = function (value0) {\n return function (value1) {\n return new BStar(value0, value1);\n };\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BDeleteAsk.create = function (value0) {\n return function (value1) {\n return new BDeleteAsk(value0, value1);\n };\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy(value0) {\n this.value0 = value0;\n };\n BDestroy.create = function (value0) {\n return new BDestroy(value0);\n };\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEdit.create = function (value0) {\n return function (value1) {\n return new BEdit(value0, value1);\n };\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditField.create = function (value0) {\n return function (value1) {\n return new BEditField(value0, value1);\n };\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n BEditSubmit.create = function (value0) {\n return function (value1) {\n return new BEditSubmit(value0, value1);\n };\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead(value0) {\n this.value0 = value0;\n };\n BMarkRead.create = function (value0) {\n return new BMarkRead(value0);\n };\n return BMarkRead;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\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 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 $$eval = 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 Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(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 }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\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 $34 = {};\n for (var $35 in v1) {\n if ({}.hasOwnProperty.call(v1, $35)) {\n $34[$35] = v1[$35];\n };\n };\n $34.deleteAsk = v.value0;\n return $34;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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 Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query_HalogenM.raise(BNotifyRemove.value))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n });\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 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: false,\n bid: v2.bid,\n slug: v2.slug,\n selected: v2.selected,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\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 Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(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 231, column 17 - line 237, column 36): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 193, column 3 - line 193, column 62): \" + [ 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 = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BStar.create(!v.bm.selected))) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]) ]);\n var mmoment = Globals.mmoment8601(v.bm.time);\n var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(true))), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(true))), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BMarkRead.create)), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ])) ]);\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 ($64) {\n return Halogen_HTML_Events.input(BEditField.create)(f($64));\n };\n };\n var display_edit = [ Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(BEditSubmit.create)) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(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.inputTypeIsProp)(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.inputTypeIsProp)(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.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(BEdit.create(false))) ]) ]) ]) ];\n var display = [ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $59 = Data_String_Common[\"null\"](v.bm.title);\n if ($59) {\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 $60 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($60) {\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\") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common[\"null\"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {\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))), 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)) ]) ])(links)) ];\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\")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {\n if (v.edit) {\n return display_edit;\n };\n return display;\n })()));\n };\n return Halogen_Component.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\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[\"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_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Data_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_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_HTML_Events = PS[\"Halogen.HTML.Events\"];\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, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new HandleBMessage(value0, value1, value2);\n };\n };\n };\n return HandleBMessage;\n })();\n var blist = function (st) {\n var render = function (bms) {\n var renderBookmark = function (b) {\n return Halogen_HTML.slot(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(Halogen_HTML_Events.input(HandleBMessage.create(b.bid)));\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderBookmark)(bms));\n };\n var $$eval = function (v) {\n var removeBookmark = function (bookmarkId) {\n return Data_Array.filter(function (b) {\n return b.bid !== bookmarkId;\n });\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(removeBookmark(v.value0)))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value2);\n });\n };\n return Halogen_Component.parentComponent(Data_Ord.ordInt)({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\n });\n };\n exports[\"HandleBMessage\"] = HandleBMessage;\n exports[\"blist\"] = blist;\n})(PS[\"Component.BList\"] = PS[\"Component.BList\"] || {});\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 $foreign = PS[\"Component.RawHtml\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\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_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 = PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML = PS[\"Web.HTML\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML(value0) {\n this.value0 = value0;\n };\n SetInnerHTML.create = function (value0) {\n return new SetInnerHTML(value0);\n };\n return SetInnerHTML;\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 mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var $$eval = 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)(v.value0);\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 $$eval(new SetInnerHTML(v.value1));\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 51, column 10 - line 62, column 27): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.lifecycleComponent(Halogen_HTML_Core.bifunctorHTML)({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": $$eval,\n receiver: Halogen_HTML_Events.input(Receive.create),\n initializer: Data_Maybe.Just.create(Halogen_Query.action(SetInnerHTML.create)),\n finalizer: Data_Maybe.Nothing.value\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 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 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 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 $$eval = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\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.component(Halogen_HTML_Core.bifunctorHTML)({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\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_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(value0) {\n this.value0 = value0;\n };\n NNop.create = function (value0) {\n return new NNop(value0);\n };\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEditField.create = function (value0) {\n return function (value1) {\n return new NEditField(value0, value1);\n };\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEditSubmit.create = function (value0) {\n return function (value1) {\n return new NEditSubmit(value0, value1);\n };\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NEdit.create = function (value0) {\n return function (value1) {\n return new NEdit(value0, value1);\n };\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NDeleteAsk.create = function (value0) {\n return function (value1) {\n return new NDeleteAsk(value0, value1);\n };\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy(value0) {\n this.value0 = value0;\n };\n NDestroy.create = function (value0) {\n return new NDestroy(value0);\n };\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 _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 = 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 $24 = Data_String_Common[\"null\"](v.note.title);\n if ($24) {\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(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.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(true))), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(true))), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDeleteAsk.create(false))) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.buttonTypeIsProp)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NDestroy.create)), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]));\n var editField = function (f) {\n return function ($59) {\n return Halogen_HTML_Events.input(NEditField.create)(f($59));\n };\n };\n var renderNote_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(Halogen_HTML_Events.input(NEditSubmit.create)) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 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.inputTypeIsProp)(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.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.inputTypeIsProp)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(Halogen_HTML_Events.input_(NEdit.create(false))) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n if (v.destroyed) {\n return display_destroyed;\n };\n if (v.edit) {\n return renderNote_edit;\n };\n return 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 $$eval = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\n };\n if (v instanceof NEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(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 158, column 19 - line 161, column 44): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n if (v instanceof NDeleteAsk) {\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 $38 = {};\n for (var $39 in v1) {\n if ({}.hasOwnProperty.call(v1, $39)) {\n $38[$39] = v1[$39];\n };\n };\n $38.deleteAsk = v.value0;\n return $38;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\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_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $44 = {};\n for (var $45 in v2) {\n if ({}.hasOwnProperty.call(v2, $45)) {\n $44[$45] = v2[$45];\n };\n };\n $44.destroyed = true;\n return $44;\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value0);\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 Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\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)(v.value1);\n };\n if (v2.body instanceof Data_Either.Right) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n var $55 = v1.id === 0;\n if ($55) {\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 })())(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 188, column 5 - line 197, column 14): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 153, column 3 - line 153, column 72): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.parentComponent(Data_Ord.ordUnit)({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": $$eval,\n receiver: Data_Function[\"const\"](Data_Maybe.Nothing.value)\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[\"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_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_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_OrdBox = PS[\"Halogen.Data.OrdBox\"];\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 = function (v) {\n return Unsafe_Coerce.unsafeCoerce;\n };\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(st.prjQuery)(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (prjQuery) {\n return function (lchs) {\n return function __do() {\n var v = Effect_Ref[\"new\"]({})();\n var v1 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v2 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v3 = Effect_Ref[\"new\"](Data_Functor.voidLeft(Data_Maybe.functorMaybe)(component.initializer)(Data_List_Types.Nil.value))();\n var v4 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v5 = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v6 = Effect_Ref[\"new\"](0)();\n var v7 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Data_Map_Internal.empty,\n childrenIn: v1,\n childrenOut: v2,\n selfRef: v,\n handler: handler,\n pendingQueries: v3,\n pendingOuts: v4,\n pendingHandlers: v5,\n rendering: Data_Maybe.Nothing.value,\n prjQuery: prjQuery,\n fresh: v6,\n subscriptions: v7,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(v)();\n return mkDriverStateXRef(v);\n };\n };\n };\n };\n };\n };\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_Error_Class = PS[\"Control.Monad.Error.Class\"];\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_Set = PS[\"Data.Set\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\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_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_ForkF = PS[\"Halogen.Query.ForkF\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"]; \n var queuingHandler = function (handler) {\n return 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 if (v instanceof Data_Maybe.Nothing) {\n return handler(message);\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(handler(message), v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 171, column 3 - line 175, column 59): \" + [ v.constructor.name ]);\n });\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 $$eval = function (render) {\n return function (r) {\n var go = function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n var v2 = v.value0(v1.state);\n if (Unsafe_Reference.unsafeRefEq(v1.state)(v2.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.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: v1.component,\n state: v2.value1,\n refs: v1.refs,\n children: v1.children,\n childrenIn: v1.childrenIn,\n childrenOut: v1.childrenOut,\n selfRef: v1.selfRef,\n handler: v1.handler,\n pendingQueries: v1.pendingQueries,\n pendingOuts: v1.pendingOuts,\n pendingHandlers: v1.pendingHandlers,\n rendering: v1.rendering,\n prjQuery: v1.prjQuery,\n fresh: v1.fresh,\n subscriptions: v1.subscriptions,\n lifecycleHandlers: v1.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v1.lifecycleHandlers)(render(v1.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v2.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 76, column 7 - line 82, column 21): \" + [ v2.constructor.name ]);\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Query_EventSource.unEventSource(v.value0))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: i\n };\n })(v1.fresh)))(function (v3) {\n var done$prime = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.subscriptions)))(function (v4) {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Data_Ord.ordInt)(v3))(v4))(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v3)))(v1.subscriptions)));\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(Data_Ord.ordInt)(v3)(done$prime)))(v1.subscriptions)))(function () {\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (v4) {\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(v1.subscriptions))))(function (v5) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Maybe.isJust(v5))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(evalF(ref)(v4)))(function (v6) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Halogen_Query_EventSource.eqSubscribeStatus)(v6)(Halogen_Query_EventSource.Listening.value))(consumer);\n }));\n });\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v2.producer)))(function () {\n return done$prime;\n });\n });\n });\n })))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);\n });\n });\n };\n if (v instanceof Halogen_Query_HalogenM.Lift) {\n return v.value0;\n };\n if (v instanceof Halogen_Query_HalogenM.Halt) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(v.value0));\n };\n if (v instanceof Halogen_Query_HalogenM.GetSlots) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value0(Data_Functor.map(Data_List_Types.functorList)(Halogen_Data_OrdBox.unOrdBox)(Data_List.fromFoldable(Data_Set.foldableSet)(Data_Map.keys(v1.children)))));\n });\n };\n if (v instanceof Halogen_Query_HalogenM.CheckSlot) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(v1.component.mkOrdBox(v.value0))(v1.children)));\n });\n };\n if (v instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v.value0)(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queuingHandler(v1.handler)(v1.pendingOuts)(v.value0))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1);\n });\n });\n };\n if (v 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 ($103) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(ref)($103));\n })(v.value0)));\n };\n if (v instanceof Halogen_Query_HalogenM.Fork) {\n return Halogen_Query_ForkF.unFork(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalM(ref)(v1.value0)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Function.flip(Effect_Aff.killFiber)(v2)));\n });\n })(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v.value0)(v1.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 73, column 12 - line 128, column 33): \" + [ v.constructor.name ]);\n };\n };\n var evalM = function (ref) {\n return function (v) {\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v);\n };\n };\n var evalF = 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 var v1 = v[\"component\"][\"eval\"](q);\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(ref))(v1);\n });\n };\n };\n var evalChildQuery = function (ref) {\n return function (p) {\n return Data_Coyoneda.unCoyoneda(function (k) {\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 var v1 = Data_Map_Internal.lookup(Halogen_Data_OrdBox.ordOrdBox)(v.component.mkOrdBox(p))(v.children);\n if (v1 instanceof Data_Maybe.Just) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v1.value0)))(function (v2) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n var v3 = ds.prjQuery(q);\n if (v3 instanceof Data_Maybe.Just) {\n return Data_Functor.map(Effect_Aff.functorAff)(k)(evalF(ds.selfRef)(v3.value0));\n };\n if (v3 instanceof Data_Maybe.Nothing) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(\"Query projection failed for child query\"));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 141, column 32 - line 143, column 82): \" + [ v3.constructor.name ]);\n })(v2);\n });\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return Control_Monad_Error_Class.throwError(Effect_Aff.monadThrowAff)(Effect_Exception.error(\"Slot lookup failed for child query\"));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 138, column 5 - line 144, column 73): \" + [ v1.constructor.name ]);\n });\n };\n });\n };\n };\n return function (v) {\n if (v instanceof Halogen_Query_InputF.RefUpdate) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(function (v1) {\n return {\n component: v1.component,\n state: v1.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(v1.refs),\n children: v1.children,\n childrenIn: v1.childrenIn,\n childrenOut: v1.childrenOut,\n selfRef: v1.selfRef,\n handler: v1.handler,\n pendingQueries: v1.pendingQueries,\n pendingOuts: v1.pendingOuts,\n pendingHandlers: v1.pendingHandlers,\n rendering: v1.rendering,\n prjQuery: v1.prjQuery,\n fresh: v1.fresh,\n subscriptions: v1.subscriptions,\n lifecycleHandlers: v1.lifecycleHandlers\n };\n })(r)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v.value2);\n });\n };\n if (v instanceof Halogen_Query_InputF.Query) {\n return evalF(r)(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 59, column 3 - line 64, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"eval\"] = $$eval;\n exports[\"queuingHandler\"] = queuingHandler;\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_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_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Halogen_Query_InputF = PS[\"Halogen.Query.InputF\"];\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 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.Left.create)(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 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 ($63) {\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($63)));\n })();\n };\n };\n var cleanupSubscriptions = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($64) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))($64));\n }))(Effect_Ref.read(v.subscriptions))();\n return Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Data_Functor.map(Data_Maybe.functorMaybe)(function ($65) {\n return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($65));\n })(st.component.initializer);\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)(Data_Foldable.sequence_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(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 function (prjQuery) {\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)(prjQuery)(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 ($66) {\n return render(lchs)((function (v3) {\n return v3.selfRef;\n })($66));\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 };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (mkOrdBox) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (p) {\n return function (ctor) {\n return function (input) {\n return function (inputQuery) {\n return function (outputQuery) {\n return function (prjQuery) {\n var ordP = mkOrdBox(p);\n return function __do() {\n var v = Effect_Ref.read(childrenInRef)();\n var v1 = (function () {\n var v1 = Data_Map_Internal.pop(Halogen_Data_OrdBox.ordOrdBox)(ordP)(v);\n if (v1 instanceof Data_Maybe.Just) {\n Effect_Ref.write(v1.value0.value1)(childrenInRef)();\n Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(inputQuery(input))(function (q) {\n return function __do() {\n var v2 = Effect_Ref.read(v1.value0.value0)();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(st.prjQuery(q))(function ($67) {\n return handleAff(evalF(st.selfRef)(Halogen_Query_InputF.Query.create($67)));\n });\n })(v2)();\n };\n })();\n return v1.value0.value0;\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n return runComponent(lchs)(function ($68) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(outputQuery($68));\n })(input)(prjQuery)(ctor)();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 258, column 14 - line 266, column 92): \" + [ v1.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(Data_Map_Internal.member(Halogen_Data_OrdBox.ordOrdBox)(ordP))(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_(Data_Map_Internal.insert(Halogen_Data_OrdBox.ordOrdBox)(ordP)(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 271, column 37 - line 273, column 50): \" + [ v3.constructor.name ]);\n }))();\n };\n };\n };\n };\n };\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(Data_Map_Internal.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var handler = Halogen_Aff_Driver_Eval.queuingHandler(function ($69) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(evalF(v.selfRef)($69));\n })(v.pendingHandlers);\n var childHandler = Halogen_Aff_Driver_Eval.queuingHandler(function ($70) {\n return handler(Halogen_Query_InputF.Query.create($70));\n })(v.pendingQueries);\n var v2 = renderSpec.render(function ($71) {\n return handleAff(handler($71));\n })(renderChild(lchs)(childHandler)(v.component.mkOrdBox)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var v3 = Effect_Ref.read(v.childrenOut)();\n Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v.childrenIn))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function (childVar) {\n return function __do() {\n var v4 = Effect_Ref.read(childVar)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v4)();\n return finalize(lchs)(v4)();\n };\n }))();\n Effect_Ref.modify_(function (v4) {\n return {\n rendering: new Data_Maybe.Just(v2),\n children: v3,\n component: v4.component,\n state: v4.state,\n refs: v4.refs,\n childrenIn: v4.childrenIn,\n childrenOut: v4.childrenOut,\n selfRef: v4.selfRef,\n handler: v4.handler,\n pendingQueries: v4.pendingQueries,\n pendingOuts: v4.pendingOuts,\n pendingHandlers: v4.pendingHandlers,\n prjQuery: v4.prjQuery,\n fresh: v4.fresh,\n subscriptions: v4.subscriptions,\n lifecycleHandlers: v4.lifecycleHandlers\n };\n })(v.selfRef)();\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 (v4) {\n return function __do() {\n var v5 = 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 ($72) {\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($72)));\n })(v5)();\n var v6 = Effect_Ref.read(v.pendingHandlers)();\n var $57 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v6);\n if ($57) {\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 cleanupSubscriptions(st)();\n Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function ($73) {\n return evalF(st.selfRef)(Halogen_Query_InputF.Query.create($73));\n })(st.component.finalizer))(function (f) {\n return 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 })();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(st.children)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(finalize(lchs))(Effect_Ref.read))();\n };\n });\n };\n var evalF = function (ref) {\n return Halogen_Aff_Driver_Eval[\"eval\"](render)(ref);\n };\n var evalDriver = function (ref) {\n return function (prjQuery) {\n return function (q) {\n var v = prjQuery(q);\n if (v instanceof Data_Maybe.Just) {\n return evalF(ref)(new Halogen_Query_InputF.Query(v.value0));\n };\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Exception.throwException(Effect_Exception.error(\"Halogen internal error: query projection failed in runUI'\")));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 136, column 5 - line 138, column 113): \" + [ v.constructor.name ]);\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 Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {\n var v2 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n return Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(runComponent(v)(rootHandler(v2))(i)(Data_Maybe.Just.create)(component))(Effect_Ref.read))(Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(st.selfRef)(st.prjQuery),\n subscribe: subscribe(v1)(v2)\n });\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 Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\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 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 eqElemSpec = function (a, b) {\n if (a.value1 === b.value1) {\n if (a.value0 instanceof Data_Maybe.Just && (b.value0 instanceof Data_Maybe.Just && a.value0.value0 === b.value0.value0)) {\n return true;\n };\n if (a.value0 instanceof Data_Maybe.Nothing && b.value0 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var buildWidget = (function () {\n var patch = function (build, v) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, v)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Widget) {\n var v2 = v.value1(v1.value0);\n return new Halogen_VDom_Machine.Step(v2.value0, patch(build, v2), v2.value2);\n };\n v.value2();\n return build(v1);\n };\n };\n var render = function (v, build, w) {\n var v1 = v.buildWidget(v)(w);\n return new Halogen_VDom_Machine.Step(v1.value0, patch(build, v1), v1.value2);\n };\n return render;\n })();\n var buildText = (function () {\n var patch = function (build, halt, node, s1) {\n return function (v) {\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, s1)(Halogen_VDom_Types.runGraft(v.value0));\n };\n if (v instanceof Halogen_VDom_Types.Text) {\n var res = new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v.value0), halt);\n var $84 = s1 === v.value0;\n if ($84) {\n return res;\n };\n Halogen_VDom_Util.setTextContent(v.value0, node);\n return res;\n };\n halt();\n return build(v);\n };\n };\n var done = function (node) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n return Halogen_VDom_Util.removeChild(node, v);\n };\n };\n var render = function (v, build, s) {\n var v1 = Halogen_VDom_Util.createTextNode(s, v.document);\n var halt = done(v1);\n return new Halogen_VDom_Machine.Step(v1, patch(build, halt, v1, s), halt);\n };\n return render;\n })();\n var buildKeyed = (function () {\n var done = function (node, attrs, steps) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n Halogen_VDom_Util.removeChild(node, v);\n Halogen_VDom_Util.forInE(steps, function (v1, v2) {\n return v2.value2();\n });\n return Halogen_VDom_Machine.halt(attrs)();\n };\n };\n var patch = function (build, halt, node, attrs, v, ch1, len1) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, attrs, v, ch1, len1)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Keyed && eqElemSpec(v, v1.value0)) {\n var v2 = Data_Array.length(v1.value1);\n if (len1 === 0 && v2 === 0) {\n var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v4, ch1);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1, 0), halt$prime);\n };\n var onThis = function (v4, v5) {\n return v5.value2();\n };\n var onThese = function (v4, ix$prime, v5, v6) {\n var v7 = v5.value1(v6.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, v7.value0, node);\n return v7;\n };\n var onThat = function (v4, ix, v5) {\n var v6 = build(v5.value1);\n Halogen_VDom_Util.insertChildIx(ix, v6.value0, node);\n return v6;\n };\n var v4 = Halogen_VDom_Util.diffWithKeyAndIxE(ch1, v1.value1, Data_Tuple.fst, onThese, onThis, onThat);\n var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v5, v4);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4, v2), halt$prime);\n };\n halt();\n return build(v1);\n };\n };\n var render = function (v, build, v1, ch1) {\n var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);\n var node = Web_DOM_Element.toNode(v2);\n var onChild = function (k, ix, v3) {\n var v4 = build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);\n return v4;\n };\n var v3 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var v4 = v.buildAttributes(v2)(v1.value2);\n var halt = done(node, v4, v3);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3, Data_Array.length(ch1)), halt);\n };\n return render;\n })();\n var buildElem = (function () {\n var done = function (node, attrs, steps) {\n return function __do() {\n var v = Halogen_VDom_Util.parentNode(node);\n Halogen_VDom_Util.removeChild(node, v);\n Effect.foreachE(steps)(Halogen_VDom_Machine.halt)();\n return Halogen_VDom_Machine.halt(attrs)();\n };\n };\n var patch = function (build, halt, node, attrs, v, ch1) {\n return function (v1) {\n if (v1 instanceof Halogen_VDom_Types.Grafted) {\n return patch(build, halt, node, attrs, v, ch1)(Halogen_VDom_Types.runGraft(v1.value0));\n };\n if (v1 instanceof Halogen_VDom_Types.Elem && eqElemSpec(v, v1.value0)) {\n var v2 = Data_Array.length(v1.value1);\n var v3 = Data_Array.length(ch1);\n if (v3 === 0 && v2 === 0) {\n var v4 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v4, ch1);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v4, v1.value0, ch1), halt$prime);\n };\n var onThis = function (ix, v4) {\n return v4.value2();\n };\n var onThese = function (ix, v4, vdom) {\n var v5 = v4.value1(vdom);\n Halogen_VDom_Util.insertChildIx(ix, v5.value0, node);\n return v5;\n };\n var onThat = function (ix, vdom) {\n var v4 = build(vdom);\n Halogen_VDom_Util.insertChildIx(ix, v4.value0, node);\n return v4;\n };\n var v4 = Halogen_VDom_Util.diffWithIxE(ch1, v1.value1, onThese, onThis, onThat);\n var v5 = Halogen_VDom_Machine.step(attrs)(v1.value0.value2);\n var halt$prime = done(node, v5, v4);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt$prime, node, v5, v1.value0, v4), halt$prime);\n };\n halt();\n return build(v1);\n };\n };\n var render = function (v, build, v1, ch1) {\n var v2 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(v1.value0), v1.value1, v.document);\n var node = Web_DOM_Element.toNode(v2);\n var onChild = function (ix, child) {\n var v3 = build(child);\n Halogen_VDom_Util.insertChildIx(ix, v3.value0, node);\n return v3;\n };\n var v3 = Halogen_VDom_Util.forE(ch1, onChild);\n var v4 = v.buildAttributes(v2)(v1.value2);\n var halt = done(node, v4, v3);\n return new Halogen_VDom_Machine.Step(node, patch(build, halt, node, v4, v1, v3), halt);\n };\n return render;\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);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1);\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_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_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_InputF = PS[\"Halogen.Query.InputF\"];\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 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 = Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n var patch = function (slot) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(slot)();\n var node = getNode(v1);\n return new Halogen_VDom_Machine.Step(node, patch, done);\n };\n var buildWidget = function (spec) {\n return function (slot) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(slot)();\n var node = getNode(v1);\n return new Halogen_VDom_Machine.Step(node, patch, done);\n };\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 118, column 5 - line 134, 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 };\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 d48f6908bc8347f2a68123c3ef96c51e087916bb..a53482f52e68190835c2c5288cfd72be8ebc9309 100644 GIT binary patch delta 231984 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

    VssVy2CXc!q?}H2=*I?*1)}+oPLi{t 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%0DiG1X@$fo>Beboe&bgY(zk|c$9(6vK{8(Wr@8WG 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

    <f`jod*X4I1`VX^oy_#6l#u($ih2B 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 delta 231923 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